Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
G = (VN,VT, S, P)
VN= {S, A, B}
VT = {a, b}
P:
S → AA
A → AAA | bA | Ab | a |B 4
B → ABAA | b
Ejemplo 01
6
Derivaciones de ababaa
8
Teoría computacional
9
10
• Un árbol de derivación permite mostrar gráficamente cómo
se puede derivar cualquier cadena de un lenguaje a partir del
símbolo inicial de una gramática que genera ese lenguaje.
11
*
• Para una derivación S ⇒ G w su árbol de derivación
se construye de la siguiente manera:
C→b
D →a
C→baD
E→DbC
D→CaD
VT={a,b,c}
VN={E,C,D}
Ejemplo 03
G=(VT,VN,E,P)
b
a
D
a
D
E
b
C
Teoría computacional
14
S => AB => AbB => AbbB => Abbb => aAbbb => aabbb
15
La cadena aabbb tienen la siguiente derivación:
A B
a A b B
a
b B 16
S b S S
S c
a S c S
S b S a
17
a a
a a
• Una gramática es ambigua cuando para una
determinada cadena, se produce más de un árbol
18
• Una gramática es ambigua si existe una
cadena w ∈ L(G) que tiene más de una
a S S a
19
a a
• P.g: la gramática S → aS | Sa | a es ambigua porque aa tiene
dos derivaciones por la izquierda
a S S a
a a
a S
20
a
Problemas de la ambigüedad
• En la gramática para expresiones aritméticas sobre id y num:
E E
E ∗ E E + E
21
id + num id id num * id
Eliminar la ambigüedad en gramáticas
• Eliminar la ambigüedad en una gramática
•E→E+T E→T
•T→T*F T→F
• F → (E) T → -F
• F → id F → num
23
Ejercicios 11 “Derivación de gramáticas y ambigüedad”
P: P:
exp → exp opsuma term |term S → BAa
opsuma → + | - A → bBC | a
term → term opmul factor | factor B → bB | b | λ
opmult → * C → aB | aa
factor → (exp) | numero
numero →0|1|2|3|4|5|6|7|8|9
a) 3+4*5-6 a) bbbaa 24
b) 3*(4-5+6) b) baa
• . 3-(4+5*6)
c) c) aa
2. Dadas las siguientes gramáticas, tipo 3 encuentre la expresión
regular que reconocen
1.-a* 2.-a*b* 3.-a+b+
2.-
A → (A) A | λ | exp
• . 25
a) ( ( exp) ( (exp ) (exp ) ) )
b) ( exp ) ( exp )
c) ( exp ) exp
4. Demostrar que las siguientes gramáticas son ambiguas:
2.-a+b+