Vcsn  2.2
Be Rational
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
vcsn::dyn Namespace Reference

Namespaces

 detail
 

Classes

struct  jit_error
 An exception suited for our compilation errors. More...
 

Typedefs

using automaton = std::shared_ptr< detail::automaton_base >
 
using expansion = std::shared_ptr< const detail::expansion_base >
 
using expression = std::shared_ptr< detail::expression_base >
 
using context = std::shared_ptr< const detail::context_base >
 A dyn::context. More...
 
using label = std::shared_ptr< const detail::label_base >
 
using polynomial = std::shared_ptr< const detail::polynomial_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 compute the same series. More...
 
bool are_equivalent (const expression &lhs, const expression &rhs)
 Whether denote the same series. 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 cerny (const context &ctx, unsigned num_states)
 Produce a Černý automaton of num_states states. More...
 
automaton coaccessible (const automaton &aut)
 The coaccessible subautomaton of aut. More...
 
automaton codeterminize (const automaton &aut, const std::string &algo="auto")
 The codeterminized automaton. More...
 
automaton cominimize (const automaton &aut, const std::string &algo="auto")
 The cominimized automaton. More...
 
automaton complement (const automaton &aut)
 The complement of aut. More...
 
expansion complement (const expansion &x)
 Complement this expansion. More...
 
expression complement (const expression &r)
 Add the complement operator to r. More...
 
automaton complete (const automaton &aut)
 A completed copy of aut. More...
 
automaton component (const automaton &aut, unsigned num)
 The automaton of a strongly connected component. More...
 
automaton compose (automaton &lhs, automaton &rhs, bool lazy=false)
 The composition of transducers lhs and rhs. More...
 
expression concatenate (const expression &lhs, const expression &rhs)
 Concatenate two expressions. More...
 
automaton condense (const automaton &aut)
 The condensation of aut such that each state is a strongly connected component. More...
 
automaton conjunction (const automaton &lhs, const automaton &rhs, bool lazy=false)
 The conjunction (aka synchronized product) of automata. More...
 
automaton conjunction (const std::vector< automaton > &as, bool lazy=false)
 The conjunction (aka synchronized product) of automata. More...
 
automaton conjunction (const automaton &aut, unsigned n)
 Repeated conjunction of aut with itself. More...
 
expression conjunction (const expression &lhs, const expression &rhs)
 The Hadamard product of expressions lhs and rhs. More...
 
polynomial conjunction (const polynomial &lhs, const polynomial &rhs)
 The Hadamard product of polynomials lhs and rhs. More...
 
automaton conjugate (const automaton &aut)
 The conjugate of aut. More...
 
weight constant_term (const expression &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 expansion &r)
 The context of this expansion. More...
 
context context_of (const expression &r)
 The context of this expression. 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...
 
expression copy (const expression &exp, const context &ctx, rat::identities ids)
 Copy of exp, but built with ctx. More...
 
automaton costandard (const automaton &a)
 A standardized transpositive a. More...
 
automaton cotrie (const polynomial &p)
 A reversed trie-like automaton (multiple initial states, single final state) automaton to accept p. More...
 
automaton cotrie (const context &ctx, std::istream &is, const std::string &format="default")
 A reversed trie-like automaton (multiple initial states, single final state) automaton to accept the series contained in is. More...
 
automaton de_bruijn (const context &ctx, unsigned n)
 A simple NFA for (a+b)*a(a+b)^n. More...
 
automaton delay_automaton (const automaton &a)
 The automaton with the delay of each state. More...
 
polynomial derivation (const expression &exp, const label &lbl, bool breaking=false)
 Derive exp with respect to s. More...
 
automaton derived_term (const expression &exp, const std::string &algo="auto")
 The derived-term automaton of exp. More...
 
automaton determinize (const automaton &aut, const std::string &algo="auto")
 The determinized 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...
 
expression difference (const expression &lhs, const expression &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...
 
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=-1)
 The LAO automaton aut with state s removed. More...
 
weight eval (const automaton &aut, const label &l)
 Evaluate l on aut. More...
 
expression expand (const expression &e)
 Distribute product over addition recursively under the starred subexpressions and group the equal monomials. More...
 
expression expression_one (const context &c, rat::identities ids)
 The expression for \e. More...
 
expression expression_zero (const context &c, rat::identities ids)
 The expression for \z. More...
 
automaton factor (const automaton &aut)
 Create a factor automaton from aut. More...
 
automaton filter (const automaton &aut, const std::vector< unsigned > &ss)
 The subautomaton based on aut, with only states in ss visible. More...
 
automaton focus (const automaton &aut, unsigned tape)
 Focus on a specific tape of a tupleset automaton. More...
 
bool has_twins_property (const automaton &aut)
 Whether the automaton has the twins property. More...
 
bool has_lightening_cycle (const automaton &aut)
 Whether the automaton has a cycle with lightening weight. More...
 
bool has_bounded_lag (const automaton &aut)
 Whether the transducer has bounded lag. More...
 
rat::identities identities (const expression &exp)
 The identities of expression 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...
 
expression infiltration (const expression &lhs, const expression &rhs)
 The infiltration product of expressions lhs and rhs. More...
 
std::ostream & info (const automaton &aut, std::ostream &out, bool detailed=false)
 Output various facts about an automaton. More...
 
std::ostream & info (const expression &exp, std::ostream &out)
 Output various facts about exp. More...
 
automaton insplit (const automaton &aut, bool lazy=false)
 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_letterized (const automaton &aut)
 Whether aut is letterized. More...
 
bool is_partial_identity (const automaton &aut)
 Whether aut realizes a partial identity. 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_realtime (const automaton &aut)
 Whether has no spontaneous transition, and is letterized. More...
 
bool is_standard (const automaton &aut)
 Whether is standard (unique initial state, with weight one, no incoming transition). More...
 
bool is_synchronized (const automaton &aut)
 Whether is synchronized. 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 expression &e)
 Whether rational expression is valid (all the starred sub-expressions are starrable). More...
 
context join (const context &lhs, const context &rhs)
 The join between two contexts, i.e., their lowest common supertype. More...
 
automaton ladybird (const context &ctx, unsigned n)
 The ladybird automaton with n states. More...
 
polynomial ldiv (const polynomial &lhs, const polynomial &rhs)
 Left-division of two polynomials (lhs \ rhs). More...
 
expression ldiv (const expression &lhs, const expression &rhs)
 Left-division of two expressions (lhs \ rhs). More...
 
polynomial lgcd (const polynomial &lhs, const polynomial &rhs)
 Left greatest common divisor of two polynomials (lhs \ rhs). More...
 
automaton left_mult (const weight &w, const automaton &aut, const std::string &algo="auto")
 The left-multiplication of an automaton with w as weight. More...
 
expansion left_mult (const weight &w, const expansion &exp)
 The left-multiplication of an expansion with w as weight. More...
 
expression left_mult (const weight &w, const expression &exp)
 The left-multiplication of an expression with w as weight. More...
 
bool less_than (const expression &lhs, const expression &rhs)
 Ordering between expressions. More...
 
automaton letterize (const automaton &aut)
 The automaton with letter transitions instead of words. More...
 
automaton levenshtein (const context &ls)
 The transducer representing the Levenshtein distance. More...
 
automaton lift (const automaton &aut, const std::vector< unsigned > &tapes={}, rat::identities ids={})
 Lift some tapes of the transducer, or turn an automaton into a spontaneous automaton. More...
 
expression lift (const expression &e)
 The lifted LAO rational expression from e. More...
 
polynomial lightest (const automaton &aut, unsigned num=1, const std::string &algo="auto")
 The approximated behavior of an automaton with smallest weights. More...
 
automaton lightest_automaton (const automaton &aut, const std::string &algo="auto")
 The shortest path automaton using the given algorithm. More...
 
context make_context (const std::string &name)
 Build a context from its name. More...
 
automaton_editormake_automaton_editor (const context &ctx)
 Build an automatonset from its context. More...
 
context make_word_context (const context &ctx)
 The context for words. More...
 
automaton multiply (const automaton &lhs, const automaton &rhs, const std::string &algo="auto")
 Multiply (concatenate) two automata. More...
 
automaton multiply (const automaton &aut, int min, int max, const std::string &algo="auto")
 Repeated multiplication (concatenation) of an automaton with itself. More...
 
expression multiply (const expression &lhs, const expression &rhs)
 Multiply (concatenate) two expressions. More...
 
expression multiply (const expression &e, int min, int max)
 Repeated multiplication (concatenation) of an expression with itself. More...
 
label multiply (const label &lhs, const label &rhs)
 Multiply (concatenate) two labels. More...
 
polynomial multiply (const polynomial &lhs, const polynomial &rhs)
 Multiply two polynomials. More...
 
weight multiply (const weight &lhs, const weight &rhs)
 Multiply two weights. More...
 
weight multiply (const weight &e, int min, int max)
 Repeated multiplication of a weight with itself. More...
 
automaton minimize (const automaton &aut, const std::string &algo="auto")
 The minimized automaton. More...
 
automaton normalize (const automaton &aut)
 Normalize automaton aut. More...
 
std::size_t num_components (const automaton &aut)
 The number of strongly connected components. More...
 
std::size_t num_tapes (const context &ctx)
 The number of input tapes. More...
 
automaton pair (const automaton &aut, bool keep_initials=false)
 Build the pair automaton of the given automaton. More...
 
automaton partial_identity (const automaton &aut)
 Create a partial identity transducer from aut. More...
 
automaton prefix (const automaton &aut)
 Create a prefix automaton from aut. More...
 
std::ostream & print (const automaton &aut, std::ostream &out, 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 expression &e, std::ostream &o, const std::string &format="default")
 Print expression 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 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 project (const automaton &aut, unsigned tape)
 Keep a single tape from a multiple-tape automaton. More...
 
context project (const context &ctx, unsigned tape)
 Keep a single tape from a multiple-tape context. More...
 
polynomial project (const polynomial &p, unsigned tape)
 Keep a single tape from a multiple-tape polynomial. More...
 
label project (const label &p, unsigned tape)
 Keep a single tape from a multiple-tape label. More...
 
automaton proper (const automaton &aut, direction dir=direction::backward, bool prune=true, const std::string &algo="auto")
 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, float loop_chance=0.0)
 Produce a random automaton. More...
 
automaton random_automaton_deterministic (const context &ctx, unsigned num_states)
 Produce a random deterministic automaton. More...
 
expression rdiv (const expression &lhs, const expression &rhs)
 Right-division of two expressions (lhs \ rhs). More...
 
automaton read_automaton (std::istream &is, const std::string &format="default", bool strip=true)
 Read an automaton from a stream. More...
 
expression read_expression (const context &ctx, rat::identities ids, std::istream &is, const std::string &format="default")
 Read an expression from a stream. More...
 
label read_label (const context &ctx, std::istream &is, const std::string &format="default")
 Read a label from a stream. More...
 
polynomial read_polynomial (const context &ctx, std::istream &is)
 Read a polynomial from a stream. More...
 
weight read_weight (const context &ctx, std::istream &is)
 Read a weight from a stream. More...
 
automaton realtime (const automaton &aut)
 Create the realtime automaton (letterized and proper). More...
 
automaton reduce (const automaton &aut)
 Reduce aut. More...
 
automaton right_mult (const automaton &aut, const weight &w, const std::string &algo="auto")
 The right-mult automaton with w as weight. More...
 
expansion right_mult (const expansion &aut, const weight &w)
 The right-multiplication of an expansion with w as weight. More...
 
expression right_mult (const expression &aut, const weight &w)
 The right-multiplication of an expression with w as weight. More...
 
automaton scc (const automaton &aut, const std::string &algo="auto")
 Build the SCC automaton whose states are labeled with number of the strongly-connected component they belong to. More...
 
polynomial shortest (const automaton &aut, boost::optional< unsigned > num={}, boost::optional< unsigned > len={})
 The approximated behavior of an automaton. 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...
 
expression shuffle (const expression &lhs, const expression &rhs)
 The shuffle product of expressions lhs and rhs. More...
 
automaton sort (const automaton &a)
 A copy of a with normalized state numbers. More...
 
polynomial split (const expression &exp)
 Break exp. More...
 
polynomial split (const polynomial &p)
 Break all the expressions in p. More...
 
automaton standard (const automaton &a)
 A standardized a. More...
 
automaton standard (const expression &e)
 The standard automaton of e. More...
 
automaton star (const automaton &aut, const std::string &algo="auto")
 Star of an automaton. More...
 
unsigned star_height (const expression &rs)
 Star height of an expression. More...
 
expression star_normal_form (const expression &e)
 A normalized form where star is applied only to proper expressions. 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, const std::string &algo="auto")
 Sum of two automata. More...
 
expression sum (const expression &lhs, const expression &rhs)
 Sum of two expressions. More...
 
expansion sum (const expansion &lhs, const expansion &rhs)
 Sum of two expansions. More...
 
polynomial sum (const polynomial &lhs, const polynomial &rhs)
 Sum of two polynomials. More...
 
weight sum (const weight &lhs, const weight &rhs)
 Sum of two weights. More...
 
automaton synchronize (const automaton &aut)
 Create a synchronized transducer from aut. 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 expression &e)
 The Thompson automaton of e. More...
 
automaton to_automaton (const expression &exp, const std::string &algo="auto")
 An automaton denoting the language of exp. More...
 
expansion to_expansion (const expression &exp)
 First order development of a exp. More...
 
expression to_expression (const automaton &aut, rat::identities ids={}, const std::string &algo="auto")
 An expression denoting the language of aut. More...
 
expression to_expression (const context &ctx, rat::identities ids, const label &l)
 An expression denoting the label of l. More...
 
expression to_expression (const context &ctx, rat::identities ids, const letter_class_t &letters, bool accept=true)
 An expression matching one letter in a letter class. More...
 
automaton transpose (automaton &aut)
 Transpose aut. More...
 
expression transpose (const expression &e)
 Transpose e. More...
 
expression transposition (const expression &r)
 Add the transposition operator to r. More...
 
automaton trie (const polynomial &p)
 A trie-like automaton (single initial state, multiple final states) to accept p. More...
 
automaton trie (const context &ctx, std::istream &is, const std::string &format="default")
 A trie-like automaton (single initial state, multiple final states) to accept the series contained in is. More...
 
automaton trim (const automaton &aut)
 The trim subautomaton of aut. More...
 
expansion tuple (const std::vector< expansion > &rs)
 Build a k-tape expansion from k expansions. More...
 
expression tuple (const expression &lhs, const expression &rhs)
 Build a two-tape expression from two expressions. More...
 
expression tuple (const std::vector< expression > &rs)
 Build a k-tape expression from k expressions. More...
 
std::string type (const automaton &a)
 The implementation type of a. More...
 
automaton u (const context &ctx, unsigned n)
 The Brzozowski universal witness. More...
 
automaton universal (const automaton &aut)
 The universal automaton of aut. More...
 
weight weight_series (const automaton &aut)
 Compute weight of the series. More...
 
automaton zpc (const expression &exp, const std::string &algo="auto")
 The ZPC automaton of exp. More...
 
template<Automaton Aut>
automaton make_automaton (const Aut &aut)
 Build a dyn::automaton. More...
 
template<typename LabelSet , typename WeightSet >
context make_context (const vcsn::context< LabelSet, WeightSet > &ctx)
 Build a dyn::context from a static one. More...
 
template<typename ExpansionSet >
expansion make_expansion (const ExpansionSet &ps, const typename ExpansionSet::value_t &expansion)
 
template<typename ExpSet >
expression make_expression (const ExpSet &rs, const typename ExpSet::value_t &r)
 
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 &p)
 
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)
 
static integral_constant to_integral_constant (unsigned tape)
 

Variables

xalloc< std::string * > format_flag
 

Typedef Documentation

typedef std::shared_ptr< detail::automaton_base > vcsn::dyn::automaton

Definition at line 69 of file automaton.hh.

using vcsn::dyn::context = typedef std::shared_ptr<const detail::context_base>

A dyn::context.

Definition at line 43 of file fwd.hh.

typedef std::shared_ptr< const detail::expansion_base > vcsn::dyn::expansion

Definition at line 73 of file expansion.hh.

typedef std::shared_ptr< detail::expression_base > vcsn::dyn::expression

Definition at line 92 of file expression.hh.

typedef std::shared_ptr< const detail::label_base > vcsn::dyn::label

Definition at line 61 of file fwd.hh.

typedef std::shared_ptr< const detail::polynomial_base > vcsn::dyn::polynomial

Definition at line 70 of file fwd.hh.

typedef std::shared_ptr< const detail::weight_base > vcsn::dyn::weight

Definition at line 88 of file fwd.hh.

Function Documentation

automaton vcsn::dyn::accessible ( const automaton &  aut)

The accessible subautomaton of aut.

Definition at line 19 of file algos.cc.

References vcsn::dyn::detail::accessible_registry().

Here is the call graph for this function:

label vcsn::dyn::ambiguous_word ( const automaton &  aut)

An ambiguous word, or raise if there is none.

Definition at line 28 of file algos.cc.

References vcsn::dyn::detail::ambiguous_word_registry().

Here is the call graph for this function:

bool vcsn::dyn::are_equivalent ( const automaton &  lhs,
const automaton &  rhs 
)

Whether compute the same series.

Precondition
The labelsets of lhs and rhs are free.
lhs and rhs are Boolean, or on Z, or on a field.

Definition at line 37 of file algos.cc.

References vcsn::dyn::detail::are_equivalent_registry().

Here is the call graph for this function:

bool vcsn::dyn::are_equivalent ( const expression &  lhs,
const expression &  rhs 
)

Whether denote the same series.

Precondition
The labelsets of lhs and rhs are free.
lhs and rhs are Boolean, or on Z, or on a field.

Definition at line 46 of file algos.cc.

References vcsn::dyn::detail::are_equivalent_expression_registry().

Here is the call graph for this function:

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 55 of file algos.cc.

References vcsn::dyn::detail::are_isomorphic_registry().

Here is the call graph for this function:

automaton vcsn::dyn::cerny ( const context &  ctx,
unsigned  num_states 
)

Produce a Černý automaton of num_states states.

Definition at line 64 of file algos.cc.

References vcsn::dyn::detail::cerny_registry().

Here is the call graph for this function:

automaton vcsn::dyn::coaccessible ( const automaton &  aut)

The coaccessible subautomaton of aut.

Definition at line 73 of file algos.cc.

References vcsn::dyn::detail::coaccessible_registry().

Here is the call graph for this function:

automaton vcsn::dyn::codeterminize ( const automaton &  aut,
const std::string &  algo = "auto" 
)

The codeterminized automaton.

Parameters
autthe 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.
Precondition
the labelset of aut must be free.

Definition at line 82 of file algos.cc.

References vcsn::dyn::detail::codeterminize_registry().

Here is the call graph for this function:

automaton vcsn::dyn::cominimize ( const automaton &  aut,
const std::string &  algo = "auto" 
)

The cominimized automaton.

