Vcsn
2.0
Be Rational
|
FIXME: duplicate code with determinize. More...
Namespaces | |
detail | |
Classes | |
struct | jit_error |
An exception suited for our compilation errors. More... | |
Typedefs | |
using | automaton = std::shared_ptr< detail::automaton_base > |
using | context = std::shared_ptr< const detail::context_base > |
using | expansion = std::shared_ptr< const detail::expansion_base > |
using | label = std::shared_ptr< const detail::label_base > |
using | polynomial = std::shared_ptr< const detail::polynomial_base > |
using | ratexp = std::shared_ptr< detail::ratexp_base > |
using | ratexpset = std::shared_ptr< const detail::ratexpset_base > |
using | weight = std::shared_ptr< const detail::weight_base > |
Functions | |
automaton | accessible (const automaton &aut) |
The accessible subautomaton of aut. More... | |
label | ambiguous_word (const automaton &aut) |
An ambiguous word, or raise if there is none. More... | |
bool | are_equivalent (const automaton &lhs, const automaton &rhs) |
Whether define the same language. More... | |
bool | are_equivalent (const ratexp &lhs, const ratexp &rhs) |
Whether define the same language. More... | |
bool | are_isomorphic (const automaton &lhs, const automaton &rhs) |
Whether there exists an isomorphism between the states of lhs and those of rhs. More... | |
automaton | blind (automaton &aut, unsigned tape) |
Focus on a specific tape of a tupleset automaton. More... | |
automaton | cerny (const context &ctx, unsigned num_states) |
Produce a Černý automaton of num_states states. More... | |
automaton | chain (const automaton &aut, int min, int max) |
Repeated concatenation of aut with itself. More... | |
ratexp | chain (const ratexp &e, int min, int max) |
Repeated concatenation of e with itself. More... | |
automaton | coaccessible (const automaton &aut) |
The coaccessible subautomaton of aut. More... | |
automaton | complement (const automaton &aut) |
The complement of aut. More... | |
ratexp | complement (const ratexp &r) |
Add the complement operator to r. More... | |
automaton | complete (const automaton &aut) |
A completed copy of aut. More... | |
automaton | compose (automaton &lhs, automaton &rhs) |
The composition of transducers lhs and rhs. More... | |
automaton | concatenate (const automaton &lhs, const automaton &rhs) |
Concatenate two standard automata. More... | |
polynomial | concatenate (const polynomial &lhs, const polynomial &rhs) |
Concatenate two polynomials. More... | |
ratexp | concatenate (const ratexp &lhs, const ratexp &rhs) |
Concatenate two ratexps. More... | |
ratexp | conjunction (const ratexp &lhs, const ratexp &rhs) |
The Hadamard product of ratexps lhs and rhs. More... | |
weight | constant_term (const ratexp &e) |
The weight associated to the empty word in e. More... | |
context | context_of (const automaton &a) |
The context of this automaton. More... | |
context | context_of (const ratexp &r) |
The context of this ratexp. More... | |
automaton | copy (const automaton &aut) |
A copy of aut. More... | |
automaton | copy (const automaton &aut, const context &ctx) |
A copy of aut converted to context ctx. More... | |
ratexp | copy (const ratexp &exp, const ratexpset &rs) |
Copy of exp, but built with rs. More... | |
automaton | costandard (const automaton &a) |
A standardized transpositive a. More... | |
automaton | de_bruijn (const context &ctx, unsigned n) |
A simple NFA for (a+b)*a(a+b)^n. More... | |
polynomial | derivation (const ratexp &exp, const label &l, bool breaking=false) |
Derive exp with respect to s. More... | |
automaton | derived_term (const ratexp &e, const std::string &algo="auto") |
The derived-term automaton of e. More... | |
automaton | determinize (const automaton &aut, const std::string &algo="weighted") |
The determinized automaton. More... | |
automaton | codeterminize (const automaton &aut, const std::string &algo="weighted") |
The codeterminized automaton. More... | |
automaton | cominimize (const automaton &aut, const std::string &algo="auto") |
The cominimized automaton. More... | |
automaton | difference (const automaton &lhs, const automaton &rhs) |
An automaton whose behavior is that of lhs on words not accepted by rhs. More... | |
ratexp | difference (const ratexp &lhs, const ratexp &rhs) |
Words accepted by lhs, but not by rhs. More... | |
automaton | divkbaseb (const context &ctx, unsigned divisor, unsigned base) |
An automaton which accepts a word n representing a number in base b iff k|n. More... | |
std::ostream & | dot (const automaton &aut, std::ostream &out, bool dot2tex=false) |
Output aut in GraphViz' Dot format. More... | |
std::string | dot (const automaton &aut) |
A string representing aut in GraphViz' Dot format. More... | |
automaton | double_ring (const context &ctx, unsigned n, const std::vector< unsigned > &f) |
The double_ring automaton with n states and f the list of finals. More... | |
automaton | eliminate_state (const automaton &aut, int s) |
The LAO automaton aut with state s removed. More... | |
std::ostream & | efsm (const automaton &aut, std::ostream &out) |
Output in Extended FSM format. More... | |
polynomial | enumerate (const automaton &aut, unsigned max) |
All the accepted words of at most max letters. More... | |
weight | eval (const automaton &aut, const label &l) |
Evaluate s on aut. More... | |
ratexp | expand (const ratexp &e) |
Distribute product over addition recursively under the starred subexpressions and group the equal monomials. More... | |
automaton | factor (const automaton &aut) |
Create a factor automaton from aut. More... | |
std::ostream & | fado (const automaton &aut, std::ostream &out) |
Output in FAdo format. More... | |
automaton | filter (const automaton &aut, const std::vector< unsigned > &ss) |
The subautomaton based on aut, with only states in ss visible. More... | |
std::ostream & | grail (const automaton &aut, std::ostream &out) |
Output in Grail format. More... | |
bool | has_twins_property (const automaton &aut) |
Whether the automaton has the twins property. More... | |
rat::identities | identities (const ratexp &exp) |
The identities of ratexp exp. More... | |
automaton | infiltration (const automaton &lhs, const automaton &rhs) |
The infiltration of automata lhs and rhs. More... | |
automaton | infiltration (const std::vector< automaton > &as) |
The infiltration product of automata. More... | |
std::ostream & | info (const automaton &aut, std::ostream &out, bool detailed=false) |
Output various facts about an automaton. More... | |
std::ostream & | info (const ratexp &exp, std::ostream &out) |
Output various facts about exp. More... | |
automaton | insplit (const automaton &aut) |
Split automaton on the incoming transition. More... | |
bool | is_accessible (const automaton &aut) |
Whether aut is accessible. More... | |
bool | is_ambiguous (const automaton &aut) |
Whether aut is ambiguous. More... | |
bool | is_coaccessible (const automaton &aut) |
Whether aut is coaccessible. More... | |
bool | is_codeterministic (const automaton &aut) |
Whether aut is codeterministic. More... | |
bool | is_complete (const automaton &aut) |
Whether aut is complete. More... | |
bool | is_costandard (const automaton &aut) |
Whether is costandard (unique final state, with weight one, no outcoming transition). More... | |
bool | is_cycle_ambiguous (const automaton &aut) |
Whether the automaton is cycle-ambiguous. More... | |
bool | is_deterministic (const automaton &aut) |
Whether aut is deterministic. More... | |
bool | is_empty (const automaton &aut) |
Whether has no state. More... | |
bool | is_eps_acyclic (const automaton &aut) |
Whether has no cycle of spontaneous transitions. More... | |
bool | is_functional (const automaton &aut) |
Whether aut is functional. More... | |
bool | is_normalized (const automaton &aut) |
Whether is normalized (in the Thompson sense), i.e., standard and co-standard. More... | |
bool | is_out_sorted (const automaton &aut) |
Whether the outgoing transitions of each state have increasing labels. More... | |
bool | is_proper (const automaton &aut) |
Whether has no spontaneous transition. More... | |
bool | is_standard (const automaton &aut) |
Whether is standard (unique initial state, with weight one, no incoming transition). More... | |
bool | is_synchronized_by (const automaton &aut, const label &word) |
Whether the word synchronizes aut. More... | |
bool | is_synchronizing (const automaton &aut) |
Whether is synchronizing. More... | |
bool | is_trim (const automaton &aut) |
Whether has no useless state. More... | |
bool | is_useless (const automaton &aut) |
Whether has no useful state. More... | |
bool | is_valid (const automaton &e) |
Whether automaton is valid (epsilon-cycles converge). More... | |
bool | is_valid (const ratexp &e) |
Whether rational expression is valid (all the starred sub-expressions are starrable). More... | |
automaton | minimize (const automaton &aut, const std::string &algo="auto") |
The minimized automaton. More... | |
automaton | ladybird (const context &ctx, unsigned n) |
The ladybird automaton with n states. More... | |
automaton | left_mult (const weight &w, const automaton &aut) |
The left-multiplication of an automaton with w as weight. More... | |
ratexp | left_mult (const weight &w, const ratexp &aut) |
The left-multiplication of a ratexp with w as weight. More... | |
automaton | lift (const automaton &aut) |
The lifted LAO automaton from aut. More... | |
ratexp | lift (const ratexp &e) |
The lifted LAO rational expression from e. More... | |
context | make_context (const std::string &name) |
Build a context from its name. More... | |
automaton_editor * | make_automaton_editor (const context &ctx) |
Build an automatonset from its context. More... | |
ratexpset | make_ratexpset (const context &ctx,::vcsn::rat::identities is) |
Build an ratexpset from its context. More... | |
context | make_word_context (const context &ctx) |
The context for words. More... | |
weight | multiply (const weight &lhs, const weight &rhs) |
Multiply two weights. More... | |
automaton | normalize (const automaton &aut) |
Normalize automaton aut. More... | |
automaton | pair (const automaton &aut, bool keep_initials=false) |
Build the pair automaton of the given automaton. More... | |
automaton | prefix (const automaton &aut) |
Create a prefix automaton from aut. More... | |
automaton | power (const automaton &aut, unsigned n) |
Repeated product of aut with itself. More... | |
std::ostream & | print (const automaton &a, std::ostream &o, const std::string &format="default") |
Print automaton a on o using format format. More... | |
std::ostream & | print (const context &c, std::ostream &o, const std::string &format="default") |
Print context c on o using format format. More... | |
std::ostream & | print (const expansion &e, std::ostream &o, const std::string &format="default") |
Print expansion e on o using format format. More... | |
std::ostream & | print (const label &l, std::ostream &o, const std::string &format="default") |
Print label l on o using format format. More... | |
std::ostream & | print (const polynomial &p, std::ostream &o, const std::string &format="default") |
Print polynomial p on o using format format. More... | |
std::ostream & | print (const ratexp &e, std::ostream &o, const std::string &format="default") |
Print ratexp e on o using format format. More... | |
std::ostream & | print (const weight &w, std::ostream &o, const std::string &format="default") |
Print weight w on o using format format. More... | |
void | set_format (std::ostream &o, const std::string &format) |
Specify the output format for o. More... | |
std::string | get_format (std::ostream &o) |
Get the output format for o. More... | |
automaton | product (const automaton &lhs, const automaton &rhs) |
The product of automata lhs and rhs. More... | |
automaton | product (const std::vector< automaton > &as) |
The product of automata. More... | |
automaton | proper (const automaton &aut, direction dir=direction::backward, bool prune=true) |
An equivalent automaton without spontaneous transitions. More... | |
automaton | push_weights (const automaton &aut) |
The weight pushing automaton of aut. More... | |
automaton | random_automaton (const context &ctx, unsigned num_states, float density=0.1, unsigned num_initial=1, unsigned num_final=1) |
Produce a random automaton. More... | |
automaton | random_automaton_deterministic (const context &ctx, unsigned num_states) |
Produce a random deterministic automaton. More... | |
automaton | read_automaton (std::istream &is, const std::string &format="default") |
Read an automaton from a stream. More... | |
label | read_label (std::istream &is, const context &ctx) |
Read a label from a stream. More... | |
ratexp | read_ratexp (std::istream &is, const ratexpset &rs, const std::string &format="default") |
Read a ratexp from a stream. More... | |
polynomial | read_polynomial (std::istream &is, const context &ctx) |
Read a polynomial from a stream. More... | |
weight | read_weight (std::istream &is, const context &ctx) |
Read a weight from a stream. More... | |
automaton | reduce (const automaton &aut) |
Reduce aut. More... | |
automaton | right_mult (const automaton &aut, const weight &w) |
The right-mult automaton with w as weight. More... | |
ratexp | right_mult (const ratexp &aut, const weight &w) |
The right-multiplication of a ratexp with w as weight. More... | |
std::size_t | num_sccs (const automaton &aut) |
The number of strongly connected components. More... | |
polynomial | shortest (const automaton &aut, unsigned max=1) |
The at-most max first accepted words. More... | |
automaton | shuffle (const automaton &lhs, const automaton &rhs) |
The shuffle product of automata lhs and rhs. More... | |
automaton | shuffle (const std::vector< automaton > &as) |
The shuffle product of automata. More... | |
ratexp | shuffle (const ratexp &lhs, const ratexp &rhs) |
The shuffle product of ratexps lhs and rhs. More... | |
automaton | sort (const automaton &a) |
A copy of a with normalized state numbers. More... | |
polynomial | split (const polynomial &p) |
Break all the expressions in p. More... | |
polynomial | split (const ratexp &exp) |
Break exp. More... | |
automaton | standard (const automaton &a) |
A standardized a. More... | |
automaton | standard (const ratexp &e) |
The standard automaton of e. More... | |
automaton | star (const automaton &aut) |
Star of a standard automaton. More... | |
unsigned | star_height (const ratexp &rs) |
Star height of a ratexp. More... | |
ratexp | star_normal_form (const ratexp &e) |
A normalized form where star is applied only to expression without null constant-term. More... | |
automaton | strip (const automaton &a) |
The automaton in a with its metadata layers removed. More... | |
automaton | suffix (const automaton &aut) |
Create a suffix automaton from aut. More... | |
automaton | subword (const automaton &aut) |
Create a subword automaton from aut. More... | |
automaton | sum (const automaton &lhs, const automaton &rhs) |
Sum of two standard automata. More... | |
polynomial | sum (const polynomial &lhs, const polynomial &rhs) |
Sum of two polynomials. More... | |
ratexp | sum (const ratexp &lhs, const ratexp &rhs) |
Sum of two ratexps. More... | |
weight | sum (const weight &lhs, const weight &rhs) |
Sum of two weights. More... | |
label | synchronizing_word (const automaton &aut, const std::string &algo="greedy") |
A synchronizing word, or raise if there is none. More... | |
automaton | thompson (const ratexp &e) |
The Thompson automaton of e. More... | |
std::ostream & | tikz (const automaton &aut, std::ostream &out) |
Output aut in LaTeX's TikZ format. More... | |
expansion | to_expansion (const ratexp &exp) |
First order development of a exp. More... | |
ratexp | to_expression (const automaton &aut, const std::string &algo="auto") |
A ratexp denoting the language of aut. More... | |
automaton | transpose (automaton &aut) |
Transpose aut. More... | |
ratexp | transpose (const ratexp &e) |
Transpose e. More... | |
ratexp | transposition (const ratexp &r) |
Add the transposition operator to r. More... | |
automaton | trim (const automaton &aut) |
The useful subautomaton of aut. More... | |
automaton | u (const context &ctx, unsigned n) |
The Brzozowski universal witness. More... | |
automaton | union_a (const automaton &lhs, const automaton &rhs) |
Union of two automata (plain graph union). More... | |
automaton | universal (const automaton &aut) |
The universal automaton of aut. More... | |
template<typename Aut > | |
automaton | make_automaton (const Aut &aut) |
Build a dyn::automaton. More... | |
template<typename Context > | |
context | make_context (const Context &ctx) |
template<typename ExpansionSet > | |
expansion | make_expansion (const ExpansionSet &ps, const typename ExpansionSet::value_t &expansion) |
template<typename LabelSet > | |
label | make_label (const LabelSet &ls, const typename LabelSet::value_t &l) |
template<typename LabelSet > | |
label | make_word (const LabelSet &ls, const typename LabelSet::value_t &l) |
template<typename PolynomialSet > | |
polynomial | make_polynomial (const PolynomialSet &ps, const typename PolynomialSet::value_t &polynomial) |
template<typename RatExpSet > | |
ratexp | make_ratexp (const RatExpSet &rs, const typename RatExpSet::value_t &ratexp) |
template<typename RatExpSet > | |
ratexpset | make_ratexpset (const RatExpSet &rs) |
Build a dyn::ratexpset from its static ratexpset. More... | |
void | compile (const std::string &ctx) |
Compile, and load, a DSO with instantiations for ctx. More... | |
void | compile (const std::string &algo, const signature &sig) |
Compile, and load, a DSO which instantiates algo for sig. More... | |
template<typename WeightSet > | |
weight | make_weight (const WeightSet &ws, const typename WeightSet::value_t &w) |
automaton | read_efsm (std::istream &is) |
automaton | read_fado (std::istream &is) |
Variables | |
xalloc< std::string * > | format_flag |
FIXME: duplicate code with determinize.
typedef std::shared_ptr< detail::automaton_base > vcsn::dyn::automaton |
Definition at line 71 of file automaton.hh.
typedef std::shared_ptr< const detail::context_base > vcsn::dyn::context |
Definition at line 71 of file context.hh.
typedef std::shared_ptr< const detail::expansion_base > vcsn::dyn::expansion |
Definition at line 74 of file expansion.hh.
typedef std::shared_ptr< const detail::label_base > vcsn::dyn::label |
typedef std::shared_ptr< const detail::polynomial_base > vcsn::dyn::polynomial |
typedef std::shared_ptr< detail::ratexp_base > vcsn::dyn::ratexp |
using vcsn::dyn::ratexpset = typedef std::shared_ptr<const detail::ratexpset_base> |
typedef std::shared_ptr< const detail::weight_base > vcsn::dyn::weight |
automaton vcsn::dyn::accessible | ( | const automaton & | aut | ) |
The accessible subautomaton of aut.
Definition at line 12 of file accessible.cc.
label vcsn::dyn::ambiguous_word | ( | const automaton & | aut | ) |
An ambiguous word, or raise if there is none.
Definition at line 11 of file is-ambiguous.cc.
bool vcsn::dyn::are_equivalent | ( | const automaton & | lhs, |
const automaton & | rhs | ||
) |
Whether define the same language.
Definition at line 11 of file are-equivalent.cc.
Referenced by are_equivalent().
bool vcsn::dyn::are_equivalent | ( | const ratexp & | lhs, |
const ratexp & | rhs | ||
) |
Whether define the same language.
Definition at line 17 of file are-equivalent.cc.
References are_equivalent(), and standard().
bool vcsn::dyn::are_isomorphic | ( | const automaton & | lhs, |
const automaton & | rhs | ||
) |
Whether there exists an isomorphism between the states of lhs and those of rhs.
Definition at line 12 of file are-isomorphic.cc.
automaton vcsn::dyn::blind | ( | automaton & | aut, |
unsigned | tape | ||
) |
Focus on a specific tape of a tupleset automaton.
Definition at line 14 of file blind.cc.
References vcsn::rat::to_string().
automaton vcsn::dyn::cerny | ( | const context & | ctx, |
unsigned | num_states | ||
) |
Produce a Černý automaton of num_states states.
Definition at line 41 of file synchronizing-word.cc.
automaton vcsn::dyn::chain | ( | const automaton & | aut, |
int | min, | ||
int | max | ||
) |
Repeated concatenation of aut with itself.
Definition at line 18 of file concatenate.cc.
ratexp vcsn::dyn::chain | ( | const ratexp & | e, |
int | min, | ||
int | max | ||
) |
Repeated concatenation of e with itself.
Definition at line 32 of file concatenate.cc.
automaton vcsn::dyn::coaccessible | ( | const automaton & | aut | ) |
The coaccessible subautomaton of aut.
Definition at line 20 of file accessible.cc.
automaton vcsn::dyn::codeterminize | ( | const automaton & | aut, |
const std::string & | algo = "weighted" |
||
) |
The codeterminized automaton.
aut | the automaton to codeterminize |
algo | "boolean" use efficient bitsets "weighted" accept non Boolean automata (might not terminate) "auto" "boolean" if the automaton is Boolean, "weighted" otherwise. |
Definition at line 21 of file determinize.cc.
automaton vcsn::dyn::cominimize | ( | const automaton & | aut, |
const std::string & | algo = "auto" |
||
) |
The cominimized automaton.
aut | the automaton to cominimize |
algo | the specific algorithm to use |
Definition at line 27 of file minimize.cc.
void vcsn::dyn::compile | ( | const std::string & | ctx | ) |
Compile, and load, a DSO with instantiations for ctx.
Definition at line 337 of file translate.cc.
Referenced by vcsn::dyn::detail::Registry< Fun >::get(), and make_context().
void vcsn::dyn::compile | ( | const std::string & | algo, |
const signature & | sig | ||
) |
Compile, and load, a DSO which instantiates algo for sig.
Definition at line 343 of file translate.cc.
automaton vcsn::dyn::complement | ( | const automaton & | aut | ) |
The complement of aut.
Definition at line 12 of file complement.cc.
ratexp vcsn::dyn::complement | ( | const ratexp & | r | ) |
Add the complement operator to r.
Definition at line 19 of file complement.cc.
automaton vcsn::dyn::complete | ( | const automaton & | aut | ) |
automaton vcsn::dyn::compose | ( | automaton & | lhs, |
automaton & | rhs | ||
) |
The composition of transducers lhs and rhs.
Definition at line 13 of file compose.cc.
automaton vcsn::dyn::concatenate | ( | const automaton & | lhs, |
const automaton & | rhs | ||
) |
Concatenate two standard automata.
Definition at line 11 of file concatenate.cc.
polynomial vcsn::dyn::concatenate | ( | const polynomial & | lhs, |
const polynomial & | rhs | ||
) |
Concatenate two polynomials.
Definition at line 39 of file concatenate.cc.
ratexp vcsn::dyn::concatenate | ( | const ratexp & | lhs, |
const ratexp & | rhs | ||
) |
Concatenate two ratexps.
Definition at line 25 of file concatenate.cc.
ratexp vcsn::dyn::conjunction | ( | const ratexp & | lhs, |
const ratexp & | rhs | ||
) |
The Hadamard product of ratexps lhs and rhs.
Definition at line 84 of file product.cc.
weight vcsn::dyn::constant_term | ( | const ratexp & | e | ) |
The weight associated to the empty word in e.
Definition at line 16 of file constant-term.cc.
context vcsn::dyn::context_of | ( | const automaton & | a | ) |
The context of this automaton.
Definition at line 20 of file make-context.cc.
context vcsn::dyn::context_of | ( | const ratexp & | r | ) |
The context of this ratexp.
Definition at line 27 of file make-context.cc.
automaton vcsn::dyn::copy | ( | const automaton & | aut | ) |
automaton vcsn::dyn::copy | ( | const automaton & | aut, |
const context & | ctx | ||
) |
ratexp vcsn::dyn::copy | ( | const ratexp & | exp, |
const ratexpset & | rs | ||
) |
automaton vcsn::dyn::costandard | ( | const automaton & | a | ) |
A standardized transpositive a.
Definition at line 49 of file standard.cc.
automaton vcsn::dyn::de_bruijn | ( | const context & | ctx, |
unsigned | n | ||
) |
A simple NFA for (a+b)*a(a+b)^n.
Definition at line 13 of file de-bruijn.cc.
polynomial vcsn::dyn::derivation | ( | const ratexp & | exp, |
const label & | l, | ||
bool | breaking = false |
||
) |
Derive exp with respect to s.
exp | the input ratexp |
l | the label used for derivation |
breaking | whether to split the result |
Definition at line 18 of file derivation.cc.
automaton vcsn::dyn::derived_term | ( | const ratexp & | e, |
const std::string & | algo = "auto" |
||
) |
The derived-term automaton of e.
e | the input ratexp |
algo | how the derived terms are computed: "auto" alias for "expansion" "derivation" compute by derivation "breaking_derivation" compute by breaking derivation "expansion" compute by expansion "breaking_expansion" compute by breaking expansion |
Definition at line 29 of file derivation.cc.
automaton vcsn::dyn::determinize | ( | const automaton & | aut, |
const std::string & | algo = "weighted" |
||
) |
The determinized automaton.
aut | the automaton to determinize |
algo | "boolean" use efficient bitsets "weighted" accept non Boolean automata (might not terminate) "auto" "boolean" if the automaton is Boolean, "weighted" otherwise. |
Definition at line 13 of file determinize.cc.
automaton vcsn::dyn::difference | ( | const automaton & | lhs, |
const automaton & | rhs | ||
) |
An automaton whose behavior is that of lhs on words not accepted by rhs.
lhs | a LAL automaton |
rhs | a LAL Boolean automaton |
Definition at line 24 of file are-equivalent.cc.
ratexp vcsn::dyn::difference | ( | const ratexp & | lhs, |
const ratexp & | rhs | ||
) |
Words accepted by lhs, but not by rhs.
Definition at line 31 of file are-equivalent.cc.
automaton vcsn::dyn::divkbaseb | ( | const context & | ctx, |
unsigned | divisor, | ||
unsigned | base | ||
) |
An automaton which accepts a word n representing a number in base b iff k|n.
Definition at line 13 of file divkbaseb.cc.
std::ostream & vcsn::dyn::dot | ( | const automaton & | aut, |
std::ostream & | out, | ||
bool | dot2tex = false |
||
) |
std::string vcsn::dyn::dot | ( | const automaton & | aut | ) |
A string representing aut in GraphViz' Dot format.
automaton vcsn::dyn::double_ring | ( | const context & | ctx, |
unsigned | n, | ||
const std::vector< unsigned > & | f | ||
) |
The double_ring automaton with n states and f the list of finals.
Definition at line 15 of file double-ring.cc.
std::ostream & vcsn::dyn::efsm | ( | const automaton & | aut, |
std::ostream & | out | ||
) |
automaton vcsn::dyn::eliminate_state | ( | const automaton & | aut, |
int | s | ||
) |
The LAO automaton aut with state s removed.
Definition at line 19 of file to-expression.cc.
polynomial vcsn::dyn::enumerate | ( | const automaton & | aut, |
unsigned | max | ||
) |
All the accepted words of at most max letters.
Definition at line 20 of file enumerate.cc.
weight vcsn::dyn::eval | ( | const automaton & | aut, |
const label & | l | ||
) |
ratexp vcsn::dyn::expand | ( | const ratexp & | e | ) |
automaton vcsn::dyn::factor | ( | const automaton & | aut | ) |
std::ostream & vcsn::dyn::fado | ( | const automaton & | aut, |
std::ostream & | out | ||
) |
automaton vcsn::dyn::filter | ( | const automaton & | aut, |
const std::vector< unsigned > & | ss | ||
) |
std::string vcsn::dyn::get_format | ( | std::ostream & | o | ) |
std::ostream & vcsn::dyn::grail | ( | const automaton & | aut, |
std::ostream & | out | ||
) |
bool vcsn::dyn::has_twins_property | ( | const automaton & | aut | ) |
Whether the automaton has the twins property.
Definition at line 14 of file has-twins-property.cc.
rat::identities vcsn::dyn::identities | ( | const ratexp & | exp | ) |
The identities of ratexp exp.
Definition at line 13 of file identities.cc.
automaton vcsn::dyn::infiltration | ( | const automaton & | lhs, |
const automaton & | rhs | ||
) |
The infiltration of automata lhs and rhs.
Performs the join of their types.
Definition at line 59 of file product.cc.
automaton vcsn::dyn::infiltration | ( | const std::vector< automaton > & | as | ) |
The infiltration product of automata.
Performs the join of their types.
Definition at line 66 of file product.cc.
std::ostream & vcsn::dyn::info | ( | const automaton & | aut, |
std::ostream & | out, | ||
bool | detailed = false |
||
) |
std::ostream & vcsn::dyn::info | ( | const ratexp & | exp, |
std::ostream & | out | ||
) |
automaton vcsn::dyn::insplit | ( | const automaton & | aut | ) |
Split automaton on the incoming transition.
Every state either has only epsilon incoming transitions or non-epsilon ones.
Definition at line 17 of file insplit.cc.
bool vcsn::dyn::is_accessible | ( | const automaton & | aut | ) |
Whether aut is accessible.
Definition at line 36 of file accessible.cc.
bool vcsn::dyn::is_ambiguous | ( | const automaton & | aut | ) |
bool vcsn::dyn::is_coaccessible | ( | const automaton & | aut | ) |
Whether aut is coaccessible.
Definition at line 44 of file accessible.cc.
bool vcsn::dyn::is_codeterministic | ( | const automaton & | aut | ) |
Whether aut is codeterministic.
Definition at line 25 of file is-deterministic.cc.
bool vcsn::dyn::is_complete | ( | const automaton & | aut | ) |
bool vcsn::dyn::is_costandard | ( | const automaton & | aut | ) |
Whether is costandard (unique final state, with weight one, no outcoming transition).
Definition at line 27 of file standard.cc.
bool vcsn::dyn::is_cycle_ambiguous | ( | const automaton & | aut | ) |
Whether the automaton is cycle-ambiguous.
Definition at line 25 of file is-ambiguous.cc.
bool vcsn::dyn::is_deterministic | ( | const automaton & | aut | ) |
Whether aut is deterministic.
Definition at line 16 of file is-deterministic.cc.
bool vcsn::dyn::is_empty | ( | const automaton & | aut | ) |
Whether has no state.
Definition at line 68 of file accessible.cc.
bool vcsn::dyn::is_eps_acyclic | ( | const automaton & | aut | ) |
Whether has no cycle of spontaneous transitions.
Definition at line 17 of file is-eps-acyclic.cc.
bool vcsn::dyn::is_functional | ( | const automaton & | aut | ) |
Whether aut is functional.
Definition at line 17 of file is-functional.cc.
bool vcsn::dyn::is_normalized | ( | const automaton & | aut | ) |
Whether is normalized (in the Thompson sense), i.e., standard and co-standard.
Definition at line 17 of file normalize.cc.
bool vcsn::dyn::is_out_sorted | ( | const automaton & | aut | ) |
bool vcsn::dyn::is_proper | ( | const automaton & | aut | ) |
Whether has no spontaneous transition.
Definition at line 16 of file is-proper.cc.
bool vcsn::dyn::is_standard | ( | const automaton & | aut | ) |
Whether is standard (unique initial state, with weight one, no incoming transition).
Definition at line 16 of file standard.cc.
bool vcsn::dyn::is_synchronized_by | ( | const automaton & | aut, |
const label & | word | ||
) |
Whether the word synchronizes aut.
Definition at line 27 of file synchronizing-word.cc.
bool vcsn::dyn::is_synchronizing | ( | const automaton & | aut | ) |
Whether is synchronizing.
Definition at line 34 of file synchronizing-word.cc.
bool vcsn::dyn::is_trim | ( | const automaton & | aut | ) |
Whether has no useless state.
Definition at line 52 of file accessible.cc.
bool vcsn::dyn::is_useless | ( | const automaton & | aut | ) |
Whether has no useful state.
Definition at line 60 of file accessible.cc.
bool vcsn::dyn::is_valid | ( | const automaton & | e | ) |
Whether automaton is valid (epsilon-cycles converge).
Definition at line 18 of file is-valid.cc.
bool vcsn::dyn::is_valid | ( | const ratexp & | e | ) |
Whether rational expression is valid (all the starred sub-expressions are starrable).
Definition at line 30 of file is-valid.cc.
automaton vcsn::dyn::ladybird | ( | const context & | ctx, |
unsigned | n | ||
) |
The ladybird automaton with n states.
Definition at line 13 of file ladybird.cc.
automaton vcsn::dyn::left_mult | ( | const weight & | w, |
const automaton & | aut | ||
) |
The left-multiplication of an automaton with w as weight.
Definition at line 12 of file left-mult.cc.
ratexp vcsn::dyn::left_mult | ( | const weight & | w, |
const ratexp & | aut | ||
) |
The left-multiplication of a ratexp with w as weight.
Definition at line 19 of file left-mult.cc.
automaton vcsn::dyn::lift | ( | const automaton & | aut | ) |
ratexp vcsn::dyn::lift | ( | const ratexp & | e | ) |
|
inline |
Build a dyn::automaton.
Definition at line 77 of file automaton.hh.
Referenced by vcsn::dyn::detail::accessible(), vcsn::dyn::detail::blind(), vcsn::dyn::detail::cerny(), vcsn::dyn::detail::chain(), vcsn::dyn::detail::coaccessible(), vcsn::dyn::detail::codeterminize(), vcsn::dyn::detail::cominimize(), vcsn::dyn::detail::complement(), vcsn::dyn::detail::complete(), vcsn::dyn::detail::compose(), vcsn::dyn::detail::concatenate(), vcsn::dyn::detail::copy(), vcsn::dyn::detail::copy_convert(), vcsn::dyn::detail::costandard(), vcsn::dyn::detail::de_bruijn(), vcsn::dyn::detail::derived_term(), vcsn::dyn::detail::determinize(), vcsn::dyn::detail::difference(), vcsn::dyn::detail::divkbaseb(), vcsn::dyn::detail::double_ring(), vcsn::dyn::detail::eliminate_state(), vcsn::dyn::detail::factor(), vcsn::dyn::detail::filter(), vcsn::dyn::detail::infiltration(), vcsn::dyn::detail::infiltration_(), vcsn::dyn::detail::insplit(), vcsn::dyn::detail::ladybird(), vcsn::dyn::detail::left_mult(), vcsn::dyn::detail::lift_automaton(), vcsn::dyn::detail::minimize(), vcsn::dyn::detail::normalize(), vcsn::dyn::detail::pair(), vcsn::dyn::detail::power(), vcsn::dyn::detail::prefix(), vcsn::dyn::detail::product(), vcsn::dyn::detail::product_(), vcsn::dyn::detail::proper(), vcsn::dyn::detail::push_weights(), vcsn::dyn::detail::random(), vcsn::dyn::detail::random_deterministic(), vcsn::dyn::detail::reduce(), vcsn::edit_automaton< Aut >::result(), vcsn::dyn::detail::right_mult(), vcsn::dyn::detail::shuffle(), vcsn::dyn::detail::shuffle_(), vcsn::dyn::detail::sort(), vcsn::dyn::detail::standard(), vcsn::dyn::detail::standard_ratexp(), vcsn::dyn::detail::star(), vcsn::dyn::detail::strip(), vcsn::dyn::detail::subword(), vcsn::dyn::detail::suffix(), vcsn::dyn::detail::sum(), vcsn::dyn::detail::thompson(), vcsn::dyn::detail::transpose(), vcsn::dyn::detail::trim(), vcsn::dyn::detail::u(), vcsn::dyn::detail::union_a(), and vcsn::dyn::detail::universal().
automaton_editor * vcsn::dyn::make_automaton_editor | ( | const context & | ctx | ) |
Build an automatonset from its context.
Definition at line 141 of file edit-automaton.cc.
Referenced by vcsn::lazy_automaton_editor::result(), and vcsn::detail::dot::driver::setup_().
|
inline |
Definition at line 76 of file context.hh.
context vcsn::dyn::make_context | ( | const std::string & | name | ) |
Build a context from its name.
Definition at line 38 of file make-context.cc.
References compile(), vcsn::ast::normalize(), vcsn::dyn::detail::context_base::sname(), and vcsn::sname().
Referenced by vcsn::rat::driver::context(), vcsn::dyn::detail::context_of(), vcsn::dyn::detail::context_of_ratexp(), vcsn::dyn::detail::make_context(), vcsn::lazy_automaton_editor::result(), and vcsn::detail::dot::driver::setup_().
|
inline |
Definition at line 79 of file expansion.hh.
Referenced by vcsn::dyn::detail::to_expansion().
|
inline |
Definition at line 82 of file label.hh.
Referenced by vcsn::dyn::detail::ambiguous_word(), make_word(), vcsn::dyn::detail::read_label(), and vcsn::dyn::detail::synchronizing_word().
|
inline |
Definition at line 91 of file polynomial.hh.
Referenced by vcsn::dyn::detail::concatenate_polynomial(), vcsn::dyn::detail::derivation(), vcsn::dyn::detail::enumerate(), vcsn::dyn::detail::read_polynomial(), vcsn::dyn::detail::shortest(), vcsn::dyn::detail::split(), vcsn::dyn::detail::split_polynomial(), and vcsn::dyn::detail::sum_polynomial().
|
inline |
Definition at line 85 of file ratexp.hh.
Referenced by vcsn::dyn::detail::chain_ratexp(), vcsn::dyn::detail::complement_ratexp(), vcsn::dyn::detail::concatenate_ratexp(), vcsn::dyn::detail::conjunction_ratexp(), vcsn::dyn::detail::copy_ratexp(), vcsn::dyn::detail::difference_ratexp(), vcsn::dyn::detail::expand(), vcsn::dyn::detail::left_mult_ratexp(), vcsn::dyn::detail::lift_ratexp(), vcsn::dyn::detail::ratexpset_wrapper< RatExpSet >::make_ratexp(), vcsn::dyn::detail::right_mult_ratexp(), vcsn::dyn::detail::shuffle_ratexp(), vcsn::dyn::detail::star_normal_form(), vcsn::dyn::detail::sum_ratexp(), vcsn::dyn::detail::to_expression(), vcsn::dyn::detail::transpose_ratexp(), and vcsn::dyn::detail::transposition_ratexp().
|
inline |
Build a dyn::ratexpset from its static ratexpset.
Definition at line 216 of file ratexpset.hxx.
ratexpset vcsn::dyn::make_ratexpset | ( | const context & | ctx, |
::vcsn::rat::identities | is | ||
) |
Build an ratexpset from its context.
Definition at line 57 of file make-context.cc.
Referenced by vcsn::rat::driver::context(), and vcsn::rat::ratexpset_impl< Context >::conv().
|
inline |
Definition at line 82 of file weight.hh.
Referenced by vcsn::dyn::detail::constant_term(), vcsn::dyn::detail::eval(), vcsn::dyn::detail::multiply_weight(), vcsn::dyn::detail::read_weight(), and vcsn::dyn::detail::sum_weight().
|
inline |
Definition at line 91 of file label.hh.
References make_label(), and vcsn::detail::make_wordset().
context vcsn::dyn::make_word_context | ( | const context & | ctx | ) |
The context for words.
Definition at line 68 of file make-context.cc.
automaton vcsn::dyn::minimize | ( | const automaton & | aut, |
const std::string & | algo = "auto" |
||
) |
The minimized automaton.
aut | the automaton to minimize |
algo | the specific algorithm to use |
Definition at line 13 of file minimize.cc.
weight vcsn::dyn::multiply | ( | const weight & | lhs, |
const weight & | rhs | ||
) |
Multiply two weights.
Definition at line 46 of file concatenate.cc.
Referenced by vcsn::dyn::detail::multiply_weight().
automaton vcsn::dyn::normalize | ( | const automaton & | aut | ) |
Normalize automaton aut.
Definition at line 32 of file normalize.cc.
std::size_t vcsn::dyn::num_sccs | ( | const automaton & | aut | ) |
automaton vcsn::dyn::pair | ( | const automaton & | aut, |
bool | keep_initials = false |
||
) |
Build the pair automaton of the given automaton.
Definition at line 13 of file synchronizing-word.cc.
automaton vcsn::dyn::power | ( | const automaton & | aut, |
unsigned | n | ||
) |
Repeated product of aut with itself.
Definition at line 77 of file product.cc.
automaton vcsn::dyn::prefix | ( | const automaton & | aut | ) |
std::ostream & vcsn::dyn::print | ( | const automaton & | a, |
std::ostream & | o, | ||
const std::string & | format = "default" |
||
) |
std::ostream & vcsn::dyn::print | ( | const context & | c, |
std::ostream & | o, | ||
const std::string & | format = "default" |
||
) |
std::ostream & vcsn::dyn::print | ( | const expansion & | e, |
std::ostream & | o, | ||
const std::string & | format = "default" |
||
) |
Print expansion e on o using format format.
Definition at line 65 of file print.cc.
References vcsn::str_escape().
std::ostream & vcsn::dyn::print | ( | const label & | l, |
std::ostream & | o, | ||
const std::string & | format = "default" |
||
) |
Print label l on o using format format.
Definition at line 91 of file print.cc.
References vcsn::str_escape().
std::ostream & vcsn::dyn::print | ( | const polynomial & | p, |
std::ostream & | o, | ||
const std::string & | format = "default" |
||
) |
Print polynomial p on o using format format.
Definition at line 118 of file print.cc.
References vcsn::str_escape().
std::ostream & vcsn::dyn::print | ( | const ratexp & | e, |
std::ostream & | o, | ||
const std::string & | format = "default" |
||
) |
Print ratexp e on o using format format.
Definition at line 147 of file print.cc.
References info(), and vcsn::str_escape().
std::ostream & vcsn::dyn::print | ( | const weight & | w, |
std::ostream & | o, | ||
const std::string & | format = "default" |
||
) |
Print weight w on o using format format.
Definition at line 176 of file print.cc.
References vcsn::str_escape().
automaton vcsn::dyn::product | ( | const automaton & | lhs, |
const automaton & | rhs | ||
) |
The product of automata lhs and rhs.
Performs the meet of the contexts.
Definition at line 16 of file product.cc.
automaton vcsn::dyn::product | ( | const std::vector< automaton > & | as | ) |
The product of automata.
Performs the meet of the contexts.
Definition at line 23 of file product.cc.
automaton vcsn::dyn::proper | ( | const automaton & | aut, |
direction | dir = direction::backward , |
||
bool | prune = true |
||
) |
automaton vcsn::dyn::push_weights | ( | const automaton & | aut | ) |
The weight pushing automaton of aut.
Definition at line 17 of file push-weights.cc.
automaton vcsn::dyn::random_automaton | ( | const context & | ctx, |
unsigned | num_states, | ||
float | density = 0.1 , |
||
unsigned | num_initial = 1 , |
||
unsigned | num_final = 1 |
||
) |
Produce a random automaton.
ctx | The context of the result. |
num_states | The number of states wanted in the automata (>0). All states will be connected, and there will be no dead state. |
density | The density of the automata. This is the probability (between 0.0 and 1.0), to add a transition between two states. All states have at least one outgoing transition, so d is considered only when adding the remaining transition. A density of 1 means all states will be connected to each other. |
num_initial | The number of initial states wanted (0 <= num_initial <= num_states) |
num_final | The number of final states wanted (0 <= num_final <= num_states) |
automaton vcsn::dyn::random_automaton_deterministic | ( | const context & | ctx, |
unsigned | num_states | ||
) |
automaton vcsn::dyn::read_automaton | ( | std::istream & | is, |
const std::string & | format = "default" |
||
) |
Read an automaton from a stream.
is | the input stream. |
format | its format. |
Definition at line 34 of file read.cc.
References read_efsm(), and read_fado().
automaton vcsn::dyn::read_efsm | ( | std::istream & | is | ) |
Definition at line 72 of file efsm.cc.
References vcsn::lazy_automaton_editor::add_final(), vcsn::lazy_automaton_editor::add_initial(), vcsn::lazy_automaton_editor::add_transition(), vcsn::lazy_automaton_editor::open(), vcsn::require(), and vcsn::lazy_automaton_editor::result().
Referenced by read_automaton().
automaton vcsn::dyn::read_fado | ( | std::istream & | is | ) |
Definition at line 24 of file fado.cc.
References vcsn::lazy_automaton_editor::add_final(), vcsn::lazy_automaton_editor::add_initial(), vcsn::lazy_automaton_editor::add_transition(), vcsn::lazy_automaton_editor::open(), and vcsn::lazy_automaton_editor::result().
Referenced by read_automaton().
label vcsn::dyn::read_label | ( | std::istream & | is, |
const context & | ctx | ||
) |
polynomial vcsn::dyn::read_polynomial | ( | std::istream & | is, |
const context & | ctx | ||
) |
ratexp vcsn::dyn::read_ratexp | ( | std::istream & | is, |
const ratexpset & | rs, | ||
const std::string & | format = "default" |
||
) |
Read a ratexp from a stream.
is | the input stream. |
rs | the ratexp's ratexpset. |
format | the ratexp's format. |
Definition at line 62 of file read.cc.
References vcsn::rat::read().
Referenced by vcsn::rat::ratexpset_impl< Context >::conv().
weight vcsn::dyn::read_weight | ( | std::istream & | is, |
const context & | ctx | ||
) |
automaton vcsn::dyn::reduce | ( | const automaton & | aut | ) |
Reduce aut.
Definition at line 20 of file minimize.cc.
automaton vcsn::dyn::right_mult | ( | const automaton & | aut, |
const weight & | w | ||
) |
The right-mult automaton with w as weight.
Definition at line 26 of file left-mult.cc.
ratexp vcsn::dyn::right_mult | ( | const ratexp & | aut, |
const weight & | w | ||
) |
The right-multiplication of a ratexp with w as weight.
Definition at line 33 of file left-mult.cc.
void vcsn::dyn::set_format | ( | std::ostream & | o, |
const std::string & | format | ||
) |
polynomial vcsn::dyn::shortest | ( | const automaton & | aut, |
unsigned | max = 1 |
||
) |
The at-most max first accepted words.
Definition at line 12 of file enumerate.cc.
automaton vcsn::dyn::shuffle | ( | const automaton & | lhs, |
const automaton & | rhs | ||
) |
The shuffle product of automata lhs and rhs.
Performs the join of their type.
Definition at line 34 of file product.cc.
automaton vcsn::dyn::shuffle | ( | const std::vector< automaton > & | as | ) |
The shuffle product of automata.
Performs the join of their types.
Definition at line 41 of file product.cc.
ratexp vcsn::dyn::shuffle | ( | const ratexp & | lhs, |
const ratexp & | rhs | ||
) |
The shuffle product of ratexps lhs and rhs.
Performs the join of their type.
Definition at line 48 of file product.cc.
automaton vcsn::dyn::sort | ( | const automaton & | a | ) |
polynomial vcsn::dyn::split | ( | const polynomial & | p | ) |
Break all the expressions in p.
Definition at line 62 of file derivation.cc.
polynomial vcsn::dyn::split | ( | const ratexp & | exp | ) |
Break exp.
Definition at line 51 of file derivation.cc.
automaton vcsn::dyn::standard | ( | const automaton & | a | ) |
automaton vcsn::dyn::standard | ( | const ratexp & | e | ) |
The standard automaton of e.
Definition at line 60 of file standard.cc.
automaton vcsn::dyn::star | ( | const automaton & | aut | ) |
unsigned vcsn::dyn::star_height | ( | const ratexp & | rs | ) |
Star height of a ratexp.
Definition at line 17 of file star-height.cc.
ratexp vcsn::dyn::star_normal_form | ( | const ratexp & | e | ) |
A normalized form where star is applied only to expression without null constant-term.
Definition at line 16 of file star-normal-form.cc.
automaton vcsn::dyn::strip | ( | const automaton & | a | ) |
automaton vcsn::dyn::subword | ( | const automaton & | aut | ) |
automaton vcsn::dyn::suffix | ( | const automaton & | aut | ) |
automaton vcsn::dyn::sum | ( | const automaton & | lhs, |
const automaton & | rhs | ||
) |
polynomial vcsn::dyn::sum | ( | const polynomial & | lhs, |
const polynomial & | rhs | ||
) |
ratexp vcsn::dyn::sum | ( | const ratexp & | lhs, |
const ratexp & | rhs | ||
) |
weight vcsn::dyn::sum | ( | const weight & | lhs, |
const weight & | rhs | ||
) |
label vcsn::dyn::synchronizing_word | ( | const automaton & | aut, |
const std::string & | algo = "greedy" |
||
) |
A synchronizing word, or raise if there is none.
Definition at line 20 of file synchronizing-word.cc.
automaton vcsn::dyn::thompson | ( | const ratexp & | e | ) |
The Thompson automaton of e.
Definition at line 13 of file thompson.cc.
std::ostream & vcsn::dyn::tikz | ( | const automaton & | aut, |
std::ostream & | out | ||
) |
expansion vcsn::dyn::to_expansion | ( | const ratexp & | exp | ) |
First order development of a exp.
exp | the input ratexp |
Definition at line 40 of file derivation.cc.
ratexp vcsn::dyn::to_expression | ( | const automaton & | aut, |
const std::string & | algo = "auto" |
||
) |
A ratexp denoting the language of aut.
Definition at line 31 of file to-expression.cc.
automaton vcsn::dyn::transpose | ( | automaton & | aut | ) |
Transpose aut.
Definition at line 16 of file transpose.cc.
ratexp vcsn::dyn::transpose | ( | const ratexp & | e | ) |
Transpose e.
Definition at line 29 of file transpose.cc.
ratexp vcsn::dyn::transposition | ( | const ratexp & | r | ) |
Add the transposition operator to r.
Definition at line 36 of file transpose.cc.
automaton vcsn::dyn::trim | ( | const automaton & | aut | ) |
The useful subautomaton of aut.
Definition at line 28 of file accessible.cc.
automaton vcsn::dyn::u | ( | const context & | ctx, |
unsigned | n | ||
) |
automaton vcsn::dyn::union_a | ( | const automaton & | lhs, |
const automaton & | rhs | ||
) |
automaton vcsn::dyn::universal | ( | const automaton & | aut | ) |
The universal automaton of aut.
Definition at line 13 of file universal.cc.
xalloc<std::string*> vcsn::dyn::format_flag |
Definition at line 200 of file print.cc.
Referenced by get_format(), and set_format().