UNIDAD 3
INTRODUCCION A LOS AUTOMATAS FINITOS Y EXPRESIONES REGULARES
Automata finito: un automata finito o maquina de resultado es un modelo matematico de un sistema que recibe una cadena constituida por simbolos de un alfabeto y determina si esa cadena pertenece al lenguaje que el automata reconoce.
Formalmente un automata finito (AF) puede ser descrito con un dupla de 8 a 5 elementos donde:
"s" es unconjunto de estados "E" es el alfabeto, "T" es la funcion de transicion.
ANALIZADOR LEXICO
El analizador lexico es la primera fase de un compilador lee carecteres de entrada para formar componentes e identificarlos o clasificarlos y pasar informacion de los componentes al analizador sintactico.
Realiza ademas funciones como eliminar espacios en blanco saltos de linea tabuladores ignorar comentarios deteccion y recuperacion de errores. Los errores que el analizador lexico reconoce son simbolos no validos o no reconocidos por el lexico del lenguaje o que no forma ningun componente lexico.
Existen diversos metodos para construir un analizador lexico un metodo es usar un (AFD) para describir el patron de cada componente para este metodo se parte de una tabla descriptiva de los componentes lexicos que reconoce el analizador en donde se clasifican diversos componentes.
MANEJO DE LOCALIDADES TEMPORALES DE MEMORIA (BUFFER)
La forma mas facil de leer un programa es caracter para caracter pero es ineficiente la forma mas eficiente es realizar una copia de la memoria de todo el codigo fuente pero esto en la mayoria de las ocasiones es impractico por las dimensiones de los programas para solucionar este problema se sugiere utilizar los buffers.
MANEJO DE BUFFERS: Existen muchas formas de dividir el trabajo pero siempre se debera llevar 2 punteros uno al caracter actual y el otro al inicial del lexema, el manejo de buffer es esencial para realizar el analisis de grandes programas de la mejor manera.