PREDEFINED = \
"USING(name, T)=using name = T" \
"CLASS(name, base)=class name : public base { public:" \
+ "INIT(class)=class::class()" \
"CONSTRUCTOR(class)=class::class(" \
"DESTRUCTOR(class)=class::~class()" \
"ATTRIB(class, name, T, val)=T name = val;" \
+ "ATTRIB_STRZONE(class, name, T, val)=T name = val;" \
+ "STATIC_ATTRIB(class, name, T, val)=static T name = val;" \
+ "STATIC_ATTRIB_STRZONE(class, name, T, val)=static T name = val;" \
"METHOD(class, name, prototype)=virtual void class::name()" \
"ENDCLASS(class)=};" \
__STDC__
EXPAND_AS_DEFINED = \
USING \
CLASS \
- CONSTRUCTOR \
- DESTRUCTOR \
- ATTRIB \
+ INIT CONSTRUCTOR DESTRUCTOR \
+ ATTRIB ATTRIB_STRZONE \
+ STATIC_ATTRIB STATIC_ATTRIB_STRZONE \
METHOD \
ENDCLASS \
LABEL \