Parameters
autthe automaton to cominimize
algothe specific algorithm to use
Precondition
aut must be LAL.
aut must be deterministic.

Definition at line 91 of file algos.cc.

References vcsn::dyn::detail::cominimize_registry().

Here is the call graph for this function:

void vcsn::dyn::compile ( const std::string &  ctx)

Compile, and load, a DSO with instantiations for ctx.

Definition at line 388 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 394 of file translate.cc.

automaton vcsn::dyn::complement ( const automaton &  aut)

The complement of aut.

Precondition
aut is lal
aut is Boolean
aut is deterministic
aut is complete

Definition at line 100 of file algos.cc.

References vcsn::dyn::detail::complement_registry().

Here is the call graph for this function:

expansion vcsn::dyn::complement ( const expansion &  x)

Complement this expansion.

Definition at line 109 of file algos.cc.

References vcsn::dyn::detail::complement_expansion_registry().

Here is the call graph for this function:

expression vcsn::dyn::complement ( const expression &  r)

Add the complement operator to r.

Definition at line 118 of file algos.cc.

References vcsn::dyn::detail::complement_expression_registry().

Here is the call graph for this function:

automaton vcsn::dyn::complete ( const automaton &  aut)

A completed copy of aut.

Precondition
aut is lal

Definition at line 127 of file algos.cc.

References vcsn::dyn::detail::complete_registry().

Here is the call graph for this function:

automaton vcsn::dyn::component ( const automaton &  aut,
unsigned  num 
)

The automaton of a strongly connected component.

Parameters
autthe input automaton.
numthe component number.

Definition at line 136 of file algos.cc.

References vcsn::dyn::detail::component_registry().

Here is the call graph for this function:

automaton vcsn::dyn::compose ( automaton &  lhs,
automaton &  rhs,
bool  lazy = false 
)

The composition of transducers lhs and rhs.

Definition at line 145 of file algos.cc.

References vcsn::dyn::detail::compose_registry().

Here is the call graph for this function:

expression vcsn::dyn::concatenate ( const expression &  lhs,
const expression &  rhs 
)

Concatenate two expressions.

Do not use this routine, see multiply instead.

Definition at line 154 of file algos.cc.

References vcsn::dyn::detail::concatenate_expression_registry().

Referenced by vcsn::rat::parser::parse().

Here is the call graph for this function:

automaton vcsn::dyn::condense ( const automaton &  aut)

The condensation of aut such that each state is a strongly connected component.

Definition at line 163 of file algos.cc.

References vcsn::dyn::detail::condense_registry().

Here is the call graph for this function:

automaton vcsn::dyn::conjugate ( const automaton &  aut)

The conjugate of aut.

Definition at line 172 of file algos.cc.

References vcsn::dyn::detail::conjugate_registry().

Here is the call graph for this function:

automaton vcsn::dyn::conjunction ( const automaton &  lhs,
const automaton &  rhs,
bool  lazy = false 
)

The conjunction (aka synchronized product) of automata.

Performs the meet of the contexts.

Definition at line 26 of file others.cc.

automaton vcsn::dyn::conjunction ( const std::vector< automaton > &  as,
bool  lazy = false 
)

The conjunction (aka synchronized product) of automata.

Performs the meet of the contexts.

Parameters
asthe automata
lazywhether to perform the computations on demand.

Definition at line 181 of file algos.cc.

References vcsn::dyn::detail::conjunction_registry().

Here is the call graph for this function:

automaton vcsn::dyn::conjunction ( const automaton &  aut,
unsigned  n 
)

Repeated conjunction of aut with itself.

Definition at line 208 of file algos.cc.

References vcsn::dyn::detail::conjunction_repeated_registry().

Here is the call graph for this function:

expression vcsn::dyn::conjunction ( const expression &  lhs,
const expression &  rhs 
)

The Hadamard product of expressions lhs and rhs.

Definition at line 190 of file algos.cc.

References vcsn::dyn::detail::conjunction_expression_registry().

Here is the call graph for this function:

polynomial vcsn::dyn::conjunction ( const polynomial &  lhs,
const polynomial &  rhs 
)

The Hadamard product of polynomials lhs and rhs.

Definition at line 199 of file algos.cc.

References vcsn::dyn::detail::conjunction_polynomial_registry().

Here is the call graph for this function:

weight vcsn::dyn::constant_term ( const expression &  e)

The weight associated to the empty word in e.

Definition at line 217 of file algos.cc.

References vcsn::dyn::detail::constant_term_registry().

Here is the call graph for this function:

context vcsn::dyn::context_of ( const automaton &  a)

The context of this automaton.

Definition at line 226 of file algos.cc.

References vcsn::dyn::detail::context_of_registry().

Referenced by vcsn::rat::parser::parse().

Here is the call graph for this function:

context vcsn::dyn::context_of ( const expansion &  r)

The context of this expansion.

Definition at line 235 of file algos.cc.

References vcsn::dyn::detail::context_of_expansion_registry().

Here is the call graph for this function:

context vcsn::dyn::context_of ( const expression &  r)

The context of this expression.

Definition at line 244 of file algos.cc.

References vcsn::dyn::detail::context_of_expression_registry().

Here is the call graph for this function:

automaton vcsn::dyn::copy ( const automaton &  aut)

A copy of aut.

Definition at line 253 of file algos.cc.

References vcsn::dyn::detail::copy_registry().

Here is the call graph for this function:

automaton vcsn::dyn::copy ( const automaton &  aut,
const context &  ctx 
)

A copy of aut converted to context ctx.

Definition at line 262 of file algos.cc.

References vcsn::dyn::detail::copy_convert_registry().

Here is the call graph for this function:

expression vcsn::dyn::copy ( const expression &  exp,
const context &  ctx,
rat::identities  ids 
)

Copy of exp, but built with ctx.

Definition at line 271 of file algos.cc.

References vcsn::dyn::detail::copy_expression_registry().

Here is the call graph for this function:

automaton vcsn::dyn::costandard ( const automaton &  a)

A standardized transpositive a.

Definition at line 280 of file algos.cc.

References vcsn::dyn::detail::costandard_registry().

Here is the call graph for this function:

automaton vcsn::dyn::cotrie ( const polynomial &  p)

A reversed trie-like automaton (multiple initial states, single final state) automaton to accept p.

Parameters
pthe polynomial that describes the (finite) series

Definition at line 289 of file algos.cc.

References vcsn::dyn::detail::cotrie_registry().

Here is the call graph for this function:

automaton vcsn::dyn::cotrie ( const context &  ctx,
std::istream &  is,
const std::string &  format = "default" 
)

A reversed trie-like automaton (multiple initial states, single final state) automaton to accept the series contained in is.

Parameters
ctxthe (word-based) context used to read the words.
isthe input stream.
formatthe format of the file: "words" or "monomials".

Definition at line 298 of file algos.cc.

References vcsn::dyn::detail::cotrie_stream_registry().

Here is the call graph for this function:

automaton vcsn::dyn::de_bruijn ( const context &  ctx,
unsigned  n 
)

A simple NFA for (a+b)*a(a+b)^n.

Definition at line 307 of file algos.cc.

References vcsn::dyn::detail::de_bruijn_registry().

Here is the call graph for this function:

automaton vcsn::dyn::delay_automaton ( const automaton &  a)

The automaton with the delay of each state.

Definition at line 316 of file algos.cc.

References vcsn::dyn::detail::delay_automaton_registry().

Here is the call graph for this function:

polynomial vcsn::dyn::derivation ( const expression &  exp,
const label &  lbl,
bool  breaking = false 
)

Derive exp with respect to s.

Parameters
expthe input expression
lblthe label used for derivation
breakingwhether to split the result
Precondition
exp must be LAL.

Definition at line 325 of file algos.cc.

References vcsn::dyn::detail::derivation_registry().

Here is the call graph for this function:

automaton vcsn::dyn::derived_term ( const expression &  exp,
const std::string &  algo = "auto" 
)

The derived-term automaton of exp.

Parameters
expthe input expression
algohow 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 334 of file algos.cc.

References vcsn::dyn::detail::derived_term_registry().

Referenced by to_automaton().

Here is the call graph for this function:

automaton vcsn::dyn::determinize ( const automaton &  aut,
const std::string &  algo = "auto" 
)

The determinized automaton.

Parameters
autthe 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.
Precondition
the labelset of aut must be free.

Definition at line 343 of file algos.cc.

References vcsn::dyn::detail::determinize_registry().

Here is the call graph for this function:

automaton vcsn::dyn::difference ( const automaton &  lhs,
const automaton &  rhs 
)

An automaton whose behavior is that of lhs on words not accepted by rhs.

Parameters
lhsa LAL automaton
rhsa LAL Boolean automaton
Precondition
rhs is Boolean.

Definition at line 352 of file algos.cc.

References vcsn::dyn::detail::difference_registry().

Here is the call graph for this function:

expression vcsn::dyn::difference ( const expression &  lhs,
const expression &  rhs 
)

Words accepted by lhs, but not by rhs.

Definition at line 361 of file algos.cc.

References vcsn::dyn::detail::difference_expression_registry().

Here is the call graph for this function:

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 370 of file algos.cc.

References vcsn::dyn::detail::divkbaseb_registry().

Here is the call graph for this function:

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 379 of file algos.cc.

References vcsn::dyn::detail::double_ring_registry().

Here is the call graph for this function:

automaton vcsn::dyn::eliminate_state ( const automaton &  aut,
int  s = -1 
)

The LAO automaton aut with state s removed.

Definition at line 388 of file algos.cc.

References vcsn::dyn::detail::eliminate_state_registry().

Here is the call graph for this function:

