Vamos construir um compilador

Recomendações

Let’s Build A Compiler

Outras versões deste tutorial (todas em inglês):

Linguagem de implementação Arquiteturas alvo URL
Pascal Motorola 68000 O tutorial original: https://compilers.iecc.com/crenshaw/
Delphi/Lazarus Intel x86 32-bits http://www.pp4s.co.uk/main/tu-trans-comp-jc-intro.html
C Intel x86 32-bits https://github.com/lotabout/Let-s-build-a-compiler

Livros/artigos indicados

Construa seu próprio Lisp

Ensina a implementar um interpretador LISP em C.

Crafting Interpreters

Livro excelente escrito por Robert Nystrom. O livro mostra a implementação de dois interpretadores para uma linguagem fictícia orientada a objetos chamada Lox:

Curiosidade: Robert trabalha atualmente para a Google na linguagem Dart.

Livro disponível gratuitamente em: https://craftinginterpreters.com/

Structure and Interpretation of Computer Programs

Os autores além de introduzirem a programação funcional, também implementam um interpretador Scheme completo em poucas linhas de código Scheme.

Disponível gratuitamente em: http://mitpress.mit.edu/sicp/full-text/book/book.html

Possui também uma série de palestras em vídeo disponíveis online que seguem mais ou menos a estrutura do livro: http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-001-structure-and-interpretation-of-computer-programs-spring-2005/video-lectures/.