Vcsn  2.2a
Be Rational
signature-printer.hh
Go to the documentation of this file.
1 #pragma once
2 
3 #include <ostream>
4 
5 #include <vcsn/dyn/type-ast.hh>
6 
7 namespace vcsn
8 {
9  namespace ast
10  {
12  {
13  public:
14  signature_printer(std::ostream& os, bool full)
15  : os_(os), full_(full)
16  {}
17 
18 #define DEFINE(Type) \
19  virtual void visit(const Type& t)
20 
22  DEFINE(context);
25  DEFINE(genset);
26  DEFINE(letterset);
27  DEFINE(nullableset);
28  DEFINE(oneset);
29  DEFINE(other);
31  DEFINE(tuple);
33  DEFINE(weightset);
34  DEFINE(wordset);
35 
36 #undef DEFINE
37 
38  private:
39  std::ostream& os_;
40  bool full_;
41  };
42 
51  std::string normalize_context(const std::string& ctx, bool full = true);
52  }
53 }
detail::automaton automaton
Definition: automaton.hh:108
#define DEFINE(Type)
std::ostringstream os
The output stream: the corresponding C++ snippet to compile.
Definition: translate.cc:382
std::shared_ptr< const detail::context_base > context
A dyn::context.
Definition: fwd.hh:26
signature_printer(std::ostream &os, bool full)
std::string normalize_context(const std::string &ctx, bool full=true)
A context, normalized.
weightset_mixin< rat::expressionset_impl< Context >> expressionset
Definition: fwd.hh:200
weightset_mixin< detail::tupleset_impl< LabelSets... >> tupleset
Definition: fwd.hh:32
static dyn::context ctx(const driver &d)
Get the context of the driver.
Definition: parse.cc:82
rat::expansionset< ExpSet > expansionset
Definition: fwd.hh:203
weightset_mixin< detail::polynomialset_impl< Context, Kind >> polynomialset
Definition: fwd.hh:63
Definition: a-star.hh:8