Introduction to compiling techniques a first course using ANSI C,LEX and YACC - Bennett, J.P (The McGraw-Hill international series in software engineering, 1996)