From: NeilBrown Date: Sun, 21 Jul 2013 10:44:07 +0000 (+1000) Subject: parsergen: remove 'depth' arg from do_reduce. X-Git-Tag: indentparser~8 X-Git-Url: https://ocean-lang.org/code/?p=ocean;a=commitdiff_plain;h=59266b8ed2e3fb83cc93b82c8a06b8cad0d6c6eb parsergen: remove 'depth' arg from do_reduce. This was only used for tracing and now tracing is done differently. Signed-off-by: NeilBrown --- diff --git a/csrc/parsergen.mdc b/csrc/parsergen.mdc index 0099f57..e5c0dec 100644 --- a/csrc/parsergen.mdc +++ b/csrc/parsergen.mdc @@ -1895,8 +1895,7 @@ to the appropriate type for each access. All this is handling in { int i; fprintf(f, "#line 0 \"gen_reduce\"\n"); - fprintf(f, "static int do_reduce(int prod, int depth, void **body,\n"); - fprintf(f, " void *ret)\n"); + fprintf(f, "static int do_reduce(int prod, void **body, void *ret)\n"); fprintf(f, "{\n"); fprintf(f, "\tint ret_size = 0;\n"); @@ -2370,7 +2369,7 @@ We return whatever `asn` was returned by reducing production zero. ###### parser void *parser_run(struct token_state *tokens, const struct state states[], - int (*do_reduce)(int, int, void**, void*), + int (*do_reduce)(int, void**, void*), void (*do_free)(short, void*), FILE *trace, const char *non_term[], int knowns) { @@ -2399,8 +2398,7 @@ We return whatever `asn` was returned by reducing production zero. body = p.asn_stack + (p.tos - states[p.state].reduce_size); - bufsize = do_reduce(prod, p.tos, body, - buf); + bufsize = do_reduce(prod, body, buf); pop(&p, size, do_free); shift(&p, sym, memdup(buf, bufsize), states); @@ -2441,7 +2439,7 @@ We return whatever `asn` was returned by reducing production zero. ###### exported functions void *parser_run(struct token_state *tokens, const struct state states[], - int (*do_reduce)(int, int, void**, void*), + int (*do_reduce)(int, void**, void*), void (*do_free)(short, void*), FILE *trace, const char *non_term[], int knowns);