17 #ifndef AWALI_ALGOS_LAL_LAN_CONVERSION_HH 
   18 # define AWALI_ALGOS_LAL_LAN_CONVERSION_HH 
   30           raise(
"to_lal: ",
"unsupported operation");
 
   33         static Aut 
allow_eps_(
const Aut&  aut, 
bool keep_history) {
 
   34           raise(
"to_lan: ",
"unsupported operation");
 
   38       template<
typename Aut, 
typename T>
 
   46           return copy(aut, keep_history);
 
   56       template<
typename Aut, 
typename T>
 
   68             auto final_history = std::make_shared<single_history<n_automaton_t>>(aut);
 
   69             auto & tmp_history = tmp->history()->template as<single_history<n_automaton_t>>();
 
   70             auto & res_history = res->history()->template as<single_history<n_automaton_t>>();
 
   71             for(
auto s: res->states())
 
   72               final_history->add_state(s,tmp_history.get_state(res_history.get_state(s)));
 
   74             res->set_history(final_history);
 
   79         static const Aut 
allow_eps_(
const Aut& aut, 
bool keep_history) {
 
   80           return copy(aut, keep_history);
 
   85     template<
typename Aut>
 
   92     template<
typename Aut>
 
carries the algebraic settings of automata
Definition: context.hh:40
 
Implementation of labels are letters.
Definition: letterset.hh:43
 
Implementation of labels are nullables (letter or empty).
Definition: nullableset.hh:189
 
direction_t
Used in some algorithms in which one may considers transitions forward or backwards.
Definition: enums.hh:35
 
@ BACKWARD
Definition: enums.hh:37
 
auto proper(const Aut &aut, direction_t dir=BACKWARD, bool prune=true, bool keep_history=true) -> decltype(copy(aut))
Eliminate spontaneous transitions.
Definition: proper.hh:444
 
void copy_into(const AutIn &in, AutOut &out, Pred keep_state, bool keep_history=true, bool transpose=false)
Copy an automaton.
Definition: copy.hh:144
 
auto get_not_nullable_context(const Context &ctx) -> not_nullable_of< Context >
Definition: traits.hh:309
 
auto to_lan(const Aut &aut, bool keep_history=true) -> typename internal::dispatch_lal_lan< Aut, labelset_t_of< Aut >>::n_automaton_t
Definition: lal_lan_conversion.hh:94
 
AutOut copy(const AutIn &input, Pred keep_state, bool keep_history=true, bool transpose=false)
A copy of input keeping only its states that are accepted by keep_state.
Definition: copy.hh:189
 
auto to_lal(const Aut &aut, direction_t dir=BACKWARD, bool prune=true, bool keep_history=true) -> typename internal::dispatch_lal_lan< Aut, labelset_t_of< Aut >>::l_automaton_t
Definition: lal_lan_conversion.hh:87
 
auto get_nullable_context(const Context &ctx) -> nullable_of< Context >
Definition: traits.hh:302
 
std::shared_ptr< internal::mutable_automaton_impl< Context > > mutable_automaton
Definition: mutable_automaton.hh:45
 
Main namespace of Awali.
Definition: ato.hh:22
 
static const Aut proper_(const Aut &aut, direction_t, bool, bool keep_history)
Definition: lal_lan_conversion.hh:45
 
typename labelset_trait< letterset< T > >::nullable_t nullable_t
Definition: lal_lan_conversion.hh:40
 
Aut l_automaton_t
Definition: lal_lan_conversion.hh:42
 
mutable_automaton< n_context_t > n_automaton_t
Definition: lal_lan_conversion.hh:43
 
static n_automaton_t allow_eps_(const Aut &aut, bool keep_history)
Definition: lal_lan_conversion.hh:49
 
static l_automaton_t proper_(const Aut &aut, direction_t dir, bool prune, bool keep_history)
Definition: lal_lan_conversion.hh:63
 
Aut n_automaton_t
Definition: lal_lan_conversion.hh:61
 
mutable_automaton< l_context_t > l_automaton_t
Definition: lal_lan_conversion.hh:60
 
typename labelset_trait< nullableset< T > >::not_nullable_t letterset_t
Definition: lal_lan_conversion.hh:58
 
static const Aut allow_eps_(const Aut &aut, bool keep_history)
Definition: lal_lan_conversion.hh:79
 
Definition: lal_lan_conversion.hh:26
 
Aut n_automaton_t
Definition: lal_lan_conversion.hh:28
 
static const Aut proper_(const Aut &aut, direction_t dir, bool prune, bool keep_history)
Definition: lal_lan_conversion.hh:29
 
Aut l_automaton_t
Definition: lal_lan_conversion.hh:27
 
static Aut allow_eps_(const Aut &aut, bool keep_history)
Definition: lal_lan_conversion.hh:33
 
trait that computes the related types of a labelset
Definition: traits.hh:34