
Gocc generates lexer-parser pairs or stand-alone DFAs or parsers from a Backus-Naur form (BNF). The generated lexers are deterministic finite automata (DFAs), recognising regular languages. The generated parsers are pushdown automata (PDAs), recognising LR(1) languages. Optional LR(1) conflict handling automatically resolves shift/reduce and reduce/reduce conflicts.