codea: good bye exprcount
[uebersetzerbau-ss10.git] / codea / tree.c
index 2e430f22fc6b57f152d63d98150b123cc4eda419..593709c5c71ce7fc17171a07eef934013ec3af5d 100644 (file)
@@ -15,12 +15,12 @@ static struct treenode *_new_plain(int op)
        new->parent = TREENULL;
        new->label = NULL;
        new->name = new->reg = (char *)NULL;
-       new->val = new->exprcount = 0;
+       new->val = 0;
        new->param_index = -1;
        return new;
 }
 
-struct treenode *new_node(int op, struct treenode *l, struct treenode *r, int exprcount)
+struct treenode *new_node(int op, struct treenode *l, struct treenode *r)
 {
        struct treenode *new = TREENULL;
 
@@ -28,21 +28,20 @@ struct treenode *new_node(int op, struct treenode *l, struct treenode *r, int ex
        fprintf(stderr, "new_node: %i (%s)\n", op, o_names[op]);
 #endif
        if(op == O_SUB && l != TREENULL && r != TREENULL && l->op == O_NUM && r->op == O_NUM) {
-               new = new_number(l->val - r->val, exprcount);
+               new = new_number(l->val - r->val);
                free(l); free(r);
        } else  {
                new = _new_plain(op);
                new->kids[0] = l;
                new->kids[1] = r;
-               new->exprcount = exprcount;
        }
        new->name = (char *)NULL;
        return new;
 }
 
-struct treenode *new_param(int op, char *name, struct treenode *l, struct treenode *r, int param_index, int exprcount)
+struct treenode *new_param(int op, char *name, struct treenode *l, struct treenode *r, int param_index)
 {
-       struct treenode *new = new_node(op, l, r, exprcount);
+       struct treenode *new = new_node(op, l, r);
 
 #ifdef DDTREE
        fprintf(stderr, "new_param: %i (index)\n", param_index);
@@ -52,9 +51,9 @@ struct treenode *new_param(int op, char *name, struct treenode *l, struct treeno
        return new;
 }
 
-struct treenode *new_field(char *name, struct treenode *l, struct treenode *r, int soffset, int exprcount)
+struct treenode *new_field(char *name, struct treenode *l, struct treenode *r, int soffset)
 {
-       struct treenode *new = new_node(O_FIELD, l, r, exprcount);
+       struct treenode *new = new_node(O_FIELD, l, r);
 
 #ifdef DDTREE
        fprintf(stderr, "new_field: %i (soffset)\n", soffset);
@@ -64,7 +63,7 @@ struct treenode *new_field(char *name, struct treenode *l, struct treenode *r, i
        return new;
 }
 
-struct treenode *new_number(long val, int exprcount)
+struct treenode *new_number(long val)
 {
        struct treenode *new;
        /* TODO: maximal groesse? */
@@ -89,7 +88,6 @@ struct treenode *new_number(long val, int exprcount)
        fprintf(stderr, "new_number: %i\n", val);
 #endif
        new->val = val;
-       new->exprcount = exprcount;
        memset(t, 0, BUFMAX);
        sprintf(t, "%li", val);
        new->name = t;
@@ -109,7 +107,7 @@ void write_tree(struct treenode *node, int indent)
 {
        if(node == TREENULL) return;
        write_indent(indent);
-       fprintf(stderr, "%s @ %%%s (%i). \"%s\"\n", o_names[node->op], node->reg, node->exprcount, node->name == (char*) NULL ? "" : node->name);
+       fprintf(stderr, "%s @ %%%s. \"%s\"\n", o_names[node->op], node->reg, node->name == (char*) NULL ? "" : node->name);
        if(node->kids[0] != TREENULL) {
                write_tree(node->kids[0], indent+1);
        }