Compiler Design - Wilhelm (Springer Berlin Heidelberg, 2013)