La traducción dirigida por sintaxis se refiere a un método de implementación del compilador en el que la traducción del idioma de origen está completamente dirigida por el analizador .
Un método común de traducción dirigida por sintaxis es traducir una cadena en una secuencia de acciones adjuntando una de esas acciones a cada regla de una gramática . [1] Por lo tanto, analizar una cadena de la gramática produce una secuencia de aplicaciones de reglas. SDT proporciona una forma sencilla de adjuntar semántica a dicha sintaxis .
Descripción general
La traducción dirigida por sintaxis funciona fundamentalmente agregando acciones a las producciones en una gramática libre de contexto , lo que da como resultado una definición dirigida por sintaxis (SDD). [2] Las acciones son pasos o procedimientos que se llevarán a cabo cuando esa producción se utilice en una derivación. Una especificación gramatical incrustada con acciones a realizar se denomina esquema de traducción dirigido por sintaxis [1] (a veces llamado simplemente "esquema de traducción").
Cada símbolo de la gramática puede tener un atributo , que es un valor que debe asociarse con el símbolo. Atributos comunes podrían incluir un tipo de variable, el valor de una expresión, etc. Dado un símbolo X , con un atributo t , ese atributo se denomina X . t
Por lo tanto, dadas las acciones y los atributos, la gramática se puede usar para traducir cadenas de su lenguaje aplicando las acciones y llevando información a través del atributo de cada símbolo.
Metacompiladores
Los primeros metacompiladores utilizan los términos traducción basada en sintaxis y traducción dirigida por sintaxis en sus descripciones. Tienen características de lenguaje de metaprogramación para generar código.
Ver metacompilador , META II y TREE-META .
Ver también
Referencias
- ^ a b Gurari, Eitan M. "Esquemas de traducción dirigidos por sintaxis (SDTS)" . Archivado desde el original el 28 de julio de 2012.
- ^ Aho, Alfred V. Compiladores: principios, técnicas y herramientas . Boston: Pearson / Addison Wesley, 2007.