Implementation of rational expression. More...
Public Member Functions | |
~exp () | |
Destructor. | |
exp & | star () |
Star an expression. | |
exp & | swap (exp &otether) |
Swap with another expression. | |
void | accept (ConstNodeVisitor< monoid_elt_value_t, semiring_elt_value_t > &v) const |
Facility to accept a visitor on the root node. | |
size_t | depth () const |
Compute the depth of the expression. | |
size_t | star_height () const |
Compute the star height (h) of the expression (E). | |
size_t | length () const |
Compute the length of the expression, i.e. | |
exp | clone () const |
Copy the expression. | |
exp () | |
Constructors. | |
exp (node_t *p) | |
Constructors. | |
exp (const node_t *p) | |
Constructors. | |
exp (const exp &other) | |
Constructors. | |
exp & | operator= (const exp &other) |
Classical operations. | |
exp & | operator+= (const exp &other) |
Classical operations. | |
exp & | operator*= (const exp &other) |
Classical operations. | |
node_t *& | base () |
Get the root node of the expression. | |
node_t *const & | base () const |
Get the root node of the expression. | |
bool | operator== (const exp &other) const |
Comparisons operators. | |
bool | operator!= (const exp &other) const |
Comparisons operators. | |
bool | operator< (const exp &other) const |
Comparisons operators. | |
Static Public Member Functions | |
static bool | starable () |
Always returns true, since a expression is always starable. | |
static exp | one () |
Basic expressions. | |
static exp | zero () |
Basic expressions. | |
static exp | constant (const monoid_elt_value_t &l) |
Basic expressions. | |
Protected Attributes | |
node_t * | base_ |
Root node. |
Implementation of rational expression.
Definition at line 29 of file exp.hh.
size_t star_height | ( | ) | const |
Compute the star height (h) of the expression (E).
Definition: if E=0 or E=1 or E='letter' then 0 if E=E1 + E2 or E=E1.E2 then max(h(E1), h(E2)) if E=F* then 1 + h(F)
Definition at line 115 of file exp.hxx.
References exp< LetterT, WeightT >::accept().
size_t length | ( | ) | const |
Compute the length of the expression, i.e.
the number of letters used in the expression.
Definition at line 123 of file exp.hxx.
References exp< LetterT, WeightT >::accept().