• No se han encontrado resultados

CI 3725 Clase 03 pdf

N/A
N/A
Protected

Academic year: 2020

Share "CI 3725 Clase 03 pdf"

Copied!
52
0
0

Texto completo

(1)TRADUCTORES E INTERPRETADORES Clase 3: Gramáticas Regulares y Equivalencias. Profs. Carlos Pérez y Ricardo Monascal.

(2) Agenda • Gramáticas (Repaso). • Tipos de Gramáticas Regulares. • Equivalencia entre Gramáticas Regulares y Lenguajes Regulares. • Equivalencias entre Gramáticas.. Profs. Carlos Pérez y Ricardo Monascal.

(3) Gramáticas (Repaso) • Recordando…. Profs. Carlos Pérez y Ricardo Monascal.

(4) Profs. Carlos Pérez y Ricardo Monascal.

(5) Gramáticas (Repaso) • Recordando… • Una gramática G es una 4-tupla con la siguiente forma:. G  (,V , P, S ) • Σ es el alfabeto del lenguaje (símbolos terminales). • V es el alfabeto de símbolos no terminales. • P es el conjunto de producciones, de la forma:. P  {    (  V )* V  (  V )*    (  V )*} • S es el símbolo inicial y se debe cumplir que S ∈ V. Profs. Carlos Pérez y Ricardo Monascal.

(6) Tipos de Gramáticas Regulares • Una gramática G  (,V , P, S ) es regular si las producciones son de la forma:. P  {    V    (* V  * )}. Profs. Carlos Pérez y Ricardo Monascal.

(7) Tipos de Gramáticas Regulares • Una gramática G  (,V , P, S ) es regular si las producciones son de la forma:. P  {    V    (* V  * )} • O también…. P  {    V    (V  *  * )}. Profs. Carlos Pérez y Ricardo Monascal.

(8) Tipos de Gramáticas Regulares • Una gramática G  (,V , P, S ) es regular si las producciones son de la forma:. P  {    V    (* V  * )} • O también…. P  {    V    (V  *  * )}. ¡DERECHA. IZQUIERDA!. Profs. Carlos Pérez y Ricardo Monascal.

(9) Tipos de Gramáticas Regulares • Gramática Lineal Derecha: P  {    V    (* V  * )}. • Gramática Lineal Izquierda:. He ahí la diferencia…. P  {    V    (V  *  * )}. Profs. Carlos Pérez y Ricardo Monascal.

(10) Tipos de Gramáticas Regulares • Gramática Lineal Derecha: P  {    V    (* V  * )}. • Gramática Lineal Izquierda: P  {    V    (V  *  * )}. • ¿Y son equivalentes? ¿Cómo lo probamos? Profs. Carlos Pérez y Ricardo Monascal.

(11) Equivalencia entre Gramáticas Regulares y Lenguajes Regulares. • Recordemos que L(G) es el lenguaje generado por la gramática G.. Profs. Carlos Pérez y Ricardo Monascal.

(12) Equivalencia entre Gramáticas Regulares y Lenguajes Regulares. • Recordemos que L(G) es el lenguaje generado por la gramática G. • Demostrar directamente la equivalencia entre los Lenguajes Regulares y el conjunto de los lenguajes L(G), tales que G es una gramática regular, puede llegar a ser complicado.. Profs. Carlos Pérez y Ricardo Monascal.

(13) Equivalencia entre Gramáticas Regulares y Lenguajes Regulares. • Recordemos que L(G) es el lenguaje generado por la gramática G. • Demostrar directamente la equivalencia entre los Lenguajes Regulares y el conjunto de los lenguajes L(G), tales que G es una gramática regular, puede llegar a ser complicado. • ¡Pero hay otro modo!. Profs. Carlos Pérez y Ricardo Monascal.

(14) Equivalencia entre Gramáticas Regulares y Lenguajes Regulares. • Demostraremos entonces que las gramáticas regulares son equivalentes, en poder de representación (lenguajes que definen), a las expresiones regulares.. Profs. Carlos Pérez y Ricardo Monascal.

(15) Equivalencia entre Gramáticas Regulares y Lenguajes Regulares. • Demostraremos entonces que las gramáticas regulares son equivalentes, en poder de representación (lenguajes que definen), a las expresiones regulares. • ¿Por qué?. Profs. Carlos Pérez y Ricardo Monascal.

(16) Equivalencia entre Gramáticas Regulares y Lenguajes Regulares. • Demostraremos primero que toda Expresión Regular tiene una Gramática Regular que genera el mismo lenguaje que la semántica de la expresión dada.. Profs. Carlos Pérez y Ricardo Monascal.

