|
wibble
1.1
|
#include <parse.h>

Public Types | |
| typedef Token::Id | TokenId |
| typedef ParseContext< Token, Stream > | Context |
| typedef Context::Fail | Fail |
| typedef Fail::Type | FailType |
Public Member Functions | |
| bool | valid () const |
| Context & | context () |
| int | position () |
| void | rewind (int i) |
| void | fail (const char *what, FailType type=FailType::Syntax) __attribute__((noreturn)) |
| void | semicolon () |
| void | colon () |
| Token | eat (TokenId id) |
| template<typename F , typename G > | |
| void | either (F f, void(G::*g)()) |
| template<typename F , typename G > | |
| bool | maybe (F f, G g) |
| template<typename F , typename G , typename H > | |
| bool | maybe (F f, G g, H h) |
| template<typename F > | |
| bool | maybe (void(F::*f)()) |
| bool | maybe (TokenId id) |
| template<typename T , typename I > | |
| void | many (I i) |
| template<typename T , typename I > | |
| void | list (I i, TokenId sep) |
| template<typename T , typename I , typename F > | |
| void | list (I i, void(F::*sep)()) |
| template<typename T , typename I > | |
| void | list (I i, TokenId first, TokenId sep, TokenId last) |
| Token | eat (bool _fail=true) |
| bool | next (TokenId id) |
| Parser (Context &c) | |
| Parser () | |
Public Attributes | |
| Context * | ctx |
| int | _position |
| typedef ParseContext< Token, Stream > wibble::Parser< Token, Stream >::Context |
| typedef Context::Fail wibble::Parser< Token, Stream >::Fail |
| typedef Fail::Type wibble::Parser< Token, Stream >::FailType |
| typedef Token::Id wibble::Parser< Token, Stream >::TokenId |
|
inline |
|
inline |
|
inline |
|
inline |
References assert, and wibble::Parser< Token, Stream >::ctx.
Referenced by wibble::Parser< Token, Stream >::eat(), wibble::Parser< Token, Stream >::fail(), wibble::Parser< Token, Stream >::list(), wibble::Parser< Token, Stream >::many(), wibble::Parser< Token, Stream >::position(), and wibble::Parser< Token, Stream >::rewind().
|
inline |
References wibble::Parser< Token, Stream >::fail(), wibble::Token< _Id >::id, and wibble::Parser< Token, Stream >::rewind().
Referenced by wibble::Parser< Token, Stream >::colon(), wibble::Parser< Token, Stream >::list(), wibble::Parser< Token, Stream >::maybe(), wibble::Parser< Token, Stream >::next(), and wibble::Parser< Token, Stream >::semicolon().
|
inline |
References wibble::Parser< Token, Stream >::_position, wibble::Parser< Token, Stream >::context(), wibble::Parser< Token, Stream >::fail(), wibble::ParseContext< Token, Stream >::position, wibble::ParseContext< Token, Stream >::remove(), wibble::Parser< Token, Stream >::rewind(), and wibble::Token< _Id >::valid().
|
inline |
References wibble::Parser< Token, Stream >::maybe().
|
inline |
References wibble::Parser< Token, Stream >::_position, wibble::Parser< Token, Stream >::context(), wibble::ParseContext< Token, Stream >::failures, and wibble::ParseContext< Token, Stream >::position.
Referenced by wibble::Parser< Token, Stream >::colon(), wibble::Parser< Token, Stream >::eat(), wibble::Parser< Token, Stream >::maybe(), and wibble::Parser< Token, Stream >::semicolon().
|
inline |
|
inline |
|
inline |
References wibble::Parser< Token, Stream >::eat().
|
inline |
|
inline |
Referenced by wibble::Parser< Token, Stream >::either(), and wibble::Parser< Token, Stream >::maybe().
|
inline |
References wibble::Parser< Token, Stream >::maybe().
|
inline |
|
inline |
|
inline |
References wibble::Parser< Token, Stream >::eat(), wibble::Token< _Id >::id, and wibble::Parser< Token, Stream >::rewind().
Referenced by wibble::Parser< Token, Stream >::list().
|
inline |
|
inline |
References wibble::Parser< Token, Stream >::_position, wibble::Parser< Token, Stream >::context(), wibble::ParseContext< Token, Stream >::position, and wibble::ParseContext< Token, Stream >::rewind().
Referenced by wibble::Parser< Token, Stream >::colon(), wibble::Parser< Token, Stream >::eat(), wibble::Parser< Token, Stream >::list(), wibble::Parser< Token, Stream >::many(), wibble::Parser< Token, Stream >::maybe(), wibble::Parser< Token, Stream >::next(), and wibble::Parser< Token, Stream >::semicolon().
|
inline |
|
inline |
References wibble::Parser< Token, Stream >::ctx.
| int wibble::Parser< Token, Stream >::_position |
| Context* wibble::Parser< Token, Stream >::ctx |
Referenced by wibble::Parser< Token, Stream >::context(), and wibble::Parser< Token, Stream >::valid().
1.8.7