переводчики исходного кода с нового языка на подмножество C - PullRequest
0 голосов
/ 20 января 2012

Я работаю над проектом, в котором реализована новая языковая реализация. Мне было поручено создать переводчик для языка. Переводчик должен быть встроен в Java, а вывод перевода должен создавать подмножество нового языка в C. У меня есть несколько вопросов относительно этого: 1. Как поступить с этим? 2. На каком этапе мне следует уделить больше внимания? Должна ли это быть фаза генератора кода компилятора? 3. Нужно ли иметь еще одну грамматику для целевого языка?

спасибо заранее.

1 Ответ

2 голосов
/ 20 января 2012

Я бы расследовал ANTLR, если вы по крайней мере не знаете об этом.От http://www.antlr.org/about.html (выделено мной):

ANTLR, еще один инструмент для распознавания языков, - это языковой инструмент, который обеспечивает структуру для создания распознавателей, компиляторов и переводчиков из грамматических описаний, содержащих действияна различных целевых языках.ANTLR автоматизирует построение распознавателей языка.Из формальной грамматики ANTLR генерирует программу, которая определяет, соответствуют ли предложения этому языку. Другими словами, это программа, которая пишет другие программы.Добавляя фрагменты кода в грамматику, распознаватель становится переводчиком или интерпретатором. ANTLR обеспечивает превосходную поддержку построения дерева промежуточной формы, обхода дерева, перевода и обеспечивает сложное автоматическое восстановление ошибок и создание отчетов.

В качестве дополнительного бонуса ANTLR написан и легко вызывается Java.

Дополнительные подробности доступны по адресу http://en.wikipedia.org/wiki/ANTLR.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...