A practical approach to compiler construction - Watson, Des (Springer, 2017)