Você está na página 1de 2

ANLISIS SEMNTICO

Qu es un anlisis semntico?
Bueno se refiere a los aspectos del significado, sentido o interpretacin del mismo de un
determinado elemento, smbolo, palabra, expresin o representacin formal determina el
tipo de resultados intermedios y que si los argumentos que tiene un operador pertenecen
al conjunto de los operadores posibles.
Revisa si el significado de lo que se va leyendo es vlido.
El resultado de la fase de anlisis semntico viene siendo lo que se conoce como "rbol
semntico"
rbol De Expresiones o rbol Semntico
Es una estructura jerrquica en la cual se registran las operaciones que realiza el
programa fuente, en cada una de las ramas del rbol se registra el valor o significado que
este debe tener y el anlisis analiza cul de los valores registrado en las ramas es
aplicable

ACCIONES SEMNTICAS
Dependiendo del tipo de sentencias, las acciones semnticas pueden agruparse en:
Sentencias de Declaracin: Completar la seccin de tipos de la Tabla de
Smbolos.
Sentencias ejecutables: Realizar comprobaciones de tipos entre los operan dos
Implicados.
Funciones y procedimientos: Comprobar el nmero, orden y tipo de los parmetros
actuales en cada llamada a una funcin o procedimiento.
Identificacin de variables: Comprobar si un identificador ha sido declarado antes de
utilizarlo.
Etiquetas: Comprobar si hay etiquetas repetidas y validacin.
Constantes: Comprobar que no se utilicen en la parte izquierda de una asignacin.
Conversiones y equivalencias de tipo: Verificacin.
Sobrecarga de operadores y funciones: Detectar y solventar.

Comprobacin de tipo en expresiones

E literal
E num
E id
E id [E1]

{E.tipo = char}
{E.tipo = entero}
{E.tipo = Consultar_TS(id.entrada)}
{id.tipo = Consultar_TS(id.entrada)}

Pila semntica en un analizador sintctico


Como podemos entender un analizador sintctico ascendente utiliza durante el anlisis
una pila. En esta va guardando datos que le permiten ir haciendo las operaciones de
reduccin que necesita.
Para incorporar acciones semnticas como lo es construir el rbol sintctico, es necesario
incorporar a la pila del analizador sintctico ascendente otra columna que guarde los
atributos de los smbolos que se van analizando.

Generacin de tablas de smbolos y de direcciones


Tambin se la llama tabla de nombres o tabla de identificadores y tiene dos funciones
Principales:
- Efectuar chequeos semnticos.
- Generacin de cdigo.
Permanece slo en tiempo de compilacin, no de ejecucin, excepto en aquellos casos en
que se compila con opciones de depuracin.
La tabla almacena la informacin que en cada momento se necesita sobre las variables
del
Programa, informacin tal como: nombre, tipo, direccin de localizacin, tamao, etc.

Manejo de errores semnticos


Los errores semnticos son ms sutiles. Un error semntico se produce cuando la sintaxis
del cdigo es correcta, pero la semntica o significado no es el que se pretenda. La
construccin obedece las reglas del lenguaje, y por ello el compilador o intrprete no
detectan los errores semnticos. Los compiladores e intrpretes slo se ocupan de la
estructura del cdigo que se escribe, y no de su significado. Un error semntico puede
hacer que el programa termine de forma anormal, con o sin un mensaje de error.

Você também pode gostar