MAYO 1 PROYECTO día de la madre el amor más grande
GLC Contexto
1. Gramáticas libres de contexto en su
habitat
Avecestevasporlasramasparanotenerqueirdirectoalaraíz.Sobretodosilaraízesdolorosaypuedederribar
elárbol—
AlbertEspinosa
Ivan Meza
2. Son una tupla , donde:
Gramáticas libres de contexto
G = (V , Σ, P , S)
es otro alfabeto que denominamos símbolos no terminales
(generalmente en mayúsculas)
es un alfabeto que denominamos símbolos terminales
es conjunto de reglas con la forma donde
que denominamos símbolo inicial
V
Σ
P V → α
alpha ∈ (Σ ∪ V )
∗
S ∈ V
3. GLC para el lenguaje de ER
dondeG = ({R, B}, {a, b, e, ∅}, P , R) P
R → B
R → R + R
R → R ∗
R → RR
R → (R)
B → a
B → b
B → ϵ
B → ∅
25. Un compadre le dice a su otro
compadre:
¡Me compré un reloj nuevo!
¡¿Qué marca?!
Pues la hora compadre
26. Definiciones
Una gramática es ambigua si para cuando menos una
cadena tiene más de un árbol de derivación
Si todas las cadenas de una gramática tienen cuando menos
un árbol de derivación no es ambigua
29. Forzar pretendencia: introducir
nuevas variables
dondeG = ({B, T , F , E}, {a, b, e, ∅}, P , E) P
E → T |E + T
T → F |T F
F → B|F ∗ |(E)
B → a
B → b
B → ϵ
B → ∅
30. Derivación por la izquierda
a + ab
E
⇒ E + T
⇒ T + T
⇒ F + T
⇒ B + T
⇒ a + T
⇒ a + T F
⇒ a + F F
⇒ a + BF
⇒ a + aF
⇒ a + aB
31. ⇒ a + ab
Árbol primera derivación
E
E + T
T T F
F F B
B B b
a a
32. Derivación por la derecha
a + ab
E
⇒ E + T
⇒ E + T F
⇒ E + T B
⇒ E + T b
⇒ E + F b
⇒ E + Bb
⇒ E + ab
⇒ T + ab
⇒ F + ab
⇒ B + ab
33. ⇒ a + ab
Árbol segunda derivación
E
E + T
T T F
F F B
B B b
a a
39. ¿A qué lenguajes corresponden?
G = (V , Σ, ∅, S)
G = (V , Σ, {S → ϵ}, S)
G = (V , Σ, {S → a}, S)
40. Entonces
Tenemos las operaciones de composición para cualquier GLC
Tenemos lenguajes básicos como GLC
Podemos usar las operaciones sobre las GLR
¡Podemos generar todos los lenguajes regulares con
gramáticas!
45. con , reescribir las transiciones
a reglas
G = ({A, B}, {a, b}, P , A)
A → aA
A → bB
B → aB
B → bA
Incluir las finales, que lleguen a un estado final
A → b
B → a
46. Derivación por la izquierda y
derecha
ababa
A
⇒ aA
⇒ abB
⇒ abaB
⇒ ababA
⇒ ababa
47. Entonces
Dado un AF podemos encontrar una GLC
¿Dada una GLC podemos encontrar un AF?
Cuidado... mucho cuidado
Solo si tienen la misma forma
48. con , reescribir las reglas a
transiciones
G = ({A, B}, {a, b}, P , A)
A → aA δ(A, a) = A
A → bB δ(A, b) = B
B → aB δ(B, a) = B
B → bA δ(B, b) = A
A → b δ(A, b) = F
B → a δ(A, a) = F
49. Son una tupla , donde:
Gramáticas regulares
G = (V , Σ, P , S)
es otro alfabeto que denominamos símbolos no terminales
(generalmente en mayúsculas)
es un alfabeto que denominamos símbolos terminales
es conjunto de reglas con la forma donde y
que denominamos símbolo inicial
V
Σ
P A → aB|a a ∈ Σ
A, B ∈ V
S ∈ V
50. Jerarquía de Chomsky
Lenguaje Gramática Máquina
Independiente de contexto Tipo 2, ??
Regular Tipo 3, Autómata finito
V → α
V → aA
53. Autómata de pila
Es una tupla (Q, Σ, Γ, , , A, δ)q0 Z0
conjunto finito de estados
alfabeto de cadenas reconocidas
alfabeto de pila
estado inicial
símbolo inicial de la pila
estados finales
función de transición
Q
Σ
Γ
q0
Z0
A
δ
Q × (Σ ∪ {ϵ}) × Γ → Q × Γ
∗
Un AFND- + una pilaϵ
54. AF vs AFND vs AFND- vs APϵ
AF AFND AFND- APϵ
Q Q Q Q
Σ Σ Σ Σ
Γ
∈ Qq0 ∈ Qq0 ∈ Qq0 ∈ Qq0
∈ ΓZ0
A ⊆ Q A ⊆ Q A ⊆ Q A ⊆ Q
δ : Q × Σ → Q δ : Q × Σ → 2
Q
δ : Q × (Σ ∪ {ϵ}) → 2
Q
Q × (Σ ∪ {ϵ}) × Γ → Q × Γ
∗
60. ivanvladimir@gmail.com ivanvladimir.github.io ivanvladimir
¿Qué es un computadora? by is licensed under a
.
Creado a partir de la obra en
.
Ivan V. Meza Ruiz
Creative Commons Reconocimiento 4.0 Internacional License
http://turing.iimas.unam.mx/~ivanvladimir/slides/lfya/intro.html