Compiler construction : principles and practice - Louden, Kenneth C (2008 Cengage Learning, 2008)