Update of /cvsroot/agd/server/src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10019
Modified Files:
compile.c
Log Message:
Reformatting; new operators
Index: compile.c
===================================================================
RCS file: /cvsroot/agd/server/src/compile.c,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -d -r1.14 -r1.15
--- compile.c 19 Mar 2004 14:47:40 -0000 1.14
+++ compile.c 20 Mar 2004 19:16:57 -0000 1.15
@@ -145,37 +145,85 @@
for(i=0;i<=F_HIGHEST;i++) {
/* 4 - T_INT, T_STRING, T_VOID(unused), T_OBJECT */
switch(i + F_ADD) {
- case F_ADD: SET_OPERATOR("+", 2, 0, 1, 1, 0); break;
- case F_GT: SET_OPERATOR(">", 2, 1, 1, 1, 0); break;
- case F_GE: SET_OPERATOR(">=", 2, 1, 1, 1, 0); break;
- case F_LT: SET_OPERATOR("<", 2, 1, 1, 1, 0); break;
- case F_LE: SET_OPERATOR("<=", 2, 1, 1, 1, 0); break;
-
- case F_MUL: SET_OPERATOR("*", 2, 1, 1, 0, 0); break;
- case F_DIV: SET_OPERATOR("/", 2, 1, 1, 0, 0); break;
- case F_MOD: SET_OPERATOR("%", 2, 1, 1, 0, 0); break;
- case F_SUB: SET_OPERATOR("-", 2, 1, 1, 0, 0); break;
- case F_POSTINC:
- SET_OPERATOR("postfix increment", 1, 0, 1, 0, 0);
- break;
- case F_POSTDEC:
- SET_OPERATOR("postfix decrement", 1, 0, 1, 0, 0);
- break;
- case F_PREINC:
- SET_OPERATOR("prefix increment", 1, 0, 1, 0, 0);
- break;
- case F_PREDEC:
- SET_OPERATOR("prefix decrement", 1, 0, 1, 0, 0);
- break;
- case F_NEG: SET_OPERATOR("minus", 1, 0, 1, 0, 0); break;
-
- case F_NOT: SET_OPERATOR("!", 1, 0, 1, 1, 1); break;
- case F_EQ: SET_OPERATOR("==", 2, 1, 1, 1, 1); break;
- case F_NE: SET_OPERATOR("!=", 2, 1, 1, 1, 1); break;
- case F_AND: SET_OPERATOR("&&", 2, 0, 1, 1, 1); break;
- case F_OR: SET_OPERATOR("||", 2, 0, 1, 1, 1); break;
-
- case F_RANGE: SET_OPERATOR("[]", 1, 0, 0, 1, 0); break;
+ case F_ADD:
+ SET_OPERATOR("+", 2, 0, 1, 1, 0);
+ break;
+ case F_ADDA:
+ SET_OPERATOR("+=", 2, 0, 1, 1, 0);
+ break;
+ case F_GT:
+ SET_OPERATOR(">", 2, 1, 1, 1, 0);
+ break;
+ case F_GE:
+ SET_OPERATOR(">=", 2, 1, 1, 1, 0);
+ break;
+ case F_LT:
+ SET_OPERATOR("<", 2, 1, 1, 1, 0);
+ break;
+ case F_LE:
+ SET_OPERATOR("<=", 2, 1, 1, 1, 0);
+ break;
+ case F_MUL:
+ SET_OPERATOR("*", 2, 1, 1, 0, 0);
+ break;
+ case F_MULA:
+ SET_OPERATOR("*=", 2, 0, 1, 0, 0);
+ break;
+ case F_DIV:
+ SET_OPERATOR("/", 2, 1, 1, 0, 0);
+ break;
+ case F_DIVA:
+ SET_OPERATOR("/=", 2, 0, 1, 0, 0);
+ break;
+ case F_MOD:
+ SET_OPERATOR("%", 2, 1, 1, 0, 0);
+ break;
+ case F_MODA:
+ SET_OPERATOR("%=", 2, 0, 1, 0, 0);
+ break;
+ case F_SUB:
+ SET_OPERATOR("-", 2, 1, 1, 0, 0);
+ break;
+ case F_SUBA:
+ SET_OPERATOR("-=", 2, 0, 1, 0, 0);
+ break;
+ case F_POSTINC:
+ SET_OPERATOR("postfix increment",
+ 1, 0, 1, 0, 0);
+ break;
+ case F_POSTDEC:
+ SET_OPERATOR("postfix decrement",
+ 1, 0, 1, 0, 0);
+ break;
+ case F_PREINC:
+ SET_OPERATOR("prefix increment",
+ 1, 0, 1, 0, 0);
+ break;
+ case F_PREDEC:
+ SET_OPERATOR("prefix decrement",
+ 1, 0, 1, 0, 0);
+ break;
+ case F_NEG:
+ SET_OPERATOR("minus", 1, 0, 1, 0, 0);
+ break;
+ case F_NOT:
+ SET_OPERATOR("!", 1, 0, 1, 1, 1);
+ break;
+ case F_EQ:
+ SET_OPERATOR("==", 2, 1, 1, 1, 1);
+ break;
+ case F_NE:
+ SET_OPERATOR("!=", 2, 1, 1, 1, 1);
+ break;
+ case F_AND:
+ SET_OPERATOR("&&", 2, 0, 1, 1, 1);
+ break;
+ case F_OR:
+ SET_OPERATOR("||", 2, 0, 1, 1, 1);
+ break;
+ case F_RANGE:
+ SET_OPERATOR("[]", 1, 0, 0, 1, 0);
+ break;
}
}
}
@@ -213,9 +261,6 @@
case 3:
sprintf(buf, "invalid operands to trinary ");
break;
- default:
- sprintf(buf, "KALA\n");
- break;
}
sprintf(buf, "%s%s", buf, op->name);
comp_error(buf);
|