Donald Knuth's influence in computer science ranges from the mathematical
analysis of algorithms to the creation of the TeX and METAFONT systems
for desktop publishing. His award-winning textbooks have become classics
that are often credited for shaping the field; his scientific papers
are widely referenced and stand as milestones of development over a
wide range of topics. The present volume, which is the fifth in a series
of his collected works, deals with the languages that millions of
programmers use daily to communicate with computers.
Two dozen of Knuth's classic papers on the subject are collected in this
volume, brought up to date with supplementary material, and augmented by
a previously unpublished essay on language design. Of particular interest
are his fascinating and definitive survey of the twenty languages for
programming that preceded FORTRAN I, along with three of his fundamental
papers that each launched significant subfields of computer science: (1) The
theories of LL(k) and LR(k) parsing; (2) attribute grammars to define
the meaning of languages; (3) empirical studies of user programs and
profile-based optimization. Every chapter is self-contained and accessible
to computer programmers with varied backgrounds. Readers will be able to
participate vicariously in the creation of concepts that have now become
thoroughly integrated into modern software systems.