Writing compilers and interpreters an applied approach using C++ - Mak (John Wiley, 1996)