HEADER /* for ccode type */ enum { A_CCODE, AT_CCODE, C_CCODE, H_CCODE, HT_CCODE, PH_CCODE }; /* check type */ enum { NULL_CHECK, TYPE_CHECK, LT_CHECK, GT_CHECK, LE_CHECK, GE_CHECK, EQ_CHECK, NE_CHECK }; /* scope type */ enum { NO_SCOPE, PUBLIC_SCOPE, PRIVATE_SCOPE, PROTECTED_SCOPE, CLASS_SCOPE }; /* method type */ enum { REGULAR_METHOD, INIT_METHOD, CLASS_INIT_METHOD, VIRTUAL_METHOD, SIGNAL_LAST_METHOD, SIGNAL_FIRST_METHOD, OVERRIDE_METHOD }; ENDHEADER CLASS Class STRING otype # this object class type STRING ptype # parent class type STRING chunk_size # if the object should be allocated with mem_chunks NODELIST nodes ENDCLASS CLASS Type STRING name # the specifier part STRING pointer # the pointer part STRING postfix ENDCLASS CLASS CCode INT cctype STRING cbuf INT line_no ENDCLASS CLASS Check INT chtype STRING number ENDCLASS CLASS FuncArg TYPE atype STRING name NODELIST checks ENDCLASS CLASS Argument STRING gtktype TYPE atype STRINGLIST flags STRING name STRING get INT get_line STRING set INT set_line INT line_no ENDCLASS CLASS Method INT scope # scope type INT method # method type TYPE mtype STRING otype # for override methods STRINGLIST gtktypes # GTK types for a signal STRINGLIST flags # GTK_RUN_* flags for a signal STRING id NODELIST args STRING onerror STRING defreturn STRING cbuf INT line_no INT ccode_line BOOL vararg INT unique_id # A unique id for new methods ENDCLASS CLASS Variable INT scope TYPE vtype STRING id INT line_no STRING destructor INT destructor_line BOOL destructor_simple STRING initializer INT initializer_line ENDCLASS