(17) Equivalencia entre Gramáticas Regulares y Lenguajes Regulares. • Demostraremos primero que toda Expresión Regular tiene una Gramática Regular que genera el mismo lenguaje que la semántica de la expresión dada. • Y nuevamente…. ¡INDUCCIÓN AL RESCATE! Profs. Carlos Pérez y Ricardo Monascal.

(18) Equivalencia entre Gramáticas Regulares y Lenguajes Regulares. Dada e, una Expresión Regular sobre Σ: • Caso base (e = λ): ¿Existe una Gramática Regular G, tal que L(G) = sem(λ)? Si… Cuando G = (Σ, {S}, {S → λ}, S) • Caso base (e = x , con x ∈ Σ): ¿Existe una Gramática Regular G, tal que L(G) = sem(x)? Si… Cuando G = (Σ, {S}, {S → x}, S). Profs. Carlos Pérez y Ricardo Monascal.

(19) Equivalencia entre Gramáticas Regulares y Lenguajes Regulares. Dada e, una Expresión Regular sobre Σ:. • Caso inductivo : Sean u y v, Expresiones Regulares con Gramáticas Regulares Gu y Gv, tales que:. Gu  (, Vu , Pu , Su ) Gv  (, Vv , Pv , Sv ) L(Gu )  sem(u) L(Gv )  sem(v) Profs. Carlos Pérez y Ricardo Monascal.

(20) Equivalencia entre Gramáticas Regulares y Lenguajes Regulares. Dada e, una Expresión Regular sobre Σ:. • Caso inductivo : Sean u y v, Expresiones Regulares que cumplan con lo anterior: – Caso e = u+v • Consideremos la gramática Ge = (Σ, Ve, Pe, Se). Ve  Vu  Vv  {S e } Pe  Pu  Pv  {S e  S u S v } Profs. Carlos Pérez y Ricardo Monascal.

(21) Equivalencia entre Gramáticas Regulares y Lenguajes Regulares. Dada e, una Expresión Regular sobre Σ:. • Caso inductivo : Sean u y v, Expresiones Regulares que cumplan con lo anterior: – Caso e = uv • Consideremos la gramática Ge = (Σ, Ve, Pe, Su). Ve  Vu  Vv Pe  ( Pu  Tu )  Pv  { A  S v A    Tu } • Donde: Tu  { A   A    Pu    *} Profs. Carlos Pérez y Ricardo Monascal.

(22) Equivalencia entre Gramáticas Regulares y Lenguajes Regulares. Dada e, una Expresión Regular sobre Σ:. • Caso inductivo : Sea u, una Expresión Regular que cumpla con lo anterior: – Caso e = u* • Consideremos la gramática Ge = (Σ, Ve, Pe, Se). Ve  Vu  {S e } Pe  ( Pu  Tu )  { A  S e A    Tu }  {S e  Su } • Donde: Tu  { A   A    Pu    *} Profs. Carlos Pérez y Ricardo Monascal.

(23) Equivalencia entre Gramáticas Regulares y Lenguajes Regulares. • Y esos son todos los casos a considerar.. Profs. Carlos Pérez y Ricardo Monascal.

(24) Equivalencia entre Gramáticas Regulares y Lenguajes Regulares. • Y esos son todos los casos a considerar. • ¿O acaso no? • ¿Y el caso de la Expresión Regular Ø?. Profs. Carlos Pérez y Ricardo Monascal.

(25) Equivalencia entre Gramáticas Regulares y Lenguajes Regulares. • Y esos son todos los casos a considerar. • ¿O acaso no? • ¿Y el caso de la Expresión Regular Ø? • Caso base (e = Ø): ¿Existe una Gramática Regular G, tal que L(G) = sem(Ø)? Si… Cuando G = (Σ, {S}, Ø, S) Profs. Carlos Pérez y Ricardo Monascal.

(26) Equivalencia entre Gramáticas Regulares y Lenguajes Regulares. • Y con eso, solo hemos demostrado una dirección. Toda Expresión Regular tiene una Gramática Regular que genera el mismo lenguaje que la semántica de la expresión.. Profs. Carlos Pérez y Ricardo Monascal.

(27) Equivalencia entre Gramáticas Regulares y Lenguajes Regulares. • Y con eso, solo hemos demostrado una dirección. Toda Expresión Regular tiene una Gramática Regular que genera el mismo lenguaje que la semántica de la expresión. • Ahora, debemos demostrar que toda Gramática Regular tiene una Expresión Regular, cuya semántica es el mismo lenguaje que la gramática genera.. Profs. Carlos Pérez y Ricardo Monascal.

