![]() |
Vcsn
2.3a
Be Rational
|
A complete symbol. More...
#include <parse.hh>
Public Types | |
typedef Base | super_type |
Alias to Base. More... | |
Public Member Functions | |
basic_symbol () | |
Default constructor. More... | |
basic_symbol (const basic_symbol &other) | |
Copy constructor. More... | |
basic_symbol (typename Base::kind_type t, const location_type &l) | |
Constructor for valueless symbols, and symbols from each type. More... | |
basic_symbol (typename Base::kind_type t, const paths_t v, const location_type &l) | |
basic_symbol (typename Base::kind_type t, const states_t v, const location_type &l) | |
basic_symbol (typename Base::kind_type t, const string_t v, const location_type &l) | |
basic_symbol (typename Base::kind_type t, const semantic_type &v, const location_type &l) | |
Constructor for symbols with semantic value. More... | |
~basic_symbol () | |
Destroy the symbol. More... | |
void | clear () |
Destroy contents, and record that is empty. More... | |
bool | empty () const |
Whether empty. More... | |
void | move (basic_symbol &s) |
Destructive move, s is emptied into this. More... | |
Public Attributes | |
semantic_type | value |
The semantic value. More... | |
location_type | location |
The location. More... | |
Private Member Functions | |
basic_symbol & | operator= (const basic_symbol &other) |
Assignment operator. More... | |
A complete symbol.
Expects its Base type to provide access to the symbol type via type_get().
Provide access to semantic value and location.
typedef Base vcsn::detail::dot::parser::basic_symbol< Base >::super_type |
|
inline |
|
inline |
Copy constructor.
Definition at line 826 of file parse.hh.
References vcsn::detail::dot::variant< S >::copy(), and vcsn::detail::dot::parser::basic_symbol< Base >::value.
vcsn::detail::dot::parser::basic_symbol< Base >::basic_symbol | ( | typename Base::kind_type | t, |
const location_type & | l | ||
) |
vcsn::detail::dot::parser::basic_symbol< Base >::basic_symbol | ( | typename Base::kind_type | t, |
const paths_t | v, | ||
const location_type & | l | ||
) |
vcsn::detail::dot::parser::basic_symbol< Base >::basic_symbol | ( | typename Base::kind_type | t, |
const states_t | v, | ||
const location_type & | l | ||
) |
vcsn::detail::dot::parser::basic_symbol< Base >::basic_symbol | ( | typename Base::kind_type | t, |
const string_t | v, | ||
const location_type & | l | ||
) |
|
inline |
Constructor for symbols with semantic value.
Definition at line 866 of file parse.hh.
References vcsn::detail::dot::variant< S >::copy(), vcsn::detail::v, vcsn::detail::dot::parser::basic_symbol< Base >::value, and vcsn::detail::void.
|
inline |
|
inline |
Destroy contents, and record that is empty.
Definition at line 945 of file parse.hh.
References vcsn::detail::void.
Referenced by vcsn::detail::dot::parser::parse().
|
inline |
Whether empty.
Definition at line 994 of file parse.hh.
References vcsn::detail::dot::parser::empty_symbol.
Referenced by vcsn::detail::dot::parser::parse(), vcsn::detail::dot::parser::yy_print_(), and vcsn::detail::dot::parser::yysyntax_error_().
|
inline |
Destructive move, s is emptied into this.
Definition at line 1002 of file parse.hh.
References vcsn::detail::dot::parser::basic_symbol< Base >::location, and vcsn::detail::dot::parser::basic_symbol< Base >::value.
Referenced by vcsn::detail::dot::parser::parse().
|
private |
Assignment operator.
location_type vcsn::detail::dot::parser::basic_symbol< Base >::location |
The location.
Definition at line 435 of file parse.hh.
Referenced by vcsn::detail::dot::parser::basic_symbol< Base >::move(), vcsn::detail::dot::parser::stack_symbol_type::operator=(), vcsn::detail::dot::parser::parse(), and vcsn::detail::dot::parser::yy_print_().
semantic_type vcsn::detail::dot::parser::basic_symbol< Base >::value |
The semantic value.
Definition at line 432 of file parse.hh.
Referenced by vcsn::detail::dot::parser::basic_symbol< Base >::basic_symbol(), vcsn::detail::dot::parser::basic_symbol< Base >::move(), vcsn::detail::dot::parser::stack_symbol_type::operator=(), vcsn::detail::dot::parser::parse(), vcsn::detail::dot::parser::stack_symbol_type::stack_symbol_type(), and vcsn::detail::dot::parser::yy_print_().