ST0270-031

Clase 11
J.F. Cardona
Universidad EAFIT

23 de agosto de 2016

Agenda

1

Cap´ıtulo 2. Sintaxis
´ de lenguajes regulares e independientes de
Comparacion
contexto
´
Gramaticas
con expresiones regulares
Jerarqu´ıa de Chomsky

´ de lenguajes regulares e independientes Comparacion de contexto Propiedades de clausura de REG y CF reflexi o´ n R R ∈ REG L R ∈ CF estrella R ∗ ∈ REG L ∗ ∈ CF uni o´ n o concatenaci o´ n R1 ⊕ R2 ∈ REG L1 ⊕ L2 ∈ CF complemento ¬R ∈ REG ¬L < CF intersecci o´ n R1 ∩ R2 ∈ REG L1 ∩ L2 < CF L ∩ R ∈ CF .

h (an ) obtenida de la concatenacion de los caracteres individuales.w ) = h (v ). Si h (c ) =  . ai ∈ Σ es la cadena ´ de imagenes ´ h (a1 )h (a2 ) . . an . . el caracter es borrado. La imagen de la cadena fuente a1 a2 . . ´ es no-borrable si. .h (w ) . ´ de ´ de dos cadenas v y w es la concatenacion La imagen de la concatenacion ´ las imagenes de las cadenas: H (v . para ningun ´ caracter ´ Una transliteracion fuente c.´ de lenguajes regulares e independientes Comparacion de contexto ´ Trans-literacion ´ o homomorfismo alfabetico ´ Definicion. un elemento del ´ conjunto objetivo. Considere dos alfabetos: fuente Σ y el objetivo ∆. este es h (c ) =  . ´ ´ alfabetica ´ Una transliteracion es una funcion: h : Σ → ∆ ∪ {} ´ ´ o imagen del caracter La transliteracion c ∈ Σ es h (c ).

. . ω}. . ´ es Un ejemplo de transliteracion h (stxt the const. . 1. 0. . β. z . .´ Transliteracion Ejemplo ´ describe el manejo de ciertos La siguiente transliteracion ´ caracteres por impresoras ya obsoletas: h (c ) = c h (c ) = c h (c ) =  h (stxt) =  h (etxt) =  Si c ∈ {a . .  has value 3. . 9}. . .14 . Si c es una marca de puntuacion Si c ∈ {α. b . . ´ o un espacio.14 etxt) = the const. π has value 3. .

´ Gramaticas con expresiones regulares ´ Gramaticas independientes de contexto extendidas La legibilidad de las expresiones regulares son buenas para listas y estructuras similares. La parte derecha de una produccion . ´ Las gramaticas independientes de contexto son confusas para este tipo de casos. La idea es combinar expresiones regulares y reglas ´ ´ gramaticales en la notacion: ´ Gramaticas independientes de contexto extendidas o EBNF. ´ es una expresion ´ regular.

real y v para el nombre de una variable: ((c | i | r )v (. result. beta2.0 . v )∗ . int alpha. v . text2. r son char. gamma. i . )+ ´ por la gramatica ´ Esta lista puede ser definida tambien D → DE | E E → AN . real temp. N | v . int.0 . cuyo alfabeto Σ = {c .0 . r .0 } donde c . Esta puede ser construida con una expresion regular. i . A →c|i|r N → v.´ Gramaticas con expresiones regulares Ejemplo Considere una lista de declaraciones de variables: char text1.

Σ. . S ) que contiene exactamente | V | reglas cada una de la forma A → α. donde A es un non-terminal y α es una expresion regular del alfabeto V ∪ Σ.´ Gramaticas con expresiones regulares ´ Definicion ´ ´ Una gramatica independiente de contexto extendida o gramatica EBNF. P . G = (V .

´ Gramaticas con expresiones regulares ´ Derivacion La parte derecha α de una regla extendida A → α es una ´ regular. . la cual genera un conjunto infinito de expresion reglas: Cada una vista como la parte derecha de una regla no extendida teniendo muchas alternativas sin limite. . Por ejemplo: A → (aB )+ es el conjunto de reglas: A → aB | aBaB | . .

considere una regla A → α. cruz. ´ (choice): estrella. expresiones regulares.´ Gramaticas con expresiones regulares ´ Derivacion ´ puede ser definida para las gramaticas ´ La derivacion ´ via la nocion ´ de derivaciones para las extendidas tambien. union ´ Sea α0 una cadena derivada de α. donde α es una expresion ´ regular contiene operadores de eleccion ´ Esta expresion ´ y opcion. ´ regular. ´ Para una gramatica EBNF G. que no contiene ningun ´ operador de eleccion. Para cualquiera (posiblemente vac´ıas) cadenas δ y η existe ´ de un paso: una derivacion δA η ⇒ δα0 η .

´ Gramaticas con expresiones regulares ´ Derivacion ´ de multiples ´ Entonces podemos definir derivacion pasos iniciando desde el axioma y produciendo cadenas terminales. ´ y finalmente el lenguaje generado por una gramatica EBNF. . ´ ´ en el misma manera como gramaticas basicas.

´ Gramaticas con expresiones regulares Ejemplo ´ La gramatica G E → [+ | −]T ((+ | −)T )∗ T → F ((× | /)F )∗ F → (a |0 (0 E 0 )0 ) ´ izquierda La derivacion E ⇒T +T −T ⇒F +T −T ⇒a+T −T ⇒a+F −T ⇒a+a−T ⇒a+a−F ×F ⇒a+a−a×F ⇒a+a−a×a .

´ Gramaticas con expresiones regulares Ejemplo E + T − T F F F × a a a T F a .

´ En las gramaticas EBNF una forma diferente de ambiguedad ´ regular es ambigua. puede surgir si la expresion Por ejemplo la siguiente expresion regular es ambigua: a ∗ b | ab ∗ ´ Como consecuencia de lo anterior la gramatica extendida: S → a ∗ bS | ab ∗ S | c ´ es ambigua. Tambien .´ Gramaticas con expresiones regulares ¨ ´ Ambiguedad en gramaticas extendidas ´ Una gramatica ambigua permanece ambigua si es escrita ´ como una gramatica extendida.

´ ´ general. Donde 0 es la gramatica mas . ´ nombrados con numeros ´ Estan desde el 0 al 3. ´ de una gramatica ´ La clasificacion acuerdo a la jerarqu´ıa de ´ Chomsky es basado unicamente en la presencia de ciertos patrones en las producciones.Jerarqu´ıa de Chomsky ´ para PSG (Phrase Structure Es una esquema de clasificacion Grammar) y sus correspondientes PSL (Phrase Structure Language) que ellos generan. Los PSG pueden ser clasificados en una jerarqu´ıa.

´ Gramatica tipo 0 Nombre Sin restricciones Forma de las reglas β→α donde α. β ∈ (Σ ∪ V )+ Familia del lenguaje Recursivamente enumerable Tipo de reconocedor ´ Maquinas de Turing .

´ Gramatica tipo 1 Nombre Sensitiva al contexto Forma de las reglas β→α donde α. . Familia del lenguaje Contextual o dependiente del contexto Tipo de reconocedor ´ Maquinas de Turing con complejidad del espacio limitada por la longitud de la cadena de entrada. β ∈ (Σ ∪ V )+ y | β |≤| α |.

Tipo de reconocedor ´ Automata de pila.´ Gramatica tipo 2 Nombre Independiente al contexto o BNF Forma de las reglas A →α donde A es un non-terminal (A ∈ V) y α ∈ (Σ ∪ V )∗ . . Familia del lenguaje Independiente del contexto (CF) o algebraica.

´ Gramatica tipo 3 Nombre Regular o unilineal (lineal por la derecha o por la izquierda). . Tipo de reconocedor ´ Automata finito. Forma de las reglas Lineal por la derecha A → uB Lineal por la izquierda A → Bu donde A es un non-terminal (A ∈ V) y u ∈ Σ∗ y B ∈ (V ∪ ) Familia del lenguaje Regular REG o racional o de estado finito.

bC → bc 6.S → abC 3.CB → BC 4.Jerarqu´ıa de Chomsky ´ Ejemplo de una gramatica tipo 1 de lenguaje de potencia igual de tres elementos L = {a n b n c n | n ≥ l } ´ Este es generado por la gramatica sensitiva al contexto: 1.cC → cc .S → aSBC 2.bB → bb 5.

Jerarqu´ıa de Chomsky ´ ´ Ejemplo. A 0 a→ a B 0 a→ b A 0 a → aa A 0 b → ab B 0 a → ba B 0 b → bb Xa → ca Xb → cb . Gramatica tipo 1 de replica con centro El lenguaje L = {ycy | y ∈ {a . ´ La gramatica: S→X a X → aXA X → bXB XA → XA 0 XB → XB 0 A 0A A 0B B 0A B 0B → AA 0 → BA 0 → AB 0 → BB 0 genera frase de dicho lenguaje L . b }+ } contiene frases como: aabcaab.