Implementación del analizador léxico
Identificadores de usuarios
Nombre del elemento es un identificador el cual puede almacenarse impidiendo la longitud del mismo
El tipo de elemento en el cual se guardan variables que son resultado fundamental de los tipos de datos que pertenece cada una de ellas.
La dirección de memoria es elemental porque las cuando las instrucciones que hacen referencia a la variable deben encontrar el valor de esa misma variable en función del tiempo de ejecución, para así generar código de maquina tanto si son variables globales o locales
El Numero de dimensiones es la variable a almacenar es decir un array donde se puede almacenar en sus dimensiones
El tipo de parámetros formales es el identificador a almacenar que pertenece a una procedimiento, es imprescindible almacenar los tipos de parámetros formales para así controlar que toda invocación sea hecha con coherencia.
Información extra con objeto de obtener un resumen estadístico con la finalidad de tener mejores resultados.
Consideraciones sobre la tabla de simbolos
Conforme van apareciendo nuevas declaraciones de identificadores, el analizador léxico,
o el analizador sintáctico según la estrategia que sigamos, insertará nuevas entradas en la
tabla de símbolos, evitando siempre la existencia de entradas repetidas.
La tabla de símbolos puede iniciarse con cierta información útil, tal como:
- Constantes: PI, E, etc.
- Funciones de librería: EXP, LOG, etc.
- Palabras reservadas. Esto facilita el trabajo al lexicográfico, que tras reconocer
un identificador lo busca en la tabla de símbolos, y si es palabra reservada
devuelve un token asociado. Bien estructurado puede ser una alternativa más
eficiente al lex tal y como lo hemos visto (hash perfecto).
Ejemplo de tabla de simbolo
El programa Lex: si se encuentra un número lo convierte a int y devuelve el token Numero. Primero lo busca en la tabla de símbolos, Si lo encuentre entonces devuelve su valor si no lo encuentra, lo inserta
Procedimieto
Primero evalúa la expresión 7*3 al valor resultante 21 se analiza la tabla de símbolos para buscar el identificadora.
Lo creará inicializándolo a 0
Se modificará la entrada para asignarle el valor de 21 a la regla asociada
La evaluación de la expresión necesita buscar en la tabla de símbolos para asignar el valor 21 y multiplicarlo por 3
El resultado se almacena en la entrada asociada a la b
La sentencia evalúa una nueva expresión en la que interviene a y b , asignando su suma para la entrada de la tabla de símbolos.
COMPILADORES
Grupo #4
Mora Troya Oscar
Cedeño Quinto Allyson
Solis Baque Milca
Merino Salcedo Luis
Verdesoto Alava Andreina