Синтаксической диаграммой со встроенной семантическими функциями можно заменить блок-схемы при реализации транслятора. Правила конструирования транслятора есть обобщение правил построения программы моделирования поведения конечного автомата, распознающего входной язык по правилу перехода.
Пусть:
· symbol – глобальная переменная, означающая очередной символ входной цепочки;
· D1, D2, …, Dn – различные диаграммы;
· P(D) – программный блок, поставленный в соответствие диаграмме;
· first(D) – множество терминалов, которые могут быть первыми символами цепочки, которую задает диаграмма D.
Условие, определяющее детерминированность автомата: first(D1) Ç first(D2) = Æ.
Вопросы и упражнения
Опишите синтаксический блок транслятора, распознающего язык a = (0*+1) (0*+10*)* 0*.