From 012a218e3f25f4712e6eb9a197e4473f0617eaed Mon Sep 17 00:00:00 2001 From: Kai Stevenson Date: Wed, 15 Feb 2023 19:36:22 -0800 Subject: added reading from files, fixed some bugs --- parse.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'parse.c') diff --git a/parse.c b/parse.c index d8a06d0..c174c23 100644 --- a/parse.c +++ b/parse.c @@ -63,7 +63,7 @@ symset_t* parse_symbols(char** str) { /* TODO: float */ /* string */ if (isalpha(symbolName[0])) { - symbolName = realloc(symbolName, i * sizeof(char)); + //symbolName = realloc(symbolName, i * sizeof(char)); symbol->name = symbolName; symbol->litType = STRING; } @@ -110,6 +110,7 @@ sym_t* parse_symbol_final(char* str) { sym_t* root = malloc(sizeof(sym_t)); root->name = "root"; root->province = KEY_REF; + root->argCount = 0; for (int s = 0; s < finalSymset->count; s++) { symbol_add_arg(root, finalSymset->symbols[s]); } @@ -119,7 +120,7 @@ void write_symbol_visual(sym_t* symbol, int offset) { for (int o = 0; o < offset; o++) { printf(" "); } - printf("%s (%s)\n", (char*)(symbol->name), symbol->province == 1 ? "KEY" : "LITERAL"); + printf("%s (%s)\n", (char*)(symbol->name), symbol->province == KEY_REF ? "KEY" : "LITERAL"); for (int i = 0; i < symbol->argCount; i++) { write_symbol_visual(symbol->args[i], offset + 4); } -- cgit v1.3.1