Compiler construction Principles and practice - Louden, Kenneth C. (Thomson, 2007)