Beruflich Dokumente
Kultur Dokumente
ANLISIS LXICO
1
Objetivos Generales
La tabla de smbolos
La gestin de errores
ndice General
Introduccin
Anlisis Lxico
Scanner
Tabla de Smbolos
Gestin de Errores
Funciones
INTRODUCCION
edad
T. Smbolo
Scanner
[ID, edad]
G. Errores
Utilidad:
Anlisis Lxico
Funciones
Funcionamiento
La
relacin
entre
el
AL
AS es una relacin de maestro-esclavo.
el
Cdigo Fuente
Lee caracteres
en
n
o
mp
o
C
Analizador
Sintactico
Analizador
lxico
ico
x
te l
ita
c
i
l
So
un
po
m
o
c
Siguiente fase
ne
xi
e
l
nte
co
Funcionamiento
Construir tokens validos a partir de la lectura
carcter a carcter del fichero de entrada.
Pasar tokens validos al analizador sintctico
Gestionar el manejo de fichero de entrada.
Ignorar los espacio en blanco, comentarios y dems
caracteres o tokens innecesarios para el proceso de
anlisis
Avisar de los errores encontrados en esta fase.
Llevar la cuenta del numero de lneas par incluir lo
en el aviso de error.
Hacer las funciones de preprocesador
10
Funcionamiento
Funcionamiento
11
Ejemplo:
int x;
main() {
}.
Entrada
Buffe
r
Accin
in
int
Espacio en
blanco
int
12
Trminos utilizados
Patron: Es una representacin lgica de
una serie de agrupacin de caracteres con
unas
caractersticas
comunes.
Por
ejemplo, en Java el identificador de una
variable puede ser cualquier combinacin
de letras y numero que no comience con
un numero. Para describir formalmente
esta definicin, se utilizan las expresiones
regulares.
Identificador::=(letra)(letra|digito)
13
Trminos utilizados
Lexema: es cada una de las combinaciones de
caracteres que encajan en la definicin de un
patrn. Por ejemplo: variable1, x
Es decir el patrn es la definicin formal y el
lexema es cada una de las secuencia que pueden
encajar en esa definicin.
Token: es el nombre que se le va a dar cada patrn
definido. Este nombre se utilizara en los procesos
de anlisis en representacin de todos los lexemas
encontrados
Ej: el token es como la palabra fruta y los lexemas son las
frutas en concreto, como manzana, banana,
14
15
Especificacin de
analizador lxico
En un DT, cuando se lea una
carcter que no pertenezca a
ninguna secuencia especificada, se
debe ir a un estado especial
terminal y volver el cursor de lectura
de caracteres al carcter siguiente a
la secuencia correcta leida.
Construccin de un
analizador lxico
16
Utilizar un DT
17
Construccin de un
Analizador Lexico
b) Creamos el Automata
Construccin de un Analizador
18
Lxico
PRODUCTO
digito
otro
* ENTERO
o
+
4
otro
3
* SUMA
INCREMENTO
19
Construccin de un
Analizador Lxico
c) Crear la tabla de transicion
Consta de tantas filas como estado del automata.
En cuanto a las columnas: una para numerar el estado,
tantas como distintas posibles entradas, otra para
sealar el token que se reconoce; una ultima para
numerar los retrocesos que hay que hacer pata
reconocer los lexemas.
Construccin de un
Analizador Lxico
20
Entrada
s
Entrada
s
Entrada
s
Entrada
s
Digito
Otro
Estado
Token
Retro
c.
Error
PRODUCT
O
SUMA
INCREMEN
T
ENTERO
21
Bibliografa