To Do (or: known bugs and planned features) + patterns for phyla, 'with' over abstract_phylum + clean up printer ( ... }... leads to too much whitespace ) + allow constructors for list phylums + malloc + overlap checks Internal tracking: ? still_unique probably broken + doc: '::' + generated prototypes have spurious spaces at end - wrt the function argument declaration: currently onlysimple arguments are allowed: plain types, pointers and function pointers, but no arrays. this should be more complete, probably also including ANSI C things like const and volatile. - wrt CSGIO error reporting: keeping a line count, error rports should refer to the line in the structure file where the error occured. - wrt atomic (predefined) phyla: allowing the user to specify own atomic phyla, in a way similar as in the SG. * --no-linedirec makes no line direcs, add --lindirec-comment or such * try to warn about using the same pattern multiple times, better sorting * rename: KC_LANGUAGE -> is_language, KC_SET_LANGUAGE -> set_language, move KC_TEXT * think again about offsetlist and subphylalist (global? rather attribute) * get rid of kc_void_ptr * incorporate kc4.4->4.6 changes * make CSGIOread usable w/o type (fred::CSGI...) * remove longjmp in CSGIO * intialisation for non-static %attr; _no_ static %attr * %attr and %member must be attributes like the old-style ones for copy * make %attr and %member behave differently wrt CSGIO * remove GLOBAL_ATTRIBUTE_PATCH * YYSTYPE optional * kc_integer -> integer * integer value per macro * remove COPY_ATTRIBUTES * remove CREATE_ROUTINE * namespace * outmost patterns with conditions * phylum_cast * unparse(seemingly_old_printer_function, uview) in abstract_phylum * options for covariant return * kc_do_free_phylum: get rid of voidptr * should kc_CSGIOscan_{integer|real} still exist? NO! * get rid of all offset stuff (KC_OFFSET.., KC_SUBPHY...) * in kc_CSGIOread2dft: YYSTYPE.yt_voidptr assignments must cast to voidptr (but see below) * don't use YYSTYPE as often * enable NO_COVARIANT_RETURN * in kc_CSGIOwrite2structure: wrong casts from kc_p * in kc_CSGIOscan: cases are incorrectly indented * unparse needs printer_function instead of void(*)(char*, uview) * unparse templates (in k.h) must use printer_function - v_*_printer in error.k need to be printer_function * in v_file_printer: 4th arg must be const, accordingly where it is called * in kc_do_printdot_add_edge: cast to voidptr (but see below) * kc_do_print_phylum does not accept kc_void_ptr * kc_CSGIOscan takes kc_phylum* as second parameter * in kc_CSGIOscan, l. 12: add const_cast * in kc_CSGIOscan_{integer|real}, kc_CSGIOwrite2structure: add const (or c_) and const_cast for kc_p