Especificaciones de Gramáticas II Jerarquía de Chomskymat.uson.mx/lcota/PPT/Gramaticas (3).pdf ·...

Post on 20-Apr-2020

3 views 0 download

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

Gramáticas Irrestrictas (Tipo 0)

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

Gramáticas Sensibles al Contexto (Tipo 1)

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

Gramáticas Libres del Contexto (Tipo 2)

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

Ejemplo de Gramática Tipo 2

S → aSb L(G) = { an bn , n > 0 }S → ab Revisar: aabb

S

Sa b

a b

Gramáticas Regulares (Tipo 3)- Lineales a la Izquierda o

- Lineales a la Derecha

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 - Gramáticas a Autómatas Finitos- Autómatas Finitos a Gramáticas

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 → bA Regla de producción que se genera

A Ba DCa a

a, bb

b

b

Conversión de AF a GramáticaA → bAA → aB

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 → 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

Conversión de AF a GramáticaA → bAA → aBA → bA → aB → aCB → bAB → aB → bC → aDC → bAC → bD → aDD → bD

Diagrama de transición (AF)

A Ba DCa a

a, bb

b

b

fIS a b

*A B A

*B C A

*C D A

D D D

Tabla de transición

* Estado de aceptación

A

Función de transición Alfabeto

Estado Inicial