Beruflich Dokumente
Kultur Dokumente
Lexicogrfico
Que es?
Se encarga de buscar los componentes lxicos
o palabras que componen el programa fuente,
segn unas reglas o patrones.
La entrada del analizador lxico podemos
definirla como una secuencia de caracteres,
que pueda hallarse codificada segn cualquier
estndar
ASCII
EBCDIC
Unicode
Funciones
El analizador lxico es la primera fase de un
compilador. Su principal funcin consiste en
leer los caracteres de entrada y elaborar
como salida una secuencia de componentes
lxicos que utiliza el analizador sintctico
para hacer el anlisis.
Otras funciones
Eliminar los comentarios del programa.
Eliminar espacios en blanco, tabuladores, retorno de
carro, etc, y en general, todo aquello que carezca de
significado segn la sintaxis del lenguaje.
Reconocer los identificadores de usuario, nmeros,
palabras reservadas del lenguaje, etc., y tratarlos
correctamente con respecto a la tabla de smbolos
(solo en los casos en que este analizador deba tratar
con dicha estructura).
Llevar la cuenta del nmero de lnea por la que va
leyendo, por si se produce algn error, dar informacin
acerca de dnde se ha producido.
Avisar de errores lxicos. Por ejemplo, si el carcter @
no pertenece al lenguaje, se debe emitir un error.
Tambin puede hacer funciones de preprocesador
Creacin de un analizador
lxico
Construir un fichero de texto en lenguaje Lex que
contiene la estructura abstracta del analizador.
Meta compilar el fichero anterior con PCLex. As se
obtendr un fichero fuente en C estndar. Algunas
veces hay que efectuar modificaciones directas en
este cdigo, aunque las ltimas versiones de PCLex
han disminuido al mximo estas situaciones.
Compilar el fuente en C generado por PCLex con un
compilador C, con lo que obtendremos un ejecutable
El lenguaje Lex
Un programa Lex tiene la siguiente estructura:
rea de definiciones Lex
%% /* es lo nico obligatorio en todo el programa */
rea de reglas
%%
rea de funciones
siendo el mnimo programa que se puede construir
en Lex:
%%
Caracteres de sensibilidad al
contexto
$: el patrn que le precede slo se reconoce si est
al final de la lnea.
^ : fuera de los corchetes indica que el patrn que
le sucede slo se reconoce si est al comienzo de la
lnea.
/: Reconoce el patrn que le precede si y slo si es
prefijo de una secuencia simple como la que le
sucede.
Funciones y variables
suministradas por PCLex
El generador de
analizadores lexicogrficos
JFlex
Los programas escritos para JFlex tienen un
formato parecido a los escritos en PCLex; de
hecho todos los patrones regulares admisibles en
Lex tambin son admitidos por Jflex.
Estructura de un programa en
JFlex
rea de cdigo, importaciones y
paquete
%%
rea de opciones y declaraciones
%%
rea de reglas