Analizador Lexico
DESCRIPCION DEL PROBLEMA:
El problema que se presenta es la implementacion de analizador léxico en el que tenemos que reconocer identificadores, palabras reservadas ytipos de dato, este es el principio de un compilador, este se llevara acabo emulando un lenguaje tipo pascal.
ANÁLISIS:
Un metodo para construir un analizador léxico se lleva acabo usando unautómata finito determinista para poder describir y reconocer la conducta de este analizador. Se usaran tabla descriptivas que son las que reconocera el analizador léxico, auqe se definen los diferentestipos de componente. Donde estos componente tienen clases y tipos diferentes en donde se agruparaan los datos de acuerdo a su operación o comportamiento para asignarles una clase y un tipo parareconocerlo en esa clase. Se tiene que programar un AFD para reconocer los diferentes componentes e integrarlo a un solo programa.
El AFD utilizara 20 palabras reservadas que estaran en un archivo paracompararlas cuando sea requerido; las palabras son:
PROGRAM END STEP TO
ARRAY INTEGER CASE DO
VAR IF ELSE WHILE
CONST THEN CHAR REPEAT
BEGIN REAL FOR UNTIL
Estos son los primeros 20 elementosde la tabla de simbolos y estan identificados por la clase 0 y para reconocerlo solo debemos tener su posición.
Aquí se presenta la tabla de componentes léxicos.
componente lexico
clase
tipopalabra reservada
1
DIR TS
identificadores
2
DIR TS
constante entera
3
DIR TS
+
4
1
-
4
2
*
4
3
/
4
4
<
5
1
5
4
>=
5
5
=
5
6
:=
6
0;
7
0
El comportameiento del autómata finito determinista se comportara por medio de estados, en los cuales se numeraran del 0 al 100 los estados que no son de reconocimiento, del 100 al 199los estados de reconocimiento y del 200 al 299 los estados de error.
Debido a esto dependiendo del estado en el que se encuentre es el carácter que se espera mediante unat tabla de trancision de...
Regístrate para leer el documento completo.