18
Expresiones Regulares y Gramáticas Regulares Bismark Montero 12-0627 Johanny Saul Novas 12-0537

Expresiones regulares y gramáticas

Embed Size (px)

Citation preview

Page 1: Expresiones regulares y gramáticas

Expresiones Regulares y Gramáticas

Regulares

Bismark Montero 12-0627

Johanny Saul Novas 12-0537

Page 2: Expresiones regulares y gramáticas

Lenguajes Regulares

• Los lenguajes regulares se llaman asíporque sus palabras contienen“regularidades” o repeticiones de losmismos componentes, como porejemplo en el lenguaje L1 siguiente:

• L1 = {ab, abab, ababab, abababab, . . .}

• Σ∪ {“∧”, “+”, “•”, “∗”, “(”, “)”, “Φ”}

Page 3: Expresiones regulares y gramáticas

Definición formal de Lenguajes Regulares• Un lenguaje L es regular si y sólo si se cumple al menos una de las condiciones

siguientes:

• L es finito;

• L es la unión o la concatenación de otros lenguajes regulares R1 y R2, L = R1 ∪ R2 o

• L = R1R2 respectivamente.

• L es la cerradura de Kleene de algún lenguaje regular, L = R∗.

Page 4: Expresiones regulares y gramáticas

Expresiones regulares

• La notación de conjuntos nos permite describir los lenguajes regulares, peronosotros quisiéramos una notación en que las representaciones de loslenguajes fueran simplemente texto (cadenas de caracteres).

Page 5: Expresiones regulares y gramáticas

Significado de las ER

• Las ER son simplementeformulas cuyo propósito esrepresentar cada una de ellasun lenguaje. Así, elsignificado de una ER essimplemente el lenguaje queella representa.

• Por ejemplo, la ER “Φ”representa el conjunto vacío{}.

Page 6: Expresiones regulares y gramáticas

Metodología de diseño de las ER

• Al tratar de encontrar una ER para un lenguaje dado, mientras mascomplejo sea el lenguaje es obvio que resulta mas difícil encontrar por puraintuición dicha ER.

Page 7: Expresiones regulares y gramáticas

Equivalencias de Expresiones Regulares

• Las expresiones regulares no representanen forma única a un lenguaje -esto es, lafunción L : ER →2 Σ∗.

Page 8: Expresiones regulares y gramáticas

Cont.…

• Esto quiere decir que puede haber varias ER para un mismo lenguaje, lo cualdesde luego no es conveniente, pues al ver dos ER distintas

• no podemos a un estar seguros de que representan dos lenguajes distintos.Por ejemplo, las ER

• (a + b)∗ y (a∗b∗)∗

• representan el mismo lenguaje.

Page 9: Expresiones regulares y gramáticas

A continuación damos una lista de las principales equivalencias de ER, clasificadas en 5

grupos:

• 1. R + S = S + R, (R + S) + T = R + (S + T), R + Φ = Φ + R = R, R + R = R

• 2. R • ∧ = ∧ • R = R, R • Φ = Φ • R = Φ, (R • S) • T = R • (S • T)

• 3. R • (S + T) = R • S + R • T, (S + T) • R = S • R + T • R

• 4. R∗ = R∗ • R∗ = (R∗)∗ = (∧ + R)∗, Φ∗ = ∧∗ = ε

• 5. R∗ = ∧ + RR∗

Page 10: Expresiones regulares y gramáticas

Equivalencia de expresiones regulares y autómatas finitos

• Aun cuando por varios ejemplos hemos visto que lenguajes representadospor expresiones regulares son aceptados por autómatas finitos, no hemosprobado que para cualquier expresión regular exista un autómata finitoequivalente, y viceversa. Esto se establece en el siguiente:

• Teorema de Kleene.- Un lenguaje es regular si y solo si es aceptado poralgún autómata finito.

Page 11: Expresiones regulares y gramáticas

Cont.… Ejemplo:

Page 12: Expresiones regulares y gramáticas

Conversion de ER a AF

• La prueba de que si un lenguaje es regular entonces es aceptado por un AFconsiste en dar un procedimiento para transformar en forma sistemáticauna expresión regular en un autómata finito que acepte su lenguaje.

Page 13: Expresiones regulares y gramáticas

Conversión de AF a ER

• La prueba de la parte “si” del teorema consiste en dar un procedimientopara transformar en forma sistemática un autómata finito en una expresiónregular equivalente. Un procedimiento para hacerlo consiste en ireliminando gradualmente nodos de una GT, que inicialmente es el AFN quese quiere transformar, hasta que únicamente queden un nodo inicial y unnodo final.

Page 14: Expresiones regulares y gramáticas
Page 15: Expresiones regulares y gramáticas
Page 16: Expresiones regulares y gramáticas

Gramáticas regulares

Page 17: Expresiones regulares y gramáticas

Gramáticas regulares

• Es una gramática formal (N, Σ, P, S) que puede ser clasificada como regularizquierda o regular derecha. Las gramáticas regulares sólo pueden generar alos lenguajes regulares de manera similar a los autómatas finitos y lasexpresiones regulares.

Page 18: Expresiones regulares y gramáticas

Ejemplo.- Sea una gramática con las siguientes reglas:

• 1. S → aA

• 2. S → bA

• 3. A → aB

• 4. A → bB

• 5. A → a

• 6. B → aA

• 7. B → bA