Parser combinators are well underway. Ones that are now finished are:

* token: matches a sequence of bytes (with length)
 * ch: matches a single byte
 * range: matches any byte within the range [lower, upper] (inclusive)
 * join_action: joins the results of another parser with a separator
 * negate: matches the opposite of any single-character parser
 * end_p: succeeds if there's no input left to parse
 * nothing_p: always fails

One other big change: the AST is now a GSequence of parsed_token_t's. WARNING: This is not actually enforced, because C.

Also tweaked the makefile a little (which will get clobbered in TQ's next commit) and added some documentary comments to hammer.h.
This commit is contained in:
Meredith L. Patterson 2012-05-01 00:33:47 +01:00
parent dfd8cf2a97
commit 318b594bed
4 changed files with 220 additions and 16 deletions

View file

@ -1,6 +1,7 @@
-include ../common.mk
OUTPUTS := bitreader.o \
hammer.o \
libhammer.a \
test_suite