- /// \brief Reclaim the memory associated to a stack symbol.
- /// \param yymsg Why this token is reclaimed.
- /// If null, print nothing.
- /// \param yysym Its kind, semantic value and location.
- inline void yydestruct_ (const char* yymsg, data_type& yysym);
+ /// 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;
+ };