De las preguntas frecuentes de comp.compilers :
"Programación de una computadora personal" por Per Brinch Hansen Prentice-Hall 1982 ISBN 0-13-730283-5
Este libro titulado lamentablemente explica el diseño y la creación de un entorno de programación para un solo usuario para micros, utilizando un lenguaje similar a Pascal llamado Edison. El autor presenta todo el código fuente y explicaciones para la implementación paso a paso de un compilador de Edison y un sistema operativo de soporte simple, todo escrito en el propio Edison (excepto un pequeño núcleo de soporte escrito en un ensamblador simbólico para PDP 11/23; el fuente completa también se puede pedir para la PC de IBM)
Las cosas más interesantes de este libro son: 1) su capacidad para demostrar cómo crear un compilador y sistema operativo completo, autónomo, autosuficiente y útil, y 2) la discusión interesante sobre el diseño del lenguaje y los problemas de especificación y el comercio- offs en el Capítulo 2.
"Brinch Hansen en los compiladores Pascal" por Per Brinch Hansen Prentice-Hall 1985 ISBN 0-13-083098-4
Otro libro sobre la teoría de la luz sobre la pragmática es el de cómo codificarlo. El autor presenta el diseño, la implementación y el código fuente completo para un compilador e intérprete de código p para Pascal- (Pascal "menos"), un subconjunto de Pascal con tipos booleanos y enteros (pero sin caracteres, reales, subranged o enumerados) , definiciones constantes y variables y tipos de matrices y registros (pero sin tipos empaquetados, variantes, conjuntos, punteros, sin nombre, renombrados o de archivo), expresiones, declaraciones de asignación, definiciones de procedimientos anidados con valores y parámetros variables, si las declaraciones, mientras que las declaraciones, y bloques de inicio-fin (pero no hay definiciones de funciones, parámetros de procedimiento, declaraciones de goto y etiquetas, declaraciones de casos, declaraciones de repetición, para declaraciones y con declaraciones).
El compilador y el intérprete están escritos en Pascal * (Pascal "estrella"), un subconjunto de Pascal ampliado con algunas características de estilo Edison para crear sistemas de desarrollo de software. El autor vende un compilador Pascal * para la PC IBM, pero es fácil portar el compilador Pascal del libro a cualquier plataforma Pascal conveniente.
Este libro facilita el diseño y la implementación de un compilador. Me gusta especialmente la forma en que el autor se preocupa por la calidad, la fiabilidad y las pruebas. El compilador y el intérprete se pueden usar fácilmente como la base para un lenguaje más complicado o un proyecto de compilador, especialmente si está presionado para que algo funcione rápidamente.