codea: uhhh, bug bei O_EQ imm vergleich
[uebersetzerbau-ss10.git] / codea / tree.c
index 098f975e14bb3442c29cc0951becc55d2c6dcfce..3669383c735c89b7907e38b4cfbe416ab1fdb4b0 100644 (file)
@@ -70,14 +70,17 @@ struct treenode *new_number(long val, int exprcount)
        /* TODO: maximal groesse? */
 #define BUFMAX 40
        char *t = (char*) malloc(BUFMAX);
-       if(val == -2) {
+
+       if (val == 0) {
+               new = _new_plain(O_NULL);
+       } else if(val == -1) {
+               new = _new_plain(O_MONE);
+       } else if(val == -2) {
                new = _new_plain(O_MTWO);
        } else if(val == -4) {
                new = _new_plain(O_MFOUR);
        } else if(val == -8) {
                new = _new_plain(O_MEIGHT);
-       } else if(val == -1) {
-               new = _new_plain(O_MONE);
        } else {
                new = _new_plain(O_NUM);
        }