A Practical Approach to Compiler Construction - Watson (Springer International Publishing, 2017)