+#if YYDEBUG
+ /// \brief Display a symbol type, value and location.
+ /// \param yyo The output stream.
+ /// \param yysym The symbol.
+ void yy_print_ (std::ostream& yyo, const symbol_base_type& yysym) const;
+#endif
+
+ /// \brief Reclaim the memory associated to a symbol.
+ /// \param yymsg Why this token is reclaimed.
+ /// If null, print nothing.
+ /// \param s The symbol.
+ inline 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.
+ inline symbol_type ();
+
+ /// Constructor.
+ inline symbol_type (int t,
+ const semantic_type& v, const location_type& l);
+
+ /// The symbol type.
+ int type;
+
+ /// Return the type corresponding to this state.
+ virtual inline int type_get () const;
+ };
+
+ /// Element of the stack: a state and its attributes.
+ struct stack_symbol_type : symbol_base_type
+ {
+ /// Default constructor.
+ inline stack_symbol_type ();
+
+ /// Constructor.
+ inline stack_symbol_type (state_type s,
+ const semantic_type& v, const location_type& l);
+
+ /// The state.
+ state_type state;
+
+ /// Return the type corresponding to this state.
+ virtual inline int type_get () const;
+ };
+