Gramáticas De Contexto Sensitivo, Autómatas De Tipo Push ...€¦ · Autómatas Del Tipo...
Transcript of Gramáticas De Contexto Sensitivo, Autómatas De Tipo Push ...€¦ · Autómatas Del Tipo...
![Page 1: Gramáticas De Contexto Sensitivo, Autómatas De Tipo Push ...€¦ · Autómatas Del Tipo Push-Down Doble INFORMACION. Una transición consulta el estado, el símbolo de entrada](https://reader034.fdocument.pub/reader034/viewer/2022050201/5f54dacc2bdb7c4c1e4ccfb9/html5/thumbnails/1.jpg)
UNAMGramáticas De Contexto
Sensitivo, Autómatas De Tipo Push-Down Doble
Autómatas Lineales Con FronteraForma Normal Kuroda
![Page 2: Gramáticas De Contexto Sensitivo, Autómatas De Tipo Push ...€¦ · Autómatas Del Tipo Push-Down Doble INFORMACION. Una transición consulta el estado, el símbolo de entrada](https://reader034.fdocument.pub/reader034/viewer/2022050201/5f54dacc2bdb7c4c1e4ccfb9/html5/thumbnails/2.jpg)
EQUIPO 3JACALES ROJAS HÉCTOR DANIELVELAZQUEZ ALBAÑIL IRVING G.MORELOS ALQUEZADA MARIO D.
PINA LOPEZ CRISTIAN.
![Page 3: Gramáticas De Contexto Sensitivo, Autómatas De Tipo Push ...€¦ · Autómatas Del Tipo Push-Down Doble INFORMACION. Una transición consulta el estado, el símbolo de entrada](https://reader034.fdocument.pub/reader034/viewer/2022050201/5f54dacc2bdb7c4c1e4ccfb9/html5/thumbnails/3.jpg)
GRAMÁTICAS DE CONTEXTO SENSITIVO.
3
Las gramáticas sensibles al contexto o de tipo 1, son las que generan los lenguajes sensibles al contexto
![Page 4: Gramáticas De Contexto Sensitivo, Autómatas De Tipo Push ...€¦ · Autómatas Del Tipo Push-Down Doble INFORMACION. Una transición consulta el estado, el símbolo de entrada](https://reader034.fdocument.pub/reader034/viewer/2022050201/5f54dacc2bdb7c4c1e4ccfb9/html5/thumbnails/4.jpg)
En forma general toda gramática se define mediante una cuádrupla G=(N,T, P,S).
-N es un conjunto finito de símbolos no terminales -T es un conjunto finito de símbolos terminales N∩ T=∅ -P es un conjunto finito de reglas de producción -S Símbolo distinguido o Axioma S∉ (N∪ T)
4
![Page 5: Gramáticas De Contexto Sensitivo, Autómatas De Tipo Push ...€¦ · Autómatas Del Tipo Push-Down Doble INFORMACION. Una transición consulta el estado, el símbolo de entrada](https://reader034.fdocument.pub/reader034/viewer/2022050201/5f54dacc2bdb7c4c1e4ccfb9/html5/thumbnails/5.jpg)
REGLAS DE PRODUCCIÓN.
γΑβ→γωβDondé:Α ∈ N
γ, β ∈ (N ∪ T)* ω ∈ (N ∪ T)+
5
Es decir se permite el reemplazo del no terminal A en el lado izquierdo de la producción, por la cadena ω sólo en el “contexto” γ_β.
![Page 6: Gramáticas De Contexto Sensitivo, Autómatas De Tipo Push ...€¦ · Autómatas Del Tipo Push-Down Doble INFORMACION. Una transición consulta el estado, el símbolo de entrada](https://reader034.fdocument.pub/reader034/viewer/2022050201/5f54dacc2bdb7c4c1e4ccfb9/html5/thumbnails/6.jpg)
NOTA:La gramática puede contener también la producción S→ ε , si el lenguaje que se quiere generar contiene la cadena vacía.
6
![Page 7: Gramáticas De Contexto Sensitivo, Autómatas De Tipo Push ...€¦ · Autómatas Del Tipo Push-Down Doble INFORMACION. Una transición consulta el estado, el símbolo de entrada](https://reader034.fdocument.pub/reader034/viewer/2022050201/5f54dacc2bdb7c4c1e4ccfb9/html5/thumbnails/7.jpg)
L4={an bn cn / n>0} G4=<{A,B,C}, {a,b,c}, S4, P4> donde P4 contiene las siguientes producciones: S4→ A A→ aABC A→abC CB→BC bB→bb bC→bc cC→cc
Ejemplo.Derivación de la Cadena a 3 b 3 c 3
7
![Page 8: Gramáticas De Contexto Sensitivo, Autómatas De Tipo Push ...€¦ · Autómatas Del Tipo Push-Down Doble INFORMACION. Una transición consulta el estado, el símbolo de entrada](https://reader034.fdocument.pub/reader034/viewer/2022050201/5f54dacc2bdb7c4c1e4ccfb9/html5/thumbnails/8.jpg)
8
-Creada por Sige-Yuki Kuroda.-Es una gramática que genera lenguaje tipo sensible al contexto. No
genera cadenas vacias.-En forma normal de Koruda es
1. A → a,2. A → B3. A → BC,4. AB → CD
Donde A, B, C y D son no terminales y a es terminal.
Forma Normal de Kuroda
![Page 9: Gramáticas De Contexto Sensitivo, Autómatas De Tipo Push ...€¦ · Autómatas Del Tipo Push-Down Doble INFORMACION. Una transición consulta el estado, el símbolo de entrada](https://reader034.fdocument.pub/reader034/viewer/2022050201/5f54dacc2bdb7c4c1e4ccfb9/html5/thumbnails/9.jpg)
9
Cumple con 3 axiomas:1.- Una gramática es de longitud-creciente si es equivalente a una
gramática en la forma normal Kuroda.2.- Una gramática de Forma Normal Kuroda es equivalente a una
gramática cuyas producciones están en forma 1, 2 o 3.3.- Cada lenguaje de tipo 0 puede ser generado por una gramática
cuyasproducciones están en una de las siguientes formas:1. A → a,
2. A → BC,3. AB → AC,4. A → λ.
![Page 10: Gramáticas De Contexto Sensitivo, Autómatas De Tipo Push ...€¦ · Autómatas Del Tipo Push-Down Doble INFORMACION. Una transición consulta el estado, el símbolo de entrada](https://reader034.fdocument.pub/reader034/viewer/2022050201/5f54dacc2bdb7c4c1e4ccfb9/html5/thumbnails/10.jpg)
Autómatas Del Tipo Push-Down Doble
INFORMACION.Una transición consulta el estado, el símbolo de entrada y ambas topes de la pila. La acción de una transición puede alterar alguno o todos estos componentes.La interacción entre las pilas permite que la máquina retenga una copia de la pila mientras usa la otra pila para procesar la entrada.
![Page 11: Gramáticas De Contexto Sensitivo, Autómatas De Tipo Push ...€¦ · Autómatas Del Tipo Push-Down Doble INFORMACION. Una transición consulta el estado, el símbolo de entrada](https://reader034.fdocument.pub/reader034/viewer/2022050201/5f54dacc2bdb7c4c1e4ccfb9/html5/thumbnails/11.jpg)
![Page 12: Gramáticas De Contexto Sensitivo, Autómatas De Tipo Push ...€¦ · Autómatas Del Tipo Push-Down Doble INFORMACION. Una transición consulta el estado, el símbolo de entrada](https://reader034.fdocument.pub/reader034/viewer/2022050201/5f54dacc2bdb7c4c1e4ccfb9/html5/thumbnails/12.jpg)
El PDA M de dos pilas acepta el lenguaje L = {a^i b^i c^i d^i |i≥0}.M procesa las cadenas de L de la siguiente manera:Lee "a" Push "A" en la pila uno.Lee "b" Pop "A" y Push "B" en la pila dos.Lee "c" Pop "B" y Push "C" en la pila uno.Lee "d" Pop "C". M:
Q={q_0,q_1,q_2,q_3}Σ={a,b,c,d}Γ={A,B,C}F={q_3}
δ(q_0,λ,λ,λ)={q_3,λ,λ}δ(q_0,a,λ,λ)={q_0,A,λ}δ(q_0,b,A,λ)={q_1,λ,B}δ(q_1,b,A,λ)={q_1,λ,B}δ(q_1,c,λ,B)={q_2,C,λ}δ(q_2,c,λ,B)={q_2,C,λ}
![Page 13: Gramáticas De Contexto Sensitivo, Autómatas De Tipo Push ...€¦ · Autómatas Del Tipo Push-Down Doble INFORMACION. Una transición consulta el estado, el símbolo de entrada](https://reader034.fdocument.pub/reader034/viewer/2022050201/5f54dacc2bdb7c4c1e4ccfb9/html5/thumbnails/13.jpg)
Los autómatas lineales son autómatas de pila deterministas que a lo largo de su
computación sólo hacen un ``cambio de turno''. A grandes rasgos, esto significa que
toda computación consiste de un procedimiento de empilar
consecutivamente para después pasar a desempilar.
13
Autómata Lineal
![Page 14: Gramáticas De Contexto Sensitivo, Autómatas De Tipo Push ...€¦ · Autómatas Del Tipo Push-Down Doble INFORMACION. Una transición consulta el estado, el símbolo de entrada](https://reader034.fdocument.pub/reader034/viewer/2022050201/5f54dacc2bdb7c4c1e4ccfb9/html5/thumbnails/14.jpg)
14
AUTÓMATA LINEAL CON FRONTERA
Es una tupla (Q, X, Σ, q 0, M L, M R, δ, F)
Q es un conjunto finito de estadosX es el alfabeto de cinta
Σ es el alfabeto de entrada
q 0 es el estado inicial
M L es el marcador extremo izquierdo
M R es el marcador extremo derecho donde M R ≠ M L
δ es una función de transición que mapea cada par (estado, símbolo de la cinta) a (estado, símbolo de cinta, Constant 'c') donde c puede ser 0 o 1 o -1
F es el conjunto de estados finales
![Page 15: Gramáticas De Contexto Sensitivo, Autómatas De Tipo Push ...€¦ · Autómatas Del Tipo Push-Down Doble INFORMACION. Una transición consulta el estado, el símbolo de entrada](https://reader034.fdocument.pub/reader034/viewer/2022050201/5f54dacc2bdb7c4c1e4ccfb9/html5/thumbnails/15.jpg)
Referencias× http://www.exa.unicen.edu.a
r/catedras/ccomp1/ApunteGSC.pdf
× http://delta.cs.cinvestav.mx/~gmorales/ta/node15.html
× G. E. R´ev´esz, Introduction to Formal Languages, Dover Publications (1991).
15
![Page 16: Gramáticas De Contexto Sensitivo, Autómatas De Tipo Push ...€¦ · Autómatas Del Tipo Push-Down Doble INFORMACION. Una transición consulta el estado, el símbolo de entrada](https://reader034.fdocument.pub/reader034/viewer/2022050201/5f54dacc2bdb7c4c1e4ccfb9/html5/thumbnails/16.jpg)
EQUIPO 3JACALES ROJAS HÉCTOR DANIELVELAZQUEZ ALBAÑIL IRVING G.MORELOS ALQUEZADA MARIO D.
PINA LOPEZ CRISTIAN.
![Page 17: Gramáticas De Contexto Sensitivo, Autómatas De Tipo Push ...€¦ · Autómatas Del Tipo Push-Down Doble INFORMACION. Una transición consulta el estado, el símbolo de entrada](https://reader034.fdocument.pub/reader034/viewer/2022050201/5f54dacc2bdb7c4c1e4ccfb9/html5/thumbnails/17.jpg)
GRAMÁTICAS DE CONTEXTO SENSITIVO.
17
Las gramáticas sensibles al contexto o de tipo 1, son las que generan los lenguajes sensibles al contexto
![Page 18: Gramáticas De Contexto Sensitivo, Autómatas De Tipo Push ...€¦ · Autómatas Del Tipo Push-Down Doble INFORMACION. Una transición consulta el estado, el símbolo de entrada](https://reader034.fdocument.pub/reader034/viewer/2022050201/5f54dacc2bdb7c4c1e4ccfb9/html5/thumbnails/18.jpg)
En forma general toda gramática se define mediante una cuádrupla G=(N,T, P,S).
-N es un conjunto finito de símbolos no terminales -T es un conjunto finito de símbolos terminales N∩ T=∅ -P es un conjunto finito de reglas de producción -S Símbolo distinguido o Axioma S∉ (N∪ T)
18
![Page 19: Gramáticas De Contexto Sensitivo, Autómatas De Tipo Push ...€¦ · Autómatas Del Tipo Push-Down Doble INFORMACION. Una transición consulta el estado, el símbolo de entrada](https://reader034.fdocument.pub/reader034/viewer/2022050201/5f54dacc2bdb7c4c1e4ccfb9/html5/thumbnails/19.jpg)
REGLAS DE PRODUCCIÓN.
γΑβ→γωβDondé:Α ∈ N
γ, β ∈ (N ∪ T)* ω ∈ (N ∪ T)+
19
Es decir se permite el reemplazo del no terminal A en el lado izquierdo de la producción, por la cadena ω sólo en el “contexto” γ_β.
![Page 20: Gramáticas De Contexto Sensitivo, Autómatas De Tipo Push ...€¦ · Autómatas Del Tipo Push-Down Doble INFORMACION. Una transición consulta el estado, el símbolo de entrada](https://reader034.fdocument.pub/reader034/viewer/2022050201/5f54dacc2bdb7c4c1e4ccfb9/html5/thumbnails/20.jpg)
NOTA:La gramática puede contener también la producción S→ ε , si el lenguaje que se quiere generar contiene la cadena vacía.
20
![Page 21: Gramáticas De Contexto Sensitivo, Autómatas De Tipo Push ...€¦ · Autómatas Del Tipo Push-Down Doble INFORMACION. Una transición consulta el estado, el símbolo de entrada](https://reader034.fdocument.pub/reader034/viewer/2022050201/5f54dacc2bdb7c4c1e4ccfb9/html5/thumbnails/21.jpg)
L4={an bn cn / n>0} G4=<{A,B,C}, {a,b,c}, S4, P4> donde P4 contiene las siguientes producciones: S4→ A A→ aABC A→abC CB→BC bB→bb bC→bc cC→cc
Ejemplo.Derivación de la Cadena a 3 b 3 c 3
21
![Page 22: Gramáticas De Contexto Sensitivo, Autómatas De Tipo Push ...€¦ · Autómatas Del Tipo Push-Down Doble INFORMACION. Una transición consulta el estado, el símbolo de entrada](https://reader034.fdocument.pub/reader034/viewer/2022050201/5f54dacc2bdb7c4c1e4ccfb9/html5/thumbnails/22.jpg)
22
-Creada por Sige-Yuki Kuroda.-Es una gramática que genera lenguaje tipo sensible al contexto. No
genera cadenas vacias.-En forma normal de Koruda es
1. A → a,2. A → B3. A → BC,4. AB → CD
Donde A, B, C y D son no terminales y a es terminal.
Forma Normal de Kuroda
![Page 23: Gramáticas De Contexto Sensitivo, Autómatas De Tipo Push ...€¦ · Autómatas Del Tipo Push-Down Doble INFORMACION. Una transición consulta el estado, el símbolo de entrada](https://reader034.fdocument.pub/reader034/viewer/2022050201/5f54dacc2bdb7c4c1e4ccfb9/html5/thumbnails/23.jpg)
23
Cumple con 3 axiomas:1.- Una gramática es de longitud-creciente si es equivalente a una
gramática en la forma normal Kurado.2.- Una gramática de Forma Normal Kuroda es equivalente a una
gramática cuyas producciones están en forma 1, 2 o 3.3.- Cada lenguaje de tipo 0 puede ser generado por una gramática
cuyasproducciones están en una de las siguientes formas:1. A → a,
2. A → BC,3. AB → AC,4. A → λ.
![Page 24: Gramáticas De Contexto Sensitivo, Autómatas De Tipo Push ...€¦ · Autómatas Del Tipo Push-Down Doble INFORMACION. Una transición consulta el estado, el símbolo de entrada](https://reader034.fdocument.pub/reader034/viewer/2022050201/5f54dacc2bdb7c4c1e4ccfb9/html5/thumbnails/24.jpg)
Autómatas Del Tipo Push-Down Doble
INFORMACION.Una transición consulta el estado, el símbolo de entrada y ambas topes de la pila. La acción de una transición puede alterar alguno o todos estos componentes.La interacción entre las pilas permite que la máquina retenga una copia de la pila mientras usa la otra pila para procesar la entrada.
![Page 25: Gramáticas De Contexto Sensitivo, Autómatas De Tipo Push ...€¦ · Autómatas Del Tipo Push-Down Doble INFORMACION. Una transición consulta el estado, el símbolo de entrada](https://reader034.fdocument.pub/reader034/viewer/2022050201/5f54dacc2bdb7c4c1e4ccfb9/html5/thumbnails/25.jpg)
![Page 26: Gramáticas De Contexto Sensitivo, Autómatas De Tipo Push ...€¦ · Autómatas Del Tipo Push-Down Doble INFORMACION. Una transición consulta el estado, el símbolo de entrada](https://reader034.fdocument.pub/reader034/viewer/2022050201/5f54dacc2bdb7c4c1e4ccfb9/html5/thumbnails/26.jpg)
El PDA M de dos pilas acepta el lenguaje L = {a^i b^i c^i d^i |i≥0}.M procesa las cadenas de L de la siguiente manera:Lee "a" Push "A" en la pila uno.Lee "b" Pop "A" y Push "B" en la pila dos.Lee "c" Pop "B" y Push "C" en la pila uno.Lee "d" Pop "C". M:
Q={q_0,q_1,q_2,q_3}Σ={a,b,c,d}Γ={A,B,C}F={q_3}
δ(q_0,λ,λ,λ)={q_3,λ,λ}δ(q_0,a,λ,λ)={q_0,A,λ}δ(q_0,b,A,λ)={q_1,λ,B}δ(q_1,b,A,λ)={q_1,λ,B}δ(q_1,c,λ,B)={q_2,C,λ}δ(q_2,c,λ,B)={q_2,C,λ}
![Page 27: Gramáticas De Contexto Sensitivo, Autómatas De Tipo Push ...€¦ · Autómatas Del Tipo Push-Down Doble INFORMACION. Una transición consulta el estado, el símbolo de entrada](https://reader034.fdocument.pub/reader034/viewer/2022050201/5f54dacc2bdb7c4c1e4ccfb9/html5/thumbnails/27.jpg)
![Page 28: Gramáticas De Contexto Sensitivo, Autómatas De Tipo Push ...€¦ · Autómatas Del Tipo Push-Down Doble INFORMACION. Una transición consulta el estado, el símbolo de entrada](https://reader034.fdocument.pub/reader034/viewer/2022050201/5f54dacc2bdb7c4c1e4ccfb9/html5/thumbnails/28.jpg)
Los autómatas lineales son autómatas de pila deterministas que a lo largo de su
computación sólo hacen un ``cambio de turno''. A grandes rasgos, esto significa que
toda computación consiste de un procedimiento de empilar
consecutivamente para después pasar a desempilar.
28
Autómata Lineal
![Page 29: Gramáticas De Contexto Sensitivo, Autómatas De Tipo Push ...€¦ · Autómatas Del Tipo Push-Down Doble INFORMACION. Una transición consulta el estado, el símbolo de entrada](https://reader034.fdocument.pub/reader034/viewer/2022050201/5f54dacc2bdb7c4c1e4ccfb9/html5/thumbnails/29.jpg)
29
AUTÓMATA LINEAL CON FRONTERA
Es una tupla (Q, X, Σ, q 0, M L, M R, δ, F)
Q es un conjunto finito de estadosX es el alfabeto de cinta
Σ es el alfabeto de entrada
q 0 es el estado inicial
M L es el marcador extremo izquierdo
M R es el marcador extremo derecho donde M R ≠ M L
δ es una función de transición que mapea cada par (estado, símbolo de la cinta) a (estado, símbolo de cinta, Constant 'c') donde c puede ser 0 o 1 o -1
F es el conjunto de estados finales
![Page 30: Gramáticas De Contexto Sensitivo, Autómatas De Tipo Push ...€¦ · Autómatas Del Tipo Push-Down Doble INFORMACION. Una transición consulta el estado, el símbolo de entrada](https://reader034.fdocument.pub/reader034/viewer/2022050201/5f54dacc2bdb7c4c1e4ccfb9/html5/thumbnails/30.jpg)
30
![Page 31: Gramáticas De Contexto Sensitivo, Autómatas De Tipo Push ...€¦ · Autómatas Del Tipo Push-Down Doble INFORMACION. Una transición consulta el estado, el símbolo de entrada](https://reader034.fdocument.pub/reader034/viewer/2022050201/5f54dacc2bdb7c4c1e4ccfb9/html5/thumbnails/31.jpg)
Referencias× http://www.exa.unicen.edu.a
r/catedras/ccomp1/ApunteGSC.pdf
× http://delta.cs.cinvestav.mx/~gmorales/ta/node15.html
× G. E. R´ev´esz, Introduction to Formal Languages, Dover Publications (1991).
31