Compactación de Tablas
Compactar la tabla de simbolos o tabla de transiciones, significa que llegaremos a la construcción de 2 tablas adicionales que no contiene desperdicios de memoria producto de todas las casillas que catalogadas como error en el análisis léxico.
Basado en la tabla de símbolos que hemos utilzado en el post Análisis Léxico, procederé a la construcción de las tablas compactas.
Para reconocer una cadena con estas tablas lo que se hace es lo siguiente:
Asumamos que se quiere reconocer el if(
- 1. Pasamos a número de columna cada caracter de acuerdo a la tabla de transiciones de lo que nos quedaria 125 que es equivalente a if(
- La c2 de la tabla 1 nos indica a que fila vamos en la tabla 2, en este caso nos envia a la tabla 2 en la fila 1 con 6 posibilidades de comparación
- Comparamos es caracter de entrada que es el 1 con el c3 de la tabla 2, en este caso son iguales
- La c2 de la tabla 2 nos indica a que fila vamos en la tabla 1, en este caso nos envia a la fila 1.
- Continuando c2 =7 y nos vamos a la fila 7 de la tabla 2……
Cuando encontramos un número negativo(token) es por que la cadena que estamos trabajando ha sido reconocida sin problemas.
Estas tablas se utilizan para la programación del analizador sintáctico.
Categorías:Compiladores





Comentarios Recientes