Teoría de Lenguajes

Anuncio
Teoría de Lenguajes
Clase Teórica 2
Gramáticas y Jerarquía de Chomsky
Primer cuartimestre 2014
Material compilado por el Profesor Julio Jacobo, a lo largo de distintas ediciones de la materia Teoría de Lenguajes en el
Departamento de Computación, Facultad de Ciencias Exactas y Naturales, Universidad de Buenos Aires.
Bibliografía: Capítulos 1 y 2 del libro
Introduction to Formal Language Theory Michael Harrison 1978- Addison Wesley
Gramáticas
Definición
Una gramática es una 4-upla G “ xVN , VT , P, Sy donde
VN es un conjunto de símbolos llamados no-terminales (o también, variables o categorías sintácticas)
VT es un conjunto de símbolos terminales (tal como lo era Σ en los ejemplos anteriores)
P es el conjunto de ”producciones”, el cual es un subconjunto finito de
˚
˚
˚
pVN Y VT q VN pVN Y VT q ˆ pVN Y VT q ,
estas producciones son entonces pares ordenados pα, βq, que usualmente son notados como α Ñ β.
S P VN es el símbolo distinguido de VN .
Forma sentencial de una gramática G “ xVN , VT , P, Sy
S es una forma sentencial de G.
Si αβγ es una forma sentencial de G, y pβ Ñ δq P P , entonces αδγ es también una forma sentencial de G.
Derivación directa en G
˚
Si αβγ P pVN Y VT q y pβ Ñ δq P P , se dice que αδγ se deriva directamente en G de αβγ y se denota como
αβγ Ñ αδγ
G
Definición
`
˚
Denotaremos con Ñ y con Ñ a las clausura transitiva y a la clausura transitiva y reflexiva de Ñ respectivamente.
G
G
G
Definición
k
Denotaremos con Ñ a la potencia k de la relación Ñ.
G
G
Definición
Lenguaje generado por una gramática G “ xVN , VT , P, Sy, el cual se denotará como L pGq,
!
)
`
L pGq “ α P VT˚ : S Ñ α
G
1
Clasificación de gramáticas (Chomsky)
Gramáticas regulares (tipo 3)
Si todas las producciones son de la forma A Ñ xB o A Ñ x, donde A, B P VN y x P VT˚ , entonces la gramática
es llamada ”lineal a derecha”.
si todas las producciones son de la forma A Ñ Bx o A Ñ x, donde A, B P VN y x P VT˚ , entonces la gramática es
llamada ”lineal a izquierda”.
ambos tipos de gramática son llamados regulares.
Gramáticas independientes del contexto (libres de contexto, tipo 2)
˚
Cada producción es de la forma A Ñ α, donde A P VN y α P pVN Y VT q .
Clasificación de gramáticas (Chomsky)
Dependientes del contexto (Sensitiva al contexto, tipo 1)
˚
Cada producción es de la forma α Ñ β, donde α, b P pVN Y VT q y |α| ď |β|. (Notar que esto impide la generación de
la cadena nula λ)
Sin restricciones (tipo 0)
No poseen ninguna restricción como las anteriores.
Un lenguaje generado por una gramática tipo t es llamado ”lenguaje t”, p.ej.: un lenguaje generado por una gramática
independiente del contexto es llamado también: ”lenguaje independiente del contexto”.
Alternativamente estos lenguajes son llamados tipo 3, 2, 1 y 0, respectivamente, p.ej.: un lenguaje generado por una
gramática regular es llamado también: ”lenguaje tipo 3”.
Ejemplo de gramática tipo 3 (regular):
Gramática
(
Gramática para generar an bm ck : m, n, k ě 1 , G “ xtS, A, B, Cu , ta, b, cu , S, P y, donde P está dado por
S Ñ aA
A Ñ aA
A Ñ aB
B Ñ bB
B Ñ bC
C Ñ cC
CÑc
derivación de aabbbbccc
S
Ñ aA
Ñ aabbB
Ñ aabbbbcC
Ñ aaB
Ñ aabbbB
Ñ aabbbbccC
Ejemplo de gramática tipo 2 (independiente del contexto)
Gramática
G “ xtE, T, F u , ta, `, ˚, p, qu , E, P y, donde P está dado por
E ÑE`T
EÑT
T ÑT ˚F
T ÑF
F Ñ pEq
F Ña
derivación de a ˚ pa ` aq
2
Ñ aabB
Ñ aabbbbC
Ñ aabbbbccc
E ÑT ÑT ˚F
Ñ T ˚ pEq Ñ F ˚ pEq
Ñ a ˚ pEq Ñ a ˚ pE ` T q
Ñ a ˚ pT ` T q Ñ a ˚ pF ` T q
Ñ a ˚ pa ` T q Ñ a ˚ pa ` F q
Ñ a ˚ pa ` aq
Ejemplo de gramática tipo 1 (dependiente del contexto):
Gramática
G “ xtS, B, Cu , ta, b, cu , S, P y, donde P está dado por
S Ñ aSBC
S Ñ abC
CB Ñ BC
bB Ñ bb
bC Ñ bc
cC Ñ cc
derivación de aaabbbccc:
SÑ
Ñ aSBC
Ñ aaabBCCBC
Ñ aaabbBCCC
Ñ aaabbbccC
Ñ aaSBCBC
Ñ aaabBCBCC
Ñ aaabbbCCC
Ñ aaabbbccc
Ñ aaabCBCBC
Ñ aaabBBCCC
Ñ aaabbbcCC
Ejemplo de gramática tipo 0 (sin restricciones):
Gramática
˚(
Gramática para generar ww : w P ta, bu G “ ptS, A, B, C, Du , ta, bu , S, P q, donde P está dado por
S Ñ CD
AD Ñ aD
C Ñ aCA BD Ñ bD
C Ñ bCB
Aa Ñ aA
Ab Ñ bA
Ba Ñ aB
Bb Ñ bB
CÑλ
DÑλ
derivación de abaaabaa
S
Ñ CD
Ñ abaCABAD
Ñ abaaAABaD
Ñ abaaaAABD
Ñ abaaabAAD
Ñ abaaabaaD
Ñ aCAD
Ñ abaaCAABAD
Ñ abaaAAaBD
Ñ abaaaAAbD
Ñ abaaabAaD
Ñ abaaabaa
3
Ñ abCBAD
Ñ abaaAABAD
Ñ abaaAaABD
Ñ abaaaAbAD
Ñ abaaabaAD
Descargar