Vous êtes sur la page 1sur 9

PONTIFICIA UNIVERSIDAD CATLICA DEL ECUADOR

SEDE ESMERALDAS

ESCUELA DE INGENIERA EN SISTEMAS Y COMPUTACIN

Asignatura:
Compiladores e Intrpretes

TEMARIO:
4. lgebra de las expresiones regulares.
4.1. Asociatividad y conmutatividad.
4.2. Elemento identidad y elemento nulo.
4.3. Leyes distributivas.
4.4. Ley de idempotencia.
4.5. Leyes relativas a las clausuras.

Integrantes:

Andrs Hurtado Pasquel

Wendy Estupian Estupian

Nivel:
6to de Ingeniera en Sistemas y Computacin

Esmeraldas, 21 de Junio del 2016

INTRODUCCIN

El objetivo de las expresiones regulares es representar todos los


posibles lenguajes definidos sobre un alfabeto , en base a una
serie de lenguajes primitivos, y unos operadores de composicin.
Lenguajes primitivos: el lenguaje vaco, el lenguaje formado por la
palabra vaca, y los lenguajes correspondientes a los distintos
smbolos del alfabeto.
Operadores de composicin: la unin, la concatenacin y el cierre.
Especialmente las expresiones regulares se construyen utilizando
los operadores unin concatenacin y clausura de Klenne.
(Instituto Nacional de Astrofisica)

CONTENIDO
A un lenguaje que puede definirse mediante una expresin regular se le llama
conjunto regular. Si dos expresiones regulares r y a denotan el mismo conjunto
regular, decimos que son equivalentes y escribimos r=s.
Por ejemplo: ( a |b) = (b|a ).
Hay una variedad de leyes algebraicas para las expresiones regulares; cada ley
afirma que las expresiones de dos formas distintas son equivalentes.

(Aho,

Monica, & Ravi)

Asociatividad y Conmutatividad
Existen un conjunto de leyes algebracas que se pueden utilizar para las
expresiones regulares:
Ley conmutativa para la unin: L + M = M + L

Ley asociativa para la unin: (L + M) + N = L + (M + N)


Ley asociativa para la concatenacin: (LM)N = L(MN)
NOTA: La concatenacin no es conmutativa, es decir LM ML

Leyes Distributivas
Como la concatenacin no es conmutativa, tenemos dos formas de la ley
distributiva para la concatenacin:
Ley Distributiva Izquierda para la concatenacin sobre unin: L(M + N) = LM
+ LN
Ley Distributiva Derecha para la concatenacin sobre unin: (M + N)L = ML
+ NL)

Elemento identidad y elemento nulo.


Una identidad para un operador es un valor tal que cuando el operador se
aplica a la identidad y a algn otro valor, el resultado es el otro valor.
0 es la identidad para la adicin: 0 + x = x + 0 = x.
1 es la identidad para la multiplicacin: 1 x = x 1 = x
es la identidad para la unin: + L = L + = L

es la identidad para la concatenacin: L = L = L

Ley de Idempotencia

Se dice que un operador es idempotente (idempotent) si el resultado de


aplicarlo a dos argumentos con el mismo valor es el mismo valor
En general la suma no es idempotente: x + x 6= x (aunque para algunos
valores s aplica como 0 + 0 = 0)
En general la multiplicacin tampoco es idempotente: x x x
La unin e interseccin son ejemplos comunes de operadores idempotentes.
Ley idempotente para la unin: L + L = L

Leyes relativas a las clausuras.

Ejemplos
Simplifica las siguientes expresiones regulares.
1. (a + ) a* b
= (aa*+ a*)b
= (aa* + a*)b
= (a++a*)b
= a*b
2. ( + aa) ( + aa)*a + a
= [( + aa) ( + aa)* + ]a
= [( +aa)* ]a

= (aa)*a

CONCLUSIONES
Para la construccin de una Expresin Regular es necesario tener constantes y
variables para la representacin de los lenguajes, adems de los operadores de
Unin, Concatenacin y Clausura sobre lenguajes ( , ., *). A partir de estos dos
componentes su definicin se basa en la recursividad segn el nmero de
operadores. Una Expresin Regular (ER) E describe el lenguaje L, L(E) = L,
donde L y se define recursivamente as:
Caso base (sin operadores):
1. Las Constantes y son ER y representan los Lenguajes {} y {} ()
respectivamente. Por tanto L() = {} y L() = .
2. Si a es un smbolo de entonces a es una ER que denota el lenguaje {a}. Por
tanto L(a) = {a}.
3. Una variable (mayscula) representa cualquier lenguaje. Por ejemplo E es una
expresin regular que denota al conjunto de cadenas L(E).
Caso inductivo (incluyendo los operadores +,.,* y el parntesis):
1. Operador Unin +: Si E y F son ER, entonces E + F es una ER. Representa la
unin de L(E) y de L(F), es decir L(E + F) = L(E) L(F)
2. Operador Concatenacin .: Si E y F son ER, entonces E.F es una ER.
Representa la concatenacin de L(E) y de L(F), es decir L(E.F) = L(E).L(F)

3. Operador Clausura de Klenee (estrella o asterisco) *: Si E es una ER, entonces


E* es una ER. Representa la clausura de L(E), es decir L(E ) = (L(E))*
4. Parntesis (): Si E es una ER, entonces (E) (es una ER entre parntesis)
tambin es una ER. Denota el mismo lenguaje que E, es decir L((E)) = L(E)
(Hilda, 2012)

BIBLIOGRAFAS

Aho, A., Monica, L., & Ravi, S. (s.f.). COMPILADORES, principios, tecnicas y
herramientas . Obtenido de
https://app.box.com/s/qw9ewpfgtqp4rwc0jy2n1x2mjsoqyohl
Hilda, P. C. (25 de Abril de 2012). Teora de la Computacin para Ingeniera de
Sistemas. Obtenido de
http://webdelprofesor.ula.ve/ingenieria/hyelitza/materias/preteoria/apuntes/te
ma2.pdf
Instituto Nacional de Astrofisica, O. y. (s.f.). EXPRESIONES REGULARES. Obtenido de
https://ccc.inaoep.mx/~emorales/Cursos/Automatas/ExpRegulares.pdf