Синтаксически-управляемый перевод - Википедия - Syntax-directed translation

Синтаксически управляемый перевод относится к методу компилятор реализация, в которой перевод исходного языка полностью зависит от парсер.

Распространенный метод синтаксически-управляемого перевода - это преобразование строки в последовательность действий путем присоединения одного такого действия к каждому правилу грамматика.[1] Таким образом, при синтаксическом анализе строки грамматики создается последовательность применения правил. SDT предоставляет простой способ прикрепить семантика любому такому синтаксис.

Обзор

Синтаксически-управляемый перевод в основном работает путем добавления действий к продуктам в контекстно-свободная грамматика, что приводит к синтаксически-ориентированному определению (SDD).[2] Действия - это шаги или процедуры, которые будут выполняться, когда эта продукция используется в деривации. Спецификация грамматики, содержащая действия, которые необходимо выполнить, называется синтаксически управляемая схема перевода[1] (иногда просто называют «схемой перевода».)

Каждый символ в грамматике может иметь атрибут, которое является значением, которое должно быть связано с символом. Общие атрибуты могут включать тип переменной, значение выражения и т. Д. Для данного символа Икс, с атрибутом т, этот атрибут называется Икс.т

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

Метакомпиляторы

Ранние метакомпиляторы использовали в своих описаниях термины синтаксически управляемый и синтаксически управляемый перевод. У них есть метапрограммирование особенности языка для вывода кода.

Видеть метакомпилятор, МЕТА II, и ДЕРЕВО-МЕТА.

Смотрите также

Рекомендации

  1. ^ а б Гурари, Эйтан М. «Синтаксически-ориентированные схемы перевода (SDTS)». Архивировано из оригинал 28 июля 2012 г.
  2. ^ Ахо, Альфред В. Компиляторы: принципы, методы и инструменты. Бостон: Пирсон / Аддисон Уэсли, 2007.