PRINCIPLES OF COMPILER DESIGN, 2ND EDITION