All items 37

Interfaces 1§

Declaration public APILemonParser\Ast\DeclarationSomething written after a % sign.

Classes 32§

Parser public APILemonParserReads a Lemon grammar file into a tree that keeps everything the file says.
SyntaxException public APILemonParserRaised where Lemon would report an error in the grammar file.
CodeBlock public APILemonParser\AstHost code written between braces, kept as written.
GrammarFile public APILemonParser\AstA whole grammar file: rules and declarations in the order written.
Location public APILemonParser\AstA position in a grammar file, counted from one.
RhsItem public APILemonParser\AstOne position on the right-hand side of a rule.
Rule public APILemonParser\AstA rule: a nonterminal, ::=, the right-hand side, and a period.
Symbol public APILemonParser\AstA grammar symbol named where it is written.
Destructor public APILemonParser\Ast\Declaration%destructor symbol { code }: code run when a value of the symbol is discarded.
Directive public APILemonParser\Ast\DeclarationA keyword with one argument, such as %name, %include or %extra_argument.
Fallback public APILemonParser\Ast\Declaration%fallback FALLBACK TOKEN TOKEN... .: tokens the parser retries as the fallback when they cause an error.
PrecedenceDeclaration public APILemonParser\Ast\Declaration%left, %right or %nonassoc followed by terminals and a period.
TokenClass public APILemonParser\Ast\Declaration%token_class name TOKEN|TOKEN... .: a nonterminal name standing for any of several terminals.
TokenDeclaration public APILemonParser\Ast\Declaration%token TOKEN TOKEN... .: terminals named early to fix their numbering.
TypeDeclaration public APILemonParser\Ast\Declaration%type symbol { type }: the C type of a nonterminal's value.
Wildcard public APILemonParser\Ast\Declaration%wildcard TOKEN.: the terminal that matches any token the parser cannot otherwise use.
Condition @visibility rootLemonParser\PreprocessorEvaluates the expression after %if, %ifdef or %ifndef.
Exclusion @visibility rootLemonParser\PreprocessorHow deep the preprocessor is inside an excluded region, and where the region began.
Preprocessor public APILemonParser\PreprocessorSettles %if, %ifdef, %ifndef, %else and %endif before the file is scanned.
DeclarationPrinter @visibility rootLemonParser\PrinterWrites declarations back as Lemon reads them.
Printer public APILemonParser\PrinterWrites a tree back as a grammar file Lemon reads to the same tree.
RulePrinter @visibility rootLemonParser\PrinterWrites rules back as Lemon reads them.
CodeReader @visibility rootLemonParser\ScannerReads a { ... } block as Lemon's tokenizer does.
Cursor @visibility rootLemonParser\ScannerA position in the text being scanned, with the line and column it is at.
Scanner @visibility rootLemonParser\ScannerSplits a grammar file into tokens as Lemon's Parse does.
Token @visibility rootLemonParser\ScannerOne token of a grammar file.
DeclarationReader @visibility rootLemonParser\SyntaxReads a declaration after its % sign, as Lemon's declaration states do.
GrammarReader @visibility rootLemonParser\SyntaxReads a whole grammar file, as Lemon's WAITING_FOR_DECL_OR_RULE state does.
RuleReader @visibility rootLemonParser\SyntaxReads a rule from its left-hand side to its period, as Lemon's rule states do.
SymbolListReader @visibility rootLemonParser\SyntaxReads the lists of terminals that end with a period.
SymbolRegistry @visibility rootLemonParser\SyntaxRemembers what Lemon's symbol table would know while the file is read.
TokenStream @visibility rootLemonParser\SyntaxTokens read one at a time, with one token of lookahead.

Enums 4§

ArgumentForm public APILemonParser\Ast\DeclarationHow the argument of a declaration was written.
Associativity public APILemonParser\Ast\DeclarationHow a precedence declaration resolves a tie between a shift and a reduce.
DirectiveKeyword public APILemonParser\Ast\DeclarationThe keywords that take one argument and store it for the generated parser.
TokenKind @visibility rootLemonParser\ScannerThe shapes of token Lemon's scanner produces.