Vcsn  2.2
Be Rational
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
registries.hh
Go to the documentation of this file.
1 // Generated, do not edit by hand.
2 
3 #pragma once
4 
5 #include <vector>
6 
7 #include <vcsn/algos/fwd.hh> // letter_class_t
8 #include <vcsn/core/rat/identities.hh> // rat::identities
9 #include <vcsn/dyn/fwd.hh> // dyn::automaton, etc.
10 #include <vcsn/misc/export.hh> // LIBVCSN_API
11 #include <vcsn/misc/fwd.hh> // signature
12 #include <vcsn/misc/name.hh> // integral_constant
13 
14 namespace vcsn
15 {
16  class automaton_editor;
17 }
18 
19 namespace vcsn { namespace dyn { namespace detail {
20 
21 #define REGISTRY_DECLARE(Name, Signature) \
22  using Name ## _t = auto Signature; \
23  LIBVCSN_API \
24  bool Name ## _register(const signature& sig, Name ## _t fn)
25 
26  // accessible (accessible.hh).
28  (const automaton& aut) -> automaton);
29 
30  // ambiguous_word (is-ambiguous.hh).
32  (const automaton& aut) -> label);
33 
34  // are_equivalent (are-equivalent.hh).
36  (const automaton& aut1, const automaton& aut2) -> bool);
37 
38  // are_equivalent_expression (are-equivalent.hh).
40  (const expression& r1, const expression& r2) -> bool);
41 
42  // are_isomorphic (are-isomorphic.hh).
44  (const automaton& aut1, const automaton& aut2) -> bool);
45 
46  // cerny (cerny.hh).
48  (const context& ctx, unsigned num_states) -> automaton);
49 
50  // coaccessible (accessible.hh).
52  (const automaton& aut) -> automaton);
53 
54  // codeterminize (determinize.hh).
56  (const automaton& aut, const std::string& algo) -> automaton);
57 
58  // cominimize (minimize.hh).
60  (const automaton& aut, const std::string& algo) -> automaton);
61 
62  // complement (complement.hh).
64  (const automaton& aut) -> automaton);
65 
66  // complement_expansion (complement.hh).
68  (const expansion& xpn) -> expansion);
69 
70  // complement_expression (complement.hh).
72  (const expression& exp) -> expression);
73 
74  // complete (complete.hh).
76  (const automaton& aut) -> automaton);
77 
78  // component (scc.hh).
80  (const automaton& aut, unsigned num) -> automaton);
81 
82  // compose (compose.hh).
84  (automaton& lhs, automaton& rhs, bool lazy) -> automaton);
85 
86  // concatenate_expression (multiply.hh).
88  (const expression& lhs, const expression& rhs) -> expression);
89 
90  // condense (scc.hh).
92  (const automaton& aut) -> automaton);
93 
94  // conjugate (conjugate.hh).
96  (const automaton& a) -> automaton);
97 
98  // conjunction (conjunction.hh).
100  (const std::vector<automaton>& as, bool lazy) -> automaton);
101 
102  // conjunction_expression (conjunction.hh).
104  (const expression& lhs, const expression& rhs) -> expression);
105 
106  // conjunction_polynomial (conjunction.hh).
108  (const polynomial& lhs, const polynomial& rhs) -> polynomial);
109 
110  // conjunction_repeated (conjunction.hh).
112  (const automaton& aut, unsigned n) -> automaton);
113 
114  // constant_term (constant-term.hh).
116  (const expression& exp) -> weight);
117 
118  // context_of (make-context.hh).
120  (const automaton& aut) -> context);
121 
122  // context_of_expansion (make-context.hh).
124  (const expansion& exp) -> context);
125 
126  // context_of_expression (make-context.hh).
128  (const expression& exp) -> context);
129 
130  // copy (copy.hh).
132  (const automaton& aut) -> automaton);
133 
134  // copy_convert (copy.hh).
136  (const automaton& aut, const context& ctx) -> automaton);
137 
138  // copy_expression (copy.hh).
140  (const expression& exp, const context& ctx, rat::identities ids) -> expression);
141 
142  // costandard (standard.hh).
144  (const automaton& aut) -> automaton);
145 
146  // cotrie (trie.hh).
148  (const polynomial& poly) -> automaton);
149 
150  // cotrie_stream (trie.hh).
152  (const context& ctx, std::istream& is, const std::string& format) -> automaton);
153 
154  // de_bruijn (de-bruijn.hh).
156  (const dyn::context& ctx, unsigned n) -> automaton);
157 
158  // delay_automaton (is-synchronized.hh).
160  (const automaton& aut) -> automaton);
161 
162  // derivation (derivation.hh).
164  (const expression& exp, const label& lbl, bool breaking) -> polynomial);
165 
166  // derived_term (derived-term.hh).
168  (const expression& exp, const std::string& algo) -> automaton);
169 
170  // determinize (determinize.hh).
172  (const automaton& aut, const std::string& algo) -> automaton);
173 
174  // difference (are-equivalent.hh).
176  (const automaton& lhs, const automaton& rhs) -> automaton);
177 
178  // difference_expression (are-equivalent.hh).
180  (const expression& lhs, const expression& rhs) -> expression);
181 
182  // divkbaseb (divkbaseb.hh).
184  (const context& ctx, unsigned divisor, unsigned base) -> automaton);
185 
186  // double_ring (double-ring.hh).
188  (const context& ctx, unsigned n, const std::vector<unsigned>& finals) -> automaton);
189 
190  // eliminate_state (to-expression.hh).
192  (const automaton& aut, int state) -> automaton);
193 
194  // eval (eval.hh).
196  (const automaton& aut, const label& lbl) -> weight);
197 
198  // expand (expand.hh).
200  (const expression& exp) -> expression);
201 
202  // expression_one (constant.hh).
205 
206  // expression_zero (constant.hh).
209 
210  // factor (prefix.hh).
212  (const automaton& aut) -> automaton);
213 
214  // filter (filter.hh).
216  (const automaton& aut, const std::vector<unsigned>& states) -> automaton);
217 
218  // focus (focus.hh).
221 
222  // has_bounded_lag (has-bounded-lag.hh).
224  (const automaton& aut) -> bool);
225 
226  // has_lightening_cycle (has-lightening-cycle.hh).
228  (const automaton& aut) -> bool);
229 
230  // has_twins_property (has-twins-property.hh).
232  (const automaton& aut) -> bool);
233 
234  // identities (identities.hh).
236  (const expression& exp) -> rat::identities);
237 
238  // infiltration (conjunction.hh).
240  (const std::vector<automaton>& as) -> automaton);
241 
242  // infiltration_expression (conjunction.hh).
244  (const expression& lhs, const expression& rhs) -> expression);
245 
246  // info (info.hh).
248  (const automaton& aut, std::ostream& out, bool detailed) -> std::ostream&);
249 
250  // info_expression (info.hh).
252  (const expression& exp, std::ostream& o) -> std::ostream&);
253 
254  // insplit (insplit.hh).
256  (const automaton& aut, bool lazy) -> automaton);
257 
258  // is_accessible (accessible.hh).
260  (const automaton& aut) -> bool);
261 
262  // is_ambiguous (is-ambiguous.hh).
264  (const automaton& aut) -> bool);
265 
266  // is_coaccessible (accessible.hh).
268  (const automaton& aut) -> bool);
269 
270  // is_codeterministic (is-deterministic.hh).
272  (const automaton& aut) -> bool);
273 
274  // is_complete (is-complete.hh).
276  (const automaton& aut) -> bool);
277 
278  // is_costandard (standard.hh).
280  (const automaton& aut) -> bool);
281 
282  // is_cycle_ambiguous (is-ambiguous.hh).
284  (const automaton& aut) -> bool);
285 
286  // is_deterministic (is-deterministic.hh).
288  (const automaton& aut) -> bool);
289 
290  // is_empty (accessible.hh).
292  (const automaton& aut) -> bool);
293 
294  // is_eps_acyclic (is-eps-acyclic.hh).
296  (const automaton& aut) -> bool);
297 
298  // is_functional (is-functional.hh).
300  (const automaton& aut) -> bool);
301 
302  // is_letterized (letterize.hh).
304  (const automaton& aut) -> bool);
305 
306  // is_normalized (normalize.hh).
308  (const automaton& aut) -> bool);
309 
310  // is_out_sorted (sort.hh).
312  (const automaton& aut) -> bool);
313 
314  // is_partial_identity (is-partial-identity.hh).
316  (const automaton& aut) -> bool);
317 
318  // is_proper (is-proper.hh).
320  (const automaton& aut) -> bool);
321 
322  // is_realtime (letterize.hh).
324  (const automaton& aut) -> bool);
325 
326  // is_standard (standard.hh).
328  (const automaton& aut) -> bool);
329 
330  // is_synchronized (is-synchronized.hh).
332  (const automaton& aut) -> bool);
333 
334  // is_synchronized_by (synchronizing-word.hh).
336  (const automaton& aut, const label& word) -> bool);
337 
338  // is_synchronizing (synchronizing-word.hh).
340  (const automaton& aut) -> bool);
341 
342  // is_trim (accessible.hh).
344  (const automaton& aut) -> bool);
345 
346  // is_useless (accessible.hh).
348  (const automaton& aut) -> bool);
349 
350  // is_valid (is-valid.hh).
352  (const automaton& aut) -> bool);
353 
354  // is_valid_expression (is-valid-expression.hh).
356  (const expression& exp) -> bool);
357 
358  // join (make-context.hh).
360  (const context& c1, const context& c2) -> context);
361 
362  // ladybird (ladybird.hh).
364  (const dyn::context& ctx, unsigned n) -> automaton);
365 
366  // ldiv_expression (divide.hh).
368  (const expression& lhs, const expression& rhs) -> expression);
369 
370  // ldiv_polynomial (divide.hh).
372  (const polynomial& lhs, const polynomial& rhs) -> polynomial);
373 
374  // left_mult (left-mult.hh).
376  (const weight& weight, const automaton& aut, const std::string& algo) -> automaton);
377 
378  // left_mult_expansion (left-mult.hh).
380  (const weight& weight, const expansion& exp) -> expansion);
381 
382  // left_mult_expression (left-mult.hh).
384  (const weight& weight, const expression& exp) -> expression);
385 
386  // less_than_expression (less-than.hh).
388  (const expression& lhs, const expression& rhs) -> bool);
389 
390  // letterize (letterize.hh).
392  (const automaton& aut) -> automaton);
393 
394  // levenshtein (levenshtein.hh).
396  (const dyn::context& ctx) -> automaton);
397 
398  // lgcd_polynomial (divide.hh).
400  (const polynomial& lhs, const polynomial& rhs) -> polynomial);
401 
402  // lift_automaton (lift.hh).
405 
406  // lift_expression (lift.hh).
408  (const expression& exp) -> expression);
409 
410  // lightest (lightest.hh).
412  (const automaton& aut, unsigned num, const std::string& algo) -> polynomial);
413 
414  // lightest_automaton (lightest-automaton.hh).
416  (const automaton& aut, const std::string& algo) -> automaton);
417 
418  // list_polynomial (print.hh).
420  (const polynomial& polynomial, std::ostream& o) -> std::ostream&);
421 
422  // make_automaton_editor (edit-automaton.hh).
424  (const context& ctx) -> automaton_editor*);
425 
426  // make_context (make-context.hh).
428  (const std::string& name) -> context);
429 
430  // make_word_context (make-context.hh).
432  (const context& ctx) -> context);
433 
434  // minimize (minimize.hh).
436  (const automaton& aut, const std::string& algo) -> automaton);
437 
438  // multiply (multiply.hh).
440  (const automaton& lhs, const automaton& rhs, const std::string& algo) -> automaton);
441 
442  // multiply_expression (multiply.hh).
444  (const expression& lhs, const expression& rhs) -> expression);
445 
446  // multiply_expression_repeated (multiply.hh).
448  (const expression& re, int min, int max) -> expression);
449 
450  // multiply_label (multiply.hh).
452  (const label& lhs, const label& rhs) -> label);
453 
454  // multiply_polynomial (multiply.hh).
456  (const polynomial& lhs, const polynomial& rhs) -> polynomial);
457 
458  // multiply_repeated (multiply.hh).
460  (const automaton& a, int min, int max, const std::string& algo) -> automaton);
461 
462  // multiply_weight (multiply.hh).
464  (const weight& lhs, const weight& rhs) -> weight);
465 
466  // multiply_weight_repeated (multiply.hh).
468  (const weight& wgt, int min, int max) -> weight);
469 
470  // normalize (normalize.hh).
472  (const automaton& aut) -> automaton);
473 
474  // num_components (scc.hh).
476  (const automaton& aut) -> std::size_t);
477 
478  // num_tapes (make-context.hh).
480  (const context& ctx) -> size_t);
481 
482  // pair (pair.hh).
484  (const automaton& aut, bool keep_initials) -> automaton);
485 
486  // partial_identity (partial-identity.hh).
488  (const automaton& aut) -> automaton);
489 
490  // prefix (prefix.hh).
492  (const automaton& aut) -> automaton);
493 
494  // print (print.hh).
496  (const automaton& aut, std::ostream& o, const std::string& fmt) -> std::ostream&);
497 
498  // print_context (print.hh).
500  (const context& ctx, std::ostream& o, const std::string& fmt) -> std::ostream&);
501 
502  // print_expansion (print.hh).
504  (const expansion& expansion, std::ostream& o, const std::string& fmt) -> std::ostream&);
505 
506  // print_expression (print.hh).
508  (const expression& exp, std::ostream& o, const std::string& fmt) -> std::ostream&);
509 
510  // print_label (print.hh).
512  (const label& label, std::ostream& o, const std::string& fmt) -> std::ostream&);
513 
514  // print_polynomial (print.hh).
516  (const polynomial& polynomial, std::ostream& o, const std::string& fmt) -> std::ostream&);
517 
518  // print_weight (print.hh).
520  (const weight& weight, std::ostream& o, const std::string& fmt) -> std::ostream&);
521 
522  // project (project-automaton.hh).
525 
526  // project_context (project.hh).
529 
530  // project_label (project.hh).
532  (const label& lbl, integral_constant) -> label);
533 
534  // project_polynomial (project.hh).
537 
538  // proper (proper.hh).
540  (const automaton& aut, direction dir, bool prune, const std::string& algo) -> automaton);
541 
542  // push_weights (push-weights.hh).
544  (const automaton& aut) -> automaton);
545 
546  // random_automaton (random.hh).
548  (const context& ctx, unsigned num_states, float density, unsigned num_initial, unsigned num_final, float loop_chance) -> automaton);
549 
550  // random_automaton_deterministic (random.hh).
552  (const context& ctx, unsigned num_states) -> automaton);
553 
554  // rdiv_expression (divide.hh).
556  (const expression& lhs, const expression& rhs) -> expression);
557 
558  // read_label (read.hh).
560  (const context& ctx, std::istream& is, bool quoted) -> label);
561 
562  // read_polynomial (read.hh).
564  (const context& ctx, std::istream& is) -> polynomial);
565 
566  // read_weight (read.hh).
568  (const context& ctx, std::istream& is) -> weight);
569 
570  // realtime (letterize.hh).
572  (const automaton& aut) -> automaton);
573 
574  // reduce (reduce.hh).
576  (const automaton& aut) -> automaton);
577 
578  // right_mult (left-mult.hh).
580  (const automaton& aut, const weight& weight, const std::string& algo) -> automaton);
581 
582  // right_mult_expansion (left-mult.hh).
584  (const expansion& exp, const weight& weight) -> expansion);
585 
586  // right_mult_expression (left-mult.hh).
588  (const expression& exp, const weight& weight) -> expression);
589 
590  // scc (scc.hh).
592  (const automaton& aut, const std::string& algo) -> automaton);
593 
594  // shortest (shortest.hh).
596  (const automaton& aut, boost::optional<unsigned> num, boost::optional<unsigned> len) -> polynomial);
597 
598  // shuffle (conjunction.hh).
600  (const std::vector<automaton>& as) -> automaton);
601 
602  // shuffle_expression (conjunction.hh).
604  (const expression& lhs, const expression& rhs) -> expression);
605 
606  // sort (sort.hh).
608  (const automaton& aut) -> automaton);
609 
610  // split (split.hh).
612  (const expression& exp) -> polynomial);
613 
614  // split_polynomial (split.hh).
616  (const polynomial& poly) -> polynomial);
617 
618  // standard (standard.hh).
620  (const automaton& aut) -> automaton);
621 
622  // standard_expression (standard.hh).
624  (const expression& exp) -> automaton);
625 
626  // star (star.hh).
628  (const automaton& a, const std::string& algo) -> automaton);
629 
630  // star_height (star-height.hh).
632  (const expression& exp) -> unsigned);
633 
634  // star_normal_form (star-normal-form.hh).
636  (const expression& exp) -> expression);
637 
638  // strip (strip.hh).
640  (const automaton& aut) -> automaton);
641 
642  // subword (prefix.hh).
644  (const automaton& aut) -> automaton);
645 
646  // suffix (prefix.hh).
648  (const automaton& aut) -> automaton);
649 
650  // sum (sum.hh).
652  (const automaton& lhs, const automaton& rhs, const std::string& algo) -> automaton);
653 
654  // sum_expansion (sum.hh).
656  (const expansion& lhs, const expansion& rhs) -> expansion);
657 
658  // sum_expression (sum.hh).
660  (const expression& lhs, const expression& rhs) -> expression);
661 
662  // sum_polynomial (sum.hh).
664  (const polynomial& lhs, const polynomial& rhs) -> polynomial);
665 
666  // sum_weight (sum.hh).
668  (const weight& lhs, const weight& rhs) -> weight);
669 
670  // synchronize (synchronize.hh).
672  (const automaton& aut) -> automaton);
673 
674  // synchronizing_word (synchronizing-word.hh).
676  (const automaton& aut, const std::string& algo) -> label);
677 
678  // thompson (thompson.hh).
680  (const expression& exp) -> automaton);
681 
682  // to_expansion (to-expansion.hh).
684  (const expression& exp) -> expansion);
685 
686  // to_expression (to-expression.hh).
688  (const automaton& aut, vcsn::rat::identities ids, const std::string& algo) -> expression);
689 
690  // to_expression_class (to-expression.hh).
692  (const context& ctx, rat::identities ids, const letter_class_t& letters, bool accept) -> expression);
693 
694  // to_expression_label (to-expression.hh).
696  (const context& ctx, rat::identities ids, const label& lbl) -> expression);
697 
698  // transpose (transpose.hh).
700  (automaton& aut) -> automaton);
701 
702  // transpose_expression (transpose.hh).
704  (const expression& exp) -> expression);
705 
706  // transposition_expression (transpose.hh).
708  (const expression& exp) -> expression);
709 
710  // trie (trie.hh).
712  (const polynomial& poly) -> automaton);
713 
714  // trie_stream (trie.hh).
716  (const context& ctx, std::istream& is, const std::string& format) -> automaton);
717 
718  // trim (accessible.hh).
720  (const automaton& aut) -> automaton);
721 
722  // tuple_expansion (tuple.hh).
724  (const std::vector<expansion>& es) -> expansion);
725 
726  // tuple_expression (tuple.hh).
728  (const std::vector<expression>& es) -> expression);
729 
730  // u (u.hh).
732  (const context& ctx, unsigned n) -> automaton);
733 
734  // universal (universal.hh).
736  (const automaton& aut) -> automaton);
737 
738  // weight_series (weight-series.hh).
740  (const automaton& aut) -> weight);
741 
742  // zpc (zpc.hh).
744  (const expression& exp, const std::string& algo) -> automaton);
745 
746 
747 #undef REGISTRY_DECLARE
748 }}}
std::ostream & print_context(const context &ctx, std::ostream &o, const std::string &fmt)
Bridge (print).
Definition: print.hh:128
std::shared_ptr< const detail::weight_base > weight
Definition: fwd.hh:88
expression transpose_expression(const expression &exp)
Bridge (transpose).
Definition: transpose.hh:266
polynomial read_polynomial(const context &ctx, std::istream &is)
Bridge.
Definition: read.hh:64
automaton trie_stream(const context &ctx, std::istream &is, const std::string &format)
Bridge (trie).
Definition: trie.hh:301
context project_context(const context &ctx, integral_constant)
Bridge (project).
Definition: project.hh:23
std::shared_ptr< detail::delay_automaton_impl< Aut >> delay_automaton
An automaton wrapper that presents the delay automaton.
Definition: fwd.hh:27
automaton insplit(const automaton &aut, bool lazy)
Bridge.
Definition: insplit.hh:349
automaton sort(const automaton &aut)
Bridge.
Definition: sort.hh:178
expression concatenate_expression(const expression &lhs, const expression &rhs)
Bridge (concatenate).
Definition: multiply.hh:313
automaton multiply_repeated(const automaton &a, int min, int max, const std::string &algo)
Bridge (multiply).
Definition: multiply.hh:259
std::ostream & info(const automaton &aut, std::ostream &out, bool detailed)
Bridge.
Definition: info.hh:130
Definition: a-star.hh:8
expression left_mult_expression(const weight &weight, const expression &exp)
Bridge (left_mult).
Definition: left-mult.hh:272
automaton_editor * make_automaton_editor(const context &ctx)
Bridge.
std::ostream & print_weight(const weight &weight, std::ostream &o, const std::string &fmt)
Bridge (print).
Definition: print.hh:295
label synchronizing_word(const automaton &aut, const std::string &algo)
Bridge.
expression sum_expression(const expression &lhs, const expression &rhs)
Bridge (sum).
Definition: sum.hh:194
std::ostream & print_polynomial(const polynomial &polynomial, std::ostream &o, const std::string &fmt)
Bridge (print).
Definition: print.hh:232
automaton zpc(const expression &exp, const std::string &algo)
Bridge.
Definition: zpc.hh:366
expansion sum_expansion(const expansion &lhs, const expansion &rhs)
Bridge (sum).
Definition: sum.hh:171
expression lift_expression(const expression &exp)
Bridge (lift).
Definition: lift.hh:308
bool is_synchronized(const automaton &aut)
Bridge.
automaton cominimize(const automaton &aut, const std::string &algo)
Bridge.
Definition: minimize.hh:195
label read_label(const context &ctx, std::istream &is, bool quoted)
Bridge.
Definition: read.hh:34
weight weight_series(const automaton &aut)
Bridge.
expression right_mult_expression(const expression &exp, const weight &weight)
Bridge (right_mult).
Definition: left-mult.hh:403
bool are_isomorphic(const automaton &aut1, const automaton &aut2)
Bridge.
polynomial split_polynomial(const polynomial &poly)
Bridge (split).
Definition: split.hh:320
direction
Orientation.
Definition: direction.hh:9
automaton reduce(const automaton &aut)
Bridge.
Definition: reduce.hh:621
automaton difference(const automaton &lhs, const automaton &rhs)
Bridge.
An expressionset can implement several different sets of identities on expressions.
Definition: identities.hh:21
automaton pair(const automaton &aut, bool keep_initials)
Bridge.
Definition: pair.hh:263
polynomial sum_polynomial(const polynomial &lhs, const polynomial &rhs)
Bridge (sum).
Definition: sum.hh:148
automaton condense(const automaton &aut)
Bridge.
Definition: scc.hh:832
automaton copy(const automaton &aut)
Bridge.
Definition: copy.hh:421
A simple placeholder for integral constants.
Definition: name.hh:198
automaton right_mult(const automaton &aut, const weight &weight, const std::string &algo)
Bridge.
Definition: left-mult.hh:323
bool is_valid(const automaton &aut)
Bridge.
Definition: is-valid.hh:152
automaton conjunction_repeated(const automaton &aut, unsigned n)
Bridge (conjunction).
Definition: conjunction.hh:733
label project_label(const label &lbl, integral_constant)
Bridge (project).
Definition: project.hh:106
automaton subword(const automaton &aut)
Bridge.
Definition: prefix.hh:174
bool is_trim(const automaton &aut)
Bridge.
Definition: accessible.hh:251
bool is_costandard(const automaton &aut)
Bridge.
Definition: standard.hh:63
automaton lift_automaton(const automaton &aut, vcsn::rat::identities ids, integral_constant)
Bridge.
Definition: lift.hh:260
automaton double_ring(const context &ctx, unsigned n, const std::vector< unsigned > &finals)
Bridge.
Definition: double-ring.hh:77
automaton de_bruijn(const dyn::context &ctx, unsigned n)
Bridge.
Definition: de-bruijn.hh:59
expression expression_zero(const context &ctx, rat::identities ids)
Bridge.
Definition: constant.hh:24
automaton realtime(const automaton &aut)
Bridge.
Definition: letterize.hh:232
bool is_coaccessible(const automaton &aut)
Bridge.
Definition: accessible.hh:242
bool has_bounded_lag(const automaton &aut)
Bridge.
automaton standard_expression(const expression &exp)
Bridge (standard).
Definition: standard.hh:388
automaton compose(automaton &lhs, automaton &rhs, bool lazy)
Bridge.
Definition: compose.hh:429
bool is_synchronizing(const automaton &aut)
Bridge.
expression complement_expression(const expression &exp)
Bridge (complement).
Definition: complement.hh:103
expression to_expression(const automaton &aut, vcsn::rat::identities ids, const std::string &algo)
Bridge.
bool is_useless(const automaton &aut)
Bridge.
Definition: accessible.hh:260
static dyn::context ctx(const driver &d)
Get the context of the driver.
Definition: parse.cc:82
automaton divkbaseb(const context &ctx, unsigned divisor, unsigned base)
Bridge.
Definition: divkbaseb.hh:71
Abstract Builder (the design pattern) for automata.
context make_context(const std::string &name)
Bridge.
Definition: make-context.hh:45
label ambiguous_word(const automaton &aut)
Bridge.
Definition: is-ambiguous.hh:93
weight constant_term(const expression &exp)
Bridge.
automaton random_automaton(const context &ctx, unsigned num_states, float density, unsigned num_initial, unsigned num_final, float loop_chance)
Bridge.
Definition: random.hh:259
An input/output format for valuesets.
Definition: format.hh:11
expression copy_expression(const expression &exp, const context &ctx, rat::identities ids)
Bridge (copy).
Definition: copy.hh:440
automaton normalize(const automaton &aut)
Bridge.
Definition: normalize.hh:41
weight multiply_weight_repeated(const weight &wgt, int min, int max)
Bridge (multiply).
Definition: multiply.hh:447
polynomial shortest(const automaton &aut, boost::optional< unsigned > num, boost::optional< unsigned > len)
Bridge.
Definition: shortest.hh:295
static identities ids(const driver &d)
Get the identities of the driver.
Definition: parse.cc:89
expansion tuple_expansion(const std::vector< expansion > &es)
Bridge (tuple).
Definition: tuple.hh:95
expression multiply_expression(const expression &lhs, const expression &rhs)
Bridge (multiply).
Definition: multiply.hh:295
weight read_weight(const context &ctx, std::istream &is)
Bridge.
Definition: read.hh:95
expression transposition_expression(const expression &exp)
Bridge (transposition).
Definition: transpose.hh:287
bool is_letterized(const automaton &aut)
Bridge.
Definition: letterize.hh:202
automaton transpose(automaton &aut)
Bridge.
Definition: transpose.hh:247
polynomial lightest(const automaton &aut, unsigned num, const std::string &algo)
Bridge.
Definition: lightest.hh:215
expression shuffle_expression(const expression &lhs, const expression &rhs)
Bridge (shuffle).
Definition: conjunction.hh:584
automaton conjunction(const std::vector< automaton > &as, bool lazy)
Bridge (conjunction).
Definition: conjunction.hh:510
polynomial ldiv_polynomial(const polynomial &lhs, const polynomial &rhs)
Bridge (ldiv).
Definition: divide.hh:43
expression expression_one(const context &ctx, rat::identities ids)
Bridge.
Definition: constant.hh:15
bool is_empty(const automaton &aut)
Bridge.
Definition: accessible.hh:269
automaton partial_identity(const automaton &aut)
Bridge.
automaton accessible(const automaton &aut)
Bridge.
Definition: accessible.hh:206
automaton filter(const automaton &aut, const std::vector< unsigned > &states)
Bridge.
Definition: filter.hh:184
automaton cotrie(const polynomial &poly)
Bridge.
Definition: trie.hh:250
bool are_equivalent(const automaton &aut1, const automaton &aut2)
Bridge.
bool is_partial_identity(const automaton &aut)
Bridge.
std::ostream & print_expression(const expression &exp, std::ostream &o, const std::string &fmt)
Bridge (print).
Definition: print.hh:264
polynomial derivation(const expression &exp, const label &lbl, bool breaking)
Bridge.
Definition: derivation.hh:337
weight multiply_weight(const weight &lhs, const weight &rhs)
Bridge (multiply).
Definition: multiply.hh:434
polynomial conjunction_polynomial(const polynomial &lhs, const polynomial &rhs)
Bridge (conjunction).
Definition: conjunction.hh:788
automaton proper(const automaton &aut, direction dir, bool prune, const std::string &algo)
Bridge.
Definition: proper.hh:291
automaton complement(const automaton &aut)
Bridge.
Definition: complement.hh:63
automaton derived_term(const expression &exp, const std::string &algo)
Bridge.
automaton costandard(const automaton &aut)
Bridge.
Definition: standard.hh:147
automaton prefix(const automaton &aut)
Bridge.
Definition: prefix.hh:84
expression to_expression_class(const context &ctx, rat::identities ids, const letter_class_t &letters, bool accept)
Bridge (to_expression).
context context_of_expression(const expression &exp)
Bridge (context_of).
Definition: make-context.hh:73
automaton complete(const automaton &aut)
Bridge.
Definition: complete.hh:76
context context_of_expansion(const expansion &exp)
Bridge (context_of).
Definition: make-context.hh:82
automaton project(const automaton &aut, integral_constant)
Bridge.
automaton random_automaton_deterministic(const context &ctx, unsigned num_states)
Bridge.
Definition: random.hh:318
automaton scc(const automaton &aut, const std::string &algo)
Bridge.
Definition: scc.hh:704
expression expand(const expression &exp)
Bridge.
Definition: expand.hh:165
bool has_twins_property(const automaton &aut)
Bridge.
expression multiply_expression_repeated(const expression &re, int min, int max)
Bridge (multiply).
Definition: multiply.hh:365
expression to_expression_label(const context &ctx, rat::identities ids, const label &lbl)
Bridge (to_expression).
bool is_synchronized_by(const automaton &aut, const label &word)
Bridge.
automaton copy_convert(const automaton &aut, const context &ctx)
Bridge (copy).
Definition: copy.hh:409
expression infiltration_expression(const expression &lhs, const expression &rhs)
Bridge (infiltration).
Definition: conjunction.hh:669
std::set< std::pair< std::string, std::string >> letter_class_t
A set of letter ranges.
Definition: fwd.hh:111
#define REGISTRY_DECLARE(Name, Signature)
Definition: registries.hh:21
automaton push_weights(const automaton &aut)
Bridge.
Definition: push-weights.hh:71
bool is_complete(const automaton &aut)
Bridge.
Definition: is-complete.hh:48
automaton levenshtein(const dyn::context &ctx)
Bridge.
Definition: levenshtein.hh:66
automaton trie(const polynomial &poly)
Bridge.
Definition: trie.hh:241
bool has_lightening_cycle(const automaton &aut)
Bridge.
polynomial multiply_polynomial(const polynomial &lhs, const polynomial &rhs)
Bridge (multiply).
Definition: multiply.hh:412
std::shared_ptr< const detail::label_base > label
Definition: fwd.hh:61
context make_word_context(const context &ctx)
Bridge.
expression conjunction_expression(const expression &lhs, const expression &rhs)
Bridge (conjunction).
Definition: conjunction.hh:766
automaton universal(const automaton &aut)
Bridge.
Definition: universal.hh:149
bool is_out_sorted(const automaton &aut)
Bridge.
Definition: sort.hh:76
bool is_deterministic(const automaton &aut)
Bridge.
automaton synchronize(const automaton &aut)
Bridge.
Definition: synchronize.hh:362
context join(const context &c1, const context &c2)
Bridge.
automaton coaccessible(const automaton &aut)
Bridge.
Definition: accessible.hh:215
automaton ladybird(const dyn::context &ctx, unsigned n)
Bridge.
Definition: ladybird.hh:56
automaton star(const automaton &a, const std::string &algo)
Bridge.
Definition: star.hh:124
automaton u(const context &ctx, unsigned n)
Bridge.
Definition: u.hh:70
automaton infiltration(const std::vector< automaton > &as)
Bridge (infiltration).
Definition: conjunction.hh:639
expression star_normal_form(const expression &exp)
Bridge.
expression difference_expression(const expression &lhs, const expression &rhs)
Bridge (difference).
automaton thompson(const expression &exp)
Bridge.
Definition: thompson.hh:208
std::istringstream is
The input stream: the specification to translate.
Definition: translate.cc:380
polynomial project_polynomial(const polynomial &poly, integral_constant)
Bridge (project).
Definition: project.hh:82
polynomial lgcd_polynomial(const polynomial &lhs, const polynomial &rhs)
Bridge (lgcd).
Definition: divide.hh:76
bool is_functional(const automaton &aut)
Bridge.
expansion left_mult_expansion(const weight &weight, const expansion &exp)
Bridge (left_mult).
Definition: left-mult.hh:217
auto out(const Aut &aut, state_t_of< Aut > s)
Indexes of visible transitions leaving state s.
Definition: automaton.hh:56
std::ostream & info_expression(const expression &exp, std::ostream &o)
Bridge (info).
Definition: info.hh:183
automaton shuffle(const std::vector< automaton > &as)
Bridge (shuffle).
Definition: conjunction.hh:553
bool is_codeterministic(const automaton &aut)
Bridge.
bool is_cycle_ambiguous(const automaton &aut)
Bridge.
std::size_t num_components(const automaton &aut)
Bridge.
Definition: scc.hh:735
bool is_standard(const automaton &aut)
Bridge.
Definition: standard.hh:54
std::shared_ptr< const detail::polynomial_base > polynomial
Definition: fwd.hh:70
bool are_equivalent_expression(const expression &r1, const expression &r2)
Bridge (are_equivalent).
automaton letterize(const automaton &aut)
Bridge.
Definition: letterize.hh:147
bool is_ambiguous(const automaton &aut)
Bridge.
Definition: is-ambiguous.hh:53
bool is_accessible(const automaton &aut)
Bridge.
Definition: accessible.hh:233
std::ostream & print_label(const label &label, std::ostream &o, const std::string &fmt)
Bridge (print).
Definition: print.hh:177
unsigned star_height(const expression &exp)
Bridge.
Definition: star-height.hh:113
size_t num_tapes(const context &ctx)
Bridge.
expression rdiv_expression(const expression &lhs, const expression &rhs)
Bridge (rdiv).
Definition: divide.hh:108
automaton component(const automaton &aut, unsigned num)
Bridge.
Definition: scc.hh:771
automaton eliminate_state(const automaton &aut, int state)
Bridge.
ATTRIBUTE_NORETURN std::enable_if_t<!is_free_boolean< Aut >), Aut > minimize(const Aut &, brzozowski_tag)
Handling of errors for dyn::minimize.
weight eval(const automaton &aut, const label &lbl)
Bridge.
Definition: eval.hh:142
automaton factor(const automaton &aut)
Bridge.
Definition: prefix.hh:121
bool is_eps_acyclic(const automaton &aut)
Bridge.
automaton standard(const automaton &aut)
Bridge.
Definition: standard.hh:138
automaton suffix(const automaton &aut)
Bridge.
Definition: prefix.hh:44
automaton trim(const automaton &aut)
Bridge.
Definition: accessible.hh:224
automaton cotrie_stream(const context &ctx, std::istream &is, const std::string &format)
Bridge (cotrie).
Definition: trie.hh:312
automaton cerny(const context &ctx, unsigned num_states)
Bridge.
Definition: cerny.hh:64
expression ldiv_expression(const expression &lhs, const expression &rhs)
Bridge (ldiv).
Definition: divide.hh:32
std::shared_ptr< const detail::expansion_base > expansion
Definition: expansion.hh:73
bool is_normalized(const automaton &aut)
Bridge.
Definition: normalize.hh:33
automaton focus(const automaton &aut, integral_constant)
Bridge.
Definition: focus.hh:332
expansion complement_expansion(const expansion &xpn)
Bridge (complement).
Definition: complement.hh:82
automaton determinize(const automaton &aut, const std::string &algo)
Bridge.
Definition: determinize.hh:350
automaton multiply(const automaton &lhs, const automaton &rhs, const std::string &algo)
Bridge.
Definition: multiply.hh:168
rat::identities identities(const expression &exp)
Bridge.
Definition: identities.hh:19
automaton left_mult(const weight &weight, const automaton &aut, const std::string &algo)
Bridge.
Definition: left-mult.hh:151
std::shared_ptr< detail::expression_base > expression
Definition: expression.hh:92
automaton codeterminize(const automaton &aut, const std::string &algo)
Bridge.
Definition: determinize.hh:423
bool is_proper(const automaton &aut)
Bridge.
Definition: is-proper.hh:60
automaton strip(const automaton &aut)
Bridge.
Definition: strip.hh:46
automaton lightest_automaton(const automaton &aut, const std::string &algo)
Bridge.
std::shared_ptr< const detail::context_base > context
A dyn::context.
Definition: fwd.hh:43
weight sum_weight(const weight &lhs, const weight &rhs)
Bridge (sum).
Definition: sum.hh:217
automaton sum(const automaton &lhs, const automaton &rhs, const std::string &algo)
Bridge.
Definition: sum.hh:111
expansion right_mult_expansion(const expansion &exp, const weight &weight)
Bridge (right_mult).
Definition: left-mult.hh:378
bool less_than_expression(const expression &lhs, const expression &rhs)
Bridge (less_than).
Definition: less-than.hh:31
bool is_realtime(const automaton &aut)
Bridge.
Definition: letterize.hh:260
automaton conjugate(const automaton &a)
Bridge.
Definition: conjugate.hh:58
bool is_valid_expression(const expression &exp)
Bridge (is_valid).
std::ostream & print_expansion(const expansion &expansion, std::ostream &o, const std::string &fmt)
Bridge (print).
Definition: print.hh:158
label multiply_label(const label &lhs, const label &rhs)
Bridge (multiply).
Definition: multiply.hh:388
polynomial split(const expression &exp)
Bridge.
Definition: split.hh:277
std::ostream & print(const automaton &aut, std::ostream &o, const std::string &fmt)
Bridge.
Definition: print.hh:109
std::ostream & list_polynomial(const polynomial &polynomial, std::ostream &o)
Bridge (list).
Definition: print.hh:213
expression tuple_expression(const std::vector< expression > &es)
Bridge (tuple).
Definition: tuple.hh:136
std::shared_ptr< detail::automaton_base > automaton
Definition: automaton.hh:69
context context_of(const automaton &aut)
Bridge.
Definition: make-context.hh:64
expansion to_expansion(const expression &exp)
Bridge.