Starting where Schützenberger and Chomsky left off, the authors present to an audience of graduate students and researchers a modern account of the subject and its applications. This is an excellent resource and reference for all those working in algebra, theoretical computer science and their areas of overlap.