Computadoras

Páginas: 4 (986 palabras) Publicado: 20 de septiembre de 2010
El generador de analizadores léxicos lex.
Teoría de Autómatas y lenguajes formales Federico Simmross Wattenberg (fedesim@infor.uva.es) Universidad de Valladolid

Una vez visto cómo las expresionesregulares pueden ser muy útiles a la hora de reconocer patrones en un fichero de texto, y de utilizarlas para desencadenar ciertas acciones en respuesta, vamos a estudiar una herramienta que permitecrear programas autónomos que analizan léxicamente la entrada y la procesan a nuestro antojo: el generador de analizadores léxicos lex. Lex genera código fuente en C, a partir de una serie deespecificaciones escritas en lenguaje Lex. El código C generado contiene una función llamada yylex(), que localiza cadenas en la entrada (lexemas) que se ajusten a uno de los patrones léxicos especificados enel código fuente Lex, realizando entonces las acciones asociadas a dicho patrón. yylex() puede llevar a cabo cualquier tipo de acciones ante un determinado patrón y, en particular, puede comportarsecomo un analizador léxico.

1. Funcionamiento de lex
Al contrario que sed y awk, lex no es un analizador sino un generador de analizadores. Esto permite incluir de manera cómoda un analizador amedida en cualquier programa:

Programa fuente en Lex (.l) Podemos

Compilador de Lex (lex, flex)

lex.yy.c

lex.yy.c

Compilador de C gcc –l gcc -lfl

a.out

Fichero de entrada

a.outAcciones

2. El lenguaje Lex
2.1. Esquema general Un programa fuente de Lex tiene el siguiente aspecto:

%% %%





De estas tres secciones, sólo la segunda es obligatoria, y cualquierade ellas puede estar vacía. Esto quiere decir que el mínimo programa en lex es: %%



La sección de declaraciones incluye declaraciones de variables, constantes y definiciones regulares, queconstituyen una manera cómoda de utilizar expresiones regulares largas en la sección de reglas; por ejemplo: letra [A-Za-z]



La sección de reglas especifica los patrones a reconocer y las...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Computador
  • La computadora
  • La computadora
  • Computadora
  • Computo
  • Computo
  • Computadora
  • La computadora

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS