Documente Academic
Documente Profesional
Documente Cultură
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.
Bibliografia
http://progsistemasf7.blogspot.mx/2010/10/pila-
semantica-en-un-analizador.html
http://www.lcc.uma.es/~galvez/ftp/tci/tictema5.pdf
http://cic.puj.edu.co/wiki/lib/exe/fetch.php?media=mater
ias:compi:comp_sesion16_2008-1.pdf
http://progsistemasf7.blogspot.mx/2010/10/57-manejo-
de-errores-semanticos_9697.html
http://www.lsi.uned.es/procleng/apuntes/2010-
2011/PDL.11.Tema7.AnalisisSemantico.Comprobacion
DeTipos.pdf
http://www.slideshare.net/pepgonzalez/analisis-
semantico
http://campusvirtual.unex.es/ebooks/files/file/TeoriaAutomatas.pdf