/* 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);
}
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);
if(node->kids[0] != TREENULL) {