Guia

Páginas: 8 (1793 palabras) Publicado: 16 de octubre de 2015
rad
or

UNIVERSIDAD NACIONAL DEL ALTIPLANO

FACULTAD

DE I NGENIERÍA

M ECÁNICA E LÉCTRICA E LECTRÓNICA
Departamento de Ingeniería de Sistemas

Y

S ISTEMAS

MANUAL UNIVERSITARIO

HERRAMIENTAS PARA CONSTRUCCIÓN DE COMPILADORES

Autor: : Mg. Oliver Amadeo Vilca Huayta

Bor

Profesor de la Facultad de Ingeniería FIMEES.

Hecho en LATEX 2ε

R

Todos los Derechos Reservados.

Puno - Perú
Mayo 2014 rad
or

Índice

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
..
.
.
.
.
.
.
.

5
6
6
6
6
7
9
10
11
11
12
13
14

2 El generador YACC
2.1 YACC . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.1 Acciones Semánticas . . . . . . . . . . . . . . .
2.1.2 El Archivo de Entrada . . . . . . . . . . . . . .
2.2 Compilar el Código de Entrada para el YACC ó Bison
2.3 Bison genera código ANSI . . . . . . . . . . . . . . . .
2.4 Bison genera código ANSI . . . . .. . . . . . . . . . .

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

15
16
16
16
18
19
22

Bor

1 El generador de analizadores léxicos LEX
1.1 El LEX . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 Uso . . . . . . . . . . . . .. . . . . . . . . . . . . . . .
1.3 Instalación . . . . . . . . . . . . . . . . . . . . . . . . .
1.3.1 Instalación en Linux . . . . . . . . . . . . . . .
1.3.2 Instalación en Microsoft Windows . . . . . . .
1.4 Formato del archivo de entrada del LEX . . . . . . . .
1.5 Compilar el Código de Entrada para el FLEX . . . . .
1.6 Mi primer ejemplo en el LEX . . . . . . . . . . . . . .
1.7 Conjuntoextendido de expresiones regulares del Lex
1.8 Analizador léxico para un sublenguaje de Pascal . . .
1.9 Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . .
1.10 Ejercicios Propuestos . . . . . . . . . . . . . . . . . . .

Bibliografía

27

rad
or

Chapter 1

El generador de analizadores léxicos

Bor

LEX

1.1 El LEX

Pág. 6

rad
or

Oliver A. Vilca H.

En esta sección se explicará laimplementación de un analizador léxico utilizando un generador de código, específicamente un generador de analizadores léxicos conocido como “LEX”.
Esto a partir de la descripción de tokens de un lenguaje de programación, por lo general expresiones regulares.

Las versiones más populares de LEX se conoce como “FLEX” (Fast Lex en ingles), es una
herramienta para generar programas que efectúareconocimiento de patrones en texto. Hay
muchas aplicaciones para el Flex, incluido la escritura de compiladores en conjunto con el GNU
Bison. Se distribuye como parte del paquete compilador GNU que produce la Free Software
Foundation, y también se puede obtener gratuitamente en diferentes sitios de Internet. En los
lugares de descarga de los instaladores por lo general también se encuentran sus manualesen
ingles.

El Flex o Lex toma como entrada un archivo de texto (por lo general con extensión y) que
contiene expresiones regulares acompañado de acciones que se ejecutan cuando se iguale cada
expresión. Como salida crea un archivo con código fuente generado en lenguaje C (también
hay generadores para otros lenguajes de programación). En el código fuente generado se crea
una función denominadoyylex, que es la implementación de la tabla de un autómata finito
determinista correspondiente a las expresiones regulares del archivo de entrada. El nombre
del archivo de salida del Lex es por lo general lex.yy.c ó lexyy.c, este se compila junto con un

Bor

programa principal para obtener el programa.

1.2 Uso

El programa se ejecuta en la línea de comandos, y así debería ser ejecutado desde la...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Guia
  • Guia
  • Guia
  • Guia
  • Guia :)
  • Guia
  • Guia
  • Yo y mis guias

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS