2.3. Atributos de los Componentes Léxicos

El analizador léxico recoge información sobre los componentes léxicos en sus atributos asociados. Los componentes léxicos influyen en las decisiones del análisis sintáctico y los atributos en la traducción de los componentes léxicos:

En la práctica, los componentes léxicos suelen tener un solo atributo -un apuntador a la entrada de la tabla de símbolos donde se guarda la información sobre el componente léxico; el apuntador se convierte en el atributo del componente léxico. A efectos de diagnóstico, puede considerarse tanto el lexema para un identificador como el número de línea en el que éste se encontró por primera vez. Estos dos elementos de información se pueden almacenar en la entrada de la tabla de símbolos para el identificador.

Ejemplo 3.1. Los componentes léxicos y los valores de atributos asociados para la proposición de FORTRAN.

E = M * e ** 2

Se escriben a continuación como una secuencia de parejas:

< id, apuntador a la entrada de la tabla de símbolos para E>

< op_asign. >

< id, apuntador a la entrada de la tabla de símbolos para M>

< op-mult,>

< id. apuntador a la entrada de la tabla de si m bolos para e>

< op_exp, >

< núm. valor entero 2 >

Obsérvese que en ciertas parejas no se necesita un valor de atributo: el primer componente es suficiente para identificar el lexema. En este pequeño ejemplo, se ha dado al componente léxico núm un atributo de valor entero. El compilador puede almacenar la cadena de caracteres que forma un número en una tabla de símbolos y dejar que el atributo del componente léxico núm sea un apuntador a la entrada de la tabla.