- /// \brief Reclaim the memory associated to a lookahead symbol.
- /// \param yymsg Why this token is reclaimed.
- /// If null, print nothing.
- /// \param yytype The symbol type.
- /// \param yydata Its semantic value and location.
- inline void yydestruct_ (const char* yymsg,
- int yytype, stack_symbol_type& yydata);
+ /// \brief Reclaim the memory associated to a symbol.
+ /// \param yymsg Why this token is reclaimed.
+ /// If null, print nothing.
+ /// \param s The symbol.
+ void yy_destroy_ (const char* yymsg, symbol_base_type& yysym) const;
+
+ /// Element of the stack: a state and its attributes.
+ struct symbol_type : symbol_base_type
+ {
+ /// Default constructor.
+ symbol_type ();
+
+ /// Constructor.
+ symbol_type (state_type s,
+ const semantic_type& v, const location_type& l);
+
+ /// The symbol type.
+ int type;
+
+ /// Return the type corresponding to this state.
+ virtual int type_get () const;
+ };
+
+ /// Element of the stack: a state and its attributes.
+ struct stack_symbol_type : symbol_base_type
+ {
+ /// Default constructor.
+ stack_symbol_type ();
+
+ /// Constructor.
+ stack_symbol_type (state_type s,
+ const semantic_type& v, const location_type& l);
+
+ /// The state.
+ state_type state;