Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
PRESENTADO POR:
ANLISIS LXICO
TEORA DE LENGUAJES
INTRODUCCIN
El analizador lxico es la primera fase de un compilador, lee caracteres de
entrada para formar componentes e identificarlos o clasificarlos y pasar la
informacin de los componentes al analizador sintctico.
Un compilador es un programa informtico que traduce un programa escrito en
un lenguaje de programacin a otro lenguaje de programacin, generando un
programa equivalente que la mquina ser capaz de interpretar. Este proceso
de traduccin se conoce como compilacin.
El analizador lxico que incorporan la mayora de los compiladores de los
lenguajes de programacin realiza adems funciones como eliminar espacios
en blanco, saltos de lnea, tabuladores, ignorar comentarios, deteccin y
recuperacin de errores. Los errores que un analizador lxico reconoce son
smbolos no vlidos o no reconocidos por el lxico del lenguaje o que no
forman parte de ningn componente lxico.
Para reducir la complejidad, los posibles smbolos se agrupan en lo que
llamaremos categoras lxicas, de los cuales tendremos que especificar qu
elementos componen estas categoras, para lo que emplearemos expresiones
regulares.
Tambin ser necesario determinar si una cadena pertenece o no a una
categora, lo que puede hacer eficientemente mediante autmatas de estados
finitos.
Existen diversos mtodos para construir un analizador lxico, un mtodo es
usar un AFD para describir el patrn de cada componente. Para este mtodo
se parte de una tabla descriptiva de los componentes lxicos que reconocer el
analizador, en donde se clasifican los diversos tipos de componentes.
INDICE
I.
INTRODUCCION
ANLISIS LXICO
1. Definicin
SEMESTRE 2016 - I
ANLISIS LXICO
II.
III.
IV.
V.
TEORA DE LENGUAJES
2. Objetivo
3. Funciones
4. Categoras lxicas
5. Construccin
6. Componentes lxicos patrones, lexemas
7. Manejo de buffer de entrada
8. Especificaciones de componentes lxicas
9. Implementacin del analizador lxico
10. Ejemplos
CONCLUSION
RECOMENDACIONES
BIBLIOGRAFIA
ANEXOS
SEMESTRE 2016 - I
ANLISIS LXICO
TEORA DE LENGUAJES
I.
ANLISIS LXICO
1. Definicin
La fase de rastreo (scanner), tiene las funciones de leer el programa
fuente como un archivo de caracteres y dividirlo en tokens. Los
tokens son las palabras reservadas de un lenguaje, secuencia de
caracteres que representa una unidad de informacin en el programa
fuente. En cada caso un token representa un cierto patrn de
caracteres que el analizador lxico reconoce, o ajusta desde el inicio
de los caracteres de entrada. De tal manera es necesario generar un
mecanismo computacional
SEMESTRE 2016 - I
ANLISIS LXICO
TEORA DE LENGUAJES
producido.
Avisar de errores lxicos. Por ejemplo, si @ no pertenece al
4. Categoras Lxicas
Palabras reservadas: if, while, do, etc.
Identificadores: variables, funciones, tipos definidos por el usuario,
etiquetas,
Operadores: =, >, <, >=, <=, +, *, etc.
Smbolos especiales: ;, (, ), {, }, etc.
Constantes numricas. literales que representan valores enteros y
flotantes.
Constantes de carcter: literales que representan cadenas de
caracteres.
5. Construccin
Los analizadores lxicos pueden construirse:
Escribiendo
el
analizador
lxico
en
un
lenguaje
ensamblador:
Slo se utilizan en casos especficos debido a su alto coste y baja portabilidad
El analizador
sintctico
ANLISIS LXICO
TEORA DE LENGUAJES
SEMESTRE 2016 - I
ANLISIS LXICO
TEORA DE LENGUAJES
relativo
operador o carcter de
en
sus
por
primera
vez.
Esta
informacin
puede
ser
ANLISIS LXICO
TEORA DE LENGUAJES
<op_asignacion>
<identificador, atributo para el smbolo M>
<op_multiplica>
<identificador, apuntador al smbolo C>
<op_exponente>
<numero, atributo valor 2>
Se debe tener en cuenta que ciertas parejas no necesitan un valor
de atributo.
Inicio
lexema
SEMESTRE 2016 - I
frent
e
ANLISIS LXICO
TEORA DE LENGUAJES
los
dos
apuntadores
apuntan
al
primer carcter
del
de dos pruebas
para
cada
avance del
apuntador
\0
inicio
frent
e
o
ANLISIS LXICO
TEORA DE LENGUAJES
Hasta ahora hemos visto como especificar los lenguajes asociados a las
diferentes categoras lxicas. Sin embargo, el analizador lxico no se
utiliza para comprobar si una cadena pertenece o no a un lenguaje. Lo
que debe hacer es dividir la entrada en una serie de componente lxicos,
realizando en cada uno de ellos determinadas acciones. Algunas de
estas acciones son: comprobar alguna restriccin adicional (por ejemplo
que el valor de un literal entero este dentro de un rango), prepararlos
atributos del componente y emitir u omitir dicho componente. As pues, la
especificacin del analizador lxico debera incluir por cada categora
lxica del lenguaje el conjunto de atributos y acciones asociadas. Un
ejemplo sera:
10. Ejemplos
a. if x1>3 then a:=b+x1
Tokens
Lexemas
if
if
id
x1,a,b
relacin
>
op
asign
:=
then
then
num
SEMESTRE 2016 - I
ANLISIS LXICO
TEORA DE LENGUAJES
b.
II.
CONCLUSIONES
SEMESTRE 2016 - I
componente lxico, el
10
ANLISIS LXICO
TEORA DE LENGUAJES
III.
RECOMENDACIONES
SEMESTRE 2016 - I
11
ANLISIS LXICO
TEORA DE LENGUAJES
IV.
BIBLIOGRAFA
http://www.paginasprodigy.com/edserna/cursos/compilador/notas/Notas
2.pdf
http://es.scribd.com/doc/4750526/20/FUNCIONES-DEL-ANALIZADOR-
LEXICO
http://www.giaa.inf.uc3m.es/docencia/ITIG/lexico.pdf
http://serdis.dis.ulpgc.es/~ii-pl/ftp/transp/tr-alex-imp.pdf
file:///J:/Analizador%20lexico/Expresi%C3%B3n%20regular%20-
%20Wikipedia,%20la%20enciclopedia%20libre.htm
http://www.ii.uam.es/~alfonsec
Compiladores: Conceptos Fundamentales. B. Teufel, S. Schmidt, T.
SEMESTRE 2016 - I
12
ANLISIS LXICO
TEORA DE LENGUAJES
%20de%20un%20sencillo%20analizador%20l%C3%A9xico.%20Caso
%20pr%C3%A1ctico.htm
V.
SEMESTRE 2016 - I
ANEXOS
13
ANLISIS LXICO
SEMESTRE 2016 - I
TEORA DE LENGUAJES
14