Public Types | |
| 
typedef KRatExpToken< typename  Element< S, T >::monoid_elt_value_t, typename Element< S, T >::semiring_elt_value_t >  | krat_exp_token_t | 
| typedef std::list< krat_exp_token_t > | token_stream_t | 
Public Member Functions | |
| Lexer (bool trace=false) | |
| void | lex_error (const std::string &msg="Lex error.") | 
| Put the lexer into an error state.  | |
| void | lex (const std::string &in, const Element< S, T > &e) | 
| Perform lexing.   | |
| bool | error () const | 
| Return true when an error occured.  | |
| const std::string & | error_msg () const | 
| Return the error message.  | |
| krat_exp_token_t | first () const | 
| Return the first token.  | |
| krat_exp_token_t | second () const | 
| Return the second token.  | |
| void | eat () | 
| Shift tokens.   | |
| void | set_trace (bool trace) | 
Protected Attributes | |
| token_stream_t | tokens_ | 
| bool | trace_ | 
| std::string | error_msg_ | 
| bool | error_ | 
Parser 
Definition at line 238 of file krat_exp_parser.hxx.
| void lex | ( | const std::string & | in, | |
| const Element< S, T > & | e | |||
| ) |  [inline] | 
        
Perform lexing.
| in | The rational expression to lex, as a string. | |
| e | The element which will be used later for parsing. It used to guess words and semiring types. | 
Definition at line 271 of file krat_exp_parser.hxx.
References Lexer::error_, vcsn::misc::escaped(), Lexer::lex_error(), vcsn::parse_weight(), vcsn::parse_word(), KRatExpToken::reset(), Element::structure(), Lexer::tokens_, and vcsn::misc::usual_escaped_characters().
Referenced by vcsn::algebra::parse().
| void eat | ( | ) |  [inline] | 
        
Shift tokens.
Remove the first token from the token stream. So second becames first, third becames second, and so on...
Definition at line 363 of file krat_exp_parser.hxx.
References Lexer::tokens_, and Lexer::trace_.
 1.5.1