diff --git a/NOTES b/NOTES index c3a4cb6d7b8021fb12b95260276162e76e071750..84b8c4637aea271c54bb505aae4680208c3610f4 100644 --- a/NOTES +++ b/NOTES @@ -35,4 +35,4 @@ what the comments say. TODO: implement datastructure linearization func TODO: implement free func for parsers -TODO: Reimplement GSequence et al for use with arena allocator. (*&%$#@ Glib doesn't allow per-datastructure allocators) +TODO: Remove glib dependency (i.e., GQueue and GHashtable) \ No newline at end of file diff --git a/src/hammer.c b/src/hammer.c index 0934a050c970d5aebe9221db56def26fbba6e3b4..904fdd0425b16180b7115681ac5fb04153d81b35 100644 --- a/src/hammer.c +++ b/src/hammer.c @@ -44,6 +44,7 @@ static HCachedResult *cached_result(const HParseState *state, HParseResult *resu // Really library-internal tool to perform an uncached parse, and handle any common error-handling. static inline HParseResult* perform_lowlevel_parse(HParseState *state, const HParser *parser) { + // TODO(thequux): these nested conditions are ugly. Factor this appropriately, so that it is clear which codes is executed when. HParseResult *tmp_res; if (parser) { HInputStream bak = state->input_stream;