ex
, vi
, sed
,
perl
y en tantas otras utilidades UNIX. Dado un lenguaje regular,
un analizador léxico es un programa capaz de reconocer las entradas
que pertenecen a dicho lenguaje y realizar las acciones semánticas
que se hayan asociado con los estados de aceptación.
Un generador de analizadores léxicos es una herramienta que facilita
la construcción de un analizador léxico. Un generador de analizadores
léxicos parte, por tanto, de un lenguaje adecuado para la descripción
de lenguajes regulares (y de su semántica) y produce como salida
una función (en C, por ejemplo) que materializa el correspondiente
analizador léxico.
La mayor parte de los generadores producen a partir del conjunto de
expresiones regulares los correspondientes tablas de los autómatas
finitos deterministas. Utilizando dichas tablas y un algoritmo de
simulación genérico del autómata finito determinista se obtiene el
analizador léxico. Una vez obtenido el estado de aceptación a partir de
la entrada es posible, mediante una sentencia switch
ejecutar la
acción semántica asociada con la correspondiente expresión regular.