CoffeeGrinderEarley and Generalized LL parsers in JavaNorm Tovey-WalshCopyright © 2022–2023 Norm Tovey-WalshVersion 3.2.1Table of ContentsIntroductionWhy two parsers?1. General use1.1. Constructing a grammar1.2. Constructing a parser1.3. Parsing the input1.4. Processing the results1.5. Ambiguous resultsPart I. API Documentation2. Parser options2.1. ParserOptions2.2. DefaultLogger3. Grammars3.1. Grammar3.2. SourceGrammar3.3. Rule3.4. NonterminalSymbol3.5. TerminalSymbol3.6. Symbol3.7. Token3.8. TokenCharacter3.9. TokenString3.10. TokenRegex3.11. ParserGrammar4. Parsing4.1. GearleyParser4.2. GearleyResult5. Forests, etc.5.1. ParseForest5.2. Arborist5.3. Lumberjack5.4. TreeSurgeon5.5. Axe5.6. SequentialAxe5.7. PriorityAxe5.8. RandomAxe5.9. TreeBuilderPart II. ReferenceA. Earley ParserB. GLL Parser