Илья ([info]i1ey) wrote,
@ 2009-03-06 19:00:00
Previous Entry  Add to memories!  Tell a Friend  Next Entry
Brainfuck
Как такое может быть, чтобы программа на брейнфаке работала по разному на двух разных интерпретаторах? Это просто не укладывается у меня в голове.

Да, на досуге написал простенький макропроцессор для этого забавного языка. Теперь я пишу код на брейнфаке и использую в нем #include и #define как в С. А еще можно писать такие конструкции как 3+ или 3{+>}. В первом случае макропроцессор сгенерирует +++, во втором +>+>+>. Очень простое улучшение, но как сокращает объем кода!



(Read 7 comments) - (Post a new comment)


[info]xsbos
2009-03-06 04:56 pm UTC (link)
Если они работают в разных разрядностях, то запросто. Ну, и все такое.

(Reply to this) (Thread)


[info]i1ey
2009-03-06 07:43 pm UTC (link)
Да, это были разные разрядности. Я далеко не сразу понял, что именно происходит. Один интерпретатор использовал байты, другой - инты. А поскольку я обнулял ячейки кодом "[-]", то на отрицательных байтах все было хорошо, а на отрицательных интах программа очень долго работала (я думал, что она зацикливается).

(Reply to this) (Parent)


[info]i1ey
2009-03-06 07:44 pm UTC (link)
Да, если интересно, то вот эта задачка: http://www.spoj.pl/problems/SBSTR1/.

(Reply to this) (Parent)(Thread)


[info]xsbos
2009-03-06 09:10 pm UTC (link)
Мой изворитливый ум предлагает написать эту задачу на кастрированном Си, а потом перегнать в бф или как-то так

(Reply to this) (Parent)(Thread)


[info]xsbos
2009-03-06 09:14 pm UTC (link)
Хотя вообще-то она и так простая. Но дважды кривой ход мышления это тоже очень полезно

(Reply to this) (Parent)


[info]i1ey
2009-03-07 04:32 am UTC (link)
Эту задачу я уже сдал на брейнфаке, это на самом деле на сложно. Но над самой идеей транслрования из C в Brainfuck стоит подумать.

(Reply to this) (Parent)(Thread)


[info]xsbos
2009-03-07 06:49 am UTC (link)
Да это я так, в порядке бреда.
Если разрешить только 1 тип, например, cell, и указатели на него, запретить сложные типы и функции, то это можно за пару вечеров сделать. Получится не сильно сложнее того паскаля, который я в первом семе сдавал

(Reply to this) (Parent)


(Read 7 comments) - (Post a new comment)

Create an Account
Forgot your login or password?
Login w/ OpenID
English • Español • Deutsch • Русский…