1.7 Manejo de errores semánticos
Es una de las misiones más importantes de un compilador, aunque, al mismo tiempo, es lo que más dificulta su realización. A veces unos errores ocultan otros. Un error provoca una avalancha de muchos errores que se solucionan con el primero. Es conveniente un buen manejo de errores, y que el compilador detecte todos los errores que tiene el programa y no se pare en el primero que encuentre. Hay, pues, dos criterios a seguir a la hora de manejar errores:
- Pararse al detectar el primer error.
- Detectar todos los errores de una pasada.
El análisis semántico es posterior al sintáctico y mucho más difícil de formalizar que éste. Se trata de determinar el tipo de los resultados intermedios, comprobar que los argumentos que tiene un operador pertenecen al conjunto de los operadores posibles, y si son compatibles entre sí, etc. En definitiva, comprobará que el significado de lo que se va leyendo es válido.
La salida "teórica" de la fase de análisis semántico sería un árbol semántico. Consiste en un árbol sintáctico en el que cada una de sus ramas ha adquirido el significado que debe tener. En el caso de los operadores polimórficos (un único símbolo con varios significados), el análisis semántico determina cuál es el aplicable.
Investigado por Dayanara Lizeth Cruz Mendez
Referencias:
Aho, A. V., Sethi, R., & Ullman, J. D. (1998). Compiladores: principios, técnicas y herramientas. Pearson Educación.
Investigado por Dayanara Lizeth Cruz Mendez
Referencias:
Aho, A. V., Sethi, R., & Ullman, J. D. (1998). Compiladores: principios, técnicas y herramientas. Pearson Educación.
No hay comentarios.:
Publicar un comentario