Синтаксически-ориентированный перевод
Синтаксически-ориентированный перевод относится к методу реализации компилятора , при котором перевод на исходный язык полностью управляется синтаксическим анализатором .
Распространенным методом синтаксически-ориентированного перевода является преобразование строки в последовательность действий путем присоединения одного такого действия к каждому правилу грамматики . [1] Таким образом, анализ строки грамматики создает последовательность применений правил. SDT предоставляет простой способ присоединения семантики к любому такому синтаксису .
Обзор [ править ]
Синтаксически-ориентированный перевод по сути работает путем добавления действий к продукции в контекстно-свободной грамматике , что приводит к синтаксически-ориентированному определению (SDD). [2] Действия — это шаги или процедуры, которые будут выполняться, когда эта продукция будет использоваться при деривации. Спецификация грамматики, включающая действия, которые необходимо выполнить, называется схемой синтаксически-ориентированной трансляции. [1] (иногда называемую просто «схемой перевода».)
Каждый символ в грамматике может иметь атрибут — значение, которое должно быть связано с этим символом. значение выражения и т. д. Учитывая символ X с атрибутом t , этот атрибут называется X. Общие атрибуты могут включать тип переменной , т
Таким образом, при наличии действий и атрибутов грамматику можно использовать для перевода строк со своего языка, применяя действия и передавая информацию через атрибут каждого символа.
Метакомпиляторы [ править ]
Ранние метакомпиляторы использовали в своих описаниях термины «синтаксически-ориентированный» и «синтаксически-ориентированный перевод». У них есть функции языка метапрограммирования для вывода кода.
См. метакомпилятор , META II и TREE-META .
См. также [ править ]
Ссылки [ править ]
- ↑ Перейти обратно: Перейти обратно: а б Гурари, Эйтан М. «Схемы синтаксически-ориентированной трансляции (SDTS)» . Архивировано из оригинала 28 июля 2012 года.
- ^ Ахо, Альфред В. Составители: принципы, методы и инструменты . Бостон: Пирсон/Эддисон Уэсли, 2007.