Introduction to compiling techniques a first course using ANSI C, LEX and YACC - Bennett (McGraw-Hill, 1990)