Vcsn
2.3
Be Rational
|
Build a standard automaton from an expression. More...
#include <standard.hh>
Public Types | |
using | automaton_t = Aut |
using | expressionset_t = ExpSet |
using | expression_t = typename expressionset_t::value_t |
using | weightset_t = weightset_t_of< expressionset_t > |
using | weight_t = weight_t_of< expressionset_t > |
using | state_t = state_t_of< automaton_t > |
using | super_t = typename expressionset_t::const_visitor |
Public Member Functions | |
standard_visitor (const expressionset_t &rs) | |
automaton_t | operator() (const expression_t &v) |
The standard automaton of v. More... | |
Static Public Member Functions | |
static constexpr const char * | me () |
Name of this algorithm, for error messages. More... | |
Private Types | |
using | tuple_t = typename super_t::tuple_t |
using | states_t = std::set< state_t > |
The current set of final states. More... | |
Private Member Functions | |
void | visit (const tuple_t &, std::true_type) override |
VCSN_RAT_VISIT (zero,) | |
VCSN_RAT_VISIT (one,) | |
VCSN_RAT_VISIT (atom, e) | |
states_t | finals () const |
VCSN_RAT_VISIT (add, e) | |
VCSN_RAT_VISIT (mul, e) | |
VCSN_RAT_VISIT (star, e) | |
VCSN_RAT_VISIT (lweight, e) | |
VCSN_RAT_VISIT (rweight, e) | |
Private Attributes | |
const expressionset_t & | rs_ |
const weightset_t & | ws_ = *rs_.weightset() |
automaton_t | res_ |
state_t | initial_ = automaton_t::element_type::null_state() |
Build a standard automaton from an expression.
Aut | relative the generated automaton |
ExpSet | relative to the expression. |
Definition at line 169 of file standard.hh.
using vcsn::rat::standard_visitor< Aut, ExpSet >::automaton_t = Aut |
Definition at line 173 of file standard.hh.
using vcsn::rat::standard_visitor< Aut, ExpSet >::expression_t = typename expressionset_t::value_t |
Definition at line 175 of file standard.hh.
using vcsn::rat::standard_visitor< Aut, ExpSet >::expressionset_t = ExpSet |
Definition at line 174 of file standard.hh.
using vcsn::rat::standard_visitor< Aut, ExpSet >::state_t = state_t_of<automaton_t> |
Definition at line 178 of file standard.hh.
|
private |
The current set of final states.
Definition at line 243 of file standard.hh.
using vcsn::rat::standard_visitor< Aut, ExpSet >::super_t = typename expressionset_t::const_visitor |
Definition at line 180 of file standard.hh.
|
private |
Definition at line 215 of file standard.hh.
using vcsn::rat::standard_visitor< Aut, ExpSet >::weight_t = weight_t_of<expressionset_t> |
Definition at line 177 of file standard.hh.
using vcsn::rat::standard_visitor< Aut, ExpSet >::weightset_t = weightset_t_of<expressionset_t> |
Definition at line 176 of file standard.hh.
|
inline |
Definition at line 185 of file standard.hh.
|
inlineprivate |
Definition at line 244 of file standard.hh.
References vcsn::detail::final_transitions(), vcsn::res, and vcsn::rat::standard_visitor< Aut, ExpSet >::res_.
Referenced by vcsn::rat::standard_visitor< Aut, ExpSet >::VCSN_RAT_VISIT().
|
inlinestatic |
Name of this algorithm, for error messages.
Definition at line 183 of file standard.hh.
Referenced by vcsn::rat::standard_visitor< Aut, ExpSet >::visit().
|
inline |
The standard automaton of v.
Definition at line 191 of file standard.hh.
References vcsn::rat::standard_visitor< Aut, ExpSet >::initial_, vcsn::rat::standard_visitor< Aut, ExpSet >::res_, vcsn::rat::standard_visitor< Aut, ExpSet >::rs_, and vcsn::rat::to_string().
|
inlineprivate |
Definition at line 221 of file standard.hh.
References vcsn::rat::standard_visitor< Aut, ExpSet >::initial_, and vcsn::rat::standard_visitor< Aut, ExpSet >::res_.
|
inlineprivate |
Definition at line 226 of file standard.hh.
References vcsn::rat::standard_visitor< Aut, ExpSet >::initial_, and vcsn::rat::standard_visitor< Aut, ExpSet >::res_.
|
inlineprivate |
Definition at line 233 of file standard.hh.
References vcsn::rat::standard_visitor< Aut, ExpSet >::initial_, and vcsn::rat::standard_visitor< Aut, ExpSet >::res_.
|
inlineprivate |
Definition at line 252 of file standard.hh.
References vcsn::detail::all_out(), vcsn::rat::standard_visitor< Aut, ExpSet >::finals(), vcsn::rat::standard_visitor< Aut, ExpSet >::initial_, and vcsn::rat::standard_visitor< Aut, ExpSet >::res_.
|
inlineprivate |
Definition at line 272 of file standard.hh.
References vcsn::detail::all_out(), vcsn::detail::final_transitions(), vcsn::rat::standard_visitor< Aut, ExpSet >::finals(), vcsn::has(), vcsn::rat::standard_visitor< Aut, ExpSet >::initial_, vcsn::detail::make_vector(), vcsn::rat::standard_visitor< Aut, ExpSet >::res_, and vcsn::rat::standard_visitor< Aut, ExpSet >::ws_.
|
inlineprivate |
Definition at line 324 of file standard.hh.
References vcsn::detail::final_transitions(), vcsn::rat::standard_visitor< Aut, ExpSet >::finals(), vcsn::has(), vcsn::rat::standard_visitor< Aut, ExpSet >::initial_, vcsn::detail::out(), vcsn::rat::standard_visitor< Aut, ExpSet >::res_, and vcsn::rat::standard_visitor< Aut, ExpSet >::ws_.
|
inlineprivate |
Definition at line 354 of file standard.hh.
References vcsn::detail::all_out(), vcsn::rat::standard_visitor< Aut, ExpSet >::initial_, and vcsn::rat::standard_visitor< Aut, ExpSet >::res_.
|
inlineprivate |
Definition at line 361 of file standard.hh.
References vcsn::detail::final_transitions(), vcsn::rat::standard_visitor< Aut, ExpSet >::finals(), vcsn::has(), and vcsn::rat::standard_visitor< Aut, ExpSet >::res_.
|
inlineoverrideprivate |
Definition at line 216 of file standard.hh.
References vcsn::rat::standard_visitor< Aut, ExpSet >::me().
|
private |
Definition at line 374 of file standard.hh.
Referenced by vcsn::rat::standard_visitor< Aut, ExpSet >::operator()(), and vcsn::rat::standard_visitor< Aut, ExpSet >::VCSN_RAT_VISIT().
|
private |
Definition at line 373 of file standard.hh.
Referenced by vcsn::rat::standard_visitor< Aut, ExpSet >::finals(), vcsn::rat::standard_visitor< Aut, ExpSet >::operator()(), and vcsn::rat::standard_visitor< Aut, ExpSet >::VCSN_RAT_VISIT().
|
private |
Definition at line 371 of file standard.hh.
Referenced by vcsn::rat::standard_visitor< Aut, ExpSet >::operator()().
|
private |
Definition at line 372 of file standard.hh.
Referenced by vcsn::rat::standard_visitor< Aut, ExpSet >::VCSN_RAT_VISIT().