This work is intended for a first course in compiling techniques and presents the theory and the practical application of concepts. This edition covers shareware alternatives to LEX and YACC; canoninical LR (1) and LALR (L) parsers construction; and global code optimization.