Элементы теории перевода
До сих пор мы рассматривали процесс синтаксического анализа только как процесс анализа допустимости входной цепочки. Однако, в компиляторе синтаксический анализ служит основой еще одного важного шага - построения дерева синтаксического анализа. В примерах 4.3 и 4.8 предыдущей главы в процессе синтаксического анализа в качестве выхода выдавалась последовательность примененных правил, на основе которой и может быть построено дерево. Построение
дерева синтаксического анализа является простейшим частным случаем перевода - процесса преобразования некоторой входной цепочки в некоторую выходную.
Определение. Пусть T - входной алфавит, а
![](cmr10-5.gif)
- выходной алфавит. Переводом (или трансляцией) с языка L1
![](cmsy10-12.gif)
на язык L2
![](cmsy10-12.gif)
![](cmr10-5.gif)
называется отображение
![](cmmi10-1c.gif)
![](cmsy10-21.gif)
![](cmmi10-1c.gif)
Мы рассмотрим несколько формализмов для определения переводов: преобразователи с магазинной памятью, схемы синтаксически
управляемого перевода и атрибутные грамматики.