SlideShare a Scribd company logo
1 of 15
Expresiones   Regulares   y
         Gramáticas
Regulares.
Lenguajes Regulares
• Los lenguajes regulares se llaman así porque sus palabras contienen
  “regularidades” o repeticiones de los mismos componentes, como
  por ejemplo en el lenguaje L1 siguiente:
                L1 = {ab, abab, ababab, abababab, . . .}.
Definición formal de Lenguajes
Regulares
• Definición.- 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´on 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∗
•.
• Esta definición nos permite construir expresiones en la notación de
  conjuntos que representan lenguajes regulares.
Expresiones regulares
• Definición.- Sea Σ un alfabeto. El conjunto ER de las expresiones
  regulares sobre Σ contiene las cadenas en el alfabeto Σ∪ {“∧”, “+”, “•”,
  “∗”, “(”, “)”, “Φ”} que cumplen con lo siguiente:
1. “∧” y “Φ” ∈ ER
2. Si σ ∈ Σ, entonces σ ∈ ER.
3. Si E1, E2 ∈ ER, entonces “(”E1“+”E2“)” ∈ ER, “(”E1“•”E2“)” ∈ ER,
“(”E1“)∗”∈ ER.
Significado de las ER
• Las ER son simplemente fórmulas cuyo propósito es representar cada
  una de ellas un lenguaje. Así, el significado de una ER es simplemente
  el lenguaje que ella representa.
• Por ejemplo, la ER “Φ” representa el conjunto vacío {}.
Calcular el significado de una ER
• Para calcular el significado de una ER en particular, se aplica a ella la
  función L. Las
• ecuaciones dadas arriba se aplican repetidamente, hasta que el
  simbolo L desaparezca.
• Ejemplo.- El significado de la ER “(((a + b)) • a)” se calcula de la
  manera siguiente:
