Node:Action Features,
Previous: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.  See Actions.
 
- $n
- Acts like a variable that contains the semantic value for the
nth component of the current rule.  See Actions.
 
- $<typealt>$
- Like $$but specifies alternative typealt in the union
specified by the%uniondeclaration.  See Data Types of Values in Actions.
 
- $<typealt>n
- Like $nbut specifies alternative typealt in the
union specified by the%uniondeclaration. 
See Data Types of Values in Actions.
 
- YYABORT;
- Return immediately from yyparse, indicating failure. 
See The Parser Functionyyparse.
 
- YYACCEPT;
- Return immediately from yyparse, indicating success. 
See The Parser Functionyyparse.
 
- 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 upand performs ordinary error
recovery.
 In either case, the rest of the action is not executed.
 
 
- YYEMPTY
- Value stored in yycharwhen 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, callyyerrorexplicitly before
theYYERROR;statement.  See 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. 
See 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 valueYYEMPTYis stored in the variable. 
See Look-Ahead Tokens.
 
- yyclearin;
- Discard the current look-ahead token.  This is useful primarily in
error rules.  See Error Recovery.
 
- yyerrok;
- Resume generating error messages immediately for subsequent syntax
errors.  This is useful primarily in error rules. 
See Error Recovery.
 
- @$
- Acts like a structure variable containing information on the textual position
of the grouping made by the current rule.  See Tracking Locations.
 
- @n
- Acts like a structure variable containing information on the textual position
of the nth component of the current rule.  See Tracking Locations.