Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
LENGUAJES
YINSTITUTO
AUTMATAS
ANLISIS SEMNTICO
II
EQUIPO # 1
TECNOLGICO
DE ACAPULCO
CONTENIDO
INTRODUCCIN................................................................................................................ 3
1.
ANALISIS SEMNTICO................................................................................................ 4
1.1
ARBOLES DE EXPRESIONES.................................................................................4
1.1.1
ARBOLES EN INFORMATICA........................................................................... 6
1.1.2
DEFINICION RECURSIVA.................................................................................6
1.1.3
1.1.4
ARBOL BINARIO............................................................................................. 9
1.1.5
NOTACION POLONESA................................................................................. 10
1.2
1.3
1.4
1.4.1
1.5
ESQUEMAS DE TRADUCCIN............................................................................. 13
1.6
1.6.1
1.7
CONCLUSIN.................................................................................................................. 20
BIBLIOGRAFA................................................................................................................. 21
INTRODUCCIN
En el desarrollo de la primera unidad correspondiente a la asignatura de Lenguajes y
autmatas se explicar el proceso del anlisis semntico, es decir, conceptualmente como
se realiza utilizando herramientas de representacin tales como rboles para brindar un
mejor entendimiento.
Se dar a conocer los conceptos involucrados con el anlisis semntico, utilizando arboles
de expresiones que ejemplifican algunos casos explicados en cada uno de los puntos que
lo requieren; para lograr verificar que los procesos involucrados en los procesos internos
en el anlisis se realiza comprobaciones de tipos en expresiones.
Otro de los procesos dentro del anlisis se encuentra el esquema de traduccin que ser
explicado de manera clara para entender dicho proceso; como es de imaginarse para que
el anlisis semntico logre concretarse correctamente se verifica que los smbolos en las
expresiones dadas pertenezcan a la tabla de smbolos se un lenguaje en especfico
En el ltimo punto se dar a conocer nuestras conclusiones como equipo referente al
desarrollo de esta unidad que a continuacin se presentar.
1. ANLISIS SEMNTICO
La fase de anlisis semntico revisa el programa fuente para tratar de encontrar
errores semnticos y rene la informacin sobre los tipos para la fase posterior de
generacin de cdigo. En ella se utiliza la estructura jerrquica determinada por la
fase de anlisis sintctico para identificar los operadores y operandos de
expresiones y proposiciones.
Un componente importante del anlisis semntico es la verificacin de tipos. Aqu, el
compilador verifica si cada operador tiene operandos permitidos por la
especificacin del lenguaje fuente. Por ejemplo, las definiciones de muchos
lenguajes de programacin requieren que el compilador indique un error cada vez
que se use un nmero real como ndice de una matriz. Sin embargo, la
especificacin del lenguaje puede permitir ciertas coerciones a los operandos, por
ejemplo, cuando un operador aritmtico binario se a plica a un nmero entero y a un
nmero real. En este caso, el compilador puede necesitar convertir el nmero entero
real.
1.1 RBOLES DE EXPRESIONES
Expresin: secuencia de tokens.
Token: puede ser un operando o un operador.
Operador: +, -, *, /.
Propiedades:
Cada hoja es un operando.
El nodo raz o los nodos internos son operadores.
Los subrboles son subexpresiones en los nodos que el nodo raz es un
operador.
NIVELES DE UN arbol
NIVEL 0:
A = RAIZ
NIVEL 1:
{B}, {C, D, F, G} = 2 subrboles.
NIVEL 2:
{D}, {E}, {F, G}= 3 subrboles
NIVEL 3:
{G}= 1 subrbol.
hijo,
hermano,
ascendente,
(a)
(b)
Figura 4. a) Subrbol izquierdo, b) Subrbol derecho.
Estos dos subrboles binarios son diferentes, mientras que es cualquier rbol
sern idnticos.
1.1.5 NOTACIN POLONESA.
Como ejemplo de aplicacin de los mtodos considerados, evaluaremos la
expresin algebraica.
y=6 tg ( 3 x ) +
Si se
en el orden
* recorre el sentido contrario obtendremos la lista de los nudos
/
siguiente:
6
6
tg
tg
10
3
11
12
13
smbolos a lo que se refieren y entre llaves. Esta regla de situar las acciones
semnticas despus de los smbolos que utilizan da un orden en su ejecucin.
Una caracterstica fundamental de un ETDS es que la traduccin pueda realizarse
de una sola pasada. Por lo tanto, un ETDS no permite herencia de los atributos
desde la derecha hacia la izquierda.
Por todo ello, un ETDS es una Gramtica con Atributos por la Izquierda (GAI) en
que se insertan acciones semnticas.
Los ETDS se utilizan a menudo para convertir un formato de un lenguaje en el
formato de otro lenguaje.
Si tenemos una gramtica y queremos que sea un ETDS, deberemos decidir los
atributos necesarios y asignarlos a los smbolos de la gramtica. Luego, debemos
insertar las acciones semnticas necesarias. En este segundo paso debemos tener
en cuenta que se deben cumplir las restricciones de un ETDS, es decir:
a) Si todos los atributos son sintetizados, pondremos las acciones
semnticas despus de los atributos implicados. Lo mejor es situarlas al
final de la regla de produccin. Para cada atributo sintetizado, siempre
hay que calcularlo despus de que hayan tomado valor todos los dems
atributos que intervienen en el clculo.
b) Si hay atributos heredados:
Un atributo heredado A.h debe calcularse antes de que aparezca el
smbolo A.
Un atributo sintetizado A.s no debe usarse antes de que aparezca el
smbolo A.
c) Una accin semntica no debe referirse a un atributo sintetizado de un
smbolo que est a la derecha de la accin.
14
15
tabla de smbolos se realizan por medio del lexema con que se designa a la
entidad.
Esta concepcin de la tabla de smbolos es demasiado simple para fines
prcticos si consideramos que el lexema de la entidad es de longitud variable y se
desea que la estructura sea homognea. Una solucin es considerar que en el
campo lexema se tiene un apuntador (que siempre ocupa el mismo espacio)
hacia donde se registrarn propiamente los lexemas. Eso evitar el desperdicio
de memoria al tener el espacio justo para representar a cada lexema.
16
17
18
CONCLUSIN
Nuestras conclusiones acerca del desarrollo de la unidad 1 es que gracias a dicha
actividad logramos capturar y entender nuevos conceptos y definiciones que al inicio del
curso de esta asignatura no contbamos.
En el desarrollo de esta unidad se describieron los arboles de expresiones as como cada
una de sus caractersticas que nos brindan conocimiento para poder entender el
procedimiento del anlisis en una representacin grfica mediante rboles.
Para el proceso del anlisis conlleva otros procesos ms relacionados tales como la
generacin de la tabla de smbolos, la comprobacin de tipos en expresiones, un esquema
de traduccin, entre otros.
La mayora de los procesos deben de esperar a que finalice uno para poder iniciar, adems
de que algunos otros procesos en el anlisis se repiten hasta validar las expresiones
correctas.
19
BIBLIOGRAFA
Arbones, M., & E.A. (1992). Tecnicas graficas en productica. Barcelona, Espaa:
MARCOMBO.
Cataln, J. R. (2010). Compiladores. Teora e implementacin. Madrid, Espaa:
Alfaomega.
Malisani Arbones, E. A. (1992). Tecnicas graficas en productica. Barcelona, Espaa:
MARCOMBO.
Snchez Dueas, G., & Valverde Andreu, J. A. (1990). Compiladores e interpretes. Un
enfoque pragmatico. Madrid: Daz de Santos.
V. Aho, A., Sethi, R., & D. Ullman, J. (1990). Compiladores. Principios, tcnicas y
herramientas. Massachusetts, EUA: Addison Wesley Longman.
20
21