weight vcsn::dyn::eval ( const automaton &  aut,
const label &  l 
)

Evaluate l on aut.

Definition at line 397 of file algos.cc.

References vcsn::dyn::detail::eval_registry().

Here is the call graph for this function:

expression vcsn::dyn::expand ( const expression &  e)

Distribute product over addition recursively under the starred subexpressions and group the equal monomials.

Definition at line 406 of file algos.cc.

References vcsn::dyn::detail::expand_registry().

Here is the call graph for this function:

expression vcsn::dyn::expression_one ( const context &  c,
rat::identities  ids 
)

The expression for \e.

Definition at line 415 of file algos.cc.

References vcsn::dyn::detail::expression_one_registry().

Referenced by vcsn::rat::parser::parse().

Here is the call graph for this function:

expression vcsn::dyn::expression_zero ( const context &  c,
rat::identities  ids 
)

The expression for \z.

Definition at line 424 of file algos.cc.

References vcsn::dyn::detail::expression_zero_registry().

Referenced by vcsn::rat::parser::parse().

Here is the call graph for this function:

automaton vcsn::dyn::factor ( const automaton &  aut)

Create a factor automaton from aut.

Definition at line 433 of file algos.cc.

References vcsn::dyn::detail::factor_registry().

Here is the call graph for this function:

automaton vcsn::dyn::filter ( const automaton &  aut,
const std::vector< unsigned > &  ss 
)

The subautomaton based on aut, with only states in ss visible.

Definition at line 442 of file algos.cc.

References vcsn::dyn::detail::filter_registry().

Here is the call graph for this function:

automaton vcsn::dyn::focus ( const automaton &  aut,
unsigned  tape 
)

Focus on a specific tape of a tupleset automaton.

Definition at line 46 of file others.cc.

References to_integral_constant().

Here is the call graph for this function:

std::string vcsn::dyn::get_format ( std::ostream &  o)

Get the output format for o.

Definition at line 173 of file print.cc.

References format_flag.

bool vcsn::dyn::has_bounded_lag ( const automaton &  aut)

Whether the transducer has bounded lag.

Definition at line 451 of file algos.cc.

References vcsn::dyn::detail::has_bounded_lag_registry().

Here is the call graph for this function:

bool vcsn::dyn::has_lightening_cycle ( const automaton &  aut)

Whether the automaton has a cycle with lightening weight.

Definition at line 460 of file algos.cc.

References vcsn::dyn::detail::has_lightening_cycle_registry().

Here is the call graph for this function:

bool vcsn::dyn::has_twins_property ( const automaton &  aut)

Whether the automaton has the twins property.

Definition at line 469 of file algos.cc.

References vcsn::dyn::detail::has_twins_property_registry().

Here is the call graph for this function:

rat::identities vcsn::dyn::identities ( const expression &  exp)

The identities of expression exp.

Definition at line 478 of file algos.cc.

References vcsn::dyn::detail::identities_registry().

Here is the call graph for this function:

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 58 of file others.cc.

automaton vcsn::dyn::infiltration ( const std::vector< automaton > &  as)

The infiltration product of automata.

Performs the join of their types.

Definition at line 487 of file algos.cc.

References vcsn::dyn::detail::infiltration_registry().

Here is the call graph for this function:

expression vcsn::dyn::infiltration ( const expression &  lhs,
const expression &  rhs 
)

The infiltration product of expressions lhs and rhs.

Performs the join of their type.

Definition at line 496 of file algos.cc.

References vcsn::dyn::detail::infiltration_expression_registry().

Here is the call graph for this function:

std::ostream & vcsn::dyn::info ( const automaton &  aut,
std::ostream &  out,
bool  detailed = false 
)

Output various facts about an automaton.

Parameters
autthe automaton under study
outthe output stream where to print the info
detailedwhether to print even facts costly to compute.

Definition at line 505 of file algos.cc.

References vcsn::dyn::detail::info_registry().

Referenced by print().

Here is the call graph for this function:

std::ostream & vcsn::dyn::info ( const expression &  exp,
std::ostream &  out 
)

Output various facts about exp.

Definition at line 514 of file algos.cc.

References vcsn::dyn::detail::info_expression_registry().

Here is the call graph for this function:

automaton vcsn::dyn::insplit ( const automaton &  aut,
bool  lazy = false 
)

Split automaton on the incoming transition.

Every state either has only epsilon incoming transitions or non-epsilon ones.

Precondition
aut is lal or lan

Definition at line 523 of file algos.cc.

References vcsn::dyn::detail::insplit_registry().

Here is the call graph for this function:

bool vcsn::dyn::is_accessible ( const automaton &  aut)

Whether aut is accessible.

Definition at line 532 of file algos.cc.

References vcsn::dyn::detail::is_accessible_registry().

Here is the call graph for this function:

bool vcsn::dyn::is_ambiguous ( const automaton &  aut)

Whether aut is ambiguous.

Precondition
aut is LAL.

Definition at line 541 of file algos.cc.

References vcsn::dyn::detail::is_ambiguous_registry().

Here is the call graph for this function:

bool vcsn::dyn::is_coaccessible ( const automaton &  aut)

Whether aut is coaccessible.

Definition at line 550 of file algos.cc.

References vcsn::dyn::detail::is_coaccessible_registry().

Here is the call graph for this function:

bool vcsn::dyn::is_codeterministic ( const automaton &  aut)

Whether aut is codeterministic.

Precondition
aut is LAL.

Definition at line 559 of file algos.cc.

References vcsn::dyn::detail::is_codeterministic_registry().

Here is the call graph for this function:

bool vcsn::dyn::is_complete ( const automaton &  aut)

Whether aut is complete.

Precondition
aut is LAL.

Definition at line 568 of file algos.cc.

References vcsn::dyn::detail::is_complete_registry().

Here is the call graph for this function:

bool vcsn::dyn::is_costandard ( const automaton &  aut)

Whether is costandard (unique final state, with weight one, no outcoming transition).

Definition at line 577 of file algos.cc.

References vcsn::dyn::detail::is_costandard_registry().

Here is the call graph for this function:

bool vcsn::dyn::is_cycle_ambiguous ( const automaton &  aut)

Whether the automaton is cycle-ambiguous.

Definition at line 586 of file algos.cc.

References vcsn::dyn::detail::is_cycle_ambiguous_registry().

Here is the call graph for this function:

bool vcsn::dyn::is_deterministic ( const automaton &  aut)

Whether aut is deterministic.

Precondition
aut is LAL.

Definition at line 595 of file algos.cc.

References vcsn::dyn::detail::is_deterministic_registry().

Here is the call graph for this function:

bool vcsn::dyn::is_empty ( const automaton &  aut)

Whether has no state.

Definition at line 604 of file algos.cc.

References vcsn::dyn::detail::is_empty_registry().

Here is the call graph for this function:

bool vcsn::dyn::is_eps_acyclic ( const automaton &  aut)

Whether has no cycle of spontaneous transitions.

Definition at line 613 of file algos.cc.

References vcsn::dyn::detail::is_eps_acyclic_registry().

Here is the call graph for this function:

bool vcsn::dyn::is_functional ( const automaton &  aut)

Whether aut is functional.

Precondition
aut is a transducer.

Definition at line 622 of file algos.cc.

References vcsn::dyn::detail::is_functional_registry().

Here is the call graph for this function:

bool vcsn::dyn::is_letterized ( const automaton &  aut)

Whether aut is letterized.

Definition at line 631 of file algos.cc.

References vcsn::dyn::detail::is_letterized_registry().

Here is the call graph for this function:

bool vcsn::dyn::is_normalized ( const automaton &  aut)

Whether is normalized (in the Thompson sense), i.e., standard and co-standard.

Definition at line 640 of file algos.cc.

References vcsn::dyn::detail::is_normalized_registry().

Here is the call graph for this function:

bool vcsn::dyn::is_out_sorted ( const automaton &  aut)

Whether the outgoing transitions of each state have increasing labels.

Definition at line 649 of file algos.cc.

References vcsn::dyn::detail::is_out_sorted_registry().

Here is the call graph for this function:

bool vcsn::dyn::is_partial_identity ( const automaton &  aut)

Whether aut realizes a partial identity.

Precondition
aut is a transducer.

Definition at line 658 of file algos.cc.

References vcsn::dyn::detail::is_partial_identity_registry().

Here is the call graph for this function:

bool vcsn::dyn::is_proper ( const automaton &  aut)

Whether has no spontaneous transition.

Definition at line 667 of file algos.cc.

References vcsn::dyn::detail::is_proper_registry().

Here is the call graph for this function:

bool vcsn::dyn::is_realtime ( const automaton &  aut)

Whether has no spontaneous transition, and is letterized.

Definition at line 676 of file algos.cc.

References vcsn::dyn::detail::is_realtime_registry().

Here is the call graph for this function:

bool vcsn::dyn::is_standard ( const automaton &  aut)

Whether is standard (unique initial state, with weight one, no incoming transition).

Definition at line 685 of file algos.cc.

References vcsn::dyn::detail::is_standard_registry().

Here is the call graph for this function:

bool vcsn::dyn::is_synchronized ( const automaton &  aut)

Whether is synchronized.

Definition at line 694 of file algos.cc.

References vcsn::dyn::detail::is_synchronized_registry().

Here is the call graph for this function:

bool vcsn::dyn::is_synchronized_by ( const automaton &  aut,
const label &  word 
)

Whether the word synchronizes aut.

Definition at line 703 of file algos.cc.

References vcsn::dyn::detail::is_synchronized_by_registry().

Here is the call graph for this function:

bool vcsn::dyn::is_synchronizing ( const automaton &  aut)

