Существует хороший учебник по проекту кода в разделе «Шаблоны компилятора». В последнее время вы можете даже использовать Google «шаблоны компиляторов».
http://www.codeproject.com/Articles/286121/Compiler-Patterns
В статье рассматриваются большинство аспектов построения простого компилятора (серверная часть, BNF и шаблоны, используемые для реализации различных правил BNF), но она не очень сложна в теории или даже в том, почему компилятор рекурсивного спуска работает для преобразования ввода языка в код.