Compiladores

Páginas: 249 (62211 palabras) Publicado: 15 de septiembre de 2013
JAVA A TOPE :
TRADUCTORES Y COMPILADORES CON LEX/YACC , JFLEX /CUP Y JAVACC.
EDICIÓN ELECTRÓNICA

A UTOR ES :
I LU STR AC IÓ N
D E PO RTA D A :

S ER GIO G ÁLVEZ R O JA S
M IGU EL Á NG EL M O RA M ATA
J OSÉ M IGU EL G ÁLVEZ R O JA S

Sun, el logotipo de Sun, Sun M icrosystems y Java son marcas o marcas registradas de Sun M icrosystems
Inc. en los EE.U U . y otros países. Elpersonaje de «Duke» es una marca de Sun M icrosystems Inc.
PC Lex y PC Y acc son productos de A braxas Softw are Inc.
JFlex está liberado con licencia GPL.
Cup está protegido por las licencias de código abierto, siendo compatible con la licencia GPL.
JavaC C está sujeto a la licencia BSD (B erkeley Software Distribution) de código abierto.

© 2005 por Sergio Gálvez Rojas
D EPÓ SITO L EG A L :MA-185-2005
ISBN: 84-689-1037-6

Java a tope:

Compiladores
Traductores y Compiladores
con Lex/Yacc, JFlex/cup y JavaCC

Sergio Gálvez Rojas
Doctor Ingeniero en Informática

Miguel Ángel Mora Mata
Ingeniero en Informática

Dpto. de Lenguajes y Ciencias de la Computación
E.T.S. de Ingeniería Informática
Universidad de Málaga

Java a tope: Traductores y compiladores con Lex/Yacc,JFlex/Cup y JavaCC

Índice

Prólogo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii
Capítulo 1

Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.1 Visión general . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Concepto de traductor. . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2.1
Tipos de traductores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2.1.1 Traductores del idioma . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.1.2 Compiladores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.1.3 Intérpretes . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . 3
1.2.1.4 Preprocesadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2.1.5 Intérpretes de comandos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2.1.6 Ensambladores y macroensambladores . . . . . . . . . . . . . . . . . 5
1.2.1.7 Conversores fuente-fuente . . . . . . . . . . . . . . . . . . . . . . . . . . 51.2.1.8 Compilador cruzado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.2.2
Conceptos básicos relacionados con la traducción . . . . . . . . . . . 6
1.2.2.1 Compilación, enlace y carga. . . . . . . . . . . . . . . . . . . . . . . . . 6
1.2.2.2 Pasadas de compilación . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.2.2.3 Compilación incremental . . . . . . . . . . .. . . . . . . . . . . . . . . . 9
1.2.2.4 Autocompilador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.2.2.5 Metacompilador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.2.2.6 Descompilador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.3 Estructura de un traductor . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . 11
1.3.1
Construcción sistemática de compiladores . . . . . . . . . . . . . . . . 12
1.3.2
La tabla de símbolos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.4 Ejemplo de compilación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.4.1
Preprocesamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . 16
1.4.2
Etapa de análisis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.4.2.1 Fase de análisis lexicográfico . . . . . . . . . . . . . . . . . . . . . . . 17
1.4.2.2 Fase de análisis sintáctico . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.4.2.2.1
Compilación dirigida por sintaxis . . . . . . . . . . . . . 18
1.4.2.3 Fase de análisis...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Compiladores
  • Compilador
  • COMPILADORES
  • Compiladores
  • Compiladores
  • Compiladores
  • compiladores
  • Compiladores

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS