2011-02-20 2 views

ответ

2

Вы можете использовать ANTLR для определения грамматики, и он может генерировать компиляторы, и вы также можете создавать интерпретаторы.

+0

Нет, ANTLR не создает интерпретаторы. –

+0

@Bart Kiers - исправил свой пост –

+0

Спасибо. Но ваш ответ все еще ниже номинала, ИМХО. Хотя ANTLR (и подобные ему инструменты) иногда называют «компилятором компилятора» (http://en.wikipedia.org/wiki/Compiler-compiler) s, говорящим, что ANTLR генерирует компилятор, (опять же IMHO) вводит в заблуждение. ANTLR генерирует, используя грамматику, лексер и/или парсер. И ваше замечание о том, что «вы также можете построить переводчиков», самоочевидно: конечно, кто-то может создать переводчика ... Извините, что набрал ваши мячи, но ответ не стоит многого, как есть. –

2

Если вы хотите научиться писать компилятор, вы также должны изучить основы работы компиляторов. MIT OpenCourseWare 1 имеет хороший класс по теме, со ссылками на хорошие учебники.

Для ссылок на инструменты lexer/parser вы можете посмотреть другие ответы или использовать Google. Я думаю, что курс может также упомянуть, какие инструменты он использовал.

1

Возможно, вас заинтересует шаблон интерпретатора на Wikipedia, он также предоставляет синтаксический анализатор для полноты.

Смежные вопросы