next up previous contents
Next: 5.4 La integración con Up: 5.3 El comportamiento no Previous: Un pequeño ejemplo

Conclusiones

Es posible incorporar nuevas capacidades a los reconocedores generados por una herramienta tan flexible como Flex. El enfoque utilizado es conceptualmente simple pero demuestra una gran potencia en las realizaciones prácticas. Mediante la utilización de macros puede ser incorporado fácilmente en cualquier programa.

Aunque aquí se ha usado sólo en reglas con un único patrón, este enfoque funciona perfectamente en reglas con múltiples patrones, puesto que al construir las tablas del autómata que subyace tras el reconocedor, el resultado es el mismo que si se hubiese asociado a cada patrón una regla distinta. Con la definición de reglas multi-patrón lo que se consigue es un menor consumo de memoria al evitar tener que definir múltiples veces el mismo código en el programa C que genera Flex.

Se puede utilizar este enfoque en las reglas de cualquier condición de arranque. Un modo de hacerlo manualmente consiste en definir un par de variables para cada condición, utilizando el nombre de la condición como prefijo o sufijo de los nombres de las variables, y definir las macros correspondientes. Dado que el proceso de creación de tales variables y macros es automatizable, sería deseable que en posteriores versiones de Flex se incluyese esta característica de modo automático, dejando al usuario la libertad de incluir las macros no deterministas en las reglas.



Miguel A. Alonso Pardo
Thu Nov 20 16:47:01 CET 1997