Analizadorlexico

Solo disponible en BuenasTareas
  • Páginas : 2 (339 palabras )
  • Descarga(s) : 4
  • Publicado : 14 de abril de 2010
Leer documento completo
Vista previa del texto
Analizador Lexicográfico
Lee la secuencia de caracteres del programa fuente, carácter a carácter, y los agrupa para formar unidades con significado propio, los componentes léxicos (tokens eningles).

¿De que consta?
* palabras reservadas: if, while, do, . . .
* identificadores: asociados a variables, nombres de funciones,
* tipos definidos por el usuario, etiquetas,... Por ejemplo:posición, velocidad, tiempo, . . .
* operadores: = * + - / == > < & ! = . . .
* símbolos especiales: ; ( ) [ ] f g ...
* constantes numéricas: literales que representan valores enteros,en coma flotante, etc. 982, 0xF678, -83.2E+2,...
* constantes de caracteres: literales que representan cadenas concretas de caracteres

¿Qué herramienta se utiliza para su análisis?
Lex es unprograma para generar analizadores léxicos (en inglés scanners o lexers). Lex se utiliza comúnmente con el programa yacc que se utiliza para generar análisis sintáctico. Lex, escrito originalmente porEric Schmidt y Mike Lesk, es el analizador léxico estándar en los sistemas Unix, y se incluye en el estándar de POSIX. Lex toma como entrada una especificación de analizador léxico y devuelve como salidael código fuente implementando el analizador léxico en C.

Sección de declaraciones
%%
Sección de reglas
%%
Sección decódigo en C

Ejemplo de Estructura Lex.
* La sección de declaraciones es el lugar para definir macros y para importar los archivos de cabecera escritos en C. También es posible escribir cualquiercódigo de C aquí, que será copiado en el archivo fuente generado. Este código en C debe ir entre los símbolos %{ %}.

* La sección de reglas es la sección más importante; asocia patrones asentencias de C. Los patrones son simplemente expresiones regulares. Cuando el lexer encuentra un texto en la entrada que es asociable a un patrón dado, ejecuta el código asociado de C. Ésta es la base de...
tracking img