Merged TQ's changes. Started on attr_bool and action.
This commit is contained in:
parent
5ffea6b7bb
commit
3d5e9399c4
2 changed files with 11 additions and 2 deletions
11
src/hammer.c
11
src/hammer.c
|
|
@ -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) {
|
||||||
|
|
|
||||||
|
|
@ -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);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue