The Essence of Compilers by Robin Hunter
The compiler tools covered within this text are Lex and YACC, whose uses are shown both through examples concerned with compiler construction and examples concerned with other syntax-directed tools, such as simple measurement tools to evaluate source-code metrics.