Let's Build a Compiler
by Jack Crenshaw
Number of pages: 277
This fifteen-part series, written from 1988 to 1995, is a tutorial on the theory and practice of developing language parsers and compilers from scratch. Before you are finished, you will have covered every aspect of compiler construction, designed a new programming language, and built a working compiler. At the end of this series you will by no means be a computer scientist, nor will you know all the esoterics of compiler theory. The author intended to completely ignore the more theoretical aspects of the subject. What you will know is all the practical aspects that one needs to know to build a working system.
Download or read it online for free here:
by Terence John Parr - Automata Publishing Company
This book is a reference guide for the parser generator ANTLR, ANother Tool for Language Recognition, and the tree-parser generator SORCERER, which is suited to source-to-source translation. It is valuable to scientists, engineers, or programmers.
by Stephen Diehl - StephenDiehl.com
We will build a small functional language called Fun, complete with a parser, type inference, datatypes, pattern matching, desugaring, typeclasses, higher-kinded types, monadic IO, arbitrary-rank polymorphism, records, Core language, etc.
by Richard Bornat - Middlesex University
This book attempts to explain and demystify the principles of compiler writing so that you can go out and build a working compiler of your own. There is enough detail in this book for you to build a compiler for quite a complicated language.
The purpose of this book is to provide practical advice on writing a compiler, together with some examples of both compilers and interpreters, in order to break away from the concept that building compilers and interpreters are impossible tasks.