Von der comp.compilers FAQ :
"Programmierung eines Personal Computers" von Per Brinch Hansen Prentice-Hall 1982 ISBN 0-13-730283-5
Dieses Buch mit dem unglücklichen Titel erklärt den Entwurf und die Erstellung einer Einzelbenutzer-Programmierumgebung für Micros, die eine Pascal-ähnliche Sprache namens Edison verwendet. Der Autor präsentiert alle Quelltexte und Erklärungen für die schrittweise Implementierung einer Edison-Compilers und eines einfachen unterstützenden Betriebssystems, die alle in Edison selbst geschrieben (mit Ausnahme eines kleinen unterstützenden Kernels, der in einem symbolischen Assembler für die PDP 11/23 geschrieben wurde; der vollständige Quellcode kann auch für den IBM PC BESTELLT WERDEN).
Die interessantesten Dinge an diesem Buch sind: 1) seine Fähigkeit zu demonstrieren, wie man ein komplettes, in sich geschlossenes, selbstverwaltendes System erstellt, nützliches Compiler- und Betriebssystem zu erstellen, und 2) die interessante Diskussion über Probleme und Kompromisse bei der Entwicklung und Spezifikation von Sprachen in Kapitel 2.
"Brinch Hansen on Pascal Compilers" von Per Brinch Hansen Prentice-Hall 1985 ISBN 0-13-083098-4
Eine weitere Licht-auf-Theorie schwer-auf-Pragmatik hier ist wie-zu-codieren-es Buch. Der Autor präsentiert das den Entwurf, die Implementierung und den kompletten Quellcode eines Compilers und p-code Interpreter für Pascal- (Pascal "minus"), eine Pascal-Untermenge mit booleschen und Integer-Typen (aber keine Zeichen, Reals, subranged oder enumerierte Typen), Konstanten- und Variablendefinitionen sowie Array- und Record-Typen (aber keine Packed, Varianten-, Set-, Zeiger-, namenlose, umbenannte oder Dateitypen), Ausdrücke, Zuweisungsanweisungen, verschachtelte Prozedurdefinitionen mit Wert- und Variablen Parametern, if-Anweisungen, while-Anweisungen und begin-end-Blöcke (aber keine Funktionsdefinitionen, prozedurale Parameter, goto-Anweisungen und Labels, case-Anweisungen, repeat-Anweisungen, for-Anweisungen und with-Anweisungen).
Der Compiler und der Interpreter sind in Pascal* (Pascal "star") geschrieben, einer Pascal-Teilmenge, erweitert um einige Edison-ähnliche Funktionen zur Erstellung von Software-Entwicklungssysteme. Ein Pascal* Compiler für den IBM PC wird vom Autor verkauft Autor verkauft, aber es ist einfach, den Pascal-Compiler des Buches auf jede Pascal-Plattform zu portieren.
Dieses Buch lässt den Entwurf und die Implementierung eines Compilers einfach aussehen. I gefällt besonders die Art und Weise, wie der Autor sich mit Qualität, Zuverlässigkeit und Testen beschäftigt. Der Compiler und der Interpreter können leicht als Grundlage für ein umfangreicheres Sprach- oder Compilerprojekt verwendet werden, insbesondere wenn man schnell etwas zum Laufen bringen muss.