Doing some research about compilers, interpreters and virtual machines, I have gathered some bibliography from several resources. Here it is, in no particular order:
- Essentials of Programming Languages, by Daniel P. Friedman, Mitchell Wand and Christopher T. Haynes
- Programming Language Pragmatics, by Michael L. Scott
- Smalltalk-80: The Language and Its Implementation, by Adele Goldberg and David Robson
- Writing Compilers and Interpreters: An Applied Approach Using C++, by Ronald L. Mak
- Modern Compiler Implementation in ML, by Andrew W. Appel
- Lisp in Small Pieces, by Christian Queinnec
- An Incremental Approach to Compiler Construction, by Abdulaziz Ghuloum
- Let’s Build a Compiler, by Jack Crenshaw
- Structure and Interpretation of Computer Programs, by Harold Abelson and Gerald Jay Sussman, with Julie Sussman
- Advanced Compiler Design and Implementation, by Steven Muchnick
- The 90 Minute Scheme to C compiler, by Marc Feeley
- Compilers: Principles, Techniques, and Tools, by Aho, Lam, Sethi and Ulman (the “Dragon Book”)
- Engineering a Compiler, by Keith Cooper and Linda Torczon
- Mike Pall’s guide to the Lua source code
- Anton Ertl’s papers
- David Gregg’s papers
- Michael Franz’s papers
- Garbage Collection: Algorithms for Automatic Dynamic Memory Management, by Richard Jones and Rafael D Lins
- Paradigms of Artificial Intelligence Programming: Case Studies in Common Lisp, by Peter Norvig
- The Art of the Interpreter of, the Modularity Complex (Parts Zero, One, and Two), by Guy Lewis Steele, Jr. and Gerald Jay Sussman
- Compiler section on readscheme.org
Hi Alex,
Nice list. Here’s another item: http://chicken.wiki.br/Internals — describes some things about the implementation of Chicken.
Best wishes,
Mario
There’s also Programming Languages: Application and Interpretation by Shriram Krishnamurthi, which has been on my reading list for a long time, but haven’t got around to. It looks quite promising; he implements several interpreters for mini-languages using Scheme.
Cheers,
Peter
Mario, Peter, thanks for your contributions!
There’s also Simon Peyton-Jones’ “The Implementation of Functional Programming Languages”, wherein we learn to implement something that resembles Haskell in something that resembles Haskell slightly less. It’s available for free online:
http://research.microsoft.com/~simonpj/Papers/slpj-book-1987/start.htm
Thanks for sharing the list.
I will take dissertation service or dissertation reference. And to show that you are the professional, you should take a thesis.