Expanded vtable for methods to determine whether a combinator is ok to use with regular or CF grammars.

This commit is contained in:
Meredith L. Patterson 2012-12-18 18:10:40 -05:00
parent 8163b3981d
commit 36e1f66de0
25 changed files with 200 additions and 4 deletions

View file

@ -11,8 +11,20 @@ static HParseResult* parse_optional(void* env, HParseState* state) {
return make_result(state, ast);
}
static bool opt_isValidRegular(void *env) {
HParser *p = (HParser*) env;
return p->vtable->isValidRegular(p->env);
}
static bool opt_isValidCF(void *env) {
HParser *p = (HParser*) env;
return p->vtable->isValidCF(p->env);
}
static const HParserVtable optional_vt = {
.parse = parse_optional,
.isValidRegular = opt_isValidRegular,
.isValidCF = opt_isValidCF,
};
const HParser* h_optional(const HParser* p) {