Перейти к содержанию

Объясните технологию написания трансляторов


Рекомендуемые сообщения

В частности интересует применимо к ANTLR, но рассмотрю любые комменты.

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

1) парсер входного языка, который проверяет синтаксис и строит АSТ (Abstract Syntax Tree)

2) парсер этого АСТ, который выписывает результат на выходном языке

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

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

Кто что думает по этому поводу?

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...