• L(“(((a + b)) • a)”) = L(“((a + b))”)L(“a”) -usando 4,
• = L(“(a + b)”){a} -por 6 y 3,
• = (L(“a”) *L(“b”)){a} -aplicando 5,
• = ({a} [ {b}){a} = {a, b}{a} -usando 3 y simplificando.
Metodología de diseño de las ER
• Una técnica que funciona en muchos casos consiste en determinar
  primero la estructura de la ER, dejando unos “huecos” pendientes
  para resolverse luego. Estos huecos, que llamaremos contextos, son
  también lenguajes para los que habría que encontrar una ER.
Equivalencias de Expresiones
Regulares
• Las expresiones regulares no representan en forma única a un
  lenguaje -esto es, la función L : ER !2 descrita arriba no es inyectiva.
  Esto quiere decir que puede haber varias ER para un mismo lenguaje,
  lo cual desde luego no es conveniente, pues al ver dos ER distintas no
  podemos aun estar seguros de que representan dos lenguajes
  distintos. Por ejemplo, las ER (a + b) y (ab) representan el mismo
  lenguaje.
Límites de las representaciones
textuales
• Nos podemos preguntar que tantos lenguajes se pueden representar
  con las ER. En otras secciones mostraremos que dichos lenguajes
  coinciden con los que pueden ser aceptados por algún autómata
  finito. Por lo pronto, en esta sección vamos a establecer un límite que
  existe no solamente para las ER, sino para cualquier forma de
  representar lenguajes mediante texto
• Por ejemplo, el conjunto de todas las palabras formadas por a’s y b’s,
  que es el conjunto infinito {", a, b, ab, ba, aaa, aab, . . .}, puede ser
  representado mediante la cadena de caracteres “{a, b}”, que es una
  palabra formada por caracteres del alfabeto {“a”,“b”,“{”,“}”,“”, “,”}.
Equivalencia de expresiones regulares y
autómatas
finitos
• A un cuando por varios ejemplos hemos visto que lenguajes
  representados por expresiones regulares son aceptados por
  autómatas finitos, no hemos probado que para cualquier expresión
  regular exista un autómata finito equivalente, y viceversa. Esto se
  establece en el siguiente.
• Teorema de Kleene.- Un lenguaje es regular si y sólo si es aceptado
  por algún autómata finito.
Conversión de ER a AF
• La prueba de que si un lenguaje es regular entonces es aceptado por
  un AF consiste en dar un procedimiento para transformar en forma
  sistemática una expresión regular en un autómata finito que acepte
  su lenguaje.
Conversión de AF a ER
• La prueba de la parte “si” del teorema consiste en dar un
  procedimiento para transformar en forma sistemática un autómata
  finito en una expresión regular equivalente. Un procedimiento para
  hacerlo consiste en ir eliminando gradualmente nodos de una GT, que
  inicialmente es el AFN que se quiere transformar, hasta que
  únicamente queden un nodo inicial y un nodo final.
Gramáticas regulares
• La representación de los lenguajes regulares que aquí estudiaremos
  se fundamenta en la noción de gramática formal. Intuitivamente, una
  gramática es un conjunto de reglas para formar correctamente las
  frases de un lenguaje; así tenemos la gramática del español, del
  francés, etc. La formalización que presentaremos de la noción de
  gramática es debida a N.
• Chomsky [4], y está basada en las llamadas reglas gramaticales
Gramáticas regulares
• Nosotros nos vamos a interesar por el momento en las gramáticas
  cuyas reglas son de la forma A ! aB o bien A ! a, donde A y B son
  variables, y a es un carácter terminal. A estas gramáticas se les llama
  regulares.
• Definición.- Una gramática regular es un cuádruplo (V,,R, S) en donde:
• V es un alfabeto de variables,
• es un alfabeto de constantes,
• R, el conjunto de reglas, es un subconjunto finito de V × (V [ ).
• S, el símbolo inicial, es un elemento de V .
• Por ejemplo, la gramática que presentamos arriba se representaría
  formalmente como:
• ({S, A,B}, {a, b}, {(S, aA), (S, bA), (A, aB), (A, bB), (A, a), (B, aA), (B, bA)},
  S)

More Related Content

What's hot

Gramática de contexto libre abel rodriguez (08 1297)
Gramática de contexto libre abel rodriguez (08 1297)Gramática de contexto libre abel rodriguez (08 1297)
Gramática de contexto libre abel rodriguez (08 1297)
abelrod12
 
Expresiones regulares y grámaticas regulares ariel acosta
Expresiones regulares y grámaticas regulares ariel acosta Expresiones regulares y grámaticas regulares ariel acosta
Expresiones regulares y grámaticas regulares ariel acosta
franki3536
 
Expresiones regulares y gramáticas
Expresiones regulares y gramáticasExpresiones regulares y gramáticas
Expresiones regulares y gramáticas
Santiago Ramirez
 
Alfabetos-Lenguajes y Automatas 1
Alfabetos-Lenguajes y Automatas 1Alfabetos-Lenguajes y Automatas 1
Alfabetos-Lenguajes y Automatas 1
Osiris Mirerus
 
Autómatas Finitos Deterministas y Lenguajes Formales
Autómatas Finitos Deterministas y Lenguajes FormalesAutómatas Finitos Deterministas y Lenguajes Formales
Autómatas Finitos Deterministas y Lenguajes Formales
Sandy Rafael Garcia
 
Lenguajes regulares
Lenguajes regularesLenguajes regulares
Lenguajes regulares
Kenia Adams
 
Automatas-Lenguajes1-1 (1).pdf
Automatas-Lenguajes1-1 (1).pdfAutomatas-Lenguajes1-1 (1).pdf
Automatas-Lenguajes1-1 (1).pdf
RamosDiez
 
Alfabeto, Cadenas, Lenguajes, y Problemas
Alfabeto, Cadenas, Lenguajes, y ProblemasAlfabeto, Cadenas, Lenguajes, y Problemas
Alfabeto, Cadenas, Lenguajes, y Problemas
Raul
 

What's hot (20)

Gramática de contexto libre abel rodriguez (08 1297)
Gramática de contexto libre abel rodriguez (08 1297)Gramática de contexto libre abel rodriguez (08 1297)
Gramática de contexto libre abel rodriguez (08 1297)
 
Expresiones regulares y grámaticas regulares ariel acosta
Expresiones regulares y grámaticas regulares ariel acosta Expresiones regulares y grámaticas regulares ariel acosta
Expresiones regulares y grámaticas regulares ariel acosta
 
Equivalencia de autómatas finitos y expresiones regulares.
Equivalencia de autómatas finitos y expresiones regulares.Equivalencia de autómatas finitos y expresiones regulares.
Equivalencia de autómatas finitos y expresiones regulares.
 
Expresiones regulares y gramáticas
Expresiones regulares y gramáticasExpresiones regulares y gramáticas
Expresiones regulares y gramáticas
 
Alfabetos-Lenguajes y Automatas 1
Alfabetos-Lenguajes y Automatas 1Alfabetos-Lenguajes y Automatas 1
Alfabetos-Lenguajes y Automatas 1
 
m discretas
m discretasm discretas
m discretas
 
Gramática y autómatas
Gramática y autómatasGramática y autómatas
Gramática y autómatas
 
De palabras y lenguajes
De palabras y lenguajesDe palabras y lenguajes
De palabras y lenguajes
 
Alfabetos
AlfabetosAlfabetos
Alfabetos
 
Autómatas Finitos Deterministas y Lenguajes Formales
Autómatas Finitos Deterministas y Lenguajes FormalesAutómatas Finitos Deterministas y Lenguajes Formales
Autómatas Finitos Deterministas y Lenguajes Formales
 
Lenguajes regulares
Lenguajes regularesLenguajes regulares
Lenguajes regulares
 
Lenguajes formales
Lenguajes formalesLenguajes formales
Lenguajes formales
 
Automatas-Lenguajes1-1 (1).pdf
Automatas-Lenguajes1-1 (1).pdfAutomatas-Lenguajes1-1 (1).pdf
Automatas-Lenguajes1-1 (1).pdf
 
Presentacion automata grupo 1 unibe 02-02-2018
Presentacion automata grupo 1   unibe 02-02-2018Presentacion automata grupo 1   unibe 02-02-2018
Presentacion automata grupo 1 unibe 02-02-2018
 
Unidad 7 lenguajes gramaticas y automatas
Unidad 7 lenguajes gramaticas y automatasUnidad 7 lenguajes gramaticas y automatas
Unidad 7 lenguajes gramaticas y automatas
 
Alfabeto, Cadenas, Lenguajes, y Problemas
Alfabeto, Cadenas, Lenguajes, y ProblemasAlfabeto, Cadenas, Lenguajes, y Problemas
Alfabeto, Cadenas, Lenguajes, y Problemas
 
Unidad 6 introduccion a los lenguajes formales
Unidad 6 introduccion a los lenguajes formalesUnidad 6 introduccion a los lenguajes formales
Unidad 6 introduccion a los lenguajes formales
 
Teoria de Automatas & Lenguajes Formales
Teoria de Automatas & Lenguajes FormalesTeoria de Automatas & Lenguajes Formales
Teoria de Automatas & Lenguajes Formales
 
ESPRESIONES REGULARES
ESPRESIONES REGULARESESPRESIONES REGULARES
ESPRESIONES REGULARES
 
Gramaticas y lic
Gramaticas y licGramaticas y lic
Gramaticas y lic
 

Similar to Expresiones regulares y gramáticas

Expresiones regulares fin
Expresiones regulares finExpresiones regulares fin
Expresiones regulares fin
mariellitaocj
 
Automatas y compiladores clase2
Automatas y compiladores clase2Automatas y compiladores clase2
Automatas y compiladores clase2
Germania Rodriguez
 
Lema de bombeo
Lema de bombeoLema de bombeo
Lema de bombeo
Omega Tech
 

Similar to Expresiones regulares y gramáticas (20)

Expresiones regulares2.pdf
Expresiones regulares2.pdfExpresiones regulares2.pdf
Expresiones regulares2.pdf
 
S03.s1 - Material.pdf
S03.s1 - Material.pdfS03.s1 - Material.pdf
S03.s1 - Material.pdf
 
Lenguajes regulares
Lenguajes regularesLenguajes regulares
Lenguajes regulares
 
Lenguaje de operaciones segunda anny jimenez. ppt
Lenguaje de operaciones segunda anny jimenez. pptLenguaje de operaciones segunda anny jimenez. ppt
Lenguaje de operaciones segunda anny jimenez. ppt
 
Lenguajes formales
Lenguajes formalesLenguajes formales
Lenguajes formales
 
Presentación 2
Presentación 2Presentación 2
Presentación 2
 
Lógica
Lógica Lógica
Lógica
 
Gramaticas
GramaticasGramaticas
Gramaticas
 
Expresiones Regulares
Expresiones RegularesExpresiones Regulares
Expresiones Regulares
 
Lenguajes formales y teoría de autómatas I.pdf
Lenguajes formales y teoría de autómatas I.pdfLenguajes formales y teoría de autómatas I.pdf
Lenguajes formales y teoría de autómatas I.pdf
 
Conceptos Unidad 1 Lenguajes Automatas Introducción a la Teoría de Lenguaje...
Conceptos Unidad 1 Lenguajes Automatas Introducción  a  la Teoría de Lenguaje...Conceptos Unidad 1 Lenguajes Automatas Introducción  a  la Teoría de Lenguaje...
Conceptos Unidad 1 Lenguajes Automatas Introducción a la Teoría de Lenguaje...
 
Automatas
AutomatasAutomatas
Automatas
 
Expresiones regulares fin
Expresiones regulares finExpresiones regulares fin
Expresiones regulares fin
 
Portafolio Lenguajes y Autómatas Unidad 1
Portafolio Lenguajes y Autómatas Unidad 1Portafolio Lenguajes y Autómatas Unidad 1
Portafolio Lenguajes y Autómatas Unidad 1
 
Tipos de lenguaje formal según Chomsky
Tipos de lenguaje formal según ChomskyTipos de lenguaje formal según Chomsky
Tipos de lenguaje formal según Chomsky
 
S02.s1 - Material.pdf
S02.s1 - Material.pdfS02.s1 - Material.pdf
S02.s1 - Material.pdf
 
Automatas y compiladores clase2
Automatas y compiladores clase2Automatas y compiladores clase2
Automatas y compiladores clase2
 
Lenguajes y Grmaticas.pdf
Lenguajes y Grmaticas.pdfLenguajes y Grmaticas.pdf
Lenguajes y Grmaticas.pdf
 
lenguajes formales
lenguajes formaleslenguajes formales
lenguajes formales
 
Lema de bombeo
Lema de bombeoLema de bombeo
Lema de bombeo
 

Expresiones regulares y gramáticas

  • 1. Expresiones Regulares y Gramáticas Regulares.
  • 2. Lenguajes Regulares • Los lenguajes regulares se llaman así porque sus palabras contienen “regularidades” o repeticiones de los mismos componentes, como por ejemplo en el lenguaje L1 siguiente: L1 = {ab, abab, ababab, abababab, . . .}.
  • 3. Definición formal de Lenguajes Regulares • Definición.- 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´on 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∗ •. • Esta definición nos permite construir expresiones en la notación de conjuntos que representan lenguajes regulares.
  • 4. Expresiones regulares • Definición.- Sea Σ un alfabeto. El conjunto ER de las expresiones regulares sobre Σ contiene las cadenas en el alfabeto Σ∪ {“∧”, “+”, “•”, “∗”, “(”, “)”, “Φ”} que cumplen con lo siguiente: 1. “∧” y “Φ” ∈ ER 2. Si σ ∈ Σ, entonces σ ∈ ER. 3. Si E1, E2 ∈ ER, entonces “(”E1“+”E2“)” ∈ ER, “(”E1“•”E2“)” ∈ ER, “(”E1“)∗”∈ ER.
  • 5. Significado de las ER • Las ER son simplemente fórmulas cuyo propósito es representar cada una de ellas un lenguaje. Así, el significado de una ER es simplemente el lenguaje que ella representa. • Por ejemplo, la ER “Φ” representa el conjunto vacío {}.
  • 6. Calcular el significado de una ER • Para calcular el significado de una ER en particular, se aplica a ella la función L. Las • ecuaciones dadas arriba se aplican repetidamente, hasta que el simbolo L desaparezca. • Ejemplo.- El significado de la ER “(((a + b)) • a)” se calcula de la manera siguiente: • L(“(((a + b)) • a)”) = L(“((a + b))”)L(“a”) -usando 4, • = L(“(a + b)”){a} -por 6 y 3, • = (L(“a”) *L(“b”)){a} -aplicando 5, • = ({a} [ {b}){a} = {a, b}{a} -usando 3 y simplificando.
  • 7. Metodología de diseño de las ER • Una técnica que funciona en muchos casos consiste en determinar primero la estructura de la ER, dejando unos “huecos” pendientes para resolverse luego. Estos huecos, que llamaremos contextos, son también lenguajes para los que habría que encontrar una ER.
  • 8. Equivalencias de Expresiones Regulares • Las expresiones regulares no representan en forma única a un lenguaje -esto es, la función L : ER !2 descrita arriba no es inyectiva. Esto quiere decir que puede haber varias ER para un mismo lenguaje, lo cual desde luego no es conveniente, pues al ver dos ER distintas no podemos aun estar seguros de que representan dos lenguajes distintos. Por ejemplo, las ER (a + b) y (ab) representan el mismo lenguaje.
  • 9. Límites de las representaciones textuales • Nos podemos preguntar que tantos lenguajes se pueden representar con las ER. En otras secciones mostraremos que dichos lenguajes coinciden con los que pueden ser aceptados por algún autómata finito. Por lo pronto, en esta sección vamos a establecer un límite que existe no solamente para las ER, sino para cualquier forma de representar lenguajes mediante texto • Por ejemplo, el conjunto de todas las palabras formadas por a’s y b’s, que es el conjunto infinito {", a, b, ab, ba, aaa, aab, . . .}, puede ser representado mediante la cadena de caracteres “{a, b}”, que es una palabra formada por caracteres del alfabeto {“a”,“b”,“{”,“}”,“”, “,”}.
  • 10. Equivalencia de expresiones regulares y autómatas finitos • A un cuando por varios ejemplos hemos visto que lenguajes representados por expresiones regulares son aceptados por autómatas finitos, no hemos probado que para cualquier expresión regular exista un autómata finito equivalente, y viceversa. Esto se establece en el siguiente. • Teorema de Kleene.- Un lenguaje es regular si y sólo si es aceptado por algún autómata finito.
  • 11. Conversión de ER a AF • La prueba de que si un lenguaje es regular entonces es aceptado por un AF consiste en dar un procedimiento para transformar en forma sistemática una expresión regular en un autómata finito que acepte su lenguaje.
  • 12. Conversión de AF a ER • La prueba de la parte “si” del teorema consiste en dar un procedimiento para transformar en forma sistemática un autómata finito en una expresión regular equivalente. Un procedimiento para hacerlo consiste en ir eliminando gradualmente nodos de una GT, que inicialmente es el AFN que se quiere transformar, hasta que únicamente queden un nodo inicial y un nodo final.
  • 13. Gramáticas regulares • La representación de los lenguajes regulares que aquí estudiaremos se fundamenta en la noción de gramática formal. Intuitivamente, una gramática es un conjunto de reglas para formar correctamente las frases de un lenguaje; así tenemos la gramática del español, del francés, etc. La formalización que presentaremos de la noción de gramática es debida a N. • Chomsky [4], y está basada en las llamadas reglas gramaticales
  • 14. Gramáticas regulares • Nosotros nos vamos a interesar por el momento en las gramáticas cuyas reglas son de la forma A ! aB o bien A ! a, donde A y B son variables, y a es un carácter terminal. A estas gramáticas se les llama regulares.
  • 15. • Definición.- Una gramática regular es un cuádruplo (V,,R, S) en donde: • V es un alfabeto de variables, • es un alfabeto de constantes, • R, el conjunto de reglas, es un subconjunto finito de V × (V [ ). • S, el símbolo inicial, es un elemento de V . • Por ejemplo, la gramática que presentamos arriba se representaría formalmente como: • ({S, A,B}, {a, b}, {(S, aA), (S, bA), (A, aB), (A, bB), (A, a), (B, aA), (B, bA)}, S)