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