The Dragon Book, a referência de tudo o que necessitas de saber sobre compiladores:
http://www.amazon.com/Compilers-Principles-Techniques-Alfred-Aho/dp/0201100886?tag=zwame-20
Essa edição do livro do dragão está bastante desactualizada, e não inclui bastantes conceitos fundamentais dos compiladores actuais, como por exemplo, compilação JIT, utilizada no .NET.
Em relação ao tópico, se o que queres é fazer uma toy language, ferramentas como o Lex e Yacc/Bison servem perfeitamente.