Académique Documents
Professionnel Documents
Culture Documents
DEFINICIONES
Autmata:
Un autmata es una mquina secuencial sncrona (controlada por una seal de
reloj) que se puede encontrar en uno de entre un nmero posible de estados,
recibe una serie de entradas binarias y en funcin de estas entradas y del estado
particular en el que se encuentra, genera una o varias salidas binarias
determinadas. Se le llama finito por que el nmero de estados en el que puede
encontrarse el autmata tiene que quedar perfectamente determinado, de ah que
a estos sistemas se les llame tambin deterministas.
Autmata:
La palabra autmata evoca algo que pretende imitar las funciones propias de los
seres vivos, especialmente relacionadas con el movimiento, por ejemplo, el tpico
robot antropomorfo. El autmata recibe los smbolos de entrada, uno detrs del
otro, es decir secuencialmente. El smbolo de salida que en un instante
determinado produce un autmata, no solo depende del ultimo smbolo recibido a
la entrada, sino de toda la secuencia o cadena, que ha recibido hasta ese instante.
2. FASES DE UN COMPILADOR
Los compiladores son programas de computadora que traducen de un lenguaje a
otro. Un compilador toma como su entrada un programa escrito en lenguaje fuente
y produce un programa equivalente escrito en lenguaje objeto.
Un compilador se compone internamente de varias etapas, o fases, que realizan
operaciones lgicas. Es til pensar en estas fases como piezas separadas dentro
del compilador, y pueden en realidad escribirse como operaciones codificadas
separadamente, aunque en la prctica a menudo se integran.
FASE
QU ES?
La cadena de entrada se recibe como una sucesin de
caracteres. El anlisis lxico agrupa los caracteres en
secuencias con significado colectivo y mnimo en el
lenguaje, llamadas componentes lxicos (palabras o
token), con ciertos atributos lxicos.
Anlisis Lxico
Las palabras clave, identificadores, operadores, constantes
numricas, signos de puntuacin como separadores de
sentencias, llaves, parntesis, etc., son diversas
clasificaciones de componentes lxicos.
Los componentes lxicos se agrupan para formar frases. El
valor lxico de los componentes es en este momento
irrelevante.
Anlisis
Sintctico
Anlisis
Semntico
Generacin de
Cdigo
Intermedio
Optimizacin de
Cdigo
Generacin de
Cdigo
3.
Libreras
Lexema:
Representan cadenas de caracteres en el programa fuente que se pueden
tratar juntos como una unidad lxica. Un lexema es una secuencia de
caracteres en el programa fuente con la que concuerda el patrn para un
componente lxico.
Patrn:
Regla que describe el conjunto de lexemas que pueden representar a un
determinado componente lxico en los programas fuente. En otras
palabras, es la descripcin del componente lxico mediante una regla.
this.cont=cont;
}
public void setTipo(String tipo)
{
this.tipo=tipo;
}
public void setCualesSon(String cualesSon)
{
this.cualesSon=cualesSon;
}
public int getCont()
{
return cont;
}
public String getTipo()
{
return tipo;
}
public String getCualesSon()
{
return cualesSon;
}
public void verTipos()
{
System.out.println("\nLos " + getTipo() + " ingresados son " +
getCont() + " : "+getCualesSon());
}
}
class lexer
{
private Character tokens[]=
{
'=','(',')','+','-','*','/',';','<','>'
};
private
Character au='x';
public void instrucciones()
{
System.out.println("---------------------------------------------------------------");
System.out.print("
Programa Ansis Lxico
\n");
System.out.print("
System.out.print("
\n");
\n\n");
System.out.print("Instrucciones:\n");
System.out.print("
1.Ingresa una expresin para realizar un
anlisis lxico\n");
System.out.print("
2.Al finalizar tu expresin, pulsa la barrra
espaciadora\n");
System.out.print("
e ingresa un enter al final.\n");
System.out.println("--------------------------------------------------------------");
System.out.println();
}
public Character[] leer()
{
String res="";
int longitud=0;
Character ch[];
BufferedReader
in=new
BufferedReader(new
InputStreamReader(System.in));
try{
System.out.print("A continuacin ingresa tu expresin: ");
do{
res+=in.readLine();
}while(!res.endsWith(" "));
}catch(IOException ioe)
{
System.out.println("Ocurrio la Sig. Excepcion " +ioe);
}
longitud=res.length();
ch=new Character[longitud];
for(int i=0;i<longitud;i++)
{
ch[i]=res.charAt(i);
}
return ch;
}
public void esDigito(Character ch[])
{
int cont=0;
String cualesSon="";
for(int i=0;i<ch.length;i++)
{
if(au.isDigit(ch[i]))
{
cont++;
cualesSon+=ch[i].toString() + " ";
}
}
tipos out=new tipos(cont,"Digitos",cualesSon);
out.verTipos();
}
public void esToken(Character ch[])
{
int ope=0;
String cualesSon="";
for(int i=0;i<ch.length;i++)
{
for(int j=0;j<tokens.length;j++)
{
if(ch[i].equals(tokens[j]))
{
ope++;
cualesSon+=ch[i].toString() + " ";
}
}
}
tipos out=new tipos(ope,"Tokens",cualesSon);
out.verTipos();
}
public void esIdentificador(Character ch[])
{
int Id=0;
String cualesSon="";
for(int i=0;i<ch.length;i++)
{
if(au.isJavaIdentifierStart(ch[i]))
{
Id++;
cualesSon+=ch[i].toString() + " ";
}
}
tipos out=new tipos(Id,"Identificadores",cualesSon);
out.verTipos();
}
}
8.
Un autmata finito determinista es una quntupla.
M= (Q,,q0,,F)
Para cada9.
estado en que se encuentre el autmata, y con cualquier smbolo del alfabeto ledo, existe
siempre a lodonde:
ms una transicin posible desde es
Q
es
un
conjunto
finito
cuyos elementos llamaremos
10.
Autmata finito determinista
es un alfabeto que llamamos alfabeto de entrada.
11.
q0Q es un estado sealado que llamamos estado in
(AFD)
F es un subconjunto de Q no vaco, cuyos elementos
12.
es una aplicacin de QQ, que llamamos funcin
13.
14.
15.
16.
Formalmente un autmata finito no
17.
determinista es una quntupla
18.
M= (Q,
, q0 sino
,, F)un
donde:
Permite que, desde un estado, con un smbolo del alfabeto se alcance no un nico
estado,
subconjunto de estados (incluido
19.
Q es un conjunto finito a cuyos elementos llamamos
Autmata finito no determinista
Tipos de Autmatas
es un alfabeto que llamamos alfabeto de entrada
(AFND)
20.
q0 es un estado sealado que llamamos estado inicia
21.
F es un subconjunto de Q, no vaco, cuyos elementos
es una aplicacin de QP(Q), que llamamos func
22.
23.
24.
25.
Las caractersticas de los autmatas es que sin lectura de un smbolo del alfabeto no hay transicin. Este tipo de mquina elimina esta restriccin permitiend
26.
Un autmata finito no determinista con -transiciones es una quntupla M=(Q,,q0,,F) donde todos
de determinista
transicin :Q({})P(Q).
Autmatafuncin
finito no
con
27.
Es-transiciones
decir, ahora no slo hay transiciones del tipo (q,a) donde qQ y a, sino que tambin se defin
28.
(AFND-)
29.
30.
31.
32.
33.
Ejemplo
34.
Sea M1 = (Q, , , q0,F) donde Q={p,q,r}, ={a,b}, Sea p el estado inicial, F={r} y definida como sigue:
(p,a)=q
(p,b)=r
35. Autmata finito determinista (AFD)
(q,a)=p
(q,b)=q
36.
(r,a)=r
(r,b)=r
37.
38.
39.
40.
41.
42.
Ejemplo
43.
Sea M5= (Q,,q0,,F) siendo Q={p,q,r,s}, ={0,1,2}, sea p el estado inicial, F={q,s} y
(AFND)
44.Autmata finito no determinista
la funcin de transicin dada por:
Tipos de Autmatas
45.
(p,0)={q,r}
(p,1)=
(q,0)={q}
(q,1)={q,s}
46.
(r,0)=
(r,1)={s}
47.
(s,0)={p} (s,1)=
48.
49.
50.
51.
52.
Ejemplo
53. Autmata finito no determinista con Si la mquina M5 aadimos las transiciones
-transiciones
(p,)={r}
(q,)={p}
(r,)=
(s,)={q}
54.
(AFND-)
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.Expresin Regular
74. Lineal
75.
76.
77.
78.
Tipos de
Autmatas
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
Expresin Regular
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
Las
expresiones
regulares
son
una
manera resumida de
representar
ciertos
lenguajes
sobre
un
alfabeto. Sea un
alfabeto,
cada
expresin
regular
Un
autmata
de
pila
es
una
sptupla
M=(Q,,,q0,,F) donde:
Q= conjunto finito de estados
= alfabeto de entrada
= alfabeto de pila
q0Q estado inicial
FQ, F, conjunto de estados finales
es la funcin de transicin.
La forma genrica de la imagen de una terna ser
( q,a,Z) = {(r1 ,1 ),,(rk ,k ); ri Q, i *}
Tipos de
Autmatas
103.
Autmata de Pila
104.
(AP)
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
Autmata de Pila
116.
Determinista
117. (APD)
118.
119.
120.
121.
122.
123.
Autmata de Pila
124.
No Determinista
125.(APND)
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
Autmata de Pila
(AP)
Tipos de
Autmatas
Autmata de Pila
Determinista
(APD)
Autmata de Pila
No Determinista
(APND)
Ejemplo
Sea M8 = (Q,,,q0,,F,) con Q = {p,q,r,s}, = {0,1},
= {#,a}, p estado inicial,
F={s}, y funcin de transicin definida de la manera
siguiente:
(p,,)={(q,#)}
(q,0,)={(q,a)}
(q,1,a)={(r,)}
(r,1,a)={(r,)}
(r,,#)={(s,)}
Ejemplo
En un momento, la unidad de control del autmata
escanea un smbolo a sobre la cinta de entrada y el
smbolo s en el tope de la pila.
Este paso computacional representa: La unidad de
control pasa a q0 y se mueve a la derecha en la cinta
de entrada, borra el smbolo s del tope, escribe en la
Ejemplo
cadena y pasa a escanear el nuevo tope.
Disear un AFPN que acepte el lenguaje {a^ib^i:
i>=0}4
Sobre:
= {a, b}
(q0, a, Z) = (q0, AZ)
(q0, , Z) = (q2, Z) (acepta )
(q0, a, A) = (q0, AA)
(q0, b, A) = (q1, )
(q1, b, A) = (q1, )
136.
137.
REFERENCIAS
138.
139.
140.
Autmatas
secuenciales
finitos.
Extrado
el
30/03/2026.
Desde
http://www.aquihayapuntes.com/automatassecuenciales-finitos.html
141.
142.
Juan Manuel Cueva Lovelle. Lenguajes gramtica y autmatas.
Segunda Edicin, Noviembre 2001. Extrado el 30/03/2016. Desde
http://di002.edv.uniovi.es/~cueva/publicaciones/AUTOMATA.pdf
143.
144.
M. Luisa Gonzlez Daz. Introduccin a la construccin de
compiladores.
Extrado
el
30/03/2016.
Desde
http://www.infor.uva.es/~mluisa/talf/docs/aula/A7.pdf
145.
146.
Anlisis
Lxico.
Extrado
http://www.galeon.com/shock/tareas.html
el
30/03/2016.
Desde
el
30/03/2016.
Desde
150.
Autmatas
Finitos.
Extrado
el
31/03/2016.
http://www2.dis.ulpgc.es/~mluengo/automatas/teoria/tema2.pdf
Desde
147.
148.
Anlisis
Lxico.
Extrado
http://10380054.galeon.com/u5.htm
149.
151.
152.
Autmatas
de
Pila.
Extrado
el
31/03/2016.
http://www2.dis.ulpgc.es/~mluengo/automatas/teoria/tema4.pdf
Desde
153.
154.
Anlisis
Lxico.
Extrado
el
31/03/2016.
Desde
http://paginasprodigy.com/edserna/cursos/compilador/notas/Notas2.pdf
155.
156.
Teora de Lenguajes. Extrado el 31/03/2016. Desde
https://es.scribd.com/doc/4750526/20/FUNCIONES-DEL-ANALIZADORLEXICO
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.