Fix parse_consecutive behavior when the token stream runs out

This commit is contained in:
omicron 2025-04-16 12:13:02 +02:00
parent 92c63092a1
commit 1574ec6249

View File

@ -1,4 +1,5 @@
#include "combinators.h"
#include "util.h"
// Parse a list of the given parser delimited by the given token id. Does not
// store the delimiters in the parent node
@ -122,5 +123,12 @@ parse_result_t parse_consecutive(tokenlist_entry_t *current, node_id_t id,
}
current = result.next;
}
// token stream ended before we matched all parsers
if (parser != nullptr) {
ast_node_free(all);
return parse_no_match();
}
return parse_success(all, current);
}