Inheritance diagram for exp:
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. | |
Static Public Member Functions | |
static bool | starable () |
Always returns true, since a expression is always starable. | |
Protected Attributes | |
node_t * | base_ |
Root node. |
|
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) |
|
Compute the length of the expression, i.e. the number of letters used in the expression. |