Comments 51
Насчет циклов: pastebin.com/f6cca4886
Ну и в целом, имело наверное смысл изучить прежде шесть имеющихся интерпретаторов.
Ну и в целом, имело наверное смысл изучить прежде шесть имеющихся интерпретаторов.
+5
Спасибо за информацию. Сейчас пересмотрю существующие реализации, и, думаю найду для себя полезные мысли для реализации циклов. Я, по-видимому, плохо искал информацию, так как не нашел существующих интерпретаторов Brainfuck на Brainfuck.
0
esolangs.org/wiki/DBFI
«possibly the shortest self-interpreter amongst all imperative languagеs»...
Мозг взорван, чего, собственно, следовало ожидать…
«possibly the shortest self-interpreter amongst all imperative languagеs»...
Мозг взорван, чего, собственно, следовало ожидать…
+1
Please stop fuck my brains on brainfuck!!! STOP!!! I can`t get more!!!
+12
Что вы там в песочнице курите?
+8
Во делать нефиг людям.
0
Это замечательный пост, он обязательно должен был появится, я его очень ждал!
+3
Я ждал этого. Цепочка замкнулась. Всем спасибо, все свободны.
+4
Следующая статья будет «Интерпретатор Brainfuck на Brainfuck на Brainfuck».
+3
Думаю, такими темпами, следующий релиз PHP будет на брейнфаке вместо Си. о_0
0
путь к сердцу хабра лежит через брейнфак
+6
Как пишут в таких случаях зарубежные журналисты, so meta it hurts.
+2
свой бордель, с блэкджэком и шлюхами
0
UFO just landed and posted this here
Это потому что этот интерпретатор (swapped.cc/bf/) не умеет ходить в минусовые ячейки. Например, данный код на нем не исполняется <+++.
0
UFO just landed and posted this here
Я, честно говоря, спецификации не читал, и никаких других моментов связанных именно с тем, что можно или не можно ходить в минус, не находил. Я просто руководствовался той логикой, что если можно ходить по ячейках, то какая разница в какую сторону.
0
UFO just landed and posted this here
Вы сможете выложить Вашу версию интерпретатора куда-то в общий доступ?
Я тестировал свой код на brainfuck.tk, Brainfuck Developer, Linux'овом bf — на этих интерпретаторах он работает.
И кстати, если на ячейке из значением ноль выполнить команду декремента, то каким будет новое значение ячейки?
Я тестировал свой код на brainfuck.tk, Brainfuck Developer, Linux'овом bf — на этих интерпретаторах он работает.
И кстати, если на ячейке из значением ноль выполнить команду декремента, то каким будет новое значение ячейки?
0
UFO just landed and posted this here
Уже работает! Убрал одно лишнее условие… изменения (pastebin.com/e8juzAFW)
0
UFO just landed and posted this here
Условие теперь также исполняется, только теперь в другом месте. Проблема была в том, что код:
const уже был в объявлении. Убрал, потому что были ошибки компиляции "invalid conversion from ‘const char*’ to ‘char*’". Компилятор — gcc version 4.4.4 (Gentoo Hardened 4.4.4-r2 p1.2, pie-0.4.5).
m_stack.pop();
должен в любом случае исполнятся, независимо от условия: m_field[pos_in_field] != 0
const уже был в объявлении. Убрал, потому что были ошибки компиляции "invalid conversion from ‘const char*’ to ‘char*’". Компилятор — gcc version 4.4.4 (Gentoo Hardened 4.4.4-r2 p1.2, pie-0.4.5).
0
UFO just landed and posted this here
А нет. Я ошибся. Интерпретатор от swapped.cc не работает по каким-то другим причинам, неизвестным мне на данный момент.
0
наконец-таки написали на хабре статью об интепретации brainfuck на brainfuck, может теперь не будет статей типа «Интерпретация brainfuck на XXX» :)
+3
Не знаю как другим в мне статьи про brainfuck немного поднадоели.
+4
И что, Вы думаете написали интерпретатор? Если у Вас нет циклов, то в этом нет смысла — ведь именно они придают полноту и красоту языку, они — основная сложность. Более того — у Вас нет ввода. То есть то, что Вы сделали, очевидно и бессмысленно, в этом нет особой сложности. Не вижу смысла выкладывать такие недоделанные работы.
+1
А как Вы думаете — какая должна быть практическая польза из интерпретатора Brainfuck'а на Brainfuck? Он может быстрее работать, или использовать меньше памяти (хотя этот вариант возможно еще и допустимый), чем его аналоги написанные на других языках программирования? Я этот код писал ради спортивного интереса, и не больше. Почему я это выложил? Мне показалось интересным поделиться с данным сообществом этой информацией. Возможно некоторым эта информация показалась интересной, другим нет. И поэтому, если есть информация, которая никому не навредит и окажеться полезной для других, то почему бы этой информацией не поделиться?
0
Ну, Вы меня простите, это я так, «разгорячился».
В общем, интересно было бы посмотреть на Вашу реализацию циклов и ввода.
А ещё можно реализовать некоторый расширенный (к примеру, процедурный) bf на bf.
В общем, интересно было бы посмотреть на Вашу реализацию циклов и ввода.
А ещё можно реализовать некоторый расширенный (к примеру, процедурный) bf на bf.
0
Господа. Не подскажете, как правильно кириллицу вывести, если кодировка на странице UTF-8?
0
Выводить строку, закодированную в UTF8, побайтно.
Вот пример:
Проверял работоспособность на brainfuck.tk/
Вот пример:
# Letter «У» byte 1
>++++++++++[>++++++++++[<<++>>-]<-]<++++++++.
# Letter «У» byte 2
>+++++++++[<----->-]<.
# Letter «р» byte 1
>+++++++++[<+++++>-]<+.
# Letter «р» byte 2
>+++++++++[<--------->-]<.
# Letter «а» byte 1
>++++++++++[<++++++++>-]<.
# Letter «а» byte 2
>++++++[<----->-]<--.
# Symbol "!"
>++++++++++++[<------------>-]<+.
# End.
Проверял работоспособность на brainfuck.tk/
+1
UFO just landed and posted this here
Интересно, что будет дальше, неделя LOLCODE? =)
0
Теперь бы еще интерпретатор Brainfuck на Brainfart написать…
0
Sign up to leave a comment.
Интерпретатор Brainfuck на Brainfuck