Синтаксически-управляемый перевод относится к методу реализации компилятора, при котором перевод исходного языка полностью осуществляется анализатором.
Распространенный метод синтаксически-управляемого перевода - это перевод строки в последовательность действий путем присоединения одного такого действия к каждому правилу грамматики. Таким образом, при синтаксическом анализе строки грамматики создается последовательность применения правил. SDT предоставляет простой способ присоединить семантику к любому такому синтаксису.
Синтаксически-управляемый перевод в основном работает путем добавления действий к продуктам в контекстно-свободной грамматике, что приводит к синтаксически-ориентированному определению (SDD). Действия - это шаги или процедуры, которые будут выполняться, когда эта продукция используется в деривации. Спецификация грамматики, содержащая действия, которые должны быть выполнены, называется схемой перевода, ориентированной на синтаксис (иногда просто «схемой перевода»).
Каждый символ в грамматике может иметь атрибут, который представляет собой значение, которое должно быть связано с символом. Общие атрибуты могут включать в себя тип переменной, значение выражения и т.д. Данный символ Х, с атрибутом т, этот атрибут называется X. т
Таким образом, при заданных действиях и атрибутах грамматика может использоваться для перевода строк со своего языка, применяя действия и передавая информацию через атрибут каждого символа.
Ранние метакомпиляторы в своих описаниях использовали термины «синтаксически управляемый перевод» и «синтаксически управляемый перевод». У них есть функции языка метапрограммирования для вывода кода.
См. Метакомпилятор, META II и TREE-META.