;
class:
- NAME CLOPEN { yyclass_push(cs,ir_class_addchild(yyclass(cs), $1)); }
+NAME CLOPEN { printf("new class\n");
+ printf("class name: %s\n", $1);
+ printf("current class head: %s\n", ir_class_name(yyclass(cs)));
+ yyclass_push(cs,ir_class_addchild(yyclass(cs), $1));
+ printf("Pushed class\n");
+ printf("current class head: %s\n", ir_class_name(yyclass(cs)));
+}
progn
CLCLOSE { yyclass_pop(cs); }
;
{ yyerror(class_state, "Memory allocation error.");
return NULL;
}
- class_state->csp = &class_state->class_stack[0];
- yyclass_push(class_state, ir_class_root());
+ class_state->csp = class_state->class_stack;
+ *(class_state->csp) = ir_class_root();
return class_state;
}
static inline
ir_class yyclass_pop
( yycstate* cs )
-{ return *(cs->csp)--; }
+{ return *((cs->csp)--); }
static inline
ir_class yyclass_push
( yycstate* cs,
ir_class class
)
-{ *++cs->csp = class;
- return class;
-}
+{ return *++(cs->csp) = class; }
void yycstate_delete
( yycstate* class_state )