Compilers principles, techniques, & tools (Pearson Addison-Wesley, 2007)