Copyright (C) 2000-2012 |
GNU Info (bison.info)Action FeaturesSpecial Features for Use in Actions =================================== Here is a table of Bison constructs, variables and macros that are useful in actions. `$$' Acts like a variable that contains the semantic value for the grouping made by the current rule. Note: Actions. `$N' Acts like a variable that contains the semantic value for the Nth component of the current rule. Note: Actions. `$<TYPEALT>$' Like `$$' but specifies alternative TYPEALT in the union specified by the `%union' declaration. Note: Data Types of Values in Actions. `$<TYPEALT>N' Like `$N' but specifies alternative TYPEALT in the union specified by the `%union' declaration. Note: Data Types of Values in Actions. `YYABORT;' Return immediately from `yyparse', indicating failure. Note: The Parser Function `yyparse'. `YYACCEPT;' Return immediately from `yyparse', indicating success. Note: The Parser Function `yyparse'. `YYBACKUP (TOKEN, VALUE);' Unshift a token. This macro is allowed only for rules that reduce a single value, and only when there is no look-ahead token. It installs a look-ahead token with token type TOKEN and semantic value VALUE; then it discards the value that was going to be reduced by this rule. If the macro is used when it is not valid, such as when there is a look-ahead token already, then it reports a syntax error with a message `cannot back up' and performs ordinary error recovery. In either case, the rest of the action is not executed. `YYEMPTY' Value stored in `yychar' when there is no look-ahead token. `YYERROR;' Cause an immediate syntax error. This statement initiates error recovery just as if the parser itself had detected an error; however, it does not call `yyerror', and does not print any message. If you want to print an error message, call `yyerror' explicitly before the `YYERROR;' statement. Note: Error Recovery. `YYRECOVERING' This macro stands for an expression that has the value 1 when the parser is recovering from a syntax error, and 0 the rest of the time. Note: Error Recovery. `yychar' Variable containing the current look-ahead token. (In a pure parser, this is actually a local variable within `yyparse'.) When there is no look-ahead token, the value `YYEMPTY' is stored in the variable. Note: Look-Ahead Tokens. `yyclearin;' Discard the current look-ahead token. This is useful primarily in error rules. Note: Error Recovery. `yyerrok;' Resume generating error messages immediately for subsequent syntax errors. This is useful primarily in error rules. Note: Error Recovery. `@$' Acts like a structure variable containing information on the textual position of the grouping made by the current rule. Note: Tracking Locations. `@N' Acts like a structure variable containing information on the textual position of the Nth component of the current rule. Note: Tracking Locations. automatically generated by info2www version 1.2.2.9 |