Collaboration diagram for Series:
 
 | 
Files | |
| file | krat_exp_parser.hh | 
| This file declares the parse() function.  | |
Classes | |
| 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 | mute_series_impl | 
| struct | mute_series_traits | 
| struct | dynamic_traits< algebra::SeriesBase< Self > > | 
| struct | virtual_types< algebra::SeriesBase< Self > > | 
| class | MetaElement< algebra::SeriesBase< Self >, T > | 
| Services of every series.  More... | |
| interface | semiring_virtual | 
| Virtual pure class used by bison to deal with vaucanson's templated structures.  More... | |
| interface | krat_exp_virtual | 
| Virtual pure class used by bison to deal with vaucanson's templated structures.  More... | |
| struct | krat_exp_proxy | 
| Proxy over Vaucanson Element.  More... | |
| struct | semiring_proxy | 
| Proxy over Vaucanson Semiring.  More... | |
| interface | semiring_virtual | 
| Virtual pure class used by bison to deal with vaucanson's templated structures.  More... | |
| interface | krat_exp_virtual | 
| Virtual pure class used by bison to deal with vaucanson's templated structures.  More... | |
| struct | krat_exp_proxy | 
| Proxy over Vaucanson Element.  More... | |
| struct | semiring_proxy | 
| Proxy over Vaucanson Semiring.  More... | |
Functions | |
| template<typename S, typename T> | |
| Element< S, T > | transpose (const algebra::SeriesBase< S > &s, const T &t) | 
| returns a fresh series that is the transposed of the argument.  | |
| template<typename S, typename T> | |
| bool | is_support_in_alphabet (const Element< S, T > &s) | 
| Returns true if the support of the series is only composed of letters.  | |
| template<typename S1, typename S2, typename T1, typename T2> | |
| void | extract_support (Element< S1, T1 > &, Element< S2, T2 > &) | 
| Make the first series be the support of the second.  | |
| template<class S, class T> | |
| Element< S, T > | hadamard (const Element< S, T > &lhs, const Element< S, T > &rhs) | 
| Return the hadamard product of lhs and rhs.  | |
| template<class S, class T> | |
| std::pair< bool, std::string > | parse (const std::string &from, Element< S, T > &exp, const token_representation< typename S::monoid_t::letter_t > tok_rep=token_representation< typename S::monoid_t::letter_t >(), bool lex_trace=false, bool parse_trace=false) | 
| Parse a rational expression.   | |
| std::pair<bool, std::string> vcsn::algebra::parse | ( | const std::string & | from, | |
| Element< S, T > & | exp, | |||
| const token_representation< typename S::monoid_t::letter_t > |  tok_rep = token_representation< typename S::monoid_t::letter_t >(),  | 
        |||
| bool |  lex_trace = false,  | 
        |||
| bool |  parse_trace = false | |||
| ) | 
Parse a rational expression.
This fonction parses any kind of rational expression using the bison generated parser.
The grammar is :
     %start rexp
     rexp ::= OPAR exp CPAR
         |   rexp PLUS rexp
         |   rexp TIMES rexp
         |   rexp rexp
         |   rexp STAR
         |   WEIGHT rexp
         |   rexp WEIGHT
         |   ONE
         |   ZERO
         |   WORD
     This function returns a pair which first element is a Boolean indicating whether an error occured or not. The second element is an error message when a parse error have been ecountered.
| from | The rational expression, as a string. | |
| exp | The element to store the result in. Be sure its set is correct before calling parse. | |
| lex_trace | Enable lexer trace (for debuging purposes). | |
| parse_trace | Enable parser trace (for debuging purposes). | 
Referenced by usual_converter_exp::operator()(), and usual_converter_poly::operator()().
 1.5.1