Especificaciones de Gramáticas II Jerarquía de Chomskymat.uson.mx/lcota/PPT/Gramaticas (3).pdf ·...
Transcript of Especificaciones de Gramáticas II Jerarquía de Chomskymat.uson.mx/lcota/PPT/Gramaticas (3).pdf ·...
Especificaciones de Gramáticas II Jerarquía de Chomsky
(En construcción)Notas Materia LENGUAJES DE PROGRAMACION
María de Guadalupe Cota Ortiz
Ejemplo de Gramática Tipo 0
A → aABC L(G) = { an bn, , n ≥ 0 }A → abC Revisar: aaabbbCB → BCbB → bb bC → b
A
Ejemplo de Gramática Tipo 0
A → aABC L(G) = { an bn, , n ≥ 0 }A → abC Revisar: aaabbbCB → BCbB → bb bC → b
A
a A B C
Ejemplo de Gramática Tipo 0
A → aABC L(G) = { an bn, , n ≥ 0 }A → abC Revisar: aaabbbCB → BCbB → bb bC → b
A
a A
a A
B C
B C
Ejemplo de Gramática Tipo 0
A → aABC L(G) = { an bn, , n ≥ 0 }A → abC Revisar: aaabbbCB → BCbB → bb bC → b
A
a A
a A
a b C
B C
B C
Ejemplo de Gramática Tipo 0
A → aABC L(G) = { an bn, , n ≥ 0 }A → abC Revisar: aaabbbCB → BCbB → bb bC → b
A
a A
a A
a b C
B C
B C
b
Ejemplo de Gramática Tipo 0
A → aABC L(G) = { an bn, , n ≥ 0 }A → abC Revisar: aaabbbCB → BCbB → bbbC → b
A
a A
a A
a b C
B C
B C
b b
b
Ejemplo de Gramática Tipo 0
A → aABC L(G) = { an bn, , n ≥ 0 }A → abC Revisar: aaabbbCB → BCbB → bb bC → b
A
a A
a A
a b C
B C
B C
b b
b
b
Ejemplo de Gramática Tipo 0
A → aABC L(G) = { an bn, , n ≥ 0 }A → abC Revisar: aaabbbCB → BCbB → bbbC → b
A
a A
a A
a b C
B C
B C
b b
b
b b
b
Ejemplo de Gramática Tipo 0
A → aABC L(G) = { an bn, , n ≥ 0 }A → abC Revisar: aaabbbCB → BCbB → bb bC → b
A
a A
a A
a b C
B C
B C
b b
b
b b
b
b
Ejemplo de Gramática Tipo 0
A → aABC L(G) = { an bn, , n ≥ 0 }A → abC Revisar: aaabbbCB → BCbB → bb bC → b
A
a A
a A
a b C
B C
B C
b b
b
b b
b
b
Ejemplo de Gramática Tipo 1
S → AcA L(G) = { 00 0n c 0m, , n ≥ 0, m > 0 }A → 0 Revisar: 00c000Ac → AAcAAc → ABcAc → AcBB → AB → AB
S
Ejemplo de Gramática Tipo 1
S → AcA L(G) = { 00 0n c 0m, , n ≥ 0, m > 0 }A → 0 Revisar: 00c000 Ac → AAcAAc → ABcAc → AcBB → AB → AB
S
cA A
Ejemplo de Gramática Tipo 1
S → AcA L(G) = { 00 0n c 0m, , n ≥ 0, m > 0 }A → 0 Revisar: 00c000 Ac → AAcAAc → ABcAc → AcBB → AB → AB
S
cA A
AA c A
Ejemplo de Gramática Tipo 1
S → AcA L(G) = { 00 0n c 0m, , n ≥ 0, m > 0 }A → 0 Revisar: 00c000 Ac → AAcAAc → ABcAc → AcBB → AB → AB
S
cA A
AA c A
0
Ejemplo de Gramática Tipo 1
S → AcA L(G) = { 00 0n c 0m, , n ≥ 0, m > 0 }A → 0 Revisar: 00c000 Ac → AAcAAc → ABcAc → AcBB → AB → AB
S
cA A
AA c A
A0 c B
Ejemplo de Gramática Tipo 1
S → AcA L(G) = { 00 0n c 0m, , n ≥ 0, m > 0 }A → 0 Revisar: 00c000 Ac → AAcAAc → ABcAc → AcBB → AB → AB
S
cA A
AA c A
A0 c B
0
Ejemplo de Gramática Tipo 1
S → AcA L(G) = { 00 0n c 0m, , n ≥ 0, m > 0 }A → 0 Revisar: 00c000 Ac → AAcAAc → ABcAc → AcBB → AB → AB
S
cA A
AA c A
A0 c B
0
Ejemplo de Gramática Tipo 1
S → AcA L(G) = { 00 0n c 0m, , n ≥ 0, m > 0 }A → 0 Revisar: 00c000 Ac → AAcAAc → ABcAc → AcBB → AB → AB
S
cA A
AA c A
A0 c B
0 A
Ejemplo de Gramática Tipo 1
S → AcA L(G) = { 00 0n c 0m, , n ≥ 0, m > 0 }A → 0 Revisar: 00c000Ac → AAcAAc → ABcAc → AcBB → AB → AB
S
cA A
AA c A
A0 c B
0 A
0
Ejemplo de Gramática Tipo 1
S → AcA L(G) = { 00 0n c 0m, , n ≥ 0, m > 0 }A → 0 Revisar: 00c000 Ac → AAcAAc → ABcAc → AcBB → AB → AB
S
cA A
AA c A
A0 c B
0 A
0
0
Ejemplo de Gramática Tipo 1
S → AcA L(G) = { 00 0n c 0m, , n ≥ 0, m > 0 }A → 0 Revisar: 00c000Ac → AAcAAc → ABcAc → AcBB → AB → AB
S
cA A
AA c A
A0 c B
0 A
0
0
0
Ejemplo de Gramática Tipo 1
S → AcA L(G) = { 00 0n c 0m, , n ≥ 0, m > 0 }A → 0 Revisar: 00c000Ac → AAcAAc → ABcAc → AcBB → AB → AB
S
cA A
AA c A
A0 c B
0 A
0
0
0
Ejemplo de Gramática Tipo 2
S → λ L(G) = { cn , n ≥ 0 y n es número impar }S → A Revisar: 00c000A → AcAA → c
S
Ejemplo de Gramática Tipo 2
S → λ L(G) = { cn , n ≥ 0 y n es número impar }S → A Revisar: cccA → AcAA → c
S
A
Ejemplo de Gramática Tipo 2
S → λ L(G) = { cn , n ≥ 0 y n es número impar }S → A Revisar: cccA → AcAA → c
S
A
cA A
Ejemplo de Gramática Tipo 2
S → λ L(G) = { cn , n ≥ 0 y n es número impar }S → A Revisar: cccA → AcAA → c
S
A
cA A
c
Ejemplo de Gramática Tipo 2
S → λ L(G) = { cn , n ≥ 0 y n es número impar }S → A Revisar: cccA → AcAA → c
S
A
cA A
c
Ejemplo de Gramática Tipo 2
S → λ L(G) = { cn , n ≥ 0 y n es número impar }S → A Revisar: cccA → AcAA → c
S
A
cA A
c c
Ejemplo de Gramática Tipo 2
S → λ L(G) = { cn , n ≥ 0 y n es número impar }S → A Revisar: cccA → AcAA → c
S
A
cA A
c c
Ejemplo de Gramática Tipo 2
S → λ L(G) = { cn , n ≥ 0 y n es número impar }S → A Revisar: cccA → AcAA → c
S
λ
S A
λc
c
Ejemplo de Gramática Tipo 2
S → λ L(G) = { cn , n ≥ 0 y n es número impar }S → A Revisar: cccA → AcAA → c
S
A
c
S A
λc
c
Ejemplo de Gramática Tipo 2
S → λ L(G) = { cn , n ≥ 0 y n es número impar }S → A Revisar: cccA → AcAA → c
S
A
cA A
c c
S A
λc
c
Recursividada derechasRecursividad
a izquierdas
Ejemplo de Gramática Tipo 2
S → λ L(G) = { cn , n ≥ 0 y n es número par }S → cA Revisar: cccA → AcAA → c
S
λ
S A
λc
cc
S
A
c
c
cA A
c c
S
Ac
Gramática Tipo 3 Equivalente al ejemplo tipo 1
S → 0A L(G) = { 00 0n c 0m, , n ≥ 0, m > 0 }A → 0B Revisar: 00c000B → 0BB → cCC → 0C → 0C
S
A0
B0
c C
0 C
0
S A0
B
0
0
Cc
0
0
Ejemplo de Gramática Tipo 3
S → aA L(G) = { a (anbm ) , n ≥ 0, m > 0 }S → aBA → aA Revisar: aabbbA → bBB → bBB → b
S
Aa
a A
b B
b B
b
Ejemplo de Gramática Tipo 3
S → Aa L(G) = { (an bm) a , n ≥ 0 y m > 0 }S → BaA → Aa Revisar: bbbaaA → BbB → BbB → b
S
A a
aA
bB
bB
b
Conversión de Gramática a AF
S → aA L(G) = { (a, b)n a, n > 0 }S → bAA → aBA → bBB → aB → aAB → bA
S Aa, b
Conversión de Gramática a AF
S → aA L(G) = { (a, b)n a, n > 0 }S → bAA → aBA → bBB → aB → aAB → bA
S Aa, b Ba, b
Conversión de Gramática a AF
S → aA L(G) = { (a, b)n a, n > 0 }S → bAA → aBA → bBB → aB → aAB → bA
S Aa, b Ba, b a
Conversión de Gramática a AF
S → aA L(G) = { (a, b)n a, n > 0 }S → bAA → aBA → bBB → aB → aAB → bA
S Aa, b Ba, b a
a, b
Conversión de AF a GramáticaA → bAA → aBA → bA → a
Regla de producción que se genera
A Ba DCa a
a, bb
b
b
Conversión de AF a GramáticaA → bAA → aBA → bA → aB → aC
Regla de producción que se genera
A Ba DCa a
a, bb
b
b
Conversión de AF a GramáticaA → bAA → aBA → bA → aB → aCB → bA
Regla de producción que se genera
A Ba DCa a
a, bb
b
b
Conversión de AF a GramáticaA → bAA → aBA → bA → aB → aCB → bAB → aB → b
Regla de producción que se genera
A Ba DCa a
a, bb
b
b
Conversión de AF a GramáticaA → bAA → aBA → bA → aB → aCB → bAB → aB → bC → aD
Regla de producción que se genera
A Ba DCa a
a, bb
b
b
Conversión de AF a GramáticaA → bAA → aBA → bA → aB → aCB → bAB → aB → bC → aDC → bA
Regla de producción que se genera
A Ba DCa a
a, bb
b
b
Conversión de AF a GramáticaA → bAA → aBA → bA → aB → aCB → bAB → aB → bC → aDC → bAC → b
Regla de producción que se genera
A Ba DCa a
a, bb
b
b
Conversión de AF a GramáticaA → bAA → aBA → bA → aB → aCB → bAB → aB → bC → aDC → bAC → bD → aDD → bD
Regla de producción que se genera
A Ba DCa a
a, bb
b
b