diff --git a/src/hammer.c b/src/hammer.c index b59b8630c1a7ff9c5901b874e40df5a6a6adb9b0..58c7157ebb26cae7a5b1fbcc15f4f3e7cfaffd45 100644 --- a/src/hammer.c +++ b/src/hammer.c @@ -72,6 +72,7 @@ parse_result_t* do_parse(const parser_t* parser, parse_state_t *state) { parse_result_t* make_result(parse_state_t *state, parsed_token_t *tok) { parse_result_t *ret = a_new(parse_result_t, 1); ret->ast = tok; + ret->arena = state->arena; return ret; } diff --git a/src/hammer.h b/src/hammer.h index e1b37b779f2023345fbb0c51e80e9e15bfa375bb..6d68ab4457667bf6ecce1861b3506a8a605e7b08 100644 --- a/src/hammer.h +++ b/src/hammer.h @@ -80,6 +80,7 @@ typedef struct parsed_token { */ typedef struct parse_result { const parsed_token_t *ast; + arena_t arena; } parse_result_t; /* Type of an action to apply to an AST, used in the action() parser. */