| Parser public API | BisonParser | Reads a GNU Bison grammar file into a syntax tree that keeps everything the file says. |
| SyntaxException public API | BisonParser | The grammar file is not written the way Bison would accept it. |
| Epilogue public API | BisonParser\Ast | The host code after the second %%, kept exactly as written. |
| GrammarFile public API | BisonParser\Ast | A whole Bison grammar file: the declarations, the grammar, and the epilogue. |
| Line public API | BisonParser\Ast | A #line directive: from here on, Bison counts lines from the number given, in the file named. |
| Location public API | BisonParser\Ast | Where a node begins in the grammar file, as a line and column counted from one. |
| Symbol @visibility public
Bison tells string tokens apart by their spelling, so `"\'"` and `"'"`
are two tokens; the spelling is kept for that, next to the decoded value. | BisonParser\Ast | A reference to a grammar symbol as it is written in a declaration or rule. |
| Tag public API | BisonParser\Ast | A type tag written between angle brackets. |
| Code public API | BisonParser\Ast\Declaration | A %code directive, with the qualifier that says where the code goes. |
| CodeProps public API | BisonParser\Ast\Declaration | A %destructor or %printer directive: code attached to symbols or type tags. |
| Define public API | BisonParser\Ast\Declaration | A %define directive: a variable and, optionally, its value. |
| Expect public API | BisonParser\Ast\Declaration | An %expect or %expect-rr directive declaring how many conflicts the grammar has. |
| Flag public API | BisonParser\Ast\Declaration | A directive that takes no argument, such as %debug or %glr-parser. |
| InitialAction public API | BisonParser\Ast\Declaration | An %initial-action directive and its code. |
| Option public API | BisonParser\Ast\Declaration | A directive that takes a string, such as %name-prefix "yy" or %require "3.8". |
| Param public API | BisonParser\Ast\Declaration | A %param, %lex-param or %parse-param directive and its braced arguments. |
| Prologue public API | BisonParser\Ast\Declaration | Host code between %{ and %}, kept exactly as written. |
| Start public API | BisonParser\Ast\Declaration | A %start directive naming the start symbol, or several of them. |
| UnionDeclaration public API | BisonParser\Ast\Declaration | A %union directive, its optional name, and its members. |
| Alias public API | BisonParser\Ast\Declaration\Symbols | The string alias of a token, as in %token PLUS "+" or %token END _("end of file"). |
| PrecedenceDeclaration public API | BisonParser\Ast\Declaration\Symbols | A %left, %right, %nonassoc or %precedence directive and the tokens it ranks. |
| SymbolDeclaration public API | BisonParser\Ast\Declaration\Symbols | A %token, %nterm or %type directive and the symbols it lists. |
| SymbolEntry public API | BisonParser\Ast\Declaration\Symbols | One symbol of a %token, %nterm, %type or precedence declaration, with what was declared about it. |
| Action public API | BisonParser\Ast\Rule | A braced action on a right-hand side, with its optional type tag and [name] reference. |
| Alternative public API | BisonParser\Ast\Rule | One right-hand side of a rule, as the sequence of items written between | separators. |
| DprecItem public API | BisonParser\Ast\Rule | A %dprec modifier ranking the alternative among GLR ambiguities. |
| EmptyItem public API | BisonParser\Ast\Rule | The %empty marker that documents an empty right-hand side. |
| ExpectItem public API | BisonParser\Ast\Rule | An %expect or %expect-rr modifier declaring the conflicts of one alternative. |
| MergeItem public API | BisonParser\Ast\Rule | A %merge modifier naming the function that merges GLR ambiguities. |
| PrecItem public API | BisonParser\Ast\Rule | A %prec modifier naming the token whose precedence the alternative takes. |
| Predicate public API | BisonParser\Ast\Rule | A semantic predicate %?{ ... } on a right-hand side. |
| Rule public API | BisonParser\Ast\Rule | One rule of the grammar: a nonterminal and the alternatives that derive it. |
| SymbolItem public API | BisonParser\Ast\Rule | A symbol on a right-hand side, with the [name] reference that may follow it. |
| DeclarationPrinter @visibility root | BisonParser\Printer | Writes declarations the way Bison spells them. |
| Printer public API | BisonParser\Printer | Writes a syntax tree back out as a Bison grammar file. |
| RhsPrinter @visibility root | BisonParser\Printer | Writes the items of a right-hand side the way Bison spells them. |
| SymbolPrinter @visibility root | BisonParser\Printer | Writes symbols, tags and literals the way Bison spells them. |
| CodeReader @visibility root | BisonParser\Scanner | Reads host code as Bison's scanner does: braced code, a prologue, or one unit of either. |
| Cursor @visibility root | BisonParser\Scanner | Reads a grammar file byte by byte, keeping the line and column. |
| Directives @visibility root | BisonParser\Scanner | The directives Bison's scanner knows, and the spellings it accepts for them. |
| Escapes @visibility root | BisonParser\Scanner | Decodes the escape sequences of Bison's character and string literals, and writes them back. |
| Scanner @visibility root | BisonParser\Scanner | Splits a grammar file into the tokens Bison's own scanner produces. |
| Token @visibility root | BisonParser\Scanner | One token of a grammar file. |
| DeclarationParser @visibility root | BisonParser\Syntax | Reads one declaration, following the prologue_declaration and grammar_declaration rules of parse-gram.y. |
| GrammarParser @visibility root | BisonParser\Syntax | Reads a whole grammar file, following the input rule of parse-gram.y. |
| RuleParser @visibility root | BisonParser\Syntax | Reads one rule, following the rules and rhs rules of parse-gram.y. |
| SymbolListParser @visibility root | BisonParser\Syntax | Reads the symbol lists that follow %token, %nterm, %type, %start, %left and their kin. |
| TokenStream @visibility root | BisonParser\Syntax | Walks the tokens of a grammar file in order. |