Whether is synchronizing.

Definition at line 712 of file algos.cc.

References vcsn::dyn::detail::is_synchronizing_registry().

Here is the call graph for this function:

bool vcsn::dyn::is_trim ( const automaton &  aut)

Whether has no useless state.

Definition at line 721 of file algos.cc.

References vcsn::dyn::detail::is_trim_registry().

Here is the call graph for this function:

bool vcsn::dyn::is_useless ( const automaton &  aut)

Whether has no useful state.

Definition at line 730 of file algos.cc.

References vcsn::dyn::detail::is_useless_registry().

Here is the call graph for this function:

bool vcsn::dyn::is_valid ( const automaton &  e)

Whether automaton is valid (epsilon-cycles converge).

Definition at line 739 of file algos.cc.

References vcsn::dyn::detail::is_valid_registry().

Here is the call graph for this function:

bool vcsn::dyn::is_valid ( const expression &  e)

Whether rational expression is valid (all the starred sub-expressions are starrable).

Definition at line 748 of file algos.cc.

References vcsn::dyn::detail::is_valid_expression_registry().

Here is the call graph for this function:

context vcsn::dyn::join ( const context &  lhs,
const context &  rhs 
)

The join between two contexts, i.e., their lowest common supertype.

Definition at line 757 of file algos.cc.

References vcsn::dyn::detail::join_registry().

Here is the call graph for this function:

automaton vcsn::dyn::ladybird ( const context &  ctx,
unsigned  n 
)

The ladybird automaton with n states.

Definition at line 766 of file algos.cc.

References vcsn::dyn::detail::ladybird_registry().

Here is the call graph for this function:

polynomial vcsn::dyn::ldiv ( const polynomial &  lhs,
const polynomial &  rhs 
)

Left-division of two polynomials (lhs \ rhs).

Definition at line 784 of file algos.cc.

References vcsn::dyn::detail::ldiv_polynomial_registry().

Here is the call graph for this function:

expression vcsn::dyn::ldiv ( const expression &  lhs,
const expression &  rhs 
)

Left-division of two expressions (lhs \ rhs).

Definition at line 775 of file algos.cc.

References vcsn::dyn::detail::ldiv_expression_registry().

Here is the call graph for this function:

automaton vcsn::dyn::left_mult ( const weight &  w,
const automaton &  aut,
const std::string &  algo = "auto" 
)

The left-multiplication of an automaton with w as weight.

Parameters
wthe weight to left-multiply
autthe input automaton.
algohow to compute the result.
  • "standard" aut is standard, build a standard automaton.
  • "general" no requirement on aut, but add spontaneous transitions.
  • "auto" "standard" if aut is standard, "general" otherwise.

Definition at line 793 of file algos.cc.

References vcsn::dyn::detail::left_mult_registry().

Referenced by vcsn::rat::parser::parse().

Here is the call graph for this function:

expansion vcsn::dyn::left_mult ( const weight &  w,
const expansion &  exp 
)

The left-multiplication of an expansion with w as weight.

Definition at line 802 of file algos.cc.

References vcsn::dyn::detail::left_mult_expansion_registry().

Here is the call graph for this function:

expression vcsn::dyn::left_mult ( const weight &  w,
const expression &  exp 
)

The left-multiplication of an expression with w as weight.

Definition at line 811 of file algos.cc.

References vcsn::dyn::detail::left_mult_expression_registry().

Here is the call graph for this function:

bool vcsn::dyn::less_than ( const expression &  lhs,
const expression &  rhs 
)

Ordering between expressions.

Definition at line 820 of file algos.cc.

References vcsn::dyn::detail::less_than_expression_registry().

Here is the call graph for this function:

automaton vcsn::dyn::letterize ( const automaton &  aut)

The automaton with letter transitions instead of words.

Definition at line 829 of file algos.cc.

References vcsn::dyn::detail::letterize_registry().

Here is the call graph for this function:

automaton vcsn::dyn::levenshtein ( const context &  ls)

The transducer representing the Levenshtein distance.

Definition at line 838 of file algos.cc.

References vcsn::dyn::detail::levenshtein_registry().

Here is the call graph for this function:

polynomial vcsn::dyn::lgcd ( const polynomial &  lhs,
const polynomial &  rhs 
)

Left greatest common divisor of two polynomials (lhs \ rhs).

Definition at line 847 of file algos.cc.

References vcsn::dyn::detail::lgcd_polynomial_registry().

Referenced by vcsn::dyn::detail::lgcd_polynomial().

Here is the call graph for this function:

automaton vcsn::dyn::lift ( const automaton &  aut,
const std::vector< unsigned > &  tapes = {},
rat::identities  ids = {} 
)

Lift some tapes of the transducer, or turn an automaton into a spontaneous automaton.

Each <k>l transition is mapped to a <<k>l>\e transition.

Parameters
autthe input automaton
tapesthe tapes to lift to weights
idsthe identities of the expression

Definition at line 71 of file others.cc.

References vcsn::signature::sig, vcsn::rat::to_string(), and vcsn::vname().

Here is the call graph for this function:

expression vcsn::dyn::lift ( const expression &  e)

The lifted LAO rational expression from e.

Definition at line 856 of file algos.cc.

References vcsn::dyn::detail::lift_expression_registry().

Here is the call graph for this function:

polynomial vcsn::dyn::lightest ( const automaton &  aut,
unsigned  num = 1,
const std::string &  algo = "auto" 
)

The approximated behavior of an automaton with smallest weights.

Parameters
autthe automaton whose behavior to approximate
numnumber of words looked for.
algothe specific algorithm to use

Definition at line 865 of file algos.cc.

References vcsn::dyn::detail::lightest_registry().

Here is the call graph for this function:

automaton vcsn::dyn::lightest_automaton ( const automaton &  aut,
const std::string &  algo = "auto" 
)

The shortest path automaton using the given algorithm.

Definition at line 874 of file algos.cc.

References vcsn::dyn::detail::lightest_automaton_registry().

Here is the call graph for this function:

template<Automaton Aut>
automaton vcsn::dyn::make_automaton ( const Aut &  aut)
inline

Build a dyn::automaton.

Definition at line 75 of file automaton.hh.

Referenced by vcsn::dyn::detail::accessible(), vcsn::dyn::detail::cerny(), vcsn::dyn::detail::coaccessible(), vcsn::dyn::detail::codeterminize_tag_(), vcsn::dyn::detail::cominimize_tag_(), vcsn::dyn::detail::complement(), vcsn::dyn::detail::complete(), vcsn::dyn::detail::compose(), vcsn::dyn::detail::conjugate(), vcsn::dyn::detail::conjunction_(), vcsn::dyn::detail::conjunction_repeated(), vcsn::dyn::detail::copy(), vcsn::dyn::detail::copy_convert(), vcsn::dyn::detail::costandard(), vcsn::dyn::detail::cotrie(), vcsn::dyn::detail::cotrie_stream(), vcsn::dyn::detail::de_bruijn(), vcsn::dyn::detail::derived_term(), vcsn::dyn::detail::determinize_tag_(), 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::infiltration_(), vcsn::dyn::detail::insplit(), vcsn::dyn::detail::ladybird(), vcsn::dyn::detail::left_mult_tag(), vcsn::dyn::detail::letterize(), vcsn::dyn::detail::levenshtein(), vcsn::dyn::detail::lift_automaton(), vcsn::dyn::detail::lightest_automaton(), vcsn::dyn::detail::minimize_tag_(), vcsn::dyn::detail::multiply(), vcsn::dyn::detail::multiply_repeated(), vcsn::dyn::detail::normalize(), vcsn::dyn::detail::pair(), vcsn::dyn::detail::partial_identity(), vcsn::dyn::detail::prefix(), vcsn::dyn::detail::project(), vcsn::dyn::detail::proper(), vcsn::dyn::detail::push_weights(), vcsn::dyn::detail::random_automaton(), vcsn::dyn::detail::random_automaton_deterministic(), vcsn::dyn::detail::realtime(), vcsn::dyn::detail::reduce(), vcsn::edit_automaton< Aut >::result(), vcsn::dyn::detail::right_mult_tag(), vcsn::dyn::detail::shuffle_(), vcsn::dyn::detail::sort(), vcsn::dyn::detail::standard(), vcsn::dyn::detail::standard_expression(), vcsn::dyn::detail::star(), vcsn::dyn::detail::strip(), vcsn::dyn::detail::subword(), vcsn::dyn::detail::suffix(), vcsn::dyn::detail::sum(), vcsn::dyn::detail::synchronize(), vcsn::dyn::detail::thompson(), vcsn::dyn::detail::trie(), vcsn::dyn::detail::trie_stream(), vcsn::dyn::detail::trim(), vcsn::dyn::detail::u(), vcsn::dyn::detail::universal(), and vcsn::dyn::detail::zpc().

automaton_editor * vcsn::dyn::make_automaton_editor ( const context &  ctx)

Build an automatonset from its context.

Definition at line 883 of file algos.cc.

References vcsn::dyn::detail::make_automaton_editor_registry().

Referenced by vcsn::lazy_automaton_editor::result(), and vcsn::detail::dot::driver::setup_().

Here is the call graph for this function:

template<typename LabelSet , typename WeightSet >
context vcsn::dyn::make_context ( const vcsn::context< LabelSet, WeightSet > &  ctx)
inline

Build a dyn::context from a static one.

Definition at line 72 of file context.hh.

References vcsn::rat::ctx().

Here is the call graph for this function:

context vcsn::dyn::make_context ( const std::string &  name)

Build a context from its name.

Definition at line 99 of file others.cc.

