Professional Documents
Culture Documents
Practica 3
Analisis Sintactico de Descenso Recursivo
Nombre
Grupo
Jose Sanchez Juarez
11 de abril de 2016
1. Objetivo
Construir un analizador sintactico descendente del tipo descenso recursivo.
2. Analizador Sint
actico de Descenso Recursivo
El analizador sint
actico de descenso recursivo, se construye de la siguiente
manera: es necesario que la gramatica sea del tipo LL(1), por lo que se deben
cumplir dos reglas:
1
4. Si las alternativas son de la forma A 1 | 2 | | n , pero se inter-
sectan entonces para corregir se debe factorizar.
5. Una vez que la gram atica es LL(1) se procede a construir el analizador
sint
actico descendente LL(1).
S aAb
A cB
B d|
La gram
atica aumentada es:
S0 S
S aAb
A cB
B d|
Las funciones de la gramatica 1, se obtienen de la siguiente manera. Para el
smbolo inicial S 0 se tiene la funcion:
2
on Analizar S 0 (), del smbolo inicial
Algorithm .2: Funci
1 Fun Analizar S 0 ();
2 Analizar S();
3 if pal == $ then
4 EsEnPan(Sintaxis Correcta);
5 else
6 EsEnPan(Sintaxis Incorrecta);
7 Fin Fun;
Para el smbolo S se tiene la funcion:
Algorithm .3: Funci on Analizar S(), del smbolo S
1 Fun Analizar S();
2 if pal == a then
3 P alabra SigP al();
4 Analizar A();
5 P alabra SigP al();
6 else
7 Error();
8 Fin Fun;
Para el smbolo A se tiene la funcion:
Algorithm .4: Funci on Analizar A(), del smbolo A
1 Fun Analizar A();
2 if pal == c then
3 P alabra SigP al();
4 Analizar B();
5 else
6 Error();
7 Fin Fun;
Para el smbolo B se tiene la funcion:
Algorithm .5: Funci on Analizar B(), del smbolo B
1 Fun Analizar B();
2 if pal == d then
3 P alabra SigP al();
4 else if pal == b then
5 Return(true);
6 else
7 Error();
8 Fin Fun;
3
3. Problemas
Implementar un analizador sintactico de descenso recursivo con la siguiente
gram
atica G:
S uBDz
B wC
C vC
C
D EF
Ey
E
F x
F
4. Procedimiento
Lo siguiente es bans
andose en la gramatica G:
1. Justificar si la gram
atica G es LL(1).
2. Si no lo es convertirla a gramatica LL(1).
3. Despues de convertirla justificar si es LL(1).
5. Actividades
Realice las siguientes actividades:
4
4. Convertir la gramatica en gramatica LL(1), tal como se expresa en la
secci
on de procedimiento.
5. Generar la secuencia de caracteres uwvyxz, con la gramatica G. Aplicando
la lectura deonde se usa: Entrada y funcion.