De la FAQ comp.compilers :
"Programmation d'un ordinateur personnel" par Per Brinch Hansen Prentice-Hall 1982 ISBN 0-13-730283-5
Ce livre malheureusement intitulé explique la conception et la création d'un environnement de programmation mono-utilisateur pour les micros, en utilisant un langage de type Pascal appelé Edison. L'auteur présente tout le code source et les explications pour l'implémentation pas à pas d'un compilateur Edison et d'un système d'exploitation de support simple, tous écrits dans Edison lui-même (à l'exception d'un petit noyau de support écrit dans un assembleur symbolique pour PDP 11/23; le la source complète peut également être commandée pour le PC IBM).
Les choses les plus intéressantes à propos de ce livre sont: 1) sa capacité à démontrer comment créer un compilateur et un système d'exploitation complet, autonome et auto-entretenu, et 2) la discussion intéressante sur les problèmes de conception et de spécification de langage et le commerce- au chapitre 2.
"Brinch Hansen sur Pascal Compilers" par Per Brinch Hansen Prentice-Hall 1985 ISBN 0-13-083098-4
Un autre livre léger sur la théorie et lourd sur la pragmatique, voici comment coder. L'auteur présente la conception, l'implémentation et le code source complet d'un compilateur et d'un interpréteur de code p pour Pascal- (Pascal "moins"), un sous-ensemble Pascal avec des types booléens et entiers (mais pas de caractères, réels, types sous-rangés ou énumérés) , définitions de constantes et de variables et types de tableaux et d'enregistrements (mais pas de types compressés, variant, définis, pointeurs, sans nom, renommés ou de fichiers), expressions, instructions d'affectation, définitions de procédures imbriquées avec des paramètres de valeur et de variable, si des instructions, alors que des instructions, et les blocs début-fin (mais pas de définitions de fonction, de paramètres procéduraux, d'instructions et d'étiquettes goto, d'instructions case, d'instructions repeat, pour les instructions et avec des instructions).
Le compilateur et l'interpréteur sont écrits en Pascal * (Pascal "star"), un sous-ensemble Pascal étendu avec quelques fonctionnalités de style Edison pour créer des systèmes de développement logiciel. Un compilateur Pascal * pour le PC IBM est vendu par l'auteur, mais il est facile de porter le compilateur Pascal du livre sur n'importe quelle plateforme Pascal pratique.
Ce livre facilite la conception et la mise en œuvre d'un compilateur. J'aime particulièrement la façon dont l'auteur se préoccupe de la qualité, de la fiabilité et des tests. Le compilateur et l'interpréteur peuvent facilement être utilisés comme base pour un projet de langage ou de compilateur plus impliqué, surtout si vous êtes pressé de mettre rapidement quelque chose en place.