Tema 2
35
Errores l´exicos y su tratamiento.
Generadores autom´aticos de analizadores l´exicos: Lex.
6.
7.
Principio de m´axima longitud.
Palabras reservadas versus identificadores. Gesti´on del buffer de entrada.
a )
b)
c)
Aspectos pr´acticos en la implementaci´on de un an´alisis l´exico:
5.
Implementacion de un analizador l´exico:
a) Dirigido por tabla
b) Mediante bucles anidados.
4.
Especificaci´on de los componentes l´exicos: expresiones regulares.
Reconocimiento de los componentes l´exicos: aut´omatas finitos.
2.
3.
1.
Contenido:
Funciones del analizador l´exico.
principios, t´ecnicas y herramientas, Tema 3, p´aginas: 85-158.
Louden, K.C. (1997), Compiler Construction: Principlesand
Practice, Tema 2, p´aginas: 31-93.
Compiladores:
Aho, A.V., Sethi, R., Ullman, J.D. (1990),
Bibliograf´1[pic]a:
An´alisis L´exico
Tema 2
analizador léxico
analizador sintáctico
cıa:
An´alisis L´exico
Tema 2
analizador léxico
analizador sintáctico
componente léxico
obtén siguiente
árbol de anál. sintáctico
programa
fuenteléxico
El analizador l´exico opera bajo petici´on del analizador sint´actico
devolviendo un componente l´exico conforme el analizador sintacti- co lo va necesitando para avanzar en la gram´atica. Los com- ponentes l´exicos son los s´ımbolos terminales de la gram´atica. Suele implementarse como una subrutina del analizador sintacti- co. Cuando recibe la orden obt´en el siguientecomponente l´exico, el analizador l´exico lee los caracteres de entrada hasta identificar el siguiente componente l´exico.
componente
constantes num´ericas: literales que representan valores en-
teros, en coma flotante, etc, 982, 0xF678, -83.2E+2,...
constantes de caracteres: literales que representan cadenas concretas de caracteres, “hola mundo”,...s´ımbolos especiales: ; ( ) [ ] { } ...
adores: = * + - / == > < & ! = . . .
identificadores: asociados a variables, nombres de funciones,
tipos definidos por el usuario, etiquetas,... Por ejemplo: posicion, velocidad, tiempo, . . .
bras reservadas: if, while, do, . . .
Analizador l´exico (scanner): lee la secuencia de caracteres del
programa fuente, caracter acaracter, y los agrupa para formar unidades con significado propio, los componentes l´exicos (tokens en ingl´es). Estos componentes l´exicos representan:
Funciones del analizador l´exico.
2.1.
36
TEMA 2. ANA´ LISIS LE´XICO
oper
pala
Componentes L´exicos, Patrones, Lexemas
Patr´on: es una regla que genera la secuencia de caracteres que puede representara un determinado componente l´exico (una ex- presi´on regular).
Lexema: cadena de caracteres que concuerda con un patr´on que describe un componente l´exico. Un componente l´exico puede tener uno o infinitos lexemas. Por ejemplo: palabras reservadas tienen un u´nico lexema. Los nu´meros y los identificadores tienen infinitos lexemas.
Facilita transportabilidad deltraductor (por ejemplo, si de-
cidimos en un momento dado cambiar las palabras reservadas
begin y end de inicio y fin de bloque, por { y }, s´olo hay que
cambiar este modulo.
Se simplifica el disen˜o: el analizador es un objeto con el que se interactu´a mediante ciertos m´etodos. Se localiza en un u´nico m´odulo la lectura f´ısica de los caracteres, por lo que facilita tratamientosespecializados de E/S.
Ventajas de separar el an´alisis l´exico y el an´alisis sintactico:
Contabilizar el nu´mero de lineas y columnas para emitir men-
sajes de error.
Reconocimiento y ejecuci´on de las directivas de compilaci´on
(por ejemplo, para depurar u optimizar el c´odigo fuente).
leer sus caracteres, cerrarlo y gestionar posibles errores de
lectura.
Eliminar...
Regístrate para leer el documento completo.