vcsn::algebra Namespace Reference
[AlgebraAlphabet]

Namespace for algebra constructs in Vaucanson. More...


Classes

struct  AlphabetSetBase
 Base class for structural elements of alphabets. More...
struct  alphabet_traits
 Trait for virtual types of structural elements for alphabets. More...
struct  FreeMonoidBase
 Structural element for free monoid. More...
struct  FreeMonoidProduct
 Implementation of a monoid which is a product of two free monoids. More...
struct  FreeMonoidProductBase
 Structural element for free monoid product. More...
struct  MonoidBase
 The base class of all structures that are monoids. More...
struct  NumericalSemiring
 The set of semirings implemented with usual operations (+, *). More...
struct  mul_kind
 Empty class used as static information to denote the kind of internal operation of a semigroup. More...
struct  add_kind
 Empty class used as static information to denote the kind of internal operation of a semigroup. More...
struct  SemigroupBase
 Base class of all structures that are semigroups. More...
struct  SemiringBase
 Base class for all structures that are semirings. More...
struct  SeriesBase
 Structural element of series K<A*> from a free monoid A* to a semiring K. More...
struct  series_traits
 Meta information about series. More...
struct  TropicalMin
 Static information about the kind of tropical we are confronted with. More...
struct  TropicalMax
 Static information about the kind of tropical we are confronted with. More...
struct  TropicalSemiring
 Structural element that denotes tropical semiring. More...
struct  alphabet_traits< AlphabetSet< L >, std::set< L > >
 Meta information about the mixing of AlphabetSet with std::set. More...
struct  AlphabetSet
 Static implementation of alphabet structural element. More...
class  AlphabetDecorator
 Decorate a given alphabet implementation with meta-symbols. More...
struct  alphabet_traits< AlphabetSet< L >, AlphabetDecorator< L, T > >
 Meta information about the mixing of AlphabetSet with AlphabetDecorator. More...
struct  FreeMonoid
 Implementation of a free monoid which aggregates its alphabet. More...
class  RationalNumber
 Rational numbers class. More...
class  KRatExpToken
 Schrödinger's token for rational expression lexing. More...
struct  Lexer
 Lexer class for the rational expression parser. More...
struct  Parser
 Parser class used in the parse() function. More...
struct  BinaryOp
 BinaryOp is a generic class which symbolised binary operator. More...
struct  UnaryOp
 UnaryOp is a generic class which symbolised binary operator. More...
struct  Value
 Value is a generic class which symbolised leaf of AST. More...
struct  GenericMatcher
 GenericMatcher manages the dispatch of pattern matching. More...
struct  DispatchFunction< rat::exp< M, W > >
 Classical dispatch function for rat::exp. More...
struct  Series
 This is the final class for series. More...

Namespaces

namespace  krat_exp_lexing
 Misc. declarations used for rational expression lexing.

Functions

template<typename S, typename St, typename T>
St & op_rout (const algebra::AlphabetSetBase< S > &s, St &st, const T &a)
 Implementation of generic stream output operator for alphabets.
template<typename S, typename T, typename L>
bool op_letter_equality (const algebra::AlphabetSetBase< S > &s, const T &a, L lhs, L rhs)
 Implementation of generic letter equality modulo meta-characters.
template<typename S, typename T>
bool op_can_choose_non_starable (const algebra::SemiringBase< S > &set, SELECTOR(T))
 Whether a non-starable Element can be chosen from a Semiring.
template<typename S, typename T>
Element< S, T > op_choose_starable (const algebra::SemiringBase< S > &set, SELECTOR(T))
 A random starable element in the set.
template<typename S, typename T>
Element< S, T > op_choose_non_starable (const algebra::SemiringBase< S > &set, SELECTOR(T))
 A random non-starable element in the set.
template<typename W, typename M, typename Tm, typename Tw>
void op_in_mul (const algebra::Series< W, M > &s, rat::exp< Tm, Tw > &dst, const rat::exp< Tm, Tw > &arg)
template<typename W, typename M, typename Tm, typename Tw, typename oTw>
void op_in_mul (const algebra::Series< W, M > &s, const W &semiring, rat::exp< Tm, Tw > &ret, const oTw &w)
template<typename W, typename M, typename oTw, typename Tm, typename Tw>
rat::exp< Tm, Tw > op_mul (const W &semiring, const algebra::Series< W, M > &s, const oTw &w, const rat::exp< Tm, Tw > &b)
template<class S, class T>
std::pair< bool, std::string > parse (const std::string &from, Element< S, T > &exp, bool lex_trace=false, bool parse_trace=false)
 Parse a rational expression.


Detailed Description

Namespace for algebra constructs in Vaucanson.

The algebra namespace in Vaucanson contains all the compounds which are needed to manipulate algebraic structures. Both structural elements (e.g. Alphabets, Monoids, etc.) and implementations of those elements (polynoms, rational expressions, etc.) are presents in this namespace.

See also:
Bug:
FIXME Operators in krat.hxx are of the form:
    template<typename S, typename M ...>
      ... op(Series<S>& series, M& monoid, ...)
 
and should be instead:
    template<typename S, typename M ...>
      ... op(Series<S>& series, Monoid<M>& monoid, ...)
 

Function Documentation

void op_in_mul ( const algebra::Series< W, M > &  s,
rat::exp< Tm, Tw > &  dst,
const rat::exp< Tm, Tw > &  arg 
) [inline]

Bug:
FIXME: Add the following transformation in a separated function.

Definition at line 161 of file krat.hxx.

References exp::base(), and Series::semiring().

void op_in_mul ( const algebra::Series< W, M > &  s,
const W &  semiring,
rat::exp< Tm, Tw > &  ret,
const oTw &  w 
) [inline]

Bug:
FIXME: Add the following transformation in a separated function.

Definition at line 461 of file krat.hxx.

References exp::base(), SELECT, and Series::semiring().

rat::exp< Tm, Tw > op_mul ( const W &  semiring,
const algebra::Series< W, M > &  s,
const oTw &  w,
const rat::exp< Tm, Tw > &  b 
) [inline]

Bug:
FIXME: Add the following transformation in a separated function.

Definition at line 552 of file krat.hxx.

References exp::base(), SELECT, and Series::semiring().


Generated on Thu Dec 13 16:09:57 2007 for Vaucanson by  doxygen 1.5.4