References compile(), vcsn::ast::normalize_context(), and vcsn::sname().

Referenced by vcsn::rat::driver::context(), vcsn::dyn::detail::context_of(), vcsn::dyn::detail::context_of_expansion(), vcsn::dyn::detail::context_of_expression(), vcsn::rat::expressionset_impl< Context >::conv(), vcsn::dyn::detail::join(), vcsn::dyn::detail::make_context(), vcsn::lazy_automaton_editor::result(), and vcsn::detail::dot::driver::setup_().

Here is the call graph for this function:

template<typename ExpansionSet >
expansion vcsn::dyn::make_expansion ( const ExpansionSet &  ps,
const typename ExpansionSet::value_t &  expansion 
)
inline
template<typename LabelSet >
label vcsn::dyn::make_label ( const LabelSet &  ls,
const typename LabelSet::value_t &  l 
)
inline
template<typename WeightSet >
weight vcsn::dyn::make_weight ( const WeightSet ws,
const typename WeightSet::value_t &  w 
)
inline
template<typename LabelSet >
label vcsn::dyn::make_word ( const LabelSet &  ls,
const typename LabelSet::value_t &  l 
)
inline

Definition at line 89 of file label.hh.

References make_label(), and vcsn::detail::make_wordset().

Here is the call graph for this function:

context vcsn::dyn::make_word_context ( const context &  ctx)

The context for words.

Definition at line 892 of file algos.cc.

References vcsn::dyn::detail::make_word_context_registry().

Here is the call graph for this function:

automaton vcsn::dyn::minimize ( const automaton &  aut,
const std::string &  algo = "auto" 
)

The minimized automaton.

Parameters
autthe automaton to minimize
algothe specific algorithm to use
Precondition
aut must be LAL.
aut must be deterministic.

Definition at line 901 of file algos.cc.

References vcsn::dyn::detail::minimize_registry().

Here is the call graph for this function:

automaton vcsn::dyn::multiply ( const automaton &  lhs,
const automaton &  rhs,
const std::string &  algo = "auto" 
)

Multiply (concatenate) two automata.

Parameters
lhsan automaton.
rhsanother one.
algohow to compute the result
  • "standard" both lhs and rhs are standard, build a standard automaton.
  • "general" no requirement on lhs and and rhs, but add spontaneous transitions.
  • "auto" "standard" if both automata are standard, "general" otherwise.

Definition at line 910 of file algos.cc.

References vcsn::dyn::detail::multiply_registry().

Referenced by vcsn::rat::parser::parse().

Here is the call graph for this function:

automaton vcsn::dyn::multiply ( const automaton &  aut,
int  min,
int  max,
const std::string &  algo = "auto" 
)

Repeated multiplication (concatenation) of an automaton with itself.

Parameters
autthe automaton.
minthe minimum number. If -1, denotes 0.
maxthe maximum number. If -1, denotes infinity, using star.
algohow to compute the result
  • "standard" aut is standard, build a standard automaton.
  • "general" no requirement on aut, but add spontaneous transitions.
  • "auto" "standard" if aut is standard, "general" otherwise.

Definition at line 955 of file algos.cc.

References vcsn::dyn::detail::multiply_repeated_registry().

Here is the call graph for this function:

expression vcsn::dyn::multiply ( const expression &  lhs,
const expression &  rhs 
)

Multiply (concatenate) two expressions.

Definition at line 919 of file algos.cc.

References vcsn::dyn::detail::multiply_expression_registry().

Here is the call graph for this function:

expression vcsn::dyn::multiply ( const expression &  e,
int  min,
int  max 
)

Repeated multiplication (concatenation) of an expression with itself.

Parameters
ethe expression.
minthe minimum number. If -1, denotes 0.
maxthe maximum number. If -1, denotes infinity, using star.

Definition at line 928 of file algos.cc.

References vcsn::dyn::detail::multiply_expression_repeated_registry().

Here is the call graph for this function:

label vcsn::dyn::multiply ( const label &  lhs,
const label &  rhs 
)

Multiply (concatenate) two labels.

Definition at line 937 of file algos.cc.

References vcsn::dyn::detail::multiply_label_registry().

Here is the call graph for this function:

polynomial vcsn::dyn::multiply ( const polynomial &  lhs,
const polynomial &  rhs 
)

Multiply two polynomials.

Definition at line 946 of file algos.cc.

References vcsn::dyn::detail::multiply_polynomial_registry().

Here is the call graph for this function:

weight vcsn::dyn::multiply ( const weight &  lhs,
const weight &  rhs 
)

Multiply two weights.

Definition at line 964 of file algos.cc.

References vcsn::dyn::detail::multiply_weight_registry().

Here is the call graph for this function:

weight vcsn::dyn::multiply ( const weight &  e,
int  min,
int  max 
)

Repeated multiplication of a weight with itself.

Parameters
ethe weight.
minthe minimum number. If -1, denotes 0.
maxthe maximum number. If -1, denotes infinity, using star.

Definition at line 973 of file algos.cc.

References vcsn::dyn::detail::multiply_weight_repeated_registry().

Here is the call graph for this function:

automaton vcsn::dyn::normalize ( const automaton &  aut)

Normalize automaton aut.

Definition at line 982 of file algos.cc.

References vcsn::dyn::detail::normalize_registry().

Here is the call graph for this function:

std::size_t vcsn::dyn::num_components ( const automaton &  aut)

The number of strongly connected components.

Definition at line 991 of file algos.cc.

References vcsn::dyn::detail::num_components_registry().

Here is the call graph for this function:

size_t vcsn::dyn::num_tapes ( const context &  ctx)

The number of input tapes.

Returns
0 if the context is not tupleset.

Definition at line 1000 of file algos.cc.

References vcsn::dyn::detail::num_tapes_registry().

Referenced by vcsn::rat::driver::context(), and vcsn::rat::parser::parse().

Here is the call graph for this function:

automaton vcsn::dyn::pair ( const automaton &  aut,
bool  keep_initials = false 
)

Build the pair automaton of the given automaton.

Definition at line 1009 of file algos.cc.

References vcsn::dyn::detail::pair_registry().

Here is the call graph for this function:

automaton vcsn::dyn::partial_identity ( const automaton &  aut)

Create a partial identity transducer from aut.

Definition at line 1018 of file algos.cc.

References vcsn::dyn::detail::partial_identity_registry().

Here is the call graph for this function:

automaton vcsn::dyn::prefix ( const automaton &  aut)

Create a prefix automaton from aut.

Definition at line 1027 of file algos.cc.

References vcsn::dyn::detail::prefix_registry().

Here is the call graph for this function:

std::ostream & vcsn::dyn::print ( const automaton &  aut,
std::ostream &  out,
const std::string &  format = "default" 
)

Print automaton a on o using format format.

Parameters
autthe automaton to format
outthe output stream where to print the dot file
formatthe output format.
  • "default" Same as "dot".
  • "dot" GraphViz' Dot format.
  • "dot,utf8" Likewise, but benefit from UTF-8
  • "dot,latex" Likewise, but generate LaTeX escapes for use with dot2tex.
  • "efsm" Extended FSM.
  • "fado" FAdo format.
  • "grail" Grail format.
  • "tikz" LaTeX's TikZ format.

Definition at line 1036 of file algos.cc.

References vcsn::dyn::detail::print_registry().

Here is the call graph for this function:

std::ostream & vcsn::dyn::print ( const context &  c,
std::ostream &  o,
const std::string &  format = "default" 
)

Print context c on o using format format.

Definition at line 1045 of file algos.cc.

References vcsn::dyn::detail::print_context_registry().

Here is the call graph for this function:

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 27 of file print.cc.

References vcsn::detail::out(), and vcsn::str_escape().

Here is the call graph for this function:

std::ostream & vcsn::dyn::print ( const expression &  e,
std::ostream &  o,
const std::string &  format = "default" 
)

Print expression e on o using format format.

Definition at line 109 of file print.cc.

References info(), vcsn::detail::out(), and vcsn::str_escape().

Here is the call graph for this function:

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 53 of file print.cc.

References vcsn::detail::out(), and vcsn::str_escape().

Here is the call graph for this function:

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 80 of file print.cc.

References vcsn::detail::out(), and vcsn::str_escape().

Here is the call graph for this function:

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 138 of file print.cc.

References vcsn::detail::out(), and vcsn::str_escape().

Here is the call graph for this function:

automaton vcsn::dyn::project ( const automaton &  aut,
unsigned  tape 
)

Keep a single tape from a multiple-tape automaton.

Definition at line 115 of file others.cc.

References to_integral_constant().

Referenced by vcsn::rat::driver::context().

Here is the call graph for this function:

context vcsn::dyn::project ( const context &  ctx,
unsigned  tape 
)

Keep a single tape from a multiple-tape context.

Definition at line 123 of file others.cc.

References to_integral_constant().

Here is the call graph for this function:

polynomial vcsn::dyn::project ( const polynomial &  p,
unsigned  tape 
)

Keep a single tape from a multiple-tape polynomial.

Definition at line 131 of file others.cc.

References to_integral_constant().

Here is the call graph for this function:

label vcsn::dyn::project ( const label &  p,
unsigned  tape 
)

Keep a single tape from a multiple-tape label.

Definition at line 139 of file others.cc.

References to_integral_constant().

Here is the call graph for this function:

automaton vcsn::dyn::proper ( const automaton &  aut,
direction  dir = direction::backward,
bool  prune = true,
const std::string &  algo = "auto" 
)

An equivalent automaton without spontaneous transitions.

