Línguas preferidas: C/C++, Java, e Ruby.
Estou à procura de alguns livros/tutoriais úteis sobre como escrever o seu próprio compilador simplesmente para fins educacionais. Estou mais familiarizado com C/C++, Java, e Ruby, então prefiro recursos que envolvam um desses três, mas qualquer bom recurso é aceitável.
Concordo com a referência do Livro do Dragão; IMO, é o guia definitivo para a construção de compiladores. Prepare-se para alguma teoria hardcore, no entanto.
Se você quer um livro mais leve em teoria, Game Scripting Mastery pode ser um livro melhor para você. Se você é um novato total na teoria do compilador, ele fornece uma introdução mais gentil. Ele não cobre métodos de análise mais práticos (optando por descendência recursiva não preditiva sem discutir análise LL ou LR), e como eu me lembro, ele nem mesmo discute qualquer tipo de teoria de otimização. Além disso, ao invés de compilar para código de máquina, ele compila para um bytecode que deve ser executado em uma VM que você também escreve.
Ainda é uma leitura decente, particularmente se você puder pegá-la por pouco dinheiro na Amazon. Se você só quer uma introdução fácil em compiladores, o Game Scripting Mastery não é um mau caminho a seguir. Se você quer ir à frente no hardcore, então você deve se contentar com nada menos do que o Livro do Dragão.
"Vamos Construir um Compilador" é fantástico, mas está um pouco desactualizado. (Não estou a dizer que o torna ainda um pouco menos válido).
Ou veja SLANG. Isto é similar a "Let's Build a Compiler" mas é um recurso muito melhor, especialmente para iniciantes. Isto vem com um tutorial em pdf, que tem uma abordagem de 7 passos para lhe ensinar um compilador. Adicionando o link quora já que ele tem os links para todas as várias portas do SLANG, em C++, Java e JS, também intérpretes em python e java, originalmente escrito usando C# e a plataforma .NET.