Next: A.1.2 Un ejemplo sencillo
Up: 5.2 Las reglas léxicas
Previous: 5.2.2 Las condiciones de
El procedimiento mediante el cual se pueden implementar en Flex las
reglas léxicas es el siguiente:
- Utilizar reglas sin condición de arranque para reconocer los
lexemas, los cuales constituirán los patrones de tales reglas.
- Definir una condición de arranque para cada grupo de reglas léxicas.
Utilizar los sufijos como patrones de las reglas incluidas en
esa condición.
- En las acciones que se disparan por el reconocimiento de un
lexema, incluir un BEGIN a la condición de arranque que represente al
grupo en el cual se crean las palabras derivadas de ese lexema.
- En las acciones de las reglas con condiciones de arranque se puede
tomar una de las siguientes alternativas:
- Incluir un BEGIN a una condición de arranque que indique
los sufijos que deben ser reconocidos a
continuación. Esto se utiliza, por ejemplo, cuando después de
reconocer el género de un sustantivo es preciso reconocer su número.
- Si no es necesario comprobar la existencia de más
sufijos, dar por terminado el reconocimiento de la palabra.
Todas las condiciones de arranque deberán ser exclusivas, puesto que que
con ello evitamos el problema de un posible reconocimiento de una
palabra dentro de otra.
Es conveniente considerar la existencia de una condición
ERROR, a la que se envíe el analizador cuando una palabra no
pueda ser reconocida
. Cuando el
analizador entra en este estado de error, debe actuar en modo
pánico
[Aho et al. 90], saltando todos los caracteres siguientes hasta que
encuentra un carácter de sincronización, que en nuestro caso
será un separador.
La utilización de condiciones de arranque es similar a definir un
miniautómata para examinar las reglas léxicas.
Miguel A. Alonso Pardo
Thu Nov 20 16:47:01 CET 1997