Merged TQ's changes. Started on attr_bool and action.

This commit is contained in:
Meredith L. Patterson 2012-05-18 11:44:38 +02:00
parent 5ffea6b7bb
commit 3d5e9399c4
2 changed files with 11 additions and 2 deletions

View file

@ -744,7 +744,6 @@ const parser_t* epsilon_p() {
return res; return res;
} }
static parse_result_t* parse_indirect(void* env, parse_state_t* state) { static parse_result_t* parse_indirect(void* env, parse_state_t* state) {
return do_parse(env, state); return do_parse(env, state);
} }
@ -759,7 +758,17 @@ parser_t* indirect() {
return res; return res;
} }
typedef struct {
predicate_t pred;
} attr_bool_t;
static parse_result_t* parse_attr_bool(void *env, parse_state_t *state) {
}
const parser_t* attr_bool(const parser_t* p, attr_bool_t a) { return &unimplemented; } const parser_t* attr_bool(const parser_t* p, attr_bool_t a) { return &unimplemented; }
const parser_t* and(const parser_t* p) { return &unimplemented; } const parser_t* and(const parser_t* p) { return &unimplemented; }
static parse_result_t* parse_not(void* env, parse_state_t* state) { static parse_result_t* parse_not(void* env, parse_state_t* state) {

View file

@ -78,7 +78,7 @@ typedef struct parse_result {
typedef parse_result_t* (*action_t)(parse_result_t *p); typedef parse_result_t* (*action_t)(parse_result_t *p);
/* Type of a boolean attribute-checking function, used in the attr_bool() parser. */ /* Type of a boolean attribute-checking function, used in the attr_bool() parser. */
typedef int (*attr_bool_t)(void *env); typedef int (*predicate_t)(parse_result_t *p);
typedef struct parser { typedef struct parser {
parse_result_t* (*fn)(void *env, parse_state_t *state); parse_result_t* (*fn)(void *env, parse_state_t *state);