Parameters
autthe automaton in which to remove them
dirthe direction of the closure
prunewhether to delete states that become inaccessible
algohow elimination is performed
  • "auto" same as "inplace"
  • "default" same as "inplace"
  • "inplace" eliminate in place
  • "separate" first separate the automaton into spontaneous and proper parts
  • "distance" compute all-pairs distances

Definition at line 1054 of file algos.cc.

References vcsn::dyn::detail::proper_registry().

Here is the call graph for this function:

automaton vcsn::dyn::push_weights ( const automaton &  aut)

The weight pushing automaton of aut.

Definition at line 1063 of file algos.cc.

References vcsn::dyn::detail::push_weights_registry().

Here is the call graph for this function:

automaton vcsn::dyn::random_automaton ( const context &  ctx,
unsigned  num_states,
float  density = 0.1,
unsigned  num_initial = 1,
unsigned  num_final = 1,
float  loop_chance = 0.0 
)

Produce a random automaton.

Parameters
ctxThe context of the result.
num_statesThe number of states wanted in the automata (>0). All states will be connected, and there will be no dead state.
densityThe 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_initialThe number of initial states wanted (0 <= num_initial <= num_states)
num_finalThe number of final states wanted (0 <= num_final <= num_states)
loop_chanceThe probability (between 0.0 and 1.0) for each state to have a loop.

Definition at line 1072 of file algos.cc.

References vcsn::dyn::detail::random_automaton_registry().

Here is the call graph for this function:

automaton vcsn::dyn::random_automaton_deterministic ( const context &  ctx,
unsigned  num_states 
)

Produce a random deterministic automaton.

Parameters
ctxThe context of the result.
num_statesThe number of states wanted in the automata (>0).

Definition at line 1081 of file algos.cc.

References vcsn::dyn::detail::random_automaton_deterministic_registry().

Here is the call graph for this function:

expression vcsn::dyn::rdiv ( const expression &  lhs,
const expression &  rhs 
)

Right-division of two expressions (lhs \ rhs).

Definition at line 1090 of file algos.cc.

References vcsn::dyn::detail::rdiv_expression_registry().

Referenced by vcsn::rat::parser::parse(), and vcsn::dyn::detail::rdiv_expression().

Here is the call graph for this function:

automaton vcsn::dyn::read_automaton ( std::istream &  is,
const std::string &  format = "default",
bool  strip = true 
)

Read an automaton from a stream.

Parameters
isthe input stream.
formatits format.
stripwhether to return a stripped automaton, or a named automaton.

Definition at line 34 of file read.cc.

References is, read_efsm(), read_fado(), and strip().

Here is the call graph for this function:

automaton vcsn::dyn::read_efsm ( std::istream &  is)

Definition at line 103 of file efsm.cc.

References vcsn::rat::ctx(), vcsn::lazy_automaton_editor::open(), and vcsn::require().

Referenced by read_automaton().

Here is the call graph for this function:

expression vcsn::dyn::read_expression ( const context &  ctx,
rat::identities  ids,
std::istream &  is,
const std::string &  format = "default" 
)

Read an expression from a stream.

Parameters
ctxthe context.
idsthe identities to apply.
isthe input stream.
formatthe expression's format.

Definition at line 59 of file read.cc.

References vcsn::rat::ctx(), vcsn::dyn::detail::identities(), vcsn::rat::ids(), is, and vcsn::rat::read().

Referenced by vcsn::rat::expressionset_impl< Context >::conv().

Here is the call graph for this function:

automaton vcsn::dyn::read_fado ( std::istream &  is)

Definition at line 21 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().

Here is the call graph for this function:

label vcsn::dyn::read_label ( const context &  ctx,
std::istream &  is,
const std::string &  format = "default" 
)

Read a label from a stream.

Parameters
ctxthe context.
isthe input stream.
formatthe label's format.

Definition at line 84 of file read.cc.

Referenced by vcsn::rat::driver::make_label().

polynomial vcsn::dyn::read_polynomial ( const context &  ctx,
std::istream &  is 
)

Read a polynomial from a stream.

Parameters
ctxits context, from which is built its polynomialset.
isthe stream to parse.

Definition at line 1099 of file algos.cc.

References vcsn::dyn::detail::read_polynomial_registry().

Here is the call graph for this function:

weight vcsn::dyn::read_weight ( const context &  ctx,
std::istream &  is 
)

Read a weight from a stream.

Parameters
ctxthe context.
isthe input stream.

Definition at line 1108 of file algos.cc.

References vcsn::dyn::detail::read_weight_registry().

Referenced by vcsn::rat::driver::make_weight().

Here is the call graph for this function:

automaton vcsn::dyn::realtime ( const automaton &  aut)

Create the realtime automaton (letterized and proper).

Definition at line 1117 of file algos.cc.

References vcsn::dyn::detail::realtime_registry().

Here is the call graph for this function:

automaton vcsn::dyn::reduce ( const automaton &  aut)

Reduce aut.

Definition at line 1126 of file algos.cc.

References vcsn::dyn::detail::reduce_registry().

Here is the call graph for this function:

automaton vcsn::dyn::right_mult ( const automaton &  aut,
const weight &  w,
const std::string &  algo = "auto" 
)

The right-mult automaton with w as weight.

Parameters
autthe input automaton.
wthe weight to right-multiply
algohow to compute the result. In most cases, "standard" and "general" have equal results. The only difference in when when w is null, in which case "general" produces an empty automaton, while "standard" produces an automaton with a single state, which is initial (and, of course, no final states).
  • "standard" aut is standard, build a standard automaton.
  • "general" no requirement on aut, but add spontaneous transitions.
  • "auto" "standard" if aut is standard, "general" otherwise.

Definition at line 1135 of file algos.cc.

References vcsn::dyn::detail::right_mult_registry().

Referenced by vcsn::rat::parser::parse().

Here is the call graph for this function:

expansion vcsn::dyn::right_mult ( const expansion &  aut,
const weight &  w 
)

The right-multiplication of an expansion with w as weight.

Definition at line 1144 of file algos.cc.

References vcsn::dyn::detail::right_mult_expansion_registry().

Here is the call graph for this function:

expression vcsn::dyn::right_mult ( const expression &  aut,
const weight &  w 
)

The right-multiplication of an expression with w as weight.

Definition at line 1153 of file algos.cc.

References vcsn::dyn::detail::right_mult_expression_registry().

Here is the call graph for this function:

automaton vcsn::dyn::scc ( const automaton &  aut,
const std::string &  algo = "auto" 
)

Build the SCC automaton whose states are labeled with number of the strongly-connected component they belong to.

Parameters
autthe input automaton.
algothe specific algorithm to use.

Definition at line 1162 of file algos.cc.

References vcsn::dyn::detail::scc_registry().

Here is the call graph for this function:

void vcsn::dyn::set_format ( std::ostream &  o,
const std::string &  format 
)

Specify the output format for o.

Definition at line 165 of file print.cc.

References format_flag.

polynomial vcsn::dyn::shortest ( const automaton &  aut,
boost::optional< unsigned >  num = {},
boost::optional< unsigned >  len = {} 
)

The approximated behavior of an automaton.

Parameters
autthe automaton whose behavior to approximate
numnumber of words looked for.
lenmaximum length of words looked for.

Definition at line 1171 of file algos.cc.

References vcsn::dyn::detail::shortest_registry().

Here is the call graph for this function:

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 150 of file others.cc.

automaton vcsn::dyn::shuffle ( const std::vector< automaton > &  as)

The shuffle product of automata.

Performs the join of their types.

Definition at line 1180 of file algos.cc.

References vcsn::dyn::detail::shuffle_registry().

Here is the call graph for this function:

expression vcsn::dyn::shuffle ( const expression &  lhs,
const expression &  rhs 
)

The shuffle product of expressions lhs and rhs.

Performs the join of their type.

Definition at line 1189 of file algos.cc.

References vcsn::dyn::detail::shuffle_expression_registry().

Here is the call graph for this function:

automaton vcsn::dyn::sort ( const automaton &  a)

A copy of a with normalized state numbers.

Definition at line 1198 of file algos.cc.

References vcsn::dyn::detail::sort_registry().

Here is the call graph for this function:

polynomial vcsn::dyn::split ( const expression &  exp)

Break exp.

Definition at line 1207 of file algos.cc.

References vcsn::dyn::detail::split_registry().

Here is the call graph for this function:

polynomial vcsn::dyn::split ( const polynomial &  p)

Break all the expressions in p.

Definition at line 1216 of file algos.cc.

References vcsn::dyn::detail::split_polynomial_registry().

Here is the call graph for this function:

automaton vcsn::dyn::standard ( const automaton &  a)

A standardized a.

Definition at line 1225 of file algos.cc.

References vcsn::dyn::detail::standard_registry().

Referenced by to_automaton().

Here is the call graph for this function:

automaton vcsn::dyn::standard ( const expression &  e)

The standard automaton of e.

Definition at line 1234 of file algos.cc.

References vcsn::dyn::detail::standard_expression_registry().

Here is the call graph for this function:

automaton vcsn::dyn::star ( const automaton &  aut,
const std::string &  algo = "auto" 
)

Star of an automaton.

Parameters
autthe input automaton.
algohow to compute the result.
  • "standard" aut is standard, build a standard automaton.
  • "general" no requirement on aut, but add spontaneous transitions.
  • "auto" "standard" if aut is standard, "general" otherwise.

Definition at line 1243 of file algos.cc.

References vcsn::dyn::detail::star_registry().

Here is the call graph for this function:

unsigned vcsn::dyn::star_height ( const expression &  rs)

Star height of an expression.

Definition at line 1252 of file algos.cc.

