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_;
const std::string generators_
const std::string & generators() const
The generators.
virtual ~ast_node()=default
Represents the "alphabets", or "generator set".
const value_t get_sets() const
letterset(const std::shared_ptr< const ast_node > &gs)
const std::shared_ptr< const ast_node > gs_
rat::identities identities_
const std::shared_ptr< ast_node > get_weightset() const
const std::shared_ptr< ast_node > get_labelset() const
std::shared_ptr< context > ctx_
other(const std::string &type)
Support for wordset<GenSet>.
const value_t get_sets() const
weightset(const std::string &type)
polynomialset(std::shared_ptr< ast_node > child)
const std::string letter_type_
const std::shared_ptr< ast_node > get_labelset() const
const std::string & get_type() const
const std::shared_ptr< expressionset > get_expressionset() const
rat::identities get_identities() const
expansionset(std::shared_ptr< expressionset > rs)
const std::string & get_type() const
wordset(const std::shared_ptr< const ast_node > &gs)
std::vector< node_t > nodes_t
Support for letterset<GenSet>.
tuple(const value_t &sets)
std::shared_ptr< ast_node > node_t
nullableset(std::shared_ptr< ast_node > ls)
virtual void accept(context_visitor &v) const =0
std::vector< std::shared_ptr< ast_node > > value_t
automaton(const std::string &type, const node_t &child)
genset(const std::string &letter_type, const std::string &gens)
std::vector< std::shared_ptr< ast_node > > value_t
context(std::shared_ptr< ast_node > ls, std::shared_ptr< ast_node > ws)
const nodes_t & get_content() const
tupleset(const value_t &sets)
static identities ids(const driver &d)
Get the identities of the driver.
automaton(const std::string &type, const nodes_t &children)
An expressionset can implement several different sets of identities on expressions.
const std::shared_ptr< const ast_node > gs_
const std::shared_ptr< context > get_context() const
std::shared_ptr< const ast_node > genset() const
The generator set.
std::shared_ptr< ast_node > ls_
expressionset(std::shared_ptr< context > ctx, rat::identities ids)
std::shared_ptr< expressionset > rs_
const std::string & get_type() const
const std::shared_ptr< ast_node > & get_content() const
virtual bool has_one() const
std::shared_ptr< const ast_node > genset() const
The generator set.