(28) Equivalencia entre Gramáticas Regulares y Lenguajes Regulares. • Consideremos ecuaciones de expresiones regulares como una equivalencia de dos expresiones regulares donde pueden ocurren variables en ambos lados.. Profs. Carlos Pérez y Ricardo Monascal.

(29) Equivalencia entre Gramáticas Regulares y Lenguajes Regulares. • Consideremos ecuaciones de expresiones regulares como una equivalencia de dos expresiones regulares donde pueden ocurren variables en ambos lados. • Por ejemplo:. X  sX  t. A  1B  0C Xy  Zt  yX  tZ Profs. Carlos Pérez y Ricardo Monascal.

(30) Equivalencia entre Gramáticas Regulares y Lenguajes Regulares. • ¿Cómo resolverían la siguiente ecuación?. X  sX  t. Profs. Carlos Pérez y Ricardo Monascal.

(31) Equivalencia entre Gramáticas Regulares y Lenguajes Regulares. • Teorema de Arden.. X  sX  t  X  s * t X  s * t  X  sX  t. Profs. Carlos Pérez y Ricardo Monascal.

(32) Equivalencia entre Gramáticas Regulares y Lenguajes Regulares. • El objetivo es hallar una expresión regular a partir de una gramática dada cuya semántica sea igual al lenguaje generado por la última.. Profs. Carlos Pérez y Ricardo Monascal.

(33) Equivalencia entre Gramáticas Regulares y Lenguajes Regulares. • El objetivo es hallar una expresión regular a partir de una gramática dada cuya semántica sea igual al lenguaje generado por la última. • Una posible manera de hallar dicha expresión es construyendo un sistema de ecuaciones regulares a partir de las producciones de la gramática original.. Profs. Carlos Pérez y Ricardo Monascal.

(34) Equivalencia entre Gramáticas Regulares y Lenguajes Regulares. • El objetivo es hallar una expresión regular a partir de una gramática dada cuya semántica sea igual al lenguaje generado por la última. • Una posible manera de hallar dicha expresión es construyendo un sistema de ecuaciones regulares a partir de las producciones de la gramática original. • ¡Y resolver tal sistema para el símbolo inicial! Profs. Carlos Pérez y Ricardo Monascal.

(35) Equivalencia entre Gramáticas Regulares y Lenguajes Regulares. • ¡EL ALGORITMO! – Entrada: •. Una gramática G  (,V , P, S ). – Salida: •. Una expresión regular T(S) que represente L(G).. Profs. Carlos Pérez y Ricardo Monascal.

(36) Equivalencia entre Gramáticas Regulares y Lenguajes Regulares. • ¡EL ALGORITMO! 1. Para cada símbolo no terminal: •. • • •. Si existen dos o más producciones con dicho símbolo en el lado izquierdo, construir una regla con dicho símbolo del lado izquierdo y todos los lados derechos correspondientes, enlazados con (+). Reemplazar () con (=). Sustituir cada símbolo no terminal A por una variable T(A). Resolver posibles recursiones usando el Teorema de Arden. Profs. Carlos Pérez y Ricardo Monascal.

(37) Equivalencia entre Gramáticas Regulares y Lenguajes Regulares. • ¡EL ALGORITMO! 2. Mientras hayan variables en el lado derecho de la ecuación que define T(S): • •. •. Seleccionar una de estas variables, llámese T(A). Reemplazar toda ocurrencia de T(A) en el lado derecho de todas las ecuaciones por el lado derecho de la ecuación que la tiene como lado izquierdo. Resolver posibles recursiones usando el Teorema de Arden.. Profs. Carlos Pérez y Ricardo Monascal.

(38) Equivalencia entre Gramáticas Regulares y Lenguajes Regulares. • Ejemplo: Corrida en frío. S  aA | b A  aA | bB | c B  bA | a Profs. Carlos Pérez y Ricardo Monascal.

(39) Equivalencia entre Gramáticas Regulares y Lenguajes Regulares. • Ejemplo: Corrida en frío. S  aA  b A  aA  bB  c B  bA  a Profs. Carlos Pérez y Ricardo Monascal.

(40) Equivalencia entre Gramáticas Regulares y Lenguajes Regulares. • Ejemplo: Corrida en frío. S  aA  b A  aA  bB  c B  bA  a Profs. Carlos Pérez y Ricardo Monascal.

