Merge branch 'enable-indirect'
This commit is contained in:
commit
7d818e2570
3 changed files with 5 additions and 4 deletions
|
|
@ -21,7 +21,8 @@ PARSERS := \
|
||||||
epsilon \
|
epsilon \
|
||||||
and \
|
and \
|
||||||
not \
|
not \
|
||||||
attr_bool
|
attr_bool \
|
||||||
|
indirect
|
||||||
|
|
||||||
OUTPUTS := bitreader.o \
|
OUTPUTS := bitreader.o \
|
||||||
hammer.o \
|
hammer.o \
|
||||||
|
|
|
||||||
|
|
@ -442,7 +442,7 @@ HParser *h_indirect();
|
||||||
* Set the inner parser of an indirect. See comments on indirect for
|
* Set the inner parser of an indirect. See comments on indirect for
|
||||||
* details.
|
* details.
|
||||||
*/
|
*/
|
||||||
void h_bind_indirect(HParser* indirect, HParser* inner);
|
void h_bind_indirect(HParser* indirect, const HParser* inner);
|
||||||
|
|
||||||
// Some debugging aids
|
// Some debugging aids
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -7,9 +7,9 @@ static const HParserVtable indirect_vt = {
|
||||||
.parse = parse_indirect,
|
.parse = parse_indirect,
|
||||||
};
|
};
|
||||||
|
|
||||||
void h_bind_indirect(HParser* indirect, HParser* inner) {
|
void h_bind_indirect(HParser* indirect, const HParser* inner) {
|
||||||
assert_message(indirect->vtable == &indirect_vt, "You can only bind an indirect parser");
|
assert_message(indirect->vtable == &indirect_vt, "You can only bind an indirect parser");
|
||||||
indirect->env = inner;
|
indirect->env = (void*)inner;
|
||||||
}
|
}
|
||||||
|
|
||||||
HParser* h_indirect() {
|
HParser* h_indirect() {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue