Beruflich Dokumente
Kultur Dokumente
Unidad I
Analizadores lexicogrficos
Semana 3
Autmatas finitos
Objetivo General
3
Objetivos Instruccionales
Comprender el funcionamiento
de los autmatas para el
reconocimiento o aceptacin
de cadenas que forman parte o
son generadas por un lenguaje.
DIAGRAMA PRINCIPAL
AFN
Expresiones AFD
Regulares
Manejador de Tabla
Implementacin de AFD
Especificacin
lxica
AUTOMATAS FINITOS
Son modelos matemticos de los dispositivos que
aceptan una entrada y producen una salida apropiada.
La caracterstica de un autmata es que la entrada
pasa por varios estados para producir la salida.
Dispositivo de entrada
a b a a
1 Indicador de
6 2 estado
Alfabeto de entrada 5 3
4
Mecanismo de control
RECONOCIMIENTO DE FRASES
Ejemplo:
Que genera el lenguaje: L(G) = { am b an | n, m >= 1}
Sea G = (N, T, P, S)
Luego la frase aaabaa que pertenece a L(G) tiene la
T={a,b} siguiente derivacin.
N = { A , B, C }
P = { A Aa | Ba A Aa Baa Cbaa
B Cb Cabaa Caabaa
C Ca | a }
S = { A} aaabaa
L(A)= w (q0,w) F
a b b
0 1 2 3
b
M esta representada por:
Donde: estados entrada
P={ 0,1,2,3} a b
V={a,b} 0 { 0 , 1} {0}
So = { 0 } 1 - {2}
F ={3} 2 - {3}
AUTOMATA FINITO DETERMINISTA
Un autmata finito determinista, es un caso
especial de AFN en el cual:
a b b
0 1 2 3
b 0 1
c Aceptacin
0 1
2
c
a,b
a,b
a,c
3
2
Error
Solucin 1 Solucin 2
a,b,c
Investigar
S aB | a |
Definicin
Es una notacin equivalente a la de un lenguaje regular o a un
autmata
( q0 , t ) * ( qi , ) donde qi pertenece a F
a. P + Q denota P U Q
b. (P Q) denota P Q
c. (P*) denota P*
Identificador de un lenguaje de
programacin
En notacin de expresin regular
r|ss|r | es conmutativa
r|(s|t)(r|s)|t | es asociativo
Entonces:
EJEMPLO 4
a b
ab
a*
COMPONENTES BASICOS DE UNA
EXPRESION REGULAR
Ejemplo:
r t
s
r*st*
Ejemplo:
r t
s
(r*st*)(u(r*st*))*
u
UNION DE LENGUAJES REGULARES
Ejemplo: Sean
x y
y x
Para unirlos: se crea un nuevo estado inicial a partir del cual podamos entrar a uno de
los diagramas originales sin poder regresar.
x y
Anterior estado inicial
x
y
x
T1 T2
Solucin:
x
y y x
1 2 3 4
x x y y
Reglas de precedencia de
las Expresiones Regulares
El operador * tiene la precedencia ms
alta .
El siguiente en precedencia es el
operador de concatenacin.
0 1
1
0 0
1 M esta representada por:
estados entrada
Donde: 0 1
P={ 0,1}
V={0,1} 0 {0} {1}
So = { 0 } 1 {0} {1}
F ={1}
Ejercicio Propuesto 2
Construir un AFD que reconozca cadenas con
un nmero par de 0s y/o un nmero par de 1s
Donde:
P = { q 0 , q 1 , q 2 , q3 }
V={0,1}
So = {q0 }
F = { q0 }
Ejercicio Propuesto 3
Construir un AFD que reconozca la ocurrencia
de la palabra 1011 en una cadena conformada
por ceros y unos.
35
Teora de lenguajes y compiladores
Unidad I
Analizadores lexicogrficos
Semana 3
Autmatas finitos