From 72fa2127c8224e065bc8631b765364444fc49509 Mon Sep 17 00:00:00 2001 From: Curle Date: Sat, 21 Nov 2020 22:17:02 +0000 Subject: [PATCH] Add a little extra output during tree dump to make it easier to figure out what's going on with parser errors. --- src/Dump.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/Dump.c b/src/Dump.c index 22677ff..423dfb7 100644 --- a/src/Dump.c +++ b/src/Dump.c @@ -75,7 +75,7 @@ void DumpTree(struct ASTNode* node, int level) { case OP_GREATE: fprintf(stdout, "OP_GREATE\n"); return; case TERM_INTLITERAL: fprintf(stdout, "TERM_INTLITERAL %d\n", node->Value.IntValue); return; case REF_IDENT: - if(node->Right) + if(node->RVal) fprintf(stdout, "REF_IDENT rval %s\n", Symbols[node->Value.ID].Name); else fprintf(stdout, "REF_IDENT %s\n", Symbols[node->Value.ID].Name); @@ -85,7 +85,8 @@ void DumpTree(struct ASTNode* node, int level) { case OP_RET: fprintf(stdout, "OP_RET\n"); return; case OP_CALL: fprintf(stdout, "OP_CALL %s\n", Symbols[node->Value.ID].Name); return; case OP_ADDRESS: fprintf(stdout, "OP_ADDRESS %s\n", Symbols[node->Value.ID].Name); return; - case OP_DEREF: fprintf(stdout, "OP_DEREF\n"); return; + case OP_DEREF: + fprintf(stdout, "OP_DEREF %s\n", node->RVal ? "rval" : ""); return; case OP_SCALE: fprintf(stdout, "OP_SCALE %s\n", TypeNames[node->Value.Size]); return; default: