1a846937b75cc1852ffbaa1bb5d755286796b43c kent Wed Aug 14 19:07:43 2019 -0700 Passing symbol table to parse for better error checking. diff --git src/utils/strexCalc/strexCalc.c src/utils/strexCalc/strexCalc.c index 7fc9852..d5547ad 100644 --- src/utils/strexCalc/strexCalc.c +++ src/utils/strexCalc/strexCalc.c @@ -15,31 +15,31 @@ " strexCalc [variable assignments] expression\n" "command options in strexCalc are used to seed variables so for instance the command\n" " strexCalc a=12 b=13 c=xyz 'a + b + c'\n" "ends up returning 1213xyz\n" ); } char *symLookup(void *symbols, char *key) { return optionVal(key, NULL); } void strexCalc(char *expression) /* strexCalc - String expression calculator, mostly to test strex expression evaluator.. */ { -struct strexParse *parsed = strexParseString(expression, expression, 0); +struct strexParse *parsed = strexParseString(expression, expression, 0, "options", symLookup); if (verboseLevel() > 1) strexParseDump(parsed, 0, stderr); -char *result = strexEvalAsString(parsed, NULL, symLookup); +char *result = strexEvalAsString(parsed, "options", symLookup); printf("%s\n", result); } int main(int argc, char *argv[]) /* Process command line. */ { optionInit(&argc, argv, NULL); if (argc != 2) usage(); strexCalc(argv[1]); return 0; }