17 #ifndef DYN_CORE_ABSTRACT_RATEXP_HH 
   18 #define DYN_CORE_ABSTRACT_RATEXP_HH 
   27 namespace awali { 
namespace dyn {
 
   95     virtual std::vector<label_t> 
alphabet() 
const = 0;
 
  101     virtual std::ostream& 
print(std::ostream&) 
const = 0;
 
  119     virtual const std::vector<ratexp_t>& 
children() 
const =0;
 
  135     virtual unsigned size() 
const =0;
 
Abstract interface for rational expression at the dynamical layer; lists the services provided by aut...
Definition: abstract_ratexp.hh:91
 
virtual ratexp_t rmul(weight_t w) const =0
 
virtual ratexp_t add(ratexp_t) const =0
 
virtual unsigned star_height() const =0
Returns the maximal number of nested stars in this abstract_ratexp_t.
 
virtual unsigned arity() const =0
Returns the number of children this abstract_ratexp_t has.
 
virtual unsigned height() const =0
 
virtual context_t get_context() const =0
Gets the context of this abstract_ratexp_t.
 
virtual ExpKind get_kind() const =0
Gets the kind of this abstract_ratexp_t.
 
virtual weight_t lweight() const =0
Gets the left weight of this abstract_ratexp_t.
 
virtual unsigned length() const =0
 
virtual const std::vector< ratexp_t > & children() const =0
Returns the children of this abstract_ratexp_t.
 
virtual ratexp_t mult(ratexp_t) const =0
 
virtual label_t value() const =0
Gets the label of this abstract_ratexp_t (only for expression of kind ExpKind::ATOM).
 
virtual weight_t rweight() const =0
Gets the right weight of this abstract_ratexp_t.
 
virtual std::vector< label_t > alphabet() const =0
Gets the alphabet of this abstract_ratexp_t.
 
virtual ratexp_t lmul(weight_t w) const =0
 
virtual unsigned size() const =0
 
virtual ~abstract_ratexp_t()
Definition: abstract_ratexp.hh:144
 
virtual std::ostream & print(std::ostream &) const =0
 
virtual ratexp_t star() const =0
 
Dynamical wrapper for a context, that is a weightset and a labelset.
Definition: context.hh:43
 
Main class for representing rational expresson at the dynamical layer.
Definition: ratexp.hh:66
 
std::ostream & operator<<(std::ostream &o, automaton_t aut)
 
ExpKind
Definition: abstract_ratexp.hh:32
 
@ ZERO
Only the "empty" rational expression is of this kind (that is, with an empty language).
 
@ SUM
Rational expression which is a sum (or union) of rational expressions.
 
@ ATOM
Rational expressions of this kind are simply a label.
 
@ STAR
Rational expressions of this kind are the star of another rational expression.
 
@ ONE
Only the "epsilon" rational expression is of this kind (that is, with a language reduced to the empty...
 
@ PROD
Rational expression which is a product (or concatenation) of rational expressions.
 
Main namespace of Awali.
Definition: ato.hh:22
 
Structure used to erase the type of labels/weights at the dyn layer.
Definition: any.hh:52