10 #include <vcsn/dyn/fwd.hh> 19 virtual void accept(context_visitor &v) const \ 31 virtual bool has_one()
const {
return false; }
37 context(std::shared_ptr<ast_node> ls, std::shared_ptr<ast_node> ws)
61 using value_t = std::vector<std::shared_ptr<ast_node>>;
75 for (
auto s : get_sets())
89 using value_t = std::vector<std::shared_ptr<ast_node>>;
103 for (
auto s : get_sets())
130 std::shared_ptr<ast_node>
ls_;
151 genset(
const std::string& letter_type,
const std::string& gens)
152 : letter_type_(letter_type)
159 const
std::
string& letter_type()
const 184 std::shared_ptr<const ast_node>
genset()
const 190 virtual
bool has_one()
const {
return false; }
193 const std::shared_ptr<const ast_node>
gs_;
201 wordset(
const std::shared_ptr<const ast_node>& gs)
206 std::shared_ptr<const ast_node>
genset()
const 215 const std::shared_ptr<const ast_node>
gs_;
262 std::shared_ptr<expressionset>
rs_;
305 using node_t = std::shared_ptr<ast_node>;
314 , children_(children)
355 std::shared_ptr<ast_node> child_;
letterset(const std::shared_ptr< const ast_node > &gs)
const nodes_t & get_content() const
Support for wordset<GenSet>.
automaton(const std::string &type, const nodes_t &children)
std::shared_ptr< expressionset > rs_
const std::string letter_type_
const std::shared_ptr< const ast_node > gs_
const std::string generators_
automaton(const std::string &type, const node_t &child)
const std::string & generators() const
The generators.
rat::identities get_identities() const
const std::string & get_type() const
other(const std::string &type)
std::shared_ptr< ast_node > node_t
nullableset(std::shared_ptr< ast_node > ls)
std::vector< std::shared_ptr< ast_node > > value_t
virtual ~ast_node()=default
std::shared_ptr< const ast_node > genset() const
The generator set.
An expressionset can implement several different sets of identities on expressions.
const std::shared_ptr< ast_node > & get_content() const
rat::identities identities_
std::shared_ptr< context > ctx_
expansionset(std::shared_ptr< expressionset > rs)
polynomialset(std::shared_ptr< ast_node > child)
std::shared_ptr< const ast_node > genset() const
The generator set.
virtual bool has_one() const
static identities ids(const driver &d)
Get the identities of the driver.
const std::shared_ptr< ast_node > get_labelset() const
context(std::shared_ptr< ast_node > ls, std::shared_ptr< ast_node > ws)
std::vector< node_t > nodes_t
const std::string & get_type() const
const std::string & get_type() const
const std::shared_ptr< expressionset > get_expressionset() const
const std::shared_ptr< context > get_context() const
std::vector< std::shared_ptr< ast_node > > value_t
const value_t get_sets() const
tuple(const value_t &sets)
virtual void accept(context_visitor &v) const =0
const std::shared_ptr< ast_node > get_labelset() const
const std::shared_ptr< ast_node > get_weightset() const
Support for letterset<GenSet>.
weightset(const std::string &type)
tupleset(const value_t &sets)
wordset(const std::shared_ptr< const ast_node > &gs)
genset(const std::string &letter_type, const std::string &gens)
const std::shared_ptr< const ast_node > gs_
expressionset(std::shared_ptr< context > ctx, rat::identities ids)
const value_t get_sets() const
Represents the "alphabets", or "generator set".
std::shared_ptr< ast_node > ls_