Writing Compilers and interpreters A Software Eng. - Ronald Mak (Wiley, 2010)