Vous êtes sur la page 1sur 2

Algoritmo para pasar un AFD hacer Analizador Léxico

Pasos de cómo se puede mapear un AFD (Automata Finito Deterministico) hacia un


analizador Léxico, para lo cual se sigue:

Primer Paso:

Realizar el método del árbol, con sus expresiones regulares unidas por or “|” para llegar a
su AFD

Segundo Paso:

Reglas:

• Cada estado se convierte en un Case


• Cada transición se convierte en un If el cual debe estar dentro de un case.
• En cada estado de aceptación, se agrega un else if para aceptar el lexema.

Tercer Paso:

Variables

Estado: el cual nos indicara en qué estado nos encontramos. Es el valor que se utiliza en el
switch de comparación.
Índice: nos dice la posición en la cual nos estamos moviendo dentro de nuestro archivo de
entrada.
Lexema: será la variable donde estaremos concatenando la información leída del archivo de
entrada.
Archivo Entrada: el cual contendrá lo que leamos del archivo de entrada.

Cuarto Paso:

Algoritmo Básico

Inicializar Variables {

Mientras No sea EOF{

Incrementamos índice

Leemos carácter del Archivo de Entrada en la posición índice

Switch ( estado ) {
En caso que sea 1
Si (carácter es igual a transicion1)
Cambiar estado
Lexema se le agrega el nuevo carácter
Sino Si (carácter es igual a transicion2)
Cambiar estado
Lexema se le agrega el nuevo carácter
….
Sino Si (carácter es igual a transiciónN)
Cambiar estado
Lexema se le agrega el nuevo carácter
Sino es ninguna de las anteriores
Es error lexico
En caso que sea 2
Si (carácter es igual a transicion1)
Sino Si (carácter es igual a transicion2)
….
Sino Si (carácter es igual a transiciónN)
En caso que sea 3 y este sea un estado aceptación
Aceptar Lexema asociado a Token
Reiniciar estado
Limpiar el Lexema
Retroceder el indice.

}//Fin Switch

}//Fin Mientras

}//Fin de Metodo

Vous aimerez peut-être aussi