KRatExpAciCanonical Struct Template Reference

Visitor to build a canonical form of an expression, following aci-rules. More...

Inheritance diagram for KRatExpAciCanonical:

Inheritance graph
[legend]
List of all members.

Public Types

typedef Element< Series, T > exp_t
typedef std::set< exp_tset_t
typedef std::set< exp_treturn_type
typedef set_t::iterator iterator_t
typedef KRatExpAciCanonical<
Series, T, Dispatch > 
self_t
typedef Element< Series, T
>::semiring_elt_t 
semiring_elt_t
typedef semiring_elt_t::value_t semiring_elt_value_t
typedef Element< Series, T
>::monoid_elt_t 
monoid_elt_t
typedef monoid_elt_t::set_t monoid_t
typedef monoid_t::alphabet_t alphabet_t
typedef alphabet_t::letter_t letter_t
typedef T::monoid_elt_value_t monoid_elt_value_t

Public Member Functions

 KRatExpAciCanonical (const Element< Series, T > &exp)
exp_t set2exp (set_t expset)
 MATCH__ (Product, lhs, rhs)
END MATCH__ (Sum, lhs, rhs)
END MATCH_ (Star, e)
END MATCH__ (LeftWeight, w, e)
END MATCH__ (RightWeight, e, w)
END MATCH_ (Constant, m)
END MATCH (Zero)
END MATCH (One)
std::set< Element< Series,
T > > 
match (const T &ast)
 Effectively performs the match.

Detailed Description

template<class Series, class T, class Dispatch>
struct vcsn::KRatExpAciCanonical< Series, T, Dispatch >

Visitor to build a canonical form of an expression, following aci-rules.

See also:
canonical()
Bug:
FIXME: The algorithm is correct, but the implementation may not be efficient!

Definition at line 39 of file aci_canonical.hxx.


Member Function Documentation

std::set< Element< Series, T > > match const T &  ast  )  [inherited]
 

Effectively performs the match.

Parameters:
ast The object to perform the match on.
See also:
DispatchVisitor::DispatchVisitor

Referenced by vcsn::do_canonical().


Generated on Sat Jul 29 17:29:01 2006 for Vaucanson by  doxygen 1.4.6