Está en la página 1de 7

17/05/2019

SINTAXIS Y
SEMÁNTICA DE LOS
LENGUAJES
I.S.I. Gabriela Tomaselli UT III - Autómatas Finitos y Leng. Regulares

Expresiones Regulares y
Aceptores de Estados Finitos
 El diagrama de estados de un AEF y las producciones de una
gramática regular proveen solamente descripciones indirectas de
la estructura de los lenguajes regulares.
 Siempre es posible expresar un lenguaje regular explícitamente
en términos de conjuntos de strings simples.
 Las operaciones de conjuntos unión, concatenación y clausura son
suficientes para expresar cualquier lenguaje regular en términos
de conjuntos unitarios de símbolos alfabéticos.
 Se debe distinguir entre el string de símbolos que constituyen la
expresión y el conjunto de strings que la expresión describe. El
primero se conoce como expresión regular y el segundo como
conjunto regular.

1
17/05/2019

Expresiones Regulares y
Aceptores de Estados Finitos
 Sea V un alfabeto finito. Una expresión regular en V es cualquier
string finito compuesto por símbolos pertenecientes al conjunto
{ a / a  V }  { , , (, ), ,  }
y que puede ser formado de acuerdo a las siguientes reglas:
1.  es una expresión regular.
2.  es una expresión regular.

3. Si a  V, luego a es una expresión regular.

Si  y  son expresiones regulares, luego las siguientes son también


expresiones regulares:
4. ( )

5. (  )

6. (*)

Expresiones Regulares y
Aceptores de Estados Finitos

 Equivalencia de expresiones regulares


 Dos expresiones regulares son equivalentes sí y sólo sí ellas
describen el mismo conjunto de strings.
 Sean ,  y  expresiones regulares arbitrarias.

Regla de Arden

2
17/05/2019

Expresiones Regulares y
Aceptores de Estados Finitos

 Reverso de expresiones regulares


 Dada una expresión  que describe un conjunto X, es posible
construir una expresión regular R que describa al conjunto XR
que contiene el reverso de cada string en X.
1. Si  = , , a / a  V  R = 
2. Si  = ()  R = ( RR)
3. Si  = (  )  R = (R   R)
4. Si  = *  R = R*
 Por ejemplo, si  es: 01(0*11  1*00)11 = A
luego R será: 11(110*  001*)10 = AR
 El reverso de un conjunto regular es también un conjunto
regular.

Construcción de AEF a partir de


Expresiones Regulares
 Teorema 3: Dada una expresión regular  sobre un alfabeto
finito V, se puede construir un AEF- M tal que el lenguaje
aceptado por M sea exactamente el lenguaje representado
por , es decir L(M) = .
 Demostración: Puesto que la definición de las expresiones
regulares se hace recursivamente, la demostración se lleva a cabo
por inducción estructural sobre .
 Si  = , el autómata correspondiente es:

o bien
 Si  = , el autómata correspondiente es:
o bien
 Si  = a, con a  V, el autómata correspondiente es:

3
17/05/2019

Construcción de AEF a partir de


Expresiones Regulares
 Si  =   , con  y  dos expresiones regulares, entonces el
autómata correspondiente es:

 Si  = , con  y  dos expresiones regulares, entonces el


autómata correspondiente es:

 Si  = *, con  una expresión regular, entonces el autómata


correspondiente es:

Construcción de AEF a partir de


Expresiones Regulares
 Otras formas de demostración de este teorema proveen
mecanismos alternativos para la construcción de los
autómatas.
 Para las expresiones regulares básicas, es posible construir
fácilmente autómatas que acepten los lenguajes representados,
que coinciden con las vistas anteriormente.
 Para el paso inductivo, supóngase que para las expresiones
regulares  y  existen AEF M1 y M2 tales que L(M1) =  y
L(M2) = y .

4
17/05/2019

Construcción de AEF a partir de


Expresiones Regulares
 Si  =   , M1 y M2 se conectan en
paralelo y los estados finales del nuevo
autómata son los estados finales de M1
junto con los de M2:

 Si  = , M1 y M2 se conectan en serie y los estados finales del


nuevo autómata son únicamente los estados finales de M2:

 Si  = *, los estados finales del nuevo autómata


son los estados finales de M1
junto con el estado inicial:

Construcción de AEF a partir de


Expresiones Regulares
Ejemplo 8: De acuerdo con las construcciones presentadas
precedentemente, un AEF- que acepta el lenguaje a* es:

que puede simplificarse como:

L = a*(ab  ba)*  a(b  a*)

5
17/05/2019

Construcción de AEF a partir de


Expresiones Regulares
 Otro procedimiento alternativo  Hacer una transformación
gradual que vaya convirtiendo la ER en AEF, a través de la
eliminación de los operadores de la ER.
 Se utilizan gráficas de transición  AEF con transiciones
rotuladas por expresiones regulares, en lugar de símbolos
simples.
 Se parte de una máquina M1 con un único estado inicial, un único
estado final, y una transición entre ellos rotulada por la
expresión regular en cuestión.
 Luego se transforma M1 en M2, en M3, ..., hasta llegar a Mn tal
que sus transiciones estén rotuladas por símbolos del alfabeto o
.

Construcción de AEF a partir de


Expresiones Regulares
 Para eliminar los operadores de las ER en Mi, se reemplazan
ciertas transiciones por otras, hasta que no sea posible aplicar
ninguno de estos reemplazos.

Reemplazar Por

6
17/05/2019

Construcción de AEF a partir de


Expresiones Regulares
Ejemplo 9: Dada la ER  = (a  ba)*bb, obtener el AEF M / L(M) = 

Sintaxis y Semántica de los Lenguajes

Preguntas???

También podría gustarte