wibble 1.1
|
#include <parse.h>
Public Types | |
typedef std::deque< char > | Window |
Public Member Functions | |
void | shift () |
bool | eof () |
std::string | window (unsigned n) |
bool | ensure_window (unsigned n) |
void | consume (int n) |
void | consume (const std::string &s) |
void | consume (const Token &t) |
void | keep (typename Token::Id id, const std::string &data) |
template<typename I > | |
bool | match (I begin, I end) |
void | match (const std::string &data, typename Token::Id id) |
void | match (Regexp &r, typename Token::Id id) |
void | match (int(*first)(int), int(*rest)(int), typename Token::Id id) |
void | match (const std::string &from, const std::string &to, typename Token::Id id) |
void | skipWhitespace () |
Token | decide () |
Lexer (Stream &s) | |
Public Attributes | |
Stream & | stream |
Window | _window |
Position | current |
Token | _match |
typedef std::deque< char > wibble::Lexer< Token, Stream >::Window |
|
inline |
|
inline |
References wibble::Lexer< Token, Stream >::consume().
References wibble::Lexer< Token, Stream >::consume().
|
inline |
References wibble::Lexer< Token, Stream >::_window, wibble::Position::column, wibble::Lexer< Token, Stream >::current, and wibble::Position::line.
Referenced by wibble::Lexer< Token, Stream >::consume(), wibble::Lexer< Token, Stream >::consume(), wibble::Lexer< Token, Stream >::decide(), and wibble::Lexer< Token, Stream >::skipWhitespace().
|
inline |
References wibble::Lexer< Token, Stream >::_window, wibble::Lexer< Token, Stream >::shift(), and wibble::Lexer< Token, Stream >::stream.
Referenced by wibble::Lexer< Token, Stream >::match(), wibble::Lexer< Token, Stream >::match(), wibble::Lexer< Token, Stream >::match(), and wibble::Lexer< Token, Stream >::window().
References wibble::Lexer< Token, Stream >::_window, and wibble::Lexer< Token, Stream >::stream.
Referenced by wibble::Lexer< Token, Stream >::skipWhitespace().
|
inline |
References wibble::Lexer< Token, Stream >::_match, wibble::Lexer< Token, Stream >::current, and wibble::Token< _Id >::data.
Referenced by wibble::Lexer< Token, Stream >::match(), wibble::Lexer< Token, Stream >::match(), wibble::Lexer< Token, Stream >::match(), and wibble::Lexer< Token, Stream >::match().
References wibble::Lexer< Token, Stream >::_window, assert, and wibble::Lexer< Token, Stream >::stream.
Referenced by wibble::Lexer< Token, Stream >::ensure_window().
|
inline |
|
inline |
References wibble::Lexer< Token, Stream >::_window, assert, and wibble::Lexer< Token, Stream >::ensure_window().
Referenced by wibble::Lexer< Token, Stream >::match(), wibble::Lexer< Token, Stream >::match(), wibble::Lexer< Token, Stream >::match(), and wibble::Lexer< Token, Stream >::skipWhitespace().
Referenced by wibble::Lexer< Token, Stream >::decide(), and wibble::Lexer< Token, Stream >::keep().
Referenced by wibble::Lexer< Token, Stream >::consume(), wibble::Lexer< Token, Stream >::ensure_window(), wibble::Lexer< Token, Stream >::eof(), wibble::Lexer< Token, Stream >::match(), wibble::Lexer< Token, Stream >::match(), wibble::Lexer< Token, Stream >::match(), wibble::Lexer< Token, Stream >::shift(), and wibble::Lexer< Token, Stream >::window().
Referenced by wibble::Lexer< Token, Stream >::consume(), and wibble::Lexer< Token, Stream >::keep().