You are on page 1of 9

INSTITUTO TECNOLOGICO SUPERIOR DE PANUCO

CARRERA: INGENIERIA EN SISTEMAS COMPUTACIONALES

ALUMNA: SANTIAGO DEL ANGEL SANDRA LUZ


MATERIA: LENGUAJES Y AUTOMATAS 1
UNIDAD: #2
TEMA: EXPRESIONES REGULARES

DOCENTE: ING. ENRIQUE PONCE RIVERA


GRUPO: S501
FECHA: 18/09/2016

indice
indice2
Introduccion3
2. Expresiones Regulares4
2.1. Definicin formal de una ER5-6
2.2. Operaciones6-7
2.3. Aplicaciones en problemas reales7
conclusin8
Bibliografia9

Introduccin

En este tema se habla de las expresiones regulares cmo funcionan y que operaciones se
requieren. Y se dice que las expresiones es un lenguaje regular de tipo formal que satisface
las siguientes propiedades: el un autmata finito determinista: autmata finito no
determinista, un autmata finito alterno una mquina de Turing de solo lectura, nos habla
tambin de las expresiones regulares un equivalente algebraico para un autmata, as como
tambin los ejemplos de uso y las expresiones regulares que denotan los lenguajes, as como
tambin las aplicaciones reales.

Expresiones regulares
Un lenguaje regular es un tipo de lenguaje formal que satisface las siguientes propiedades:
Puede ser reconocido por:

un autmata finito determinista


un autmata finito no determinista
un autmata finito alterno
una mquina de Turing de solo lectura

Es generado por: una gramtica regular una gramtica de prefijos


Es descrito por: una expresin regular

2.1. Definicin formal de una ER


Es un equivalente algebraico para un autmata.

Utilizado en muchos lugares como un lenguaje para describir patrones en texto


que son sencillos pero muy tiles.

Pueden definir exactamente los mismos lenguajes que los autmatas pueden
describir: Lenguajes regulares.

Ofrecen algo que los autmatas no: Manera declarativa de expresar las cadenas
que queremos aceptar.

Dado un alfabeto Dado un alfabeto , una, expresin regular sobre expresin regular sobre se
define de forma recursiva:

ER primitivo: , , {a | a }

Si y son ER, entonces son tambin ER: + (unin), (concatenacin),


* (cierre), ().

No existen otras reglas para la construccin de ER sobre .

Ejemplos de usos.

Comandos de bsqueda, e.g., grep de UNIX.

sistema de formato de texto: Usan notacin de tipo expresin regular para describir
patrones.

Convierte la expresin regular a un DFA o un NFA y simula el autmata en el archivo


de bsqueda.

Generadores de analizadores - Lxicos. Como Lex o Flex.

Los analizadores lxicos son parte de un compilador. Dividen el programa fuente en unidades
lgicas (tokens) divide el programa fuente en unidades. Produce un DFA que reconoce el
token.
Las expresiones regulares denotan lenguajes:
Por ejemplo, la expresin regular: 01* + 10* denota todas las cadenas que son o un 0 seguido
de cualquier cantidad 1's o un 1 seguida de cualquier cantidad de 0's.

Operaciones de los lenguajes:

Unin: Si L y M son dos lenguajes, su unin se denota por L U M.

Concatenacin: La concatenacin es: LM o L.M.

Cerradura (o cerradura de Kleene): Si L es un lenguaje su cerradura se denota por L


*.

2.2. Operaciones
Unin o Alternativa: Consideremos dos lenguajes diferentes definidos sobre el mismo alfabeto
L1 W() y L2 W(). Se denomina unin de ambos lenguajes al lenguaje formado por
las palabras de ambos lenguajes:

L1 U L2={ x | x L1 x L2}

Concatenacin: Consideremos dos lenguajes definidos sobre el mismo alfabeto, L1 y


L2. La concatenacin o producto de estos lenguajes es el lenguaje L1 L2= { xy / x L1
y x L2} Las palabras de este lenguaje estarn formadas al concatenar cada una palabra
del primero de los lenguajes con otra del segundo.

La concatenacin de lenguajes con el lenguaje vaci es L = L =

Potencia de un lenguaje: Se define la potencia i-sima de un lenguaje a la operacin de


concatenarlo consigo mismo i veces.
Clausura positiva de un lenguaje: Se define la clausura positiva de un lenguaje L:

L+=ULi
i=1
Lenguaje obtenido uniendo el lenguaje con todas sus potencias posibles, incluso L. Todas
las clausuras contienen la palabra vaca.
Existen tres operaciones bsicas que se pueden realizar sobre las ER:

Seleccin de alternativas : Se indica con el operador |(barra vertical). Si r y s son


ER, entonces r | s es una ER que define a cualquier cadena que concuerde con una r
o una s, tambin se dice que r | s , es la unin de los lenguajes de r y s y lo podemos
definir: L( r | s ) = L( r ) U L( s ). Esta operacin se puede extender a ms de dos ER.

Concatenacin: Se indica con la yuxtaposicin de las ER. Si r y s son ER, entonces


rs es una ER que define a cualquier cadena que concuerde con la concatenacin de r
y s , esta operacin la podemos definir: L(rs) = L(r)L(s).Esta operacin se puede
extender a ms de dos ER.

Repeticin o Cerradura: Tambin se conoce con el nombre de cerradura de Kleene.


Se indica con el operador *. Si r es una ER, entonces r* es una ER que define a las
cadenas de caracteres representadas por la concatenacin repetida de r en n veces, o
sea que lo podemos definir como: L(r*) = L(r)*o tambin lo podemos definir como
la unin infinita de conjuntos r :r* n = r 0 r 1 r 2...r n.

2.3 Aplicaciones en problemas reales.


una de las principales aplicaciones, son las expresiones regulares que facilitan la construccin de
un compilador. A menudo se utiliza una expresin regular larga y compleja para validar la sintaxis
de un programa. Si el cdigo del programa no concuerda con la expresin regular, el compilador
sabe que hay un error de sintaxis dentro del cdigo.
Generalmente convierten la expresin regular a un autmata finito no determinista y despus
construyen el autmata finito determinista.
Otra aplicacin del mismo libro es en los editores de texto. Tambin encontramos a las expresiones
regulares en la biologa molecular. Tambin hay esfuerzos importantes para tratar de representar
cadenas como generadas por expresiones regulares o por lenguajes regulares.

conclusiones

con esto concluimos este tema que nos hablo acerca de las expresiones regulares, como es
reconocido por ejemplo: un autmata finito determinista un autmata finito no
determinista un autmata finito alterno una mquina de Turing de solo lectura, as como
tambin sus ejemplos de uso y sus aplicaciones en la vida cotidiana ya que usamos las
operaciones en cualquier momento o lugar sin que nosotros dudemos en hacerlo ya sea
para regresar cambio comprar algo etc. y tambin nos dice que hay tres tipos de
operaciones donde se aplican la entidad relacin que son la concatenacin que define a
cualquier cadena que concuerde con la concatenacin de r y s ,y Repeticin o Cerradura es
una ER que define a las cadenas de caracteres representadas por la concatenacin
repetida.una de las principales aplicaciones, son las expresiones regulares que facilitan la
construccin de un compilador.

Bibliografia

Hopcroft John E., Introduccin a la Teora de Autmatas, Lenguajes y Computacin, 2 da ed, Ed.
Addison Wesley, 2004.}
. Lemote Karen A. , Fundamentos de compiladores Cmo traducir al lenguaje de computadora, Ed.
Compaa Editorial Continental.