# HG changeset patch # User Matti Hamalainen # Date 1366558178 -10800 # Node ID 12ddeef948fc223d4bbe034b91fcb01d2c7d3fdc # Parent da39c2255aa22ce8c4083e7481706889cc66ef1c Move dm_print_optree() to dmevalw.c diff -r da39c2255aa2 -r 12ddeef948fc Makefile.gen --- a/Makefile.gen Sun Apr 21 16:46:03 2013 +0300 +++ b/Makefile.gen Sun Apr 21 18:29:38 2013 +0300 @@ -417,7 +417,7 @@ @echo " LINK $+" @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) $(SDL_LDFLAGS) -lSDL_ttf -$(TESTS_BINPATH)evaltest$(EXEEXT): $(OBJPATH)evaltest.o $(OBJPATH)dmeval.o $(DMLIB_A) +$(TESTS_BINPATH)evaltest$(EXEEXT): $(OBJPATH)evaltest.o $(OBJPATH)dmeval.o $(OBJPATH)dmevalw.o $(DMLIB_A) @echo " LINK $+" @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) -lm @@ -477,7 +477,7 @@ @echo " LINK $+" @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) -lm -$(TOOL_BINPATH)auval$(EXEEXT): $(OBJPATH)auval.o $(OBJPATH)dmeval.o $(DMLIB_A) +$(TOOL_BINPATH)auval$(EXEEXT): $(OBJPATH)auval.o $(OBJPATH)dmeval.o $(OBJPATH)dmevalw.o $(DMLIB_A) @echo " LINK $+" @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) $(SDL_LDFLAGS) -lSDL_ttf diff -r da39c2255aa2 -r 12ddeef948fc dmeval.c --- a/dmeval.c Sun Apr 21 16:46:03 2013 +0300 +++ b/dmeval.c Sun Apr 21 18:29:38 2013 +0300 @@ -657,83 +657,6 @@ } -static const char *dm_oper_names[OP_NOPERS] = -{ - "NONE", - "+", - "-", - "*", - "/", - "%", - - "<<", - ">>", - - "&", - "|", - "^", - - "FUNC", - "VAR", - "SUBEXPR", - "CONST" -}; - - -static void dm_print_optree_do(FILE *out, DMEvalContext *ev, DMEvalNode *node, const int level) -{ - int i; - while (node != NULL) - { - switch (node->op) - { - case OP_FUNC: - fprintf(out, "%s(", node->id != NULL ? node->id->name : "?ERROR"); - for (i = 0; i < node->id->nargs; i++) - { - dm_print_optree_do(out, ev, node->args[i], level + 1); - if (i < node->id->nargs - 1) - fprintf(out, ","); - } - fprintf(out, ")"); - break; - - case OP_VAR: - fprintf(out, "%s", node->id != NULL ? node->id->name : "?ERROR"); - break; - - case OP_CONST: - fprintf(out, "%.1f", node->val); - break; - - case OP_SUBEXPR: - fprintf(out, "("); - if (node->subexpr != NULL) - dm_print_optree_do(out, ev, node->subexpr, level + 1); - else - fprintf(out, "?ERROR"); - fprintf(out, ")"); - break; - - default: - if (node->op > 0 && node->op < OP_NOPERS) - fprintf(out, "%s", dm_oper_names[node->op]); - else - fprintf(out, "ERROR!"); - break; - } - node = node->next; - } -} - - -void dm_print_optree(FILE *out, DMEvalContext *ev, DMEvalNode *node) -{ - dm_print_optree_do(out, ev, node, 0); - fprintf(out, "\n"); -} - - /* operator precedence: HIGHEST diff -r da39c2255aa2 -r 12ddeef948fc dmevalw.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dmevalw.c Sun Apr 21 18:29:38 2013 +0300 @@ -0,0 +1,79 @@ +#include "dmeval.h" + +static const char *dm_oper_names[OP_NOPERS] = +{ + "NONE", + "+", + "-", + "*", + "/", + "%", + + "<<", + ">>", + + "&", + "|", + "^", + + "FUNC", + "VAR", + "SUBEXPR", + "CONST" +}; + + +static void dm_print_optree_do(FILE *out, DMEvalContext *ev, DMEvalNode *node, const int level) +{ + int i; + while (node != NULL) + { + switch (node->op) + { + case OP_FUNC: + fprintf(out, "%s(", node->id != NULL ? node->id->name : "?ERROR"); + for (i = 0; i < node->id->nargs; i++) + { + dm_print_optree_do(out, ev, node->args[i], level + 1); + if (i < node->id->nargs - 1) + fprintf(out, ","); + } + fprintf(out, ")"); + break; + + case OP_VAR: + fprintf(out, "%s", node->id != NULL ? node->id->name : "?ERROR"); + break; + + case OP_CONST: + fprintf(out, "%.1f", node->val); + break; + + case OP_SUBEXPR: + fprintf(out, "("); + if (node->subexpr != NULL) + dm_print_optree_do(out, ev, node->subexpr, level + 1); + else + fprintf(out, "?ERROR"); + fprintf(out, ")"); + break; + + default: + if (node->op > 0 && node->op < OP_NOPERS) + fprintf(out, "%s", dm_oper_names[node->op]); + else + fprintf(out, "ERROR!"); + break; + } + node = node->next; + } +} + + +void dm_print_optree(FILE *out, DMEvalContext *ev, DMEvalNode *node) +{ + dm_print_optree_do(out, ev, node, 0); + fprintf(out, "\n"); +} + +