void set_debug_level (debug_level_type l);
#endif
- private:
/// Report a syntax error.]b4_locations_if([
/// \param loc where the syntax error is found.])[
/// \param msg a description of the syntax error.
virtual void error (]b4_locations_if([const location_type& loc, ])[const std::string& msg);
+ private:
/// Generate an error message.
/// \param state the state where the error occurred.
/// \param tok the lookahead token.
symbol_base_type<Exact>& yysym) const;
public:
- /// Element of the stack: a state and its attributes.
+ /// External form of a symbol: its type and attributes.
struct symbol_type : symbol_base_type<symbol_type>
{
/// The parent class.
yylhs.state = yystate;
YY_SYMBOL_PRINT ("-> $$ =", yylhs);
]b4_variant_if([[
- // Destroy the lhs symbols.
+ // Destroy the rhs symbols.
for (int i = 0; i < yylen; ++i)
- // Destroy a variant which value may have be swapped with
- // yylhs.value. The value of yylhs.value (hence maybe one of
- // these lhs symbols) depends on what does the default
- // contruction for this type. In the case of pointers for
- // instance, nothing is done, so the value is junk. Therefore
- // do not try to report the content in the debug trace, it's
- // junk. Hence yymsg = 0. Besides, that keeps exactly the same
- // traces as with the other Bison skeletons.
+ // Destroy a variant which value may have been swapped with
+ // yylhs.value (for instance if the action was "std::swap($$,
+ // $1)"). The value of yylhs.value (hence possibly one of these
+ // rhs symbols) depends on the default contruction for this
+ // type. In the case of pointers for instance, no
+ // initialization is done, so the value is junk. Therefore do
+ // not try to report the value of symbols about to be destroyed
+ // in the debug trace, it's possibly junk. Hence yymsg = 0.
+ // Besides, that keeps exactly the same traces as with the other
+ // Bison skeletons.
yy_destroy_ (0, yystack_[i]);]])[
yypop_ (yylen);
yypush_ (0, yylhs);
goto yynewstate;
- /*------------------------------------.
- | yyerrlab -- here on detecting error |
- `------------------------------------*/
+ /*--------------------------------------.
+ | yyerrlab -- here on detecting error. |
+ `--------------------------------------*/
yyerrlab:
/* If not already recovering from an error, report this error. */
if (!yyerrstatus_)