Implementacin Manual de un Analizador Lxico Los analizadores lxicos pueden ser implementados de dos formas:
De forma manual Generados automticamente
Sin importar cul de las dos sea utilizada, ambas utilizan la definicin de los tokens mediante expresiones regulares sin embargo los analizadores lxicos generados suelen tener tablas muy grandes lo que lleva a la necesidad de emplear mtodos de compresin.
Implementar un analizador lxico de forma manual puede ser muy fcil, se comienza con una sentencia para declarar el primer carcter de entrada. Por lo general los primeros caracteres de los tokens suelen ser diferentes, lo que permite dividir el problema del anlisis en muchos problemas ms pequeos, los cuales se pueden resolver en una cantidad pequea de lneas de cdigo. Estos analizadores soy muy eficientes, pero necesitan mucho trabajo y son difciles de hacer cambios.
Optimizacin por Preclculo Hay funciones a las cuales generalmente se recurren frecuentemente, estas funciones tienen la caracterstica de que los parmetros de entrada son un conjunto finito y su resultado depende directamente de los parmetros de entrada. Esto permite poder calcular las respuestas de antemano y guardarlas en un arreglo indexado.
Esta tcnica es llamada preclculo y sus beneficios en trminos de velocidad son considerables. Normalmente se utiliza un programa que hace el preclculo y crea un nuevo programa que sustituye las llamadas a funciones por el arreglo indexado. El preclculo est fuertemente relacionado con el uso de herramientas de generacin de programas. El preclculo puede aplicarse tanto a analizadores lxicos escritos de forma manual como a otras aplicaciones que cumplan las condiciones para su uso.
La mayora de los programadores no son conscientes de que emplean la tcnica de preclculo ya que realizar la clasificacin de caracteres haciendo uso de ella es algo casi trivial. Una de las caractersticas que puede verse gracias a eso, consiste en que un preclculo inocente produce tablas muy grandes, que pueden ser comprimidas, ya sea usando su estructura o mediante mtodos ms generales.
Oscar Sanchez 11311026 Ing. Carlos Vallejo UNITEC Compiladores I Preclculo Inocente Esta tcnica se conoce habitualmente como bsqueda en la tabla, pareciera indicar que el proceso de bsqueda a travs de una tabla tiene un coste de tiempo lineal. Pero como la bsqueda se implementa mediante un arreglo indexado lo que tiene un coste de tiempo constante.
Compresin de Tablas Esta tcnica optimiza tanto la estructura particular de los arreglos como su utilizacin. Reduce los requisitos de memoria enormemente a costa de un pequeo sacrificio en la velocidad