26 auto res = d.
parse(is);
36 if (t ==
"dot" || t ==
"default" || t ==
"")
43 raise(t +
": unknown format");
54 return detail::read_label_registry().call(is, ctx);
65 if (t ==
"text" || t ==
"default" || t ==
"")
68 raise(
"invalid input format for ratexp: ", t);
80 return detail::read_polynomial_registry().call(ctx, is);
91 return detail::read_weight_registry().call(ctx, is);
label read_label(std::istream &is, const context &ctx)
Read a label from a stream.
std::shared_ptr< detail::automaton_base > automaton
State and public interface for Dot parsing.
automaton read_fado(std::istream &is)
std::shared_ptr< const detail::weight_base > weight
std::shared_ptr< detail::ratexp_base > ratexp
dyn::ratexp read(std::istream &is, const dyn::ratexpset &rs, const location &l)
The ratexp in stream is, with rs as default ratexpset.
std::string errors
The error messages.
std::shared_ptr< const detail::ratexpset_base > ratexpset
weight read_weight(std::istream &is, const context &ctx)
Read a weight from a stream.
std::istringstream is
The input stream: the specification to translate.
polynomial read_polynomial(std::istream &is, const context &ctx)
Read a polynomial from a stream.
std::shared_ptr< const detail::label_base > label
std::shared_ptr< const detail::context_base > context
automaton read_automaton(std::istream &is, const std::string &format="default")
Read an automaton from a stream.
ratexp read_ratexp(std::istream &is, const ratexpset &rs, const std::string &format="default")
Read a ratexp from a stream.
dyn::automaton parse(std::istream &is, const location_t &l=location_t{})
Parse this stream.
std::shared_ptr< const detail::polynomial_base > polynomial
automaton read_efsm(std::istream &is)