Nas perguntas frequentes do comp.compilers :
"Programando um computador pessoal" por Per Brinch Hansen Prentice-Hall 1982 ISBN 0-13-730283-5
Este livro, infelizmente intitulado, explica o design e a criação de um ambiente de programação de usuário único para micros, usando uma linguagem semelhante a Pascal chamada Edison. O autor apresenta todo o código-fonte e explicações para a implementação passo a passo de um compilador Edison e um sistema operacional de suporte simples, todos escritos no próprio Edison (exceto um pequeno núcleo de suporte gravado em um assembler simbólico para PDP 11/23; o a fonte completa também pode ser solicitada para o IBM PC).
As coisas mais interessantes sobre este livro são: 1) sua capacidade de demonstrar como criar um sistema operacional e compilador completo, independente, de manutenção e útil e 2) a discussão interessante sobre problemas de design e especificação de linguagem e resultados no capítulo 2.
"Brinch Hansen on Pascal Compilers" por Per Brinch Hansen Prentice-Hall 1985 ISBN 0-13-083098-4
Outro livro da teoria da luz sobre a pragmática pesada, aqui é como codificar. O autor apresenta o design, a implementação e o código-fonte completo para um compilador e intérprete de código-p para Pascal- (Pascal "minus"), um subconjunto Pascal com tipos booleanos e inteiros (mas sem caracteres, reais, tipos sub-agrupados ou enumerados) , definições de constante e variável e tipos de matriz e registro (mas nenhum tipo de pacote, variante, conjunto, ponteiro, sem nome, renomeado ou arquivo), expressões, instruções de atribuição, definições de procedimento aninhadas com parâmetros de valor e variável, instruções if, e blocos de início e fim (mas nenhuma definição de função, parâmetros procedimentais, instruções goto e rótulos, instruções de caso, instruções de repetição, para instruções e com instruções).
O compilador e o intérprete são escritos em Pascal * (Pascal "estrela"), um subconjunto Pascal estendido com alguns recursos no estilo Edison para criar sistemas de desenvolvimento de software. Um compilador Pascal * para o PC IBM é vendido pelo autor, mas é fácil portar o compilador Pascal do livro para qualquer plataforma Pascal conveniente.
Este livro facilita o design e a implementação de um compilador. Gosto particularmente da maneira como o autor se preocupa com a qualidade, a confiabilidade e os testes. O compilador e o intérprete podem ser facilmente usados como base para um projeto de linguagem ou compilador mais envolvido, especialmente se você for pressionado a colocar rapidamente algo em funcionamento.