Elements of compiler design. (2007)