diff --git a/src/hammer.c b/src/hammer.c index fb3d62a9ece0a7c920f3d5e124844bd704aa0935..6f60c959dbb965c3d62e0fbef446e2062a9cd2e7 100644 --- a/src/hammer.c +++ b/src/hammer.c @@ -744,7 +744,6 @@ const parser_t* epsilon_p() { return res; } - static parse_result_t* parse_indirect(void* env, parse_state_t* state) { return do_parse(env, state); } @@ -759,7 +758,17 @@ parser_t* indirect() { 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* and(const parser_t* p) { return &unimplemented; } static parse_result_t* parse_not(void* env, parse_state_t* state) { diff --git a/src/hammer.h b/src/hammer.h index c3c2cf7b183caf684f8ef9b83358e95c7f838f85..915f7ac35760324404316a3e06bdd83481aa3000 100644 --- a/src/hammer.h +++ b/src/hammer.h @@ -78,7 +78,7 @@ typedef struct parse_result { typedef parse_result_t* (*action_t)(parse_result_t *p); /* 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 { parse_result_t* (*fn)(void *env, parse_state_t *state);