You are on page 1of 2

Analisis Semantico

Introduccion

Aqui les mostraremos un poco de lo que es la definicion de los siguientes
conceptos en cuanto analisis semantico y los subtemas que veremos en la
primera unidad de lenguajes y automatas 2
el objetivo de esta unidad es definir, disear, construir y programarlas fases de
el analizador lexico y sintactico de un traductoro compilador.

Analisis Semantico

Que es un analisis semantico?
bueno se refiere a los aspectos del significado, sentido o interpretacion de el
mismo de un determinado elemento, simbolo, palabra, expresion o
representacion formal

determina el tipo de resulados intermedios y que si los argumentos que tiene
un operador pertenece al conjunto de los operadores posibles.
revisa si el significado de lo que se va leyendo es valido.
el resultado de la fase de analisis semantico viene siendo lo que se conoce
como "arbol semantico"

Arbol De Expresiones o Arbol Semntico

Es una estructura jerarquica en la cual se registran las operaciones que realiza
el programa fuente, en cada una de las ramas de el arbol se registra el valor o
significado que este debe tener y el analisis analiza cual 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
operandos
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.tipo = char}
E num {E.tipo = entero}
E id {E.tipo = Consultar_TS(id.entrada)}
E id [E1] {id.tipo = Consultar_TS(id.entrada)}

Pila semantica en un analizador sintactico

Como podemos entender un analizador sintactico 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 sintactico ascendente otra columna
que guarde los atributos de los smbolos que se van analizando.

Generacion de tablas de simbolos 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 semanticos

Los errores semnticos son ms sutiles. Un error semntico se produce cuando
la sintxis 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.

You might also like