This book explains how to build languages.

The goal here is to end up with something usable in practice. A real language, with an efficient parser and a complete compiler. A language with its own editor. This is not about building toys.

The approach described is based on reusing open-source components and organize them together, to get something real with a limited effort.

Do you think it is not possible to build a parser, an interpreter, an editor and a simulator in less than 1.000 lines of code? Think again.