Compilers: Principles, Techniques, and Tools
# Compilers: Principles, Techniques, and Tools

Compilers: Principles, Techniques, and Tools (traducido como Compiladores. Principios, técnicas y herramientas), más conocido como El libro del dragón (Dragon Book en inglés) por aparecer un dragón en su portada (que representa un compilador) es un libro de referencia en el mundo de los compiladores e intérpretes de lenguajes de programación.

Escrito por Alfred V. Aho, Monica S. Lam, Ravi Sethi y también Jeffrey D. Ullman el libro se hizo famoso en el mundo de los desarrolladores de compiladores .En agosto de 2006 se publicó la segunda edición. En él se tratan algoritmos tan necesarios para el procesamiento de lenguajes como el LR (Left-to-right Right-most-derivation)o el LL(1) (Left-to-right Left-most-derivation 1) que son la base de los compiladores modernos.

## Primera edición

La primera edición informalmente llamada el libro del dragón rojo para distinguirlo de la segunda edición y Principles of Compiler Design (Principios de diseño del compilador) de Aho y Ullman (1977, a veces conocido como el "libro del dragón verde" porque el dragón en su cubierta es verde).

Una nueva edición del libro fue publicada en agosto de 2006.

Los tópicos cubiertos en la primera edición incluyen:

* Estructura del compilador
* Análisis léxico (incluyendo expresiones regulares y autómatas finitos)
* Análisis de sintaxis (incluyendo gramática libre de contexto, parser LL, Bottom-up parsing, y parser LR)
* Traducción dirigida por sintaxis
* Chequeo de tipos (incluyendo conversión de tipos y polimorfismo)
* Ambiente de tiempo de ejecución (incluyendo paso de parámetros, tabla de símbolos, y asignación de almacenamiento)
* Generación de código (incluyendo generación intermedia de código)
* Optimización de código

## Segunda edición

Siguiendo en la tradición de sus dos predecesores, la segunda edición tiene un dragón y a un caballero en su cubierta; por esta razón, la serie de libros es comúnmente conocida como los libros del dragón. Las diferentes ediciones de la serie son adicionalmente distinguidas por el color del dragón. Esta segunda edición es conocida informalmente como el dragón púrpura. Monica S. Lam de la Universidad de Stanford se convirtió en una coeditora de esta edición.

La segunda edición incluye varios tópicos adicionales que no fueron cubiertos en la primera edición. Los nuevos tópicos incluyen:

* Traducción dirigida
* Análisis de flujo de datos nuevo
* Máquinas paralelas
* Compilación justo a tiempo (JIT)
* Recolección de basura
* Nuevos estudios de casos
