#g++ #компилятор #brainfuck #cpp #ubuntu
В общем хочу написать компилятор brainfuck или своего собственного языка (простого). Как это сделать? P.S. Интерпретатор (для brainfuck) я осилил сам, как сделать компилятор я даже не догадываюсь. Желательно найти литературу.
Ответы
Ответ 1
для brainfuck я когда то сам писал компилятор. Лучше для начала написать траслятор, который переведет код в с/с++/java/любой другой любимый язык. Это очень просто. Вот пример траслятора в Java. После того, как получится написать такое, никто не мешает написать похожее для ассеблера (для fasm или masm). Последней ступенькой будет генерирование сразу исполнимого файла. О том, что нужно знать ассемблер, я думаю вопросов нет. И ещё немного интересного материала - http://habrahabr.ru/blogs/development/113339/Ответ 2
Есть такая книжка, Marc-André Cournoyer, «How To Create Your Own Freaking Awesome Programming Language» (по ссылке — продается, но ищущий название и слово "pdf" всегда найдет и где взять менее цивлизованно, ЕВПОЧЯ). Показывают основы на пальцах, этакая «Драконья Книга для самых маленьких». Начинают с лексера и парсера, затем интерпретатор, и затем — компилятор под LLVM и, на всякий случай, собственную игрушечную виртуальную машину. Все, правда, на Ruby, но общие идеи от языка не зависят. Так что если есть интерес — можете поискать и посмотреть, рекомендую.Ответ 3
Было уже. Давайте создадим компилятор
Комментариев нет:
Отправить комментарий