(41) Equivalencia entre Gramáticas Regulares y Lenguajes Regulares. • Ejemplo: Corrida en frío. T ( S )  aT ( A)  b T ( A)  aT ( A)  bT ( B)  c T ( B)  bT ( A)  a. Profs. Carlos Pérez y Ricardo Monascal.

(42) Equivalencia entre Gramáticas Regulares y Lenguajes Regulares. • Ejemplo: Corrida en frío. T ( S )  aT ( A)  b T ( A)  a * (bT ( B)  c) T ( B)  bT ( A)  a. Profs. Carlos Pérez y Ricardo Monascal.

(43) Equivalencia entre Gramáticas Regulares y Lenguajes Regulares. • Ejemplo: Corrida en frío. T ( S )  aT ( A)  b T ( A)  a * (bT ( B)  c) T ( B)  bT ( A)  a. Profs. Carlos Pérez y Ricardo Monascal.

(44) Equivalencia entre Gramáticas Regulares y Lenguajes Regulares. • Ejemplo: Corrida en frío. T ( S )  a(a * (bT ( B)  c))  b T ( B)  b(a * (bT ( B)  c))  a. Profs. Carlos Pérez y Ricardo Monascal.

(45) Equivalencia entre Gramáticas Regulares y Lenguajes Regulares. • Ejemplo: Corrida en frío. T ( S )  a(a * (bT ( B)  c))  b T ( B)  (ba * b)T ( B)  (ba * c  a). Profs. Carlos Pérez y Ricardo Monascal.

(46) Equivalencia entre Gramáticas Regulares y Lenguajes Regulares. • Ejemplo: Corrida en frío. T ( S )  a(a * (bT ( B)  c))  b T ( B)  (ba * b) * (ba * c  a). Profs. Carlos Pérez y Ricardo Monascal.

(47) Equivalencia entre Gramáticas Regulares y Lenguajes Regulares. • Ejemplo: Corrida en frío. T (S )  a(a * (b((ba * b) * (ba * c  a))  c))  b. Profs. Carlos Pérez y Ricardo Monascal.

(48) Equivalencia entre Gramáticas Regulares y Lenguajes Regulares. • Resta demostrar que el algoritmo es correcto…. Profs. Carlos Pérez y Ricardo Monascal.

(49) Equivalencia entre Gramáticas Regulares y Lenguajes Regulares. • Resta demostrar que el algoritmo es correcto… • ¡Pero la demostración es muy larga para la clase! – Habrá material al respecto en la página web del curso.. Profs. Carlos Pérez y Ricardo Monascal.

(50) Equivalencia entre Gramáticas • ¿Cómo demostramos que dos gramáticas, llámense G1 y G2, son equivalentes?. Profs. Carlos Pérez y Ricardo Monascal.

(51) Equivalencia entre Gramáticas • ¿Cómo demostramos que dos gramáticas, llámense G1 y G2, son equivalentes? – Demostrar que L(G1) y L(G2) son iguales. – Generalmente por doble inclusión.. Profs. Carlos Pérez y Ricardo Monascal.

(52) Equivalencia entre Gramáticas • ¿Cómo demostramos que dos gramáticas, llámense G1 y G2, son equivalentes? – Demostrar que L(G1) y L(G2) son iguales. – Generalmente por doble inclusión.. • El ejemplo lo verán en la práctica.. Profs. Carlos Pérez y Ricardo Monascal.

(53)

Referencias

Documento similar

Por todo ello se acentuan en el mundo juridico los caractères del lengua. je prescriptivo, en especial la falta de flexibilidad de los significados a -

De esta novedad de concebir lo que le rodea y concebirse a si mismo derivan grandes cuestiones importantes, de las cuales cabe destacar la importancia de la antropología, la cual

(1886-1887) encajarían bien en una antología de textos históricos. Sólo que para él la literatura es la que debe influir en la historia y no a la inversa, pues la verdad litera- ria

Habiendo organizado un movimiento revolucionario en Valencia a principios de 1929 y persistido en las reuniones conspirativo-constitucionalistas desde entonces —cierto que a aquellas

Se entenderá por necesidad terapéutica la facultad del médico para actuar profesional- mente sin informar antes al paciente, cuando por razones objetivas el conocimiento de su

cuarta, que las unidades que suministran el contenido a la moral, al igual que sus agentes, son 10s seres humanos individuales, y que en las valoraciones morales todo individuo ha de

Tras establecer un programa de trabajo (en el que se fijaban pre- visiones para las reuniones que se pretendían celebrar los posteriores 10 de julio —actual papel de los

Al considerar conjuntamente el número de asociaciones en las actividades (Tabla 11), en los motivos de realización (elección, obligatoriedad) se observa que la interacción