Está en la página 1de 2

Oscar

Sanchez 11311026 Ing. Carlos Vallejo


UNITEC Compiladores I

Resumen Captulo 2.1.5


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