19 #define CLASS(cname) entity spawn##cname() { entity me;
20 #define EXTENDS(base) me = spawn##base (); entity basevtbl; basevtbl = vtbl##base;
21 #define METHOD(cname,name,prototype) me.name = name##cname;
22 #define ATTRIB(cname,name,type,val) me.name = val;
23 #define ATTRIBARRAY(cname,name,type,cnt) me.name = me.name;
24 #define ENDCLASS(cname) me.instanceOf##cname = 1; me.classname = #cname; if(!vtbl##cname) vtbl##cname = spawnVtbl(me, basevtbl); return me; }