Транслятор на ANTLR. Идеологические проблемы
От: Graf Alex Украина http://grafalex.oberon.kiev.ua
Дата: 19.10.05 07:12
Оценка:
В документации и примерах идущих вместе с АНТЛРом автора настоятельно рекомендуют строить транслятор из двух чстей:
1) парсер входного языка, который проверяет синтаксис и строит АSТ (Abstract Syntax Tree)
2) парсер этого АСТ, который выписывает результат на выходном языке

Вопрос: а где в такой схеме проверять семантику? Например двойное объявление переменной, соответствие значения нужному типу?

Пока что я написал, только парсер, в который запихнул семантический проверки. Но попути оказалось, что у меня в некоторой моей структуре данных уже есть вся информация нужная для представления на выходном языке. Зачем тогда нужен парсер дерева?

Кстати точно такая же технология используется в самом АНТЛРе, где есть только лексер и парсер, который наполняет какие то внутренние структуры

Кто что думает по этому поводу?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.