La traducción dirigida por la sintaxis se refiere a un método de implementación del compilador en el que la traducción del lenguaje fuente está completamente controlada por el analizador sintáctico .
Un método común de traducción dirigida por la sintaxis consiste en traducir una cadena en una secuencia de acciones, asociando una de dichas acciones a cada regla de una gramática . [ 1 ] De este modo, el análisis sintáctico de una cadena de la gramática produce una secuencia de aplicaciones de reglas. La SDT proporciona una forma sencilla de asociar semántica a cualquier sintaxis de este tipo .
Descripción general
La traducción dirigida por la sintaxis funciona fundamentalmente añadiendo acciones a las producciones de una gramática libre de contexto , lo que da como resultado una Definición Dirigida por la Sintaxis (SDD). [ 2 ] Las acciones son pasos o procedimientos que se ejecutarán cuando se utilice dicha producción en una derivación. Una especificación gramatical que incorpora las acciones a realizar se denomina esquema de traducción dirigida por la sintaxis [ 1 ] (a veces simplemente llamado «esquema de traducción»).
Cada símbolo en la gramática puede tener un atributo , que es un valor que se asocia con el símbolo. Los atributos comunes pueden 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
De este modo, dadas ciertas acciones y atributos, la gramática puede utilizarse para traducir cadenas de su lenguaje aplicando las acciones y transmitiendo la información a través del atributo de cada símbolo.
Metacompiladores
Los primeros metacompiladores utilizan los términos traducción basada en la sintaxis y traducción dirigida por la sintaxis en sus descripciones. Cuentan con características de lenguaje de metaprogramación para generar código.
Consulte metacompiler , META II y TREE-META .
Véase también
Referencias
- Construcción de compiladores