Professional Documents
Culture Documents
by Aura Cifuentes
Page 1
Analisis Sintactico :
El analizador sintáctico obtiene
una cadena de componentes
léxicos del analizador léxico, y
comprueba si la cadena puede
ser generada por la gramática
del lenguaje fuente. El
analizador sintáctico informara
de cualquiera error de sintaxis
de manera inteligible.
Componente Árbol de
Léxico análisis
Representación
Programa Analizador Programa sintáctico Resto de la intermedia
fuente léxico sintáctico etapa inicial
Obtener el siguiente
componente léxico
Tabla de
símbolos
Page 2
Analisis Sintactico :
Un gramática es una
especificación sintáctica precisa
y fácil de entender.
Page 3
Gramática Libre de Contexto
• También se le denomina
Gramáticas independientes de
contexto.
• Se definen en inglés como CFG,
Context Free Grammar.
• Contexto se refiere al entorno
en que se encuentra, como
influye el entorno en el
significado de cada parte.
Page 4
12/07/2021 4
Gramáticas Libres de Contexto
Page 5
Gramaticas:
∑ = Vocabulario finito de símbolos
terminales. Los símbolos terminales
son los símbolos validos en un
lenguaje.
La regla (2) nos dice que una frase tipo sujeto puede ser sustituida
por una frase de tipo frnominal y las reglas (3) y (4) dicen que una
frnominal puede tomar una de dos formas: <sustantivo> o bien
<sustantivo> <conjunción> <frnominal>.
Page 8
Oración
Sujeto Predicado
Page 9
Derivación:
Derivaciones : La idea central es que se
considera una producción como una regla de
reescritura, donde el no terminal de la izquierda
es sustituido por la cadena del lado
derecho de la producción.
Page 10
Por ejemplo, para reconocer la
cadena aabb.
S → AB | A
A → aAa | ε
B → Bb | b
Derivación por la Izquierda
S ⇒ AB ⇒ aAaB ⇒ aaB ⇒ aaBb ⇒
aaBbb ⇒ aabbb
E -> E + E
E -> E * E
E -> ( E )
E -> id | num
Page 13
E
E + E
E + E
Page 14
Ejemplo de gramaticas:
A partir de la gramática de una lista
básica:
S -> L;
L -> id L
| id;
Realice los siguientes gramáticas:
1. aaabbccddd
2. abbbcccd
3. aabcdd
1. aaaabbbbcd
2. aabbcccddd
3. abccdd
Page 15
Solución
S -> a S d
|aAd
A -> b A c
| bc
S -> AB
A -> a A b
|ab
B -> cBd
|cd;
Page 16
Ejercicio de Gramáticas
• Declaración de variables.
Integer a, b, c, d;
String b, c, d, e;
• Para la cadena.
[a,b,c,d] , [k,h], [f], [a,z,l,d]
Page 17
Solución
• Declaración de variables.
Integer a, b, c, d;
L -> L X;
| Integer ;
X -> X , id;
| id;
• Para la cadena.
[a,b,c,d] , [k,h], [f], [a,z,l,d]
L -> L , [ X ]
|[X]
X -> X , id
| id; Page 18