gesamt: variablen und calls 'mitzaehlen'
[uebersetzerbau-ss10.git] / gesamt / tree.h
index 8e39fe30a807bc3b27c91da4fecd6c14702e4cd2..b99b8d2a251b40806cbbd799943f36830ddde3e9 100644 (file)
@@ -13,14 +13,14 @@ enum {
        O_RET=1, O_NULL, O_SUB, O_MUL,
        O_OR=5, O_LESS, O_EQ, O_ID, O_ADD,
        O_NUM=10, O_FIELD, O_MTWO, O_MFOUR, O_MEIGHT,
-       O_MONE=15, O_ASSIGN, O_IF, O_BOOL
+       O_MONE=15, O_ASSIGN, O_IF, O_BOOL, O_CALL
 };
 
 static char *o_names[] = {
        "", "O_RET", "O_NULL", "O_SUB", "O_MUL",
        "O_OR", "O_LESS", "O_EQ", "O_ID", "O_ADD",
        "O_NUM", "O_FIELD", "O_MTWO", "O_MFOUR", "O_MEIGHT",
-       "O_MONE", "O_ASSIGN", "O_IF", "O_BOOL"
+       "O_MONE", "O_ASSIGN", "O_IF", "O_BOOL", "O_CALL"
 };
 
 struct treenode {
@@ -48,6 +48,7 @@ struct treenode *new_node(int op, struct treenode *l, struct treenode *r);
 struct treenode *new_number(long val);
 struct treenode *new_param(int op, char *name, struct treenode *l, struct treenode *r, int param_index);
 struct treenode *new_field(char *name, struct treenode *l, struct treenode *r, int soffset);
+struct treenode *new_call(char *name, struct treenode *l, struct treenode *r);
 void write_tree(struct treenode *node, int ident);
 
 #endif