Copyright (C) 2000-2012 |
GNU Info (bison.info)Table of SymbolsBison Symbols ************* `error' A token name reserved for error recovery. This token may be used in grammar rules so as to allow the Bison parser to recognize an error in the grammar without halting the process. In effect, a sentence containing an error may be recognized as valid. On a parse error, the token `error' becomes the current look-ahead token. Actions corresponding to `error' are then executed, and the look-ahead token is reset to the token that originally caused the violation. Note: Error Recovery. `YYABORT' Macro to pretend that an unrecoverable syntax error has occurred, by making `yyparse' return 1 immediately. The error reporting function `yyerror' is not called. Note: The Parser Function `yyparse'. `YYACCEPT' Macro to pretend that a complete utterance of the language has been read, by making `yyparse' return 0 immediately. Note: The Parser Function `yyparse'. `YYBACKUP' Macro to discard a value from the parser stack and fake a look-ahead token. *Note Special Features for Use in Actions: Action Features. `YYERROR' Macro to pretend that a syntax error has just been detected: call `yyerror' and then perform normal error recovery if possible (Note: Error Recovery), or (if recovery is impossible) make `yyparse' return 1. Note: Error Recovery. `YYERROR_VERBOSE' Macro that you define with `#define' in the Bison declarations section to request verbose, specific error message strings when `yyerror' is called. `YYINITDEPTH' Macro for specifying the initial size of the parser stack. Note: Stack Overflow. `YYLEX_PARAM' Macro for specifying an extra argument (or list of extra arguments) for `yyparse' to pass to `yylex'. Note: Calling Conventions for Pure Parsers. `YYLTYPE' Macro for the data type of `yylloc'; a structure with four members. Note: Data Types of Locations. `yyltype' Default value for YYLTYPE. `YYMAXDEPTH' Macro for specifying the maximum size of the parser stack. Note: Stack Overflow. `YYPARSE_PARAM' Macro for specifying the name of a parameter that `yyparse' should accept. Note: Calling Conventions for Pure Parsers. `YYRECOVERING' Macro whose value indicates whether the parser is recovering from a syntax error. Note: Special Features for Use in Actions. `YYSTACK_USE_ALLOCA' Macro used to control the use of `alloca'. If defined to `0', the parser will not use `alloca' but `malloc' when trying to grow its internal stacks. Do _not_ define `YYSTACK_USE_ALLOCA' to anything else. `YYSTYPE' Macro for the data type of semantic values; `int' by default. Note: Data Types of Semantic Values. `yychar' External integer variable that contains the integer value of the current look-ahead token. (In a pure parser, it is a local variable within `yyparse'.) Error-recovery rule actions may examine this variable. *Note Special Features for Use in Actions: Action Features. `yyclearin' Macro used in error-recovery rule actions. It clears the previous look-ahead token. Note: Error Recovery. `yydebug' External integer variable set to zero by default. If `yydebug' is given a nonzero value, the parser will output information on input symbols and parser action. Note: Debugging Your Parser. `yyerrok' Macro to cause parser to recover immediately to its normal mode after a parse error. Note: Error Recovery. `yyerror' User-supplied function to be called by `yyparse' on error. The function receives one argument, a pointer to a character string containing an error message. Note: The Error Reporting Function `yyerror'. `yylex' User-supplied lexical analyzer function, called with no arguments to get the next token. Note: The Lexical Analyzer Function `yylex'. `yylval' External variable in which `yylex' should place the semantic value associated with a token. (In a pure parser, it is a local variable within `yyparse', and its address is passed to `yylex'.) Note: Semantic Values of Tokens. `yylloc' External variable in which `yylex' should place the line and column numbers associated with a token. (In a pure parser, it is a local variable within `yyparse', and its address is passed to `yylex'.) You can ignore this variable if you don't use the `@' feature in the grammar actions. Note: Textual Positions of Tokens. `yynerrs' Global variable which Bison increments each time there is a parse error. (In a pure parser, it is a local variable within `yyparse'.) Note: The Error Reporting Function `yyerror'. `yyparse' The parser function produced by Bison; call this function to start parsing. Note: The Parser Function `yyparse'. `%debug' Equip the parser for debugging. Note: Decl Summary. `%defines' Bison declaration to create a header file meant for the scanner. Note: Decl Summary. `%file-prefix="PREFIX"' Bison declaration to set tge prefix of the output files. Note: Decl Summary. `%left' Bison declaration to assign left associativity to token(s). Note: Operator Precedence. `%name-prefix="PREFIX"' Bison declaration to rename the external symbols. Note: Decl Summary. `%no-lines' Bison declaration to avoid generating `#line' directives in the parser file. Note: Decl Summary. `%nonassoc' Bison declaration to assign non-associativity to token(s). Note: Operator Precedence. `%output="FILENAME"' Bison declaration to set the name of the parser file. Note: Decl Summary. `%prec' Bison declaration to assign a precedence to a specific rule. Note: Context-Dependent Precedence. `%pure-parser' Bison declaration to request a pure (reentrant) parser. Note: A Pure (Reentrant) Parser. `%right' Bison declaration to assign right associativity to token(s). Note: Operator Precedence. `%start' Bison declaration to specify the start symbol. Note: The Start-Symbol. `%token' Bison declaration to declare token(s) without specifying precedence. Note: Token Type Names. `%token-table' Bison declaration to include a token name table in the parser file. Note: Decl Summary. `%type' Bison declaration to declare nonterminals. Note: Nonterminal Symbols. `%union' Bison declaration to specify several possible data types for semantic values. Note: The Collection of Value Types. These are the punctuation and delimiters used in Bison input: `%%' Delimiter used to separate the grammar rule section from the Bison declarations section or the additional C code section. Note: The Overall Layout of a Bison Grammar. `%{ %}' All code listed between `%{' and `%}' is copied directly to the output file uninterpreted. Such code forms the "C declarations" section of the input file. *Note Outline of a Bison Grammar: Grammar Outline. `/*...*/' Comment delimiters, as in C. `:' Separates a rule's result from its components. Note: Syntax of Grammar Rules. `;' Terminates a rule. Note: Syntax of Grammar Rules. `|' Separates alternate rules for the same result nonterminal. Note: Syntax of Grammar Rules. automatically generated by info2www version 1.2.2.9 |