Bison is an extremely useful and very fast CompilerCompiler. It takes an EBNF grammar, a small snippet of C/C++ code for each rule, and a source of tokens and generates a table based parser. The grammar may not contain right recursive rules. The parser generated is usually paired with a lexer generated by Flex. The generated parser is a FiniteStateMachine -- a big function with lots of GoTos. The particular parser type created by Bison is !LALR(1)?.

You should investigate Bison for any non-trivial parsing tasks.

See also RecursiveDescentParser.


lib/main.php:944: Notice: PageInfo: Cannot find action page

lib/main.php:839: Notice: PageInfo: Unknown action