(bison.info)Action Features


Prev: Error Reporting Up: Interface

Special 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 info version 1.5

Dirfile and infopages generated Sat Dec 3 02:07:54 2005