References vcsn::dyn::detail::star_height_registry().

Here is the call graph for this function:

expression vcsn::dyn::star_normal_form ( const expression &  e)

A normalized form where star is applied only to proper expressions.

Precondition
e is Boolean.

Definition at line 1261 of file algos.cc.

References vcsn::dyn::detail::star_normal_form_registry().

Here is the call graph for this function:

automaton vcsn::dyn::strip ( const automaton &  a)

The automaton in a with its metadata layers removed.

Definition at line 1270 of file algos.cc.

References vcsn::dyn::detail::strip_registry().

Referenced by read_automaton(), and to_automaton().

Here is the call graph for this function:

automaton vcsn::dyn::subword ( const automaton &  aut)

Create a subword automaton from aut.

For each non-spontaneous transition, add a spontaneous transition with same source, destination, and weight.

Definition at line 1279 of file algos.cc.

References vcsn::dyn::detail::subword_registry().

Here is the call graph for this function:

automaton vcsn::dyn::suffix ( const automaton &  aut)

Create a suffix automaton from aut.

Definition at line 1288 of file algos.cc.

References vcsn::dyn::detail::suffix_registry().

Here is the call graph for this function:

automaton vcsn::dyn::sum ( const automaton &  lhs,
const automaton &  rhs,
const std::string &  algo = "auto" 
)

Sum of two automata.

Parameters
lhsan automaton.
rhsanother one.
algohow to compute the result
  • "standard" both lhs and rhs are standard, build a standard automaton.
  • "general" no requirement on lhs and and rhs.
  • "auto" "standard" if both automata are standard, "general" otherwise.

Definition at line 1297 of file algos.cc.

References vcsn::dyn::detail::sum_registry().

Here is the call graph for this function:

expression vcsn::dyn::sum ( const expression &  lhs,
const expression &  rhs 
)

Sum of two expressions.

Definition at line 1315 of file algos.cc.

References vcsn::dyn::detail::sum_expression_registry().

Here is the call graph for this function:

expansion vcsn::dyn::sum ( const expansion &  lhs,
const expansion &  rhs 
)

Sum of two expansions.

Definition at line 1306 of file algos.cc.

References vcsn::dyn::detail::sum_expansion_registry().

Here is the call graph for this function:

polynomial vcsn::dyn::sum ( const polynomial &  lhs,
const polynomial &  rhs 
)

Sum of two polynomials.

Definition at line 1324 of file algos.cc.

References vcsn::dyn::detail::sum_polynomial_registry().

Here is the call graph for this function:

weight vcsn::dyn::sum ( const weight &  lhs,
const weight &  rhs 
)

Sum of two weights.

Definition at line 1333 of file algos.cc.

References vcsn::dyn::detail::sum_weight_registry().

Here is the call graph for this function:

automaton vcsn::dyn::synchronize ( const automaton &  aut)

Create a synchronized transducer from aut.

Definition at line 1342 of file algos.cc.

References vcsn::dyn::detail::synchronize_registry().

Here is the call graph for this function:

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 1351 of file algos.cc.

References vcsn::dyn::detail::synchronizing_word_registry().

Here is the call graph for this function:

automaton vcsn::dyn::thompson ( const expression &  e)

The Thompson automaton of e.

Definition at line 1360 of file algos.cc.

References vcsn::dyn::detail::thompson_registry().

Referenced by to_automaton().

Here is the call graph for this function:

automaton vcsn::dyn::to_automaton ( const expression &  exp,
const std::string &  algo = "auto" 
)

An automaton denoting the language of exp.

Parameters
expthe expression defining the series.
algothe conversion algorithm.
  • "auto": currently equivalent to "expansion", eventually should mix "standard" for basic expressions (faster) and "expansion" otherwise (more general).
  • "derivation": use derivation-based expression.derived_term, stripped.
  • "derived_term": same as "expansion"
  • "expansion": use expansion-based expression.derived_term, stripped.
  • "standard": use expression.standard.
  • "thompson": use expression.thompson.
  • "zpc": use expression.zpc.
  • "zpc_compact": use expression.zpc, "compact" version.

Definition at line 162 of file others.cc.

References derived_term(), standard(), strip(), thompson(), trim(), and zpc().

Here is the call graph for this function:

expansion vcsn::dyn::to_expansion ( const expression &  exp)

First order development of a exp.

Parameters
expthe input expression

Definition at line 1369 of file algos.cc.

References vcsn::dyn::detail::to_expansion_registry().

Here is the call graph for this function:

expression vcsn::dyn::to_expression ( const automaton &  aut,
rat::identities  ids = {},
const std::string &  algo = "auto" 
)

An expression denoting the language of aut.

Parameters
autthe input automaton
idsthe identities to use for the expression
algothe state selection strategy

Definition at line 1378 of file algos.cc.

References vcsn::dyn::detail::to_expression_registry().

Referenced by vcsn::rat::driver::make_atom(), and vcsn::rat::driver::make_expression().

Here is the call graph for this function:

expression vcsn::dyn::to_expression ( const context &  ctx,
rat::identities  ids,
const label &  l 
)

An expression denoting the label of l.

Definition at line 1396 of file algos.cc.

References vcsn::dyn::detail::to_expression_label_registry().

Here is the call graph for this function:

expression vcsn::dyn::to_expression ( const context &  ctx,
rat::identities  ids,
const letter_class_t &  letters,
bool  accept = true 
)

An expression matching one letter in a letter class.

Parameters
ctxThe context to use.
idsThe identities to use for the expression
lettersThe letter class as a set of ranges.
acceptWhether to accept these characters ([abc]) as opposed to refusing them ([^abc]).

Definition at line 1387 of file algos.cc.

References vcsn::dyn::detail::to_expression_class_registry().

Here is the call graph for this function:

static integral_constant vcsn::dyn::to_integral_constant ( unsigned  tape)
static

Definition at line 38 of file others.cc.

References vcsn::rat::to_string().

Referenced by focus(), and project().

Here is the call graph for this function:

automaton vcsn::dyn::transpose ( automaton &  aut)

Transpose aut.

Definition at line 1405 of file algos.cc.

References vcsn::dyn::detail::transpose_registry().

Here is the call graph for this function:

expression vcsn::dyn::transpose ( const expression &  e)

Transpose e.

Definition at line 1414 of file algos.cc.

References vcsn::dyn::detail::transpose_expression_registry().

Here is the call graph for this function:

expression vcsn::dyn::transposition ( const expression &  r)

Add the transposition operator to r.

Definition at line 1423 of file algos.cc.

References vcsn::dyn::detail::transposition_expression_registry().

Here is the call graph for this function:

automaton vcsn::dyn::trie ( const polynomial &  p)

A trie-like automaton (single initial state, multiple final states) to accept p.

Parameters
pthe polynomial that describes the (finite) series

Definition at line 1432 of file algos.cc.

References vcsn::dyn::detail::trie_registry().

Here is the call graph for this function:

automaton vcsn::dyn::trie ( const context &  ctx,
std::istream &  is,
const std::string &  format = "default" 
)

A trie-like automaton (single initial state, multiple final states) to accept the series contained in is.

Parameters
ctxthe (word-based) context used to read the words.
isthe input stream.
formatthe format of the file: "words" or "monomials".

Definition at line 1441 of file algos.cc.

References vcsn::dyn::detail::trie_stream_registry().

Here is the call graph for this function:

automaton vcsn::dyn::trim ( const automaton &  aut)

The trim subautomaton of aut.

Definition at line 1450 of file algos.cc.

References vcsn::dyn::detail::trim_registry().

Referenced by to_automaton().

Here is the call graph for this function:

expansion vcsn::dyn::tuple ( const std::vector< expansion > &  rs)

Build a k-tape expansion from k expansions.

Definition at line 1459 of file algos.cc.

References vcsn::dyn::detail::tuple_expansion_registry().

Referenced by vcsn::rat::parser::parse(), and tuple().

Here is the call graph for this function:

expression vcsn::dyn::tuple ( const expression &  lhs,
const expression &  rhs 
)

Build a two-tape expression from two expressions.

Definition at line 200 of file others.cc.

References tuple().

Here is the call graph for this function:

expression vcsn::dyn::tuple ( const std::vector< expression > &  rs)

Build a k-tape expression from k expressions.

Definition at line 1468 of file algos.cc.

References vcsn::dyn::detail::tuple_expression_registry().

Here is the call graph for this function:

automaton vcsn::dyn::u ( const context &  ctx,
unsigned  n 
)

The Brzozowski universal witness.

Definition at line 1477 of file algos.cc.

References vcsn::dyn::detail::u_registry().

Here is the call graph for this function:

automaton vcsn::dyn::universal ( const automaton &  aut)

The universal automaton of aut.

Definition at line 1486 of file algos.cc.

References vcsn::dyn::detail::universal_registry().

Here is the call graph for this function:

weight vcsn::dyn::weight_series ( const automaton &  aut)

Compute weight of the series.

Definition at line 1495 of file algos.cc.

References vcsn::dyn::detail::weight_series_registry().

Here is the call graph for this function:

automaton vcsn::dyn::zpc ( const expression &  exp,
const std::string &  algo = "auto" 
)

The ZPC automaton of exp.

Parameters
expthe expression to build the automaton from.
algothe specific algorithm to use. It can be "regular"/"auto" or the variant "compact".

Definition at line 1504 of file algos.cc.

References vcsn::dyn::detail::zpc_registry().

Referenced by to_automaton().

Here is the call graph for this function:

Variable Documentation

xalloc<std::string*> vcsn::dyn::format_flag

Definition at line 162 of file print.cc.

Referenced by get_format(), and set_format().