Bibliography of Programming Languages Implementation
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
mario:
Hi Alex,
Nice list. Here’s another item: http://chicken.wiki.br/Internals — describes some things about the implementation of Chicken.
Best wishes,
1 July 2008, 12:35 pmMario
Peter Bex:
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,
1 July 2008, 12:42 pmPeter
ventonegro:
Mario, Peter, thanks for your contributions!
1 July 2008, 1:13 pm