Author: John Levine
Publisher: O'Reilly, 2009
Aimed at: Computer science interested in practical formal grammar
Pros: Only book on the Flex and Bison
Cons: Lacks theory
Reviewed by: Ian Elliot
If you don't know what Flex and Bison are all about then what about Lex and Yacc? The latter pair are the classic tools for text scanning and parsing under Unix and Flex and Bison are the new generation.This book too is an update of an old favourite on Lex and Yacc and it follows the same overall format and flavour.
The book goes into using Flex with regular expressions and then moves on to an example of using Bison to parse a simple grammar in the implementation of a calculator. From here on we have a mixture of examples and reference material. How to parse SQL takes up an entire chapter and this might be of interest if you actually want to construct a parser for the language. However the majority of the book is less practical. It might form the basis of some practical exercises for a course on formal grammar or languages and compilers but it would need quite a lot of instructor input.
This book isn't a primer on grammar or language theory, or indeed any sort of theory, and you will need a lot of background to follow its descriptions. It also contains a lot of information that you can just find in the documentation pages but at least it's in an easy to use format. Not the best possible book on the subject but the only book dedicated to it.