/*LINTLIBRARY*/ /* translation of file(s) "../abs.k" "../main.k" "../parse.k" "../error.k" "../defocc.k" "../extocc.k" "../useocc.k" "../util.k" "../gen.k" "../gutil.k" "../pat.k" */ /* generated by: * @(#)$Author: Kimwitu version: V4_6 (c) 1990-1996 University of Twente $ */ #define KC_UNPARSE #define KIMW_UNPARSE /* for backwards compatibility */ /* define our own macro if we have a 'standard' (ansi) C(++) compiler */ #ifndef KC_NO_STDC # if defined(__STDC__) || defined(__cplusplus) || defined(_WIN32) # define KC_STDC # endif #endif #include #include #if ((! defined(KC_STDC) ) && defined(sun)) extern char *sprintf(); #endif #ifdef KC_STDC # include #endif #include "k.h" #include "unpk.h" char *kc_view_names[] = { "base_uview", "base_view", "view_filename", "view_error", "view_error_tID", "view_check", "view_check_count", "view_check_count1", "view_check_outmostopers_in_phylum", "view_set_type", "view_check_is_var", "view_gen_initializephyla_c", "view_check_u", "view_check_r", "view_check_viewnames", "view_init_stacks", "view_check_uniq", "view_check_uniq1", "view_check_uniq2", "view_make_patternreps", "view_printer_outputfileline", "view_printer_reset", "view_no_of_printed_string_chars_reset", "view_gen_k_h", "view_gen_end_k_h", "view_gen_k_c", "view_gen_alloc_h", "view_gen_alloc_c", "view_gen_enumphyla_h", "view_gen_enumoperators_h", "view_gen_operatormap_type_h", "view_gen_phylummap_c", "view_gen_operatormap_c", "view_count_args", "view_gen_operatormap_operator_fn", "view_gen_prodsel_fnarg_and_decls", "view_gen_prodsel_fnargs", "view_gen_prodsel_fnargdecls", "view_gen_operatormap_subphyla", "view_gen_operatormap_suboffsets", "view_gen_uniqmap_c", "view_gen_uniqmap_c_1", "view_gen_uniqmap_c_2", "view_gen_nodetypedefs_h", "view_gen_nodetypes_h", "view_gen_yaccstacktype_h", "view_gen_noofoperators_h", "view_gen_booleans_h", "view_gen_initialization_h", "view_gen_initialization_c", "view_gen_assertmacros_h", "view_gen_operatordecls_h", "view_gen_operatordefs_c", "view_gen_operatordefs_c_0", "view_gen_operatordefs_c_1", "view_gen_operatordefs_c_2", "view_gen_operatordefs_c_2a", "view_gen_operatordefs_c_3", "view_gen_operatordefs_c_3a", "view_gen_operatordefs_c_4", "view_gen_operatordefs_c_4z", "view_gen_operatordefs_c_4a", "view_gen_initializephyla_assert_c", "view_gen_initializephyla_whiletest_c", "view_gen_initializephyla_init_el_c", "view_gen_initializephyla_update_loop_c", "view_gen_operatordefs_nonhash_c", "view_gen_operatordefs_hash_c", "view_gen_argseqnr", "view_gen_fnargs", "view_gen_fnargdecls", "view_gen_fnarg_and_decls", "view_gen_asserts", "view_gen_assignments", "view_gen_hash", "view_gen_test", "view_gen_error_decls_h", "view_gen_error_defs_c", "view_gen_freedecls_h", "view_gen_freedefs_c", "view_gen_eqdecls_h", "view_gen_eqdefs_c", "view_gen_eqdefs_bigatom_c", "view_gen_eqdefs_bigatom_do_c", "view_gen_printdecls_h", "view_gen_printdefs_c", "view_gen_printdefs_bigatom_c", "view_gen_printdefs_bigatom_do_c", "view_gen_printdotdecls_h", "view_gen_printdotdefs_c", "view_gen_printdotdecls_c", "view_gen_printdotdefs_bigatom_c", "view_gen_printdotdefs_bigatom_do_c", "view_gen_printdotedges_c", "view_gen_listdecls_h", "view_gen_listdefs_c", "view_gen_includes", "view_do_gen_includes", "view_gen_csgio_start_h", "view_gen_csgio_end_h", "view_gen_csgio_h", "view_gen_csgio_start_c", "view_gen_csgio_c", "view_gen_csgio_c_read", "view_gen_csgio_c_write", "view_gen_csgio_bigatom_arguse_c", "view_gen_csgio_bigatom_do_arguse_c", "view_gen_csgio_scandef_c", "view_gen_csgio_scandefs_c", "view_gen_csgio_scandef_bigatom_c", "view_gen_csgio_scandef_bigatom_do_c", "view_gen_csgio_write2structuredefs_c", "view_gen_csgio_write2structuredef_c", "view_gen_csgio_write2structuredef_bigatom_c", "view_gen_csgio_write2structuredef_bigatom_do_c", "view_gen_csgio_writephylumdef_scan_c", "view_gen_csgio_writephylumdef_write_c", "view_gen_copy_attributes_c", "view_gen_copy_attributes_c_doit", "view_gen_copydecls_h", "view_gen_copydefs_c", "view_gen_copydefs_bigatom_argdefs_c", "view_gen_copydefs_bigatom_argset_c", "view_gen_copydefs_bigatom_arguse_c", "view_gen_copydefs_bigatom_do_arguse_c", "view_gen_rewritek_h", "view_gen_end_rewritek_h", "view_gen_rewritek_c", "view_gen_rewritedecls_h", "view_gen_rewritedefs_c", "view_gen_rewritedefs_default_c", "view_gen_rewritedefs_other_c", "view_gen_rewritedefs_rewritearg_c", "view_gen_rewritedefs_nl_arg_c", "view_gen_rewritedefs_testarg_c", "view_gen_rewritedefs_dotestarg_c", "view_gen_rewritedefs_args_c", "view_gen_withcases_and_default", "view_rw_predicates", "view_wc_predicates", "view_unp_predicates", "view_wc_bindings", "view_unp_bindings", "view_rw_bindings", "view_gen_fnk_h", "view_gen_fnkdecls_c", "view_gen_fnk_c", "view_gen_fnkarg_and_decls", "view_gen_fn_pointer_name", "view_gen_fnkargs", "view_gen_fnkdecls", "view_gen_fns_start_h", "view_gen_fns_end_h", "view_gen_fns_start_c", "view_gen_fns_owninclude_c", "view_gen_unpk_h", "view_gen_unparsedecls_h", "view_uview_def", "view_gen_end_unpk_h", "view_gen_unpk_c", "view_gen_default_types_unpk_c", "view_gen_unparsedefs_c", "view_gen_unparsedefs_default_c", "view_gen_unparsedefs_other_c", "view_gen_unpstr_c", "base_view" }; /* included stuff */ #line 2 "../main.k" /* * The Termprocessor Kimwitu * * Copyright (c) 1991 University of Twente, Dept TIOS. * All rights reserved. * */ #line 217 "unpk.c" #line 277 "../error.k" #include "main.h" /* for the definition of leave */ #line 221 "unpk.c" #line 135 "../util.k" #include "util.h" #include "extocc.h" static int cl_scope = 0; static boolean cl_bigatoms = False; #line 229 "unpk.c" #line 1062 "../util.k" static operatorsstack cl_operatorsstack = 0; #define cf_pushoutmostoperators(o) \ cl_operatorsstack = Consoperatorsstack( o, cl_operatorsstack ) #define cf_notemptyoutmostoperators() \ (cl_operatorsstack->prod_sel == sel_Consoperatorsstack) #define cf_topoutmostoperators() \ ((cl_operatorsstack->prod_sel == sel_Consoperatorsstack) \ ? cl_operatorsstack->u.Consoperatorsstack.operators_1 \ : Niloperators()) #define cf_popoutmostoperators() \ do { \ if (cl_operatorsstack->prod_sel == sel_Consoperatorsstack) { \ operatorsstack tmp_cl_operatorsstack = cl_operatorsstack; \ cl_operatorsstack = \ cl_operatorsstack->u.Consoperatorsstack.operatorsstack_1; \ free_operatorsstack( tmp_cl_operatorsstack, False ); \ } \ } while(kc_zero_constant) static dollarvarsallowedstack cl_dollarvarsallowedstack = 0; #define cf_pushdollarvarsallowed(o) \ cl_dollarvarsallowedstack = Consdollarvarsallowedstack( o, cl_dollarvarsallowedstack ) #define cf_topdollarvarsallowed() \ ((cl_dollarvarsallowedstack->prod_sel == sel_Consdollarvarsallowedstack) \ ? cl_dollarvarsallowedstack->u.Consdollarvarsallowedstack.dollarvarstatus_1 \ : DVDisallowed()) #define cf_popdollarvarsallowed() \ do { \ if (cl_dollarvarsallowedstack->prod_sel == sel_Consdollarvarsallowedstack) { \ dollarvarsallowedstack tmp_cl_dollarvarsallowedstack = cl_dollarvarsallowedstack; \ cl_dollarvarsallowedstack = \ cl_dollarvarsallowedstack->u.Consdollarvarsallowedstack.dollarvarsallowedstack_1; \ free_dollarvarsallowedstack( tmp_cl_dollarvarsallowedstack, False ); \ } \ } while(kc_zero_constant) static intstack cl_inforeachcontextstack = 0; #define cf_pushinforeachcontext(o) \ cl_inforeachcontextstack = Consintstack( o, cl_inforeachcontextstack ) #define cf_topinforeachcontext() \ ((cl_inforeachcontextstack->prod_sel == sel_Consintstack) \ ? cl_inforeachcontextstack->u.Consintstack.int_1 \ : 0) #define cf_popinforeachcontext() \ do { \ if (cl_inforeachcontextstack->prod_sel == sel_Consintstack) { \ intstack tmp_cl_inforeachcontextstack = cl_inforeachcontextstack; \ cl_inforeachcontextstack = \ cl_inforeachcontextstack->u.Consintstack.intstack_1; \ free_intstack( tmp_cl_inforeachcontextstack, False ); \ } \ } while(kc_zero_constant) static argumentsstack cl_argumentsstack = 0; #define cf_pusharguments(a) \ cl_argumentsstack = Consargumentsstack( a, cl_argumentsstack ) #define cf_toparguments() \ ((cl_argumentsstack->prod_sel == sel_Consargumentsstack) \ ? cl_argumentsstack->u.Consargumentsstack.arguments_1 \ : Nilarguments()) #define cf_poparguments() \ do { \ if (cl_argumentsstack->prod_sel == sel_Consargumentsstack) { \ argumentsstack tmp_cl_argumentsstack = cl_argumentsstack; \ cl_argumentsstack = \ cl_argumentsstack->u.Consargumentsstack.argumentsstack_1; \ free_argumentsstack( tmp_cl_argumentsstack, False ); \ } \ } while(kc_zero_constant) static phylumstack cl_phylumstack = 0; #define cf_pushphylum(a) cl_phylumstack = Consphylumstack( a, cl_phylumstack ) #define cf_topphylum() \ ((cl_phylumstack->prod_sel == sel_Consphylumstack) \ ? cl_phylumstack->u.Consphylumstack.ID_1 \ : f_emptyId()) #define cf_popphylum() \ do { \ if (cl_phylumstack->prod_sel == sel_Consphylumstack) { \ phylumstack tmp_cl_phylumstack = cl_phylumstack; \ cl_phylumstack = cl_phylumstack->u.Consphylumstack.phylumstack_1; \ free_phylumstack( tmp_cl_phylumstack, False ); \ } \ } while(kc_zero_constant) static phylumnamesstack cl_phylumnamesstack = 0; #define cf_pushphylumnames(a) cl_phylumnamesstack = Consphylumnamesstack( a, cl_phylumnamesstack ) #define cf_topphylumnames() \ ((cl_phylumnamesstack->prod_sel == sel_Consphylumnamesstack) \ ? cl_phylumnamesstack->u.Consphylumnamesstack.phylumnames_1 \ : Nilphylumnames()) #define cf_popphylumnames() \ do { \ if (cl_phylumnamesstack->prod_sel == sel_Consphylumnamesstack) { \ phylumnamesstack tmp_cl_phylumnamesstack = cl_phylumnamesstack; \ cl_phylumnamesstack = cl_phylumnamesstack->u.Consphylumnamesstack.phylumnamesstack_1; \ free_phylumnamesstack( tmp_cl_phylumnamesstack, False ); \ } \ } while(kc_zero_constant) static withexpressionsstack cl_withexpressionsstack = 0; #define cf_pushwithexpressions(a) \ cl_withexpressionsstack = \ Conswithexpressionsstack( a, cl_withexpressionsstack ) #define cf_topwithexpressions() \ ((cl_withexpressionsstack->prod_sel == sel_Conswithexpressionsstack) \ ? cl_withexpressionsstack->u.Conswithexpressionsstack.withexpressions_1 \ : (withexpressions)0) #define cf_popwithexpressions() \ do { \ if (cl_withexpressionsstack->prod_sel == sel_Conswithexpressionsstack) { \ withexpressionsstack tmp_cl_withexpressionsstack = \ cl_withexpressionsstack; \ cl_withexpressionsstack = \ cl_withexpressionsstack->u.Conswithexpressionsstack.withexpressionsstack_1; \ free_withexpressionsstack( tmp_cl_withexpressionsstack, False ); \ } \ } while(kc_zero_constant) static operatorstack cl_operatorstack = 0; #define cf_pushoperator(o) cl_operatorstack = Consoperatorstack( o, cl_operatorstack ) #define cf_topoperator() \ ((cl_operatorstack->prod_sel == sel_Consoperatorstack) \ ? cl_operatorstack->u.Consoperatorstack.ID_1 \ : f_emptyId()) #define cf_popoperator() \ do { \ if (cl_operatorstack->prod_sel == sel_Consoperatorstack) { \ operatorstack tmp_cl_operatorstack = cl_operatorstack; \ cl_operatorstack = cl_operatorstack->u.Consoperatorstack.operatorstack_1; \ free_operatorstack( tmp_cl_operatorstack, False ); \ } \ } while(kc_zero_constant) static variablesstack cl_variablesstack = 0; #define cf_pushvariables(o) \ cl_variablesstack = Consvariablesstack( o, cl_variablesstack ) #define cf_topvariables() \ ((cl_variablesstack->prod_sel == sel_Consvariablesstack) \ ? cl_variablesstack->u.Consvariablesstack.variables_1 \ : Nilvariables()) #define cf_popvariables() \ do { \ if (cl_variablesstack->prod_sel == sel_Consvariablesstack) { \ variablesstack tmp_cl_variablesstack = cl_variablesstack; \ cl_variablesstack = \ cl_variablesstack->u.Consvariablesstack.variablesstack_1; \ free_variablesstack( tmp_cl_variablesstack, False ); \ } \ } while(kc_zero_constant) #line 382 "unpk.c" #line 1701 "../util.k" #include "parse.h" static ID cl_uniqueID = 0; static ID cl_storageID = 0; #line 388 "unpk.c" #line 1808 "../util.k" #include "pat.h" /* for syn_outmostpatterns and v_resetbindingidmarks */ #line 392 "unpk.c" #line 1402 "../gen.k" #define FMOP 38 #define FMSZ 3 #define FMNCR 8 #define FMNCRD 8 #define FMEXIST 8 #define FMFRNC 8 #define FMFRRC 8 #define FMFREED 8 #define FMREM 8 #define FMTOT 9 #line 405 "unpk.c" #line 7635 "../gen.k" #ifndef FREE # define FREE efree #endif #ifndef efree /* * # ifdef lint * # define efree(kc_p) * # else */ # define efree(kc_p) free((kc_malloc_t)(kc_p)) /* * # endif */ #endif #line 422 "unpk.c" #line 21 "../gutil.k" #include "gutil.h" #line 426 "unpk.c" #line 24 "../gutil.k" static int g_no_of_phyla; static int g_no_of_operators; static int gl_no_of_args; #define PHYLUMNUMBEROFFSET 0 /* should be >= 0; == the index of the last dummy element */ #define OPERATORNUMBEROFFSET 0 /* should be >= 0; == the index of the last dummy element */ #line 434 "unpk.c" #line 31 "../gutil.k" static selvarstack cl_selvarstack = 0; /* initialised by the view_init_stacks view in util.k */ #define cf_pushselvar(o) do { cl_selvarstack = Consselvarstack( o, cl_selvarstack ); \ g_ctext_level++; \ } while(kc_zero_constant) #define cf_topselvar() (cl_selvarstack->u.Consselvarstack.ID_1) #define cf_popselvar() do { selvarstack tmp_cl_selvarstack = cl_selvarstack; \ cl_selvarstack = cl_selvarstack->u.Consselvarstack.selvarstack_1; \ free_selvarstack( tmp_cl_selvarstack, False ); \ g_ctext_level--; \ } while(kc_zero_constant) static selvarstack cl_dollarvarstack = 0; /* initialised by the view_init_stacks view in util.k */ #define cf_pushdollarvar(o) do { cl_dollarvarstack = Consselvarstack( o, cl_dollarvarstack ); \ } while(kc_zero_constant) #define cf_topdollarvar() (cl_dollarvarstack->u.Consselvarstack.ID_1) #define cf_popdollarvar() do { selvarstack tmp_cl_dollarvarstack = cl_dollarvarstack; \ cl_dollarvarstack = cl_dollarvarstack->u.Consselvarstack.selvarstack_1; \ free_selvarstack( tmp_cl_dollarvarstack, False ); \ } while(kc_zero_constant) static selvarstack cl_dollarvarextstack = 0; /* initialised by the view_init_stacks view in util.k */ #define cf_pushdollarvarext(o) do { cl_dollarvarextstack = Consselvarstack( o, cl_dollarvarextstack ); \ } while(kc_zero_constant) #define cf_topdollarvarext() (cl_dollarvarextstack->u.Consselvarstack.ID_1) #define cf_popdollarvarext() do { selvarstack tmp_cl_dollarvarextstack = cl_dollarvarextstack; \ cl_dollarvarextstack = cl_dollarvarextstack->u.Consselvarstack.selvarstack_1; \ free_selvarstack( tmp_cl_dollarvarextstack, False ); \ } while(kc_zero_constant) static ID gl_phylum = 0; static phylumdeclaration gl_phydecl = 0; static ID gl_view = 0; static ID gl_operator = 0; static Ccode_option gl_cco = 0; static storageoption gl_storageoption = 0; static int gl_atomicity; /*used as boolean*/ static boolean gl_no_attributes; static arguments gl_args = 0; static rewriterulesinfo gl_rewrite_rewriteinfo = 0; static char *g_emptystring = ""; static int g_ctext_level = 0; static int g_withexpr_nr = 0; static int g_fe_selvar_nr = 0; static char *gl_return_type = ""; static ID gl_return_ID = 0; static char *gl_star_string = ""; static char *gl_function = ""; static ID gl_sto = 0; static int gl_hashtablenr_next = 0; static int gl_hashtablenr_prev = 0; static int gl_nr_of_hashtables = 0; static boolean gl_rewrite_goto_used = False; static boolean gl_unparse_goto_used = False; static boolean gl_outmost_nonleaf_predicates = False; static ID gl_type = 0; static int gl_j = 0; static boolean gl_print_line_directive = False; #line 494 "unpk.c" /* end included stuff */ void unparse_casestring #ifdef KC_USE_PROTOTYPES (casestring kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) casestring kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_casestring(kc_p, "kc_p"); (*kc_printer)(kc_p->name, kc_current_view); } void unparse_nocasestring #ifdef KC_USE_PROTOTYPES (nocasestring kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) nocasestring kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_nocasestring(kc_p, "kc_p"); (*kc_printer)(kc_p->name, kc_current_view); } void unparse_int #ifdef KC_USE_PROTOTYPES (int kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) int kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { char kc_string[KC_MAXINTSTRING]; /* ADD: test if kc_p will fit in the allocated buffer */ (void)sprintf(kc_string, "%d", kc_p); (*kc_printer)(kc_string, kc_current_view); } void unparse_float #ifdef KC_USE_PROTOTYPES (float kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) float kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { char kc_string[KC_MAXINTSTRING]; /* ADD: test if kc_p will fit in the allocated buffer */ (void)sprintf(kc_string, "%f", kc_p); (*kc_printer)(kc_string, kc_current_view); } void unparse_voidptr #ifdef KC_USE_PROTOTYPES (voidptr kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) voidptr kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { char kc_string[KC_MAXINTSTRING]; /* ADD: test if kc_p will fit in the allocated buffer */ (void)sprintf(kc_string, "%p", kc_p); (*kc_printer)(kc_string, kc_current_view); } /*ARGSUSED*/ void unparse_uniqID #ifdef KC_USE_PROTOTYPES (uniqID kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) uniqID kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_uniqID(kc_p, "kc_p"); switch((int)kc_current_view) { case (int)view_error: { if (( kc_p->prod_sel == sel_Str)) { #line 226 "../error.k" casestring cs = kc_p->u.Str.casestring_1; unparse_casestring(cs, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } default: kc_unparsing_default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_Str: unparse_casestring( kc_p->u.Str.casestring_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_ID #ifdef KC_USE_PROTOTYPES (ID kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) ID kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_ID(kc_p, "kc_p"); switch((int)kc_current_view) { case (int)view_error_tID: { if (( kc_p->prod_sel == sel_Id)) { #line 174 "../error.k" uniqID uid = kc_p->u.Id.uniqID_1; unparse_IDtype(uid->type, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_uniqID(uid, kc_printer, kc_current_view); #line 174 "../error.k" if (uid->line != 0) #line 612 "unpk.c" { { (*kc_printer)(" (introduced at ", kc_current_view); } unparse_casestring(uid->file, kc_printer, kc_current_view); { (*kc_printer)(":", kc_current_view); } unparse_int(uid->line, kc_printer, kc_current_view); { (*kc_printer)(")", kc_current_view); } } } else goto kc_unparsing_default; break; } case (int)view_error: { if (( kc_p->prod_sel == sel_Id)) { #line 173 "../error.k" uniqID uid = kc_p->u.Id.uniqID_1; unparse_uniqID(uid, kc_printer, kc_current_view); #line 173 "../error.k" if (uid->line != 0) #line 631 "unpk.c" { { (*kc_printer)(" (introduced at ", kc_current_view); } unparse_casestring(uid->file, kc_printer, kc_current_view); { (*kc_printer)(":", kc_current_view); } unparse_int(uid->line, kc_printer, kc_current_view); { (*kc_printer)(")", kc_current_view); } } } else goto kc_unparsing_default; break; } default: kc_unparsing_default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_Id: unparse_uniqID( kc_p->u.Id.uniqID_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_INT #ifdef KC_USE_PROTOTYPES (INT kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) INT kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_INT(kc_p, "kc_p"); switch((int)kc_current_view) { case (int)view_error: { if (( kc_p->prod_sel == sel_Int)) { #line 227 "../error.k" int i = kc_p->u.Int.int_1; unparse_int(i, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } default: kc_unparsing_default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_Int: unparse_int( kc_p->u.Int.int_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_STRING #ifdef KC_USE_PROTOTYPES (STRING kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) STRING kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_STRING(kc_p, "kc_p"); switch((int)kc_current_view) { default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_String: unparse_casestring( kc_p->u.String.casestring_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_phylumdeclarationsroot #ifdef KC_USE_PROTOTYPES (phylumdeclarationsroot kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) phylumdeclarationsroot kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_phylumdeclarationsroot(kc_p, "kc_p"); switch((int)kc_current_view) { case (int)view_gen_unparsedefs_c: { if (( kc_p->prod_sel == sel_PhylumDeclarations)) { #line 7898 "../gen.k" phylumdeclarations pds = kc_p->u.PhylumDeclarations.phylumdeclarations_1; unparse_phylumdeclarations(pds, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_default_types_unpk_c: { if (( kc_p->prod_sel == sel_PhylumDeclarations)) { { (*kc_printer)("void unparse_casestring\ \n#ifdef KC_USE_PROTOTYPES\ \n(casestring kc_p, void (*kc_printer)(char*, uview), uview kc_current_view)\ \n#else\ \n(kc_p, kc_printer, kc_current_view) casestring kc_p; void (", kc_current_view ); (*kc_printer)("*kc_printer)KC__P((char*, uview)); uview kc_current_view;\ \n#endif\ \n{\ \n /*SUPPRESS 622*/\ \n assert_casestring(kc_p, \"kc_p\");\ \n (*kc_printer)(kc_p->name, kc_current_view);\ \n}\ \n", kc_current_view ); (*kc_printer)("\ \nvoid unparse_nocasestring\ \n#ifdef KC_USE_PROTOTYPES\ \n(nocasestring kc_p, void (*kc_printer)(char*, uview), uview kc_current_view)\ \n#else\ \n(kc_p, kc_printer, kc_current_view) nocasestring kc", kc_current_view ); (*kc_printer)("_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view;\ \n#endif\ \n{\ \n /*SUPPRESS 622*/\ \n assert_nocasestring(kc_p, \"kc_p\");\ \n (*kc_printer)(kc_p->name, kc_current_view);\ \n}\ \n", kc_current_view ); (*kc_printer)("\ \nvoid unparse_int\ \n#ifdef KC_USE_PROTOTYPES\ \n(int kc_p, void (*kc_printer)(char*, uview), uview kc_current_view)\ \n#else\ \n(kc_p, kc_printer, kc_current_view) int kc_p; void (*kc_printer)KC__P", kc_current_view ); (*kc_printer)("((char*, uview)); uview kc_current_view;\ \n#endif\ \n{\ \n char kc_string[KC_MAXINTSTRING];\ \n /* ADD: test if kc_p will fit in the allocated buffer */\ \n (void)sprintf(kc_string, \"%d", kc_current_view ); (*kc_printer)("\", kc_p);\ \n (*kc_printer)(kc_string, kc_current_view);\ \n}\ \n\ \nvoid unparse_float\ \n#ifdef KC_USE_PROTOTYPES\ \n(float kc_p, void (*kc_printer)(char*, uview), uview kc_current_view)\ \n#", kc_current_view ); (*kc_printer)("else\ \n(kc_p, kc_printer, kc_current_view) float kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view;\ \n#endif\ \n{\ \n char kc_string[KC_MAXINTSTRING];\ \n /* ADD: test if kc", kc_current_view ); (*kc_printer)("_p will fit in the allocated buffer */\ \n (void)sprintf(kc_string, \"%f\", kc_p);\ \n (*kc_printer)(kc_string, kc_current_view);\ \n}\ \n\ \nvoid unparse_voidptr\ \n#ifdef KC_USE_PROTOTY", kc_current_view ); (*kc_printer)("PES\ \n(voidptr kc_p, void (*kc_printer)(char*, uview), uview kc_current_view)\ \n#else\ \n(kc_p, kc_printer, kc_current_view) voidptr kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_vi", kc_current_view ); (*kc_printer)("ew;\ \n#endif\ \n{\ \n char kc_string[KC_MAXINTSTRING];\ \n /* ADD: test if kc_p will fit in the allocated buffer */\ \n (void)sprintf(kc_string, \"%p\", kc_p);\ \n (*kc_printer)(k", kc_current_view ); (*kc_printer)("c_string, kc_current_view);\ \n}\ \n\ \n", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_unpk_c: { if (( kc_p->prod_sel == sel_PhylumDeclarations)) { { (*kc_printer)("/*LINTLIBRARY*/\ \n/* translation of file(s)\ \n", kc_current_view); } unparse_fnfiles(Thefnfiles, kc_printer, kc_current_view); { (*kc_printer)(" */\ \n/* generated by:\ \n * ", kc_current_view); } unparse_charptr(kimwitu_copyright, kc_printer, kc_current_view); { (*kc_printer)("\ \n */\ \n#define KC_UNPARSE\ \n#define KIMW_UNPARSE /* for backwards compatibility */\ \n/* define our own macro if we have a 'standard' (ansi) C(++) compiler */\ \n#ifndef KC_NO_STDC\ \n# if defined", kc_current_view ); (*kc_printer)("(__STDC__) || defined(__cplusplus) || defined(_WIN32)\ \n# define KC_STDC\ \n# endif\ \n#endif\ \n#include \ \n#include \ \n#if ((! defined(KC_STDC) ) && defined(sun))\ \n extern ", kc_current_view ); (*kc_printer)("char *sprintf();\ \n#endif\ \n#ifdef KC_STDC\ \n# include \ \n#endif\ \n#include \"k.h\"\ \n#include \"unpk.h\"\ \n\ \nchar *kc_view_names[] = {\ \n", kc_current_view); } unparse_viewnames(Theuviewnames, kc_printer, kc_current_view); { (*kc_printer)(",\ \n \"base_view\"\ \n};\ \n\ \n", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_end_unpk_h: { if (( kc_p->prod_sel == sel_PhylumDeclarations)) { { (*kc_printer)("\ \n#endif /* KC_UNPARSE_HEADER */\ \n", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_unparsedecls_h: { if (( kc_p->prod_sel == sel_PhylumDeclarations)) { #line 7737 "../gen.k" phylumdeclarations pds = kc_p->u.PhylumDeclarations.phylumdeclarations_1; { (*kc_printer)("#ifndef KC_MAXINTSTRING\ \n# define KC_MAXINTSTRING 30\ \n#endif /* !KC_MAXINTSTRING */\ \n\ \ntypedef enum {\ \n", kc_current_view); } unparse_viewnames(Theuviewnames, kc_printer, view_uview_def); { (*kc_printer)("\ \n} uview;\ \ntypedef uview view; /* for backwards compatibility */\ \n\ \nextern char *kc_view_names[];\ \n\ \n", kc_current_view); } unparse_phylumdeclarations(pds, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_unpk_h: { if (( kc_p->prod_sel == sel_PhylumDeclarations)) { { (*kc_printer)("/* translation of file(s)\ \n", kc_current_view); } unparse_fnfiles(Thefnfiles, kc_printer, kc_current_view); { (*kc_printer)(" */\ \n/* generated by:\ \n * ", kc_current_view); } unparse_charptr(kimwitu_copyright, kc_printer, kc_current_view); { (*kc_printer)("\ \n */\ \n#ifndef KC_UNPARSE_HEADER\ \n#define KC_UNPARSE_HEADER\ \n#define KIMW_UNPARSE_HEADER /* for backwards compatibility */\ \n/* define our own macro if we have a 'standard' (ansi) C(++) compil", kc_current_view ); (*kc_printer)("er */\ \n#ifndef KC_NO_STDC\ \n# if defined(__STDC__) || defined(__cplusplus) || defined(_WIN32)\ \n# define KC_STDC\ \n# endif\ \n#endif\ \n#include \"k.h\" /* in case a user forgets */\ \n", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_fns_owninclude_c: { if (( kc_p->prod_sel == sel_PhylumDeclarations)) { { (*kc_printer)("#include \"", kc_current_view); } unparse_charptr(g_hfilename, kc_printer, kc_current_view); { (*kc_printer)("\"\ \n", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_fns_start_c: { if (( kc_p->prod_sel == sel_PhylumDeclarations)) { #line 7682 "../gen.k" char *printablefilename = f_make_identifier_basename( g_cfilename ); #line 928 "unpk.c" { (*kc_printer)("/* translation of file \"", kc_current_view); } unparse_casestring(pg_filename, kc_printer, kc_current_view); { (*kc_printer)("\" */\ \n/* generated by:\ \n * ", kc_current_view); } unparse_charptr(kimwitu_copyright, kc_printer, kc_current_view); { (*kc_printer)("\ \n */\ \n#define KC_FUNCTIONS_", kc_current_view); } unparse_charptr(printablefilename, kc_printer, kc_current_view); { (*kc_printer)("\ \n#define KIMW_FUNCTIONS_", kc_current_view); } unparse_charptr(printablefilename, kc_printer, kc_current_view); { (*kc_printer)(" /* for backwards compatibility */\ \n/* define our own macro if we have a 'standard' (ansi) C(++) compiler */\ \n#ifndef KC_NO_STDC\ \n# if defined(__STDC__) || defined(__cplusplus) || defined(_WIN32)", kc_current_view ); (*kc_printer)("\ \n# define KC_STDC\ \n# endif\ \n#endif\ \n#include \ \n#ifdef KC_STDC\ \n# include \ \n#endif\ \n#include \"k.h\"\ \n", kc_current_view); } #line 7701 "../gen.k" FREE((kc_voidptr_t) printablefilename ); #line 958 "unpk.c" } else goto kc_unparsing_default; break; } case (int)view_gen_fns_end_h: { if (( kc_p->prod_sel == sel_PhylumDeclarations)) { #line 7672 "../gen.k" char *printablefilename = f_make_identifier_basename( g_hfilename ); #line 967 "unpk.c" { (*kc_printer)("#endif /* ! KC_FUNCTIONS_", kc_current_view); } unparse_charptr(printablefilename, kc_printer, kc_current_view); { (*kc_printer)("_HEADER */\ \n\ \n", kc_current_view); } #line 7676 "../gen.k" FREE((kc_voidptr_t) printablefilename ); #line 975 "unpk.c" } else goto kc_unparsing_default; break; } case (int)view_gen_fns_start_h: { if (( kc_p->prod_sel == sel_PhylumDeclarations)) { #line 7652 "../gen.k" char *printablefilename = f_make_identifier_basename( g_hfilename ); #line 984 "unpk.c" { (*kc_printer)("/* translation of file \"", kc_current_view); } unparse_casestring(pg_filename, kc_printer, kc_current_view); { (*kc_printer)("\" */\ \n/* generated by:\ \n * ", kc_current_view); } unparse_charptr(kimwitu_copyright, kc_printer, kc_current_view); { (*kc_printer)("\ \n */\ \n#ifndef KC_FUNCTIONS_", kc_current_view); } unparse_charptr(printablefilename, kc_printer, kc_current_view); { (*kc_printer)("_HEADER\ \n#define KC_FUNCTIONS_", kc_current_view); } unparse_charptr(printablefilename, kc_printer, kc_current_view); { (*kc_printer)("_HEADER\ \n#define KIMW_FUNCTIONS_", kc_current_view); } unparse_charptr(printablefilename, kc_printer, kc_current_view); { (*kc_printer)("_HEADER /* for backwards compatibility */\ \n/* define our own macro if we have a 'standard' (ansi) C(++) compiler */\ \n#ifndef KC_NO_STDC\ \n# if defined(__STDC__) || defined(__cplusplus) || defined(", kc_current_view ); (*kc_printer)("_WIN32)\ \n# define KC_STDC\ \n# endif\ \n#endif\ \n#include \"k.h\" /* in case a user forgets */\ \n\ \n", kc_current_view); } #line 7669 "../gen.k" FREE((kc_voidptr_t) printablefilename ); #line 1014 "unpk.c" } else goto kc_unparsing_default; break; } case (int)view_gen_rewritedefs_c: { if (( kc_p->prod_sel == sel_PhylumDeclarations)) { #line 6893 "../gen.k" phylumdeclarations pds = kc_p->u.PhylumDeclarations.phylumdeclarations_1; unparse_phylumdeclarations(pds, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_rewritedecls_h: { if (( kc_p->prod_sel == sel_PhylumDeclarations)) { #line 6879 "../gen.k" phylumdeclarations pds = kc_p->u.PhylumDeclarations.phylumdeclarations_1; unparse_phylumdeclarations(pds, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_rewritek_c: { if (( kc_p->prod_sel == sel_PhylumDeclarations)) { { (*kc_printer)("/*LINTLIBRARY*/\ \n/* translation of file(s)\ \n", kc_current_view); } unparse_fnfiles(Thefnfiles, kc_printer, kc_current_view); { (*kc_printer)(" */\ \n/* generated by:\ \n * ", kc_current_view); } unparse_charptr(kimwitu_copyright, kc_printer, kc_current_view); { (*kc_printer)("\ \n */\ \n#define KC_REWRITE\ \n#define KIMW_REWRITE /* for backwards compatibility */\ \n/* define our own macro if we have a 'standard' (ansi) C(++) compiler */\ \n#ifndef KC_NO_STDC\ \n# if defined", kc_current_view ); (*kc_printer)("(__STDC__) || defined(__cplusplus) || defined(_WIN32)\ \n# define KC_STDC\ \n# endif\ \n#endif\ \n#include \ \n#include \ \n#ifdef KC_STDC\ \n# include \ \n#endif\ \n#i", kc_current_view ); (*kc_printer)("nclude \"k.h\"\ \n#include \"rk.h\"\ \n\ \nchar *kc_rview_names[] = {\ \n", kc_current_view); } unparse_viewnames(Therviewnames, kc_printer, kc_current_view); { (*kc_printer)("\ \n};\ \n\ \n", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_end_rewritek_h: { if (( kc_p->prod_sel == sel_PhylumDeclarations)) { { (*kc_printer)("\ \n#endif /* KC_TYPES_HEADER */\ \n", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_rewritek_h: { if (( kc_p->prod_sel == sel_PhylumDeclarations)) { { (*kc_printer)("/* translation of file(s)\ \n", kc_current_view); } unparse_fnfiles(Thefnfiles, kc_printer, kc_current_view); { (*kc_printer)(" */\ \n/* generated by:\ \n * ", kc_current_view); } unparse_charptr(kimwitu_copyright, kc_printer, kc_current_view); { (*kc_printer)("\ \n */\ \n#ifndef KC_REWRITE_HEADER\ \n#define KC_REWRITE_HEADER\ \n#define KIMW_REWRITE_HEADER /* for backwards compatibility */\ \n/* define our own macro if we have a 'standard' (ansi) C(++) compil", kc_current_view ); (*kc_printer)("er */\ \n#ifndef KC_NO_STDC\ \n# if defined(__STDC__) || defined(__cplusplus) || defined(_WIN32)\ \n# define KC_STDC\ \n# endif\ \n#endif\ \n#include \"k.h\" /* in case a user forgets */\ \n\ \ntypede", kc_current_view ); (*kc_printer)("f enum {\ \n", kc_current_view); } unparse_viewnames(Therviewnames, kc_printer, kc_current_view); { (*kc_printer)("\ \n} rview;\ \n\ \nextern char *kc_rview_names[];\ \n\ \n", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_copydefs_c: { if (( kc_p->prod_sel == sel_PhylumDeclarations)) { #line 6610 "../gen.k" phylumdeclarations pds = kc_p->u.PhylumDeclarations.phylumdeclarations_1; { (*kc_printer)("/*ARGSUSED*/ kc_voidptr_t kc_do_copy_phylum\ \n#ifdef KC_USE_PROTOTYPES\ \n(kc_voidptr_t kc_p, boolean kc_copy_attributes, kc_enum_phyla kc_phylum)\ \n#else\ \n(kc_p, kc_copy_attributes, kc_phylum) kc_", kc_current_view ); (*kc_printer)("voidptr_t kc_p; boolean kc_copy_attributes; kc_enum_phyla kc_phylum;\ \n#endif\ \n{ kc_voidptr_t kc_subtmp[", kc_current_view); } { #line 6618 "../gen.k" int i = last_argsnumbers( Theargsnumbers ); if (i<=0) i = 1; #line 1139 "unpk.c" unparse_int(i, kc_printer, kc_current_view); } { (*kc_printer)("];\ \n kc_voidptr_t kc_answer = 0;\ \n int kc_i;\ \n kc_enum_operators kc_prodsel;\ \n KC_OPERATOR_INFO *kc_op_info;\ \n int kc_st;\ \n kc_hashtable_t kc_a_ht;\ \n /* SHOULD be done using bigatoms? */\ \n", kc_current_view); } unparse_phyla(cg_bigatomphyla, kc_printer, kc_current_view); { (*kc_printer)(" /*SUPPRESS 622*/\ \n assertPhylum(((casestring)kc_p),\"kc_p\",kc_phylum);\ \n if ((kc_phylum == kc_phylum_voidptr)) {\ \n return kc_p;\ \n }\ \n kc_prodsel = ((casestring)kc_p)->prod_sel;\ \n kc_op_", kc_current_view ); (*kc_printer)("info = &kc_OperatorInfo[(int)kc_prodsel];\ \n kc_st = (int)kc_op_info->uniq_stored;\ \n kc_a_ht = kc_hashtables[kc_st];\ \n if (kc_st\ \n && (/* kc_storageclass_still_uniq[kc_st]\ \n || */ ((", kc_current_view ); (*kc_printer)("kc_a_ht->in_block != 0)\ \n && (*kc_a_ht->in_block)((kc_voidptr_t)kc_p, kc_a_ht->malloc_private_data)))) {\ \n return kc_p;\ \n } else if (kc_phylum == kc_phylum_casestring) {\ \n return (kc_voidp", kc_current_view ); (*kc_printer)("tr_t)mkcasestring(((casestring)kc_p)->name);\ \n } else if (kc_phylum == kc_phylum_nocasestring) {\ \n return (kc_voidptr_t)mknocasestring(((nocasestring)kc_p)->name);\ \n }\ \n", kc_current_view); } #line 6649 "../gen.k" if (cg_bigatomoperators && length_operators(cg_bigatomoperators) > 0) #line 1177 "unpk.c" { { (*kc_printer)(" switch(kc_prodsel) {\ \n", kc_current_view); } unparse_operators(cg_bigatomoperators, kc_printer, kc_current_view); { (*kc_printer)(" default:\ \n", kc_current_view); } } { (*kc_printer)(" for (kc_i = 0; kc_i < kc_op_info->no_sons; kc_i++) {\ \n kc_subtmp[kc_i] = kc_do_copy_phylum((kc_voidptr_t)KC_SUBPHYLUM(kc_p, kc_op_info->suboffset[kc_i]), kc_copy_attributes, kc_op_info->subphylum[k", kc_current_view ); (*kc_printer)("c_i] );\ \n }\ \n switch(kc_op_info->no_sons) {\ \n", kc_current_view); } unparse_argsnumbers(Theargsnumbers, kc_printer, kc_current_view); { (*kc_printer)(" default:\ \n /*SUPPRESS 622*/\ \n assertReason(kc_zero_constant, \"unexpected number of sub-phyla\");/*NOTREACHED*/\ \n }\ \n", kc_current_view); } #line 6667 "../gen.k" if (cg_bigatomoperators && length_operators(cg_bigatomoperators) > 0) #line 1199 "unpk.c" { { (*kc_printer)(" break;\ \n }\ \n", kc_current_view); } } { (*kc_printer)(" if (kc_copy_attributes && (kc_PhylumInfo[(int)kc_phylum].copy_attributes != 0)) {\ \n (*kc_PhylumInfo[(int)kc_phylum].copy_attributes)(kc_p, kc_answer);\ \n }\ \n return kc_answer;\ \n}\ \n\ \n", kc_current_view); } unparse_phylumdeclarations(pds, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_copydecls_h: { if (( kc_p->prod_sel == sel_PhylumDeclarations)) { #line 6591 "../gen.k" phylumdeclarations pds = kc_p->u.PhylumDeclarations.phylumdeclarations_1; unparse_phylumdeclarations(pds, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_copy_attributes_c: { if (( kc_p->prod_sel == sel_PhylumDeclarations)) { #line 6550 "../gen.k" phylumdeclarations pds = kc_p->u.PhylumDeclarations.phylumdeclarations_1; unparse_phylumdeclarations(pds, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_csgio_c: { if (( kc_p->prod_sel == sel_PhylumDeclarations)) { #line 5288 "../gen.k" phylumdeclarations pds = kc_p->u.PhylumDeclarations.phylumdeclarations_1; { (*kc_printer)("/* macro's that do the string concatenation */\ \n#define KC_MIdStr(s) s\ \n#ifdef KC_STDC\ \n# define KC_MStrConc(s1,s2) s1 ## s2\ \n# define KC_MStrConc3(s1,s2,s3) s1 ## s2 ## s3\ \n#else\ \n# define", kc_current_view ); (*kc_printer)(" KC_MStrConc(s1,s2) KC_MIdStr(s1)s2\ \n# define KC_MStrConc3(s1,s2,s3) KC_MIdStr(KC_MIdStr(s1)s2)s3\ \n#endif\ \n\ \n#ifndef MALLOC\ \n# define MALLOC emalloc\ \n#endif\ \n#ifndef REALLOC\ \n/*\ \n * ", kc_current_view ); (*kc_printer)("# ifdef lint\ \n * # define REALLOC(kc_p,kc_s) (kc_p,kc_s,0)\ \n * # else\ \n */\ \n# define REALLOC erealloc\ \n/*\ \n * # endif\ \n */\ \n#endif\ \n#ifndef CALLOC\ \n# define CALLOC ecalloc\ \n#en", kc_current_view ); (*kc_printer)("dif\ \n#ifndef FREE\ \n# define FREE efree\ \n#endif\ \n#ifndef efree\ \n/*\ \n * # ifdef lint\ \n * # define efree(kc_p) \ \n * # else\ \n */\ \n# define efree(kc_p) free((kc_malloc_t)(kc_p))\ \n/*", kc_current_view ); (*kc_printer)("\ \n * # endif\ \n */\ \n#endif\ \n\ \n/* kc_qsort_firstarg_t should be void* kc_voidptr_t, but sun's include files are dumb */\ \n#ifndef KC_QSORT_FIRSTARG_T\ \ntypedef char *kc_qsort_firstarg_t;\ \n#", kc_current_view ); (*kc_printer)("else\ \ntypedef KC_QSORT_FIRSTARG_T kc_qsort_firstarg_t;\ \n#endif\ \n\ \n/* macro that does the string concatenation */\ \n#define kc_str_conc2(a,b) (char*)strcat(strcpy((char *) MALLOC((kc_size_t)(st", kc_current_view ); (*kc_printer)("rlen(a) + strlen(b) +1)), a), b)\ \n\ \n/* macro that does the field/son selection */\ \n#ifndef KC_FIELD\ \n# define KC_FIELD(var,oper,subphy,subphynr,sonnr) (var->u.oper.KC_MStrConc3(subphy,_,subphy", kc_current_view ); (*kc_printer)("nr))\ \n#endif\ \n\ \n/* macro that reads the integers */\ \n#define kc_do_get_int(c,c_init,i,f)\\\ \n c = c_init;\\\ \n i = 0;\\\ \n while (isdigit(c)){\\\ \n i = (i*10) + (c-'0');\\\ \n c = ", kc_current_view ); (*kc_printer)("getc(f);\\\ \n }\ \n\ \nstatic char *kc_malloc_area = (char*)0;\ \nstatic kc_size_t kc_sizeof_malloc_area = 0;\ \n#define KC_GETMALLOCAREA(kc_s) (((kc_s) > kc_sizeof_malloc_area) ? kc_grow_malloc_area", kc_current_view ); (*kc_printer)("(kc_s) : kc_malloc_area)\ \nstatic char *kc_grow_malloc_area\ \n#ifdef KC_USE_PROTOTYPES\ \n(kc_size_t kc_s)\ \n#else\ \n(kc_s) kc_size_t kc_s;\ \n#endif\ \n{\ \n if (kc_malloc_area != (char*)0) FREE((", kc_current_view ); (*kc_printer)("kc_voidptr_t)kc_malloc_area);\ \n kc_malloc_area = (char*)MALLOC(kc_s);\ \n kc_sizeof_malloc_area = kc_s;\ \n return kc_malloc_area;\ \n}\ \n\ \ntypedef enum {\ \n KC_CSGIOSTATUS_NO_ERR = 0,\ \n KC_CSG", kc_current_view ); (*kc_printer)("IOSTATUS_SCAN_ERR_1, KC_CSGIOSTATUS_SCAN_ERR_2, KC_CSGIOSTATUS_SCAN_ERR_3, KC_CSGIOSTATUS_SCAN_ERR_4, KC_CSGIOSTATUS_SCAN_ERR_5,\ \n KC_CSGIOSTATUS_GRAM_INCONSISTENT, KC_CSGIOSTATUS_ROK, KC_CSGIOSTATUS", kc_current_view ); (*kc_printer)("_ILLEGAL_OPTION, KC_CSGIOSTATUS_TOO_MANY_OPERATORS,\ \n KC_CSGIOSTATUS_WOK, KC_CSGIOSTATUS_TXT_FILE_INPUT, KC_CSGIOSTATUS_SYNTAX_ERROR, KC_CSGIOSTATUS_ILLEGAL_CONTEXT, KC_CSGIOSTATUS_PREMATURE_EOF,\ \n", kc_current_view ); (*kc_printer)(" KC_CSGIOSTATUS_UNEXP_FATHER_MARK\ \n} KC_IO_STATUS;\ \n\ \ntypedef struct {\ \n KC_IO_STATUS io_status;\ \n char *err_reason;\ \n int line;\ \n} KC_IO_RETURN;\ \n\ \n/* global variables */\ \nstatic j", kc_current_view ); (*kc_printer)("mp_buf kc_priv_env;\ \nstatic char *kc_csgio_err_reason = \"\";\ \nstatic int kc_no_external_ops;\ \n#define KC_NOT_FOUND_OPERATOR -1\ \nstatic int kc_file_offset_base;\ \nstatic int kc_file_offset;\ \n", kc_current_view ); (*kc_printer)("\ \nstatic boolean kc_CSGIOsharing =\ \n#ifndef KC_CSGIO_NO_SHARING\ \n True\ \n#else /* KC_CSGIO_NO_SHARING */\ \n False\ \n#endif /* !KC_CSGIO_NO_SHARING */\ \n ;\ \nstatic kc_hashnode_t (*kc_mkhashn", kc_current_view ); (*kc_printer)("ode)KC__P((YYSTYPE, kc_hashtable_t, kc_enum_phyla)) = \ \n#ifndef KC_CSGIO_NO_SHARING\ \n kc_mksharinghashnode\ \n#else /* KC_CSGIO_NO_SHARING */\ \n kc_mknonsharinghashnode\ \n#endif /* !KC_CSGIO_NO_S", kc_current_view ); (*kc_printer)("HARING */\ \n ;\ \nboolean kc_set_csgio_sharing\ \n#ifdef KC_USE_PROTOTYPES\ \n(boolean kc_i)\ \n#else\ \n(kc_i) boolean kc_i;\ \n#endif\ \n{ boolean kc_tmp = kc_CSGIOsharing;\ \n kc_CSGIOsharing = kc", kc_current_view ); (*kc_printer)("_i;\ \n return kc_tmp;\ \n}\ \n\ \n/* Magic File descriptor(s) */\ \n/* Magic descriptors of length up to KC_MAGIC_LENGTH-1 are supported. */\ \n/* When changing KC_MAGIC_LENGTH. change constant in MAG", kc_current_view ); (*kc_printer)("IC_READ_FORMAT to be one less than KC_MAGIC_LENGTH. */\ \n/* Every file is assumed to start with the magic file descriptor for asc_csg_v3 */\ \n\ \nstatic char kc_ascii_prefix_magic_v3[] = \"A#S#C#S#S#", kc_current_view ); (*kc_printer)("L#V#3\";\ \n#define KC_MAGIC_LENGTH 25\ \n#define KC_MAGIC_READ_FORMAT \"%24s\\n\" \ \n\ \n/* Operators with names of length upto OP_LENGTH-1 are supported. */\ \n/* When changing OP_LENGHTH, change co", kc_current_view ); (*kc_printer)("nstant in OP_READ_FOMAT to be one less */\ \n#define KC_OP_LENGTH 256\ \n#define KC_OP_READ_FORMAT \"%255s\\n\" \ \n\ \n/************************/\ \n/* Error-string Routine */\ \n/********************", kc_current_view ); (*kc_printer)("****/\ \n\ \nstatic char *kc_CSGIOerrorstring\ \n#ifdef KC_USE_PROTOTYPES\ \n(KC_IO_STATUS kc_io_status)\ \n#else\ \n(kc_io_status) KC_IO_STATUS kc_io_status;\ \n#endif\ \n{\ \n switch( (int)kc_io_stat", kc_current_view ); (*kc_printer)("us ) {\ \n case (int)KC_CSGIOSTATUS_NO_ERR: return( \"No errors\" );\ \n case (int)KC_CSGIOSTATUS_SCAN_ERR_1: return( \"Scan error(1)\" );\ \n case (int)KC_CSGIOSTATUS_SCAN_ERR_2: return( \"Scan error(", kc_current_view ); (*kc_printer)("2)\" );\ \n case (int)KC_CSGIOSTATUS_SCAN_ERR_3: return( \"Scan error(3)\" );\ \n case (int)KC_CSGIOSTATUS_SCAN_ERR_4: return( \"Scan error(4)\" );\ \n case (int)KC_CSGIOSTATUS_SCAN_ERR_5: return( \"Sc", kc_current_view ); (*kc_printer)("an error(5)\" );\ \n case (int)KC_CSGIOSTATUS_GRAM_INCONSISTENT: return( \"Grammar is inconsistent\" );\ \n case (int)KC_CSGIOSTATUS_ROK: return( \"Read OK structure file\" );\ \n case (int)KC_CSGIOSTA", kc_current_view ); (*kc_printer)("TUS_ILLEGAL_OPTION: return( \"Illegal option in write command\" );\ \n case (int)KC_CSGIOSTATUS_TOO_MANY_OPERATORS: return( \"Too many operators for binary format\" );\ \n case (int)KC_CSGIOSTATUS_WOK:", kc_current_view ); (*kc_printer)(" return( \"Written OK\" );\ \n case (int)KC_CSGIOSTATUS_TXT_FILE_INPUT: return( \"Read OK Text-file\" );\ \n case (int)KC_CSGIOSTATUS_SYNTAX_ERROR: return( \"Syntax error\" );\ \n case (int)KC_CSGIOSTA", kc_current_view ); (*kc_printer)("TUS_ILLEGAL_CONTEXT: return( \"Illegal context for operator\" );\ \n case (int)KC_CSGIOSTATUS_PREMATURE_EOF: return( \"Premature eof in file\" );\ \n case (int)KC_CSGIOSTATUS_UNEXP_FATHER_MARK: return(", kc_current_view ); (*kc_printer)(" \"Unexpected FATHER MARKER\" );\ \n default: return( \"Unknown error code\" );\ \n }\ \n}\ \n\ \nstatic kc_hashtable_t kc_CSGIOhashtable;\ \n\ \n/* Maps */\ \ntypedef struct {\ \n int left;\ \n int ri", kc_current_view ); (*kc_printer)("ght;\ \n} kc_OpToOpMap_tuple_t;\ \n\ \nstatic kc_OpToOpMap_tuple_t kc_OpToOpMap[ KC_NO_OF_OPERATORS ];\ \n#define KC_NOT_USED -1\ \n\ \nstatic int kc_op_search\ \n#ifdef KC_USE_PROTOTYPES\ \n(char *kc_", kc_current_view ); (*kc_printer)("s)\ \n#else\ \n(kc_s) char *kc_s;\ \n#endif\ \n{\ \n int kc_i;\ \n for ( kc_i=0; kc_i < KC_NO_OF_OPERATORS; kc_i++ ) {\ \n if ( strcmp( kc_s, kc_OperatorInfo[kc_i].name ) == 0 ) return( kc_i );\ \n }\ \n", kc_current_view ); (*kc_printer)(" return( KC_NOT_FOUND_OPERATOR );\ \n}\ \n\ \nstatic void kc_initializeOpToOpMap\ \n#ifdef KC_USE_PROTOTYPES\ \n(int kc_v)\ \n#else\ \n(kc_v) int kc_v;\ \n#endif\ \n{\ \n int kc_i;\ \n for ( kc_i=0; kc", kc_current_view ); (*kc_printer)("_i < KC_NO_OF_OPERATORS; kc_i++ ) {\ \n kc_OpToOpMap[kc_i].left = kc_i;\ \n kc_OpToOpMap[kc_i].right = kc_v;\ \n} }\ \n\ \nstatic int kc_OpToOpMap_tuple_t_compare_right\ \n#ifdef KC_USE_PROTOTYPES\ \n", kc_current_view ); (*kc_printer)("(kc_constvoidptr_t kc_el1, kc_constvoidptr_t kc_el2)\ \n#else\ \n(kc_el1, kc_el2) kc_constvoidptr_t kc_el1, kc_el2;\ \n#endif\ \n{\ \n kc_OpToOpMap_tuple_t *kc_elt1 = (kc_OpToOpMap_tuple_t *)kc_el1;\ \n", kc_current_view ); (*kc_printer)(" kc_OpToOpMap_tuple_t *kc_elt2 = (kc_OpToOpMap_tuple_t *)kc_el2;\ \n /* sort in DECREASING order */\ \n return (kc_elt2->right - kc_elt1->right);\ \n}\ \n\ \nstatic int kc_OpToOpMap_tuple_t_compare_lef", kc_current_view ); (*kc_printer)("t\ \n#ifdef KC_USE_PROTOTYPES\ \n(kc_constvoidptr_t kc_el1, kc_constvoidptr_t kc_el2)\ \n#else\ \n(kc_el1, kc_el2) kc_constvoidptr_t kc_el1, kc_el2;\ \n#endif\ \n{\ \n kc_OpToOpMap_tuple_t *kc_elt1 = (", kc_current_view ); (*kc_printer)("kc_OpToOpMap_tuple_t *)kc_el1;\ \n kc_OpToOpMap_tuple_t *kc_elt2 = (kc_OpToOpMap_tuple_t *)kc_el2;\ \n /* sort in INCREASING order */\ \n return (kc_elt1->left - kc_elt2->left);\ \n}\ \n\ \nstatic void", kc_current_view ); (*kc_printer)(" kc_sort_rightOpToOpMap()\ \n{\ \n qsort((kc_qsort_firstarg_t)kc_OpToOpMap, KC_NO_OF_OPERATORS, sizeof(kc_OpToOpMap_tuple_t), kc_OpToOpMap_tuple_t_compare_right);\ \n}\ \n\ \nstatic void kc_sort_leftOp", kc_current_view ); (*kc_printer)("ToOpMap()\ \n{\ \n qsort((kc_qsort_firstarg_t)kc_OpToOpMap, KC_NO_OF_OPERATORS, sizeof(kc_OpToOpMap_tuple_t), kc_OpToOpMap_tuple_t_compare_left);\ \n}\ \n\ \nstatic void kc_renumberOpToOpMap()\ \n{\ \n", kc_current_view ); (*kc_printer)(" int kc_i, kc_j = 0;\ \n for ( kc_i=0; kc_i < KC_NO_OF_OPERATORS; kc_i++ ) {\ \n if (kc_OpToOpMap[kc_i].right > 0) {\ \n kc_OpToOpMap[kc_i].right = kc_j++;\ \n } else {\ \n kc_OpToOpMap[kc_i].rig", kc_current_view ); (*kc_printer)("ht = KC_NOT_USED;\ \n} } }\ \n\ \n\ \n\ \n#define KC_MAKE_NEW_MAPPING(ext_op,int_op) kc_OpToOpMap[ext_op].right = int_op;\ \n#define KC_MAKE_NEW_SCAN_MAPPING(ext_op) kc_OpToOpMap[ext_op].right++;\ \n#d", kc_current_view ); (*kc_printer)("efine KC_MAP(op) (kc_OpToOpMap[op].right)\ \n#define KC_IS_MAPPED(op) (kc_OpToOpMap[op].right != KC_NOT_USED)\ \n#define KC_OP_NAME(op) (kc_OperatorInfo[op].name)\ \n#define KC_NO_SONS(prod) (kc_Operat", kc_current_view ); (*kc_printer)("orInfo[prod].no_sons)\ \n#define KC_ATOMICITY(prod) (kc_OperatorInfo[prod].atomicity)\ \n\ \n/*ARGSUSED*/\ \nstatic void kc_error_operator_not_in_phylum\ \n#ifdef KC_USE_PROTOTYPES\ \n(int kc_op, char ", kc_current_view ); (*kc_printer)("*kc_str1, char *kc_str2, int kc_phy, char *kc_fn, int kc_l)\ \n#else\ \n(kc_op, kc_str1, kc_str2, kc_phy, kc_fn, kc_l) int kc_op; char *kc_str1; char *kc_str2; int kc_phy; char *kc_fn; int kc_l;\ \n#en", kc_current_view ); (*kc_printer)("dif\ \n{\ \n char *kc_error_message1 = \"operator not defined in phylum \";\ \n char *kc_error_message2 = \": \";\ \n if ((kc_op <= (int)kc_one_before_first_operator) || (kc_op >= (int)kc_last_operator", kc_current_view ); (*kc_printer)(")) {\ \n char kc_value[30];\ \n (void)sprintf(kc_value, \"%d\",kc_op);\ \n kc_csgio_err_reason = kc_str_conc2(\"unknown operator number: \",kc_value);\ \n } else {\ \n kc_csgio_err_reason = (char*)", kc_current_view ); (*kc_printer)("strcat(strcat(strcat(strcpy((char*)MALLOC((kc_size_t)(strlen(kc_error_message1)+strlen(kc_PhylumInfo[kc_phy].name)+strlen(kc_error_message2)+strlen(kc_OperatorInfo[kc_op].name)+1)), kc_error_message1),", kc_current_view ); (*kc_printer)(" kc_PhylumInfo[kc_phy].name), kc_error_message2), kc_OperatorInfo[kc_op].name);\ \n }\ \n longjmp( kc_priv_env, (int)KC_CSGIOSTATUS_ILLEGAL_CONTEXT ); /*NOTREACHED*/\ \n}\ \n\ \n/* NEED to be extended ", kc_current_view ); (*kc_printer)("*/\ \nstatic KC_IO_RETURN kc_io_return\ \n#ifdef KC_USE_PROTOTYPES\ \n(KC_IO_STATUS kc_status, char *kc_err_reason /*, int kc_line*/)\ \n#else\ \n(kc_status, kc_err_reason /*, kc_line*/ ) KC_IO_STATUS ", kc_current_view ); (*kc_printer)("kc_status; char *kc_err_reason; /*int kc_line;*/\ \n#endif\ \n{\ \n KC_IO_RETURN kc_r;\ \n kc_r.io_status = kc_status;\ \n kc_r.err_reason = kc_err_reason;\ \n /*kc_r.line = kc_line;*/\ \n return(kc_r)", kc_current_view ); (*kc_printer)(";\ \n}\ \n\ \nstatic char *kc_readKC_IO_RETURN2char\ \n#ifdef KC_USE_PROTOTYPES\ \n(KC_IO_RETURN kc_p)\ \n#else\ \n(kc_p) KC_IO_RETURN kc_p;\ \n#endif\ \n{\ \n char *kc_err_ret = (char *)0;\ \n char *k", kc_current_view ); (*kc_printer)("c_err_sep = \": \";\ \n if (kc_p.io_status != KC_CSGIOSTATUS_ROK) {\ \n char *kc_io_err = kc_CSGIOerrorstring(kc_p.io_status);\ \n kc_err_ret = (char *)MALLOC((kc_size_t)strlen(kc_io_err)+strlen(kc_e", kc_current_view ); (*kc_printer)("rr_sep)+strlen(kc_p.err_reason)+1);\ \n (void)strcpy(kc_err_ret, kc_io_err);\ \n (void)strcat(kc_err_ret, kc_err_sep);\ \n (void)strcat(kc_err_ret, kc_p.err_reason);\ \n }\ \n return kc_err_ret;\ \n", kc_current_view ); (*kc_printer)("}\ \n\ \nstatic char *kc_writeKC_IO_RETURN2char\ \n#ifdef KC_USE_PROTOTYPES\ \n(KC_IO_RETURN kc_p)\ \n#else\ \n(kc_p) KC_IO_RETURN kc_p;\ \n#endif\ \n{\ \n char *kc_err_ret = (char *)0;\ \n char *kc_er", kc_current_view ); (*kc_printer)("r_sep = \": \";\ \n if (kc_p.io_status != KC_CSGIOSTATUS_WOK) {\ \n char *kc_io_err = kc_CSGIOerrorstring(kc_p.io_status);\ \n kc_err_ret = (char *)MALLOC((kc_size_t)strlen(kc_io_err)+strlen(kc_err_s", kc_current_view ); (*kc_printer)("ep)+strlen(kc_p.err_reason)+1);\ \n (void)strcpy(kc_err_ret, kc_io_err);\ \n (void)strcat(kc_err_ret, kc_err_sep);\ \n (void)strcat(kc_err_ret, kc_p.err_reason);\ \n }\ \n return kc_err_ret;\ \n}\ \n", kc_current_view ); (*kc_printer)("\ \n/* Base 64 numbers are written with the digits:\ \n : ; < = > ? @ A-Z [ \\ ] ^ _ ` a-y\ \n Base 10 numbers are written with the ordinary digits 0-9.\ \n Other characters are used in special c", kc_current_view ); (*kc_printer)("ircumstances:\ \n ! Indicates switch between reading attribute and unattributed nodes.\ \n # Indicates that the father is the next PROD_INSTANCE in the file.\ \n + Indicates that the following bytes ar", kc_current_view ); (*kc_printer)("e not a base 64 number\ \n * Indicates a line containing a (decimal) count of attributes.\ \n*/\ \n#define KC_B64_ZERO_CHAR ':'\ \n#define KC_IS_B64(c) ((unsigned)((c)-KC_B64_ZERO_CHAR)<64)\ \n#define ", kc_current_view ); (*kc_printer)("KC_ASCII_ZERO '0'\ \n#define KC_NON_B64_CHAR '+'\ \n#define KC_FATHER_MARKER '#'\ \n#define KC_SIX_BIT_MASK 0x3f\ \n\ \n#ifndef KC_NO_CSGIO_READ\ \n\ \n/* read and compute the base 64 integer in strea", kc_current_view ); (*kc_printer)("m */\ \nstatic unsigned get_rest_of_b64\ \n#ifdef KC_USE_PROTOTYPES\ \n(FILE *kc_stream, register int kc_read_char, char kc_trailing_char)\ \n#else\ \n(kc_stream, kc_read_char, kc_trailing_char) FILE *", kc_current_view ); (*kc_printer)("kc_stream; register int kc_read_char; char kc_trailing_char;\ \n#endif\ \n{\ \n unsigned kc_next_char;\ \n register int kc_offset;\ \n register int kc_i = 0;\ \n\ \n if (!KC_IS_B64(kc_read_char))\ \n ", kc_current_view ); (*kc_printer)("longjmp(kc_priv_env, (int)KC_CSGIOSTATUS_SCAN_ERR_1);\ \n kc_offset = (int) kc_read_char - KC_B64_ZERO_CHAR;\ \n\ \n kc_next_char = (unsigned) getc(kc_stream);\ \n while(KC_IS_B64(kc_next_char)) {\ \n ", kc_current_view ); (*kc_printer)(" kc_offset += (int) ((kc_next_char - KC_B64_ZERO_CHAR) << (6 * (++kc_i)));\ \n kc_next_char = (unsigned) getc(kc_stream);\ \n }\ \n\ \n if (kc_next_char == '-') {\ \n kc_offset *= -1;\ \n kc_next_c", kc_current_view ); (*kc_printer)("har = (unsigned) getc(kc_stream);\ \n }\ \n\ \n if (kc_next_char != (unsigned)kc_trailing_char)\ \n longjmp(kc_priv_env, (int)KC_CSGIOSTATUS_SCAN_ERR_1);\ \n return((unsigned) kc_offset);\ \n}\ \n\ \n", kc_current_view ); (*kc_printer)("/* read shared functions */\ \ntypedef enum { KC_NOT_READ_YET, KC_READ_EARLIER } KC_READ_STATUS;\ \n/* variable used by the sharing routines during a read */\ \n/* stores pointers to value_ptr fields *", kc_current_view ); (*kc_printer)("/\ \nstatic YYSTYPE *kc_offset_to_address_map;\ \nstatic char* *kc_offset_to_address_map_base;\ \n\ \nstatic void kc_init_read_sharing\ \n#ifdef KC_USE_PROTOTYPES\ \n(int kc_node_count, int kc_node_cou", kc_current_view ); (*kc_printer)("nt_base)\ \n#else\ \n(kc_node_count, kc_node_count_base) int kc_node_count; int kc_node_count_base;\ \n#endif\ \n{\ \n kc_offset_to_address_map = (YYSTYPE *)CALLOC((kc_size_t)kc_node_count, (kc_size_t)", kc_current_view ); (*kc_printer)("sizeof(YYSTYPE));\ \n kc_file_offset = 0;\ \n kc_offset_to_address_map_base = (char* *)CALLOC((kc_size_t)kc_node_count_base, (kc_size_t)sizeof(char*));\ \n kc_file_offset_base = 0;\ \n}\ \n\ \nstatic K", kc_current_view ); (*kc_printer)("C_READ_STATUS kc_read_sharing_find\ \n#ifdef KC_USE_PROTOTYPES\ \n(FILE *kc_stream, YYSTYPE *kc_valptr)\ \n#else\ \n(kc_stream, kc_valptr) FILE *kc_stream; YYSTYPE *kc_valptr;\ \n#endif\ \n{ char kc_fi", kc_current_view ); (*kc_printer)("rst_char;\ \n unsigned kc_offset;\ \n\ \n kc_first_char = getc(kc_stream);\ \n if (KC_IS_B64(kc_first_char)) {\ \n kc_offset = get_rest_of_b64(kc_stream, kc_first_char, '\\n');\ \n *kc_valptr = kc_of", kc_current_view ); (*kc_printer)("fset_to_address_map[kc_file_offset - (int) kc_offset];\ \n return(KC_READ_EARLIER);\ \n } else {\ \n (void)ungetc(kc_first_char, kc_stream);\ \n return(KC_NOT_READ_YET);\ \n} }\ \n\ \nstatic KC_READ", kc_current_view ); (*kc_printer)("_STATUS kc_read_sharing_find_base\ \n#ifdef KC_USE_PROTOTYPES\ \n(FILE *kc_stream, char **kc_valptr)\ \n#else\ \n(kc_stream, kc_valptr) FILE *kc_stream; char **kc_valptr;\ \n#endif\ \n{ char kc_first_c", kc_current_view ); (*kc_printer)("har;\ \n unsigned kc_offset;\ \n\ \n kc_first_char = getc(kc_stream);\ \n if (KC_IS_B64(kc_first_char)) {\ \n kc_offset = get_rest_of_b64(kc_stream, kc_first_char, '\\n');\ \n *kc_valptr = kc_offset_", kc_current_view ); (*kc_printer)("to_address_map_base[kc_file_offset_base - (int) kc_offset];\ \n return(KC_READ_EARLIER);\ \n } else {\ \n return(KC_NOT_READ_YET);\ \n} }\ \n\ \n#define kc_read_sharing_store(kc_ptr, kc_loc) \\\ \n k", kc_current_view ); (*kc_printer)("c_offset_to_address_map[kc_loc] = kc_ptr\ \n#define kc_read_sharing_store_base(kc_ptr) \\\ \n kc_offset_to_address_map_base[kc_file_offset_base++] = kc_ptr\ \n\ \n\ \nstatic void kc_end_read_sharing()\ \n", kc_current_view ); (*kc_printer)("{\ \n FREE((kc_voidptr_t)kc_offset_to_address_map);\ \n FREE((kc_voidptr_t)kc_offset_to_address_map_base);\ \n}\ \n\ \nstatic void kc_CSGIOdo_read_atom_denotation\ \n#ifdef KC_USE_PROTOTYPES\ \n(FILE *", kc_current_view ); (*kc_printer)("kc_stream, char *kc_sbase, int kc_len)\ \n#else\ \n(kc_stream, kc_sbase, kc_len) FILE *kc_stream; char *kc_sbase; int kc_len;\ \n#endif\ \n{\ \n char * kc_sptr = kc_sbase;\ \n register int kc_ch, kc_ch", kc_current_view ); (*kc_printer)("1;\ \n register char kc_test;\ \n register int kc_i;\ \n\ \n for (kc_i=0; kc_iname );\ \n }\ \n break;\ \n case (int)sel_NoCaseStr:\ \n if (kc_read_sharing_find_base( kc_stream, &kc_sbase ) ==", kc_current_view ); (*kc_printer)(" KC_NOT_READ_YET) {\ \n kc_not_read_yet = True;\ \n kc_do_get_int(kc_delim,getc(kc_stream),kc_len,kc_stream);\ \n if ( kc_delim == EOF )\ \n longjmp(kc_priv_env, (int)KC_CSGIOSTATUS_SCAN_ERR_1", kc_current_view ); (*kc_printer)(");\ \n kc_sbase = (char *) KC_GETMALLOCAREA((kc_size_t)(kc_len + 1)); /* +1 for '\\0' */\ \n kc_CSGIOdo_read_atom_denotation(kc_stream, kc_sbase, kc_len);\ \n }\ \n kc_answer.yt_nocasestring = mk", kc_current_view ); (*kc_printer)("nocasestring( kc_sbase );\ \n if (kc_not_read_yet) {\ \n kc_read_sharing_store_base( kc_answer.yt_nocasestring->name );\ \n }\ \n break;\ \n default: {\ \n YYSTYPE kc_subtmp[", kc_current_view); } { #line 5911 "../gen.k" int i = last_argsnumbers( Theargsnumbers ); if (i<=0) i = 1; #line 1970 "unpk.c" unparse_int(i, kc_printer, kc_current_view); } { (*kc_printer)("];\ \n int kc_i;\ \n for (kc_i = 0; kc_i < kc_OperatorInfo[kc_op].no_sons; kc_i++) {\ \n kc_subtmp[kc_i] = kc_CSGIOread2dft(kc_stream, kc_OperatorInfo[kc_op].subphylum[kc_i] );\ \n }\ \n", kc_current_view); } #line 5918 "../gen.k" if (cg_bigatomoperators && length_operators(cg_bigatomoperators) > 0) #line 1981 "unpk.c" { { (*kc_printer)(" switch(kc_op) {\ \n", kc_current_view); } unparse_operators(cg_bigatomoperators, kc_printer, kc_current_view); { (*kc_printer)(" default:\ \n", kc_current_view); } } { (*kc_printer)(" switch(kc_OperatorInfo[kc_op].no_sons) {\ \n", kc_current_view); } unparse_argsnumbers(Theargsnumbers, kc_printer, kc_current_view); { (*kc_printer)(" default:\ \n /*SUPPRESS 622*/\ \n assertReason(kc_zero_constant, \"unexpected number of sub-phyla\"); break;\ \n }\ \n", kc_current_view); } #line 5933 "../gen.k" if (cg_bigatomoperators && length_operators(cg_bigatomoperators) > 0) #line 1999 "unpk.c" { { (*kc_printer)(" break;\ \n }\ \n", kc_current_view); } } { (*kc_printer)(" }}\ \n kc_read_sharing_store( kc_answer, kc_location );\ \n return kc_answer;\ \n}\ \n\ \nstatic KC_IO_RETURN kc_CSGIOreadphylum\ \n#ifdef KC_USE_PROTOTYPES\ \n(FILE *kc_stream, YYSTYPE *kc_ptr, kc_en", kc_current_view ); (*kc_printer)("um_phyla kc_phylum)\ \n#else\ \n(kc_stream, kc_ptr, kc_phylum) FILE *kc_stream; YYSTYPE *kc_ptr; kc_enum_phyla kc_phylum;\ \n#endif\ \n{ KC_IO_STATUS kc_answer;\ \n int kc_scan_return_code;\ \n char kc", kc_current_view ); (*kc_printer)("_magic_no[KC_MAGIC_LENGTH];\ \n char kc_dollarcode[KC_OP_LENGTH];\ \n char kc_ext_name[KC_OP_LENGTH];\ \n int kc_operator, kc_node_count, kc_node_count_base;\ \n\ \n kc_csgio_err_reason = \"\";\ \n kc_", kc_current_view ); (*kc_printer)("scan_return_code = fscanf( kc_stream, KC_MAGIC_READ_FORMAT, kc_magic_no );\ \n if ( kc_scan_return_code != 1 )\ \n return( kc_io_return(KC_CSGIOSTATUS_GRAM_INCONSISTENT, \"magic string not scanned\") ", kc_current_view ); (*kc_printer)(");\ \n if ( strcmp( kc_magic_no, kc_ascii_prefix_magic_v3 ) != 0 )\ \n return( kc_io_return(KC_CSGIOSTATUS_GRAM_INCONSISTENT,\"scanned magic string is not asc_ssl_v3 magic string\") );\ \n if ( fscanf", kc_current_view ); (*kc_printer)("( kc_stream, \"$%[^ ] \\n\", kc_dollarcode ) != 1 )\ \n return( kc_io_return(KC_CSGIOSTATUS_GRAM_INCONSISTENT,\"problems finding $ before operators\") );\ \n while ( strcmp( kc_dollarcode, \"operators", kc_current_view ); (*kc_printer)("\" ) != 0 ) {\ \n if ( fscanf( kc_stream, \"%*[^$]$%[^ ] \\n\", kc_dollarcode) != 1 )\ \n return( kc_io_return(KC_CSGIOSTATUS_GRAM_INCONSISTENT,\"problems finding operators keyword\") );\ \n }\ \n /", kc_current_view ); (*kc_printer)("* read all external operator definitions and initialize map */\ \n kc_no_external_ops = 0;\ \n kc_initializeOpToOpMap(KC_NOT_FOUND_OPERATOR);\ \n while ( ! kc_zero_constant ) {\ \n int kc_ext_arity, k", kc_current_view ); (*kc_printer)("c_ext_attr_arity, kc_ext_atomicity;\ \n\ \n if ( fscanf( kc_stream, \"%[^ ] \", kc_ext_name ) != 1 )\ \n return( kc_io_return(KC_CSGIOSTATUS_SCAN_ERR_3, \"no operator name at start of line\") );\ \n", kc_current_view ); (*kc_printer)(" else if ( kc_ext_name[0] == '$' )\ \n break;\ \n else if ( fscanf( kc_stream, \"%d %d %d\\n\", &kc_ext_arity, &kc_ext_attr_arity, &kc_ext_atomicity ) != 3 )\ \n return( kc_io_return(KC_CSGIOSTAT", kc_current_view ); (*kc_printer)("US_SCAN_ERR_4, \"no arity, attr_arity or atomicity\") );\ \n else {\ \n kc_operator = kc_op_search( kc_ext_name );\ \n if ( ( kc_operator == KC_NOT_FOUND_OPERATOR ) ||\ \n ( KC_NO_SONS( kc_ope", kc_current_view ); (*kc_printer)("rator ) != kc_ext_arity ) ||\ \n ( KC_ATOMICITY( kc_operator) != kc_ext_atomicity )\ \n )\ \n return( kc_io_return(KC_CSGIOSTATUS_GRAM_INCONSISTENT, kc_str_conc2(\"problems with operator: \"", kc_current_view ); (*kc_printer)(",kc_ext_name)) );\ \n else {\ \n KC_MAKE_NEW_MAPPING( kc_no_external_ops, kc_operator );\ \n kc_no_external_ops++;\ \n } } }\ \n kc_answer = (KC_IO_STATUS) setjmp( kc_priv_env );\ \n if ( kc_an", kc_current_view ); (*kc_printer)("swer != KC_CSGIOSTATUS_NO_ERR )\ \n /* longjmp was called if we get here */\ \n return( kc_io_return(kc_answer, kc_csgio_err_reason));\ \n else {\ \n /* ascertain that we are at the $object section,", kc_current_view ); (*kc_printer)(" or get to that point */\ \n if ( strcmp( kc_ext_name, \"$object\" ) != 0 ) /* if not at $object */\ \n while ( strcmp( kc_ext_name, \"object\" ) != 0 ) {\ \n if ( fscanf( kc_stream, \"%*[^$]$%[^", kc_current_view ); (*kc_printer)(" ]\", kc_ext_name ) != 1 )\ \n return( kc_io_return(KC_CSGIOSTATUS_GRAM_INCONSISTENT, kc_str_conc2(\"problems finding start of object section\",\"\")) );\ \n }\ \n\ \n /* read node_count; set up", kc_current_view ); (*kc_printer)(" address map */\ \n if (fscanf(kc_stream, \"%d %d\\n\", &kc_node_count, &kc_node_count_base) != 2)\ \n longjmp(kc_priv_env, (int)KC_CSGIOSTATUS_SCAN_ERR_1);\ \n kc_init_read_sharing(kc_node_count, ", kc_current_view ); (*kc_printer)("kc_node_count_base); /* for shared values */\ \n\ \n /* read the tree (actually a graph) */\ \n *kc_ptr = kc_CSGIOread2dft( kc_stream, kc_phylum );\ \n kc_end_read_sharing(); /* for atomic values */", kc_current_view ); (*kc_printer)("\ \n\ \n kc_answer = KC_CSGIOSTATUS_ROK;\ \n }\ \n return( kc_io_return(kc_answer, \"\") );\ \n}\ \n\ \n", kc_current_view); } unparse_phylumdeclarations(pds, kc_printer, view_gen_csgio_c_read); { (*kc_printer)("#endif /* ! KC_NO_CSGIO_READ */\ \n\ \n#ifndef KC_NO_CSGIO_WRITE\ \nstatic int kc_node_count;\ \nstatic int kc_node_count_base;\ \n\ \nstatic void kc_print_to_file\ \n#ifdef KC_USE_PROTOTYPES\ \n(FILE ", kc_current_view ); (*kc_printer)("*kc_f, char *kc_value)\ \n#else\ \n(kc_f, kc_value) FILE *kc_f; char *kc_value;\ \n#endif\ \n{ register unsigned char *kc_vptr = (unsigned char*)kc_value;\ \n register int kc_len = strlen(kc_value);\ \n", kc_current_view ); (*kc_printer)(" register int kc_i;\ \n static char kc_hex_digit[] = \"0123456789abcdef\";\ \n\ \n (void)fprintf(kc_f, \"%d \", kc_len);\ \n for (kc_i=0; kc_i_ptr)--;\ \n kc_f->_cnt++;\ \n *************", kc_current_view ); (*kc_printer)("****************/\ \n}\ \n\ \nstatic void kc_print_b64_to_file\ \n#ifdef KC_USE_PROTOTYPES\ \n(FILE *kc_f, int kc_value)\ \n#else\ \n(kc_f, kc_value) FILE *kc_f; int kc_value;\ \n#endif\ \n{ unsigned i", kc_current_view ); (*kc_printer)("nt kc_pos_value; \ \n\ \n if (kc_value == 0) {\ \n (void)putc(KC_B64_ZERO_CHAR, kc_f);\ \n } else {\ \n kc_pos_value = abs(kc_value);\ \n while (kc_pos_value != 0) {\ \n (void)putc((int)((k", kc_current_view ); (*kc_printer)("c_pos_value & KC_SIX_BIT_MASK) + KC_B64_ZERO_CHAR), kc_f);\ \n kc_pos_value >>= 6;\ \n }\ \n if (kc_value < 0) {\ \n (void)putc('-', kc_f);\ \n }\ \n }\ \n (void)putc('\\n', kc_f);\ \n}\ \n\ \n", kc_current_view); } unparse_phyla(cg_bigatomphyla, kc_printer, view_gen_csgio_scandefs_c); { (*kc_printer)("static void kc_CSGIOscan\ \n#ifdef KC_USE_PROTOTYPES\ \n(FILE *kc_stream, kc_voidptr_t kc_p, kc_enum_phyla kc_phylum)\ \n#else\ \n(kc_stream, kc_p, kc_phylum) FILE *kc_stream; kc_voidptr_t kc_p; kc_enu", kc_current_view ); (*kc_printer)("m_phyla kc_phylum;\ \n#endif\ \n{ int kc_i;\ \n kc_enum_operators kc_prodsel;\ \n kc_hashnode_t kc_hn;\ \n YYSTYPE kc_yt;\ \n", kc_current_view); } unparse_phyla(cg_bigatomphyla, kc_printer, view_gen_csgio_scandef_c); { (*kc_printer)(" /*SUPPRESS 622*/\ \n assertPhylum(((casestring)kc_p),\"kc_p\",kc_phylum);\ \n kc_prodsel = (kc_phylum == kc_phylum_voidptr ? sel__VoidPtr :\ \n ((casestring)kc_p)->prod_sel);\ \n k", kc_current_view ); (*kc_printer)("c_yt.yt_voidptr = kc_p;\ \n kc_hn = (*kc_mkhashnode)(kc_yt, kc_CSGIOhashtable, kc_phylum);\ \n if (kc_hn->number == -1) {\ \n kc_hn->number = kc_node_count++;\ \n KC_MAKE_NEW_SCAN_MAPPING( (int)kc_pr", kc_current_view ); (*kc_printer)("odsel );\ \n switch((int)kc_prodsel) {\ \n case (int)sel__VoidPtr:\ \n break;\ \n case (int)sel__Str:\ \n case (int)sel_NoCaseStr:\ \n kc_yt.yt_voidptr = (kc_voidptr_t)((casestring)kc_p)->name;", kc_current_view ); (*kc_printer)("\ \n kc_hn = (*kc_mkhashnode)( kc_yt, kc_CSGIOhashtable, kc_phylum_voidptr);\ \n if (kc_hn->number == -1) {\ \n kc_hn->number = kc_node_count_base++;\ \n }\ \n break;\ \n", kc_current_view); } #line 6112 "../gen.k" if (cg_bigatomoperators && length_operators(cg_bigatomoperators) > 0) #line 2210 "unpk.c" { unparse_operators(cg_bigatomoperators, kc_printer, view_gen_csgio_scandef_c); } { (*kc_printer)(" default:\ \n for (kc_i=0; kc_i < kc_OperatorInfo[(int)kc_prodsel].no_sons; kc_i++) {\ \n kc_CSGIOscan( kc_stream, (kc_voidptr_t)KC_SUBPHYLUM(kc_p, kc_OperatorInfo[(int)kc_prodsel].suboffset[kc_i", kc_current_view ); (*kc_printer)("]), kc_OperatorInfo[(int)kc_prodsel].subphylum[kc_i] );\ \n} } } }\ \n\ \n", kc_current_view); } unparse_phyla(cg_bigatomphyla, kc_printer, view_gen_csgio_write2structuredefs_c); { (*kc_printer)("static void kc_CSGIOwrite2structure\ \n#ifdef KC_USE_PROTOTYPES\ \n(FILE *kc_stream, kc_voidptr_t kc_p, kc_enum_phyla kc_phylum)\ \n#else\ \n(kc_stream, kc_p, kc_phylum) FILE *kc_stream; kc_voidptr_t k", kc_current_view ); (*kc_printer)("c_p; kc_enum_phyla kc_phylum;\ \n#endif\ \n{ int kc_i;\ \n kc_enum_operators kc_prodsel;\ \n kc_hashnode_t kc_hn;\ \n YYSTYPE kc_yt;\ \n", kc_current_view); } unparse_phyla(cg_bigatomphyla, kc_printer, view_gen_csgio_write2structuredef_c); { (*kc_printer)(" /*SUPPRESS 622*/\ \n assertPhylum(((casestring)kc_p),\"kc_p\",kc_phylum);\ \n kc_prodsel = (kc_phylum == kc_phylum_voidptr ? sel__VoidPtr :\ \n ((casestring)kc_p)->prod_sel);\ \n k", kc_current_view ); (*kc_printer)("c_yt.yt_voidptr = kc_p;\ \n kc_hn = (*kc_mkhashnode)(kc_yt, kc_CSGIOhashtable, kc_phylum);\ \n if (kc_hn->created) {\ \n kc_print_b64_to_file( kc_stream, kc_file_offset - kc_hn->number );\ \n } else {", kc_current_view ); (*kc_printer)("\ \n kc_hn->created = True;\ \n (void)fprintf( kc_stream, \"%d\\n\", KC_MAP( (int)kc_prodsel ) );\ \n kc_file_offset++;\ \n switch((int)kc_prodsel) {\ \n case (int)sel__VoidPtr: {\ \n /* FATAL E", kc_current_view ); (*kc_printer)("RROR */\ \n char kc_value[30];\ \n (void)sprintf( kc_value, \"%p\", kc_p);\ \n kc_print_to_file( kc_stream, kc_value );\ \n break; }\ \n case (int)sel__Str:\ \n case (int)sel_NoCaseStr:\ \n ", kc_current_view ); (*kc_printer)(" kc_yt.yt_voidptr = (kc_voidptr_t) ((casestring)kc_p)->name;\ \n kc_hn = (*kc_mkhashnode)(kc_yt, kc_CSGIOhashtable, kc_phylum_voidptr);\ \n if (kc_hn->created) {\ \n kc_print_b64_to_file( kc_str", kc_current_view ); (*kc_printer)("eam, kc_file_offset_base - kc_hn->number );\ \n } else {\ \n kc_hn->created = True;\ \n (void)fprintf( kc_stream, \"%c\", KC_NON_B64_CHAR );\ \n kc_print_to_file( kc_stream, ((casestring)kc_", kc_current_view ); (*kc_printer)("p)->name );\ \n kc_file_offset_base++;\ \n }\ \n break;\ \n", kc_current_view); } #line 6167 "../gen.k" if (cg_bigatomoperators && length_operators(cg_bigatomoperators) > 0) #line 2276 "unpk.c" { unparse_operators(cg_bigatomoperators, kc_printer, view_gen_csgio_write2structuredef_c); } { (*kc_printer)(" default:\ \n for (kc_i=0; kc_i < kc_OperatorInfo[(int)kc_prodsel].no_sons; kc_i++) {\ \n kc_CSGIOwrite2structure( kc_stream, (kc_voidptr_t)KC_SUBPHYLUM(kc_p, kc_OperatorInfo[(int)kc_prodsel].sub", kc_current_view ); (*kc_printer)("offset[kc_i]), kc_OperatorInfo[(int)kc_prodsel].subphylum[kc_i] );\ \n} } } }\ \n\ \nstatic int kc_CSGIO_hashtablesize = 5000;\ \nint kc_set_csgio_hashtablesize\ \n#ifdef KC_USE_PROTOTYPES\ \n(int kc_i", kc_current_view ); (*kc_printer)(")\ \n#else\ \n(kc_i) int kc_i;\ \n#endif\ \n{ int kc_tmp = kc_CSGIO_hashtablesize;\ \n kc_CSGIO_hashtablesize = kc_i;\ \n return kc_tmp;\ \n}\ \n\ \nstatic KC_IO_RETURN kc_CSGIOwritephylum\ \n#ifdef K", kc_current_view ); (*kc_printer)("C_USE_PROTOTYPES\ \n(FILE *kc_stream, YYSTYPE kc_p, kc_enum_phyla kc_phylum)\ \n#else\ \n(kc_stream, kc_p, kc_phylum) FILE *kc_stream; YYSTYPE kc_p; kc_enum_phyla kc_phylum;\ \n#endif\ \n{ int kc_i;\ \n", kc_current_view ); (*kc_printer)(" kc_hashnode_t (*kc_old_mkhashnode)KC__P((YYSTYPE, kc_hashtable_t, kc_enum_phyla)) = kc_mkhashnode;\ \n\ \n kc_csgio_err_reason = \"\";\ \n\ \n if (kc_CSGIOsharing) {\ \n kc_CSGIOhashtable = kc_ht_cre", kc_current_view ); (*kc_printer)("ate_simple(kc_CSGIO_hashtablesize);\ \n kc_mkhashnode = kc_mksharinghashnode;\ \n } else {\ \n kc_mkhashnode = kc_mknonsharinghashnode;\ \n }\ \n\ \n /* write out the magic string and $operators stri", kc_current_view ); (*kc_printer)("ng */\ \n (void)fprintf( kc_stream, \"%s\\n$operators \\n\", kc_ascii_prefix_magic_v3 );\ \n\ \n /* Initialize map from internal operators to external operators, */\ \n /* initially empty */\ \n kc_no_", kc_current_view ); (*kc_printer)("external_ops = 0;\ \n kc_node_count = 0;\ \n kc_node_count_base = 0;\ \n kc_initializeOpToOpMap(0); /* initialize to 0, not an other value */\ \n\ \n /* write out grammar and compute OpToOpMap[] */\ \n", kc_current_view); } #line 6217 "../gen.k" if (cg_bigatomphyla && length_phyla(cg_bigatomphyla) > 0) #line 2336 "unpk.c" { { (*kc_printer)(" switch(kc_phylum) {\ \n", kc_current_view); } unparse_phyla(cg_bigatomphyla, kc_printer, view_gen_csgio_writephylumdef_scan_c); { (*kc_printer)(" default:\ \n", kc_current_view); } } { (*kc_printer)(" kc_CSGIOscan( kc_stream, kc_p.yt_voidptr, kc_phylum );\ \n", kc_current_view); } #line 6226 "../gen.k" if (cg_bigatomphyla && length_phyla(cg_bigatomphyla) > 0) #line 2348 "unpk.c" { { (*kc_printer)(" }\ \n", kc_current_view); } } { (*kc_printer)(" /* sort the optoopmap on decreasing operator usage */\ \n kc_sort_rightOpToOpMap();\ \n kc_renumberOpToOpMap();\ \n \ \n /* write out the _sorted_ operator table */\ \n for(kc_i = 0; kc_i < KC_NO_OF_", kc_current_view ); (*kc_printer)("OPERATORS; kc_i++) {\ \n if (kc_OpToOpMap[kc_i].right != KC_NOT_USED) {\ \n (void)fprintf( kc_stream, \"%s %d %d %d\\n\", KC_OP_NAME( kc_OpToOpMap[kc_i].left), KC_NO_SONS( kc_OpToOpMap[kc_i].left ),", kc_current_view ); (*kc_printer)(" 0, KC_ATOMICITY( kc_OpToOpMap[kc_i].left ) );\ \n } }\ \n\ \n /* sort the optoopmap increasing on the operator number */\ \n kc_sort_leftOpToOpMap();\ \n\ \n /* write out the grammar terminator string", kc_current_view ); (*kc_printer)(" and the number of nodes */\ \n (void)fprintf( kc_stream, \"$object \\n%d %d\\n\", kc_node_count, kc_node_count_base );\ \n\ \n /* write out the tree */\ \n kc_file_offset = 0;\ \n kc_file_offset_base ", kc_current_view ); (*kc_printer)("= 0;\ \n", kc_current_view); } #line 6250 "../gen.k" if (cg_bigatomphyla && length_phyla(cg_bigatomphyla) > 0) #line 2379 "unpk.c" { { (*kc_printer)(" switch(kc_phylum) {\ \n", kc_current_view); } unparse_phyla(cg_bigatomphyla, kc_printer, view_gen_csgio_writephylumdef_write_c); { (*kc_printer)(" default:\ \n", kc_current_view); } } { (*kc_printer)(" kc_CSGIOwrite2structure( kc_stream, kc_p.yt_voidptr, kc_phylum );\ \n", kc_current_view); } #line 6259 "../gen.k" if (cg_bigatomphyla && length_phyla(cg_bigatomphyla) > 0) #line 2391 "unpk.c" { { (*kc_printer)(" }\ \n", kc_current_view); } } { (*kc_printer)("\ \n if (kc_CSGIOsharing) {\ \n kc_ht_delete(kc_CSGIOhashtable);\ \n }\ \n kc_mkhashnode = kc_old_mkhashnode;\ \n\ \n return( kc_io_return(KC_CSGIOSTATUS_WOK, kc_csgio_err_reason) );\ \n}\ \n\ \n", kc_current_view); } unparse_phylumdeclarations(pds, kc_printer, view_gen_csgio_c_write); { (*kc_printer)("#endif /* ! KC_NO_CSGIO_WRITE */\ \n\ \n", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_csgio_start_c: { if (( kc_p->prod_sel == sel_PhylumDeclarations)) { { (*kc_printer)("/*LINTLIBRARY*/\ \n/* translation of file(s)\ \n", kc_current_view); } unparse_fnfiles(Thefnfiles, kc_printer, kc_current_view); { (*kc_printer)(" */\ \n/* generated by:\ \n * ", kc_current_view); } unparse_charptr(kimwitu_copyright, kc_printer, kc_current_view); { (*kc_printer)("\ \n */\ \n#define KC_CSGIO\ \n#define KIMW_CSGIO /* for backwards compatibility */\ \n/* define our own macro if we have a 'standard' (ansi) C(++) compiler */\ \n#ifndef KC_NO_STDC\ \n# if defined(__S", kc_current_view ); (*kc_printer)("TDC__) || defined(__cplusplus) || defined(_WIN32)\ \n# define KC_STDC\ \n# endif\ \n#endif\ \n#include \ \n#include \ \n#include \ \n#include \ \n#if ((! defined(", kc_current_view ); (*kc_printer)("KC_STDC) ) && defined(sun))\ \n extern char *sprintf();\ \n#endif\ \n#ifdef KC_STDC\ \n# include \ \n#else\ \n extern double atof (/* char* */);\ \n#endif\ \n#include \"k.h\"\ \n#include \"", kc_current_view ); (*kc_printer)("csgiok.h\"\ \n", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_csgio_h: { if (( kc_p->prod_sel == sel_PhylumDeclarations)) { #line 5233 "../gen.k" phylumdeclarations pds = kc_p->u.PhylumDeclarations.phylumdeclarations_1; unparse_phylumdeclarations(pds, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_csgio_end_h: { if (( kc_p->prod_sel == sel_PhylumDeclarations)) { { (*kc_printer)("#endif /* ! KC_CSGIO_HEADER */\ \n\ \n", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_csgio_start_h: { if (( kc_p->prod_sel == sel_PhylumDeclarations)) { { (*kc_printer)("/* translation of file(s)\ \n", kc_current_view); } unparse_fnfiles(Thefnfiles, kc_printer, kc_current_view); { (*kc_printer)(" */\ \n/* generated by:\ \n * ", kc_current_view); } unparse_charptr(kimwitu_copyright, kc_printer, kc_current_view); { (*kc_printer)("\ \n */\ \n#ifndef KC_CSGIO_HEADER\ \n#define KC_CSGIO_HEADER\ \n#define KIMW_CSGIO_HEADER /* for backwards compatibility */\ \n/* define our own macro if we have a 'standard' (ansi) C(++) compiler */\ \n", kc_current_view ); (*kc_printer)("#ifndef KC_NO_STDC\ \n# if defined(__STDC__) || defined(__cplusplus) || defined(_WIN32)\ \n# define KC_STDC\ \n# endif\ \n#endif\ \n#include \"k.h\" /* in case a user forgets */\ \n\ \nint kc_set_csgi", kc_current_view ); (*kc_printer)("o_hashtablesize KC__P((int kc_i));\ \n\ \n", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_listdefs_c: { if (( kc_p->prod_sel == sel_PhylumDeclarations)) { #line 4821 "../gen.k" phylumdeclarations pds = kc_p->u.PhylumDeclarations.phylumdeclarations_1; { (*kc_printer)("static char *kc_error_concat = \"concat_\";\ \nstatic char *kc_error_reverse = \"reverse_\";\ \nstatic char *kc_error_length = \"length_\";\ \nstatic char *kc_error_last = \"last_\";\ \nstatic char *kc", kc_current_view ); (*kc_printer)("_error_last_with_nil_argument = \"Internal Error: last_%s was called with argument Nil%s\\n\";\ \nstatic char *kc_error_map = \"map_\";\ \nstatic char *kc_error_filter = \"filter_\";\ \nstatic char *kc", kc_current_view ); (*kc_printer)("_error_freelist = \"freelist_\";\ \n\ \nstatic int kc_do_length_phylum\ \n#ifdef KC_USE_PROTOTYPES\ \n(kc_voidptr_t kc_p, kc_enum_phyla kc_phylum )\ \n#else\ \n(kc_p, kc_phylum) kc_voidptr_t kc_p; kc_e", kc_current_view ); (*kc_printer)("num_phyla kc_phylum;\ \n#endif\ \n{ boolean kc_not_ready = True;\ \n int kc_length = 0;\ \n kc_enum_operators kc_prodsel;\ \n while(kc_not_ready) {\ \n /*SUPPRESS 622*/\ \n assertPhylum(((casestring)", kc_current_view ); (*kc_printer)("kc_p),\"kc_p\",kc_phylum);\ \n kc_prodsel = ((casestring)kc_p)->prod_sel;\ \n if (kc_prodsel == kc_PhylumInfo[(int)kc_phylum].first_operator) {\ \n kc_not_ready=False;\ \n } else if (kc_prodsel ==", kc_current_view ); (*kc_printer)(" kc_PhylumInfo[(int)kc_phylum].last_operator) {\ \n kc_length++;\ \n kc_p = (kc_voidptr_t)KC_SUBPHYLUM(kc_p, kc_OperatorInfo[(int)kc_prodsel].suboffset[1]);\ \n } else {\ \n kc_invalid_operator(", kc_current_view ); (*kc_printer)("kc_error_length, kc_phylum, __LINE__, __FILE__, (int)kc_prodsel);/*NOTREACHED*/\ \n } }\ \n return kc_length;\ \n}\ \n\ \nstatic void kc_do_freelist_phylum\ \n#ifdef KC_USE_PROTOTYPES\ \n(kc_voidptr_t ", kc_current_view ); (*kc_printer)("kc_p, kc_enum_phyla kc_phylum )\ \n#else\ \n(kc_p, kc_phylum) kc_voidptr_t kc_p; kc_enum_phyla kc_phylum;\ \n#endif\ \n{ boolean kc_not_ready = True;\ \n kc_enum_operators kc_prodsel;\ \n kc_voidptr_t ", kc_current_view ); (*kc_printer)("kc_tmp_p;\ \n while(kc_not_ready) {\ \n /*SUPPRESS 622*/\ \n assertPhylum(((casestring)kc_p),\"kc_p\",kc_phylum);\ \n kc_prodsel = ((casestring)kc_p)->prod_sel;\ \n if (kc_prodsel == kc_PhylumInfo[", kc_current_view ); (*kc_printer)("(int)kc_phylum].first_operator) {\ \n kc_do_free_phylum(kc_p, False, kc_phylum);\ \n kc_not_ready=False;\ \n } else if (kc_prodsel == kc_PhylumInfo[(int)kc_phylum].last_operator) {\ \n kc_tmp_p ", kc_current_view ); (*kc_printer)("= kc_p;\ \n kc_p = (kc_voidptr_t)KC_SUBPHYLUM(kc_p, kc_OperatorInfo[(int)kc_prodsel].suboffset[1]);\ \n kc_do_free_phylum(kc_tmp_p, False, kc_phylum);\ \n } else {\ \n kc_invalid_operator(kc_err", kc_current_view ); (*kc_printer)("or_freelist, kc_phylum, __LINE__, __FILE__, (int)kc_prodsel);/*NOTREACHED*/\ \n} } }\ \n\ \nstatic kc_voidptr_t kc_do_concat_phylum\ \n#ifdef KC_USE_PROTOTYPES\ \n(kc_voidptr_t kc_p1, kc_voidptr_t kc_p", kc_current_view ); (*kc_printer)("2, kc_enum_phyla kc_phylum)\ \n#else\ \n(kc_p1, kc_p2, kc_phylum) kc_voidptr_t kc_p1, kc_p2; kc_enum_phyla kc_phylum;\ \n#endif\ \n{ kc_enum_operators kc_prodsel;\ \n /*SUPPRESS 622*/\ \n assertPhylum(", kc_current_view ); (*kc_printer)("((casestring)kc_p1),\"kc_p1\",kc_phylum);\ \n kc_prodsel = ((casestring)kc_p1)->prod_sel;\ \n if (kc_prodsel == kc_PhylumInfo[(int)kc_phylum].first_operator) {\ \n return kc_p2;\ \n } else if (kc_prod", kc_current_view ); (*kc_printer)("sel == kc_PhylumInfo[(int)kc_phylum].last_operator) {\ \n return (kc_voidptr_t)(*kc_OperatorInfo[(int)kc_prodsel].create_routine)(\ \n kc_prodsel,\ \n (kc_voidptr_t)KC_SUBPHYLUM(kc_p1, kc_Operator", kc_current_view ); (*kc_printer)("Info[(int)kc_prodsel].suboffset[0]),\ \n kc_do_concat_phylum( (kc_voidptr_t)KC_SUBPHYLUM(kc_p1, kc_OperatorInfo[(int)kc_prodsel].suboffset[1]), kc_p2, kc_phylum ) );\ \n } else {\ \n kc_invalid_ope", kc_current_view ); (*kc_printer)("rator(kc_error_concat, kc_phylum, __LINE__, __FILE__, (int)kc_prodsel);/*NOTREACHED*/return (kc_voidptr_t)0;\ \n} }\ \n\ \nstatic kc_voidptr_t kc_do_reverse_phylum\ \n#ifdef KC_USE_PROTOTYPES\ \n(kc_vo", kc_current_view ); (*kc_printer)("idptr_t kc_p, kc_enum_phyla kc_phylum)\ \n#else\ \n(kc_p, kc_phylum) kc_voidptr_t kc_p; kc_enum_phyla kc_phylum;\ \n#endif\ \n{ boolean kc_not_ready = True;\ \n kc_enum_operators kc_prodsel;\ \n KC_PHY", kc_current_view ); (*kc_printer)("LUM_INFO *kc_phy_info = &kc_PhylumInfo[(int)kc_phylum];\ \n KC_OPERATOR_INFO *kc_firstop_info = &kc_OperatorInfo[(int)kc_phy_info->first_operator];\ \n KC_OPERATOR_INFO *kc_lastop_info = &kc_OperatorIn", kc_current_view ); (*kc_printer)("fo[(int)kc_phy_info->last_operator];\ \n kc_voidptr_t kc_tmp = (*kc_firstop_info->create_routine)(kc_phy_info->first_operator);\ \n while(kc_not_ready) {\ \n /*SUPPRESS 622*/\ \n assertPhylum(((cases", kc_current_view ); (*kc_printer)("tring)kc_p),\"kc_p\",kc_phylum);\ \n kc_prodsel = ((casestring)kc_p)->prod_sel;\ \n if (kc_prodsel == kc_phy_info->first_operator) {\ \n kc_not_ready=False;\ \n } else if (kc_prodsel == kc_phy_inf", kc_current_view ); (*kc_printer)("o->last_operator) {\ \n kc_tmp = (kc_voidptr_t)(*kc_lastop_info->create_routine)(kc_prodsel, (kc_voidptr_t)KC_SUBPHYLUM(kc_p, kc_lastop_info->suboffset[0]), kc_tmp);\ \n kc_p = (kc_voidptr_t)KC_SUB", kc_current_view ); (*kc_printer)("PHYLUM(kc_p, kc_lastop_info->suboffset[1]);\ \n } else {\ \n kc_invalid_operator(kc_error_reverse, kc_phylum, __LINE__, __FILE__, (int)kc_prodsel);/*NOTREACHED*/\ \n } }\ \n return kc_tmp;\ \n}\ \n\ \n", kc_current_view ); (*kc_printer)("static kc_voidptr_t kc_do_last_phylum\ \n#ifdef KC_USE_PROTOTYPES\ \n(kc_voidptr_t kc_p, kc_enum_phyla kc_phylum)\ \n#else\ \n(kc_p, kc_phylum) kc_voidptr_t kc_p; kc_enum_phyla kc_phylum;\ \n#endif\ \n", kc_current_view ); (*kc_printer)("{ boolean kc_not_ready = True;\ \n kc_voidptr_t kc_tmp = (kc_voidptr_t)0;\ \n kc_enum_operators kc_prodsel;\ \n KC_PHYLUM_INFO *kc_phy_info = &kc_PhylumInfo[(int)kc_phylum];\ \n KC_OPERATOR_INFO *kc_la", kc_current_view ); (*kc_printer)("stop_info = &kc_OperatorInfo[(int)kc_phy_info->last_operator];\ \n /*SUPPRESS 622*/\ \n assertPhylum(((casestring)kc_p),\"kc_p\",kc_phylum);\ \n if (((casestring)kc_p)->prod_sel == kc_phy_info->first_o", kc_current_view ); (*kc_printer)("perator) {\ \n (void)fflush(stdout); (void)fprintf(stderr, kc_error_last_with_nil_argument, kc_phy_info->name, kc_phy_info->name); exit( 1 ); /*NOTREACHED*/\ \n }\ \n while(kc_not_ready) {\ \n /*SUP", kc_current_view ); (*kc_printer)("PRESS 622*/\ \n assertPhylum(((casestring)kc_p),\"kc_p\",kc_phylum);\ \n kc_prodsel = ((casestring)kc_p)->prod_sel;\ \n if (kc_prodsel == kc_phy_info->first_operator) {\ \n kc_not_ready=False;\ \n", kc_current_view ); (*kc_printer)(" } else if (kc_prodsel == kc_phy_info->last_operator) {\ \n kc_tmp = (kc_voidptr_t)KC_SUBPHYLUM(kc_p, kc_lastop_info->suboffset[0]);\ \n kc_p = (kc_voidptr_t)KC_SUBPHYLUM(kc_p, kc_lastop_info->sub", kc_current_view ); (*kc_printer)("offset[1]);\ \n } else {\ \n kc_invalid_operator(kc_error_last, kc_phylum, __LINE__, __FILE__, (int)kc_prodsel);/*NOTREACHED*/\ \n } }\ \n return kc_tmp;\ \n}\ \n\ \nstatic kc_voidptr_t kc_do_map_ph", kc_current_view ); (*kc_printer)("ylum\ \n#ifdef KC_USE_PROTOTYPES\ \n(kc_voidptr_t kc_p, kc_voidptr_t (*kc_fp)(kc_voidptr_t), kc_enum_phyla kc_phylum)\ \n#else\ \n(kc_p, kc_fp, kc_phylum) kc_voidptr_t kc_p; kc_voidptr_t (*kc_fp)KC__P(", kc_current_view ); (*kc_printer)("(kc_voidptr_t)); kc_enum_phyla kc_phylum;\ \n#endif\ \n{ kc_enum_operators kc_prodsel;\ \n /*SUPPRESS 622*/\ \n assertPhylum(((casestring)kc_p),\"kc_p\",kc_phylum);\ \n kc_prodsel = ((casestring)kc_p)-", kc_current_view ); (*kc_printer)(">prod_sel;\ \n if (kc_prodsel == kc_PhylumInfo[(int)kc_phylum].first_operator) {\ \n return kc_p;\ \n } else if (kc_prodsel == kc_PhylumInfo[(int)kc_phylum].last_operator) {\ \n return (kc_voidptr_t)", kc_current_view ); (*kc_printer)("(*kc_OperatorInfo[(int)kc_prodsel].create_routine)(\ \n kc_prodsel,\ \n (*kc_fp)((kc_voidptr_t)KC_SUBPHYLUM(kc_p, kc_OperatorInfo[(int)kc_prodsel].suboffset[0])),\ \n kc_do_map_phylum((kc_voidptr", kc_current_view ); (*kc_printer)("_t)KC_SUBPHYLUM(kc_p, kc_OperatorInfo[(int)kc_prodsel].suboffset[1]), kc_fp, kc_phylum));\ \n } else {\ \n kc_invalid_operator(kc_error_map, kc_phylum, __LINE__, __FILE__, (int)kc_prodsel);/*NOTREACHE", kc_current_view ); (*kc_printer)("D*/return (kc_voidptr_t)0;\ \n} }\ \n\ \nstatic kc_voidptr_t kc_do_filter_phylum\ \n#ifdef KC_USE_PROTOTYPES\ \n(kc_voidptr_t kc_p, boolean (*kc_fp)(kc_voidptr_t), kc_enum_phyla kc_phylum)\ \n#else\ \n", kc_current_view ); (*kc_printer)("(kc_p, kc_fp, kc_phylum) kc_voidptr_t kc_p; boolean (*kc_fp)KC__P((kc_voidptr_t)); kc_enum_phyla kc_phylum;\ \n#endif\ \n{ kc_enum_operators kc_prodsel;\ \n /*SUPPRESS 622*/\ \n assertPhylum(((casestri", kc_current_view ); (*kc_printer)("ng)kc_p),\"kc_p\",kc_phylum);\ \n kc_prodsel = ((casestring)kc_p)->prod_sel;\ \n if (kc_prodsel == kc_PhylumInfo[(int)kc_phylum].first_operator) {\ \n return kc_p;\ \n } else if (kc_prodsel == kc_Phyl", kc_current_view ); (*kc_printer)("umInfo[(int)kc_phylum].last_operator) {\ \n if ((*kc_fp)((kc_voidptr_t)KC_SUBPHYLUM(kc_p, kc_OperatorInfo[(int)kc_prodsel].suboffset[0]))) {\ \n return (kc_voidptr_t)(*kc_OperatorInfo[(int)kc_prodse", kc_current_view ); (*kc_printer)("l].create_routine)(\ \n kc_prodsel,\ \n (kc_voidptr_t)KC_SUBPHYLUM(kc_p, kc_OperatorInfo[(int)kc_prodsel].suboffset[0]),\ \n kc_do_filter_phylum((kc_voidptr_t)KC_SUBPHYLUM(kc_p, kc_OperatorInf", kc_current_view ); (*kc_printer)("o[(int)kc_prodsel].suboffset[1]), kc_fp, kc_phylum));\ \n } else {\ \n return kc_do_filter_phylum((kc_voidptr_t)KC_SUBPHYLUM(kc_p, kc_OperatorInfo[(int)kc_prodsel].suboffset[1]), kc_fp, kc_phylum);\ \n", kc_current_view ); (*kc_printer)(" }\ \n } else {\ \n kc_invalid_operator(kc_error_filter, kc_phylum, __LINE__, __FILE__, (int)kc_prodsel);/*NOTREACHED*/return (kc_voidptr_t)0;\ \n} }\ \n\ \n", kc_current_view); } unparse_phylumdeclarations(pds, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_listdecls_h: { if (( kc_p->prod_sel == sel_PhylumDeclarations)) { #line 4802 "../gen.k" phylumdeclarations pds = kc_p->u.PhylumDeclarations.phylumdeclarations_1; unparse_phylumdeclarations(pds, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_printdotdefs_c: { if (( kc_p->prod_sel == sel_PhylumDeclarations)) { #line 4308 "../gen.k" phylumdeclarations pds = kc_p->u.PhylumDeclarations.phylumdeclarations_1; unparse_phylumdeclarations(pds, kc_printer, view_gen_printdotdecls_c); { (*kc_printer)("\ \nstatic void kc_do_printdot_subgraph_prologue KC__P((FILE*, kc_voidptr_t, kc_enum_phyla, char*, char*, boolean, boolean));\ \nstatic void kc_do_printdot_subgraph_epilogue KC__P((FILE*));\ \nstatic v", kc_current_view ); (*kc_printer)("oid kc_do_printdot_genfields KC__P((FILE*, int, kc_enum_phyla, boolean));\ \nstatic void kc_do_printdot_id_of_phylum KC__P((FILE*, kc_voidptr_t, kc_enum_phyla, boolean, kc_voidptr_t, int));\ \nstatic v", kc_current_view ); (*kc_printer)("oid kc_do_printdot_do_add_edge KC__P((YYSTYPE, kc_enum_phyla, YYSTYPE, kc_enum_phyla, int, int*, kc_dotedgenode_t*, char*));\ \nstatic void kc_do_printdot_add_edge KC__P((kc_voidptr_t, kc_enum_phyla, k", kc_current_view ); (*kc_printer)("c_voidptr_t, kc_enum_phyla, int, int*, kc_dotedgenode_t*, char*));\ \nstatic void kc_do_printdot_edges KC__P((FILE*, kc_dotedgenode_t, char*, boolean));\ \nstatic void kc_do_printdot_phylum KC__P((FILE", kc_current_view ); (*kc_printer)("*, kc_voidptr_t, kc_enum_phyla, boolean, int*, kc_dotedgenode_t*, char*, boolean, boolean, kc_voidptr_t, int));\ \n\ \nstatic kc_hashtable_t kc_fprintdot_hashtable;\ \nstatic int kc_fprintdot_hashtable", kc_current_view ); (*kc_printer)("size = 5000;\ \nint kc_set_fprintdot_hashtablesize\ \n#ifdef KC_USE_PROTOTYPES\ \n(int kc_i)\ \n#else\ \n(kc_i) int kc_i;\ \n#endif\ \n{ int kc_tmp = kc_fprintdot_hashtablesize;\ \n kc_fprintdot_hashta", kc_current_view ); (*kc_printer)("blesize = kc_i;\ \n return kc_tmp;\ \n}\ \n\ \nstatic void kc_do_printdot_subgraph_prologue\ \n#ifdef KC_USE_PROTOTYPES\ \n(FILE *kc_f, kc_voidptr_t kc_p, kc_enum_phyla kc_phylum, char *kc_root, char ", kc_current_view ); (*kc_printer)("*kc_edge_attributes, boolean kc_phy_labels, boolean kc_use_ctxt)\ \n#else\ \n(kc_f, kc_p, kc_phylum, kc_root, kc_edge_attributes, kc_phy_labels, kc_use_ctxt) FILE *kc_f; kc_voidptr_t kc_p; kc_enum_phyl", kc_current_view ); (*kc_printer)("a kc_phylum; char *kc_root; char *kc_edge_attributes; boolean kc_phy_labels; boolean kc_use_ctxt;\ \n#endif\ \n{ if (!kc_f) kc_f = stdout;\ \n (void)fprintf(kc_f, \"/*subgraph*/ {\\n\");\ \n if (kc_roo", kc_current_view ); (*kc_printer)("t) {\ \n (void)fprintf(kc_f, \"\\\"%s\\\" [shape=ellipse\", kc_root);\ \n if (kc_edge_attributes && (strlen(kc_edge_attributes) > 0)) {\ \n (void)fprintf(kc_f, \", %s\", kc_edge_attributes);\ \n }", kc_current_view ); (*kc_printer)("\ \n if (kc_phy_labels) {\ \n (void)fprintf(kc_f, \", label=\\\"%s\\\\n%s\\\"\", kc_root, kc_PhylumInfo[kc_phylum].name);\ \n }\ \n (void)fprintf(kc_f, \"];\\n\");\ \n (void)fprintf(kc_f, \"\\\"%", kc_current_view ); (*kc_printer)("s\\\" ->\", kc_root);\ \n kc_do_printdot_id_of_phylum(kc_f, kc_p, kc_phylum, kc_use_ctxt, 0, 0);\ \n if (kc_edge_attributes && (strlen(kc_edge_attributes) > 0)) {\ \n (void)fprintf(kc_f, \"[%s]\", ", kc_current_view ); (*kc_printer)("kc_edge_attributes);\ \n }\ \n (void)fprintf(kc_f, \";\\n\");\ \n }\ \n} \ \n\ \nstatic void kc_do_printdot_subgraph_epilogue\ \n#ifdef KC_USE_PROTOTYPES\ \n(FILE *kc_f)\ \n#else\ \n(kc_f) FILE *kc_f", kc_current_view ); (*kc_printer)(";\ \n#endif\ \n{ if (!kc_f) kc_f = stdout;\ \n (void)fprintf(kc_f, \"}\\n\");\ \n}\ \n \ \nvoid fprintdotprologue\ \n#ifdef KC_USE_PROTOTYPES\ \n(FILE *kc_f)\ \n#else\ \n(kc_f) FILE *kc_f;\ \n#endif\ \n", kc_current_view ); (*kc_printer)("{ if (!kc_f) kc_f = stdout;\ \n (void)fprintf(kc_f, \"digraph kc_output{\\n\");\ \n (void)fprintf(kc_f, \"node [shape=record, height=.1, fontname=Helvetica];\\n\");\ \n} \ \n\ \nvoid fprintdotepilogue\ \n", kc_current_view ); (*kc_printer)("#ifdef KC_USE_PROTOTYPES\ \n(FILE *kc_f)\ \n#else\ \n(kc_f) FILE *kc_f;\ \n#endif\ \n{ if (!kc_f) kc_f = stdout;\ \n (void)fprintf(kc_f, \"}\\n\");\ \n}\ \n \ \nstatic void kc_do_printdot_genfields\ \n", kc_current_view ); (*kc_printer)("#ifdef KC_USE_PROTOTYPES\ \n(FILE *kc_f, int kc_prodsel, kc_enum_phyla kc_phylum, boolean kc_phy_labels)\ \n#else\ \n(kc_f, kc_prodsel, kc_phylum, kc_phy_labels) FILE *kc_f; int kc_prodsel; kc_enum_phy", kc_current_view ); (*kc_printer)("la kc_phylum; boolean kc_phy_labels;\ \n#endif\ \n{ int kc_i = 1;\ \n KC_OPERATOR_INFO *kc_op_info = &kc_OperatorInfo[(int)kc_prodsel];\ \n if (kc_op_info->no_sons <= 0) return;\ \n if (!kc_f) kc_f = s", kc_current_view ); (*kc_printer)("tdout;\ \n while(kc_i < kc_op_info->no_sons) {\ \n (void)fprintf(kc_f, \"\", kc_i);\ \n if (kc_phy_labels) {\ \n (void)fprintf(kc_f, \"%s\", kc_PhylumInfo[(int)kc_op_info->subphylum[kc_i-1]].n", kc_current_view ); (*kc_printer)("ame);\ \n\ \n }\ \n (void)fprintf(kc_f, \"|\");\ \n kc_i++;\ \n }\ \n (void)fprintf(kc_f, \"\", kc_i);\ \n if (kc_phy_labels) {\ \n (void)fprintf(kc_f, \"%s\", kc_PhylumInfo[(int)kc_op_info->s", kc_current_view ); (*kc_printer)("ubphylum[kc_i-1]].name);\ \n }\ \n} \ \n\ \nstatic void kc_do_printdot_id_of_phylum\ \n#ifdef KC_USE_PROTOTYPES\ \n(FILE *kc_f, kc_voidptr_t kc_p, kc_enum_phyla kc_phylum, boolean kc_use_ctxt, kc_voidp", kc_current_view ); (*kc_printer)("tr_t kc_ctxt, int kc_son_nr)\ \n#else\ \n(kc_f, kc_p, kc_phylum, kc_use_ctxt, kc_ctxt, kc_son_nr) FILE *kc_f; kc_voidptr_t kc_p; kc_enum_phyla kc_phylum; boolean kc_use_ctxt; kc_voidptr_t kc_ctxt; int ", kc_current_view ); (*kc_printer)("kc_son_nr;\ \n#endif\ \n{\ \n", kc_current_view); } unparse_phyla(cg_bigatomphyla, kc_printer, kc_current_view); { (*kc_printer)(" /*SUPPRESS 622*/\ \n assertPhylum(((casestring)kc_p),\"kc_p\",kc_phylum);\ \n if (!kc_f) kc_f = stdout;\ \n if (kc_phylum == kc_phylum_voidptr) {\ \n (void)fprintf(kc_f, \"kcidp%p\", kc_p);\ \n if (", kc_current_view ); (*kc_printer)("kc_use_ctxt) {\ \n (void)fprintf(kc_f, \"_%p_%d\", kc_ctxt, kc_son_nr);\ \n }\ \n } else if ((kc_phylum == kc_phylum_casestring) || (kc_phylum == kc_phylum_nocasestring)) {\ \n (void)fprintf(kc_f, ", kc_current_view ); (*kc_printer)("\"kcids%p\", ((casestring)kc_p));\ \n if (kc_use_ctxt) {\ \n (void)fprintf(kc_f, \"_%p_%d\", kc_ctxt, kc_son_nr);\ \n }\ \n } else {\ \n (void)fprintf(kc_f, \"kcidx%p\", kc_p);\ \n} } \ \n\ \nstat", kc_current_view ); (*kc_printer)("ic void kc_do_printdot_do_add_edge\ \n#ifdef KC_USE_PROTOTYPES\ \n(YYSTYPE kc_p, kc_enum_phyla kc_phylum, YYSTYPE kc_sub_p, kc_enum_phyla kc_sub_phylum, int kc_son_nr, int *kc_edge_nr, kc_dotedgenode_t", kc_current_view ); (*kc_printer)(" *kc_edges, char *kc_edge_prefix)\ \n#else\ \n(kc_p, kc_phylum, kc_sub_p, kc_sub_phylum, kc_son_nr, kc_edge_nr, kc_edges, kc_edge_prefix) kc_voidptr_t kc_p; kc_enum_phyla kc_phylum; kc_voidptr_t kc_sub", kc_current_view ); (*kc_printer)("_p; kc_enum_phyla kc_sub_phylum; int kc_son_nr; int *kc_edge_nr; kc_dotedgenode_t *kc_edges; char *kc_edge_prefix;\ \n#endif\ \n{ kc_dotedgenode_t kc_hn;\ \n char kc_buf[30];\ \n kc_hn = kc_mkdotedgeno", kc_current_view ); (*kc_printer)("de(kc_fprintdot_hashtable, kc_p, kc_phylum, kc_sub_p, kc_sub_phylum, kc_son_nr);\ \n if (! kc_hn->label) {\ \n kc_hn->label = (char*)(*kc_fprintdot_hashtable->malloc)((kc_size_t)(KC_PRINTDOT_LABELSIZE", kc_current_view ); (*kc_printer)("+1)*sizeof(char), kc_fprintdot_hashtable->malloc_private_data);\ \n kc_hn->lsize = KC_PRINTDOT_LABELSIZE;\ \n (void)strcpy(kc_hn->label, \"\");\ \n kc_hn->next = *kc_edges;\ \n *kc_edges = kc_hn;\ \n", kc_current_view ); (*kc_printer)(" } else {\ \n char kc_buf2[30];\ \n (void)sprintf(kc_buf2, \", \");\ \n (void)strncat(kc_hn->label, kc_buf2, kc_hn->lsize - strlen(kc_hn->label));\ \n }\ \n if (kc_edge_prefix) {\ \n (void)strncat(", kc_current_view ); (*kc_printer)("kc_hn->label, kc_edge_prefix, kc_hn->lsize - strlen(kc_hn->label));\ \n }\ \n (void)sprintf(kc_buf, \"%d\", *kc_edge_nr);\ \n (void)strncat(kc_hn->label, kc_buf, kc_hn->lsize - strlen(kc_hn->label));\ \n", kc_current_view ); (*kc_printer)(" (*kc_edge_nr)++;\ \n}\ \n\ \nstatic void kc_do_printdot_add_edge\ \n#ifdef KC_USE_PROTOTYPES\ \n(kc_voidptr_t kc_p, kc_enum_phyla kc_phylum, kc_voidptr_t kc_sub_p, kc_enum_phyla kc_sub_phylum, int kc_", kc_current_view ); (*kc_printer)("son_nr, int *kc_edge_nr, kc_dotedgenode_t *kc_edges, char *kc_edge_prefix)\ \n#else\ \n(kc_p, kc_phylum, kc_sub_p, kc_sub_phylum, kc_son_nr, kc_edge_nr, kc_edges, kc_edge_prefix) kc_voidptr_t kc_p; kc_", kc_current_view ); (*kc_printer)("enum_phyla kc_phylum; kc_voidptr_t kc_sub_p; kc_enum_phyla kc_sub_phylum; int kc_son_nr; int *kc_edge_nr; kc_dotedgenode_t *kc_edges; char *kc_edge_prefix;\ \n#endif\ \n{ YYSTYPE kc_n, kc_sub_n;\ \n", kc_current_view); } unparse_phyla(cg_bigatomphyla, kc_printer, kc_current_view); { (*kc_printer)(" /*SUPPRESS 622*/\ \n assertPhylum(((casestring)kc_p),\"kc_p\",kc_phylum);\ \n kc_n.yt_voidptr = kc_p;\ \n kc_sub_n.yt_voidptr = kc_sub_p;\ \n kc_do_printdot_do_add_edge(kc_n, kc_phylum, kc_sub_n, kc_s", kc_current_view ); (*kc_printer)("ub_phylum, kc_son_nr, kc_edge_nr, kc_edges, kc_edge_prefix);\ \n}\ \n\ \nstatic void kc_do_printdot_edges\ \n#ifdef KC_USE_PROTOTYPES\ \n(FILE *kc_f, kc_dotedgenode_t kc_edges, char *kc_edge_attributes", kc_current_view ); (*kc_printer)(", boolean kc_use_ctxt)\ \n#else\ \n(kc_f, kc_edges, kc_edge_attributes, kc_use_ctxt) FILE *kc_f; kc_dotedgenode_t kc_edges; char *kc_edge_attributes; boolean kc_use_ctxt;\ \n#endif\ \n{ kc_dotedgenode_", kc_current_view ); (*kc_printer)("t kc_p = kc_edges;\ \n if (!kc_f) kc_f = stdout;\ \n while(kc_p) {\ \n kc_do_printdot_id_of_phylum(kc_f, kc_p->ptr_from.yt_voidptr, kc_p->phy_from, kc_use_ctxt, 0, 0);\ \n (void)fprintf(kc_f, \":f%d ", kc_current_view ); (*kc_printer)("-> \", kc_p->son_nr);\ \n", kc_current_view); } #line 4498 "../gen.k" if (cg_bigatomoperators && length_operators(cg_bigatomoperators) > 0) #line 2979 "unpk.c" { { (*kc_printer)(" switch(kc_p->phy_to) {\ \n", kc_current_view); } unparse_phyla(cg_bigatomphyla, kc_printer, view_gen_printdotedges_c); { (*kc_printer)(" default:\ \n", kc_current_view); } } { (*kc_printer)(" kc_do_printdot_id_of_phylum(kc_f, kc_p->ptr_to.yt_voidptr, kc_p->phy_to, kc_use_ctxt, kc_p->ptr_from.yt_voidptr, kc_p->son_nr);\ \n", kc_current_view); } #line 4507 "../gen.k" if (cg_bigatomoperators && length_operators(cg_bigatomoperators) > 0) #line 2991 "unpk.c" { { (*kc_printer)(" }\ \n", kc_current_view); } } { (*kc_printer)(" (void)fprintf(kc_f, \" [label=\\\"%s\\\"\", kc_p->label);\ \n if (kc_edge_attributes && (strlen(kc_edge_attributes) > 0)) {\ \n (void)fprintf(kc_f, \", %s\", kc_edge_attributes);\ \n }\ \n (void", kc_current_view ); (*kc_printer)(")fprintf(kc_f, \"];\\n\");\ \n kc_p = kc_p->next;\ \n} } \ \n\ \nstatic void kc_do_printdot_phylum\ \n#ifdef KC_USE_PROTOTYPES\ \n(FILE *kc_f, kc_voidptr_t kc_p, kc_enum_phyla kc_phylum, boolean kc_ou", kc_current_view ); (*kc_printer)("tmost, int *kc_edge_nr, kc_dotedgenode_t *kc_edges, char *kc_edge_prefix, boolean kc_phy_labels, boolean kc_use_ctxt, kc_voidptr_t kc_ctxt, int kc_son_nr)\ \n#else\ \n(kc_f, kc_p, kc_phylum, kc_outmost", kc_current_view ); (*kc_printer)(", kc_edge_nr, kc_edges, kc_edge_prefix, kc_phy_labels, kc_use_ctxt, kc_ctxt, kc_son_nr) FILE *kc_f; kc_voidptr_t kc_p; kc_enum_phyla kc_phylum; boolean kc_outmost; int *kc_edge_nr; kc_dotedgenode_t *kc", kc_current_view ); (*kc_printer)("_edges; char *kc_edge_prefix; boolean kc_phy_labels; boolean kc_use_ctxt; kc_voidptr_t kc_ctxt; int kc_son_nr;\ \n#endif\ \n{ int kc_i;\ \n\ \n", kc_current_view); } unparse_phyla(cg_bigatomphyla, kc_printer, kc_current_view); { (*kc_printer)(" /*SUPPRESS 622*/\ \n assertPhylum(((casestring)kc_p),\"kc_p\",kc_phylum);\ \n if (!kc_f) kc_f = stdout;\ \n if (kc_phylum == kc_phylum_voidptr) {\ \n kc_do_printdot_id_of_phylum(kc_f, kc_p, kc_phylum", kc_current_view ); (*kc_printer)(", kc_use_ctxt, kc_ctxt, kc_son_nr);\ \n (void)fprintf(kc_f, \" [label=\\\"%p\\\", shape=ellipse];\\n\", kc_p);\ \n } else if ((kc_phylum == kc_phylum_casestring) || (kc_phylum == kc_phylum_nocasestrin", kc_current_view ); (*kc_printer)("g)) {\ \n kc_do_printdot_id_of_phylum(kc_f, kc_p, kc_phylum, kc_use_ctxt, kc_ctxt, kc_son_nr);\ \n (void)fprintf(kc_f, \" [label=\\\"%s\\\", shape=ellipse];\\n\", ((casestring)kc_p)->name);\ \n } els", kc_current_view ); (*kc_printer)("e {\ \n kc_enum_operators kc_prodsel = ((casestring)kc_p)->prod_sel;\ \n KC_OPERATOR_INFO *kc_op_info = &kc_OperatorInfo[(int)kc_prodsel];\ \n if (! kc_op_info->no_sons) {\ \n kc_do_printdot_id_of", kc_current_view ); (*kc_printer)("_phylum(kc_f, kc_p, kc_phylum, kc_use_ctxt, kc_ctxt, kc_son_nr);\ \n (void)fprintf(kc_f, \" [label=\\\"%s\\\"];\\n\", kc_op_info->name);\ \n } else {\ \n kc_do_printdot_id_of_phylum(kc_f, kc_p", kc_current_view ); (*kc_printer)(", kc_phylum, kc_use_ctxt, kc_ctxt, kc_son_nr);\ \n (void)fprintf(kc_f, \" [label=\\\"{%s|{\", kc_op_info->name);\ \n kc_do_printdot_genfields(kc_f, kc_prodsel, kc_phylum, kc_phy_labels);\ \n ", kc_current_view ); (*kc_printer)("(void)fprintf(kc_f, \"}}\\\"];\\n\");\ \n", kc_current_view); } #line 4550 "../gen.k" if (cg_bigatomoperators && length_operators(cg_bigatomoperators) > 0) #line 3047 "unpk.c" { { (*kc_printer)(" switch(kc_prodsel) {\ \n", kc_current_view); } unparse_operators(cg_bigatomoperators, kc_printer, kc_current_view); { (*kc_printer)(" default:\ \n", kc_current_view); } } { (*kc_printer)(" for (kc_i=0; kc_i < kc_op_info->no_sons; kc_i++) {\ \n kc_do_printdot_add_edge( kc_p, kc_phylum, (kc_voidptr_t)KC_SUBPHYLUM(kc_p, kc_op_info->suboffset[kc_i]), kc_op_info->subphylum[kc_i], kc_i+1", kc_current_view ); (*kc_printer)(", kc_edge_nr, kc_edges, kc_edge_prefix );\ \n kc_do_printdot_phylum( kc_f, (kc_voidptr_t)KC_SUBPHYLUM(kc_p, kc_op_info->suboffset[kc_i]), kc_op_info->subphylum[kc_i], False, kc_edge_nr, kc_edges, kc", kc_current_view ); (*kc_printer)("_edge_prefix, kc_phy_labels, kc_use_ctxt, kc_p, kc_i+1 );\ \n }\ \n", kc_current_view); } #line 4562 "../gen.k" if (cg_bigatomoperators && length_operators(cg_bigatomoperators) > 0) #line 3064 "unpk.c" { { (*kc_printer)(" }\ \n", kc_current_view); } } { (*kc_printer)(" } } \ \n}\ \n", kc_current_view); } unparse_phylumdeclarations(pds, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_printdotdecls_h: { if (( kc_p->prod_sel == sel_PhylumDeclarations)) { #line 4290 "../gen.k" phylumdeclarations pds = kc_p->u.PhylumDeclarations.phylumdeclarations_1; { (*kc_printer)("void fprintdotprologue KC__P(( FILE* ));\ \nvoid fprintdotepilogue KC__P(( FILE* ));\ \nint kc_set_fprintdot_hashtablesize KC__P(( int ));\ \n", kc_current_view); } unparse_phylumdeclarations(pds, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_printdefs_c: { if (( kc_p->prod_sel == sel_PhylumDeclarations)) { #line 4125 "../gen.k" phylumdeclarations pds = kc_p->u.PhylumDeclarations.phylumdeclarations_1; { (*kc_printer)("static int kc_indentation = 0;\ \nstatic char *kc_printformat_not_nullair_open = \"%*s%s(\\n\";\ \nstatic char *kc_printformat_not_nullair_close = \"%*s)\\n\";\ \nstatic char *kc_printformat_nullair = ", kc_current_view ); (*kc_printer)("\"%*s%s()\\n\";\ \n\ \nstatic void kc_do_print_phylum\ \n#ifdef KC_USE_PROTOTYPES\ \n(FILE *kc_f, kc_voidptr_t kc_p, kc_enum_phyla kc_phylum)\ \n#else\ \n(kc_f, kc_p, kc_phylum) FILE *kc_f; kc_voidptr_", kc_current_view ); (*kc_printer)("t kc_p; kc_enum_phyla kc_phylum;\ \n#endif\ \n{ int kc_i;\ \n\ \n", kc_current_view); } unparse_phyla(cg_bigatomphyla, kc_printer, kc_current_view); { (*kc_printer)(" /*SUPPRESS 622*/\ \n assertPhylum(((casestring)kc_p),\"kc_p\",kc_phylum);\ \n if (!kc_f) kc_f = stdout;\ \n if (kc_phylum == kc_phylum_voidptr) {\ \n (void)fprintf(kc_f, \"%*s%p\\n\", kc_indentation,", kc_current_view ); (*kc_printer)(" \"\", kc_p);\ \n } else if ((kc_phylum == kc_phylum_casestring) || (kc_phylum == kc_phylum_nocasestring)) {\ \n (void)fprintf(kc_f, \"%*s%s\\n\", kc_indentation, \"\", ((casestring)kc_p)->name);\ \n ", kc_current_view ); (*kc_printer)("} else {\ \n kc_enum_operators kc_prodsel = ((casestring)kc_p)->prod_sel;\ \n KC_OPERATOR_INFO *kc_op_info = &kc_OperatorInfo[(int)kc_prodsel];\ \n if (! kc_op_info->no_sons) {\ \n (void)fprintf(k", kc_current_view ); (*kc_printer)("c_f, kc_printformat_nullair, kc_indentation, \"\", kc_op_info->name);\ \n } else {\ \n (void)fprintf(kc_f, kc_printformat_not_nullair_open, kc_indentation, \"\", kc_op_info->name);\ \n kc_indentat", kc_current_view ); (*kc_printer)("ion++;\ \n", kc_current_view); } #line 4157 "../gen.k" if (cg_bigatomoperators && length_operators(cg_bigatomoperators) > 0) #line 3133 "unpk.c" { { (*kc_printer)(" switch(kc_prodsel) {\ \n", kc_current_view); } unparse_operators(cg_bigatomoperators, kc_printer, kc_current_view); { (*kc_printer)(" default:\ \n", kc_current_view); } } { (*kc_printer)(" for (kc_i=0; kc_i < kc_op_info->no_sons; kc_i++) {\ \n kc_do_print_phylum(kc_f, (kc_voidptr_t)KC_SUBPHYLUM(kc_p, kc_op_info->suboffset[kc_i]), kc_op_info->subphylum[kc_i] );\ \n }\ \n", kc_current_view); } #line 4168 "../gen.k" if (cg_bigatomoperators && length_operators(cg_bigatomoperators) > 0) #line 3147 "unpk.c" { { (*kc_printer)(" }\ \n", kc_current_view); } } { (*kc_printer)(" kc_indentation--;\ \n (void)fprintf(kc_f, kc_printformat_not_nullair_close, kc_indentation, \"\");\ \n} } } \ \n", kc_current_view); } unparse_phylumdeclarations(pds, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_printdecls_h: { if (( kc_p->prod_sel == sel_PhylumDeclarations)) { #line 4110 "../gen.k" phylumdeclarations pds = kc_p->u.PhylumDeclarations.phylumdeclarations_1; unparse_phylumdeclarations(pds, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_eqdefs_c: { if (( kc_p->prod_sel == sel_PhylumDeclarations)) { #line 3984 "../gen.k" phylumdeclarations pds = kc_p->u.PhylumDeclarations.phylumdeclarations_1; { (*kc_printer)("/*ARGSUSED*/ static boolean kc_do_eq_phylum\ \n#ifdef KC_USE_PROTOTYPES\ \n(kc_voidptr_t kc_p1, kc_voidptr_t kc_p2, kc_enum_phyla kc_phylum)\ \n#else\ \n(kc_p1, kc_p2, kc_phylum) kc_voidptr_t kc_p1, kc", kc_current_view ); (*kc_printer)("_p2; kc_enum_phyla kc_phylum;\ \n#endif\ \n{ int kc_i;\ \n kc_enum_operators kc_prodsel;\ \n int kc_st;\ \n KC_OPERATOR_INFO *kc_op_info;\ \n kc_hashtable_t kc_a_ht;\ \n", kc_current_view); } unparse_phyla(cg_bigatomphyla, kc_printer, kc_current_view); { (*kc_printer)(" if (kc_p1 == kc_p2) return True;\ \n if (kc_phylum == kc_phylum_voidptr) return False;\ \n /*SUPPRESS 622*/\ \n assertPhylum(((casestring)kc_p1),\"kc_p1\",kc_phylum);\ \n /*SUPPRESS 622*/\ \n assertPh", kc_current_view ); (*kc_printer)("ylum(((casestring)kc_p2),\"kc_p2\",kc_phylum);\ \n if ((kc_prodsel = ((casestring)kc_p1)->prod_sel) != ((casestring)kc_p2)->prod_sel) return False;\ \n kc_op_info = &kc_OperatorInfo[(int)kc_prodsel];\ \n", kc_current_view ); (*kc_printer)(" kc_st = (int)kc_op_info->uniq_stored;\ \n kc_a_ht = kc_hashtables[kc_st];\ \n if (kc_st\ \n && (kc_storageclass_still_uniq[kc_st]\ \n || ((kc_a_ht->in_block != 0)\ \n && (*kc_a_ht->in_blo", kc_current_view ); (*kc_printer)("ck)((kc_voidptr_t)kc_p1, kc_a_ht->malloc_private_data)\ \n && (*kc_a_ht->in_block)((kc_voidptr_t)kc_p2, kc_a_ht->malloc_private_data)))) return False;\ \n", kc_current_view); } #line 4014 "../gen.k" if (cg_bigatomoperators && length_operators(cg_bigatomoperators) > 0) #line 3209 "unpk.c" { { (*kc_printer)(" switch(kc_prodsel) {\ \n", kc_current_view); } unparse_operators(cg_bigatomoperators, kc_printer, kc_current_view); { (*kc_printer)(" default:\ \n", kc_current_view); } } { (*kc_printer)(" for (kc_i=0; kc_i < kc_op_info->no_sons; kc_i++) {\ \n if (! kc_do_eq_phylum( (kc_voidptr_t)KC_SUBPHYLUM(kc_p1, kc_op_info->suboffset[kc_i]), (kc_voidptr_t)KC_SUBPHYLUM(kc_p2, kc_op_info->suboffset[k", kc_current_view ); (*kc_printer)("c_i]), kc_op_info->subphylum[kc_i] )) {\ \n return False;\ \n } }\ \n return True;\ \n", kc_current_view); } #line 4027 "../gen.k" if (cg_bigatomoperators && length_operators(cg_bigatomoperators) > 0) #line 3226 "unpk.c" { { (*kc_printer)(" }\ \n", kc_current_view); } } { (*kc_printer)("}\ \n", kc_current_view); } unparse_phylumdeclarations(pds, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_eqdecls_h: { if (( kc_p->prod_sel == sel_PhylumDeclarations)) { #line 3970 "../gen.k" phylumdeclarations pds = kc_p->u.PhylumDeclarations.phylumdeclarations_1; unparse_phylumdeclarations(pds, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_freedefs_c: { if (( kc_p->prod_sel == sel_PhylumDeclarations)) { #line 3907 "../gen.k" phylumdeclarations pds = kc_p->u.PhylumDeclarations.phylumdeclarations_1; { (*kc_printer)("/*ARGSUSED*/ static void kc_do_free_phylum\ \n#ifdef KC_USE_PROTOTYPES\ \n(kc_voidptr_t kc_p, boolean kc_rec, kc_enum_phyla kc_phylum)\ \n#else\ \n(kc_p, kc_rec, kc_phylum) kc_voidptr_t kc_p; boolean k", kc_current_view ); (*kc_printer)("c_rec; kc_enum_phyla kc_phylum;\ \n#endif\ \n{ kc_enum_operators kc_prodsel;\ \n KC_OPERATOR_INFO *kc_op_info;\ \n /*SUPPRESS 622*/\ \n assertPhylum(((casestring)kc_p),\"kc_p\",kc_phylum);\ \n kc_prods", kc_current_view ); (*kc_printer)("el = (kc_phylum == kc_phylum_int ? sel__Int :\ \n (kc_phylum == kc_phylum_float ? sel__Real :\ \n (kc_phylum == kc_phylum_voidptr ? sel__VoidPtr :\ \n ", kc_current_view ); (*kc_printer)(" ((casestring)kc_p)->prod_sel)));\ \n kc_op_info = &kc_OperatorInfo[(int)kc_prodsel];\ \n KC_COLLECT_STATS0(KC_FREE_CALLED_STATS((int)kc_prodsel, kc_rec));\ \n if (! kc_op_info->uniq_stored) {", kc_current_view ); (*kc_printer)("\ \n if (kc_rec) {\ \n int kc_i;\ \n for (kc_i=0; kc_i < kc_op_info->no_sons; kc_i++) {\ \n kc_do_free_phylum( (kc_voidptr_t)KC_SUBPHYLUM(kc_p, kc_op_info->suboffset[kc_i]), kc_rec, kc_op_info-", kc_current_view ); (*kc_printer)(">subphylum[kc_i] );\ \n } }\ \n KC_COLLECT_STATS0(KC_FREED_STATS((int)kc_prodsel, kc_rec));\ \n KC_BZERO((kc_voidptr_t)kc_p, kc_PhylumInfo[(int)kc_phylum].size);\ \n NONUNIQFREE((kc_voidptr_t)kc_p)", kc_current_view ); (*kc_printer)(";\ \n} } \ \n", kc_current_view); } unparse_phylumdeclarations(pds, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_freedecls_h: { if (( kc_p->prod_sel == sel_PhylumDeclarations)) { #line 3893 "../gen.k" phylumdeclarations pds = kc_p->u.PhylumDeclarations.phylumdeclarations_1; unparse_phylumdeclarations(pds, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_error_defs_c: { if (( kc_p->prod_sel == sel_PhylumDeclarations)) { #line 3852 "../gen.k" char *strof_phylum_error="Internal Error: unknown phylum number: "; int strlen_strof_phylum_error = strlen(strof_phylum_error)+30; casestring cstrof_phylum_error = mkcasestring(strof_phylum_error); char *strof_operator_error="Internal Error: unknown operator number: "; int strlen_strof_operator_error = strlen(strof_operator_error)+30; casestring cstrof_operator_error = mkcasestring(strof_operator_error); #line 3308 "unpk.c" { (*kc_printer)("char *kc_phylumname_or_error\ \n#ifdef KC_USE_PROTOTYPES\ \n(int kc_phylum)\ \n#else\ \n(kc_phylum) int kc_phylum;\ \n#endif\ \n{ if ((kc_phylum <= (int)kc_one_before_first_phylum) || (kc_phylum >= (in", kc_current_view ); (*kc_printer)("t)kc_last_phylum)) {\ \n char *kc_strof_error;\ \n (void)sprintf((kc_strof_error=(char*)MALLOC(", kc_current_view); } unparse_int(strlen_strof_phylum_error, kc_printer, kc_current_view); { (*kc_printer)(")), \"", kc_current_view); } unparse_casestring(cstrof_phylum_error, kc_printer, kc_current_view); { (*kc_printer)("%d\", kc_phylum);\ \n return kc_strof_error;\ \n } else {\ \n return kc_PhylumInfo[kc_phylum].name;\ \n} }\ \n\ \n\ \nchar *kc_operatorname_or_error\ \n#ifdef KC_USE_PROTOTYPES\ \n(int kc_operator)\ \n", kc_current_view ); (*kc_printer)("#else\ \n(kc_operator) int kc_operator;\ \n#endif\ \n{ if ((kc_operator <= (int)kc_one_before_first_operator) || (kc_operator >= (int)kc_last_operator)) {\ \n char *kc_strof_error;\ \n (void)sprintf(", kc_current_view ); (*kc_printer)("(kc_strof_error=(char*)MALLOC(", kc_current_view); } unparse_int(strlen_strof_operator_error, kc_printer, kc_current_view); { (*kc_printer)(")), \"", kc_current_view); } unparse_casestring(cstrof_operator_error, kc_printer, kc_current_view); { (*kc_printer)("%d\", kc_operator);\ \n return kc_strof_error;\ \n } else {\ \n return kc_OperatorInfo[kc_operator].name;\ \n} }\ \n\ \n", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_error_decls_h: { if (( kc_p->prod_sel == sel_PhylumDeclarations)) { { (*kc_printer)("char *kc_phylumname_or_error KC__P(( int ));\ \nchar *kc_operatorname_or_error KC__P(( int ));\ \n\ \n", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_operatordefs_c: { if (( kc_p->prod_sel == sel_PhylumDeclarations)) { #line 1414 "../gen.k" phylumdeclarations d = kc_p->u.PhylumDeclarations.phylumdeclarations_1; { (*kc_printer)("/* macro's that do the string concatenation */\ \n#define KC_MIdStr(s) s\ \n#ifdef KC_STDC\ \n# define KC_MStrConc(s1,s2) s1 ## s2\ \n#else\ \n# define KC_MStrConc(s1,s2) KC_MIdStr(s1)s2\ \n#endif\ \n", kc_current_view ); (*kc_printer)("\ \n#ifndef KC_MEMORY_BLOCKSIZE\ \n# define KC_MEMORY_BLOCKSIZE 20000\ \n#endif\ \n#ifndef LARGEPRIME\ \n# define LARGEPRIME 80021\ \n#endif\ \n#if LARGEPRIME < 0\ \n# define LARGEPRIME 0\ \n#endif\ \n", kc_current_view ); (*kc_printer)("#ifndef KC_BUCKET_INC\ \n# define KC_BUCKET_INC 8\ \n#endif\ \n#ifndef HASH\ \n# define HASH(x) kc_hashval = ((kc_hashval<<3) + (((unsigned)x)>>2))\ \n#endif\ \n#ifndef INTHASH\ \n# define INTHASH(x", kc_current_view ); (*kc_printer)(") kc_hashval = ((kc_hashval<<10) + (unsigned)x)\ \n#endif\ \n#ifndef FLOATHASH\ \n# define FLOATHASH(x) kc_hashval = ((kc_hashval<<10) + (unsigned)x)\ \n#endif\ \n#ifndef VOIDPTRHASH\ \n# define VOID", kc_current_view ); (*kc_printer)("PTRHASH(x) HASH(x)\ \n#endif\ \n#ifndef OPERATORHASH\ \n# define OPERATORHASH(x) kc_hashval = (kc_hashval + (unsigned)x * 73)\ \n#endif\ \n#ifndef CASESTRHASH\ \n# define CASESTRHASH(x) kc_hashval = ", kc_current_view ); (*kc_printer)("((kc_hashval<<3) + (unsigned)kc_casestrhash(x))\ \n#endif\ \n#ifndef NOCASESTRHASH\ \n# define NOCASESTRHASH(x) kc_hashval = ((kc_hashval<<3) + (unsigned)kc_nocasestrhash(x))\ \n#endif\ \n#ifndef MALL", kc_current_view ); (*kc_printer)("OC\ \n# define MALLOC emalloc\ \n#endif\ \n#ifndef CALLOC\ \n# define CALLOC ecalloc\ \n#endif\ \n#ifndef REALLOC\ \n/*\ \n * # ifdef lint\ \n * # define REALLOC(kc_p,kc_s) (kc_p,kc_s,0)\ \n * # els", kc_current_view ); (*kc_printer)("e\ \n */\ \n# define REALLOC erealloc\ \n/*\ \n * # endif\ \n */\ \n#endif\ \n#ifndef FREE\ \n# define FREE efree\ \n#endif\ \n#ifndef efree\ \n/*\ \n * # ifdef lint\ \n * # define efree(kc_p) \ \n ", kc_current_view ); (*kc_printer)("* # else\ \n */\ \n# define efree(kc_p) free((kc_malloc_t)(kc_p))\ \n/*\ \n * # endif\ \n */\ \n#endif\ \n#ifndef KC_ALIGN\ \ntypedef union kc_Align_tag { long l; int i; } kc_Align;\ \n#else\ \ntypede", kc_current_view ); (*kc_printer)("f KC_ALIGN kc_Align;\ \n#endif\ \n#ifndef UNIQMALLOCINIT\ \n# define UNIQMALLOCINIT uniqmallocinit\ \n# ifndef UNIQMALLOC2\ \n# define UNIQMALLOC2 uniqmalloc\ \n# endif\ \n# ifndef UNIQFREEELEME", kc_current_view ); (*kc_printer)("NT\ \n# define UNIQFREEELEMENT uniqfreeelement\ \n# endif\ \n# ifndef UNIQFREEALL\ \n# define UNIQFREEALL uniqfreeall\ \n# endif\ \n# ifndef INUNIQBLOCK\ \n# define INUNIQBLOCK isinuniqmal", kc_current_view ); (*kc_printer)("loccedblock\ \n# endif\ \n# ifndef UNIQMEMORYINFO\ \n# define UNIQMEMORYINFO kc_print_memory_info_statistics\ \n# endif\ \n#else\ \n# ifndef UNIQFREEELEMENT\ \n# define UNIQFREEELEMENT 0\ \n#", kc_current_view ); (*kc_printer)(" endif\ \n# ifndef UNIQFREEALL\ \n# define UNIQFREEALL 0\ \n# endif\ \n# ifndef INUNIQBLOCK\ \n# define INUNIQBLOCK 0\ \n# endif\ \n# ifndef UNIQMEMORYINFO\ \n# define UNIQMEMORYINFO 0\ \n", kc_current_view ); (*kc_printer)("# endif\ \n#endif\ \n#ifndef BUCKETALLOCINIT\ \n# define BUCKETALLOCINIT 0\ \n# ifndef BUCKETCALLOC\ \n# define BUCKETCALLOC kc_wrap_bucket_malloc\ \n# endif\ \n# ifndef BUCKETREALLOC\ \n# d", kc_current_view ); (*kc_printer)("efine BUCKETREALLOC kc_wrap_bucket_realloc\ \n# endif\ \n# ifndef BUCKETFREE\ \n# define BUCKETFREE kc_wrap_bucket_free\ \n# endif\ \n# ifndef BUCKETSFREE\ \n# define BUCKETSFREE 0\ \n# endi", kc_current_view ); (*kc_printer)("f\ \n# ifndef BUCKETMEMORYINFO\ \n# define BUCKETMEMORYINFO 0\ \n# endif\ \n#else\ \n# ifndef BUCKETFREE\ \n# define BUCKETFREE 0\ \n# endif\ \n# ifndef BUCKETSFREE\ \n# define BUCKETSFRE", kc_current_view ); (*kc_printer)("E 0\ \n# endif\ \n# ifndef BUCKETMEMORYINFO\ \n# define BUCKETMEMORYINFO 0\ \n# endif\ \n#endif\ \n#ifndef BUCKETINC\ \n# define BUCKETINC KC_BUCKET_INC\ \n#endif\ \n#ifndef NONUNIQMALLOC\ \n# ", kc_current_view ); (*kc_printer)("define NONUNIQMALLOC emalloc\ \n#endif\ \n#ifndef NONUNIQFREE\ \n# define NONUNIQFREE efree\ \n#endif\ \n#ifndef KC_BZERO\ \n# define KC_BZERO(kc_p, kc_s) (void)memset((kc_memset_firstarg_t)kc_p, 0, ", kc_current_view ); (*kc_printer)("(kc_memset_size_t)kc_s)\ \n#endif\ \n\ \ntypedef struct kc_tag_kc_memory_blockinfo_t *kc_memory_blocksinfo_t;\ \ntypedef struct kc_tag_kc_memory_blockinfo_t kc_memory_blockinfo_t;\ \ntypedef struct kc_", kc_current_view ); (*kc_printer)("tag_kc_memory_info_t kc_memory_info_t;\ \n\ \nstatic kc_memory_blocksinfo_t kc_mainmemory_freelist = 0;\ \n\ \nstruct kc_tag_kc_memory_blockinfo_t {\ \n kc_voidptr_t block; /* pointer to the allocated ", kc_current_view ); (*kc_printer)("structure */\ \n kc_size_t size; /* size of allocated structure */\ \n kc_memory_blocksinfo_t next; /* next block in list */\ \n kc_memory_blocksinfo_t prev; /* prev block in list */\ \n};\ \n\ \nstruc", kc_current_view ); (*kc_printer)("t kc_tag_kc_memory_info_t {\ \n kc_memory_blocksinfo_t kc_memory_blocklist; /* points to block currently in use */\ \n int kc_memory_left; /* remaining bytes in current block */\ \n kc_voidptr_t kc_mem", kc_current_view ); (*kc_printer)("ory_ptr; /* address of first free byte in current block */\ \n kc_memory_blocksinfo_t *kc_memory_freelist; /* pointer to variable that holds freelist */\ \n int kc_to_be_freed; /* should be 0 for stati", kc_current_view ); (*kc_printer)("cally created nodes, and 1 for dynamically created ones */\ \n kc_size_t kc_wanted_blocksize; /* prefered size of chunks */\ \n};\ \n\ \nstatic kc_memory_blocksinfo_t kc_memory_createblock\ \n#ifdef KC", kc_current_view ); (*kc_printer)("_USE_PROTOTYPES\ \n(kc_size_t kc_n, kc_memory_info_t *kc_malloc_private_info)\ \n#else\ \n(kc_n, kc_malloc_private_info) kc_size_t kc_n; kc_memory_info_t *kc_malloc_private_info;\ \n#endif\ \n{ kc_void", kc_current_view ); (*kc_printer)("ptr_t kc_p;\ \n kc_memory_blocksinfo_t kc_l;\ \n kc_size_t kc_size;\ \n\ \n /* we use plain malloc for adminstrative things, and test for the return status */\ \n kc_l = (kc_memory_blocksinfo_t)MALLOC(", kc_current_view ); (*kc_printer)("(kc_size_t)sizeof(kc_memory_blockinfo_t));\ \n kc_size = (kc_malloc_private_info->kc_wanted_blocksize > kc_n) ? kc_malloc_private_info->kc_wanted_blocksize : kc_n;\ \n kc_p = (kc_voidptr_t)MALLOC((kc_", kc_current_view ); (*kc_printer)("size_t)kc_size);\ \n kc_l->block = kc_p;\ \n kc_l->size = kc_size;\ \n return kc_l;\ \n}\ \n\ \n/*\ \n * we use first fit when reusing a block\ \n */\ \nstatic kc_memory_blocksinfo_t kc_memory_reuseblo", kc_current_view ); (*kc_printer)("ck\ \n#ifdef KC_USE_PROTOTYPES\ \n(kc_size_t kc_n, kc_memory_info_t *kc_malloc_private_info)\ \n#else\ \n(kc_n, kc_malloc_private_info) kc_size_t kc_n; kc_memory_info_t *kc_malloc_private_info;\ \n#end", kc_current_view ); (*kc_printer)("if\ \n{ kc_memory_blocksinfo_t kc_l;\ \n if (*kc_malloc_private_info->kc_memory_freelist == 0) { /* no elements in freelist */\ \n return (kc_memory_blocksinfo_t)0;\ \n }\ \n kc_l = *kc_malloc_private", kc_current_view ); (*kc_printer)("_info->kc_memory_freelist;\ \n do { /* at least one time, because we have at least one element */\ \n if (kc_l->size >= kc_n) {\ \n if (kc_l->next != kc_l) { /* the list contains > 1 elements */\ \n", kc_current_view ); (*kc_printer)(" kc_l->prev->next = kc_l->next;\ \n kc_l->next->prev = kc_l->prev;\ \n /* make sure that we don't loose the handle to the list */\ \n if (kc_l == *kc_malloc_private_info->kc_memory_freelis", kc_current_view ); (*kc_printer)("t) {\ \n *kc_malloc_private_info->kc_memory_freelist = kc_l->next;\ \n }\ \n } else { /* we release the last free element */\ \n *kc_malloc_private_info->kc_memory_freelist = 0;\ \n }\ \n", kc_current_view ); (*kc_printer)(" return kc_l;\ \n }\ \n kc_l = kc_l->next;\ \n } while(kc_l != *kc_malloc_private_info->kc_memory_freelist);\ \n return (kc_memory_blocksinfo_t)0;\ \n}\ \n\ \nstatic void kc_memory_newblock\ \n#ifd", kc_current_view ); (*kc_printer)("ef KC_USE_PROTOTYPES\ \n(kc_size_t kc_n, kc_memory_info_t *kc_malloc_private_info)\ \n#else\ \n(kc_n, kc_malloc_private_info) kc_size_t kc_n; kc_memory_info_t *kc_malloc_private_info;\ \n#endif\ \n{ kc", kc_current_view ); (*kc_printer)("_memory_blocksinfo_t kc_l;\ \n if ((kc_l = kc_memory_reuseblock(kc_n, kc_malloc_private_info)) == 0) {\ \n kc_l = kc_memory_createblock(kc_n, kc_malloc_private_info);\ \n }\ \n if (kc_malloc_private_i", kc_current_view ); (*kc_printer)("nfo->kc_memory_blocklist != 0) {\ \n kc_l->next = kc_malloc_private_info->kc_memory_blocklist;\ \n kc_malloc_private_info->kc_memory_blocklist->prev->next = kc_l;\ \n kc_l->prev = kc_malloc_private_", kc_current_view ); (*kc_printer)("info->kc_memory_blocklist->prev;\ \n kc_malloc_private_info->kc_memory_blocklist->prev = kc_l;\ \n } else {\ \n kc_l->next = kc_l;\ \n kc_l->prev = kc_l;\ \n }\ \n kc_malloc_private_info->kc_memory_", kc_current_view ); (*kc_printer)("blocklist = kc_l;\ \n kc_malloc_private_info->kc_memory_left = kc_l->size;\ \n kc_malloc_private_info->kc_memory_ptr = kc_l->block;\ \n}\ \n\ \nstatic void kc_print_memory_blocks_info_statistics\ \n#if", kc_current_view ); (*kc_printer)("def KC_USE_PROTOTYPES\ \n(FILE *kc_f, kc_memory_blocksinfo_t kc_a_memory_blocksinfo_t)\ \n#else\ \n(kc_f, kc_a_memory_blocksinfo_t) FILE *kc_f; kc_memory_blocksinfo_t kc_a_memory_blocksinfo_t;\ \n#endi", kc_current_view ); (*kc_printer)("f\ \n{ kc_memory_blocksinfo_t kc_tmp = kc_a_memory_blocksinfo_t;\ \n if (kc_tmp) {\ \n /* at least one block? */\ \n do {\ \n fprintf(kc_f, \" block-size (at %p): %d\\n\", kc_tmp->block, kc_tmp->s", kc_current_view ); (*kc_printer)("ize);\ \n kc_tmp = kc_tmp->next;\ \n } while(kc_tmp && (kc_tmp != kc_a_memory_blocksinfo_t));\ \n } else {\ \n fprintf(kc_f, \" no blocks allocated\\n\");\ \n }\ \n}\ \n\ \nvoid kc_print_memory_in", kc_current_view ); (*kc_printer)("fo_statistics\ \n#ifdef KC_USE_PROTOTYPES\ \n(FILE *kc_f, kc_voidptr_t kc_malloc_private_info)\ \n#else\ \n(kc_f, kc_malloc_private_info) FILE *kc_f; kc_voidptr_t kc_malloc_private_info;\ \n#endif\ \n{", kc_current_view ); (*kc_printer)("\ \n kc_memory_info_t *kc_a_memory_info_t = (kc_memory_info_t *)kc_malloc_private_info;\ \n fprintf(kc_f, \" to-be-freed: %s\\n\", (kc_a_memory_info_t->kc_to_be_freed ? \"yes\" : \"no\"));\ \n fprintf(", kc_current_view ); (*kc_printer)("kc_f, \" wanted block-size: %d\\n\", kc_a_memory_info_t->kc_wanted_blocksize);\ \n fprintf(kc_f, \" remaining in current block: %d\\n\", kc_a_memory_info_t->kc_memory_left);\ \n fprintf(kc_f, \" blocks", kc_current_view ); (*kc_printer)("-info (at %p):\\n\", kc_a_memory_info_t->kc_memory_blocklist);\ \n kc_print_memory_blocks_info_statistics(kc_f, kc_a_memory_info_t->kc_memory_blocklist);\ \n fprintf(kc_f, \" freelist-info (at %p):\\n\"", kc_current_view ); (*kc_printer)(", *kc_a_memory_info_t->kc_memory_freelist);\ \n kc_print_memory_blocks_info_statistics(kc_f, *kc_a_memory_info_t->kc_memory_freelist);\ \n} \ \n\ \n/*\ \n * the %p in the routine below is ANSI-C standa", kc_current_view ); (*kc_printer)("rd (but implementation dependent)\ \n * for void*; instead we could use %p\ \n */\ \nvoid kc_print_hashtable_memory_statistics\ \n#ifdef KC_USE_PROTOTYPES\ \n(FILE *kc_f, kc_hashtable_t kc_a_hashtable_", kc_current_view ); (*kc_printer)("t)\ \n#else\ \n(kc_f, kc_a_hashtable_t) FILE *kc_f; kc_hashtable_t kc_a_hashtable_t;\ \n#endif\ \n{ kc_private_malloc_t kc_tmp;\ \n int kc_i;\ \n fprintf(kc_f, \"current allocation scheme: %s\\n\",\ \n", kc_current_view ); (*kc_printer)(" ((kc_a_hashtable_t->mode == kc_ht_store_static) ? \"static\" : \"dynamic\"));\ \n if (kc_a_hashtable_t->malloc_info) {\ \n fprintf(kc_f, \"static allocation info (info ptr: %p):\\n\", kc_a_hashtable", kc_current_view ); (*kc_printer)("_t->static_malloc_private_data);\ \n (*kc_a_hashtable_t->malloc_info)(kc_f, kc_a_hashtable_t->static_malloc_private_data);\ \n kc_tmp = kc_a_hashtable_t->dynamic_malloc_private_data;\ \n kc_i = 0;\ \n", kc_current_view ); (*kc_printer)(" fprintf(kc_f, \"dynamic allocation info: counting from top (level 0) of level stack\\n\");\ \n while(kc_tmp) {\ \n fprintf(kc_f, \"dynamic allocation info for level %d,(info ptr: %p):\\n\", kc_i, ", kc_current_view ); (*kc_printer)("kc_tmp->malloc_private_data);\ \n (*kc_a_hashtable_t->malloc_info)(kc_f, kc_tmp->malloc_private_data);\ \n kc_i++;\ \n kc_tmp = kc_tmp->next;\ \n }\ \n kc_tmp = kc_a_hashtable_t->dec_dynamic_ma", kc_current_view ); (*kc_printer)("lloc_private_data;\ \n kc_i = 0;\ \n fprintf(kc_f, \"dynamic allocation info: levels to be freed, counting from bottom\\n\");\ \n while(kc_tmp) {\ \n fprintf(kc_f, \"dynamic allocation info for le", kc_current_view ); (*kc_printer)("vel %d,(info ptr: %p):\\n\", kc_i, kc_tmp->malloc_private_data);\ \n (*kc_a_hashtable_t->malloc_info)(kc_f, kc_tmp->malloc_private_data);\ \n kc_i++;\ \n kc_tmp = kc_tmp->prev;\ \n }\ \n }\ \n}\ \n", kc_current_view ); (*kc_printer)("\ \n\ \nkc_voidptr_t uniqmalloc /* check return from malloc */\ \n#ifdef KC_USE_PROTOTYPES\ \n(kc_size_t kc_n, kc_voidptr_t kc_malloc_private_info)\ \n#else\ \n(kc_n, kc_malloc_private_info) kc_size_t ", kc_current_view ); (*kc_printer)("kc_n; kc_voidptr_t kc_malloc_private_info;\ \n#endif\ \n{ kc_voidptr_t kc_p;\ \n kc_memory_info_t *kc_a_memory_info_t = (kc_memory_info_t *)kc_malloc_private_info; \ \n /* all blocks should be a multip", kc_current_view ); (*kc_printer)("le of the alignment requirement */\ \n kc_n += sizeof(kc_Align) - 1 - ((kc_n - 1) % sizeof(kc_Align));\ \n if ( kc_a_memory_info_t->kc_memory_left < (int)kc_n ) kc_memory_newblock(kc_n, kc_a_memory_inf", kc_current_view ); (*kc_printer)("o_t);\ \n kc_a_memory_info_t->kc_memory_left -= kc_n;\ \n kc_p = kc_a_memory_info_t->kc_memory_ptr;\ \n kc_a_memory_info_t->kc_memory_ptr = (kc_voidptr_t)((char*)(kc_a_memory_info_t->kc_memory_ptr) + k", kc_current_view ); (*kc_printer)("c_n);\ \n return kc_p;\ \n}\ \n\ \nkc_memory_info_t *uniqmallocinit\ \n#ifdef KC_USE_PROTOTYPES\ \n( /*kc_size_t kc_n*/ )\ \n#else\ \n( /*kc_n*/ ) /*kc_size_t kc_n;*/\ \n#endif\ \n{ kc_memory_info_t *k", kc_current_view ); (*kc_printer)("c_p;\ \n kc_p = (kc_memory_info_t*)MALLOC((kc_size_t)sizeof(kc_memory_info_t));\ \n kc_p->kc_memory_blocklist = 0;\ \n kc_p->kc_memory_left = 0;\ \n kc_p->kc_memory_ptr = 0;\ \n kc_p->kc_memory_freelis", kc_current_view ); (*kc_printer)("t = &kc_mainmemory_freelist;\ \n kc_p->kc_to_be_freed = 1;\ \n kc_p->kc_wanted_blocksize = /*(kc_n <= 0) ?*/ KC_MEMORY_BLOCKSIZE /*: kc_n*/;\ \n return kc_p;\ \n}\ \n\ \nboolean isinuniqmalloccedblock\ \n", kc_current_view ); (*kc_printer)("#ifdef KC_USE_PROTOTYPES\ \n(kc_voidptr_t kc_p, kc_voidptr_t kc_malloc_private_info)\ \n#else\ \n(kc_p, kc_malloc_private_info) kc_voidptr_t kc_p; kc_voidptr_t kc_malloc_private_info;\ \n#endif\ \n{ kc", kc_current_view ); (*kc_printer)("_memory_blocksinfo_t kc_l;\ \n kc_memory_info_t *kc_a_memory_info_t = (kc_memory_info_t *)kc_malloc_private_info;\ \n if (kc_a_memory_info_t->kc_memory_blocklist == 0) {\ \n return False;\ \n }\ \n kc", kc_current_view ); (*kc_printer)("_l = kc_a_memory_info_t->kc_memory_blocklist;\ \n do {\ \n if (((char*)kc_p >= (char*)kc_l->block) && ((char*)kc_p < (char*)((char*)kc_l->block + kc_l->size))) {\ \n return True;\ \n }\ \n kc_l = ", kc_current_view ); (*kc_printer)("kc_l->next;\ \n } while(kc_l != kc_a_memory_info_t->kc_memory_blocklist);\ \n return False;\ \n}\ \n\ \n/*ARGSUSED*/\ \nvoid uniqfreeelement /* free (prepare for reuse of) one element in private info *", kc_current_view ); (*kc_printer)("/\ \n#ifdef KC_USE_PROTOTYPES\ \n(kc_voidptr_t kc_ptr, kc_voidptr_t kc_malloc_private_info)\ \n#else\ \n(kc_ptr, kc_malloc_private_info) kc_voidptr_t kc_ptr; kc_voidptr_t kc_malloc_private_info;\ \n#en", kc_current_view ); (*kc_printer)("dif\ \n{\ \n}\ \n\ \nvoid uniqfreeall /* free (prepare for reuse of) everything in private info */\ \n#ifdef KC_USE_PROTOTYPES\ \n(kc_voidptr_t kc_malloc_private_info)\ \n#else\ \n(kc_malloc_private_in", kc_current_view ); (*kc_printer)("fo) kc_voidptr_t kc_malloc_private_info;\ \n#endif\ \n{\ \n kc_memory_info_t *kc_a_memory_info_t = (kc_memory_info_t *)kc_malloc_private_info;\ \n if (kc_a_memory_info_t->kc_memory_blocklist != 0) {\ \n", kc_current_view ); (*kc_printer)(" kc_memory_blocksinfo_t kc_a_memory_blocklist = kc_a_memory_info_t->kc_memory_blocklist;\ \n kc_memory_blocksinfo_t kc_blockptr = kc_a_memory_blocklist;\ \n do {\ \n KC_BZERO(kc_blockptr->block, k", kc_current_view ); (*kc_printer)("c_blockptr->size);\ \n kc_blockptr = kc_blockptr->next;\ \n } while (kc_blockptr != kc_a_memory_blocklist);\ \n if (*kc_a_memory_info_t->kc_memory_freelist == 0) {\ \n *kc_a_memory_info_t->kc_mem", kc_current_view ); (*kc_printer)("ory_freelist = kc_a_memory_info_t->kc_memory_blocklist;\ \n } else {\ \n kc_a_memory_info_t->kc_memory_blocklist->prev->next = (*kc_a_memory_info_t->kc_memory_freelist);\ \n (*kc_a_memory_info_t->", kc_current_view ); (*kc_printer)("kc_memory_freelist)->prev->next = kc_a_memory_info_t->kc_memory_blocklist;\ \n kc_blockptr = kc_a_memory_info_t->kc_memory_blocklist->prev;\ \n kc_a_memory_info_t->kc_memory_blocklist->prev = (*kc_", kc_current_view ); (*kc_printer)("a_memory_info_t->kc_memory_freelist)->prev;\ \n (*kc_a_memory_info_t->kc_memory_freelist)->prev = kc_blockptr;;\ \n } }\ \n /* just to be sure, this is NECESSARY in case kc_a_memory_info_t->kc_to_be_", kc_current_view ); (*kc_printer)("freed holds */\ \n kc_a_memory_info_t->kc_memory_blocklist = 0;\ \n kc_a_memory_info_t->kc_memory_left = 0;\ \n kc_a_memory_info_t->kc_memory_ptr = 0;\ \n kc_a_memory_info_t->kc_memory_left = 0;\ \n if", kc_current_view ); (*kc_printer)(" (kc_a_memory_info_t->kc_to_be_freed) { /* we must be sure that it wasn't dynamically allocated */\ \n KC_BZERO(kc_a_memory_info_t, sizeof(kc_memory_info_t));\ \n FREE((kc_voidptr_t)kc_a_memory_info_", kc_current_view ); (*kc_printer)("t);\ \n} }\ \n\ \n/*ARGSUSED*/\ \nkc_voidptr_t kc_wrap_bucket_malloc\ \n#ifdef KC_USE_PROTOTYPES\ \n(kc_size_t kc_a_size, kc_size_t kc_a_number, kc_voidptr_t kc_a_private_malloc_info)\ \n#else\ \n(kc_a", kc_current_view ); (*kc_printer)("_size, kc_a_number, kc_a_private_malloc_info)\ \nkc_size_t kc_a_size; kc_size_t kc_a_number; kc_voidptr_t kc_a_private_malloc_info;\ \n#endif\ \n{ return MALLOC((kc_size_t)kc_a_size*kc_a_number);\ \n}\ \n", kc_current_view ); (*kc_printer)("\ \n/*ARGSUSED*/\ \nkc_voidptr_t kc_wrap_bucket_realloc\ \n#ifdef KC_USE_PROTOTYPES\ \n(kc_voidptr_t kc_ptr, kc_size_t kc_a_oldsize, kc_size_t kc_a_newsize, kc_voidptr_t kc_a_private_malloc_info)\ \n#e", kc_current_view ); (*kc_printer)("lse\ \n(kc_ptr, kc_a_oldsize, kc_a_newsize, kc_a_private_malloc_info)\ \nkc_voidptr_t kc_ptr; kc_size_t kc_a_oldsize; kc_size_t kc_a_newsize; kc_voidptr_t kc_a_private_malloc_info;\ \n#endif\ \n{ retur", kc_current_view ); (*kc_printer)("n REALLOC(kc_ptr, kc_a_newsize);\ \n}\ \n\ \n/*ARGSUSED*/\ \nvoid kc_wrap_bucket_free\ \n#ifdef KC_USE_PROTOTYPES\ \n(kc_voidptr_t kc_ptr, kc_size_t kc_a_size, kc_voidptr_t kc_a_private_malloc_info)\ \n", kc_current_view ); (*kc_printer)("#else\ \n(kc_ptr, kc_a_size, kc_a_private_malloc_info)\ \nkc_voidptr_t kc_ptr; kc_size_t kc_a_size; kc_voidptr_t kc_a_private_malloc_info;\ \n#endif\ \n{ (void)FREE(kc_ptr);\ \n}\ \n\ \n#ifdef KC_STATI", kc_current_view ); (*kc_printer)("STICS\ \n KC_OPERATOR_STATISTICS kc_OperatorStatistics[KC_NO_OF_OPERATORS];\ \n# define KC_COLLECT_STATS0(v) v\ \n#else\ \n# define KC_COLLECT_STATS0(v) \ \n#endif\ \n\ \n#ifndef KC_CREATE_STATS\ \n", kc_current_view ); (*kc_printer)("# define KC_CREATE_STATS(oper) kc_OperatorStatistics[(int)oper].create++;\ \n#endif\ \n#ifndef KC_EXISTINGNOTFOUND_STATS\ \n# define KC_EXISTINGNOTFOUND_STATS(oper) kc_OperatorStatistics[(int)oper].e", kc_current_view ); (*kc_printer)("xisting_not_found++;\ \n#endif\ \n\ \n#ifndef KC_FREE_CALLED_STATS\ \n# define KC_FREE_CALLED_STATS(oper,rec) kc_OperatorStatistics[(int)oper].free_called[(int)(rec?True:False)]++;\ \n#endif\ \n\ \n#i", kc_current_view ); (*kc_printer)("fndef KC_FREED_STATS\ \n# define KC_FREED_STATS(oper,rec) kc_OperatorStatistics[(int)oper].freed[(int)(rec?True:False)]++;\ \n#endif\ \n\ \n\ \n", kc_current_view); } unparse_storageclasses(Thestorageclasses, kc_printer, view_gen_operatordefs_c_0); { (*kc_printer)("\ \n\ \nstatic boolean kc_storageclass_still_uniq[] = {\ \n", kc_current_view); } unparse_storageclasses(Thestorageclasses, kc_printer, view_gen_operatordefs_c_1); { (*kc_printer)(" };\ \n\ \n", kc_current_view); } unparse_storageclasses(Thestorageclasses, kc_printer, view_gen_operatordefs_c_2); { (*kc_printer)("\ \n\ \n#if 0 /* ! (defined(lint) || defined(SABER) || defined(CODECENTER)) */ /* currently not used */\ \nstatic kc_memory_info_t *kc_memory_info[] = { ", kc_current_view); } unparse_storageclasses(Thestorageclasses, kc_printer, view_gen_operatordefs_c_2a); { (*kc_printer)(" };\ \n#endif\ \n\ \nstatic kc_hashtable_struct_t kc_static_hashtables[] = {\ \n", kc_current_view); } unparse_storageclasses(Thestorageclasses, kc_printer, view_gen_operatordefs_c_4); { (*kc_printer)("};\ \n\ \nstatic kc_hashtable_t kc_hashtables[] = {\ \n", kc_current_view); } unparse_storageclasses(Thestorageclasses, kc_printer, view_gen_operatordefs_c_3); { (*kc_printer)("};\ \n\ \nstatic char* kc_storageclassnames[] = { ", kc_current_view); } unparse_storageclasses(Thestorageclasses, kc_printer, kc_current_view); { (*kc_printer)(" };\ \n\ \nstatic kc_hashtable_t kc_all_hashtables = &kc_static_hashtables[0];\ \n\ \nstatic int kc_primes[] = {\ \n 1009,\ \n 1091,\ \n 1193,\ \n 1297,\ \n 1423,\ \n 1543,\ \n 1693,\ \n 1847,\ \n 2003", kc_current_view ); (*kc_printer)(",\ \n 2203,\ \n 2381,\ \n 2609,\ \n 2833,\ \n 3089,\ \n 3371,\ \n 3673,\ \n 4007,\ \n 4373,\ \n 4783,\ \n 5209,\ \n 5683,\ \n 6197,\ \n 6761,\ \n 7369,\ \n 8039,\ \n 8761,\ \n 9587,\ \n 10427,\ \n 1138", kc_current_view ); (*kc_printer)("3,\ \n 12409,\ \n 13537,\ \n 14767,\ \n 16111,\ \n 17569,\ \n 19181,\ \n 20921,\ \n 22807,\ \n 24889,\ \n 27143,\ \n 29611,\ \n 32299,\ \n 35251,\ \n 38447,\ \n 41941,\ \n 45751,\ \n 49919,\ \n 54443,\ \n", kc_current_view ); (*kc_printer)(" 59387,\ \n 64793,\ \n 70687,\ \n 77101,\ \n 80021,\ \n 84121,\ \n 91753,\ \n 100103,\ \n 109199,\ \n 119129,\ \n 129953,\ \n 141761,\ \n 154643,\ \n 168713,\ \n 184039,\ \n 200771,\ \n 219017,\ \n 238", kc_current_view ); (*kc_printer)("939,\ \n 260647,\ \n 284357,\ \n 310223,\ \n 338407,\ \n 369169,\ \n 402739,\ \n 439339,\ \n 479263,\ \n 522829,\ \n 570359,\ \n 622241,\ \n 678773,\ \n 740477,\ \n 807797,\ \n 881233,\ \n 961339,\ \n ", kc_current_view ); (*kc_printer)("1048759,\ \n 1144081,\ \n 1248083,\ \n 1361573,\ \n 1485347,\ \n 1620347,\ \n 1767679,\ \n 1928351,\ \n 2103653,\ \n 2294891,\ \n 2503511,\ \n 2731103,\ \n 2979391,\ \n 3250243,\ \n 3545719,\ \n 386805", kc_current_view ); (*kc_printer)("7,\ \n 4219687,\ \n 4603297,\ \n 5021773,\ \n 5478299,\ \n 5976329,\ \n 6519647,\ \n 7112351,\ \n 7758899,\ \n 8464273,\ \n 9233729,\ \n 10073153,\ \n 10988893,\ \n 11987891,\ \n 13077707,\ \n 14266573", kc_current_view ); (*kc_printer)(",\ \n 15563531,\ \n 16978399,\ \n 18521897,\ \n 20205697,\ \n 22042607,\ \n 24046487,\ \n 26232491,\ \n 28617269,\ \n 31218823,\ \n 34056907,\ \n 37152979,\ \n 40530541,\ \n 44215117,\ \n 48234733,\ \n", kc_current_view ); (*kc_printer)(" 52619639,\ \n 57403277,\ \n 62621729,\ \n 68314613,\ \n 74525021,\ \n 81300017,\ \n 88690949,\ \n 96753739,\ \n 105549557,\ \n 115144957,\ \n 125612671,\ \n 137032001,\ \n 149489477,\ \n 163079431,\ \n", kc_current_view ); (*kc_printer)(" 177904801,\ \n 194077981,\ \n 211721429,\ \n 230968853,\ \n 251966009,\ \n 274871969,\ \n 299860369,\ \n 327120389,\ \n 356858597,\ \n 389300293,\ \n 424691207,\ \n 463299493,\ \n 505417691,\ \n 55136", kc_current_view ); (*kc_printer)("4677,\ \n 601488779,\ \n 656169539,\ \n 715821317,\ \n 780896041,\ \n 851886569,\ \n 929330767,\ \n 1013815373,\ \n 1105980433,\ \n 1206524183,\ \n 1316208139,\ \n 1435863449,\ \n 1566396463,\ \n 17087", kc_current_view ); (*kc_printer)("96171,\ \n 1864141193,\ \n 2033608601,\ \n0, 0 /* last two elements should ALWAYS be 0 */ };\ \n\ \n#ifdef KC_STATISTICS\ \nstatic int kc_casestring_strlen =0;\ \nstatic int kc_nocasestring_strlen =0;\ \n", kc_current_view ); (*kc_printer)("\ \nvoid kc_do_print_operator_statistics\ \n#ifdef KC_USE_PROTOTYPES\ \n(FILE * kc_f)\ \n#else\ \n(kc_f) FILE *kc_f;\ \n#endif\ \n{ unsigned int kc_i;\ \n /*SUPPRESS 622*/\ \n assertNonNull( kc_f,\"kc_", kc_current_view ); (*kc_printer)("f\" );\ \n (void)fprintf(kc_f, \"%-*s| %-*s| %-*s| %-*s| %-*s| %-*s| %-*s| %-*s| %-*s| %-*s\\n\", ", kc_current_view); } unparse_int(FMOP, kc_printer, kc_current_view); { (*kc_printer)(" , \"Operator\", ", kc_current_view); } unparse_int(FMSZ, kc_printer, kc_current_view); { (*kc_printer)(", \"Sz\", ", kc_current_view); } unparse_int(FMNCR, kc_printer, kc_current_view); { (*kc_printer)(", \"#oper\", ", kc_current_view); } unparse_int(FMNCRD, kc_printer, kc_current_view); { (*kc_printer)(", \"#new\", ", kc_current_view); } unparse_int(FMEXIST, kc_printer, kc_current_view); { (*kc_printer)(", \"#exist\", ", kc_current_view); } unparse_int(FMFRNC, kc_printer, kc_current_view); { (*kc_printer)(", \"#frnrec\", ", kc_current_view); } unparse_int(FMFRRC, kc_printer, kc_current_view); { (*kc_printer)(", \"#frrec\", ", kc_current_view); } unparse_int(FMFREED, kc_printer, kc_current_view); { (*kc_printer)(", \"#freed\", ", kc_current_view); } unparse_int(FMREM, kc_printer, kc_current_view); { (*kc_printer)(", \"#rem\", ", kc_current_view); } unparse_int(FMTOT, kc_printer, kc_current_view); { (*kc_printer)(", \"total (bytes)\");\ \n (void)fprintf(kc_f, \"%-*s|%*s |%*d |%*d |%*d |%*d |%*d |%*d |%*d |%*d\\n\", ", kc_current_view); } unparse_int(FMOP, kc_printer, kc_current_view); { (*kc_printer)(", \"case sensitive strings\", ", kc_current_view); } unparse_int(FMSZ, kc_printer, kc_current_view); { (*kc_printer)(", \"-\", ", kc_current_view); } unparse_int(FMNCR, kc_printer, kc_current_view); { (*kc_printer)(", kc_OperatorStatistics[(int)sel__Str].create, ", kc_current_view); } unparse_int(FMNCRD, kc_printer, kc_current_view); { (*kc_printer)(", kc_OperatorStatistics[(int)sel__Str].existing_not_found, ", kc_current_view); } unparse_int(FMEXIST, kc_printer, kc_current_view); { (*kc_printer)(", kc_OperatorStatistics[(int)sel__Str].create-kc_OperatorStatistics[(int)sel__Str].existing_not_found, ", kc_current_view); } unparse_int(FMFRNC, kc_printer, kc_current_view); { (*kc_printer)(", 0, ", kc_current_view); } unparse_int(FMFRRC, kc_printer, kc_current_view); { (*kc_printer)(", 0, ", kc_current_view); } unparse_int(FMFREED, kc_printer, kc_current_view); { (*kc_printer)(", 0, ", kc_current_view); } unparse_int(FMREM, kc_printer, kc_current_view); { (*kc_printer)(", 0, ", kc_current_view); } unparse_int(FMTOT, kc_printer, kc_current_view); { (*kc_printer)(", kc_casestring_strlen);\ \n (void)fprintf(kc_f, \"%-*s|%*s |%*d |%*d |%*d |%*d |%*d |%*d |%*d |%*d\\n\", ", kc_current_view); } unparse_int(FMOP, kc_printer, kc_current_view); { (*kc_printer)(", \"case insensitive strings\", ", kc_current_view); } unparse_int(FMSZ, kc_printer, kc_current_view); { (*kc_printer)(", \"-\", ", kc_current_view); } unparse_int(FMNCR, kc_printer, kc_current_view); { (*kc_printer)(", kc_OperatorStatistics[(int)sel_NoCaseStr].create, ", kc_current_view); } unparse_int(FMNCRD, kc_printer, kc_current_view); { (*kc_printer)(", kc_OperatorStatistics[(int)sel_NoCaseStr].existing_not_found, ", kc_current_view); } unparse_int(FMEXIST, kc_printer, kc_current_view); { (*kc_printer)(", kc_OperatorStatistics[(int)sel_NoCaseStr].create-kc_OperatorStatistics[(int)sel_NoCaseStr].existing_not_found, ", kc_current_view); } unparse_int(FMFRNC, kc_printer, kc_current_view); { (*kc_printer)(", 0, ", kc_current_view); } unparse_int(FMFRRC, kc_printer, kc_current_view); { (*kc_printer)(", 0, ", kc_current_view); } unparse_int(FMFREED, kc_printer, kc_current_view); { (*kc_printer)(", 0, ", kc_current_view); } unparse_int(FMREM, kc_printer, kc_current_view); { (*kc_printer)(", 0, ", kc_current_view); } unparse_int(FMTOT, kc_printer, kc_current_view); { (*kc_printer)(", kc_nocasestring_strlen);\ \n for (kc_i = (int)kc_one_before_first_operator+1; kc_i < (int)kc_last_operator; kc_i++) {\ \n (void)fprintf(kc_f, \"%-*s|%*d |%*d |%*d |%*d |%*d |%*d |%*d |%*d |%*d\\n\",", kc_current_view ); (*kc_printer)(" ", kc_current_view); } unparse_int(FMOP, kc_printer, kc_current_view); { (*kc_printer)(", kc_OperatorInfo[kc_i].name, ", kc_current_view); } unparse_int(FMSZ, kc_printer, kc_current_view); { (*kc_printer)(", kc_PhylumInfo[(int)kc_OperatorInfo[kc_i].phylum].size, ", kc_current_view); } unparse_int(FMNCR, kc_printer, kc_current_view); { (*kc_printer)(", kc_OperatorStatistics[kc_i].create, ", kc_current_view); } unparse_int(FMNCRD, kc_printer, kc_current_view); { (*kc_printer)(", kc_OperatorStatistics[kc_i].existing_not_found, ", kc_current_view); } unparse_int(FMEXIST, kc_printer, kc_current_view); { (*kc_printer)(", kc_OperatorStatistics[kc_i].create-kc_OperatorStatistics[kc_i].existing_not_found, ", kc_current_view); } unparse_int(FMFRNC, kc_printer, kc_current_view); { (*kc_printer)(", kc_OperatorStatistics[kc_i].free_called[(int)False], ", kc_current_view); } unparse_int(FMFRRC, kc_printer, kc_current_view); { (*kc_printer)(", kc_OperatorStatistics[kc_i].free_called[(int)True], ", kc_current_view); } unparse_int(FMFREED, kc_printer, kc_current_view); { (*kc_printer)(", kc_OperatorStatistics[kc_i].freed[(int)False]+kc_OperatorStatistics[kc_i].freed[(int)True], ", kc_current_view); } unparse_int(FMREM, kc_printer, kc_current_view); { (*kc_printer)(", kc_OperatorStatistics[kc_i].existing_not_found-(kc_OperatorStatistics[kc_i].freed[(int)False]+kc_OperatorStatistics[kc_i].freed[(int)True]), ", kc_current_view); } unparse_int(FMTOT, kc_printer, kc_current_view); { (*kc_printer)(", (kc_PhylumInfo[(int)kc_OperatorInfo[(int)kc_i].phylum].size)*(kc_OperatorStatistics[kc_i].existing_not_found-(kc_OperatorStatistics[kc_i].freed[(int)False]+kc_OperatorStatistics[kc_i].freed[(int)True", kc_current_view ); (*kc_printer)("])));\ \n }\ \n}\ \n#endif /* KC_STATISTICS */\ \n\ \nvoid kc_print_hash_statistics\ \n#ifdef KC_USE_PROTOTYPES\ \n(FILE *kc_f)\ \n#else\ \n(kc_f) FILE *kc_f;\ \n#endif\ \n{ unsigned int kc_k;\ \n /*SU", kc_current_view ); (*kc_printer)("PPRESS 622*/\ \n /*assertNonNull(kc_f,\"kc_f\");*/ if (kc_f == NULL) kc_f = stdout;\ \n for (kc_k=0; kc_k < (int)kc_last_storageclass; kc_k++) {\ \n (void)fprintf(kc_f, \"Information for storage class", kc_current_view ); (*kc_printer)(" %s: \\n\", kc_storageclassnames[kc_k]);\ \n kc_print_hashtable_statistics(kc_f, kc_hashtables[kc_k]);\ \n} }\ \n\ \nvoid kc_print_all_hashtable_statistics\ \n#ifdef KC_USE_PROTOTYPES\ \n(FILE *kc_f)\ \n", kc_current_view ); (*kc_printer)("#else\ \n(kc_f) FILE *kc_f;\ \n#endif\ \n{ kc_hashtable_t kc_a_hashtable_t = kc_all_hashtables;\ \n unsigned int kc_k;\ \n boolean kc_st_found;\ \n /*SUPPRESS 622*/\ \n /*assertNonNull(kc_f,\"kc_f\");*", kc_current_view ); (*kc_printer)("/ if (kc_f == NULL) kc_f = stdout;\ \n do { /* at least one time, because we have at least one element */\ \n kc_st_found = False;\ \n for (kc_k=0; kc_k < (int)kc_last_storageclass; kc_k++) {\ \n i", kc_current_view ); (*kc_printer)("f (kc_hashtables[kc_k] == kc_a_hashtable_t) {\ \n kc_st_found = True;\ \n (void)fprintf(kc_f, \"Information for storage class %s: \\n\", kc_storageclassnames[kc_k]);\ \n } }\ \n if (! kc_st_fou", kc_current_view ); (*kc_printer)("nd) {\ \n (void)fprintf(kc_f, \"Information for unknown storage class: \\n\");\ \n }\ \n kc_print_hashtable_statistics(kc_f, kc_a_hashtable_t);\ \n kc_print_hashtable_memory_statistics(kc_f, kc_a_", kc_current_view ); (*kc_printer)("hashtable_t);\ \n kc_a_hashtable_t = kc_a_hashtable_t->next;\ \n } while(kc_a_hashtable_t != kc_all_hashtables);\ \n}\ \n\ \nvoid kc_print_hashtable_statistics\ \n#ifdef KC_USE_PROTOTYPES\ \n(FILE *kc", kc_current_view ); (*kc_printer)("_f, kc_hashtable_t kc_a_hashtable_t)\ \n#else\ \n(kc_f, kc_a_hashtable_t) FILE *kc_f; kc_hashtable_t kc_a_hashtable_t;\ \n#endif\ \n{\ \n boolean kc_goon;\ \n int kc_entries[9];\ \n int kc_o_8 = 0;\ \n", kc_current_view ); (*kc_printer)(" int kc_o_20 = 0;\ \n int kc_o_100 = 0;\ \n int kc_total = 0;\ \n int kc_i, kc_j;\ \n\ \n /*SUPPRESS 622*/\ \n /*(kc_f,\"kc_f\");*/ if (kc_f == NULL) kc_f = stdout;\ \n (void)fprintf(kc_f, \"\\tsize:\\t", kc_current_view ); (*kc_printer)("%d\\n\",kc_a_hashtable_t->size);\ \n for (kc_i=0; kc_i < 9; kc_i++) kc_entries[kc_i]=0;\ \n for (kc_i=0;kc_isize;kc_i++) {\ \n int kc_m=0, kc_n;\ \n for (kc_n=0;kc_n<(int)kc_last_s", kc_current_view ); (*kc_printer)("torage_mode;kc_n++) {\ \n kc_m += kc_a_hashtable_t->hashtable[kc_i][kc_n].nr;\ \n }\ \n kc_total += kc_m;\ \n if (kc_m >100) {kc_o_100 ++; (void)fprintf(kc_f, \">100: key %d (%d elts)\\n\",kc_i,kc", kc_current_view ); (*kc_printer)("_m); }\ \n else if (kc_m >20) {kc_o_20 ++; (void)fprintf(kc_f, \">20: key %d (%d elts)\\n\",kc_i,kc_m); }\ \n else if (kc_m > 8) kc_o_8 ++;\ \n else {\ \n kc_j =0; kc_goon = True;\ \n while ( kc", kc_current_view ); (*kc_printer)("_goon && (kc_j < 9)) {\ \n if (kc_m == kc_j) { kc_entries[kc_j]++; kc_goon = False; }\ \n else kc_j++;\ \n } } }\ \n (void)fprintf(kc_f, \"The spreading is: \\n\");\ \n for (kc_j=0; kc_j < 9; kc_", kc_current_view ); (*kc_printer)("j++) {\ \n (void)fprintf(kc_f, \"\\t%d elts:\\t%d\\n\",kc_j, kc_entries[kc_j]);\ \n }\ \n (void)fprintf(kc_f, \"\\tOver 8 elts:\\t%d\\n\",kc_o_8);\ \n (void)fprintf(kc_f, \"\\tOver 20 elts:\\t%d\\n\",", kc_current_view ); (*kc_printer)("kc_o_20);\ \n (void)fprintf(kc_f, \"\\tOver 100 elts:\\t%d\\n\",kc_o_100);\ \n (void)fprintf(kc_f, \" Total number of cells: %d\\n\",kc_total);\ \n (void)fprintf(kc_f, \" Number of buckets: %d\\n\",kc_", kc_current_view ); (*kc_printer)("a_hashtable_t->size);\ \n}\ \n\ \nstatic void kc_growindex\ \n#ifdef KC_USE_PROTOTYPES\ \n(kc_hashtableentry_t *kc_hte, kc_hashtable_t kc_a_ht)\ \n#else\ \n(kc_hte, kc_a_ht) kc_hashtableentry_t *kc_hte", kc_current_view ); (*kc_printer)("; kc_hashtable_t kc_a_ht;\ \n#endif\ \n{ int kc_newsize = kc_hte->ibound + kc_a_ht->bucket_alloc_inc;\ \n if (kc_newsize == kc_a_ht->bucket_alloc_inc)\ \n kc_hte->index = (YYSTYPE *) (*kc_a_ht->bucket", kc_current_view ); (*kc_printer)("_calloc)((kc_size_t)kc_newsize, (kc_size_t)sizeof(YYSTYPE), kc_a_ht->bucket_alloc_private_data);\ \n else\ \n kc_hte->index = (YYSTYPE *) (*kc_a_ht->bucket_realloc)((kc_voidptr_t)kc_hte->index, (kc_si", kc_current_view ); (*kc_printer)("ze_t)kc_hte->ibound * sizeof(YYSTYPE), (kc_size_t)kc_newsize * sizeof(YYSTYPE), kc_a_ht->bucket_alloc_private_data);\ \n kc_hte->ibound = kc_newsize;\ \n}\ \n\ \nvoid kc_ht_static\ \n#ifdef KC_USE_PROT", kc_current_view ); (*kc_printer)("OTYPES\ \n(kc_storageclass_t kc_a_storageclass_t)\ \n#else\ \n(kc_a_storageclass_t) kc_storageclass_t kc_a_storageclass_t;\ \n#endif\ \n{\ \n kc_hashtables[(int)kc_a_storageclass_t]->mode = kc_ht_store", kc_current_view ); (*kc_printer)("_static;\ \n kc_hashtables[(int)kc_a_storageclass_t]->malloc_private_data = kc_hashtables[(int)kc_a_storageclass_t]->static_malloc_private_data;\ \n}\ \n\ \nvoid kc_ht_dynamic\ \n#ifdef KC_USE_PROTOTYP", kc_current_view ); (*kc_printer)("ES\ \n(kc_storageclass_t kc_a_storageclass_t)\ \n#else\ \n(kc_a_storageclass_t) kc_storageclass_t kc_a_storageclass_t;\ \n#endif\ \n{\ \n kc_hashtables[(int)kc_a_storageclass_t]->mode = kc_ht_store_dyn", kc_current_view ); (*kc_printer)("amic;\ \n if (kc_hashtables[(int)kc_a_storageclass_t]->dynamic_malloc_private_data != 0) {\ \n kc_ht_inc_level(kc_a_storageclass_t);\ \n }\ \n kc_hashtables[(int)kc_a_storageclass_t]->malloc_private_d", kc_current_view ); (*kc_printer)("ata = kc_hashtables[(int)kc_a_storageclass_t]->dynamic_malloc_private_data->malloc_private_data;\ \n}\ \n\ \nvoid kc_ht_inc_level\ \n#ifdef KC_USE_PROTOTYPES\ \n(kc_storageclass_t kc_a_storageclass_t)\ \n", kc_current_view ); (*kc_printer)("#else\ \n(kc_a_storageclass_t) kc_storageclass_t kc_a_storageclass_t;\ \n#endif\ \n{\ \n kc_private_malloc_t kc_a_private_malloc_t = (kc_private_malloc_t)MALLOC(sizeof(struct kc_tag_kc_private_malloc_t", kc_current_view ); (*kc_printer)("));\ \n kc_a_private_malloc_t->next = kc_hashtables[(int)kc_a_storageclass_t]->dynamic_malloc_private_data;\ \n if (kc_hashtables[(int)kc_a_storageclass_t]->dynamic_malloc_private_data != 0 ) {\ \n kc", kc_current_view ); (*kc_printer)("_hashtables[(int)kc_a_storageclass_t]->dynamic_malloc_private_data->prev = kc_a_private_malloc_t;\ \n }\ \n kc_a_private_malloc_t->prev = kc_hashtables[(int)kc_a_storageclass_t]->dec_dynamic_malloc_pri", kc_current_view ); (*kc_printer)("vate_data;\ \n kc_a_private_malloc_t->malloc_private_data = (*kc_hashtables[(int)kc_a_storageclass_t]->malloc_initialise)();\ \n kc_hashtables[(int)kc_a_storageclass_t]->dynamic_malloc_private_data = k", kc_current_view ); (*kc_printer)("c_a_private_malloc_t;\ \n}\ \n\ \nvoid kc_ht_dec_level\ \n#ifdef KC_USE_PROTOTYPES\ \n(kc_storageclass_t kc_a_storageclass_t)\ \n#else\ \n(kc_a_storageclass_t) kc_storageclass_t kc_a_storageclass_t;\ \n", kc_current_view ); (*kc_printer)("#endif\ \n{\ \n int kc_i, kc_j, kc_m;\ \n kc_hashtableentry_t* kc_hte;\ \n\ \n kc_hashtable_t kc_a_hashtable_t = kc_hashtables[(int)kc_a_storageclass_t];\ \n if (kc_a_hashtable_t->dynamic_malloc_privat", kc_current_view ); (*kc_printer)("e_data != 0) {\ \n kc_a_hashtable_t->dec_dynamic_malloc_private_data = kc_a_hashtable_t->dynamic_malloc_private_data;\ \n kc_a_hashtable_t->dynamic_malloc_private_data = kc_a_hashtable_t->dynamic_mal", kc_current_view ); (*kc_printer)("loc_private_data->next;\ \n for (kc_i=0; kc_i < kc_a_hashtable_t->size; kc_i++) {\ \n kc_m = (int)kc_ht_store_dynamic;\ \n kc_hte = &kc_a_hashtable_t->hashtable[kc_i][kc_m];\ \n for (kc_j=kc_hte", kc_current_view ); (*kc_printer)("->nr -1; kc_j >= 0; kc_j--) {\ \n kc_private_malloc_t kc_a_private_malloc_t = kc_a_hashtable_t->dec_dynamic_malloc_private_data;\ \n boolean kc_is_in_block = (*kc_a_hashtable_t->in_block)((kc_voi", kc_current_view ); (*kc_printer)("dptr_t)kc_hte->index[kc_j].yt_casestring, kc_a_private_malloc_t->malloc_private_data);\ \n#if 0 /* not necessary, because every kc_ht_dec_level call takes care of its own level */\ \n while ((!kc_is", kc_current_view ); (*kc_printer)("_in_block) && kc_a_private_malloc_t->prev) {\ \n kc_a_private_malloc_t = kc_a_private_malloc_t->prev;\ \n kc_is_in_block = (*kc_a_hashtable_t->in_block)((kc_voidptr_t)kc_hte->index[kc_j].yt_cas", kc_current_view ); (*kc_printer)("estring, kc_a_private_malloc_t->malloc_private_data);\ \n }\ \n#endif\ \n if (kc_is_in_block) {\ \n kc_hte->nr--;\ \n kc_hte->index[kc_j] = kc_hte->index[kc_hte->nr];\ \n kc_hte->inde", kc_current_view ); (*kc_printer)("x[kc_hte->nr].yt_casestring = 0;\ \n }\ \n#ifdef KC_SEPARATE_HASH_LEVELS\ \n else {\ \n break;\ \n }\ \n#endif\ \n } }\ \n } else {\ \n /* should be a better error message */\ \n /*SU", kc_current_view ); (*kc_printer)("PPRESS 622*/\ \n assert(kc_zero_constant); \ \n} }\ \n\ \n/* free the previous level(s) in the level-list, ie\ \n * the sublist that is reachable via dec_dynamic_malloc_private_data,\ \n * and via the", kc_current_view ); (*kc_printer)(" prev field of the current dynamic node, if defined\ \n * follow prev's to the left start, freeing the blocks while moving\ \n * and freeing the administration nodes themselves\ \n */\ \nstatic void kc", kc_current_view ); (*kc_printer)("_ht_do_free_level\ \n#ifdef KC_USE_PROTOTYPES\ \n(kc_hashtable_t kc_a_hashtable_t)\ \n#else\ \n(kc_a_hashtable_t) kc_hashtable_t kc_a_hashtable_t;\ \n#endif\ \n{ kc_private_malloc_t kc_a_private_malloc", kc_current_view ); (*kc_printer)("_t, kc_b_private_malloc_t;\ \n if (kc_a_hashtable_t->dec_dynamic_malloc_private_data != 0) {\ \n kc_a_private_malloc_t = kc_a_hashtable_t->dec_dynamic_malloc_private_data;\ \n while (kc_a_private_mal", kc_current_view ); (*kc_printer)("loc_t != 0) {\ \n if (kc_a_hashtable_t->free_all_elements != 0) {\ \n (*kc_a_hashtable_t->free_all_elements)(kc_a_private_malloc_t->malloc_private_data);\ \n }\ \n kc_b_private_malloc_t = kc_a", kc_current_view ); (*kc_printer)("_private_malloc_t;\ \n kc_a_private_malloc_t = kc_a_private_malloc_t->prev;\ \n KC_BZERO(kc_b_private_malloc_t, sizeof(struct kc_tag_kc_private_malloc_t));\ \n FREE((kc_voidptr_t)kc_b_private_mal", kc_current_view ); (*kc_printer)("loc_t);\ \n }\ \n kc_a_hashtable_t->dec_dynamic_malloc_private_data = 0;\ \n if (kc_a_hashtable_t->dynamic_malloc_private_data != 0) {\ \n kc_a_hashtable_t->dynamic_malloc_private_data->prev = 0;\ \n", kc_current_view ); (*kc_printer)("} } }\ \n\ \nvoid kc_ht_free_level\ \n#ifdef KC_USE_PROTOTYPES\ \n(kc_storageclass_t kc_a_storageclass_t)\ \n#else\ \n(kc_a_storageclass_t) kc_storageclass_t kc_a_storageclass_t;\ \n#endif\ \n{\ \n kc_", kc_current_view ); (*kc_printer)("ht_do_free_level(kc_hashtables[(int)kc_a_storageclass_t]);\ \n}\ \n\ \nstatic int kc_choose_prime\ \n#ifdef KC_USE_PROTOTYPES\ \n(int kc_a_size)\ \n#else\ \n(kc_a_size) int kc_a_size;\ \n#endif\ \n{ in", kc_current_view ); (*kc_printer)("t kc_i =0;\ \n while((kc_primes[kc_i] < kc_a_size) && (kc_primes[kc_i+1] > 0)) {\ \n kc_i++;\ \n }\ \n return kc_primes[kc_i];\ \n}\ \n\ \nkc_hashtable_t kc_ht_create_bucketmanagement\ \n#ifdef KC_USE", kc_current_view ); (*kc_printer)("_PROTOTYPES\ \n(int kc_a_size,\ \n kc_voidptr_t (*kc_a_malloc_initialise)(),\ \n kc_voidptr_t (*kc_a_malloc)(kc_size_t, kc_voidptr_t),\ \n void (*kc_a_free_element)(kc_voidptr_t, kc_voidptr_t),\ \n voi", kc_current_view ); (*kc_printer)("d (*kc_a_free_all_elements)(kc_voidptr_t),\ \n boolean (*kc_a_in_block)(kc_voidptr_t, kc_voidptr_t),\ \n void (*kc_a_malloc_info)(FILE*, kc_voidptr_t),\ \n kc_voidptr_t (*kc_a_bucket_alloc_initialise)(", kc_current_view ); (*kc_printer)("),\ \n kc_voidptr_t (*kc_a_bucket_calloc)(kc_size_t, kc_size_t, kc_voidptr_t),\ \n kc_voidptr_t (*kc_a_bucket_realloc)( kc_voidptr_t, kc_size_t, kc_size_t, kc_voidptr_t),\ \n void (*kc_a_free_bucket)(k", kc_current_view ); (*kc_printer)("c_voidptr_t, kc_size_t, kc_voidptr_t),\ \n void (*kc_a_free_buckets)(kc_voidptr_t),\ \n int kc_a_bucket_alloc_inc,\ \n void (*kc_a_bucket_alloc_info)(FILE*, kc_voidptr_t)\ \n)\ \n#else\ \n(kc_a_size,\ \n", kc_current_view ); (*kc_printer)(" kc_a_malloc_initialise,\ \n kc_a_malloc,\ \n kc_a_free_element,\ \n kc_a_free_all_elements,\ \n kc_a_in_block,\ \n kc_a_malloc_info,\ \n kc_a_bucket_alloc_initialise,\ \n kc_a_bucket_calloc,\ \n kc_a_", kc_current_view ); (*kc_printer)("bucket_realloc,\ \n kc_a_free_bucket,\ \n kc_a_free_buckets,\ \n kc_a_bucket_alloc_inc,\ \n kc_a_bucket_alloc_info\ \n)\ \n int kc_a_size;\ \n kc_voidptr_t (*kc_a_malloc_initialise)KC__P(());\ \n kc_vo", kc_current_view ); (*kc_printer)("idptr_t (*kc_a_malloc)KC__P((kc_size_t, kc_voidptr_t));\ \n void (*kc_a_free_element)KC__P((kc_voidptr_t, kc_voidptr_t));\ \n void (*kc_a_free_all_elements)KC__P((kc_voidptr_t));\ \n boolean (*kc_a_in_", kc_current_view ); (*kc_printer)("block)KC__P((kc_voidptr_t, kc_voidptr_t));\ \n void (*kc_a_malloc_info)KC__P((FILE*, kc_voidptr_t));\ \n kc_voidptr_t (*kc_a_bucket_alloc_initialise)KC__P(());\ \n kc_voidptr_t (*kc_a_bucket_calloc)KC_", kc_current_view ); (*kc_printer)("_P((kc_size_t, size_t, kc_voidptr_t));\ \n kc_voidptr_t (*kc_a_bucket_realloc)KC__P(( kc_voidptr_t, kc_size_t, kc_size_t, kc_voidptr_t));\ \n void (*kc_a_free_bucket)KC__P((kc_voidptr_t, kc_size_t, kc_", kc_current_view ); (*kc_printer)("voidptr_t));\ \n void (*kc_a_free_buckets)KC__P((kc_voidptr_t));\ \n int kc_a_bucket_alloc_inc;\ \n void (*kc_a_bucket_alloc_info)KC__P((FILE*, kc_voidptr_t));\ \n#endif\ \n{ kc_hashtable_t kc_a_hashta", kc_current_view ); (*kc_printer)("ble_t = (kc_hashtable_t)MALLOC(sizeof(kc_hashtable_struct_t));\ \n kc_a_hashtable_t->size = kc_choose_prime(kc_a_size);\ \n kc_a_hashtable_t->hashtable = (kc_hashtableentry_t(*)[(int)kc_last_storage_mo", kc_current_view ); (*kc_printer)("de])CALLOC((kc_size_t)kc_a_hashtable_t->size*((int)kc_last_storage_mode), (kc_size_t)sizeof(kc_hashtableentry_t));\ \n\ \n kc_a_hashtable_t->malloc_initialise = kc_a_malloc_initialise;\ \n kc_a_hashtab", kc_current_view ); (*kc_printer)("le_t->malloc = kc_a_malloc;\ \n kc_a_hashtable_t->free_element = kc_a_free_element;\ \n kc_a_hashtable_t->free_all_elements = kc_a_free_all_elements;\ \n kc_a_hashtable_t->in_block = kc_a_in_block;\ \n", kc_current_view ); (*kc_printer)(" kc_a_hashtable_t->static_malloc_private_data = (kc_voidptr_t)(*kc_a_hashtable_t->malloc_initialise)();\ \n kc_a_hashtable_t->malloc_private_data = kc_a_hashtable_t->static_malloc_private_data;\ \n kc_", kc_current_view ); (*kc_printer)("a_hashtable_t->dynamic_malloc_private_data = 0;\ \n kc_a_hashtable_t->dec_dynamic_malloc_private_data = 0;\ \n kc_a_hashtable_t->mode = kc_ht_store_static;\ \n kc_a_hashtable_t->malloc_info = kc_a_mall", kc_current_view ); (*kc_printer)("oc_info;\ \n\ \n kc_a_hashtable_t->bucket_alloc_initialise = kc_a_bucket_alloc_initialise;\ \n kc_a_hashtable_t->bucket_calloc = kc_a_bucket_calloc;\ \n kc_a_hashtable_t->bucket_realloc = kc_a_bucket_r", kc_current_view ); (*kc_printer)("ealloc;\ \n kc_a_hashtable_t->free_bucket = kc_a_free_bucket;\ \n kc_a_hashtable_t->free_buckets = kc_a_free_buckets;\ \n kc_a_hashtable_t->bucket_alloc_info = kc_a_bucket_alloc_info;\ \n kc_a_hashtabl", kc_current_view ); (*kc_printer)("e_t->bucket_alloc_inc = (kc_a_bucket_alloc_inc ? kc_a_bucket_alloc_inc : KC_BUCKET_INC);\ \n kc_a_hashtable_t->bucket_alloc_private_data = (kc_a_hashtable_t->bucket_alloc_initialise)\ \n ? (", kc_current_view ); (*kc_printer)("kc_voidptr_t)(*kc_a_hashtable_t->bucket_alloc_initialise)()\ \n : 0;\ \n\ \n kc_a_hashtable_t->kc_to_be_freed = 1;\ \n kc_a_hashtable_t->next = kc_all_hashtables;\ \n kc_a_hashtable_t->prev ", kc_current_view ); (*kc_printer)("= kc_all_hashtables->prev;\ \n kc_all_hashtables->prev->next = kc_a_hashtable_t;\ \n kc_all_hashtables->prev = kc_a_hashtable_t;\ \n kc_all_hashtables = kc_a_hashtable_t;\ \n return kc_a_hashtable_t;\ \n", kc_current_view ); (*kc_printer)("}\ \n\ \nkc_hashtable_t kc_ht_create\ \n#ifdef KC_USE_PROTOTYPES\ \n(int kc_a_size, kc_voidptr_t (*kc_a_malloc_initialise)(), kc_voidptr_t (*kc_a_malloc)(kc_size_t, kc_voidptr_t),\ \n void (*kc_a_free_", kc_current_view ); (*kc_printer)("element)(kc_voidptr_t, kc_voidptr_t), void (*kc_a_free_all_elements)(kc_voidptr_t),\ \n boolean (*kc_a_in_block)(kc_voidptr_t, kc_voidptr_t))\ \n#else\ \n(kc_a_size, kc_a_malloc_initialise, kc_a_malloc", kc_current_view ); (*kc_printer)(", kc_a_free_element, kc_a_free_all_elements, kc_a_in_block)\ \n int kc_a_size; kc_voidptr_t (*kc_a_malloc_initialise)KC__P(()); kc_voidptr_t (*kc_a_malloc)KC__P((kc_size_t, kc_voidptr_t));\ \n void (*k", kc_current_view ); (*kc_printer)("c_a_free_element)KC__P((kc_voidptr_t, kc_voidptr_t)); void (*kc_a_free_all_elements)KC__P((kc_voidptr_t));\ \n boolean (*kc_a_in_block)KC__P((kc_voidptr_t, kc_voidptr_t));\ \n#endif\ \n{\ \n kc_voidptr", kc_current_view ); (*kc_printer)("_t (*kc_tmp_malloc_initialise)KC__P(()) = (kc_voidptr_t(*)())UNIQMALLOCINIT;\ \n void (*kc_tmp_malloc_info)KC__P((FILE*, kc_voidptr_t)) = (kc_tmp_malloc_initialise == kc_a_malloc_initialise)\ \n ", kc_current_view ); (*kc_printer)(" ? (void(*)KC__P((FILE*, kc_voidptr_t)))UNIQMEMORYINFO\ \n : (void(*)KC__P((FILE*, kc_voidptr_t)))0\ \n ;\ \n /* do something special (wrt mallocinfo?) if we know that our malloc is being", kc_current_view ); (*kc_printer)(" used */\ \n return kc_ht_create_bucketmanagement(kc_a_size, kc_a_malloc_initialise, kc_a_malloc, kc_a_free_element, kc_a_free_all_elements, kc_a_in_block, kc_tmp_malloc_info,\ \n (kc_voidptr_t", kc_current_view ); (*kc_printer)("(*)())BUCKETALLOCINIT, BUCKETCALLOC, BUCKETREALLOC, BUCKETFREE, (void(*)KC__P((kc_voidptr_t)))BUCKETSFREE,\ \n BUCKETINC, (void(*)KC__P((FILE*, kc_voidptr_t)))BUCKETMEMORYINFO);\ \n}\ \n\ \nkc", kc_current_view ); (*kc_printer)("_hashtable_t kc_ht_create_simple\ \n#ifdef KC_USE_PROTOTYPES\ \n(int kc_a_size)\ \n#else\ \n(kc_a_size) int kc_a_size;\ \n#endif\ \n{\ \n return kc_ht_create_bucketmanagement(kc_a_size, (kc_voidptr_t(*", kc_current_view ); (*kc_printer)(")())UNIQMALLOCINIT, UNIQMALLOC2, (void (*)KC__P((kc_voidptr_t, kc_voidptr_t)))0/*UNIQFREEELEMENT*/, UNIQFREEALL, INUNIQBLOCK,\ \n UNIQMEMORYINFO, (kc_voidptr_t(*)())BUCKETALLOCINIT, BUCKETCALLOC,", kc_current_view ); (*kc_printer)(" BUCKETREALLOC, BUCKETFREE, (void(*)KC__P((kc_voidptr_t)))BUCKETSFREE, BUCKETINC, (void(*)KC__P((FILE*, kc_voidptr_t)))BUCKETMEMORYINFO);\ \n}\ \n\ \nkc_hashtable_t kc_ht_assign\ \n#ifdef KC_USE_PROTOT", kc_current_view ); (*kc_printer)("YPES\ \n(kc_hashtable_t kc_a_hashtable_t, kc_storageclass_t kc_a_storageclass_t)\ \n#else\ \n(kc_a_hashtable_t, kc_a_storageclass_t) kc_hashtable_t kc_a_hashtable_t; kc_storageclass_t kc_a_storageclass", kc_current_view ); (*kc_printer)("_t;\ \n#endif\ \n{ kc_hashtable_t kc_tmp = kc_hashtables[(int)kc_a_storageclass_t];\ \n kc_hashtables[(int)kc_a_storageclass_t] = kc_a_hashtable_t;\ \n kc_storageclass_still_uniq[(int)kc_a_storageclass", kc_current_view ); (*kc_printer)("_t] = False;\ \n return kc_tmp;\ \n}\ \n\ \nkc_hashtable_t kc_ht_assigned\ \n#ifdef KC_USE_PROTOTYPES\ \n(kc_storageclass_t kc_a_storageclass_t)\ \n#else\ \n(kc_a_storageclass_t) kc_storageclass_t kc_a", kc_current_view ); (*kc_printer)("_storageclass_t;\ \n#endif\ \n{ return kc_hashtables[(int)kc_a_storageclass_t];\ \n}\ \n\ \nstatic void kc_ht_free_single_elements\ \n#ifdef KC_USE_PROTOTYPES\ \n(kc_hashtable_t kc_a_hashtable_t, int k", kc_current_view ); (*kc_printer)("c_i, int kc_m)\ \n#else\ \n(kc_a_hashtable_t, kc_i, kc_m) kc_hashtable_t kc_a_hashtable_t; int kc_i; int kc_m;\ \n#endif\ \n{ int kc_j;\ \n if ((int)kc_m == (int)kc_ht_store_static) {\ \n for (kc_j=0;", kc_current_view ); (*kc_printer)(" kc_j < kc_a_hashtable_t->hashtable[kc_i][kc_m].nr; kc_j++) {\ \n (*kc_a_hashtable_t->free_element)((kc_voidptr_t)kc_a_hashtable_t->hashtable[kc_i][kc_m].index[kc_j].yt_casestring, kc_a_hashtable_t->", kc_current_view ); (*kc_printer)("static_malloc_private_data);\ \n }\ \n } else {\ \n kc_voidptr_t kc_a_private_data = 0;\ \n if ((kc_a_hashtable_t->dynamic_malloc_private_data == 0) || (kc_a_hashtable_t->dynamic_malloc_private_data", kc_current_view ); (*kc_printer)("->malloc_private_data == 0)) {\ \n kc_a_private_data = 0;\ \n } else if (kc_a_hashtable_t->dynamic_malloc_private_data->next == 0) {\ \n kc_a_private_data = kc_a_hashtable_t->dynamic_malloc_privat", kc_current_view ); (*kc_printer)("e_data->malloc_private_data;\ \n }\ \n for (kc_j=0; kc_j < kc_a_hashtable_t->hashtable[kc_i][kc_m].nr; kc_j++) {\ \n (*kc_a_hashtable_t->free_element)((kc_voidptr_t)kc_a_hashtable_t->hashtable[kc_i", kc_current_view ); (*kc_printer)("][kc_m].index[kc_j].yt_casestring, kc_a_private_data);\ \n }\ \n }\ \n}\ \n\ \nstatic void kc_ht_do_clear_all_elements\ \n#ifdef KC_USE_PROTOTYPES\ \n(kc_hashtable_t kc_a_hashtable_t, boolean kc_reuse", kc_current_view ); (*kc_printer)(", boolean kc_reinit)\ \n#else\ \n(kc_a_hashtable_t, kc_reuse, kc_reinit) kc_hashtable_t kc_a_hashtable_t; boolean kc_reuse; boolean kc_reinit;\ \n#endif\ \n{ int kc_i, kc_m;\ \n kc_private_malloc_t kc_", kc_current_view ); (*kc_printer)("a_private_malloc_t;\ \n/* free all static stuff */\ \n (*kc_a_hashtable_t->free_all_elements)(kc_a_hashtable_t->static_malloc_private_data);\ \n/* free all dynamic stuff */\ \n /* walk to end of list o", kc_current_view ); (*kc_printer)("f levels, kc_ht_do_free_level will free last and all\ \n * previous levels in the list\ \n */\ \n if (kc_a_hashtable_t->dynamic_malloc_private_data != 0) {\ \n kc_a_private_malloc_t = kc_a_hashtable", kc_current_view ); (*kc_printer)("_t->dynamic_malloc_private_data;\ \n while(kc_a_private_malloc_t->next != 0) {\ \n kc_a_private_malloc_t = kc_a_private_malloc_t->next;\ \n }\ \n kc_a_hashtable_t->dec_dynamic_malloc_private_data ", kc_current_view ); (*kc_printer)("= kc_a_private_malloc_t;\ \n kc_a_hashtable_t->dynamic_malloc_private_data = 0;\ \n kc_ht_do_free_level(kc_a_hashtable_t);\ \n }\ \n/* free/reuse the buckets, and re-initialize the hashtable-entries ", kc_current_view ); (*kc_printer)("*/\ \n if (kc_reuse) { /* zero the buckets; reset nr field */\ \n for (kc_i=0; kc_i < kc_a_hashtable_t->size; kc_i++) {\ \n for (kc_m=0; kc_m < (int)kc_last_storage_mode; kc_m++) {\ \n /* we only", kc_current_view ); (*kc_printer)(" do something if nr !=0, else there is nothing to do\ \n * because of our 'invariant'\ \n */\ \n if (kc_a_hashtable_t->hashtable[kc_i][kc_m].nr) {\ \n KC_BZERO((kc_voidptr_t)kc_a_hashtab", kc_current_view ); (*kc_printer)("le_t->hashtable[kc_i][kc_m].index,\ \n (kc_size_t)kc_a_hashtable_t->hashtable[kc_i][kc_m].ibound * sizeof(YYSTYPE));\ \n kc_a_hashtable_t->hashtable[kc_i][kc_m].nr = 0;\ \n } } }\ \n } else", kc_current_view ); (*kc_printer)(" if (kc_reinit) { /* zero & free the buckets; reset nr, index, ibound fields */\ \n if (kc_a_hashtable_t->free_buckets) {\ \n (*kc_a_hashtable_t->free_buckets)(kc_a_hashtable_t->bucket_alloc_private", kc_current_view ); (*kc_printer)("_data);\ \n KC_BZERO(kc_a_hashtable_t->hashtable, (kc_size_t)kc_a_hashtable_t->size*((int)kc_last_storage_mode)*sizeof(kc_hashtableentry_t));\ \n#if 0\ \n for (kc_i=0; kc_i < kc_a_hashtable_t->size", kc_current_view ); (*kc_printer)("; kc_i++) {\ \n for (kc_m=0; kc_m < (int)kc_last_storage_mode; kc_m++) {\ \n /* we do something if ibound !=0, it is not suficient to\ \n * look only at the nr field, because the nr field m", kc_current_view ); (*kc_printer)("ight be\ \n * reset in a previous reuse operation.\ \n * we could as well look for an non-null index field.\ \n */\ \n if (kc_a_hashtable_t->hashtable[kc_i][kc_m].ibound) {\ \n ", kc_current_view ); (*kc_printer)("kc_a_hashtable_t->hashtable[kc_i][kc_m].index = 0;\ \n kc_a_hashtable_t->hashtable[kc_i][kc_m].ibound = 0;\ \n kc_a_hashtable_t->hashtable[kc_i][kc_m].nr = 0;\ \n } } }\ \n#endif\ \n } els", kc_current_view ); (*kc_printer)("e if (kc_a_hashtable_t->free_bucket) {\ \n for (kc_i=0; kc_i < kc_a_hashtable_t->size; kc_i++) {\ \n for (kc_m=0; kc_m < (int)kc_last_storage_mode; kc_m++) {\ \n /* we do something if ibound !", kc_current_view ); (*kc_printer)("=0, it is not suficient to\ \n * look only at the nr field, because the nr field might be\ \n * reset in a previous reuse operation.\ \n * we could as well look for an non-null index fie", kc_current_view ); (*kc_printer)("ld.\ \n */\ \n if (kc_a_hashtable_t->hashtable[kc_i][kc_m].ibound) {\ \n KC_BZERO((kc_voidptr_t)kc_a_hashtable_t->hashtable[kc_i][kc_m].index,\ \n (kc_size_t)kc_a_hashtable_t->has", kc_current_view ); (*kc_printer)("htable[kc_i][kc_m].ibound * sizeof(YYSTYPE));\ \n (*kc_a_hashtable_t->free_bucket)((kc_voidptr_t)kc_a_hashtable_t->hashtable[kc_i][kc_m].index,\ \n (kc_size_t)kc_a_hashtable_t->hashtable", kc_current_view ); (*kc_printer)("[kc_i][kc_m].ibound * sizeof(YYSTYPE),\ \n kc_a_hashtable_t->bucket_alloc_private_data);\ \n kc_a_hashtable_t->hashtable[kc_i][kc_m].index = 0;\ \n kc_a_hashtable_t->hashtable[kc_i]", kc_current_view ); (*kc_printer)("[kc_m].ibound = 0;\ \n kc_a_hashtable_t->hashtable[kc_i][kc_m].nr = 0;\ \n } } }\ \n } else {\ \n /* should be a better error message */\ \n /*SUPPRESS 622*/\ \n assert(kc_zero_constant);", kc_current_view ); (*kc_printer)(" \ \n }\ \n } else { /* zero & free the buckets */\ \n if (kc_a_hashtable_t->free_buckets) {\ \n (*kc_a_hashtable_t->free_buckets)(kc_a_hashtable_t->bucket_alloc_private_data);\ \n } else if (kc_a", kc_current_view ); (*kc_printer)("_hashtable_t->free_bucket) {\ \n for (kc_i=0; kc_i < kc_a_hashtable_t->size; kc_i++) {\ \n for (kc_m=0; kc_m < (int)kc_last_storage_mode; kc_m++) {\ \n /* we do something if index !=0, it is n", kc_current_view ); (*kc_printer)("ot suficient to\ \n * look only at the nr field, because the nr field might be\ \n * reset in a previous reuse operation.\ \n * we could as well look for an non-null ibound field.\ \n ", kc_current_view ); (*kc_printer)(" */\ \n if (kc_a_hashtable_t->hashtable[kc_i][kc_m].index) {\ \n KC_BZERO((kc_voidptr_t)kc_a_hashtable_t->hashtable[kc_i][kc_m].index,\ \n (kc_size_t)kc_a_hashtable_t->hashtable[kc_i", kc_current_view ); (*kc_printer)("][kc_m].ibound * sizeof(YYSTYPE));\ \n (*kc_a_hashtable_t->free_bucket)((kc_voidptr_t)kc_a_hashtable_t->hashtable[kc_i][kc_m].index,\ \n (kc_size_t)kc_a_hashtable_t->hashtable[kc_i][kc_m", kc_current_view ); (*kc_printer)("].ibound * sizeof(YYSTYPE),\ \n kc_a_hashtable_t->bucket_alloc_private_data);\ \n } } }\ \n } else {\ \n /* should be a better error message */\ \n /*SUPPRESS 622*/\ \n assert(kc_zer", kc_current_view ); (*kc_printer)("o_constant); \ \n }\ \n }\ \n}\ \n\ \nstatic void kc_ht_do_clear_no_all_elements\ \n#ifdef KC_USE_PROTOTYPES\ \n(kc_hashtable_t kc_a_hashtable_t, boolean kc_reuse, boolean kc_reinit)\ \n#else\ \n(kc_a", kc_current_view ); (*kc_printer)("_hashtable_t, kc_reuse, kc_reinit) kc_hashtable_t kc_a_hashtable_t; boolean kc_reuse; boolean kc_reinit;\ \n#endif\ \n{ int kc_i, kc_m;\ \n/* free all static stuff */\ \n /* done on the fly, below */\ \n", kc_current_view ); (*kc_printer)("/* free all dynamic stuff */\ \n /* done on the fly, below */\ \n/* free/reuse the buckets, and re-initialize the hashtable-entries */\ \n if (kc_reuse) { /* zero the buckets; reset nr field */\ \n fo", kc_current_view ); (*kc_printer)("r (kc_i=0; kc_i < kc_a_hashtable_t->size; kc_i++) {\ \n for (kc_m=0; kc_m < (int)kc_last_storage_mode; kc_m++) {\ \n /* we only do something if nr !=0, else there is nothing to do\ \n * becaus", kc_current_view ); (*kc_printer)("e of our 'invariant'\ \n */\ \n if (kc_a_hashtable_t->hashtable[kc_i][kc_m].nr) {\ \n kc_ht_free_single_elements(kc_a_hashtable_t, kc_i, kc_m);\ \n KC_BZERO((kc_voidptr_t)kc_a_hashtable_", kc_current_view ); (*kc_printer)("t->hashtable[kc_i][kc_m].index,\ \n (kc_size_t)kc_a_hashtable_t->hashtable[kc_i][kc_m].ibound * sizeof(YYSTYPE));\ \n kc_a_hashtable_t->hashtable[kc_i][kc_m].nr = 0;\ \n } } }\ \n } else if", kc_current_view ); (*kc_printer)(" (kc_reinit) { /* zero & free the buckets; reset nr, index, ibound fields */\ \n if (kc_a_hashtable_t->free_buckets) {\ \n (*kc_a_hashtable_t->free_buckets)(kc_a_hashtable_t->bucket_alloc_private_da", kc_current_view ); (*kc_printer)("ta);\ \n KC_BZERO(kc_a_hashtable_t->hashtable, (kc_size_t)kc_a_hashtable_t->size*((int)kc_last_storage_mode)*sizeof(kc_hashtableentry_t));\ \n#if 0\ \n for (kc_i=0; kc_i < kc_a_hashtable_t->size; k", kc_current_view ); (*kc_printer)("c_i++) {\ \n for (kc_m=0; kc_m < (int)kc_last_storage_mode; kc_m++) {\ \n /* we do something if ibound !=0, it is not suficient to\ \n * look only at the nr field, because the nr field migh", kc_current_view ); (*kc_printer)("t be\ \n * reset in a previous reuse operation.\ \n * we could as well look for an non-null index field.\ \n */\ \n if (kc_a_hashtable_t->hashtable[kc_i][kc_m].ibound) {\ \n kc_", kc_current_view ); (*kc_printer)("ht_free_single_elements(kc_a_hashtable_t, kc_i, kc_m);\ \n kc_a_hashtable_t->hashtable[kc_i][kc_m].index = 0;\ \n kc_a_hashtable_t->hashtable[kc_i][kc_m].ibound = 0;\ \n kc_a_hashtable_t", kc_current_view ); (*kc_printer)("->hashtable[kc_i][kc_m].nr = 0;\ \n } } }\ \n#endif\ \n } else if (kc_a_hashtable_t->free_bucket) {\ \n for (kc_i=0; kc_i < kc_a_hashtable_t->size; kc_i++) {\ \n for (kc_m=0; kc_m < (int)kc_las", kc_current_view ); (*kc_printer)("t_storage_mode; kc_m++) {\ \n /* we do something if ibound !=0, it is not suficient to\ \n * look only at the nr field, because the nr field might be\ \n * reset in a previous reuse opera", kc_current_view ); (*kc_printer)("tion.\ \n * we could as well look for an non-null index field.\ \n */\ \n if (kc_a_hashtable_t->hashtable[kc_i][kc_m].ibound) {\ \n kc_ht_free_single_elements(kc_a_hashtable_t, kc_i,", kc_current_view ); (*kc_printer)(" kc_m);\ \n KC_BZERO((kc_voidptr_t)kc_a_hashtable_t->hashtable[kc_i][kc_m].index,\ \n (kc_size_t)kc_a_hashtable_t->hashtable[kc_i][kc_m].ibound * sizeof(YYSTYPE));\ \n (*kc_a_hashtabl", kc_current_view ); (*kc_printer)("e_t->free_bucket)((kc_voidptr_t)kc_a_hashtable_t->hashtable[kc_i][kc_m].index,\ \n (kc_size_t)kc_a_hashtable_t->hashtable[kc_i][kc_m].ibound * sizeof(YYSTYPE),\ \n kc_a_hashtable_t-", kc_current_view ); (*kc_printer)(">bucket_alloc_private_data);\ \n kc_a_hashtable_t->hashtable[kc_i][kc_m].index = 0;\ \n kc_a_hashtable_t->hashtable[kc_i][kc_m].ibound = 0;\ \n kc_a_hashtable_t->hashtable[kc_i][kc_m].nr", kc_current_view ); (*kc_printer)(" = 0;\ \n } } }\ \n } else {\ \n /* should be a better error message */\ \n /*SUPPRESS 622*/\ \n assert(kc_zero_constant); \ \n }\ \n } else { /* zero & free the buckets */\ \n if (kc_a_hash", kc_current_view ); (*kc_printer)("table_t->free_buckets) {\ \n (*kc_a_hashtable_t->free_buckets)(kc_a_hashtable_t->bucket_alloc_private_data);\ \n } else if (kc_a_hashtable_t->free_bucket) {\ \n for (kc_i=0; kc_i < kc_a_hashtable_", kc_current_view ); (*kc_printer)("t->size; kc_i++) {\ \n for (kc_m=0; kc_m < (int)kc_last_storage_mode; kc_m++) {\ \n /* we do something if index !=0, it is not suficient to\ \n * look only at the nr field, because the nr f", kc_current_view ); (*kc_printer)("ield might be\ \n * reset in a previous reuse operation.\ \n * we could as well look for an non-null ibound field.\ \n */\ \n if (kc_a_hashtable_t->hashtable[kc_i][kc_m].index) {\ \n", kc_current_view ); (*kc_printer)(" kc_ht_free_single_elements(kc_a_hashtable_t, kc_i, kc_m);\ \n KC_BZERO((kc_voidptr_t)kc_a_hashtable_t->hashtable[kc_i][kc_m].index,\ \n (kc_size_t)kc_a_hashtable_t->hashtable[kc_i][k", kc_current_view ); (*kc_printer)("c_m].ibound * sizeof(YYSTYPE));\ \n (*kc_a_hashtable_t->free_bucket)((kc_voidptr_t)kc_a_hashtable_t->hashtable[kc_i][kc_m].index,\ \n (kc_size_t)kc_a_hashtable_t->hashtable[kc_i][kc_m].i", kc_current_view ); (*kc_printer)("bound * sizeof(YYSTYPE),\ \n kc_a_hashtable_t->bucket_alloc_private_data);\ \n } } }\ \n } else {\ \n /* should be a better error message */\ \n /*SUPPRESS 622*/\ \n assert(kc_zero_c", kc_current_view ); (*kc_printer)("onstant); \ \n }\ \n }\ \n}\ \n\ \nstatic void kc_ht_do_clear\ \n#ifdef KC_USE_PROTOTYPES\ \n(kc_hashtable_t kc_a_hashtable_t, boolean kc_reuse, boolean kc_reinit)\ \n#else\ \n(kc_a_hashtable_t, kc_re", kc_current_view ); (*kc_printer)("use, kc_reinit) kc_hashtable_t kc_a_hashtable_t; boolean kc_reuse; boolean kc_reinit;\ \n#endif\ \n{\ \n if (kc_a_hashtable_t->free_all_elements) {\ \n kc_ht_do_clear_all_elements(kc_a_hashtable_t, kc", kc_current_view ); (*kc_printer)("_reuse, kc_reinit);\ \n } else {\ \n kc_ht_do_clear_no_all_elements(kc_a_hashtable_t, kc_reuse, kc_reinit);\ \n }\ \n}\ \n\ \nvoid kc_ht_clear\ \n#ifdef KC_USE_PROTOTYPES\ \n(kc_hashtable_t kc_a_hasht", kc_current_view ); (*kc_printer)("able_t)\ \n#else\ \n(kc_a_hashtable_t) kc_hashtable_t kc_a_hashtable_t;\ \n#endif\ \n{\ \n kc_ht_do_clear(kc_a_hashtable_t, False, True );\ \n if (kc_a_hashtable_t->kc_to_be_freed) {\ \n kc_a_hashtabl", kc_current_view ); (*kc_printer)("e_t->static_malloc_private_data = (kc_voidptr_t)(*kc_a_hashtable_t->malloc_initialise)();\ \n } /* else: it is a statically allocated hashtable with a statically allocated\ \n * static_malloc_privat", kc_current_view ); (*kc_printer)("e_data that will not be freed either... we have to\ \n * trust that our free_all_elements routine (called via kc_ht_do_clear)\ \n * prepares the static_malloc_private_data for reuse\ \n */\ \n", kc_current_view ); (*kc_printer)(" kc_a_hashtable_t->malloc_private_data = kc_a_hashtable_t->static_malloc_private_data;\ \n kc_a_hashtable_t->dynamic_malloc_private_data = 0;\ \n kc_a_hashtable_t->dec_dynamic_malloc_private_data = 0;\ \n", kc_current_view ); (*kc_printer)(" kc_a_hashtable_t->mode = kc_ht_store_static;\ \n kc_a_hashtable_t->bucket_alloc_private_data = (kc_a_hashtable_t->bucket_alloc_initialise)\ \n ? (kc_voidptr_t)(*kc_a_hashtable_t->bucket_all", kc_current_view ); (*kc_printer)("oc_initialise)()\ \n : 0;\ \n}\ \n\ \nvoid kc_ht_reuse\ \n#ifdef KC_USE_PROTOTYPES\ \n(kc_hashtable_t kc_a_hashtable_t)\ \n#else\ \n(kc_a_hashtable_t) kc_hashtable_t kc_a_hashtable_t;\ \n#en", kc_current_view ); (*kc_printer)("dif\ \n{\ \n kc_ht_do_clear(kc_a_hashtable_t, True, True );\ \n if (kc_a_hashtable_t->kc_to_be_freed) {\ \n kc_a_hashtable_t->static_malloc_private_data = (kc_voidptr_t)(*kc_a_hashtable_t->malloc_init", kc_current_view ); (*kc_printer)("ialise)();\ \n } /* else: it is a statically allocated hashtable with a statically allocated\ \n * static_malloc_private_data that will not be freed either... we have to\ \n * trust that our free", kc_current_view ); (*kc_printer)("_all_elements routine (called via kc_ht_do_clear)\ \n * prepares the static_malloc_private_data for reuse\ \n */\ \n kc_a_hashtable_t->malloc_private_data = kc_a_hashtable_t->static_malloc_privat", kc_current_view ); (*kc_printer)("e_data;\ \n kc_a_hashtable_t->dynamic_malloc_private_data = 0;\ \n kc_a_hashtable_t->dec_dynamic_malloc_private_data = 0;\ \n kc_a_hashtable_t->mode = kc_ht_store_static;\ \n kc_a_hashtable_t->bucket_a", kc_current_view ); (*kc_printer)("lloc_private_data = (kc_a_hashtable_t->bucket_alloc_initialise)\ \n ? (kc_voidptr_t)(*kc_a_hashtable_t->bucket_alloc_initialise)()\ \n : 0;\ \n}\ \n\ \nvoid kc_ht_delete\ \n#ifdef", kc_current_view ); (*kc_printer)(" KC_USE_PROTOTYPES\ \n(kc_hashtable_t kc_a_hashtable_t)\ \n#else\ \n(kc_a_hashtable_t) kc_hashtable_t kc_a_hashtable_t;\ \n#endif\ \n{\ \n kc_ht_do_clear(kc_a_hashtable_t, False, False);\ \n if (kc_a_h", kc_current_view ); (*kc_printer)("ashtable_t->kc_to_be_freed) {\ \n kc_a_hashtable_t->next->prev = kc_a_hashtable_t->prev;\ \n kc_a_hashtable_t->prev->next = kc_a_hashtable_t->next;\ \n if (kc_all_hashtables == kc_a_hashtable_t) {\ \n", kc_current_view ); (*kc_printer)(" kc_all_hashtables = kc_a_hashtable_t->next;\ \n }\ \n KC_BZERO((kc_voidptr_t)kc_a_hashtable_t->hashtable,\ \n (kc_size_t)sizeof(struct kc_tag_kc_hashtableentry_t) * kc_a_hashtable_t->size);\ \n", kc_current_view ); (*kc_printer)(" FREE((kc_voidptr_t)kc_a_hashtable_t->hashtable);\ \n KC_BZERO((kc_voidptr_t)kc_a_hashtable_t, sizeof(struct kc_tag_kc_hashtable_struct_t));\ \n FREE((kc_voidptr_t)kc_a_hashtable_t);\ \n} }\ \n\ \n\ \n", kc_current_view ); (*kc_printer)("/* atoms creation */\ \n#ifdef KC_STDC\ \n# define kc_mylower(c) (isupper(c) ? tolower(c) : c)\ \n#else\ \n# define kc_mylower(c) ((isascii(c) && isupper(c)) ? tolower(c) : c)\ \n#endif\ \n/* should ", kc_current_view ); (*kc_printer)("be static, maybe? */\ \nint kc_ci_strcmp\ \n#ifdef KC_USE_PROTOTYPES\ \n(char *kc_s1, char *kc_s2)\ \n#else\ \n(kc_s1, kc_s2) char *kc_s1, *kc_s2;\ \n#endif\ \n{ int tmp;\ \n while ((*kc_s1 != '\\0') &", kc_current_view ); (*kc_printer)("& (*kc_s2 != '\\0')) {\ \n if ( (tmp = kc_mylower(*kc_s1) - kc_mylower(*kc_s2)) != 0 ) return tmp;\ \n kc_s1++;\ \n kc_s2++;\ \n }\ \n return( (*kc_s1 != '\\0') - (*kc_s2 != '\\0') );\ \n}\ \n\ \nst", kc_current_view ); (*kc_printer)("atic unsigned kc_casestrhash\ \n#ifdef KC_USE_PROTOTYPES\ \n(char *kc_s)\ \n#else\ \n(kc_s) char *kc_s;\ \n#endif\ \n{ register unsigned kc_i = 0;\ \n register char *kc_sp;\ \n\ \n for (kc_sp = kc_s; *", kc_current_view ); (*kc_printer)("kc_sp != '\\0'; kc_sp++)\ \n kc_i = (unsigned)((kc_i * 75) + *kc_sp);\ \n return kc_i;\ \n}\ \n\ \nstatic unsigned kc_nocasestrhash\ \n#ifdef KC_USE_PROTOTYPES\ \n(char *kc_s)\ \n#else\ \n(kc_s) char ", kc_current_view ); (*kc_printer)("*kc_s;\ \n#endif\ \n{ register unsigned kc_i = 0;\ \n register char *kc_sp;\ \n\ \n for (kc_sp = kc_s; *kc_sp != '\\0'; kc_sp++)\ \n kc_i = (unsigned)((kc_i * 75) + kc_mylower(*kc_sp));\ \n return kc_", kc_current_view ); (*kc_printer)("i;\ \n}\ \n\ \n#undef kc_mylower\ \n\ \n", kc_current_view); } unparse_phylumdeclarations(d, kc_printer, view_gen_initializephyla_c); { (*kc_printer)("casestring mkcasestring\ \n#ifdef KC_USE_PROTOTYPES\ \n(char *kc_s)\ \n#else\ \n(kc_s) char *kc_s;\ \n#endif\ \n{ register casestring kc_x;\ \n int kc_i;\ \n register kc_hashtableentry_t* kc_hte;\ \n u", kc_current_view ); (*kc_printer)("nsigned kc_hashval = (unsigned)0;\ \n YYSTYPE *kc_ptr, *kc_beyond;\ \n kc_hashtable_t kc_a_ht = kc_hashtables[(int)uniq];\ \n\ \n KC_COLLECT_STATS0(KC_CREATE_STATS(sel__Str));\ \n OPERATORHASH((unsigne", kc_current_view ); (*kc_printer)("d) sel__Str);\ \n CASESTRHASH(kc_s);\ \n kc_hashval = kc_hashval%kc_a_ht->size;\ \n for (kc_i=0; kc_i < (int)kc_last_storage_mode; kc_i++) {\ \n kc_hte = &(kc_a_ht->hashtable[kc_hashval][kc_i]);\ \n ", kc_current_view ); (*kc_printer)("if (kc_hte->nr != 0) {\ \n kc_beyond = &kc_hte->index[kc_hte->nr];\ \n for (kc_ptr = &kc_hte->index[0]; kc_ptr < kc_beyond; kc_ptr++){\ \n kc_x= kc_ptr->yt_casestring;\ \n if ((kc_x->prod_sel", kc_current_view ); (*kc_printer)(" == sel__Str) && (strcmp(kc_x->name, kc_s) == 0))\ \n return(kc_x);\ \n } } }\ \n KC_COLLECT_STATS0(KC_EXISTINGNOTFOUND_STATS(sel__Str));\ \n kc_hte = &(kc_a_ht->hashtable[kc_hashval][(int)kc_a_ht-", kc_current_view ); (*kc_printer)(">mode]);\ \n if (kc_hte->nr >= kc_hte->ibound) kc_growindex(kc_hte, kc_a_ht);\ \n kc_x = (casestring)(*kc_a_ht->malloc)((kc_size_t)sizeof(struct kc_tag_casestring), kc_a_ht->malloc_private_data);\ \n k", kc_current_view ); (*kc_printer)("c_x->name = (char*)(*kc_a_ht->malloc)((kc_size_t)(strlen(kc_s))+1, kc_a_ht->malloc_private_data);\ \n kc_x->prod_sel = sel__Str;\ \n (void)strcpy(kc_x->name, kc_s);\ \n kc_hte->index[kc_hte->nr++].yt_c", kc_current_view ); (*kc_printer)("asestring = kc_x;\ \n KC_COLLECT_STATS0(kc_casestring_strlen += strlen(kc_s)+1;);\ \n return kc_x;\ \n}\ \n\ \nnocasestring mknocasestring\ \n#ifdef KC_USE_PROTOTYPES\ \n(char *kc_s)\ \n#else\ \n(kc_s)", kc_current_view ); (*kc_printer)(" char *kc_s;\ \n#endif\ \n{ register nocasestring kc_x;\ \n int kc_i;\ \n register kc_hashtableentry_t* kc_hte;\ \n unsigned kc_hashval = (unsigned)0;\ \n YYSTYPE *kc_ptr, *kc_beyond;\ \n kc_hashtable_", kc_current_view ); (*kc_printer)("t kc_a_ht = kc_hashtables[(int)uniq];\ \n\ \n KC_COLLECT_STATS0(KC_CREATE_STATS(sel_NoCaseStr));\ \n OPERATORHASH((unsigned) sel_NoCaseStr);\ \n NOCASESTRHASH(kc_s);\ \n kc_hashval = kc_hashval%kc_a_ht", kc_current_view ); (*kc_printer)("->size;\ \n for (kc_i=0; kc_i < (int)kc_last_storage_mode; kc_i++) {\ \n kc_hte = &(kc_a_ht->hashtable[kc_hashval][kc_i]);\ \n if (kc_hte->nr != 0) {\ \n kc_beyond = &kc_hte->index[kc_hte->nr];\ \n", kc_current_view ); (*kc_printer)(" for (kc_ptr = &kc_hte->index[0]; kc_ptr < kc_beyond; kc_ptr++){\ \n kc_x= kc_ptr->yt_nocasestring;\ \n if ((kc_x->prod_sel == sel_NoCaseStr) && (kc_ci_strcmp(kc_x->name, kc_s) == 0))\ \n r", kc_current_view ); (*kc_printer)("eturn(kc_x);\ \n } } }\ \n KC_COLLECT_STATS0(KC_EXISTINGNOTFOUND_STATS(sel_NoCaseStr));\ \n kc_hte = &(kc_a_ht->hashtable[kc_hashval][(int)kc_a_ht->mode]);\ \n if (kc_hte->nr >= kc_hte->ibound) kc_grow", kc_current_view ); (*kc_printer)("index(kc_hte, kc_a_ht);\ \n kc_x = (nocasestring)(*kc_a_ht->malloc)((kc_size_t)sizeof(struct kc_tag_nocasestring), kc_a_ht->malloc_private_data);\ \n kc_x->name = (char*)(*kc_a_ht->malloc)((kc_size_t)(", kc_current_view ); (*kc_printer)("strlen(kc_s))+1, kc_a_ht->malloc_private_data);\ \n kc_x->prod_sel = sel_NoCaseStr;\ \n (void)strcpy(kc_x->name, kc_s);\ \n kc_hte->index[kc_hte->nr++].yt_nocasestring = kc_x;\ \n KC_COLLECT_STATS0(kc_", kc_current_view ); (*kc_printer)("nocasestring_strlen += strlen(kc_s)+1;);\ \n return kc_x;\ \n}\ \n\ \nkc_hashnode_t kc_mksharinghashnode\ \n#ifdef KC_USE_PROTOTYPES\ \n(YYSTYPE kc_s, kc_hashtable_t kc_a_ht, kc_enum_phyla kc_phylum)\ \n", kc_current_view ); (*kc_printer)("#else\ \n(kc_s, kc_a_ht, kc_phylum) YYSTYPE kc_s; kc_hashtable_t kc_a_ht; kc_enum_phyla kc_phylum;\ \n#endif\ \n{\ \n register kc_hashnode_t kc_x;\ \n int kc_i;\ \n register kc_hashtableentry_t* kc_hte", kc_current_view ); (*kc_printer)(";\ \n unsigned kc_hashval = (unsigned)0;\ \n YYSTYPE *kc_ptr, *kc_beyond;\ \n\ \n switch(kc_phylum) {\ \n case (int)kc_phylum_int: INTHASH(kc_s.yt_int); break;\ \n case (int)kc_phylum_float: FLOATHASH(", kc_current_view ); (*kc_printer)("kc_s.yt_float); break;\ \n default: HASH(kc_s.yt_voidptr); break;\ \n }\ \n kc_hashval = kc_hashval%kc_a_ht->size;\ \n for (kc_i=0; kc_i < (int)kc_last_storage_mode; kc_i++) {\ \n kc_hte = &(kc_a_ht->", kc_current_view ); (*kc_printer)("hashtable[kc_hashval][kc_i]);\ \n if (kc_hte->nr != 0) {\ \n kc_beyond = &kc_hte->index[kc_hte->nr];\ \n for (kc_ptr = &kc_hte->index[0]; kc_ptr < kc_beyond; kc_ptr++){\ \n kc_x= kc_ptr->yt_kc_", kc_current_view ); (*kc_printer)("hashnode_t;\ \n if ((kc_x->prod_sel == (kc_enum_operators)0) &&\ \n (((kc_phylum == kc_phylum_int) &&\ \n (kc_x->ptr.yt_int == kc_s.yt_int)) ||\ \n ((kc_phylum == kc_phylum_f", kc_current_view ); (*kc_printer)("loat) &&\ \n (kc_x->ptr.yt_float == kc_s.yt_float)) ||\ \n (kc_x->ptr.yt_voidptr == kc_s.yt_voidptr)))\ \n return(kc_x);\ \n } } }\ \n kc_hte = &(kc_a_ht->hashtable[kc_hashval][(in", kc_current_view ); (*kc_printer)("t)kc_a_ht->mode]);\ \n if (kc_hte->nr >= kc_hte->ibound) kc_growindex(kc_hte, kc_a_ht);\ \n kc_x = (kc_hashnode_t)(*kc_a_ht->malloc)((kc_size_t)sizeof(struct kc_tag_kc_hashnode_t), kc_a_ht->malloc_priv", kc_current_view ); (*kc_printer)("ate_data);\ \n kc_x->ptr = kc_s;\ \n kc_x->number = -1; /* IMPORTANT: some code depends on this -1 */\ \n kc_x->created = False;\ \n kc_x->prod_sel = (kc_enum_operators)0;\ \n kc_hte->index[kc_hte->nr+", kc_current_view ); (*kc_printer)("+].yt_kc_hashnode_t = kc_x;\ \n return kc_x;\ \n}\ \n/*ARGSUSED*/\ \nkc_hashnode_t kc_mknonsharinghashnode\ \n#ifdef KC_USE_PROTOTYPES\ \n(YYSTYPE kc_s, kc_hashtable_t kc_a_ht, kc_enum_phyla kc_phylum)", kc_current_view ); (*kc_printer)("\ \n#else\ \n(kc_s, kc_a_ht, kc_phylum) YYSTYPE kc_s; kc_hashtable_t kc_a_ht; kc_enum_phyla kc_phylum;\ \n#endif\ \n{ static struct kc_tag_kc_hashnode_t kc_x_struct;\ \n kc_x_struct.number = -1; /* IMP", kc_current_view ); (*kc_printer)("ORTANT: some code depends on this -1 */\ \n kc_x_struct.created = False;\ \n return &kc_x_struct;\ \n}\ \n\ \nkc_dotedgenode_t kc_mkdotedgenode\ \n#ifdef KC_USE_PROTOTYPES\ \n(kc_hashtable_t kc_a_ht, Y", kc_current_view ); (*kc_printer)("YSTYPE kc_s_from, kc_enum_phyla kc_phy_from, YYSTYPE kc_s_to, kc_enum_phyla kc_phy_to, int kc_son_nr)\ \n#else\ \n(kc_a_ht, kc_s_from, kc_phy_from, kc_s_to, kc_phy_to, kc_son_nr) kc_hashtable_t kc_a_ht", kc_current_view ); (*kc_printer)("; YYSTYPE kc_s_from; kc_enum_phyla kc_phy_from; YYSTYPE kc_s_to; kc_enum_phyla kc_phy_to; int kc_son_nr;\ \n#endif\ \n{\ \n register kc_dotedgenode_t kc_x;\ \n int kc_i;\ \n register kc_hashtableentry_", kc_current_view ); (*kc_printer)("t* kc_hte;\ \n unsigned kc_hashval = (unsigned)0;\ \n YYSTYPE *kc_ptr, *kc_beyond;\ \n\ \n OPERATORHASH((unsigned) kc_phy_from);\ \n switch(kc_phy_from) {\ \n case (int)kc_phylum_int: INTHASH(kc_s_from", kc_current_view ); (*kc_printer)(".yt_int); break;\ \n case (int)kc_phylum_float: FLOATHASH(kc_s_from.yt_float); break;\ \n default: HASH(kc_s_from.yt_voidptr); break;\ \n }\ \n OPERATORHASH((unsigned) kc_phy_to);\ \n switch(kc_phy_to)", kc_current_view ); (*kc_printer)(" {\ \n case (int)kc_phylum_int: INTHASH(kc_s_to.yt_int); break;\ \n case (int)kc_phylum_float: FLOATHASH(kc_s_to.yt_float); break;\ \n default: HASH(kc_s_to.yt_voidptr); break;\ \n }\ \n INTHASH(kc_son", kc_current_view ); (*kc_printer)("_nr);\ \n kc_hashval = kc_hashval%kc_a_ht->size;\ \n for (kc_i=0; kc_i < (int)kc_last_storage_mode; kc_i++) {\ \n kc_hte = &(kc_a_ht->hashtable[kc_hashval][kc_i]);\ \n if (kc_hte->nr != 0) {\ \n kc", kc_current_view ); (*kc_printer)("_beyond = &kc_hte->index[kc_hte->nr];\ \n for (kc_ptr = &kc_hte->index[0]; kc_ptr < kc_beyond; kc_ptr++){\ \n kc_x= kc_ptr->yt_kc_dotedgenode_t;\ \n if ((kc_x->prod_sel == (kc_enum_operators)0)", kc_current_view ); (*kc_printer)(" &&\ \n (kc_x->phy_from == kc_phy_from) &&\ \n (kc_x->phy_to == kc_phy_to) &&\ \n (kc_x->son_nr == kc_son_nr) &&\ \n (((kc_phy_from == kc_phylum_int) &&\ \n (kc_x->", kc_current_view ); (*kc_printer)("ptr_from.yt_int == kc_s_from.yt_int)) ||\ \n ((kc_phy_from == kc_phylum_float) &&\ \n (kc_x->ptr_from.yt_float == kc_s_from.yt_float)) ||\ \n (kc_x->ptr_from.yt_voidptr == kc_s", kc_current_view ); (*kc_printer)("_from.yt_voidptr)) &&\ \n (((kc_phy_to == kc_phylum_int) &&\ \n (kc_x->ptr_to.yt_int == kc_s_to.yt_int)) ||\ \n ((kc_phy_to == kc_phylum_float) &&\ \n (kc_x->ptr_to.yt_", kc_current_view ); (*kc_printer)("float == kc_s_to.yt_float)) ||\ \n (kc_x->ptr_to.yt_voidptr == kc_s_to.yt_voidptr)) )\ \n return(kc_x);\ \n } } }\ \n kc_hte = &(kc_a_ht->hashtable[kc_hashval][(int)kc_a_ht->mode]);\ \n if ", kc_current_view ); (*kc_printer)("(kc_hte->nr >= kc_hte->ibound) kc_growindex(kc_hte, kc_a_ht);\ \n kc_x = (kc_dotedgenode_t)(*kc_a_ht->malloc)((kc_size_t)sizeof(struct kc_tag_kc_dotedgenode_t), kc_a_ht->malloc_private_data);\ \n kc_x-", kc_current_view ); (*kc_printer)(">ptr_to = kc_s_to;\ \n kc_x->ptr_from = kc_s_from;\ \n kc_x->phy_from = kc_phy_from;\ \n kc_x->phy_to = kc_phy_to;\ \n kc_x->son_nr = kc_son_nr;\ \n kc_x->label = 0;\ \n kc_x->lsize = 0;\ \n kc_x->next", kc_current_view ); (*kc_printer)(" = 0;\ \n kc_x->prod_sel = (kc_enum_operators)0;\ \n kc_hte->index[kc_hte->nr++].yt_kc_dotedgenode_t = kc_x;\ \n return kc_x;\ \n}\ \n\ \n", kc_current_view); } unparse_phylumdeclarations(d, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_operatordecls_h: { if (( kc_p->prod_sel == sel_PhylumDeclarations)) { #line 1270 "../gen.k" phylumdeclarations d = kc_p->u.PhylumDeclarations.phylumdeclarations_1; { (*kc_printer)("typedef struct {\ \n int create;\ \n int existing_not_found;\ \n int free_called[2];\ \n int freed[2];\ \n} KC_OPERATOR_STATISTICS;\ \n\ \n#ifdef KC_STATISTICS\ \n# define kc_print_operator_statistics(", kc_current_view ); (*kc_printer)("kc_f) kc_do_print_operator_statistics(kc_f)\ \n void kc_do_print_operator_statistics KC__P(( FILE* ));\ \n#else /*KC_STATISTICS*/\ \n# define kc_print_operator_statistics(kc_f) \ \n#endif /*KC_STATIST", kc_current_view ); (*kc_printer)("ICS*/\ \n\ \ntypedef struct kc_tag_kc_hashtableentry_t {\ \n YYSTYPE *index; /* index[ibound] */\ \n int ibound; /* nr of slots; index of first nonexist */\ \n int nr; /* nr of occupied; index of first", kc_current_view ); (*kc_printer)(" free */\ \n} kc_hashtableentry_t;\ \n\ \ntypedef enum { kc_ht_store_static = 0, kc_ht_store_dynamic KC_IS_HT_STORE_STATIC, kc_last_storage_mode } kc_hastable_storage_mode_t;\ \n\ \ntypedef struct kc_t", kc_current_view ); (*kc_printer)("ag_kc_hashtable_struct_t *kc_hashtable_t;\ \ntypedef struct kc_tag_kc_private_malloc_t {\ \n kc_voidptr_t malloc_private_data;\ \n struct kc_tag_kc_private_malloc_t *next;\ \n struct kc_tag_kc_private_", kc_current_view ); (*kc_printer)("malloc_t *prev;\ \n} *kc_private_malloc_t;\ \n\ \ntypedef struct kc_tag_kc_hashtable_struct_t {\ \n /* general stuff */\ \n kc_hashtableentry_t (*hashtable)[kc_last_storage_mode]; /* hashtable[size][dy", kc_current_view ); (*kc_printer)("namic/static] */\ \n int size; /* nr of buckets in the hashtable; index of first nonexist */\ \n int kc_to_be_freed; /* should be True for dynamic, False for statically allocated structures */\ \n kc_h", kc_current_view ); (*kc_printer)("ashtable_t next; /* to build a linked list of all hashtables created, ever */\ \n kc_hashtable_t prev; /* to build a linked list of all hashtables created, ever */\ \n /* node allocation */\ \n kc_void", kc_current_view ); (*kc_printer)("ptr_t (*malloc_initialise) KC__P(()); /* routine to initialise a new block(list/level), returns the malloc_private_data */\ \n kc_voidptr_t (*malloc) KC__P((kc_size_t, kc_voidptr_t)); /* routine to be ", kc_current_view ); (*kc_printer)("used to create elements in the hashtable */\ \n void (*free_element) KC__P((kc_voidptr_t, kc_voidptr_t)); /* routine to be used to free one element allocated using malloc */\ \n void (*free_all_element", kc_current_view ); (*kc_printer)("s) KC__P((kc_voidptr_t)); /* routine to be used to free elements in a block(list/level) */\ \n boolean (*in_block) KC__P((kc_voidptr_t, kc_voidptr_t)); /* routine to test if an element is in a block */", kc_current_view ); (*kc_printer)("\ \n kc_voidptr_t malloc_private_data; /* private data for the malloc routine, for current block */\ \n kc_voidptr_t static_malloc_private_data; /* private data for the malloc routine */\ \n kc_private", kc_current_view ); (*kc_printer)("_malloc_t dynamic_malloc_private_data; /* private data for the malloc routine */\ \n kc_private_malloc_t dec_dynamic_malloc_private_data; /* dec-level-ed dynamic_malloc_private_data == dynamic_malloc_p", kc_current_view ); (*kc_printer)("rivate_data->prev if defined */\ \n kc_hastable_storage_mode_t mode; /* either dynamic or static */\ \n void (*malloc_info) KC__P((FILE*, kc_voidptr_t)); /* routine to print info on malloc structure */", kc_current_view ); (*kc_printer)("\ \n /* bucket allocation */\ \n kc_voidptr_t (*bucket_alloc_initialise) KC__P(()); /* routine to initialise the bucket allocation stuff, returns the malloc_private_data */\ \n kc_voidptr_t (*bucket_ca", kc_current_view ); (*kc_printer)("lloc) KC__P((kc_size_t, kc_size_t, kc_voidptr_t)); /* routine to be used to create buckets in the hashtable */\ \n kc_voidptr_t (*bucket_realloc) KC__P((kc_voidptr_t, kc_size_t, kc_size_t, kc_voidptr_t", kc_current_view ); (*kc_printer)(")); /* routine to be used to realloc buckets in the hashtable */\ \n kc_voidptr_t bucket_alloc_private_data; /* private data for the bucket alloc routines */\ \n void (*free_bucket) KC__P((kc_voidptr_t", kc_current_view ); (*kc_printer)(", kc_size_t, kc_voidptr_t)); /* routine to be used to free one bucket */\ \n void (*free_buckets) KC__P((kc_voidptr_t)); /* routine to be used to free all buckets */\ \n int bucket_alloc_inc; /* size o", kc_current_view ); (*kc_printer)("f increments in bucket alloced memory */ /* default: KC_BUCKET_INC */\ \n void (*bucket_alloc_info) KC__P((FILE*, kc_voidptr_t)); /* routine to print info on bucket alloc structure */\ \n} kc_hashtable", kc_current_view ); (*kc_printer)("_struct_t;\ \n\ \nvoid kc_print_hash_statistics KC__P((FILE*));\ \nvoid kc_print_all_hashtable_statistics KC__P((FILE*));\ \nvoid kc_print_hashtable_statistics KC__P(( FILE*, kc_hashtable_t));\ \nvoid ", kc_current_view ); (*kc_printer)("kc_ht_static KC__P((kc_storageclass_t));\ \nvoid kc_ht_dynamic KC__P((kc_storageclass_t));\ \nvoid kc_ht_inc_level KC__P((kc_storageclass_t));\ \nvoid kc_ht_dec_level KC__P((kc_storageclass_t));\ \nvoi", kc_current_view ); (*kc_printer)("d kc_ht_free_level KC__P((kc_storageclass_t));\ \nkc_hashtable_t kc_ht_create_bucketmanagement KC__P((int,\ \n kc_voidptr_t (*)(),\ \n kc_voidptr_t (*)(kc_size_t, kc_voidptr_t),\ \n void (*)(kc_voidptr", kc_current_view ); (*kc_printer)("_t, kc_voidptr_t),\ \n void (*)(kc_voidptr_t),\ \n boolean (*)(kc_voidptr_t, kc_voidptr_t),\ \n void (*)(FILE*, kc_voidptr_t),\ \n kc_voidptr_t (*)(),\ \n kc_voidptr_t (*)(kc_size_t, kc_size_t, kc_void", kc_current_view ); (*kc_printer)("ptr_t),\ \n kc_voidptr_t (*)( kc_voidptr_t, kc_size_t, kc_size_t, kc_voidptr_t),\ \n void (*)(kc_voidptr_t, kc_size_t, kc_voidptr_t),\ \n void (*)(kc_voidptr_t),\ \n int,\ \n void (*)(FILE*, kc_voidptr", kc_current_view ); (*kc_printer)("_t)));\ \nkc_hashtable_t kc_ht_create KC__P((int, kc_voidptr_t(*)(), kc_voidptr_t(*)(kc_size_t, kc_voidptr_t), void (*)(kc_voidptr_t, kc_voidptr_t), void (*)(kc_voidptr_t), boolean (*)(kc_voidptr_t, kc", kc_current_view ); (*kc_printer)("_voidptr_t)));\ \nkc_hashtable_t kc_ht_create_simple KC__P((int));\ \nkc_hashtable_t kc_ht_assign KC__P((kc_hashtable_t, kc_storageclass_t));\ \nkc_hashtable_t kc_ht_assigned KC__P((kc_storageclass_t))", kc_current_view ); (*kc_printer)(";\ \nvoid kc_ht_clear KC__P((kc_hashtable_t));\ \nvoid kc_ht_reuse KC__P((kc_hashtable_t));\ \nvoid kc_ht_delete KC__P((kc_hashtable_t));\ \nint kc_ci_strcmp KC__P(( char *, char * )); /* Maybe should ", kc_current_view ); (*kc_printer)("be static? */\ \ncasestring mkcasestring KC__P(( char * ));\ \nnocasestring mknocasestring KC__P(( char * ));\ \nkc_hashnode_t kc_mksharinghashnode KC__P(( YYSTYPE, kc_hashtable_t, kc_enum_phyla ));\ \n", kc_current_view ); (*kc_printer)("kc_hashnode_t kc_mknonsharinghashnode KC__P(( YYSTYPE, kc_hashtable_t, kc_enum_phyla ));\ \nkc_dotedgenode_t kc_mkdotedgenode KC__P(( kc_hashtable_t, YYSTYPE, kc_enum_phyla, YYSTYPE, kc_enum_phyla, int", kc_current_view ); (*kc_printer)(" ));\ \nkc_voidptr_t kc_do_copy_phylum KC__P(( kc_voidptr_t, boolean, kc_enum_phyla )); /* NOT static because we use it in csgiok.c */\ \n", kc_current_view); } unparse_phylumdeclarations(d, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_assertmacros_h: { if (( kc_p->prod_sel == sel_PhylumDeclarations)) { #line 1241 "../gen.k" phylumdeclarations d = kc_p->u.PhylumDeclarations.phylumdeclarations_1; unparse_phylumdeclarations(d, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_initialization_c: { if (( kc_p->prod_sel == sel_PhylumDeclarations)) { { (*kc_printer)("#if defined(lint)\ \n int kc_zero_constant = 0;\ \n#endif\ \n\ \nvoid kc_no_default_in_with\ \n#ifdef KC_USE_PROTOTYPES\ \n( char *kc_func, int kc_line, char *kc_file )\ \n#else\ \n( kc_func, kc_line", kc_current_view ); (*kc_printer)(", kc_file ) char *kc_func; int kc_line; char *kc_file;\ \n#endif\ \n{ (void)fflush(stdout);\ \n (void)fprintf( stderr, KC_NO_DEFAULT_IN_WITH, kc_func, kc_file, kc_line );\ \n#ifndef KC_NODEFAULT_NO_ABO", kc_current_view ); (*kc_printer)("RT\ \n abort();\ \n#else\ \n exit( 1 );\ \n#endif\ \n}\ \n\ \nvoid kc_returnless_function\ \n#ifdef KC_USE_PROTOTYPES\ \n( char *kc_func, int kc_line, char *kc_file )\ \n#else\ \n( kc_func, kc_line, kc", kc_current_view ); (*kc_printer)("_file ) char *kc_func; int kc_line; char *kc_file;\ \n#endif\ \n{ (void)fflush(stdout);\ \n (void)fprintf( stderr, \"Internal Error: function %s does not return a value, at %s:%d\", kc_func, kc_file, k", kc_current_view ); (*kc_printer)("c_line );\ \n#ifndef KC_NODEFAULT_NO_ABORT\ \n abort();\ \n#else\ \n exit( 1 );\ \n#endif\ \n}\ \n\ \nvoid kc_assertionFailed\ \n#ifdef KC_USE_PROTOTYPES\ \n(char *kc_fn, int kc_l)\ \n#else\ \n(kc_fn, ", kc_current_view ); (*kc_printer)("kc_l) char *kc_fn; int kc_l;\ \n#endif\ \n{ (void)fflush(stdout);\ \n (void)fprintf( stderr, \"Internal Error: Assertion failed at %s:%d\\n\", kc_fn, kc_l );\ \n#ifndef KC_ASSERT_NO_ABORT\ \n abort();\ \n", kc_current_view ); (*kc_printer)("#else\ \n exit( 1 );\ \n#endif\ \n}\ \n\ \nvoid kc_assertionReasonFailed\ \n#ifdef KC_USE_PROTOTYPES\ \n(char *kc_fn, int kc_l, char *kc_s)\ \n#else\ \n(kc_fn, kc_l, kc_s) char *kc_fn; int kc_l; char *", kc_current_view ); (*kc_printer)("kc_s;\ \n#endif\ \n{ (void)fflush(stdout);\ \n (void)fprintf( stderr, \"Internal Error: Assertion failed at file %s:%d: %s\\n\", kc_fn, kc_l, kc_s );\ \n#ifndef KC_ASSERT_NO_ABORT\ \n abort();\ \n#else", kc_current_view ); (*kc_printer)("\ \n exit( 1 );\ \n#endif\ \n}\ \n\ \nvoid kc_assertionNonNullFailed\ \n#ifdef KC_USE_PROTOTYPES\ \n(char *kc_str, char *kc_fn, int kc_l)\ \n#else\ \n(kc_str, kc_fn, kc_l) char *kc_str; char *kc_fn; in", kc_current_view ); (*kc_printer)("t kc_l;\ \n#endif\ \n{ (void)fflush(stdout);\ \n (void)fprintf( stderr, \"Internal Error: Assertion failed at %s:%d: pointer %s is NULL\\n\", kc_fn, kc_l, kc_str );\ \n#ifndef KC_ASSERT_NO_ABORT\ \n ab", kc_current_view ); (*kc_printer)("ort();\ \n#else\ \n exit( 1 );\ \n#endif\ \n}\ \n\ \nvoid kc_assertionOperatorInPhylumFailed\ \n#ifdef KC_USE_PROTOTYPES\ \n(int kc_op, char *kc_str1, char *kc_str2, int kc_phy, char *kc_fn, int kc_l)\ \n", kc_current_view ); (*kc_printer)("#else\ \n(kc_op, kc_str1, kc_str2, kc_phy, kc_fn, kc_l) int kc_op; char *kc_str1; char *kc_str2; int kc_phy; char *kc_fn; int kc_l;\ \n#endif\ \n{ (void)fflush(stdout);\ \n if ((kc_op <= (int)kc_one_be", kc_current_view ); (*kc_printer)("fore_first_operator) || (kc_op >= (int)kc_last_operator)) {\ \n (void)fprintf( stderr, \"Internal Error: Assertion failed at %s:%d: illegal value for (%s) %s%s: %d not a valid operator\\n\", kc_fn, kc", kc_current_view ); (*kc_printer)("_l, kc_PhylumInfo[(int)kc_phy].name, kc_str1, kc_str2, kc_op );\ \n } else {\ \n (void)fprintf( stderr, \"Internal Error: Assertion failed at %s:%d: illegal value for (%s) %s%s: %s (%d) is a value of ", kc_current_view ); (*kc_printer)("%s\\n\", kc_fn, kc_l, kc_PhylumInfo[(int)kc_phy].name, kc_str1, kc_str2, kc_OperatorInfo[kc_op].name, kc_op, kc_PhylumInfo[(int)kc_OperatorInfo[kc_op].phylum].name );\ \n }\ \n#ifndef KC_ASSERT_NO_ABOR", kc_current_view ); (*kc_printer)("T\ \n abort();\ \n#else\ \n exit( 1 );\ \n#endif\ \n}\ \n\ \nstatic void kc_invalid_operator\ \n#ifdef KC_USE_PROTOTYPES\ \n( char *kc_func_prefix, kc_enum_phyla kc_phy, int kc_line, char *kc_file, int", kc_current_view ); (*kc_printer)(" kc_oper )\ \n#else\ \n( kc_func_prefix, kc_phy, kc_line, kc_file, kc_oper ) char *kc_func_prefix; kc_enum_phyla kc_phy; int kc_line; char *kc_file; int kc_oper;\ \n#endif\ \n{ (void)fflush(stdout);\ \n", kc_current_view ); (*kc_printer)(" (void)fprintf( stderr, \"Internal Error: invalid operator code in %s%s at %s:%d: %s\\n\", kc_func_prefix, kc_phylumname_or_error( (int)kc_phy ), kc_file, kc_line, kc_operatorname_or_error( kc_oper ));", kc_current_view ); (*kc_printer)("\ \n#ifndef KC_INVALID_OPERATOR_NO_ABORT\ \n abort();\ \n#else\ \n exit( 1 );\ \n#endif\ \n}\ \n\ \n", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_initialization_h: { if (( kc_p->prod_sel == sel_PhylumDeclarations)) { { (*kc_printer)("#ifndef KC_NO_DEFAULT_IN_WITH\ \n# define KC_NO_DEFAULT_IN_WITH \"Internal Error: no default action defined in function %s at %s:%d\\n\"\ \n#endif\ \nvoid kc_no_default_in_with KC__P((char*, int, char*", kc_current_view ); (*kc_printer)("));\ \nvoid kc_returnless_function KC__P((char *, int, char*));\ \n\ \n#ifndef KC_SEPARATE_HASH_LEVELS\ \n# define KC_IS_HT_STORE_STATIC =kc_ht_store_static\ \n#else\ \n# define KC_IS_HT_STORE_STATIC", kc_current_view ); (*kc_printer)("\ \n#endif\ \n\ \n/*\ \n * small tricks to shut up lint\ \n */\ \n#if (defined(lint) || defined(SABER) || defined(CODECENTER))\ \n# define KC_LINTUSE(x) if(x)x=x\ \n#else\ \n# define KC_LINTUSE(x) \ \n", kc_current_view ); (*kc_printer)("#endif\ \n\ \n/*\ \n * the following trick is because for Saber (CenterLine) we have\ \n * the possibillity to load a file either as .c or as .o,\ \n * so we can not have a maybe nonexisting variable a", kc_current_view ); (*kc_printer)("s in the\ \n * lint variant.\ \n * we may want to SUPPRESS a Saber warning about unused variable.\ \n */\ \n#if defined(lint)\ \n extern int kc_zero_constant;\ \n#else\ \n# if (defined(SABER) || defi", kc_current_view ); (*kc_printer)("ned(CODECENTER))\ \n static int kc_zero_constant = 0;\ \n# else\ \n# define kc_zero_constant 0\ \n# endif\ \n#endif\ \n\ \n#ifndef NDEBUG\ \n# define assert(t) do {if (!(t)) kc_assertionFailed(__FIL", kc_current_view ); (*kc_printer)("E__,__LINE__);}while(kc_zero_constant)\ \n# define _assert(t) do {if (!(t)) kc_assertionFailed(__FILE__,__LINE__);}while(kc_zero_constant)\ \n# define assertReason(t,s) do {if (!(t)) kc_assertionReason", kc_current_view ); (*kc_printer)("Failed(__FILE__,__LINE__,s);}while(kc_zero_constant)\ \n# define assertNonNull(ptr,str) do {if (ptr == NULL) kc_assertionNonNullFailed(str,__FILE__,__LINE__);}while(kc_zero_constant)\ \n# define assert", kc_current_view ); (*kc_printer)("OperatorInPhylumFn(op,str1,str2,phy,fn) do {if ((op<(int)kc_PhylumInfo[(int)phy].first_operator)||(op>(int)kc_PhylumInfo[(int)phy].last_operator)) fn(op,str1,str2,(int)phy,__FILE__,__LINE__);}while(kc_", kc_current_view ); (*kc_printer)("zero_constant)\ \n# define assertOperatorInPhylum(op,str1,str2,phy) assertOperatorInPhylumFn(op,str1,str2,phy,kc_assertionOperatorInPhylumFailed)\ \n# define assertPhylum(ptr,ptrstr,phy) do{if((phy!=kc", kc_current_view ); (*kc_printer)("_phylum_int)&&(phy!=kc_phylum_float)&&(phy!=kc_phylum_voidptr)){assertNonNull(ptr,ptrstr);assertOperatorInPhylum((int)(ptr->prod_sel),ptrstr,\"->prod_sel\",phy);}}while(kc_zero_constant)\ \n# define as", kc_current_view ); (*kc_printer)("sertNonIntPhylum(ptr,ptrstr,phy) do{assertNonNull(ptr,ptrstr);assertOperatorInPhylum((int)(ptr->prod_sel),ptrstr,\"->prod_sel\",phy);}while(kc_zero_constant)\ \n#else\ \n# define assert(t)\ \n# define ", kc_current_view ); (*kc_printer)("_assert(t)\ \n# define assertReason(t,s)\ \n# define assertNonNull(ptr,str)\ \n# define assertOperatorInPhylumFn(op,str1,str2,phy,fn)\ \n# define assertOperatorInPhylum(op,str1,str2,phy)\ \n# define as", kc_current_view ); (*kc_printer)("sertPhylum(ptr,ptrstr,phy)\ \n# define assertNonIntPhylum(ptr,ptrstr,phy)\ \n#endif\ \nvoid kc_assertionFailed KC__P((char*, int));\ \nvoid kc_assertionReasonFailed KC__P((char*, int, char*));\ \nvoid ", kc_current_view ); (*kc_printer)("kc_assertionNonNullFailed KC__P((char*, char*, int));\ \nvoid kc_assertionOperatorInPhylumFailed KC__P((int, char*, char*, int, char*, int));\ \n/* void kc_invalid_operator KC__P((char*, kc_enum_phyla,", kc_current_view ); (*kc_printer)(" int, char*, int)); */\ \n\ \n", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_booleans_h: { if (( kc_p->prod_sel == sel_PhylumDeclarations)) { { (*kc_printer)("typedef enum { KC_False=0, KC_True=1 } kc_tp_boolean;\ \n#if ! (defined(True) || defined(False))\ \n# define True KC_True\ \n# define False KC_False\ \n# define boolean kc_tp_boolean\ \n#else\ \n# if !", kc_current_view ); (*kc_printer)(" defined(boolean)\ \n# define boolean int\ \n# endif\ \n#endif\ \n\ \n", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_noofoperators_h: { if (( kc_p->prod_sel == sel_PhylumDeclarations)) { { (*kc_printer)("#define KC_NO_OF_OPERATORS ", kc_current_view); } unparse_int(g_no_of_operators, kc_printer, kc_current_view); { (*kc_printer)("\ \n\ \n", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_yaccstacktype_h: { if (( kc_p->prod_sel == sel_PhylumDeclarations)) { #line 1008 "../gen.k" phylumdeclarations d = kc_p->u.PhylumDeclarations.phylumdeclarations_1; { (*kc_printer)("union kc_tag_YYSTYPE {\ \n kc_hashnode_t yt_kc_hashnode_t;\ \n kc_dotedgenode_t yt_kc_dotedgenode_t;\ \n", kc_current_view); } unparse_phylumdeclarations(d, kc_printer, kc_current_view); { (*kc_printer)("};\ \nextern YYSTYPE yylval;\ \n\ \n", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_nodetypes_h: { if (( kc_p->prod_sel == sel_PhylumDeclarations)) { #line 916 "../gen.k" phylumdeclarations d = kc_p->u.PhylumDeclarations.phylumdeclarations_1; { (*kc_printer)("struct kc_tag_kc_hashnode_t {\ \n kc_enum_operators prod_sel;\ \n YYSTYPE ptr;\ \n int number;\ \n boolean created;\ \n};\ \n\ \nstruct kc_tag_kc_dotedgenode_t {\ \n kc_enum_operators prod_sel;\ \n kc_", kc_current_view ); (*kc_printer)("enum_phyla phy_from;\ \n YYSTYPE ptr_from;\ \n kc_enum_phyla phy_to;\ \n YYSTYPE ptr_to;\ \n int son_nr;\ \n char *label;\ \n int lsize;\ \n kc_dotedgenode_t next;\ \n};\ \n\ \n", kc_current_view); } unparse_phylumdeclarations(d, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_nodetypedefs_h: { if (( kc_p->prod_sel == sel_PhylumDeclarations)) { #line 880 "../gen.k" phylumdeclarations d = kc_p->u.PhylumDeclarations.phylumdeclarations_1; { (*kc_printer)("typedef union kc_tag_YYSTYPE YYSTYPE;\ \ntypedef struct kc_tag_kc_hashnode_t *kc_hashnode_t;\ \ntypedef struct kc_tag_kc_dotedgenode_t *kc_dotedgenode_t;\ \n\ \n", kc_current_view); } unparse_phylumdeclarations(d, kc_printer, kc_current_view); { (*kc_printer)("\ \n", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_operatormap_c: { if (( kc_p->prod_sel == sel_PhylumDeclarations)) { #line 638 "../gen.k" phylumdeclarations d = kc_p->u.PhylumDeclarations.phylumdeclarations_1; unparse_phylumdeclarations(d, kc_printer, view_gen_operatormap_operator_fn); { (*kc_printer)("\ \n", kc_current_view); } unparse_phylumdeclarations(d, kc_printer, view_gen_operatormap_subphyla); { (*kc_printer)("\ \n\ \n#ifndef KC_OFFSETOF\ \n# define KC_OFFSETOF(kc_record, kc_operator, kc_subphylum) ((kc_size_t) \\\ \n ((char*)(&((kc_record *)0)->u.kc_operator.kc_subphylum) - (char*)((kc_record *)0)))\ \n#", kc_current_view ); (*kc_printer)("endif\ \n", kc_current_view); } unparse_phylumdeclarations(d, kc_printer, view_gen_operatormap_suboffsets); { (*kc_printer)("\ \n\ \nKC_OPERATOR_INFO kc_OperatorInfo[] = {\ \n", kc_current_view); } { #line 655 "../gen.k" int i = OPERATORNUMBEROFFSET; do #line 5875 "unpk.c" { #line 655 "../gen.k" #line 5879 "unpk.c" { (*kc_printer)(" { \"\", 0, 0, kc_one_before_first_phylum, (kc_enum_phyla_list)0, (kc_size_t_list)0, (kc_storageclass_t)0, 0 }, /* dummy element */\ \n", kc_current_view); } #line 658 "../gen.k" i--; #line 5884 "unpk.c" } #line 658 "../gen.k" while (i >= 0); #line 5888 "unpk.c" } unparse_phylumdeclarations(d, kc_printer, kc_current_view); { (*kc_printer)(" { (char*)0, 0, 0, kc_one_before_first_phylum, (kc_enum_phyla_list)0, (kc_size_t_list)0, (kc_storageclass_t)0, 0 } /* last element */\ \n};\ \n\ \n", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_phylummap_c: { if (( kc_p->prod_sel == sel_PhylumDeclarations)) { #line 569 "../gen.k" phylumdeclarations d = kc_p->u.PhylumDeclarations.phylumdeclarations_1; { (*kc_printer)("KC_PHYLUM_INFO kc_PhylumInfo[] = {\ \n", kc_current_view); } { #line 572 "../gen.k" int i = PHYLUMNUMBEROFFSET; do #line 5908 "unpk.c" { #line 572 "../gen.k" #line 5912 "unpk.c" { (*kc_printer)(" { \"\", 0, kc_one_before_first_operator, kc_one_before_first_operator, (kc_storageclass_t)0, 0 }, /* dummy element */\ \n", kc_current_view); } #line 575 "../gen.k" i--; #line 5917 "unpk.c" } #line 575 "../gen.k" while (i >= 0); #line 5921 "unpk.c" } unparse_phylumdeclarations(d, kc_printer, kc_current_view); { (*kc_printer)(" { \"\", 0, kc_one_before_first_operator, kc_one_before_first_operator, (kc_storageclass_t)0, 0 } /* last element */\ \n};\ \n\ \n", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_operatormap_type_h: { if (( kc_p->prod_sel == sel_PhylumDeclarations)) { { (*kc_printer)("typedef kc_enum_phyla *kc_enum_phyla_list;\ \ntypedef kc_size_t *kc_size_t_list; /* size_t is defined in ANSI C */\ \n\ \n/*\ \n * make sure that the first `real' storage class _always_ gets", kc_current_view ); (*kc_printer)(" a value > 0\ \n * and kc_not_uniq gets a value == 0\ \n * (because then we can use it as a C boolean)\ \n */\ \ntypedef enum { /*kc_not_uniq = 0, kc_uniq_nullary_operator,*/ ", kc_current_view); } unparse_storageclasses(Thestorageclasses, kc_printer, kc_current_view); { (*kc_printer)(", kc_last_storageclass } kc_storageclass_t;\ \n\ \n\ \n\ \ntypedef struct {\ \n char *name; /* name of the phylum */\ \n kc_size_t size; /* size of the struct phylum record */\ \n kc_enum_operators", kc_current_view ); (*kc_printer)(" first_operator; /* index in kc_OperatorInfo[] */\ \n kc_enum_operators last_operator; /* index in kc_OperatorInfo[] */\ \n kc_storageclass_t uniq_stored; /* storage class */\ \n void (*copy_attributes", kc_current_view ); (*kc_printer)(") KC__P((kc_voidptr_t, kc_voidptr_t)); /* routine that copies attributes */\ \n} KC_PHYLUM_INFO;\ \n\ \ntypedef struct {\ \n char *name; /* name of the operator */\ \n int no_sons; /* number of son", kc_current_view ); (*kc_printer)("s */\ \n int atomicity; /* atomic type or not (used as a boolean) */\ \n kc_enum_phyla phylum; /* index in kc_PhylumInfo[] */\ \n kc_enum_phyla_list subphylum; /* indexes in kc_PhylumInfo[] */\ \n k", kc_current_view ); (*kc_printer)("c_size_t_list suboffset; /* offsets of sub-phyla (pointers) in the phylum record */\ \n kc_storageclass_t uniq_stored; /* storage class */\ \n kc_voidptr_t (*create_routine) KC__P((KC_DOTDOTDOT)); /* c", kc_current_view ); (*kc_printer)("reate routine */\ \n} KC_OPERATOR_INFO;\ \n\ \ntypedef kc_enum_phyla_list KC_UNIQ_INFO;\ \n\ \nextern KC_OPERATOR_INFO kc_OperatorInfo[];\ \nextern KC_PHYLUM_INFO kc_PhylumInfo[];\ \nextern KC_UNIQ_INF", kc_current_view ); (*kc_printer)("O kc_UniqInfo[];\ \n\ \n#ifndef KC_SUBPHYLUM\ \n# ifdef lint\ \n# define KC_SUBPHYLUM(kc_phylum, kc_offset) (kc_phylum,kc_offset,0)\ \n# else\ \n# define KC_SUBPHYLUM(kc_phylum, kc_offset) (*((char**", kc_current_view ); (*kc_printer)(")(((char*)kc_phylum)+(kc_offset))))\ \n# endif\ \n#endif\ \n\ \n\ \n\ \n", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_enumoperators_h: { if (( kc_p->prod_sel == sel_PhylumDeclarations)) { #line 478 "../gen.k" phylumdeclarations pds = kc_p->u.PhylumDeclarations.phylumdeclarations_1; #line 479 "../gen.k" g_no_of_operators = OPERATORNUMBEROFFSET; #line 6003 "unpk.c" { (*kc_printer)("typedef enum { kc_one_before_first_operator = ", kc_current_view); } unparse_int(g_no_of_operators, kc_printer, kc_current_view); { (*kc_printer)(" , \ \n", kc_current_view); } #line 482 "../gen.k" g_no_of_operators++; #line 6010 "unpk.c" unparse_phylumdeclarations(pds, kc_printer, kc_current_view); { (*kc_printer)(" kc_last_operator = ", kc_current_view); } unparse_int(g_no_of_operators, kc_printer, kc_current_view); { (*kc_printer)("\ \n} kc_enum_operators;\ \n\ \n", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_enumphyla_h: { if (( kc_p->prod_sel == sel_PhylumDeclarations)) { #line 457 "../gen.k" phylumdeclarations pds = kc_p->u.PhylumDeclarations.phylumdeclarations_1; #line 458 "../gen.k" g_no_of_phyla = PHYLUMNUMBEROFFSET; #line 6028 "unpk.c" { (*kc_printer)("typedef enum { kc_one_before_first_phylum = ", kc_current_view); } unparse_int(g_no_of_phyla, kc_printer, kc_current_view); { (*kc_printer)(" , \ \n", kc_current_view); } #line 461 "../gen.k" g_no_of_phyla++; #line 6035 "unpk.c" unparse_phylumdeclarations(pds, kc_printer, kc_current_view); { (*kc_printer)(" kc_last_phylum = ", kc_current_view); } unparse_int(g_no_of_phyla, kc_printer, kc_current_view); { (*kc_printer)("\ \n} kc_enum_phyla;\ \n\ \n", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_alloc_c: { if (( kc_p->prod_sel == sel_PhylumDeclarations)) { { (*kc_printer)("static kc_voidfnptr_t kc_out_of_storage_handler = 0;\ \nkc_voidfnptr_t kc_set_out_of_storage_handler\ \n#ifdef KC_USE_PROTOTYPES\ \n( kc_voidfnptr_t kc_handler )\ \n#else\ \n(kc_handler) kc_voidfnptr_t", kc_current_view ); (*kc_printer)(" kc_handler;\ \n#endif\ \n{ kc_voidfnptr_t kc_tmp_handler = kc_out_of_storage_handler;\ \n kc_out_of_storage_handler = kc_handler;\ \n return kc_tmp_handler;\ \n}\ \n\ \nkc_voidptr_t emalloc /* check r", kc_current_view ); (*kc_printer)("eturn from malloc */\ \n#ifdef KC_USE_PROTOTYPES\ \n(kc_size_t kc_n)\ \n#else\ \n(kc_n) kc_size_t kc_n;\ \n#endif\ \n{ kc_voidptr_t kc_p;\ \n while ((kc_p = (kc_voidptr_t)malloc((kc_size_t)kc_n)) == 0)", kc_current_view ); (*kc_printer)(" {\ \n if (kc_out_of_storage_handler) {\ \n (*kc_out_of_storage_handler)();\ \n } else {\ \n (void)fflush(stdout);\ \n (void)fprintf(stderr,\"out of memory in emalloc\\n\");\ \n exit( 1 ); /*", kc_current_view ); (*kc_printer)("NOTREACHED*/\ \n } }\ \n return kc_p;\ \n}\ \n\ \nkc_voidptr_t ecalloc /* check return from calloc */\ \n#ifdef KC_USE_PROTOTYPES\ \n(kc_size_t kc_n, kc_size_t kc_s)\ \n#else\ \n(kc_n,kc_s) kc_size_t k", kc_current_view ); (*kc_printer)("c_n, kc_s;\ \n#endif\ \n{ kc_voidptr_t kc_p;\ \n while ((kc_p = (kc_voidptr_t)calloc((kc_size_t)kc_n,(kc_size_t)kc_s)) == 0) {\ \n if (kc_out_of_storage_handler) {\ \n (*kc_out_of_storage_handler)()", kc_current_view ); (*kc_printer)(";\ \n } else {\ \n (void)fflush(stdout);\ \n (void)fprintf(stderr,\"out of memory in ecalloc\\n\");\ \n exit( 1 ); /*NOTREACHED*/\ \n } }\ \n return kc_p;\ \n}\ \n\ \nkc_voidptr_t erealloc /* ch", kc_current_view ); (*kc_printer)("eck return from realloc */\ \n#ifdef KC_USE_PROTOTYPES\ \n(kc_voidptr_t kc_r, kc_size_t kc_s)\ \n#else\ \n(kc_r,kc_s) kc_voidptr_t kc_r; kc_size_t kc_s;\ \n#endif\ \n{ kc_voidptr_t kc_p;\ \n while ((kc", kc_current_view ); (*kc_printer)("_p = (kc_voidptr_t)realloc((kc_realloc_arg_t)kc_r,(kc_size_t)kc_s)) == 0) {\ \n if (kc_out_of_storage_handler) {\ \n (*kc_out_of_storage_handler)();\ \n } else {\ \n (void)fflush(stdout);\ \n (", kc_current_view ); (*kc_printer)("void)fprintf(stderr,\"out of memory in erealloc\\n\");\ \n exit( 1 ); /*NOTREACHED*/\ \n } }\ \n return kc_p;\ \n}\ \n\ \nvoid kc_bzero\ \n#ifdef KC_USE_PROTOTYPES\ \n(register char *kc_p, register i", kc_current_view ); (*kc_printer)("nt kc_s)\ \n#else\ \n(kc_p,kc_s) register char *kc_p; register int kc_s;\ \n#endif\ \n{ while (kc_s--) {\ \n *kc_p++ = '\\0';\ \n }\ \n}\ \n\ \n", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_alloc_h: { if (( kc_p->prod_sel == sel_PhylumDeclarations)) { { (*kc_printer)("kc_voidfnptr_t kc_set_out_of_storage_handler KC__P(( kc_voidfnptr_t ));\ \nkc_voidptr_t emalloc KC__P(( kc_size_t )), ecalloc KC__P(( kc_size_t, kc_size_t )), erealloc KC__P(( kc_voidptr_t, kc_size_t )", kc_current_view ); (*kc_printer)(");\ \nkc_voidptr_t uniqmalloc KC__P(( kc_size_t, kc_voidptr_t ));\ \nvoid uniqfreeelement KC__P(( kc_voidptr_t, kc_voidptr_t ));\ \nvoid uniqfreeall KC__P(( kc_voidptr_t ));\ \nvoid kc_print_memory_inf", kc_current_view ); (*kc_printer)("o_statistics KC__P(( FILE*, kc_voidptr_t ));\ \n#ifndef KC_STDC\ \n kc_malloc_t malloc KC__P(( kc_size_t )), calloc KC__P(( kc_size_t, kc_size_t )), realloc KC__P(( kc_realloc_arg_t, kc_size_t ));\ \n", kc_current_view ); (*kc_printer)("#endif\ \nvoid kc_bzero KC__P(( char*, int ));\ \n\ \n", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_k_c: { if (( kc_p->prod_sel == sel_PhylumDeclarations)) { { (*kc_printer)("/*LINTLIBRARY*/\ \n/* translation of file(s)\ \n", kc_current_view); } unparse_fnfiles(Thefnfiles, kc_printer, kc_current_view); { (*kc_printer)(" */\ \n/* generated by:\ \n * ", kc_current_view); } unparse_charptr(kimwitu_copyright, kc_printer, kc_current_view); { (*kc_printer)("\ \n */\ \n#define KC_TYPES\ \n#define KIMW_TYPES /* for backwards compatibility */\ \n/* define our own macro if we have a 'standard' (ansi) C(++) compiler */\ \n#ifndef KC_NO_STDC\ \n# if defined(__S", kc_current_view ); (*kc_printer)("TDC__) || defined(__cplusplus) || defined(_WIN32)\ \n# define KC_STDC\ \n# endif\ \n#endif\ \n#include \ \n#include \ \n#include \ \n#if ((! defined(KC_STDC) ) && defined(s", kc_current_view ); (*kc_printer)("un))\ \n extern char *sprintf();\ \n#endif\ \n#include \ \n#ifdef KC_STDC\ \n# include \ \n#else\ \n# include /*for memset*/\ \n#endif\ \ntypedef size_t kc_memset_s", kc_current_view ); (*kc_printer)("ize_t; /* needed for sun */\ \n\ \n#include \"k.h\"\ \n#ifndef KC_STDC\ \n extern void exit KC__P((int));\ \n#endif\ \n\ \n#if ((! defined(KC_STDC) ) && defined(sun))\ \n /* kc_memset_firstarg_t shou", kc_current_view ); (*kc_printer)("ld be void* kc_voidptr_t, but sun's include files are dumb */\ \n# ifndef KC_MEMSET_FIRSTARG_T\ \n typedef char *kc_memset_firstarg_t;\ \n# else\ \n typedef KC_MEMSET_FIRSTARG_T kc_memset_firstarg_t;", kc_current_view ); (*kc_printer)("\ \n# endif\ \n#else\ \n typedef kc_voidptr_t kc_memset_firstarg_t;\ \n#endif\ \n\ \n", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_end_k_h: { if (( kc_p->prod_sel == sel_PhylumDeclarations)) { { (*kc_printer)("\ \n#endif /* KC_TYPES_HEADER */\ \n", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_k_h: { if (( kc_p->prod_sel == sel_PhylumDeclarations)) { { (*kc_printer)("/* translation of file(s)\ \n", kc_current_view); } unparse_fnfiles(Thefnfiles, kc_printer, kc_current_view); { (*kc_printer)(" */\ \n/* generated by:\ \n * ", kc_current_view); } unparse_charptr(kimwitu_copyright, kc_printer, kc_current_view); { (*kc_printer)("\ \n */\ \n#ifndef KC_TYPES_HEADER\ \n#define KC_TYPES_HEADER\ \n#define KIMW_TYPES_HEADER /* backwards compatibility */\ \n/* define our own macro if we have a 'standard' (ansi) C(++) compiler */\ \n#", kc_current_view ); (*kc_printer)("ifndef KC_NO_STDC\ \n# if defined(__STDC__) || defined(__cplusplus) || defined(_WIN32)\ \n# define KC_STDC\ \n# endif\ \n#endif\ \n#include /* eg. for FILE* */\ \n#include /* e", kc_current_view ); (*kc_printer)("g. for size_t */\ \ntypedef void *kc_voidptr_t;\ \ntypedef void (*kc_voidfnptr_t)();\ \n#ifdef KC_STDC\ \n typedef const void* kc_constvoidptr_t;\ \n#else\ \n typedef kc_voidptr_t kc_constvoidptr_t;\ \n", kc_current_view ); (*kc_printer)("#endif\ \n#ifndef KC_MALLOC_T\ \n# if defined(KC_STDC) && (!defined(sun) || defined(lint))\ \n typedef kc_voidptr_t kc_malloc_t;\ \n# else\ \n typedef char *kc_malloc_t;\ \n# endif\ \n#else\ \n t", kc_current_view ); (*kc_printer)("ypedef KC_MALLOC_T kc_malloc_t;\ \n#endif\ \n#ifndef KC_REALLOC_ARG_T\ \n# if defined(sun) && defined(KC_STDC)\ \n typedef kc_voidptr_t kc_realloc_arg_t;\ \n# else\ \n typedef kc_malloc_t kc_reallo", kc_current_view ); (*kc_printer)("c_arg_t;\ \n# endif\ \n#else\ \n typedef KC_REALLOC_ARG_T kc_realloc_arg_t;\ \n#endif\ \n#ifndef KC_SIZE_T\ \n# ifdef KC_STDC\ \n typedef size_t kc_size_t;\ \n# else\ \n typedef unsigned kc_size_t", kc_current_view ); (*kc_printer)(";\ \n# endif\ \n#else\ \n typedef KC_SIZE_T kc_size_t;\ \n#endif\ \n#ifndef KC__P\ \n# ifdef KC_STDC\ \n# define KC__P(kc_p) kc_p\ \n# ifndef KC__C\ \n# define KC__C(kc_c) kc_c\ \n# endif\ \n# el", kc_current_view ); (*kc_printer)("se\ \n# define KC__P(kc_p) ()\ \n# endif\ \n#endif\ \n#ifndef KC__C\ \n# define KC__C(kc_c)\ \n#endif\ \n#ifdef KC_STDC\ \n# ifndef KC_USE_PROTOTYPES\ \n# define KC_USE_PROTOTYPES\ \n# endif\ \n#else", kc_current_view ); (*kc_printer)("\ \n# undef KC_USE_PROTOTYPES\ \n# ifndef KC_KEEP_TYPE_QUALIFIERS\ \n# define const\ \n# define volatile\ \n# endif\ \n#endif\ \n#ifndef KC_DOTDOTDOT\ \n# ifdef KC_OLD_DOTDOTDOT\ \n# define KC_DOTDO", kc_current_view ); (*kc_printer)("TDOT ...\ \n# else\ \n# define KC_DOTDOTDOT kc_enum_operators,...\ \n# endif\ \n#endif\ \n#ifndef KC_PRINTDOT_LABELSIZE\ \n# define KC_PRINTDOT_LABELSIZE 1023\ \n#endif\ \n", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_no_of_printed_string_chars_reset: { if (( kc_p->prod_sel == sel_PhylumDeclarations)) { #line 197 "../gen.k" /*EMPTY*/ #line 6339 "unpk.c" } else goto kc_unparsing_default; break; } case (int)view_printer_reset: { if (( kc_p->prod_sel == sel_PhylumDeclarations)) { #line 196 "../gen.k" /*EMPTY*/ #line 6348 "unpk.c" } else goto kc_unparsing_default; break; } case (int)view_printer_outputfileline: { if (( kc_p->prod_sel == sel_PhylumDeclarations)) { #line 195 "../gen.k" /*EMPTY*/ #line 6357 "unpk.c" } else goto kc_unparsing_default; break; } default: kc_unparsing_default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_PhylumDeclarations: unparse_phylumdeclarations( kc_p->u.PhylumDeclarations.phylumdeclarations_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_phylumdeclarations #ifdef KC_USE_PROTOTYPES (phylumdeclarations kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) phylumdeclarations kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_phylumdeclarations(kc_p, "kc_p"); switch((int)kc_current_view) { case (int)view_gen_unparsedefs_c: { if (( kc_p->prod_sel == sel_Nilphylumdeclarations)) { #line 7905 "../gen.k" /*EMPTY*/ #line 6389 "unpk.c" } else if (( kc_p->prod_sel == sel_Consphylumdeclarations)) { #line 7901 "../gen.k" phylumdeclaration pd = kc_p->u.Consphylumdeclarations.phylumdeclaration_1; #line 7901 "../gen.k" phylumdeclarations rpds = kc_p->u.Consphylumdeclarations.phylumdeclarations_1; unparse_phylumdeclarations(rpds, kc_printer, kc_current_view); unparse_phylumdeclaration(pd, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_unparsedecls_h: { if (( kc_p->prod_sel == sel_Nilphylumdeclarations)) { #line 7772 "../gen.k" /*EMPTY*/ #line 6406 "unpk.c" } else if (( kc_p->prod_sel == sel_Consphylumdeclarations)) { #line 7771 "../gen.k" phylumdeclaration pd = kc_p->u.Consphylumdeclarations.phylumdeclaration_1; #line 7771 "../gen.k" phylumdeclarations rpds = kc_p->u.Consphylumdeclarations.phylumdeclarations_1; unparse_phylumdeclarations(rpds, kc_printer, kc_current_view); unparse_phylumdeclaration(pd, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_rewritedefs_c: { if (( kc_p->prod_sel == sel_Nilphylumdeclarations)) { #line 6900 "../gen.k" /*EMPTY*/ #line 6423 "unpk.c" } else if (( kc_p->prod_sel == sel_Consphylumdeclarations)) { #line 6896 "../gen.k" phylumdeclaration pd = kc_p->u.Consphylumdeclarations.phylumdeclaration_1; #line 6896 "../gen.k" phylumdeclarations rpds = kc_p->u.Consphylumdeclarations.phylumdeclarations_1; unparse_phylumdeclarations(rpds, kc_printer, kc_current_view); unparse_phylumdeclaration(pd, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_rewritedecls_h: { if (( kc_p->prod_sel == sel_Nilphylumdeclarations)) { #line 6883 "../gen.k" /*EMPTY*/ #line 6440 "unpk.c" } else if (( kc_p->prod_sel == sel_Consphylumdeclarations)) { #line 6882 "../gen.k" phylumdeclaration pd = kc_p->u.Consphylumdeclarations.phylumdeclaration_1; #line 6882 "../gen.k" phylumdeclarations rpds = kc_p->u.Consphylumdeclarations.phylumdeclarations_1; unparse_phylumdeclarations(rpds, kc_printer, kc_current_view); unparse_phylumdeclaration(pd, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_copydefs_c: { if (( kc_p->prod_sel == sel_Nilphylumdeclarations)) { #line 6682 "../gen.k" /*EMPTY*/ #line 6457 "unpk.c" } else if (( kc_p->prod_sel == sel_Consphylumdeclarations)) { #line 6681 "../gen.k" phylumdeclaration pd = kc_p->u.Consphylumdeclarations.phylumdeclaration_1; #line 6681 "../gen.k" phylumdeclarations rpds = kc_p->u.Consphylumdeclarations.phylumdeclarations_1; unparse_phylumdeclarations(rpds, kc_printer, kc_current_view); unparse_phylumdeclaration(pd, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_copydecls_h: { if (( kc_p->prod_sel == sel_Nilphylumdeclarations)) { #line 6595 "../gen.k" /*EMPTY*/ #line 6474 "unpk.c" } else if (( kc_p->prod_sel == sel_Consphylumdeclarations)) { #line 6594 "../gen.k" phylumdeclaration pd = kc_p->u.Consphylumdeclarations.phylumdeclaration_1; #line 6594 "../gen.k" phylumdeclarations rpds = kc_p->u.Consphylumdeclarations.phylumdeclarations_1; unparse_phylumdeclarations(rpds, kc_printer, kc_current_view); unparse_phylumdeclaration(pd, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_copy_attributes_c: { if (( kc_p->prod_sel == sel_Nilphylumdeclarations)) { #line 6554 "../gen.k" /*EMPTY*/ #line 6491 "unpk.c" } else if (( kc_p->prod_sel == sel_Consphylumdeclarations)) { #line 6553 "../gen.k" phylumdeclaration pd = kc_p->u.Consphylumdeclarations.phylumdeclaration_1; #line 6553 "../gen.k" phylumdeclarations rpds = kc_p->u.Consphylumdeclarations.phylumdeclarations_1; unparse_phylumdeclarations(rpds, kc_printer, kc_current_view); unparse_phylumdeclaration(pd, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_csgio_c_write: { if (( kc_p->prod_sel == sel_Nilphylumdeclarations)) { #line 6282 "../gen.k" /*EMPTY*/ #line 6508 "unpk.c" } else if (( kc_p->prod_sel == sel_Consphylumdeclarations)) { #line 6278 "../gen.k" phylumdeclaration pd = kc_p->u.Consphylumdeclarations.phylumdeclaration_1; #line 6278 "../gen.k" phylumdeclarations rpds = kc_p->u.Consphylumdeclarations.phylumdeclarations_1; unparse_phylumdeclarations(rpds, kc_printer, kc_current_view); unparse_phylumdeclaration(pd, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_csgio_c_read: { if (( kc_p->prod_sel == sel_Nilphylumdeclarations)) { #line 6282 "../gen.k" /*EMPTY*/ #line 6525 "unpk.c" } else if (( kc_p->prod_sel == sel_Consphylumdeclarations)) { #line 6278 "../gen.k" phylumdeclaration pd = kc_p->u.Consphylumdeclarations.phylumdeclaration_1; #line 6278 "../gen.k" phylumdeclarations rpds = kc_p->u.Consphylumdeclarations.phylumdeclarations_1; unparse_phylumdeclarations(rpds, kc_printer, kc_current_view); unparse_phylumdeclaration(pd, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_csgio_h: { if (( kc_p->prod_sel == sel_Nilphylumdeclarations)) { #line 5240 "../gen.k" /*EMPTY*/ #line 6542 "unpk.c" } else if (( kc_p->prod_sel == sel_Consphylumdeclarations)) { #line 5236 "../gen.k" phylumdeclaration pd = kc_p->u.Consphylumdeclarations.phylumdeclaration_1; #line 5236 "../gen.k" phylumdeclarations rpds = kc_p->u.Consphylumdeclarations.phylumdeclarations_1; unparse_phylumdeclarations(rpds, kc_printer, kc_current_view); unparse_phylumdeclaration(pd, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_listdefs_c: { if (( kc_p->prod_sel == sel_Nilphylumdeclarations)) { #line 5011 "../gen.k" /*EMPTY*/ #line 6559 "unpk.c" } else if (( kc_p->prod_sel == sel_Consphylumdeclarations)) { #line 5007 "../gen.k" phylumdeclaration pd = kc_p->u.Consphylumdeclarations.phylumdeclaration_1; #line 5007 "../gen.k" phylumdeclarations rpds = kc_p->u.Consphylumdeclarations.phylumdeclarations_1; unparse_phylumdeclarations(rpds, kc_printer, kc_current_view); unparse_phylumdeclaration(pd, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_listdecls_h: { if (( kc_p->prod_sel == sel_Nilphylumdeclarations)) { #line 4806 "../gen.k" /*EMPTY*/ #line 6576 "unpk.c" } else if (( kc_p->prod_sel == sel_Consphylumdeclarations)) { #line 4805 "../gen.k" phylumdeclaration pd = kc_p->u.Consphylumdeclarations.phylumdeclaration_1; #line 4805 "../gen.k" phylumdeclarations rpds = kc_p->u.Consphylumdeclarations.phylumdeclarations_1; unparse_phylumdeclarations(rpds, kc_printer, kc_current_view); unparse_phylumdeclaration(pd, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_printdotdecls_c: { if (( kc_p->prod_sel == sel_Nilphylumdeclarations)) { #line 4575 "../gen.k" /*EMPTY*/ #line 6593 "unpk.c" } else if (( kc_p->prod_sel == sel_Consphylumdeclarations)) { #line 4571 "../gen.k" phylumdeclaration pd = kc_p->u.Consphylumdeclarations.phylumdeclaration_1; #line 4571 "../gen.k" phylumdeclarations rpds = kc_p->u.Consphylumdeclarations.phylumdeclarations_1; unparse_phylumdeclarations(rpds, kc_printer, kc_current_view); unparse_phylumdeclaration(pd, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_printdotdefs_c: { if (( kc_p->prod_sel == sel_Nilphylumdeclarations)) { #line 4575 "../gen.k" /*EMPTY*/ #line 6610 "unpk.c" } else if (( kc_p->prod_sel == sel_Consphylumdeclarations)) { #line 4571 "../gen.k" phylumdeclaration pd = kc_p->u.Consphylumdeclarations.phylumdeclaration_1; #line 4571 "../gen.k" phylumdeclarations rpds = kc_p->u.Consphylumdeclarations.phylumdeclarations_1; unparse_phylumdeclarations(rpds, kc_printer, kc_current_view); unparse_phylumdeclaration(pd, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_printdotdecls_h: { if (( kc_p->prod_sel == sel_Nilphylumdeclarations)) { #line 4298 "../gen.k" /*EMPTY*/ #line 6627 "unpk.c" } else if (( kc_p->prod_sel == sel_Consphylumdeclarations)) { #line 4297 "../gen.k" phylumdeclaration pd = kc_p->u.Consphylumdeclarations.phylumdeclaration_1; #line 4297 "../gen.k" phylumdeclarations rpds = kc_p->u.Consphylumdeclarations.phylumdeclarations_1; unparse_phylumdeclarations(rpds, kc_printer, kc_current_view); unparse_phylumdeclaration(pd, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_printdefs_c: { if (( kc_p->prod_sel == sel_Nilphylumdeclarations)) { #line 4182 "../gen.k" /*EMPTY*/ #line 6644 "unpk.c" } else if (( kc_p->prod_sel == sel_Consphylumdeclarations)) { #line 4178 "../gen.k" phylumdeclaration pd = kc_p->u.Consphylumdeclarations.phylumdeclaration_1; #line 4178 "../gen.k" phylumdeclarations rpds = kc_p->u.Consphylumdeclarations.phylumdeclarations_1; unparse_phylumdeclarations(rpds, kc_printer, kc_current_view); unparse_phylumdeclaration(pd, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_printdecls_h: { if (( kc_p->prod_sel == sel_Nilphylumdeclarations)) { #line 4114 "../gen.k" /*EMPTY*/ #line 6661 "unpk.c" } else if (( kc_p->prod_sel == sel_Consphylumdeclarations)) { #line 4113 "../gen.k" phylumdeclaration pd = kc_p->u.Consphylumdeclarations.phylumdeclaration_1; #line 4113 "../gen.k" phylumdeclarations rpds = kc_p->u.Consphylumdeclarations.phylumdeclarations_1; unparse_phylumdeclarations(rpds, kc_printer, kc_current_view); unparse_phylumdeclaration(pd, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_eqdefs_c: { if (( kc_p->prod_sel == sel_Nilphylumdeclarations)) { #line 4039 "../gen.k" /*EMPTY*/ #line 6678 "unpk.c" } else if (( kc_p->prod_sel == sel_Consphylumdeclarations)) { #line 4035 "../gen.k" phylumdeclaration pd = kc_p->u.Consphylumdeclarations.phylumdeclaration_1; #line 4035 "../gen.k" phylumdeclarations rpds = kc_p->u.Consphylumdeclarations.phylumdeclarations_1; unparse_phylumdeclarations(rpds, kc_printer, kc_current_view); unparse_phylumdeclaration(pd, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_eqdecls_h: { if (( kc_p->prod_sel == sel_Nilphylumdeclarations)) { #line 3974 "../gen.k" /*EMPTY*/ #line 6695 "unpk.c" } else if (( kc_p->prod_sel == sel_Consphylumdeclarations)) { #line 3973 "../gen.k" phylumdeclaration pd = kc_p->u.Consphylumdeclarations.phylumdeclaration_1; #line 3973 "../gen.k" phylumdeclarations rpds = kc_p->u.Consphylumdeclarations.phylumdeclarations_1; unparse_phylumdeclarations(rpds, kc_printer, kc_current_view); unparse_phylumdeclaration(pd, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_freedefs_c: { if (( kc_p->prod_sel == sel_Nilphylumdeclarations)) { #line 3941 "../gen.k" /*EMPTY*/ #line 6712 "unpk.c" } else if (( kc_p->prod_sel == sel_Consphylumdeclarations)) { #line 3937 "../gen.k" phylumdeclaration pd = kc_p->u.Consphylumdeclarations.phylumdeclaration_1; #line 3937 "../gen.k" phylumdeclarations rpds = kc_p->u.Consphylumdeclarations.phylumdeclarations_1; unparse_phylumdeclarations(rpds, kc_printer, kc_current_view); unparse_phylumdeclaration(pd, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_freedecls_h: { if (( kc_p->prod_sel == sel_Nilphylumdeclarations)) { #line 3897 "../gen.k" /*EMPTY*/ #line 6729 "unpk.c" } else if (( kc_p->prod_sel == sel_Consphylumdeclarations)) { #line 3896 "../gen.k" phylumdeclaration pd = kc_p->u.Consphylumdeclarations.phylumdeclaration_1; #line 3896 "../gen.k" phylumdeclarations rpds = kc_p->u.Consphylumdeclarations.phylumdeclarations_1; unparse_phylumdeclarations(rpds, kc_printer, kc_current_view); unparse_phylumdeclaration(pd, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_operatordefs_c: { if (( kc_p->prod_sel == sel_Nilphylumdeclarations)) { #line 3644 "../gen.k" /*EMPTY*/ #line 6746 "unpk.c" } else if (( kc_p->prod_sel == sel_Consphylumdeclarations)) { #line 3643 "../gen.k" phylumdeclaration pd = kc_p->u.Consphylumdeclarations.phylumdeclaration_1; #line 3643 "../gen.k" phylumdeclarations rpds = kc_p->u.Consphylumdeclarations.phylumdeclarations_1; unparse_phylumdeclarations(rpds, kc_printer, kc_current_view); unparse_phylumdeclaration(pd, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_operatordecls_h: { if (( kc_p->prod_sel == sel_Nilphylumdeclarations)) { #line 1371 "../gen.k" /*EMPTY*/ #line 6763 "unpk.c" } else if (( kc_p->prod_sel == sel_Consphylumdeclarations)) { #line 1370 "../gen.k" phylumdeclaration pd = kc_p->u.Consphylumdeclarations.phylumdeclaration_1; #line 1370 "../gen.k" phylumdeclarations rpds = kc_p->u.Consphylumdeclarations.phylumdeclarations_1; unparse_phylumdeclarations(rpds, kc_printer, kc_current_view); unparse_phylumdeclaration(pd, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_assertmacros_h: { if (( kc_p->prod_sel == sel_Nilphylumdeclarations)) { #line 1245 "../gen.k" /*EMPTY*/ #line 6780 "unpk.c" } else if (( kc_p->prod_sel == sel_Consphylumdeclarations)) { #line 1244 "../gen.k" phylumdeclaration pd = kc_p->u.Consphylumdeclarations.phylumdeclaration_1; #line 1244 "../gen.k" phylumdeclarations rpds = kc_p->u.Consphylumdeclarations.phylumdeclarations_1; unparse_phylumdeclarations(rpds, kc_printer, kc_current_view); unparse_phylumdeclaration(pd, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_yaccstacktype_h: { if (( kc_p->prod_sel == sel_Nilphylumdeclarations)) { #line 1020 "../gen.k" /*EMPTY*/ #line 6797 "unpk.c" } else if (( kc_p->prod_sel == sel_Consphylumdeclarations)) { #line 1019 "../gen.k" phylumdeclaration pd = kc_p->u.Consphylumdeclarations.phylumdeclaration_1; #line 1019 "../gen.k" phylumdeclarations rpds = kc_p->u.Consphylumdeclarations.phylumdeclarations_1; unparse_phylumdeclarations(rpds, kc_printer, kc_current_view); unparse_phylumdeclaration(pd, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_nodetypes_h: { if (( kc_p->prod_sel == sel_Nilphylumdeclarations)) { #line 940 "../gen.k" /*EMPTY*/ #line 6814 "unpk.c" } else if (( kc_p->prod_sel == sel_Consphylumdeclarations)) { #line 939 "../gen.k" phylumdeclaration pd = kc_p->u.Consphylumdeclarations.phylumdeclaration_1; #line 939 "../gen.k" phylumdeclarations rpds = kc_p->u.Consphylumdeclarations.phylumdeclarations_1; unparse_phylumdeclarations(rpds, kc_printer, kc_current_view); unparse_phylumdeclaration(pd, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_nodetypedefs_h: { if (( kc_p->prod_sel == sel_Nilphylumdeclarations)) { #line 891 "../gen.k" /*EMPTY*/ #line 6831 "unpk.c" } else if (( kc_p->prod_sel == sel_Consphylumdeclarations)) { #line 890 "../gen.k" phylumdeclaration pd = kc_p->u.Consphylumdeclarations.phylumdeclaration_1; #line 890 "../gen.k" phylumdeclarations rpds = kc_p->u.Consphylumdeclarations.phylumdeclarations_1; unparse_phylumdeclarations(rpds, kc_printer, kc_current_view); unparse_phylumdeclaration(pd, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_operatormap_suboffsets: { if (( kc_p->prod_sel == sel_Nilphylumdeclarations)) { #line 797 "../gen.k" /*EMPTY*/ #line 6848 "unpk.c" } else if (( kc_p->prod_sel == sel_Consphylumdeclarations)) { #line 796 "../gen.k" phylumdeclaration pd = kc_p->u.Consphylumdeclarations.phylumdeclaration_1; #line 796 "../gen.k" phylumdeclarations rpds = kc_p->u.Consphylumdeclarations.phylumdeclarations_1; unparse_phylumdeclarations(rpds, kc_printer, kc_current_view); unparse_phylumdeclaration(pd, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_operatormap_subphyla: { if (( kc_p->prod_sel == sel_Nilphylumdeclarations)) { #line 766 "../gen.k" /*EMPTY*/ #line 6865 "unpk.c" } else if (( kc_p->prod_sel == sel_Consphylumdeclarations)) { #line 765 "../gen.k" phylumdeclaration pd = kc_p->u.Consphylumdeclarations.phylumdeclaration_1; #line 765 "../gen.k" phylumdeclarations rpds = kc_p->u.Consphylumdeclarations.phylumdeclarations_1; unparse_phylumdeclarations(rpds, kc_printer, kc_current_view); unparse_phylumdeclaration(pd, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_operatormap_operator_fn: { if (( kc_p->prod_sel == sel_Nilphylumdeclarations)) { #line 717 "../gen.k" /*EMPTY*/ #line 6882 "unpk.c" } else if (( kc_p->prod_sel == sel_Consphylumdeclarations)) { #line 716 "../gen.k" phylumdeclaration pd = kc_p->u.Consphylumdeclarations.phylumdeclaration_1; #line 716 "../gen.k" phylumdeclarations rpds = kc_p->u.Consphylumdeclarations.phylumdeclarations_1; unparse_phylumdeclarations(rpds, kc_printer, kc_current_view); unparse_phylumdeclaration(pd, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_operatormap_c: { if (( kc_p->prod_sel == sel_Nilphylumdeclarations)) { #line 666 "../gen.k" /*EMPTY*/ #line 6899 "unpk.c" } else if (( kc_p->prod_sel == sel_Consphylumdeclarations)) { #line 665 "../gen.k" phylumdeclaration pd = kc_p->u.Consphylumdeclarations.phylumdeclaration_1; #line 665 "../gen.k" phylumdeclarations rpds = kc_p->u.Consphylumdeclarations.phylumdeclarations_1; unparse_phylumdeclarations(rpds, kc_printer, kc_current_view); unparse_phylumdeclaration(pd, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_phylummap_c: { if (( kc_p->prod_sel == sel_Nilphylumdeclarations)) { #line 583 "../gen.k" /*EMPTY*/ #line 6916 "unpk.c" } else if (( kc_p->prod_sel == sel_Consphylumdeclarations)) { #line 582 "../gen.k" phylumdeclaration pd = kc_p->u.Consphylumdeclarations.phylumdeclaration_1; #line 582 "../gen.k" phylumdeclarations rpds = kc_p->u.Consphylumdeclarations.phylumdeclarations_1; unparse_phylumdeclarations(rpds, kc_printer, kc_current_view); unparse_phylumdeclaration(pd, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_enumoperators_h: { if (( kc_p->prod_sel == sel_Nilphylumdeclarations)) { #line 490 "../gen.k" /*EMPTY*/ #line 6933 "unpk.c" } else if (( kc_p->prod_sel == sel_Consphylumdeclarations)) { #line 489 "../gen.k" phylumdeclaration pd = kc_p->u.Consphylumdeclarations.phylumdeclaration_1; #line 489 "../gen.k" phylumdeclarations rpds = kc_p->u.Consphylumdeclarations.phylumdeclarations_1; unparse_phylumdeclarations(rpds, kc_printer, kc_current_view); unparse_phylumdeclaration(pd, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_enumphyla_h: { if (( kc_p->prod_sel == sel_Nilphylumdeclarations)) { #line 469 "../gen.k" /*EMPTY*/ #line 6950 "unpk.c" } else if (( kc_p->prod_sel == sel_Consphylumdeclarations)) { #line 468 "../gen.k" phylumdeclaration pd = kc_p->u.Consphylumdeclarations.phylumdeclaration_1; #line 468 "../gen.k" phylumdeclarations rpds = kc_p->u.Consphylumdeclarations.phylumdeclarations_1; unparse_phylumdeclarations(rpds, kc_printer, kc_current_view); unparse_phylumdeclaration(pd, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_check_uniq: { if (( kc_p->prod_sel == sel_Nilphylumdeclarations)) { #line 1707 "../util.k" /*EMPTY*/ #line 6967 "unpk.c" } else if (( kc_p->prod_sel == sel_Consphylumdeclarations)) { #line 1705 "../util.k" phylumdeclaration d = kc_p->u.Consphylumdeclarations.phylumdeclaration_1; #line 1705 "../util.k" phylumdeclarations rpds = kc_p->u.Consphylumdeclarations.phylumdeclarations_1; unparse_phylumdeclarations(rpds, kc_printer, kc_current_view); unparse_phylumdeclaration(d, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_init_stacks: { if (( kc_p->prod_sel == sel_Nilphylumdeclarations)) { #line 1033 "../util.k" if (!cl_operatorsstack) cl_operatorsstack = Niloperatorsstack(); if (!cl_dollarvarsallowedstack) cl_dollarvarsallowedstack = Nildollarvarsallowedstack(); if (!cl_inforeachcontextstack) cl_inforeachcontextstack = Nilintstack(); if (!cl_argumentsstack) cl_argumentsstack = Nilargumentsstack(); if (!cl_phylumstack) cl_phylumstack = Nilphylumstack(); if (!cl_phylumnamesstack) cl_phylumnamesstack = Nilphylumnamesstack(); if (!cl_withexpressionsstack) cl_withexpressionsstack = Nilwithexpressionsstack(); if (!cl_operatorstack) cl_operatorstack = Niloperatorstack(); if (!cl_variablesstack) cl_variablesstack = Nilvariablesstack(); if (!cl_selvarstack) cl_selvarstack = Nilselvarstack(); if (!cl_dollarvarstack) cl_dollarvarstack = Nilselvarstack(); if (!cl_dollarvarextstack) cl_dollarvarextstack = Nilselvarstack(); #line 7009 "unpk.c" } else if (( kc_p->prod_sel == sel_Consphylumdeclarations)) { #line 1033 "../util.k" if (!cl_operatorsstack) cl_operatorsstack = Niloperatorsstack(); if (!cl_dollarvarsallowedstack) cl_dollarvarsallowedstack = Nildollarvarsallowedstack(); if (!cl_inforeachcontextstack) cl_inforeachcontextstack = Nilintstack(); if (!cl_argumentsstack) cl_argumentsstack = Nilargumentsstack(); if (!cl_phylumstack) cl_phylumstack = Nilphylumstack(); if (!cl_phylumnamesstack) cl_phylumnamesstack = Nilphylumnamesstack(); if (!cl_withexpressionsstack) cl_withexpressionsstack = Nilwithexpressionsstack(); if (!cl_operatorstack) cl_operatorstack = Niloperatorstack(); if (!cl_variablesstack) cl_variablesstack = Nilvariablesstack(); if (!cl_selvarstack) cl_selvarstack = Nilselvarstack(); if (!cl_dollarvarstack) cl_dollarvarstack = Nilselvarstack(); if (!cl_dollarvarextstack) cl_dollarvarextstack = Nilselvarstack(); #line 7039 "unpk.c" } else goto kc_unparsing_default; break; } case (int)view_gen_initializephyla_c: { if (( kc_p->prod_sel == sel_Nilphylumdeclarations)) { #line 3225 "../gen.k" /*EMPTY*/ #line 7048 "unpk.c" } else if (( kc_p->prod_sel == sel_Consphylumdeclarations)) { #line 3224 "../gen.k" phylumdeclaration pd = kc_p->u.Consphylumdeclarations.phylumdeclaration_1; #line 3224 "../gen.k" phylumdeclarations rpds = kc_p->u.Consphylumdeclarations.phylumdeclarations_1; unparse_phylumdeclarations(rpds, kc_printer, kc_current_view); unparse_phylumdeclaration(pd, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_check_count1: { if (( kc_p->prod_sel == sel_Nilphylumdeclarations)) { #line 189 "../util.k" /*EMPTY*/ #line 7065 "unpk.c" } else if (( kc_p->prod_sel == sel_Consphylumdeclarations)) { #line 187 "../util.k" phylumdeclaration pd = kc_p->u.Consphylumdeclarations.phylumdeclaration_1; #line 187 "../util.k" phylumdeclarations rpds = kc_p->u.Consphylumdeclarations.phylumdeclarations_1; unparse_phylumdeclarations(rpds, kc_printer, kc_current_view); unparse_phylumdeclaration(pd, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_check_count: { if (( kc_p->prod_sel == sel_Consphylumdeclarations)) { unparse_phylumdeclarations(kc_p, kc_printer, view_check_count1); #line 185 "../util.k" v_freecount(); #line 7083 "unpk.c" } else goto kc_unparsing_default; break; } case (int)view_check: { if (( kc_p->prod_sel == sel_Nilphylumdeclarations)) { #line 164 "../util.k" /*EMPTY*/ #line 7092 "unpk.c" } else if (( kc_p->prod_sel == sel_Consphylumdeclarations)) { #line 159 "../util.k" phylumdeclaration pd = kc_p->u.Consphylumdeclarations.phylumdeclaration_1; #line 159 "../util.k" phylumdeclarations pds = kc_p->u.Consphylumdeclarations.phylumdeclarations_1; unparse_phylumdeclarations(pds, kc_printer, kc_current_view); unparse_phylumdeclaration(pd, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } default: kc_unparsing_default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_Consphylumdeclarations: unparse_phylumdeclaration( kc_p->u.Consphylumdeclarations.phylumdeclaration_1, kc_printer, kc_current_view ); unparse_phylumdeclarations( kc_p->u.Consphylumdeclarations.phylumdeclarations_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_phylumnames #ifdef KC_USE_PROTOTYPES (phylumnames kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) phylumnames kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_phylumnames(kc_p, "kc_p"); switch((int)kc_current_view) { case (int)view_gen_uniqmap_c_1: { if (( kc_p->prod_sel == sel_Nilphylumnames)) { #line 857 "../gen.k" /*EMPTY*/ #line 7133 "unpk.c" } else if (( kc_p->prod_sel == sel_Consphylumnames)) { #line 858 "../gen.k" ID pn = kc_p->u.Consphylumnames.ID_1; #line 858 "../gen.k" phylumnames r_pn = kc_p->u.Consphylumnames.phylumnames_1; unparse_phylumnames(r_pn, kc_printer, kc_current_view); { (*kc_printer)("kc_phylum_", kc_current_view); } unparse_ID(pn, kc_printer, kc_current_view); { (*kc_printer)(", ", kc_current_view); } } else goto kc_unparsing_default; break; } default: kc_unparsing_default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_Consphylumnames: unparse_ID( kc_p->u.Consphylumnames.ID_1, kc_printer, kc_current_view ); unparse_phylumnames( kc_p->u.Consphylumnames.phylumnames_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_phylumdeclaration #ifdef KC_USE_PROTOTYPES (phylumdeclaration kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) phylumdeclaration kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_phylumdeclaration(kc_p, "kc_p"); switch((int)kc_current_view) { case (int)view_gen_unparsedefs_default_c: { if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_PredefinedAlternatives)) { #line 8005 "../gen.k" /*EMPTY*/ #line 7176 "unpk.c" } else if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_Emptyproductionblock)) { #line 8005 "../gen.k" /*EMPTY*/ #line 7181 "unpk.c" } else if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_ListAlternatives)) { #line 8006 "../gen.k" alternatives a = kc_p->u.PhylumDeclaration.productionblock_1->u.ListAlternatives.alternatives_1; #line 8015 "../gen.k" if (! f_all_alternatives_nullary( a )) #line 7188 "unpk.c" { { (*kc_printer)(" switch((int)kc_p->prod_sel) {\ \n", kc_current_view); } unparse_alternatives(a, kc_printer, kc_current_view); { (*kc_printer)(" default:;}\ \n", kc_current_view); } } } else if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_NonlistAlternatives)) { #line 8007 "../gen.k" alternatives a = kc_p->u.PhylumDeclaration.productionblock_1->u.NonlistAlternatives.alternatives_1; #line 8015 "../gen.k" if (! f_all_alternatives_nullary( a )) #line 7202 "unpk.c" { { (*kc_printer)(" switch((int)kc_p->prod_sel) {\ \n", kc_current_view); } unparse_alternatives(a, kc_printer, kc_current_view); { (*kc_printer)(" default:;}\ \n", kc_current_view); } } } else goto kc_unparsing_default; break; } case (int)view_gen_unparsedefs_c: { if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_PredefinedAlternatives)) { #line 7908 "../gen.k" /*EMPTY*/ #line 7218 "unpk.c" } else if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_Emptyproductionblock)) { #line 7908 "../gen.k" /*EMPTY*/ #line 7223 "unpk.c" } else if (( kc_p->prod_sel == sel_PhylumDeclaration)) { #line 7909 "../gen.k" ID id = kc_p->u.PhylumDeclaration.ID_1; #line 7909 "../gen.k" productionblock pb = kc_p->u.PhylumDeclaration.productionblock_1; #line 7910 "../gen.k" ID selvar = Id(Str(mkcasestring("kc_p"))); cf_pushdollarvar( selvar ); cf_pushdollarvarext( f_emptyId() ); gl_phylum = id; #line 7236 "unpk.c" { (*kc_printer)("/*ARGSUSED*/\ \nvoid unparse_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("\ \n#ifdef KC_USE_PROTOTYPES\ \n(", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" kc_p, void (*kc_printer)(char*, uview), uview kc_current_view)\ \n#else\ \n(kc_p, kc_printer, kc_current_view) ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view;\ \n#endif\ \n{\ \n /*SUPPRESS 622*/\ \n assert_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("(kc_p, \"kc_p\");\ \n switch((int)kc_current_view) {\ \n", kc_current_view); } unparse_productionblock(pb, kc_printer, kc_current_view); { (*kc_printer)(" }\ \n}\ \n", kc_current_view); } #line 7931 "../gen.k" gl_phylum = 0; cf_popdollarvar(); cf_popdollarvarext(); #line 7267 "unpk.c" } else goto kc_unparsing_default; break; } case (int)view_gen_unparsedecls_h: { if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_Emptyproductionblock)) { #line 7774 "../gen.k" /*EMPTY*/ #line 7276 "unpk.c" } else if (( kc_p->prod_sel == sel_PhylumDeclaration)) { #line 7775 "../gen.k" ID id = kc_p->u.PhylumDeclaration.ID_1; { (*kc_printer)("void unparse_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" KC__P(( ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(", void(*)(char*, uview), uview )); \ \n", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_rewritedefs_other_c: { if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_PredefinedAlternatives)) { #line 7003 "../gen.k" /*EMPTY*/ #line 7295 "unpk.c" } else if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_Emptyproductionblock)) { #line 7003 "../gen.k" /*EMPTY*/ #line 7300 "unpk.c" } else if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_ListAlternatives)) { #line 7013 "../gen.k" alternatives a = kc_p->u.PhylumDeclaration.productionblock_1->u.ListAlternatives.alternatives_1; { (*kc_printer)(" switch((int)kc_p->prod_sel) {\ \n", kc_current_view); } unparse_alternatives(a, kc_printer, kc_current_view); { (*kc_printer)(" default: goto kc_rewrite_default;}\ \n", kc_current_view); } #line 7021 "../gen.k" gl_rewrite_goto_used = True; #line 7312 "unpk.c" } else if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_NonlistAlternatives)) { #line 7014 "../gen.k" alternatives a = kc_p->u.PhylumDeclaration.productionblock_1->u.NonlistAlternatives.alternatives_1; { (*kc_printer)(" switch((int)kc_p->prod_sel) {\ \n", kc_current_view); } unparse_alternatives(a, kc_printer, kc_current_view); { (*kc_printer)(" default: goto kc_rewrite_default;}\ \n", kc_current_view); } #line 7021 "../gen.k" gl_rewrite_goto_used = True; #line 7324 "unpk.c" } else goto kc_unparsing_default; break; } case (int)view_gen_rewritedefs_default_c: { if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_PredefinedAlternatives)) { #line 7003 "../gen.k" /*EMPTY*/ #line 7333 "unpk.c" } else if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_Emptyproductionblock)) { #line 7003 "../gen.k" /*EMPTY*/ #line 7338 "unpk.c" } else if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_ListAlternatives)) { #line 7004 "../gen.k" alternatives a = kc_p->u.PhylumDeclaration.productionblock_1->u.ListAlternatives.alternatives_1; { (*kc_printer)(" switch((int)kc_p->prod_sel) {\ \n", kc_current_view); } unparse_alternatives(a, kc_printer, kc_current_view); { (*kc_printer)(" default: return kc_p;}\ \n", kc_current_view); } } else if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_NonlistAlternatives)) { #line 7005 "../gen.k" alternatives a = kc_p->u.PhylumDeclaration.productionblock_1->u.NonlistAlternatives.alternatives_1; { (*kc_printer)(" switch((int)kc_p->prod_sel) {\ \n", kc_current_view); } unparse_alternatives(a, kc_printer, kc_current_view); { (*kc_printer)(" default: return kc_p;}\ \n", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_rewritedefs_c: { if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_Emptyproductionblock)) { #line 6902 "../gen.k" /*EMPTY*/ #line 7365 "unpk.c" } else if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_PredefinedAlternatives)) { #line 6903 "../gen.k" ID id = kc_p->u.PhylumDeclaration.ID_1; #line 6904 "../gen.k" gl_phylum = id; #line 7372 "unpk.c" { (*kc_printer)("/*ARGSUSED*/\ \n", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" rewrite_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("\ \n#ifdef KC_USE_PROTOTYPES\ \n(", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" kc_p, rview kc_current_view)\ \n#else\ \n(kc_p, kc_current_view) ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" kc_p; rview kc_current_view;\ \n#endif\ \n{\ \n /*SUPPRESS 622*/\ \n assert_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("( kc_p, \"kc_p\" );\ \n return kc_p;\ \n}\ \n", kc_current_view); } #line 6918 "../gen.k" gl_phylum = 0; #line 7398 "unpk.c" } else if (( kc_p->prod_sel == sel_PhylumDeclaration)) { #line 6920 "../gen.k" ID id = kc_p->u.PhylumDeclaration.ID_1; #line 6920 "../gen.k" productionblock pb = kc_p->u.PhylumDeclaration.productionblock_1; #line 6921 "../gen.k" gl_phylum = id; #line 7407 "unpk.c" #line 6922 "../gen.k" gl_phydecl = f_lookupdecl( gl_phylum ); if ( gl_phydecl == 0 ) { v_report(NonFatal( FileLine( gl_phylum->file, gl_phylum->line ), Problem1S1ID( "internal error: could not find declaration of phylum:", gl_phylum ))); } #line 7414 "unpk.c" { (*kc_printer)("/*ARGSUSED*/\ \n", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" rewrite_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("\ \n#ifdef KC_USE_PROTOTYPES\ \n(", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" kc_p, rview kc_current_view)\ \n#else\ \n(kc_p, kc_current_view) ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" kc_p; rview kc_current_view;\ \n#endif\ \n{\ \n /*SUPPRESS 622*/\ \n assert_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("( kc_p, \"kc_p\" );\ \n switch((int)kc_current_view) {\ \n", kc_current_view); } unparse_productionblock(pb, kc_printer, kc_current_view); { (*kc_printer)(" }\ \n}\ \n", kc_current_view); } #line 6943 "../gen.k" gl_phylum = 0; gl_phydecl = 0; #line 7443 "unpk.c" } else goto kc_unparsing_default; break; } case (int)view_gen_rewritedecls_h: { if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_Emptyproductionblock)) { #line 6885 "../gen.k" /*EMPTY*/ #line 7452 "unpk.c" } else if (( kc_p->prod_sel == sel_PhylumDeclaration)) { #line 6886 "../gen.k" ID id = kc_p->u.PhylumDeclaration.ID_1; unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" rewrite_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" KC__P(( ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(", rview ));\ \n", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_copydefs_c: { if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_Emptyproductionblock)) { #line 6684 "../gen.k" /*EMPTY*/ #line 7472 "unpk.c" } else if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_PredefinedAlternatives)) { #line 6685 "../gen.k" ID id = kc_p->u.PhylumDeclaration.ID_1; { (*kc_printer)("/*ARGSUSED*/\ \n", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" copy_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("\ \n#ifdef KC_USE_PROTOTYPES\ \n(", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" kc_p, boolean kc_copy_attributes)\ \n#else\ \n(kc_p, kc_copy_attributes) ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" kc_p; boolean kc_copy_attributes;\ \n#endif\ \n", kc_current_view); } #line 6695 "../gen.k" if ( (strcmp( f_strofID( id ), "int" ) == 0) || (strcmp( f_strofID( id ), "float" ) == 0) ) #line 7496 "unpk.c" { { (*kc_printer)("{ return kc_p; }\ \n", kc_current_view); } } #line 6699 "../gen.k" else #line 7503 "unpk.c" { { (*kc_printer)("{ return (", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(")kc_do_copy_phylum( (kc_voidptr_t)kc_p, kc_copy_attributes, kc_phylum_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("); }\ \n", kc_current_view); } } } else if (( kc_p->prod_sel == sel_PhylumDeclaration)) { #line 6704 "../gen.k" ID id = kc_p->u.PhylumDeclaration.ID_1; unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" copy_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("\ \n#ifdef KC_USE_PROTOTYPES\ \n(", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" kc_p, boolean kc_copy_attributes)\ \n#else\ \n(kc_p, kc_copy_attributes) ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" kc_p; boolean kc_copy_attributes;\ \n#endif\ \n{ return (", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(")kc_do_copy_phylum( (kc_voidptr_t)kc_p, kc_copy_attributes, kc_phylum_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("); }\ \n", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_copydecls_h: { if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_Emptyproductionblock)) { #line 6597 "../gen.k" /*EMPTY*/ #line 7543 "unpk.c" } else if (( kc_p->prod_sel == sel_PhylumDeclaration)) { #line 6598 "../gen.k" ID id = kc_p->u.PhylumDeclaration.ID_1; unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" copy_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" KC__P(( ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(", boolean ));\ \n", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_copy_attributes_c: { if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_Emptyproductionblock)) { #line 6556 "../gen.k" /*EMPTY*/ #line 7563 "unpk.c" } else if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.Ccode_option_1->prod_sel == sel_CcodeOption)) { #line 6557 "../gen.k" ID id = kc_p->u.PhylumDeclaration.ID_1; #line 6557 "../gen.k" attributes a = kc_p->u.PhylumDeclaration.Ccode_option_1->u.CcodeOption.attributes_1; #line 6559 "../gen.k" gl_phylum = id; #line 7572 "unpk.c" unparse_attributes(a, kc_printer, kc_current_view); #line 6561 "../gen.k" gl_phylum = 0; #line 7576 "unpk.c" } else goto kc_unparsing_default; break; } case (int)view_gen_csgio_c_write: { if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_Emptyproductionblock)) { #line 6284 "../gen.k" /*EMPTY*/ #line 7585 "unpk.c" } else if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_ListAlternatives)) { #line 6316 "../gen.k" ID id = kc_p->u.PhylumDeclaration.ID_1; { (*kc_printer)("char *CSGIOwrite_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("\ \n#ifdef KC_USE_PROTOTYPES\ \n(FILE *kc_stream, ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" kc_p )\ \n#else\ \n(kc_stream, kc_p) FILE *kc_stream; ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" kc_p;\ \n#endif\ \n{ YYSTYPE kc_y; kc_y.yt_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" = kc_p;\ \n return kc_writeKC_IO_RETURN2char( kc_CSGIOwritephylum( kc_stream, kc_y, kc_phylum_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" ));\ \n}\ \n", kc_current_view); } } else if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_PredefinedAlternatives)) { #line 6317 "../gen.k" ID id = kc_p->u.PhylumDeclaration.ID_1; { (*kc_printer)("char *CSGIOwrite_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("\ \n#ifdef KC_USE_PROTOTYPES\ \n(FILE *kc_stream, ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" kc_p )\ \n#else\ \n(kc_stream, kc_p) FILE *kc_stream; ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" kc_p;\ \n#endif\ \n{ YYSTYPE kc_y; kc_y.yt_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" = kc_p;\ \n return kc_writeKC_IO_RETURN2char( kc_CSGIOwritephylum( kc_stream, kc_y, kc_phylum_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" ));\ \n}\ \n", kc_current_view); } } else if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_NonlistAlternatives)) { #line 6318 "../gen.k" ID id = kc_p->u.PhylumDeclaration.ID_1; { (*kc_printer)("char *CSGIOwrite_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("\ \n#ifdef KC_USE_PROTOTYPES\ \n(FILE *kc_stream, ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" kc_p )\ \n#else\ \n(kc_stream, kc_p) FILE *kc_stream; ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" kc_p;\ \n#endif\ \n{ YYSTYPE kc_y; kc_y.yt_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" = kc_p;\ \n return kc_writeKC_IO_RETURN2char( kc_CSGIOwritephylum( kc_stream, kc_y, kc_phylum_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" ));\ \n}\ \n", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_csgio_c_read: { if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_Emptyproductionblock)) { #line 6284 "../gen.k" /*EMPTY*/ #line 7666 "unpk.c" } else if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_PredefinedAlternatives)) { #line 6285 "../gen.k" ID id = kc_p->u.PhylumDeclaration.ID_1; { (*kc_printer)("char *CSGIOread_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("\ \n#ifdef KC_USE_PROTOTYPES\ \n(FILE *kc_stream, ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" *kc_p )\ \n#else\ \n(kc_stream, kc_p) FILE *kc_stream; ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" *kc_p;\ \n#endif\ \n{ YYSTYPE kc_value;\ \n char *kc_answer = kc_readKC_IO_RETURN2char( kc_CSGIOreadphylum( kc_stream, &kc_value, kc_phylum_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" ));\ \n *kc_p = kc_value.yt_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(";\ \n return kc_answer;\ \n}\ \n", kc_current_view); } } else if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_ListAlternatives)) { #line 6300 "../gen.k" ID id = kc_p->u.PhylumDeclaration.ID_1; { (*kc_printer)("char *CSGIOread_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("\ \n#ifdef KC_USE_PROTOTYPES\ \n(FILE *kc_stream, ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" *kc_p )\ \n#else\ \n(kc_stream, kc_p) FILE *kc_stream; ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" *kc_p;\ \n#endif\ \n{ YYSTYPE kc_value;\ \n char *kc_answer = kc_readKC_IO_RETURN2char( kc_CSGIOreadphylum( kc_stream, &kc_value, kc_phylum_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" ));\ \n *kc_p = kc_value.yt_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(";\ \n return kc_answer;\ \n}\ \n", kc_current_view); } } else if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_NonlistAlternatives)) { #line 6301 "../gen.k" ID id = kc_p->u.PhylumDeclaration.ID_1; { (*kc_printer)("char *CSGIOread_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("\ \n#ifdef KC_USE_PROTOTYPES\ \n(FILE *kc_stream, ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" *kc_p )\ \n#else\ \n(kc_stream, kc_p) FILE *kc_stream; ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" *kc_p;\ \n#endif\ \n{ YYSTYPE kc_value;\ \n char *kc_answer = kc_readKC_IO_RETURN2char( kc_CSGIOreadphylum( kc_stream, &kc_value, kc_phylum_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" ));\ \n *kc_p = kc_value.yt_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(";\ \n return kc_answer;\ \n}\ \n", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_csgio_h: { if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_Emptyproductionblock)) { #line 5242 "../gen.k" /*EMPTY*/ #line 7753 "unpk.c" } else if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_ListAlternatives)) { #line 5243 "../gen.k" ID id = kc_p->u.PhylumDeclaration.ID_1; { (*kc_printer)("char *CSGIOread_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" KC__P(( FILE *, ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("* ));\ \nchar *CSGIOwrite_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" KC__P(( FILE *, ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" ));\ \n", kc_current_view); } } else if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_PredefinedAlternatives)) { #line 5244 "../gen.k" ID id = kc_p->u.PhylumDeclaration.ID_1; { (*kc_printer)("char *CSGIOread_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" KC__P(( FILE *, ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("* ));\ \nchar *CSGIOwrite_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" KC__P(( FILE *, ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" ));\ \n", kc_current_view); } } else if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_NonlistAlternatives)) { #line 5245 "../gen.k" ID id = kc_p->u.PhylumDeclaration.ID_1; { (*kc_printer)("char *CSGIOread_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" KC__P(( FILE *, ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("* ));\ \nchar *CSGIOwrite_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" KC__P(( FILE *, ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" ));\ \n", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_listdefs_c: { if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_ListAlternatives)) { #line 5013 "../gen.k" ID id = kc_p->u.PhylumDeclaration.ID_1; #line 5013 "../gen.k" ID el = kc_p->u.PhylumDeclaration.productionblock_1->u.ListAlternatives.ID_1; unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" concat_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("\ \n#ifdef KC_USE_PROTOTYPES\ \n(", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" kc_p1, ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" kc_p2)\ \n#else\ \n(kc_p1, kc_p2) ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" kc_p1, kc_p2;\ \n#endif\ \n", kc_current_view); } #line 5022 "../gen.k" if (f_isbigatom(el)) #line 7827 "unpk.c" { { (*kc_printer)("{ /*SUPPRESS 622*/\ \n assert_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("(kc_p1,\"kc_p1\");\ \n if (kc_p1->prod_sel == sel_Nil", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(") {\ \n return kc_p2;\ \n } else if (kc_p1->prod_sel == sel_Cons", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(") {\ \n return Cons", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("(\ \n kc_p1->u.Cons", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(".", kc_current_view); } unparse_ID(el, kc_printer, kc_current_view); { (*kc_printer)("_1,\ \n concat_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("(kc_p1->u.Cons", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(".", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("_1, kc_p2) );\ \n } else {\ \n kc_invalid_operator(kc_error_concat, kc_phylum_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(", __LINE__, __FILE__, (int)kc_p1->prod_sel);/*NOTREACHED*/return (", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(")0;\ \n} }\ \n", kc_current_view); } } #line 5035 "../gen.k" else #line 7866 "unpk.c" { { (*kc_printer)("{ return (", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(")kc_do_concat_phylum( (kc_voidptr_t)kc_p1, (kc_voidptr_t)kc_p2, kc_phylum_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" ); }\ \n", kc_current_view); } } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" reverse_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("\ \n#ifdef KC_USE_PROTOTYPES\ \n(", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" kc_p)\ \n#else\ \n(kc_p) ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" kc_p;\ \n#endif\ \n", kc_current_view); } #line 5046 "../gen.k" if (f_isbigatom(el)) #line 7891 "unpk.c" { { (*kc_printer)("{ boolean kc_not_ready = True;\ \n ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" kc_tmp = Nil", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("();\ \n while(kc_not_ready) {\ \n /*SUPPRESS 622*/\ \n assert_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("(((casestring)kc_p),\"kc_p\");\ \n if (kc_p->prod_sel == sel_Nil", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(") {\ \n kc_not_ready=False;\ \n } else if (kc_p->prod_sel == sel_Cons", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(") {\ \n kc_tmp = Cons", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("(kc_p->u.Cons", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(".", kc_current_view); } unparse_ID(el, kc_printer, kc_current_view); { (*kc_printer)("_1, kc_tmp);\ \n kc_p = kc_p->u.Cons", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(".", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("_1;\ \n } else {\ \n kc_invalid_operator(kc_error_reverse, kc_phylum_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(", __LINE__, __FILE__, (int)kc_p->prod_sel);/*NOTREACHED*/\ \n } }\ \n return kc_tmp;\ \n}\ \n", kc_current_view); } } #line 5063 "../gen.k" else #line 7934 "unpk.c" { { (*kc_printer)("{ return (", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(")kc_do_reverse_phylum( (kc_voidptr_t)kc_p, kc_phylum_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" ); }\ \n", kc_current_view); } } { (*kc_printer)("int length_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("\ \n#ifdef KC_USE_PROTOTYPES\ \n(", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" kc_p)\ \n#else\ \n(kc_p) ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" kc_p;\ \n#endif\ \n{ return kc_do_length_phylum( (kc_voidptr_t)kc_p, kc_phylum_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" ); }\ \n", kc_current_view); } unparse_ID(el, kc_printer, kc_current_view); { (*kc_printer)(" last_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("\ \n#ifdef KC_USE_PROTOTYPES\ \n(", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" kc_p)\ \n#else\ \n(kc_p) ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" kc_p;\ \n#endif\ \n", kc_current_view); } #line 5081 "../gen.k" if (f_isbigatom(el)) #line 7975 "unpk.c" { { (*kc_printer)("{ boolean kc_not_ready = True;\ \n ", kc_current_view); } unparse_ID(el, kc_printer, kc_current_view); { (*kc_printer)(" kc_tmp = (", kc_current_view); } unparse_ID(el, kc_printer, kc_current_view); { (*kc_printer)(")0;\ \n /*SUPPRESS 622*/\ \n assert_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("(kc_p,\"kc_p\");\ \n if (kc_p->prod_sel == sel_Nil", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(") {\ \n (void)fflush(stdout); (void)fprintf(stderr, kc_error_last_with_nil_argument, \"", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("\", \"", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("\"); exit( 1 ); /*NOTREACHED*/\ \n }\ \n while(kc_not_ready) {\ \n /*SUPPRESS 622*/\ \n assert_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("(kc_p,\"kc_p\");\ \n if (kc_p->prod_sel == sel_Nil", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(") {\ \n kc_not_ready=False;\ \n } else if (kc_p->prod_sel == sel_Cons", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(") {\ \n kc_tmp = kc_p->u.Cons", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(".", kc_current_view); } unparse_ID(el, kc_printer, kc_current_view); { (*kc_printer)("_1;\ \n kc_p = kc_p->u.Cons", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(".", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("_1;\ \n } else {\ \n kc_invalid_operator(kc_error_last, kc_phylum_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(", __LINE__, __FILE__, (int)kc_p->prod_sel);/*NOTREACHED*/\ \n } }\ \n return kc_tmp;\ \n}\ \n", kc_current_view); } } #line 5103 "../gen.k" else #line 8029 "unpk.c" { { (*kc_printer)("{ return (", kc_current_view); } unparse_ID(el, kc_printer, kc_current_view); { (*kc_printer)(")kc_do_last_phylum( (kc_voidptr_t)kc_p, kc_phylum_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" ); }\ \n", kc_current_view); } } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" map_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("\ \n#ifdef KC_USE_PROTOTYPES\ \n(", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" kc_p, ", kc_current_view); } unparse_ID(el, kc_printer, kc_current_view); { (*kc_printer)(" (*kc_fp)(", kc_current_view); } unparse_ID(el, kc_printer, kc_current_view); { (*kc_printer)("))\ \n#else\ \n(kc_p, kc_fp) ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" kc_p; ", kc_current_view); } unparse_ID(el, kc_printer, kc_current_view); { (*kc_printer)(" (*kc_fp)KC__P((", kc_current_view); } unparse_ID(el, kc_printer, kc_current_view); { (*kc_printer)("));\ \n#endif\ \n", kc_current_view); } #line 5114 "../gen.k" if (f_isbigatom(el)) #line 8062 "unpk.c" { { (*kc_printer)("{ /*SUPPRESS 622*/\ \n assert_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("(kc_p,\"kc_p\");\ \n if (kc_p->prod_sel == sel_Nil", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(") {\ \n return kc_p;\ \n } else if (kc_p->prod_sel == sel_Cons", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(") {\ \n return Cons", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("(\ \n (*kc_fp)(kc_p->u.Cons", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(".", kc_current_view); } unparse_ID(el, kc_printer, kc_current_view); { (*kc_printer)("_1),\ \n map_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("(kc_p->u.Cons", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(".", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("_1, kc_fp));\ \n } else {\ \n kc_invalid_operator(kc_error_map, kc_phylum_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(", __LINE__, __FILE__, (int)kc_p->prod_sel);/*NOTREACHED*/return (", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(")0;\ \n} }\ \n", kc_current_view); } } #line 5127 "../gen.k" else #line 8101 "unpk.c" { { (*kc_printer)("{ return (", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(")kc_do_map_phylum( (kc_voidptr_t)kc_p, (kc_voidptr_t (*)KC__P((kc_voidptr_t)))kc_fp, kc_phylum_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" ); }\ \n", kc_current_view); } } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" filter_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("\ \n#ifdef KC_USE_PROTOTYPES\ \n(", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" kc_p, boolean (*kc_fp)(", kc_current_view); } unparse_ID(el, kc_printer, kc_current_view); { (*kc_printer)("))\ \n#else\ \n(kc_p, kc_fp) ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" kc_p; boolean (*kc_fp)KC__P((", kc_current_view); } unparse_ID(el, kc_printer, kc_current_view); { (*kc_printer)("));\ \n#endif\ \n", kc_current_view); } #line 5138 "../gen.k" if (f_isbigatom(el)) #line 8130 "unpk.c" { { (*kc_printer)("{ /*SUPPRESS 622*/\ \n assert_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("(kc_p,\"kc_p\");\ \n if (kc_p->prod_sel == sel_Nil", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(") {\ \n return kc_p;\ \n } else if (kc_p->prod_sel == sel_Cons", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(") {\ \n if ((*kc_fp)(kc_p->u.Cons", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(".", kc_current_view); } unparse_ID(el, kc_printer, kc_current_view); { (*kc_printer)("_1)) {\ \n return Cons", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("(\ \n kc_p->u.Cons", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(".", kc_current_view); } unparse_ID(el, kc_printer, kc_current_view); { (*kc_printer)("_1,\ \n filter_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("(kc_p->u.Cons", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(".", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("_1, kc_fp));\ \n } else {\ \n return filter_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("(kc_p->u.Cons", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(".", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("_1, kc_fp);\ \n }\ \n } else {\ \n kc_invalid_operator(kc_error_filter, kc_phylum_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(", __LINE__, __FILE__, (int)kc_p->prod_sel);/*NOTREACHED*/return (", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(")0;\ \n} }\ \n", kc_current_view); } } #line 5155 "../gen.k" else #line 8183 "unpk.c" { { (*kc_printer)("{ return (", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(")kc_do_filter_phylum( (kc_voidptr_t)kc_p, (boolean (*)KC__P((kc_voidptr_t)))kc_fp, kc_phylum_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" ); }\ \n", kc_current_view); } } { (*kc_printer)("void freelist_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("\ \n#ifdef KC_USE_PROTOTYPES\ \n(", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" kc_p)\ \n#else\ \n(kc_p) ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" kc_p;\ \n#endif\ \n{ kc_do_freelist_phylum( (kc_voidptr_t)kc_p, kc_phylum_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" ); }\ \n", kc_current_view); } } else if (( kc_p->prod_sel == sel_PhylumDeclaration)) { #line 5012 "../gen.k" /*EMPTY*/ #line 8212 "unpk.c" } else goto kc_unparsing_default; break; } case (int)view_gen_listdecls_h: { if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_ListAlternatives)) { #line 4808 "../gen.k" ID id = kc_p->u.PhylumDeclaration.ID_1; #line 4808 "../gen.k" ID el = kc_p->u.PhylumDeclaration.productionblock_1->u.ListAlternatives.ID_1; unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" concat_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" KC__P(( ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(", ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" ));\ \n", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" reverse_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" KC__P(( ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" ));\ \nint length_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" KC__P(( ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" ));\ \n", kc_current_view); } unparse_ID(el, kc_printer, kc_current_view); { (*kc_printer)(" last_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" KC__P(( ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" ));\ \n", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" map_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" KC__P(( ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(", ", kc_current_view); } unparse_ID(el, kc_printer, kc_current_view); { (*kc_printer)(" (*)(", kc_current_view); } unparse_ID(el, kc_printer, kc_current_view); { (*kc_printer)(")));\ \n", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" filter_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" KC__P(( ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(", boolean (*)(", kc_current_view); } unparse_ID(el, kc_printer, kc_current_view); { (*kc_printer)(")));\ \nvoid freelist_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" KC__P(( ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" ));\ \n", kc_current_view); } } else if (( kc_p->prod_sel == sel_PhylumDeclaration)) { #line 4807 "../gen.k" /*EMPTY*/ #line 8280 "unpk.c" } else goto kc_unparsing_default; break; } case (int)view_gen_printdotdecls_c: { if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_PredefinedAlternatives)) { #line 4580 "../gen.k" ID id = kc_p->u.PhylumDeclaration.ID_1; { (*kc_printer)("static void kc_do_printdot_subgraph_prologue__", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" KC__P((FILE*, ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(", char*, char*, boolean, boolean));\ \nstatic void kc_do_printdot_id_of__", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" KC__P((FILE*, ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(", boolean, kc_voidptr_t, int));\ \nstatic void kc_do_printdot__", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" KC__P((FILE*, ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(", boolean, int*, kc_dotedgenode_t*, char*, boolean, boolean, kc_voidptr_t, int));\ \n/* TERRIBLE HACK: declare non-static, to shut up gcc -Wall ... */\ \n/*static*/ void kc_do_printdot_add_edge_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" KC__P((kc_voidptr_t, kc_enum_phyla, ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(", int, int*, kc_dotedgenode_t*, char*));\ \n", kc_current_view); } } else if (( kc_p->prod_sel == sel_PhylumDeclaration)) { #line 4579 "../gen.k" /*EMPTY*/ #line 8315 "unpk.c" } else goto kc_unparsing_default; break; } case (int)view_gen_printdotdefs_c: { if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_Emptyproductionblock)) { #line 4591 "../gen.k" /*EMPTY*/ #line 8324 "unpk.c" } else if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_PredefinedAlternatives)) { #line 4592 "../gen.k" ID id = kc_p->u.PhylumDeclaration.ID_1; { (*kc_printer)("static void kc_do_printdot_subgraph_prologue__", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("\ \n#ifdef KC_USE_PROTOTYPES\ \n(FILE *kc_f, ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" kc_p, char *kc_root, char *kc_edge_attributes, boolean kc_phy_labels, boolean kc_use_ctxt)\ \n#else\ \n(kc_f, kc_p, kc_root, kc_edge_attributes, kc_phy_labels, kc_use_ctxt) FILE *kc_f; ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" kc_p; char *kc_root; char *kc_edge_attributes; boolean kc_phy_labels; boolean kc_use_ctxt;\ \n#endif\ \n{ if (!kc_f) kc_f = stdout;\ \n (void)fprintf(kc_f, \"/*subgraph*/ {\\n\");\ \n if (kc_root) {\ \n", kc_current_view ); (*kc_printer)(" (void)fprintf(kc_f, \"\\\"%s\\\" [shape=ellipse\", kc_root);\ \n if (kc_edge_attributes && (strlen(kc_edge_attributes) > 0)) {\ \n (void)fprintf(kc_f, \", %s\", kc_edge_attributes);\ \n }\ \n if", kc_current_view ); (*kc_printer)(" (kc_phy_labels) {\ \n (void)fprintf(kc_f, \", label=\\\"%s\\\\n%s\\\"\", kc_root, kc_PhylumInfo[kc_phylum_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("].name);\ \n }\ \n (void)fprintf(kc_f, \"];\\n\");\ \n (void)fprintf(kc_f, \"\\\"%s\\\" ->\", kc_root);\ \n kc_do_printdot_id_of__", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("(kc_f, kc_p, kc_use_ctxt, 0, 0);\ \n if (kc_edge_attributes && (strlen(kc_edge_attributes) > 0)) {\ \n (void)fprintf(kc_f, \"[%s]\", kc_edge_attributes);\ \n }\ \n (void)fprintf(kc_f, \";\\n\");\ \n", kc_current_view ); (*kc_printer)(" }\ \n}\ \nstatic void kc_do_printdot_id_of__", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("\ \n#ifdef KC_USE_PROTOTYPES\ \n(FILE *kc_f, ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" kc_p, boolean kc_use_ctxt, kc_voidptr_t kc_ctxt, int kc_son_nr)\ \n#else\ \n(kc_f, kc_p, kc_use_ctxt, kc_ctxt, kc_son_nr) FILE *kc_f; ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" kc_p; boolean kc_use_ctxt; kc_voidptr_t kc_ctxt; int kc_son_nr;\ \n#endif\ \n", kc_current_view); } #line 4626 "../gen.k" if (strcmp( f_strofID( id ), "float" ) == 0) #line 8382 "unpk.c" { { (*kc_printer)("{ if (kc_use_ctxt) {\ \n (void)fprintf(kc_f, \"\\\"kcidf%f_%p_%d\\\"\", kc_p, kc_ctxt, kc_son_nr);\ \n } else {\ \n (void)fprintf(kc_f, \"\\\"kcidf%f\\\"\", kc_p);\ \n} }\ \n", kc_current_view); } } #line 4633 "../gen.k" else if (strcmp( f_strofID( id ), "int" ) == 0) #line 8393 "unpk.c" { { (*kc_printer)("{ if (kc_use_ctxt) {\ \n (void)fprintf(kc_f, \"\\\"kcidi%d_%p_%d\\\"\", kc_p, kc_ctxt, kc_son_nr);\ \n } else {\ \n (void)fprintf(kc_f, \"\\\"kcidi%d\\\"\", kc_p);\ \n} }\ \n", kc_current_view); } } #line 4640 "../gen.k" else #line 8404 "unpk.c" { { (*kc_printer)("{ kc_do_printdot_id_of_phylum(kc_f, (kc_voidptr_t)kc_p, kc_phylum_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(", kc_use_ctxt, kc_ctxt, kc_son_nr); }\ \n", kc_current_view); } } { (*kc_printer)("static void kc_do_printdot__", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("\ \n#ifdef KC_USE_PROTOTYPES\ \n(FILE *kc_f, ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" kc_p, boolean kc_outmost, int *kc_edge_nr, kc_dotedgenode_t *kc_edges, char *kc_edge_prefix, boolean kc_phy_labels, boolean kc_use_ctxt, kc_voidptr_t kc_ctxt, int kc_son_nr)\ \n#else\ \n(kc_f, kc_p, k", kc_current_view ); (*kc_printer)("c_outmost, kc_edge_nr, kc_edges, kc_edge_prefix, kc_phy_labels, kc_use_ctxt, kc_ctxt, kc_son_nr) FILE *kc_f; ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" kc_p; boolean kc_outmost; int *kc_edge_nr; kc_dotedgenode_t *kc_edges; char *kc_edge_prefix; boolean kc_phy_labels; boolean kc_use_ctxt; kc_voidptr_t kc_ctxt; int kc_son_nr;\ \n#endif\ \n", kc_current_view); } #line 4651 "../gen.k" if (strcmp( f_strofID( id ), "float" ) == 0) #line 8427 "unpk.c" { { (*kc_printer)("{ if (!kc_f) kc_f = stdout;\ \n kc_do_printdot_id_of__", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("(kc_f, kc_p, kc_use_ctxt, kc_ctxt, kc_son_nr);\ \n (void)fprintf(kc_f, \" [label=\\\"%f\\\", shape=ellipse];\\n\", kc_p);\ \n}\ \n", kc_current_view); } } #line 4657 "../gen.k" else if (strcmp( f_strofID( id ), "int" ) == 0) #line 8439 "unpk.c" { { (*kc_printer)("{ if (!kc_f) kc_f = stdout;\ \n kc_do_printdot_id_of__", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("(kc_f, kc_p, kc_use_ctxt, kc_ctxt, kc_son_nr);\ \n (void)fprintf(kc_f, \" [label=\\\"%d\\\", shape=ellipse];\\n\", kc_p);\ \n}\ \n", kc_current_view); } } #line 4663 "../gen.k" else #line 8451 "unpk.c" { { (*kc_printer)("{ kc_do_printdot_phylum(kc_f, (kc_voidptr_t)kc_p, kc_phylum_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(", kc_outmost, kc_edge_nr, kc_edges, kc_edge_prefix, kc_phy_labels, kc_use_ctxt, kc_ctxt, kc_son_nr); }\ \n", kc_current_view); } } { (*kc_printer)("/* TERRIBLE HACK: declare non-static, to shut up gcc -Wall ... */\ \n/*static*/ void kc_do_printdot_add_edge_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("\ \n#ifdef KC_USE_PROTOTYPES\ \n(kc_voidptr_t kc_p, kc_enum_phyla kc_phylum, ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" kc_sub_p, int kc_son_nr, int *kc_edge_nr, kc_dotedgenode_t *kc_edges, char *kc_edge_prefix)\ \n#else\ \n(kc_p, kc_phylum, kc_sub_p, kc_son_nr, kc_edge_nr, kc_edges, kc_edge_prefix) kc_voidptr_t kc_p; ", kc_current_view ); (*kc_printer)("kc_enum_phyla kc_phylum; ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" kc_sub_p; int kc_son_nr; int *kc_edge_nr; kc_dotedgenode_t *kc_edges; char *kc_edge_prefix;\ \n#endif\ \n", kc_current_view); } #line 4675 "../gen.k" if (strcmp( f_strofID( id ), "float" ) == 0) #line 8475 "unpk.c" { { (*kc_printer)("{ YYSTYPE kc_n, kc_sub_n;\ \n kc_n.yt_voidptr = kc_p;\ \n kc_sub_n.yt_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" = kc_sub_p;\ \n kc_do_printdot_do_add_edge(kc_n, kc_phylum, kc_sub_n, kc_phylum_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(", kc_son_nr, kc_edge_nr, kc_edges, kc_edge_prefix);\ \n}\ \n", kc_current_view); } } #line 4682 "../gen.k" else if (strcmp( f_strofID( id ), "int" ) == 0) #line 8490 "unpk.c" { { (*kc_printer)("{ YYSTYPE kc_n, kc_sub_n;\ \n kc_n.yt_voidptr = kc_p;\ \n kc_sub_n.yt_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" = kc_sub_p;\ \n kc_do_printdot_do_add_edge(kc_n, kc_phylum, kc_sub_n, kc_phylum_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(", kc_son_nr, kc_edge_nr, kc_edges, kc_edge_prefix);\ \n}\ \n", kc_current_view); } } #line 4689 "../gen.k" else #line 8505 "unpk.c" { { (*kc_printer)("{ kc_do_printdot_add_edge(kc_p, kc_phylum, kc_sub_p, kc_phylum_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(", kc_son_nr, kc_edge_nr, kc_edges, kc_edge_prefix); }\ \n", kc_current_view); } } { (*kc_printer)("void fprintdot_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("\ \n#ifdef KC_USE_PROTOTYPES\ \n(FILE *kc_f, ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" kc_p, char *kc_root, char *kc_edge_prefix, char *kc_edge_attributes, boolean kc_phy_labels, boolean kc_use_ctxt, boolean kc_prt_head_foot)\ \n#else\ \n(kc_f, kc_p, kc_root, kc_edge_prefix, kc_edge_att", kc_current_view ); (*kc_printer)("ributes, kc_phy_labels, kc_use_ctxt, kc_prt_head_foot) FILE *kc_f; ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" kc_p; char *kc_root; char *kc_edge_prefix; char *kc_edge_attributes; boolean kc_phy_labels; boolean kc_use_ctxt; boolean kc_prt_head_foot;\ \n#endif\ \n{ int kc_edge_nr = 1;\ \n kc_dotedgenode_t kc_ed", kc_current_view ); (*kc_printer)("ges = 0;\ \n if (kc_prt_head_foot) fprintdotprologue(kc_f);\ \n /*if (kc_outmost)*/ kc_do_printdot_subgraph_prologue__", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("(kc_f, kc_p, kc_root, kc_edge_attributes, kc_phy_labels, kc_use_ctxt);\ \n kc_fprintdot_hashtable = kc_ht_create_simple(kc_fprintdot_hashtablesize);\ \n kc_do_printdot__", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("(kc_f, kc_p, True, &kc_edge_nr, &kc_edges, kc_edge_prefix, kc_phy_labels, kc_use_ctxt, 0, 0);\ \n kc_do_printdot_edges(kc_f, kc_edges, kc_edge_attributes, kc_use_ctxt);\ \n kc_ht_delete(kc_fprintdot_ha", kc_current_view ); (*kc_printer)("shtable);\ \n /*if (kc_outmost)*/ kc_do_printdot_subgraph_epilogue(kc_f);\ \n if (kc_prt_head_foot) fprintdotepilogue(kc_f);\ \n}\ \n", kc_current_view); } } else if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_ListAlternatives)) { #line 4712 "../gen.k" ID id = kc_p->u.PhylumDeclaration.ID_1; { (*kc_printer)("void fprintdot_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("\ \n#ifdef KC_USE_PROTOTYPES\ \n(FILE *kc_f, ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" kc_p, char *kc_root, char *kc_edge_prefix, char *kc_edge_attributes, boolean kc_phy_labels, boolean kc_use_ctxt, boolean kc_prt_head_foot)\ \n#else\ \n(kc_f, kc_p, kc_root, kc_edge_prefix, kc_edge_att", kc_current_view ); (*kc_printer)("ributes, kc_phy_labels, kc_use_ctxt, kc_prt_head_foot) FILE *kc_f; ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" kc_p; char *kc_root; char *kc_edge_prefix; char *kc_edge_attributes; boolean kc_phy_labels; boolean kc_use_ctxt;; boolean kc_prt_head_foot;\ \n#endif\ \n{ int kc_edge_nr = 1;\ \n kc_dotedgenode_t kc_e", kc_current_view ); (*kc_printer)("dges = 0;\ \n if (kc_prt_head_foot) fprintdotprologue(kc_f);\ \n /*if (kc_outmost)*/ kc_do_printdot_subgraph_prologue(kc_f, kc_p, kc_phylum_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(", kc_root, kc_edge_attributes, kc_phy_labels, kc_use_ctxt);\ \n kc_fprintdot_hashtable = kc_ht_create_simple(kc_fprintdot_hashtablesize);\ \n kc_do_printdot_phylum(kc_f, (kc_voidptr_t)kc_p, kc_phylum_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(", True, &kc_edge_nr, &kc_edges, kc_edge_prefix, kc_phy_labels, kc_use_ctxt, 0, 0);\ \n kc_do_printdot_edges(kc_f, kc_edges, kc_edge_attributes, kc_use_ctxt);\ \n kc_ht_delete(kc_fprintdot_hashtable);\ \n", kc_current_view ); (*kc_printer)(" /*if (kc_outmost)*/ kc_do_printdot_subgraph_epilogue(kc_f);\ \n if (kc_prt_head_foot) fprintdotepilogue(kc_f);\ \n}\ \n", kc_current_view); } } else if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_NonlistAlternatives)) { #line 4713 "../gen.k" ID id = kc_p->u.PhylumDeclaration.ID_1; { (*kc_printer)("void fprintdot_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("\ \n#ifdef KC_USE_PROTOTYPES\ \n(FILE *kc_f, ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" kc_p, char *kc_root, char *kc_edge_prefix, char *kc_edge_attributes, boolean kc_phy_labels, boolean kc_use_ctxt, boolean kc_prt_head_foot)\ \n#else\ \n(kc_f, kc_p, kc_root, kc_edge_prefix, kc_edge_att", kc_current_view ); (*kc_printer)("ributes, kc_phy_labels, kc_use_ctxt, kc_prt_head_foot) FILE *kc_f; ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" kc_p; char *kc_root; char *kc_edge_prefix; char *kc_edge_attributes; boolean kc_phy_labels; boolean kc_use_ctxt;; boolean kc_prt_head_foot;\ \n#endif\ \n{ int kc_edge_nr = 1;\ \n kc_dotedgenode_t kc_e", kc_current_view ); (*kc_printer)("dges = 0;\ \n if (kc_prt_head_foot) fprintdotprologue(kc_f);\ \n /*if (kc_outmost)*/ kc_do_printdot_subgraph_prologue(kc_f, kc_p, kc_phylum_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(", kc_root, kc_edge_attributes, kc_phy_labels, kc_use_ctxt);\ \n kc_fprintdot_hashtable = kc_ht_create_simple(kc_fprintdot_hashtablesize);\ \n kc_do_printdot_phylum(kc_f, (kc_voidptr_t)kc_p, kc_phylum_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(", True, &kc_edge_nr, &kc_edges, kc_edge_prefix, kc_phy_labels, kc_use_ctxt, 0, 0);\ \n kc_do_printdot_edges(kc_f, kc_edges, kc_edge_attributes, kc_use_ctxt);\ \n kc_ht_delete(kc_fprintdot_hashtable);\ \n", kc_current_view ); (*kc_printer)(" /*if (kc_outmost)*/ kc_do_printdot_subgraph_epilogue(kc_f);\ \n if (kc_prt_head_foot) fprintdotepilogue(kc_f);\ \n}\ \n", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_printdotdecls_h: { if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_Emptyproductionblock)) { #line 4300 "../gen.k" /*EMPTY*/ #line 8621 "unpk.c" } else if (( kc_p->prod_sel == sel_PhylumDeclaration)) { #line 4301 "../gen.k" ID id = kc_p->u.PhylumDeclaration.ID_1; { (*kc_printer)("void fprintdot_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" KC__P(( FILE*, ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(", char*, char*, char*, boolean, boolean, boolean ));\ \n", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_printdefs_c: { if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_Emptyproductionblock)) { #line 4184 "../gen.k" /*EMPTY*/ #line 8640 "unpk.c" } else if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_PredefinedAlternatives)) { #line 4185 "../gen.k" ID id = kc_p->u.PhylumDeclaration.ID_1; { (*kc_printer)("void print_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("\ \n#ifdef KC_USE_PROTOTYPES\ \n(", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" kc_p)\ \n#else\ \n(kc_p) ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" kc_p;\ \n#endif\ \n", kc_current_view); } #line 4194 "../gen.k" if (strcmp( f_strofID( id ), "float" ) == 0) #line 8660 "unpk.c" { { (*kc_printer)("{ (void)fprintf(stdout, \"%*s%f\\n\", kc_indentation, \"\", kc_p); }\ \n", kc_current_view); } } #line 4197 "../gen.k" else if (strcmp( f_strofID( id ), "int" ) == 0) #line 8667 "unpk.c" { { (*kc_printer)("{ (void)fprintf(stdout, \"%*s%d\\n\", kc_indentation, \"\", kc_p); }\ \n", kc_current_view); } } #line 4200 "../gen.k" else #line 8674 "unpk.c" { { (*kc_printer)("{ kc_do_print_phylum(stdout, (kc_voidptr_t)kc_p, kc_phylum_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("); }\ \n", kc_current_view); } } { (*kc_printer)("void fprint_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("\ \n#ifdef KC_USE_PROTOTYPES\ \n(FILE *kc_f, ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" kc_p)\ \n#else\ \n(kc_f, kc_p) FILE *kc_f; ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" kc_p;\ \n#endif\ \n", kc_current_view); } #line 4211 "../gen.k" if (strcmp( f_strofID( id ), "float" ) == 0) #line 8696 "unpk.c" { { (*kc_printer)("{ if (!kc_f) kc_f = stdout;\ \n (void)fprintf(kc_f, \"%*s%f\\n\", kc_indentation, \"\", kc_p);\ \n}\ \n", kc_current_view); } } #line 4216 "../gen.k" else if (strcmp( f_strofID( id ), "int" ) == 0) #line 8705 "unpk.c" { { (*kc_printer)("{ if (!kc_f) kc_f = stdout;\ \n (void)fprintf(kc_f, \"%*s%d\\n\", kc_indentation, \"\", kc_p);\ \n}\ \n", kc_current_view); } } #line 4221 "../gen.k" else #line 8714 "unpk.c" { { (*kc_printer)("{ kc_do_print_phylum(kc_f, (kc_voidptr_t)kc_p, kc_phylum_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("); }\ \n", kc_current_view); } } } else if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_ListAlternatives)) { #line 4226 "../gen.k" ID id = kc_p->u.PhylumDeclaration.ID_1; { (*kc_printer)("void print_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("\ \n#ifdef KC_USE_PROTOTYPES\ \n(", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" kc_p)\ \n#else\ \n(kc_p) ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" kc_p;\ \n#endif\ \n{ kc_do_print_phylum(stdout, (kc_voidptr_t)kc_p, kc_phylum_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("); }\ \nvoid fprint_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("\ \n#ifdef KC_USE_PROTOTYPES\ \n(FILE *kc_f, ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" kc_p)\ \n#else\ \n(kc_f, kc_p) FILE *kc_f; ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" kc_p;\ \n#endif\ \n{ kc_do_print_phylum(kc_f, (kc_voidptr_t)kc_p, kc_phylum_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("); }\ \n", kc_current_view); } } else if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_NonlistAlternatives)) { #line 4227 "../gen.k" ID id = kc_p->u.PhylumDeclaration.ID_1; { (*kc_printer)("void print_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("\ \n#ifdef KC_USE_PROTOTYPES\ \n(", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" kc_p)\ \n#else\ \n(kc_p) ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" kc_p;\ \n#endif\ \n{ kc_do_print_phylum(stdout, (kc_voidptr_t)kc_p, kc_phylum_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("); }\ \nvoid fprint_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("\ \n#ifdef KC_USE_PROTOTYPES\ \n(FILE *kc_f, ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" kc_p)\ \n#else\ \n(kc_f, kc_p) FILE *kc_f; ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" kc_p;\ \n#endif\ \n{ kc_do_print_phylum(kc_f, (kc_voidptr_t)kc_p, kc_phylum_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("); }\ \n", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_printdecls_h: { if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_Emptyproductionblock)) { #line 4116 "../gen.k" /*EMPTY*/ #line 8799 "unpk.c" } else if (( kc_p->prod_sel == sel_PhylumDeclaration)) { #line 4117 "../gen.k" ID id = kc_p->u.PhylumDeclaration.ID_1; { (*kc_printer)("void print_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" KC__P(( ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" ));\ \nvoid fprint_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" KC__P(( FILE*, ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" ));\ \n", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_eqdefs_c: { if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_Emptyproductionblock)) { #line 4041 "../gen.k" /*EMPTY*/ #line 8823 "unpk.c" } else if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_PredefinedAlternatives)) { #line 4042 "../gen.k" ID id = kc_p->u.PhylumDeclaration.ID_1; { (*kc_printer)("/*ARGSUSED*/ boolean eq_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("\ \n#ifdef KC_USE_PROTOTYPES\ \n(", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" kc_p1, ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" kc_p2)\ \n#else\ \n(kc_p1, kc_p2) ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" kc_p1, kc_p2;\ \n#endif\ \n{ return (boolean)(kc_p1 == kc_p2); }\ \n", kc_current_view); } } else if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_ListAlternatives)) { #line 4053 "../gen.k" ID id = kc_p->u.PhylumDeclaration.ID_1; { (*kc_printer)("/*ARGSUSED*/ boolean eq_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("\ \n#ifdef KC_USE_PROTOTYPES\ \n(", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" kc_p1, ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" kc_p2)\ \n#else\ \n(kc_p1, kc_p2) ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" kc_p1, kc_p2;\ \n#endif\ \n{ return kc_do_eq_phylum( (kc_voidptr_t)kc_p1, (kc_voidptr_t)kc_p2, kc_phylum_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("); }\ \n", kc_current_view); } } else if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_NonlistAlternatives)) { #line 4054 "../gen.k" ID id = kc_p->u.PhylumDeclaration.ID_1; { (*kc_printer)("/*ARGSUSED*/ boolean eq_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("\ \n#ifdef KC_USE_PROTOTYPES\ \n(", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" kc_p1, ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" kc_p2)\ \n#else\ \n(kc_p1, kc_p2) ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" kc_p1, kc_p2;\ \n#endif\ \n{ return kc_do_eq_phylum( (kc_voidptr_t)kc_p1, (kc_voidptr_t)kc_p2, kc_phylum_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("); }\ \n", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_eqdecls_h: { if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_Emptyproductionblock)) { #line 3976 "../gen.k" /*EMPTY*/ #line 8896 "unpk.c" } else if (( kc_p->prod_sel == sel_PhylumDeclaration)) { #line 3977 "../gen.k" ID id = kc_p->u.PhylumDeclaration.ID_1; { (*kc_printer)("boolean eq_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" KC__P(( ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(", ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" ));\ \n", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_freedefs_c: { if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_PredefinedAlternatives) && ( kc_p->u.PhylumDeclaration.productionblock_1->u.PredefinedAlternatives.alternatives_1->prod_sel == sel_Consalternatives) && ( kc_p->u.PhylumDeclaration.productionblock_1->u.PredefinedAlternatives.alternatives_1->u.Consalternatives.alternative_1->prod_sel == sel_Alternative) && ( kc_p->u.PhylumDeclaration.productionblock_1->u.PredefinedAlternatives.alternatives_1->u.Consalternatives.alternatives_1->prod_sel == sel_Nilalternatives)) { #line 3944 "../gen.k" ID id = kc_p->u.PhylumDeclaration.ID_1; #line 3944 "../gen.k" ID oid = kc_p->u.PhylumDeclaration.productionblock_1->u.PredefinedAlternatives.alternatives_1->u.Consalternatives.alternative_1->u.Alternative.ID_1; { (*kc_printer)("/*ARGSUSED*/ void free_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("\ \n#ifdef KC_USE_PROTOTYPES\ \n(", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" kc_p, boolean kc_rec)\ \n#else\ \n(kc_p, kc_rec) ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" kc_p; boolean kc_rec;\ \n#endif\ \n{ KC_COLLECT_STATS0(KC_FREE_CALLED_STATS((int)sel_", kc_current_view); } unparse_ID(oid, kc_printer, kc_current_view); { (*kc_printer)(", kc_rec)); }\ \n", kc_current_view); } } else if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_Emptyproductionblock)) { #line 3943 "../gen.k" /*EMPTY*/ #line 8939 "unpk.c" } else if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_ListAlternatives)) { #line 3955 "../gen.k" ID id = kc_p->u.PhylumDeclaration.ID_1; { (*kc_printer)("/*ARGSUSED*/ void free_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("\ \n#ifdef KC_USE_PROTOTYPES\ \n(", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" kc_p, boolean kc_rec)\ \n#else\ \n(kc_p, kc_rec) ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" kc_p; boolean kc_rec;\ \n#endif\ \n{ kc_do_free_phylum( (kc_voidptr_t)kc_p, kc_rec, kc_phylum_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("); }\ \n", kc_current_view); } } else if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_NonlistAlternatives)) { #line 3956 "../gen.k" ID id = kc_p->u.PhylumDeclaration.ID_1; { (*kc_printer)("/*ARGSUSED*/ void free_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("\ \n#ifdef KC_USE_PROTOTYPES\ \n(", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" kc_p, boolean kc_rec)\ \n#else\ \n(kc_p, kc_rec) ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" kc_p; boolean kc_rec;\ \n#endif\ \n{ kc_do_free_phylum( (kc_voidptr_t)kc_p, kc_rec, kc_phylum_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("); }\ \n", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_freedecls_h: { if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_Emptyproductionblock)) { #line 3899 "../gen.k" /*EMPTY*/ #line 8988 "unpk.c" } else if (( kc_p->prod_sel == sel_PhylumDeclaration)) { #line 3900 "../gen.k" ID id = kc_p->u.PhylumDeclaration.ID_1; { (*kc_printer)("void free_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" KC__P(( ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(", boolean ));\ \n", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_operatordefs_c: { if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.storageoption_1->prod_sel == sel_NoStorageOption) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_ListAlternatives)) { #line 3647 "../gen.k" ID id = kc_p->u.PhylumDeclaration.ID_1; #line 3647 "../gen.k" alternatives alt = kc_p->u.PhylumDeclaration.productionblock_1->u.ListAlternatives.alternatives_1; #line 3647 "../gen.k" Ccode_option cco = kc_p->u.PhylumDeclaration.Ccode_option_1; #line 3652 "../gen.k" gl_phylum = id; gl_cco = cco; #line 9013 "unpk.c" unparse_alternatives(alt, kc_printer, view_gen_operatordefs_nonhash_c); #line 3654 "../gen.k" gl_phylum = (ID) 0; gl_cco = (Ccode_option)0; #line 9017 "unpk.c" } else if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.storageoption_1->prod_sel == sel_NegativeStorageOption) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_ListAlternatives)) { #line 3648 "../gen.k" ID id = kc_p->u.PhylumDeclaration.ID_1; #line 3648 "../gen.k" alternatives alt = kc_p->u.PhylumDeclaration.productionblock_1->u.ListAlternatives.alternatives_1; #line 3648 "../gen.k" Ccode_option cco = kc_p->u.PhylumDeclaration.Ccode_option_1; #line 3652 "../gen.k" gl_phylum = id; gl_cco = cco; #line 9028 "unpk.c" unparse_alternatives(alt, kc_printer, view_gen_operatordefs_nonhash_c); #line 3654 "../gen.k" gl_phylum = (ID) 0; gl_cco = (Ccode_option)0; #line 9032 "unpk.c" } else if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.storageoption_1->prod_sel == sel_NoStorageOption) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_NonlistAlternatives)) { #line 3649 "../gen.k" ID id = kc_p->u.PhylumDeclaration.ID_1; #line 3649 "../gen.k" alternatives alt = kc_p->u.PhylumDeclaration.productionblock_1->u.NonlistAlternatives.alternatives_1; #line 3649 "../gen.k" Ccode_option cco = kc_p->u.PhylumDeclaration.Ccode_option_1; #line 3652 "../gen.k" gl_phylum = id; gl_cco = cco; #line 9043 "unpk.c" unparse_alternatives(alt, kc_printer, view_gen_operatordefs_nonhash_c); #line 3654 "../gen.k" gl_phylum = (ID) 0; gl_cco = (Ccode_option)0; #line 9047 "unpk.c" } else if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.storageoption_1->prod_sel == sel_NegativeStorageOption) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_NonlistAlternatives)) { #line 3650 "../gen.k" ID id = kc_p->u.PhylumDeclaration.ID_1; #line 3650 "../gen.k" alternatives alt = kc_p->u.PhylumDeclaration.productionblock_1->u.NonlistAlternatives.alternatives_1; #line 3650 "../gen.k" Ccode_option cco = kc_p->u.PhylumDeclaration.Ccode_option_1; #line 3652 "../gen.k" gl_phylum = id; gl_cco = cco; #line 9058 "unpk.c" unparse_alternatives(alt, kc_printer, view_gen_operatordefs_nonhash_c); #line 3654 "../gen.k" gl_phylum = (ID) 0; gl_cco = (Ccode_option)0; #line 9062 "unpk.c" } else if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.storageoption_1->prod_sel == sel_PositiveStorageOption) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_ListAlternatives)) { #line 3656 "../gen.k" ID id = kc_p->u.PhylumDeclaration.ID_1; #line 3656 "../gen.k" ID sto = kc_p->u.PhylumDeclaration.storageoption_1->u.PositiveStorageOption.ID_1; #line 3656 "../gen.k" alternatives alt = kc_p->u.PhylumDeclaration.productionblock_1->u.ListAlternatives.alternatives_1; #line 3656 "../gen.k" Ccode_option cco = kc_p->u.PhylumDeclaration.Ccode_option_1; #line 3659 "../gen.k" gl_phylum = id; gl_cco = cco; gl_sto = sto; #line 9075 "unpk.c" unparse_alternatives(alt, kc_printer, view_gen_operatordefs_hash_c); #line 3661 "../gen.k" gl_phylum = (ID) 0; gl_cco = (Ccode_option)0; gl_sto = (ID)0; #line 9079 "unpk.c" } else if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.storageoption_1->prod_sel == sel_PositiveStorageOption) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_NonlistAlternatives)) { #line 3657 "../gen.k" ID id = kc_p->u.PhylumDeclaration.ID_1; #line 3657 "../gen.k" ID sto = kc_p->u.PhylumDeclaration.storageoption_1->u.PositiveStorageOption.ID_1; #line 3657 "../gen.k" alternatives alt = kc_p->u.PhylumDeclaration.productionblock_1->u.NonlistAlternatives.alternatives_1; #line 3657 "../gen.k" Ccode_option cco = kc_p->u.PhylumDeclaration.Ccode_option_1; #line 3659 "../gen.k" gl_phylum = id; gl_cco = cco; gl_sto = sto; #line 9092 "unpk.c" unparse_alternatives(alt, kc_printer, view_gen_operatordefs_hash_c); #line 3661 "../gen.k" gl_phylum = (ID) 0; gl_cco = (Ccode_option)0; gl_sto = (ID)0; #line 9096 "unpk.c" } else if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_Emptyproductionblock)) { #line 3646 "../gen.k" /*EMPTY*/ #line 9101 "unpk.c" } else if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_PredefinedAlternatives)) { #line 3664 "../gen.k" /*EMPTY*/ #line 9106 "unpk.c" } else goto kc_unparsing_default; break; } case (int)view_gen_operatordecls_h: { if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_Emptyproductionblock)) { #line 1373 "../gen.k" /*EMPTY*/ #line 9115 "unpk.c" } else if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_ListAlternatives)) { #line 1374 "../gen.k" ID id = kc_p->u.PhylumDeclaration.ID_1; #line 1374 "../gen.k" alternatives a = kc_p->u.PhylumDeclaration.productionblock_1->u.ListAlternatives.alternatives_1; unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_alternatives(a, kc_printer, kc_current_view); { (*kc_printer)(";\ \n", kc_current_view); } } else if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_NonlistAlternatives)) { #line 1375 "../gen.k" ID id = kc_p->u.PhylumDeclaration.ID_1; #line 1375 "../gen.k" alternatives a = kc_p->u.PhylumDeclaration.productionblock_1->u.NonlistAlternatives.alternatives_1; unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_alternatives(a, kc_printer, kc_current_view); { (*kc_printer)(";\ \n", kc_current_view); } } else if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_PredefinedAlternatives)) { #line 1381 "../gen.k" /*EMPTY*/ #line 9142 "unpk.c" } else goto kc_unparsing_default; break; } case (int)view_gen_assertmacros_h: { if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_Emptyproductionblock)) { #line 1247 "../gen.k" /*EMPTY*/ #line 9151 "unpk.c" } else if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_ListAlternatives)) { #line 1248 "../gen.k" ID id = kc_p->u.PhylumDeclaration.ID_1; { (*kc_printer)("#define assert_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("(p,pstr) assertNonIntPhylum(p,pstr,(int)kc_phylum_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(")\ \n", kc_current_view); } } else if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_NonlistAlternatives)) { #line 1249 "../gen.k" ID id = kc_p->u.PhylumDeclaration.ID_1; { (*kc_printer)("#define assert_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("(p,pstr) assertNonIntPhylum(p,pstr,(int)kc_phylum_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(")\ \n", kc_current_view); } } else if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_PredefinedAlternatives)) { #line 1254 "../gen.k" ID id = kc_p->u.PhylumDeclaration.ID_1; #line 1256 "../gen.k" if ((strcmp( f_strofID( id ), "int" ) == 0) || (strcmp( f_strofID( id ), "float" ) == 0) || (strcmp( f_strofID( id ), "voidptr" ) == 0)) #line 9180 "unpk.c" { { (*kc_printer)("#define assert_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("(p,pstr)\ \n", kc_current_view); } } #line 1261 "../gen.k" else #line 9189 "unpk.c" { { (*kc_printer)("#define assert_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("(c, cstr) assertNonIntPhylum(c,cstr,(int)kc_phylum_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(")\ \n", kc_current_view); } } } else goto kc_unparsing_default; break; } case (int)view_gen_yaccstacktype_h: { if (( kc_p->prod_sel == sel_PhylumDeclaration)) { #line 1021 "../gen.k" ID id = kc_p->u.PhylumDeclaration.ID_1; { (*kc_printer)(" ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" yt_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(";\ \n", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_nodetypes_h: { if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_Emptyproductionblock)) { #line 942 "../gen.k" /*EMPTY*/ #line 9220 "unpk.c" } else if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_ListAlternatives)) { #line 943 "../gen.k" ID id = kc_p->u.PhylumDeclaration.ID_1; #line 943 "../gen.k" alternatives a = kc_p->u.PhylumDeclaration.productionblock_1->u.ListAlternatives.alternatives_1; #line 943 "../gen.k" Ccode_option cco = kc_p->u.PhylumDeclaration.Ccode_option_1; { (*kc_printer)("struct kc_tag_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" {\ \n kc_enum_operators prod_sel;\ \n", kc_current_view); } #line 949 "../gen.k" if (! f_all_alternatives_nullary( a )) #line 9236 "unpk.c" { { (*kc_printer)(" union {\ \n", kc_current_view); } unparse_alternatives(a, kc_printer, kc_current_view); { (*kc_printer)(" } u;\ \n", kc_current_view); } } unparse_Ccode_option(cco, kc_printer, kc_current_view); { (*kc_printer)("};\ \n\ \n", kc_current_view); } } else if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_NonlistAlternatives)) { #line 944 "../gen.k" ID id = kc_p->u.PhylumDeclaration.ID_1; #line 944 "../gen.k" alternatives a = kc_p->u.PhylumDeclaration.productionblock_1->u.NonlistAlternatives.alternatives_1; #line 944 "../gen.k" Ccode_option cco = kc_p->u.PhylumDeclaration.Ccode_option_1; { (*kc_printer)("struct kc_tag_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" {\ \n kc_enum_operators prod_sel;\ \n", kc_current_view); } #line 949 "../gen.k" if (! f_all_alternatives_nullary( a )) #line 9263 "unpk.c" { { (*kc_printer)(" union {\ \n", kc_current_view); } unparse_alternatives(a, kc_printer, kc_current_view); { (*kc_printer)(" } u;\ \n", kc_current_view); } } unparse_Ccode_option(cco, kc_printer, kc_current_view); { (*kc_printer)("};\ \n\ \n", kc_current_view); } } else if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_PredefinedAlternatives)) { #line 961 "../gen.k" ID id = kc_p->u.PhylumDeclaration.ID_1; #line 963 "../gen.k" if ((strcmp( f_strofID( id ), "int" ) == 0) || (strcmp( f_strofID( id ), "float" ) == 0) || (strcmp( f_strofID( id ), "voidptr" ) == 0)) #line 9283 "unpk.c" { #line 966 "../gen.k" /*EMPTY*/ #line 9287 "unpk.c" } #line 967 "../gen.k" else #line 9291 "unpk.c" { { (*kc_printer)("struct kc_tag_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" {\ \n kc_enum_operators prod_sel;\ \n char *name;\ \n};\ \n\ \n", kc_current_view); } } } else goto kc_unparsing_default; break; } case (int)view_gen_nodetypedefs_h: { if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_Emptyproductionblock)) { #line 893 "../gen.k" /*EMPTY*/ #line 9310 "unpk.c" } else if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_ListAlternatives)) { #line 894 "../gen.k" ID id = kc_p->u.PhylumDeclaration.ID_1; { (*kc_printer)("typedef struct kc_tag_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" *", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(";\ \n", kc_current_view); } } else if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_NonlistAlternatives)) { #line 895 "../gen.k" ID id = kc_p->u.PhylumDeclaration.ID_1; { (*kc_printer)("typedef struct kc_tag_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" *", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(";\ \n", kc_current_view); } } else if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_PredefinedAlternatives)) { #line 900 "../gen.k" ID id = kc_p->u.PhylumDeclaration.ID_1; #line 902 "../gen.k" if ((strcmp( f_strofID( id ), "int" ) == 0) || (strcmp( f_strofID( id ), "float" ) == 0)) #line 9338 "unpk.c" { #line 904 "../gen.k" /*EMPTY*/ #line 9342 "unpk.c" } #line 905 "../gen.k" else if (strcmp( f_strofID( id ), "voidptr" ) == 0) #line 9346 "unpk.c" { { (*kc_printer)("typedef kc_voidptr_t ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(";\ \n", kc_current_view); } } #line 908 "../gen.k" else #line 9355 "unpk.c" { { (*kc_printer)("typedef struct kc_tag_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" *", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(";\ \n", kc_current_view); } } } else goto kc_unparsing_default; break; } case (int)view_gen_operatormap_suboffsets: { if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_Emptyproductionblock)) { #line 799 "../gen.k" /*EMPTY*/ #line 9372 "unpk.c" } else if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_ListAlternatives)) { #line 800 "../gen.k" ID id = kc_p->u.PhylumDeclaration.ID_1; #line 800 "../gen.k" alternatives a = kc_p->u.PhylumDeclaration.productionblock_1->u.ListAlternatives.alternatives_1; #line 804 "../gen.k" gl_phylum = id; #line 9381 "unpk.c" unparse_alternatives(a, kc_printer, kc_current_view); #line 806 "../gen.k" gl_phylum = 0; #line 9385 "unpk.c" } else if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_NonlistAlternatives)) { #line 801 "../gen.k" ID id = kc_p->u.PhylumDeclaration.ID_1; #line 801 "../gen.k" alternatives a = kc_p->u.PhylumDeclaration.productionblock_1->u.NonlistAlternatives.alternatives_1; #line 804 "../gen.k" gl_phylum = id; #line 9394 "unpk.c" unparse_alternatives(a, kc_printer, kc_current_view); #line 806 "../gen.k" gl_phylum = 0; #line 9398 "unpk.c" } else if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_PredefinedAlternatives)) { #line 802 "../gen.k" ID id = kc_p->u.PhylumDeclaration.ID_1; #line 802 "../gen.k" alternatives a = kc_p->u.PhylumDeclaration.productionblock_1->u.PredefinedAlternatives.alternatives_1; #line 804 "../gen.k" gl_phylum = id; #line 9407 "unpk.c" unparse_alternatives(a, kc_printer, kc_current_view); #line 806 "../gen.k" gl_phylum = 0; #line 9411 "unpk.c" } else goto kc_unparsing_default; break; } case (int)view_gen_operatormap_subphyla: { if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_Emptyproductionblock)) { #line 768 "../gen.k" /*EMPTY*/ #line 9420 "unpk.c" } else if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_ListAlternatives)) { #line 769 "../gen.k" alternatives a = kc_p->u.PhylumDeclaration.productionblock_1->u.ListAlternatives.alternatives_1; unparse_alternatives(a, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_NonlistAlternatives)) { #line 770 "../gen.k" alternatives a = kc_p->u.PhylumDeclaration.productionblock_1->u.NonlistAlternatives.alternatives_1; unparse_alternatives(a, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_PredefinedAlternatives)) { #line 771 "../gen.k" alternatives a = kc_p->u.PhylumDeclaration.productionblock_1->u.PredefinedAlternatives.alternatives_1; unparse_alternatives(a, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_operatormap_operator_fn: { if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_Emptyproductionblock)) { #line 719 "../gen.k" /*EMPTY*/ #line 9444 "unpk.c" } else if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_PredefinedAlternatives)) { #line 721 "../gen.k" /*EMPTY*/ #line 9449 "unpk.c" } else if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_ListAlternatives)) { #line 722 "../gen.k" ID id = kc_p->u.PhylumDeclaration.ID_1; #line 722 "../gen.k" alternatives a = kc_p->u.PhylumDeclaration.productionblock_1->u.ListAlternatives.alternatives_1; #line 725 "../gen.k" gl_phylum = id; #line 9458 "unpk.c" unparse_alternatives(a, kc_printer, kc_current_view); #line 727 "../gen.k" gl_phylum = (ID) 0; #line 9462 "unpk.c" } else if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_NonlistAlternatives)) { #line 723 "../gen.k" ID id = kc_p->u.PhylumDeclaration.ID_1; #line 723 "../gen.k" alternatives a = kc_p->u.PhylumDeclaration.productionblock_1->u.NonlistAlternatives.alternatives_1; #line 725 "../gen.k" gl_phylum = id; #line 9471 "unpk.c" unparse_alternatives(a, kc_printer, kc_current_view); #line 727 "../gen.k" gl_phylum = (ID) 0; #line 9475 "unpk.c" } else goto kc_unparsing_default; break; } case (int)view_gen_operatormap_c: { if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_Emptyproductionblock)) { #line 668 "../gen.k" /*EMPTY*/ #line 9484 "unpk.c" } else if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_ListAlternatives)) { #line 669 "../gen.k" ID id = kc_p->u.PhylumDeclaration.ID_1; #line 669 "../gen.k" storageoption st_opt = kc_p->u.PhylumDeclaration.storageoption_1; #line 669 "../gen.k" alternatives a = kc_p->u.PhylumDeclaration.productionblock_1->u.ListAlternatives.alternatives_1; #line 669 "../gen.k" Ccode_option cco = kc_p->u.PhylumDeclaration.Ccode_option_1; #line 672 "../gen.k" gl_phylum = id; gl_storageoption = st_opt; gl_atomicity = 0; gl_no_attributes = f_no_attrs_in_Ccode_option( cco ); #line 9497 "unpk.c" unparse_alternatives(a, kc_printer, kc_current_view); #line 674 "../gen.k" gl_phylum = 0; gl_storageoption = 0; gl_no_attributes = False; #line 9501 "unpk.c" } else if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_NonlistAlternatives)) { #line 670 "../gen.k" ID id = kc_p->u.PhylumDeclaration.ID_1; #line 670 "../gen.k" storageoption st_opt = kc_p->u.PhylumDeclaration.storageoption_1; #line 670 "../gen.k" alternatives a = kc_p->u.PhylumDeclaration.productionblock_1->u.NonlistAlternatives.alternatives_1; #line 670 "../gen.k" Ccode_option cco = kc_p->u.PhylumDeclaration.Ccode_option_1; #line 672 "../gen.k" gl_phylum = id; gl_storageoption = st_opt; gl_atomicity = 0; gl_no_attributes = f_no_attrs_in_Ccode_option( cco ); #line 9514 "unpk.c" unparse_alternatives(a, kc_printer, kc_current_view); #line 674 "../gen.k" gl_phylum = 0; gl_storageoption = 0; gl_no_attributes = False; #line 9518 "unpk.c" } else if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_PredefinedAlternatives)) { #line 676 "../gen.k" ID id = kc_p->u.PhylumDeclaration.ID_1; #line 676 "../gen.k" storageoption st_opt = kc_p->u.PhylumDeclaration.storageoption_1; #line 676 "../gen.k" alternatives a = kc_p->u.PhylumDeclaration.productionblock_1->u.PredefinedAlternatives.alternatives_1; #line 676 "../gen.k" Ccode_option cco = kc_p->u.PhylumDeclaration.Ccode_option_1; #line 678 "../gen.k" gl_phylum = id; gl_storageoption = st_opt; gl_atomicity = 1; gl_no_attributes = f_no_attrs_in_Ccode_option( cco ); #line 9531 "unpk.c" unparse_alternatives(a, kc_printer, kc_current_view); #line 680 "../gen.k" gl_phylum = 0; gl_storageoption = 0; gl_no_attributes = False; #line 9535 "unpk.c" } else goto kc_unparsing_default; break; } case (int)view_gen_phylummap_c: { if (( kc_p->prod_sel == sel_PhylumDeclaration)) { #line 584 "../gen.k" ID id = kc_p->u.PhylumDeclaration.ID_1; #line 584 "../gen.k" storageoption st_opt = kc_p->u.PhylumDeclaration.storageoption_1; #line 584 "../gen.k" productionblock pb = kc_p->u.PhylumDeclaration.productionblock_1; #line 584 "../gen.k" Ccode_option cco = kc_p->u.PhylumDeclaration.Ccode_option_1; #line 586 "../gen.k" gl_phylum = id; #line 9552 "unpk.c" #line 588 "../gen.k" if ((strcmp( f_strofID( id ), "int" ) == 0) || (strcmp( f_strofID( id ), "float" ) == 0) || (strcmp( f_strofID( id ), "voidptr" ) == 0)) #line 9557 "unpk.c" { { (*kc_printer)(" { \"", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("\", sizeof(", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("), ", kc_current_view); } unparse_productionblock(pb, kc_printer, kc_current_view); { (*kc_printer)(", ", kc_current_view); } unparse_storageoption(st_opt, kc_printer, kc_current_view); { (*kc_printer)(", ", kc_current_view); } unparse_Ccode_option(cco, kc_printer, kc_current_view); { (*kc_printer)(" },\ \n", kc_current_view); } } #line 593 "../gen.k" else #line 9574 "unpk.c" { { (*kc_printer)(" { \"", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("\", sizeof(struct kc_tag_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("), ", kc_current_view); } unparse_productionblock(pb, kc_printer, kc_current_view); { (*kc_printer)(", ", kc_current_view); } unparse_storageoption(st_opt, kc_printer, kc_current_view); { (*kc_printer)(", ", kc_current_view); } unparse_Ccode_option(cco, kc_printer, kc_current_view); { (*kc_printer)(" },\ \n", kc_current_view); } } #line 597 "../gen.k" gl_phylum = 0; #line 9591 "unpk.c" } else goto kc_unparsing_default; break; } case (int)view_gen_enumoperators_h: { if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_Emptyproductionblock)) { #line 492 "../gen.k" /*EMPTY*/ #line 9600 "unpk.c" } else if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_ListAlternatives)) { #line 493 "../gen.k" alternatives a = kc_p->u.PhylumDeclaration.productionblock_1->u.ListAlternatives.alternatives_1; unparse_alternatives(a, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_NonlistAlternatives)) { #line 494 "../gen.k" alternatives a = kc_p->u.PhylumDeclaration.productionblock_1->u.NonlistAlternatives.alternatives_1; unparse_alternatives(a, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_PredefinedAlternatives)) { #line 495 "../gen.k" alternatives a = kc_p->u.PhylumDeclaration.productionblock_1->u.PredefinedAlternatives.alternatives_1; unparse_alternatives(a, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_enumphyla_h: { if (( kc_p->prod_sel == sel_PhylumDeclaration)) { #line 470 "../gen.k" ID id = kc_p->u.PhylumDeclaration.ID_1; { (*kc_printer)(" kc_phylum_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" = ", kc_current_view); } unparse_int(g_no_of_phyla, kc_printer, kc_current_view); { (*kc_printer)(",\ \n", kc_current_view); } #line 473 "../gen.k" g_no_of_phyla++; #line 9632 "unpk.c" } else goto kc_unparsing_default; break; } case (int)view_check_uniq2: { if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.storageoption_1->prod_sel == sel_PositiveStorageOption)) { #line 1745 "../util.k" /*EMPTY*/ #line 9641 "unpk.c" } else if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_Emptyproductionblock)) { #line 1745 "../util.k" /*EMPTY*/ #line 9646 "unpk.c" } else if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_ListAlternatives)) { #line 1746 "../util.k" ID id = kc_p->u.PhylumDeclaration.ID_1; #line 1749 "../util.k" if (! kc_p->marked) #line 9653 "unpk.c" { #line 1750 "../util.k" v_report(NonFatal( FileLine( cl_storageID->file, cl_storageID->line ), Problem1S1ID1S1ID( "'uniq' declared phylum:", cl_uniqueID, "has non 'uniq' (transitive) subterm:", id) )); kc_p->marked = 1; #line 9661 "unpk.c" unparse_phylumdeclaration(kc_p, kc_printer, view_check_uniq1); } } else if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_NonlistAlternatives)) { #line 1747 "../util.k" ID id = kc_p->u.PhylumDeclaration.ID_1; #line 1749 "../util.k" if (! kc_p->marked) #line 9670 "unpk.c" { #line 1750 "../util.k" v_report(NonFatal( FileLine( cl_storageID->file, cl_storageID->line ), Problem1S1ID1S1ID( "'uniq' declared phylum:", cl_uniqueID, "has non 'uniq' (transitive) subterm:", id) )); kc_p->marked = 1; #line 9678 "unpk.c" unparse_phylumdeclaration(kc_p, kc_printer, view_check_uniq1); } } else if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_PredefinedAlternatives)) { #line 1759 "../util.k" /*EMPTY*/ #line 9685 "unpk.c" } else goto kc_unparsing_default; break; } case (int)view_check_uniq1: { if (( kc_p->prod_sel == sel_PhylumDeclaration)) { #line 1724 "../util.k" productionblock pb = kc_p->u.PhylumDeclaration.productionblock_1; unparse_productionblock(pb, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_check_uniq: { if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.storageoption_1->prod_sel == sel_NoStorageOption)) { #line 1708 "../util.k" productionblock pb = kc_p->u.PhylumDeclaration.productionblock_1; unparse_productionblock(pb, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.storageoption_1->prod_sel == sel_NegativeStorageOption)) { #line 1711 "../util.k" /*EMPTY*/ #line 9708 "unpk.c" } else if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.storageoption_1->prod_sel == sel_PositiveStorageOption)) { #line 1712 "../util.k" ID id = kc_p->u.PhylumDeclaration.ID_1; #line 1712 "../util.k" ID s_id = kc_p->u.PhylumDeclaration.storageoption_1->u.PositiveStorageOption.ID_1; #line 1712 "../util.k" productionblock pb = kc_p->u.PhylumDeclaration.productionblock_1; #line 1714 "../util.k" kc_p->marked = 1; cl_uniqueID = id; cl_storageID = s_id; #line 9722 "unpk.c" unparse_productionblock(pb, kc_printer, view_check_uniq1); #line 1719 "../util.k" v_reset_phylumdeclaration_marks(); cl_uniqueID = (ID)0; cl_storageID = (ID)0; #line 9729 "unpk.c" } else goto kc_unparsing_default; break; } case (int)view_gen_initializephyla_c: { if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_Emptyproductionblock)) { #line 3227 "../gen.k" /*EMPTY*/ #line 9738 "unpk.c" } else if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_ListAlternatives)) { #line 3228 "../gen.k" ID id = kc_p->u.PhylumDeclaration.ID_1; #line 3228 "../gen.k" Ccode_option cco = kc_p->u.PhylumDeclaration.Ccode_option_1; #line 3231 "../gen.k" if (f_something_to_initialize( cco )) #line 9747 "unpk.c" { { (*kc_printer)("static ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" kc_initialize_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("\ \n#ifdef KC_USE_PROTOTYPES\ \n(", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" kc_x)\ \n#else\ \n(kc_x) ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" kc_x;\ \n#endif\ \n{\ \n", kc_current_view); } unparse_Ccode_option(cco, kc_printer, kc_current_view); unparse_charptr(g_emptystring, kc_printer, view_printer_outputfileline); { (*kc_printer)(" return kc_x;\ \n}\ \n\ \n", kc_current_view); } } } else if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_NonlistAlternatives)) { #line 3229 "../gen.k" ID id = kc_p->u.PhylumDeclaration.ID_1; #line 3229 "../gen.k" Ccode_option cco = kc_p->u.PhylumDeclaration.Ccode_option_1; #line 3231 "../gen.k" if (f_something_to_initialize( cco )) #line 9780 "unpk.c" { { (*kc_printer)("static ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" kc_initialize_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("\ \n#ifdef KC_USE_PROTOTYPES\ \n(", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" kc_x)\ \n#else\ \n(kc_x) ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" kc_x;\ \n#endif\ \n{\ \n", kc_current_view); } unparse_Ccode_option(cco, kc_printer, kc_current_view); unparse_charptr(g_emptystring, kc_printer, view_printer_outputfileline); { (*kc_printer)(" return kc_x;\ \n}\ \n\ \n", kc_current_view); } } } else if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_PredefinedAlternatives)) { #line 3249 "../gen.k" /*EMPTY*/ #line 9809 "unpk.c" } else goto kc_unparsing_default; break; } case (int)view_check_count1: { if (( kc_p->prod_sel == sel_PhylumDeclaration) && ( kc_p->u.PhylumDeclaration.productionblock_1->prod_sel == sel_Emptyproductionblock)) { #line 197 "../util.k" ID id = kc_p->u.PhylumDeclaration.ID_1; #line 197 "../util.k" storageoption stopt = kc_p->u.PhylumDeclaration.storageoption_1; #line 199 "../util.k" gl_phylum = id; #line 9822 "unpk.c" unparse_storageoption(stopt, kc_printer, kc_current_view); #line 201 "../util.k" gl_phylum = 0; #line 9826 "unpk.c" #line 202 "../util.k" v_report(NonFatal( NoFileLine(), Problem1S1ID( "no operators defined for phylum", id ))); #line 9830 "unpk.c" } else if (( kc_p->prod_sel == sel_PhylumDeclaration)) { #line 190 "../util.k" ID id = kc_p->u.PhylumDeclaration.ID_1; #line 190 "../util.k" storageoption stopt = kc_p->u.PhylumDeclaration.storageoption_1; #line 190 "../util.k" productionblock pb = kc_p->u.PhylumDeclaration.productionblock_1; #line 192 "../util.k" gl_phylum = id; #line 9841 "unpk.c" unparse_storageoption(stopt, kc_printer, kc_current_view); #line 194 "../util.k" gl_phylum = 0; #line 9845 "unpk.c" unparse_productionblock(pb, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_check: { if (( kc_p->prod_sel == sel_PhylumDeclaration)) { #line 165 "../util.k" ID i = kc_p->u.PhylumDeclaration.ID_1; #line 165 "../util.k" Ccode_option cco = kc_p->u.PhylumDeclaration.Ccode_option_1; #line 167 "../util.k" cf_pushoutmostoperators( Niloperators() ); cf_pushdollarvarsallowed( DVAllowed() ); cf_pushphylum( i ); #line 9862 "unpk.c" unparse_Ccode_option(cco, kc_printer, kc_current_view); #line 172 "../util.k" freelist_operators( cf_topoutmostoperators() ); cf_popoutmostoperators(); cf_popdollarvarsallowed(); cf_popphylum(); #line 9870 "unpk.c" } else goto kc_unparsing_default; break; } default: kc_unparsing_default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_PhylumDeclaration: unparse_ID( kc_p->u.PhylumDeclaration.ID_1, kc_printer, kc_current_view ); unparse_storageoption( kc_p->u.PhylumDeclaration.storageoption_1, kc_printer, kc_current_view ); unparse_productionblock( kc_p->u.PhylumDeclaration.productionblock_1, kc_printer, kc_current_view ); unparse_Ccode_option( kc_p->u.PhylumDeclaration.Ccode_option_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_storageoption #ifdef KC_USE_PROTOTYPES (storageoption kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) storageoption kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_storageoption(kc_p, "kc_p"); switch((int)kc_current_view) { case (int)view_gen_operatormap_c: { if (( kc_p->prod_sel == sel_NoStorageOption)) { { (*kc_printer)("kc_not_uniq", kc_current_view); } } else if (( kc_p->prod_sel == sel_NegativeStorageOption)) { { (*kc_printer)("kc_not_uniq", kc_current_view); } } else if (( kc_p->prod_sel == sel_PositiveStorageOption)) { { (*kc_printer)("kc_uniq_nullary_operator", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_phylummap_c: { if (( kc_p->prod_sel == sel_NoStorageOption)) { { (*kc_printer)("kc_not_uniq", kc_current_view); } } else if (( kc_p->prod_sel == sel_NegativeStorageOption)) { { (*kc_printer)("kc_not_uniq", kc_current_view); } } else if (( kc_p->prod_sel == sel_PositiveStorageOption)) { #line 601 "../gen.k" ID sc = kc_p->u.PositiveStorageOption.ID_1; unparse_ID(sc, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_check_count1: { if (( kc_p->prod_sel == sel_NoStorageOption)) { #line 205 "../util.k" /*EMPTY*/ #line 9933 "unpk.c" } else if (( kc_p->prod_sel == sel_NegativeStorageOption)) { #line 206 "../util.k" ID sc = kc_p->u.NegativeStorageOption.ID_1; #line 209 "../util.k" if (pg_storageclasseshavebeendefined) v_useoccurstorageclass( sc ); else v_extendoccur( sc, ITStorageClass() ); v_add_to_storageclasses( sc, gl_phylum ); #line 9944 "unpk.c" } else if (( kc_p->prod_sel == sel_PositiveStorageOption)) { #line 207 "../util.k" ID sc = kc_p->u.PositiveStorageOption.ID_1; #line 209 "../util.k" if (pg_storageclasseshavebeendefined) v_useoccurstorageclass( sc ); else v_extendoccur( sc, ITStorageClass() ); v_add_to_storageclasses( sc, gl_phylum ); #line 9955 "unpk.c" } else goto kc_unparsing_default; break; } case (int)view_error: { if (( kc_p->prod_sel == sel_NoStorageOption)) { #line 228 "../error.k" /*EMPTY*/ #line 9964 "unpk.c" } else if (( kc_p->prod_sel == sel_NegativeStorageOption)) { #line 229 "../error.k" ID id = kc_p->u.NegativeStorageOption.ID_1; { (*kc_printer)("{! ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" } at ", kc_current_view); } unparse_casestring(id->file, kc_printer, kc_current_view); { (*kc_printer)(":", kc_current_view); } unparse_int(id->line, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_PositiveStorageOption)) { #line 230 "../error.k" ID id = kc_p->u.PositiveStorageOption.ID_1; { (*kc_printer)("{ ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" } at ", kc_current_view); } unparse_casestring(id->file, kc_printer, kc_current_view); { (*kc_printer)(":", kc_current_view); } unparse_int(id->line, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } default: kc_unparsing_default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_NegativeStorageOption: unparse_ID( kc_p->u.NegativeStorageOption.ID_1, kc_printer, kc_current_view ); break; case (int)sel_PositiveStorageOption: unparse_ID( kc_p->u.PositiveStorageOption.ID_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_storageclasses #ifdef KC_USE_PROTOTYPES (storageclasses kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) storageclasses kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_storageclasses(kc_p, "kc_p"); switch((int)kc_current_view) { case (int)view_gen_operatordefs_c_4a: { if (( kc_p->prod_sel == sel_Consstorageclasses) && ( kc_p->u.Consstorageclasses.ID_1->prod_sel == sel_Id) && ( kc_p->u.Consstorageclasses.ID_1->u.Id.uniqID_1->prod_sel == sel_Str) && (strcmp( kc_p->u.Consstorageclasses.ID_1->u.Id.uniqID_1->u.Str.casestring_1->name, "kc_not_uniq")==0)) { #line 3160 "../gen.k" ID sc = kc_p->u.Consstorageclasses.ID_1; { (*kc_printer)("{ kc_mainhasharray_", kc_current_view); } unparse_ID(sc, kc_printer, kc_current_view); { (*kc_printer)(",\ \n 0 /*size*/,\ \n 0 /*kc_to_be_freed*/,\ \n &kc_static_hashtables[", kc_current_view); } unparse_int(gl_hashtablenr_next, kc_printer, kc_current_view); { (*kc_printer)("],\ \n &kc_static_hashtables[", kc_current_view); } unparse_int(gl_hashtablenr_prev, kc_printer, kc_current_view); { (*kc_printer)("],\ \n /* node allocation*/\ \n (kc_voidptr_t(*)())UNIQMALLOCINIT,\ \n UNIQMALLOC2,\ \n 0 /*UNIQFREEELEMENT*/,\ \n UNIQFREEALL,\ \n INUNIQBLOCK,\ \n (kc_voidptr_t)&kc_memory_info_", kc_current_view); } unparse_ID(sc, kc_printer, kc_current_view); { (*kc_printer)(" /*malloc_private_data*/,\ \n (kc_voidptr_t)&kc_memory_info_", kc_current_view); } unparse_ID(sc, kc_printer, kc_current_view); { (*kc_printer)(" /*static_malloc_private_data*/,\ \n 0 /*dynamic_malloc_private_data*/,\ \n 0 /*dec_dynamic_malloc_private_data*/,\ \n kc_ht_store_static,\ \n UNIQMEMORYINFO,\ \n /* bucket allocation */\ \n BUCKETALLO", kc_current_view ); (*kc_printer)("CINIT,\ \n BUCKETCALLOC,\ \n BUCKETREALLOC,\ \n 0 /*bucket_alloc_private_data*/,\ \n BUCKETFREE,\ \n BUCKETSFREE,\ \n BUCKETINC,\ \n BUCKETMEMORYINFO\ \n }", kc_current_view); } #line 3190 "../gen.k" gl_hashtablenr_next = (gl_hashtablenr_next + 1) % gl_nr_of_hashtables; gl_hashtablenr_prev = (gl_hashtablenr_prev + 1) % gl_nr_of_hashtables; #line 10060 "unpk.c" } else if (( kc_p->prod_sel == sel_Consstorageclasses) && ( kc_p->u.Consstorageclasses.ID_1->prod_sel == sel_Id) && ( kc_p->u.Consstorageclasses.ID_1->u.Id.uniqID_1->prod_sel == sel_Str) && (strcmp( kc_p->u.Consstorageclasses.ID_1->u.Id.uniqID_1->u.Str.casestring_1->name, "kc_uniq_nullary_operator")==0)) { #line 3161 "../gen.k" ID sc = kc_p->u.Consstorageclasses.ID_1; { (*kc_printer)("{ kc_mainhasharray_", kc_current_view); } unparse_ID(sc, kc_printer, kc_current_view); { (*kc_printer)(",\ \n 0 /*size*/,\ \n 0 /*kc_to_be_freed*/,\ \n &kc_static_hashtables[", kc_current_view); } unparse_int(gl_hashtablenr_next, kc_printer, kc_current_view); { (*kc_printer)("],\ \n &kc_static_hashtables[", kc_current_view); } unparse_int(gl_hashtablenr_prev, kc_printer, kc_current_view); { (*kc_printer)("],\ \n /* node allocation*/\ \n (kc_voidptr_t(*)())UNIQMALLOCINIT,\ \n UNIQMALLOC2,\ \n 0 /*UNIQFREEELEMENT*/,\ \n UNIQFREEALL,\ \n INUNIQBLOCK,\ \n (kc_voidptr_t)&kc_memory_info_", kc_current_view); } unparse_ID(sc, kc_printer, kc_current_view); { (*kc_printer)(" /*malloc_private_data*/,\ \n (kc_voidptr_t)&kc_memory_info_", kc_current_view); } unparse_ID(sc, kc_printer, kc_current_view); { (*kc_printer)(" /*static_malloc_private_data*/,\ \n 0 /*dynamic_malloc_private_data*/,\ \n 0 /*dec_dynamic_malloc_private_data*/,\ \n kc_ht_store_static,\ \n UNIQMEMORYINFO,\ \n /* bucket allocation */\ \n BUCKETALLO", kc_current_view ); (*kc_printer)("CINIT,\ \n BUCKETCALLOC,\ \n BUCKETREALLOC,\ \n 0 /*bucket_alloc_private_data*/,\ \n BUCKETFREE,\ \n BUCKETSFREE,\ \n BUCKETINC,\ \n BUCKETMEMORYINFO\ \n }", kc_current_view); } #line 3190 "../gen.k" gl_hashtablenr_next = (gl_hashtablenr_next + 1) % gl_nr_of_hashtables; gl_hashtablenr_prev = (gl_hashtablenr_prev + 1) % gl_nr_of_hashtables; #line 10106 "unpk.c" } else if (( kc_p->prod_sel == sel_Consstorageclasses)) { #line 3193 "../gen.k" ID sc = kc_p->u.Consstorageclasses.ID_1; { (*kc_printer)("{ kc_mainhasharray_", kc_current_view); } unparse_ID(sc, kc_printer, kc_current_view); { (*kc_printer)(",\ \n LARGEPRIME /*size*/,\ \n 0 /*kc_to_be_freed*/,\ \n &kc_static_hashtables[", kc_current_view); } unparse_int(gl_hashtablenr_next, kc_printer, kc_current_view); { (*kc_printer)("],\ \n &kc_static_hashtables[", kc_current_view); } unparse_int(gl_hashtablenr_prev, kc_printer, kc_current_view); { (*kc_printer)("],\ \n /* node allocation*/\ \n (kc_voidptr_t(*)())UNIQMALLOCINIT,\ \n UNIQMALLOC2,\ \n 0 /*UNIQFREEELEMENT*/,\ \n UNIQFREEALL,\ \n INUNIQBLOCK,\ \n (kc_voidptr_t)&kc_memory_info_", kc_current_view); } unparse_ID(sc, kc_printer, kc_current_view); { (*kc_printer)(",\ \n (kc_voidptr_t)&kc_memory_info_", kc_current_view); } unparse_ID(sc, kc_printer, kc_current_view); { (*kc_printer)(",\ \n 0 /*dynamic_malloc_private_data*/,\ \n 0 /*dec_dynamic_malloc_private_data*/,\ \n kc_ht_store_static,\ \n UNIQMEMORYINFO,\ \n /* bucket allocation */\ \n BUCKETALLOCINIT,\ \n BUCKETCALLOC,\ \n BU", kc_current_view ); (*kc_printer)("CKETREALLOC,\ \n 0 /*bucket_alloc_private_data*/,\ \n BUCKETFREE,\ \n BUCKETSFREE,\ \n BUCKETINC,\ \n BUCKETMEMORYINFO\ \n }", kc_current_view); } #line 3221 "../gen.k" gl_hashtablenr_next = (gl_hashtablenr_next + 1) % gl_nr_of_hashtables; gl_hashtablenr_prev = (gl_hashtablenr_prev + 1) % gl_nr_of_hashtables; #line 10152 "unpk.c" } else goto kc_unparsing_default; break; } case (int)view_gen_operatordefs_c_4z: { if (( kc_p->prod_sel == sel_Nilstorageclasses)) { #line 3151 "../gen.k" /*EMPTY*/ #line 10161 "unpk.c" } else if (( kc_p->prod_sel == sel_Consstorageclasses) && ( kc_p->u.Consstorageclasses.storageclasses_1->prod_sel == sel_Nilstorageclasses)) { unparse_storageclasses(kc_p, kc_printer, view_gen_operatordefs_c_4a); } else if (( kc_p->prod_sel == sel_Consstorageclasses)) { #line 3155 "../gen.k" storageclasses r_sc = kc_p->u.Consstorageclasses.storageclasses_1; unparse_storageclasses(r_sc, kc_printer, kc_current_view); { (*kc_printer)(",\ \n", kc_current_view); } unparse_storageclasses(kc_p, kc_printer, view_gen_operatordefs_c_4a); } else goto kc_unparsing_default; break; } case (int)view_gen_operatordefs_c_4: { if (( kc_p->prod_sel == sel_Nilstorageclasses)) { #line 3145 "../gen.k" /*EMPTY*/ #line 10181 "unpk.c" } else if (( kc_p->prod_sel == sel_Consstorageclasses)) { #line 3147 "../gen.k" gl_nr_of_hashtables = length_storageclasses( Thestorageclasses ); gl_hashtablenr_next = 1; gl_hashtablenr_prev = gl_nr_of_hashtables - 1; #line 10187 "unpk.c" unparse_storageclasses(kc_p, kc_printer, view_gen_operatordefs_c_4z); } else goto kc_unparsing_default; break; } case (int)view_gen_operatordefs_c_3a: { if (( kc_p->prod_sel == sel_Consstorageclasses)) { #line 3142 "../gen.k" ID sc = kc_p->u.Consstorageclasses.ID_1; { (*kc_printer)("&kc_static_hashtables[(int)", kc_current_view); } unparse_ID(sc, kc_printer, kc_current_view); { (*kc_printer)("]", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_operatordefs_c_3: { if (( kc_p->prod_sel == sel_Nilstorageclasses)) { #line 3134 "../gen.k" /*EMPTY*/ #line 10208 "unpk.c" } else if (( kc_p->prod_sel == sel_Consstorageclasses) && ( kc_p->u.Consstorageclasses.storageclasses_1->prod_sel == sel_Nilstorageclasses)) { unparse_storageclasses(kc_p, kc_printer, view_gen_operatordefs_c_3a); } else if (( kc_p->prod_sel == sel_Consstorageclasses)) { #line 3138 "../gen.k" storageclasses r_sc = kc_p->u.Consstorageclasses.storageclasses_1; unparse_storageclasses(r_sc, kc_printer, kc_current_view); { (*kc_printer)(", ", kc_current_view); } unparse_storageclasses(kc_p, kc_printer, view_gen_operatordefs_c_3a); } else goto kc_unparsing_default; break; } case (int)view_gen_operatordefs_c_2a: { if (( kc_p->prod_sel == sel_Nilstorageclasses)) { #line 3126 "../gen.k" /*EMPTY*/ #line 10227 "unpk.c" } else if (( kc_p->prod_sel == sel_Consstorageclasses) && ( kc_p->u.Consstorageclasses.storageclasses_1->prod_sel == sel_Nilstorageclasses)) { #line 3127 "../gen.k" ID sc = kc_p->u.Consstorageclasses.ID_1; { (*kc_printer)("&kc_memory_info_", kc_current_view); } unparse_ID(sc, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_Consstorageclasses)) { #line 3130 "../gen.k" ID sc = kc_p->u.Consstorageclasses.ID_1; #line 3130 "../gen.k" storageclasses r_sc = kc_p->u.Consstorageclasses.storageclasses_1; unparse_storageclasses(r_sc, kc_printer, kc_current_view); { (*kc_printer)(", &kc_memory_info_", kc_current_view); } unparse_ID(sc, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_operatordefs_c_2: { if (( kc_p->prod_sel == sel_Nilstorageclasses)) { #line 3120 "../gen.k" /*EMPTY*/ #line 10251 "unpk.c" } else if (( kc_p->prod_sel == sel_Consstorageclasses)) { #line 3121 "../gen.k" ID sc = kc_p->u.Consstorageclasses.ID_1; #line 3121 "../gen.k" storageclasses r_sc = kc_p->u.Consstorageclasses.storageclasses_1; unparse_storageclasses(r_sc, kc_printer, kc_current_view); { (*kc_printer)("static kc_memory_info_t kc_memory_info_", kc_current_view); } unparse_ID(sc, kc_printer, kc_current_view); { (*kc_printer)(" = { 0, 0, 0, &kc_mainmemory_freelist, 0, KC_MEMORY_BLOCKSIZE };\ \n", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_operatordefs_c_1: { if (( kc_p->prod_sel == sel_Nilstorageclasses)) { #line 3112 "../gen.k" /*EMPTY*/ #line 10271 "unpk.c" } else if (( kc_p->prod_sel == sel_Consstorageclasses) && ( kc_p->u.Consstorageclasses.storageclasses_1->prod_sel == sel_Nilstorageclasses)) { { (*kc_printer)("True", kc_current_view); } } else if (( kc_p->prod_sel == sel_Consstorageclasses)) { #line 3116 "../gen.k" storageclasses r_sc = kc_p->u.Consstorageclasses.storageclasses_1; unparse_storageclasses(r_sc, kc_printer, kc_current_view); { (*kc_printer)(", True", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_operatordefs_c_0: { if (( kc_p->prod_sel == sel_Nilstorageclasses)) { #line 3099 "../gen.k" /*EMPTY*/ #line 10289 "unpk.c" } else if (( kc_p->prod_sel == sel_Consstorageclasses) && ( kc_p->u.Consstorageclasses.ID_1->prod_sel == sel_Id) && ( kc_p->u.Consstorageclasses.ID_1->u.Id.uniqID_1->prod_sel == sel_Str) && (strcmp( kc_p->u.Consstorageclasses.ID_1->u.Id.uniqID_1->u.Str.casestring_1->name, "kc_not_uniq")==0)) { #line 3105 "../gen.k" ID sc = kc_p->u.Consstorageclasses.ID_1; #line 3105 "../gen.k" storageclasses r_sc = kc_p->u.Consstorageclasses.storageclasses_1; unparse_storageclasses(r_sc, kc_printer, kc_current_view); { (*kc_printer)("static kc_hashtableentry_t kc_mainhasharray_", kc_current_view); } unparse_ID(sc, kc_printer, kc_current_view); { (*kc_printer)("[1][(int)kc_last_storage_mode];\ \n", kc_current_view); } } else if (( kc_p->prod_sel == sel_Consstorageclasses) && ( kc_p->u.Consstorageclasses.ID_1->prod_sel == sel_Id) && ( kc_p->u.Consstorageclasses.ID_1->u.Id.uniqID_1->prod_sel == sel_Str) && (strcmp( kc_p->u.Consstorageclasses.ID_1->u.Id.uniqID_1->u.Str.casestring_1->name, "kc_uniq_nullary_operator")==0)) { #line 3106 "../gen.k" ID sc = kc_p->u.Consstorageclasses.ID_1; #line 3106 "../gen.k" storageclasses r_sc = kc_p->u.Consstorageclasses.storageclasses_1; unparse_storageclasses(r_sc, kc_printer, kc_current_view); { (*kc_printer)("static kc_hashtableentry_t kc_mainhasharray_", kc_current_view); } unparse_ID(sc, kc_printer, kc_current_view); { (*kc_printer)("[1][(int)kc_last_storage_mode];\ \n", kc_current_view); } } else if (( kc_p->prod_sel == sel_Consstorageclasses)) { #line 3100 "../gen.k" ID sc = kc_p->u.Consstorageclasses.ID_1; #line 3100 "../gen.k" storageclasses r_sc = kc_p->u.Consstorageclasses.storageclasses_1; unparse_storageclasses(r_sc, kc_printer, kc_current_view); { (*kc_printer)("static kc_hashtableentry_t kc_mainhasharray_", kc_current_view); } unparse_ID(sc, kc_printer, kc_current_view); { (*kc_printer)("[LARGEPRIME+1][(int)kc_last_storage_mode]; /* +1 because LARGEPRIME can be 0 */\ \n", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_operatordefs_c: { if (( kc_p->prod_sel == sel_Nilstorageclasses)) { #line 3094 "../gen.k" /*EMPTY*/ #line 10331 "unpk.c" } else if (( kc_p->prod_sel == sel_Consstorageclasses) && ( kc_p->u.Consstorageclasses.storageclasses_1->prod_sel == sel_Nilstorageclasses)) { #line 3095 "../gen.k" ID sc = kc_p->u.Consstorageclasses.ID_1; { (*kc_printer)("\"", kc_current_view); } unparse_ID(sc, kc_printer, kc_current_view); { (*kc_printer)("\"", kc_current_view); } } else if (( kc_p->prod_sel == sel_Consstorageclasses)) { #line 3096 "../gen.k" ID sc = kc_p->u.Consstorageclasses.ID_1; #line 3096 "../gen.k" storageclasses r_sc = kc_p->u.Consstorageclasses.storageclasses_1; unparse_storageclasses(r_sc, kc_printer, kc_current_view); { (*kc_printer)(", \"", kc_current_view); } unparse_ID(sc, kc_printer, kc_current_view); { (*kc_printer)("\"", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_uniqmap_c_2: { if (( kc_p->prod_sel == sel_Nilstorageclasses)) { #line 859 "../gen.k" /*EMPTY*/ #line 10357 "unpk.c" } else if (( kc_p->prod_sel == sel_Consstorageclasses) && ( kc_p->u.Consstorageclasses.storageclasses_1->prod_sel == sel_Nilstorageclasses)) { #line 860 "../gen.k" ID sc = kc_p->u.Consstorageclasses.ID_1; #line 861 "../gen.k" if (length_phylumnames(kc_p->phyla) > 0) #line 10364 "unpk.c" { { (*kc_printer)(" kc_phylumstorageclass_", kc_current_view); } unparse_ID(sc, kc_printer, kc_current_view); } #line 863 "../gen.k" else #line 10371 "unpk.c" { { (*kc_printer)(" (KC_UNIQ_INFO)0", kc_current_view); } } } else if (( kc_p->prod_sel == sel_Consstorageclasses)) { #line 867 "../gen.k" ID sc = kc_p->u.Consstorageclasses.ID_1; #line 867 "../gen.k" storageclasses r_sc = kc_p->u.Consstorageclasses.storageclasses_1; unparse_storageclasses(r_sc, kc_printer, kc_current_view); #line 869 "../gen.k" if (length_phylumnames(kc_p->phyla) > 0) #line 10384 "unpk.c" { { (*kc_printer)(",\ \n kc_phylumstorageclass_", kc_current_view); } unparse_ID(sc, kc_printer, kc_current_view); } #line 872 "../gen.k" else #line 10392 "unpk.c" { { (*kc_printer)(",\ \n (KC_UNIQ_INFO)0", kc_current_view); } } } else goto kc_unparsing_default; break; } case (int)view_gen_uniqmap_c_1: { if (( kc_p->prod_sel == sel_Nilstorageclasses)) { #line 847 "../gen.k" /*EMPTY*/ #line 10405 "unpk.c" } else if (( kc_p->prod_sel == sel_Consstorageclasses)) { #line 848 "../gen.k" ID sc = kc_p->u.Consstorageclasses.ID_1; #line 848 "../gen.k" storageclasses r_sc = kc_p->u.Consstorageclasses.storageclasses_1; unparse_storageclasses(r_sc, kc_printer, kc_current_view); #line 850 "../gen.k" if (length_phylumnames(kc_p->phyla) > 0) #line 10415 "unpk.c" { { (*kc_printer)("static kc_enum_phyla kc_phylumstorageclass_", kc_current_view); } unparse_ID(sc, kc_printer, kc_current_view); { (*kc_printer)("[] = { kc_one_before_first_phylum, ", kc_current_view); } unparse_phylumnames(kc_p->phyla, kc_printer, kc_current_view); { (*kc_printer)("kc_last_phylum };\ \n", kc_current_view); } } } else goto kc_unparsing_default; break; } case (int)view_gen_uniqmap_c: { if (( kc_p->prod_sel == sel_Nilstorageclasses)) { #line 835 "../gen.k" /*EMPTY*/ #line 10432 "unpk.c" } else if (( kc_p->prod_sel == sel_Consstorageclasses)) { unparse_storageclasses(kc_p, kc_printer, view_gen_uniqmap_c_1); { (*kc_printer)("\ \nKC_UNIQ_INFO kc_UniqInfo[] = {\ \n", kc_current_view); } unparse_storageclasses(kc_p, kc_printer, view_gen_uniqmap_c_2); { (*kc_printer)("\ \n};\ \n", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_operatormap_type_h: { if (( kc_p->prod_sel == sel_Nilstorageclasses)) { #line 560 "../gen.k" /*EMPTY*/ #line 10451 "unpk.c" } else if (( kc_p->prod_sel == sel_Consstorageclasses) && ( kc_p->u.Consstorageclasses.storageclasses_1->prod_sel == sel_Nilstorageclasses)) { #line 561 "../gen.k" ID sc = kc_p->u.Consstorageclasses.ID_1; unparse_ID(sc, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_Consstorageclasses)) { #line 562 "../gen.k" ID sc = kc_p->u.Consstorageclasses.ID_1; #line 562 "../gen.k" storageclasses r_sc = kc_p->u.Consstorageclasses.storageclasses_1; unparse_storageclasses(r_sc, kc_printer, kc_current_view); { (*kc_printer)(", ", kc_current_view); } unparse_ID(sc, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } default: kc_unparsing_default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_Consstorageclasses: unparse_ID( kc_p->u.Consstorageclasses.ID_1, kc_printer, kc_current_view ); unparse_storageclasses( kc_p->u.Consstorageclasses.storageclasses_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_productionblock #ifdef KC_USE_PROTOTYPES (productionblock kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) productionblock kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_productionblock(kc_p, "kc_p"); switch((int)kc_current_view) { case (int)view_gen_unparsedefs_c: { if (( kc_p->prod_sel == sel_ListAlternatives)) { #line 7940 "../gen.k" alternatives a = kc_p->u.ListAlternatives.alternatives_1; #line 7942 "../gen.k" unparseviewsinfo a_unparseviewsinfo = f_unparseviewsinfoofalternatives( a, Theuviewnames ); #line 10500 "unpk.c" #line 7943 "../gen.k" gl_unparse_goto_used = False; #line 10503 "unpk.c" unparse_unparseviewsinfo(a_unparseviewsinfo, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_NonlistAlternatives)) { #line 7941 "../gen.k" alternatives a = kc_p->u.NonlistAlternatives.alternatives_1; #line 7942 "../gen.k" unparseviewsinfo a_unparseviewsinfo = f_unparseviewsinfoofalternatives( a, Theuviewnames ); #line 10511 "unpk.c" #line 7943 "../gen.k" gl_unparse_goto_used = False; #line 10514 "unpk.c" unparse_unparseviewsinfo(a_unparseviewsinfo, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_PredefinedAlternatives)) { #line 7939 "../gen.k" /*EMPTY*/ #line 10520 "unpk.c" } else goto kc_unparsing_default; break; } case (int)view_gen_rewritedefs_c: { if (( kc_p->prod_sel == sel_ListAlternatives)) { #line 6946 "../gen.k" alternatives a = kc_p->u.ListAlternatives.alternatives_1; #line 6948 "../gen.k" rewriteviewsinfo a_rewriteviewsinfo = f_rewriteviewsinfoofalternatives( a, Therviewnames ); #line 10531 "unpk.c" #line 6949 "../gen.k" gl_rewrite_goto_used = False; #line 10534 "unpk.c" unparse_rewriteviewsinfo(a_rewriteviewsinfo, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_NonlistAlternatives)) { #line 6947 "../gen.k" alternatives a = kc_p->u.NonlistAlternatives.alternatives_1; #line 6948 "../gen.k" rewriteviewsinfo a_rewriteviewsinfo = f_rewriteviewsinfoofalternatives( a, Therviewnames ); #line 10542 "unpk.c" #line 6949 "../gen.k" gl_rewrite_goto_used = False; #line 10545 "unpk.c" unparse_rewriteviewsinfo(a_rewriteviewsinfo, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_phylummap_c: { if (( kc_p->prod_sel == sel_Emptyproductionblock)) { #line 603 "../gen.k" /*EMPTY*/ #line 10555 "unpk.c" } else if (( kc_p->prod_sel == sel_ListAlternatives) && ( kc_p->u.ListAlternatives.alternatives_1->prod_sel == sel_Consalternatives) && ( kc_p->u.ListAlternatives.alternatives_1->u.Consalternatives.alternative_1->prod_sel == sel_Alternative) && ( kc_p->u.ListAlternatives.alternatives_1->u.Consalternatives.alternatives_1->prod_sel == sel_Nilalternatives)) { #line 604 "../gen.k" ID oid = kc_p->u.ListAlternatives.alternatives_1->u.Consalternatives.alternative_1->u.Alternative.ID_1; { (*kc_printer)("sel_", kc_current_view); } unparse_ID(oid, kc_printer, kc_current_view); { (*kc_printer)(", sel_", kc_current_view); } unparse_ID(oid, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_ListAlternatives) && ( kc_p->u.ListAlternatives.alternatives_1->prod_sel == sel_Consalternatives) && ( kc_p->u.ListAlternatives.alternatives_1->u.Consalternatives.alternative_1->prod_sel == sel_Alternative)) { #line 611 "../gen.k" ID oid = kc_p->u.ListAlternatives.alternatives_1->u.Consalternatives.alternative_1->u.Alternative.ID_1; #line 611 "../gen.k" alternatives ra = kc_p->u.ListAlternatives.alternatives_1->u.Consalternatives.alternatives_1; { (*kc_printer)("sel_", kc_current_view); } unparse_alternatives(ra, kc_printer, kc_current_view); { (*kc_printer)(", sel_", kc_current_view); } unparse_ID(oid, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_NonlistAlternatives) && ( kc_p->u.NonlistAlternatives.alternatives_1->prod_sel == sel_Consalternatives) && ( kc_p->u.NonlistAlternatives.alternatives_1->u.Consalternatives.alternative_1->prod_sel == sel_Alternative) && ( kc_p->u.NonlistAlternatives.alternatives_1->u.Consalternatives.alternatives_1->prod_sel == sel_Nilalternatives)) { #line 605 "../gen.k" ID oid = kc_p->u.NonlistAlternatives.alternatives_1->u.Consalternatives.alternative_1->u.Alternative.ID_1; { (*kc_printer)("sel_", kc_current_view); } unparse_ID(oid, kc_printer, kc_current_view); { (*kc_printer)(", sel_", kc_current_view); } unparse_ID(oid, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_NonlistAlternatives) && ( kc_p->u.NonlistAlternatives.alternatives_1->prod_sel == sel_Consalternatives) && ( kc_p->u.NonlistAlternatives.alternatives_1->u.Consalternatives.alternative_1->prod_sel == sel_Alternative)) { #line 612 "../gen.k" ID oid = kc_p->u.NonlistAlternatives.alternatives_1->u.Consalternatives.alternative_1->u.Alternative.ID_1; #line 612 "../gen.k" alternatives ra = kc_p->u.NonlistAlternatives.alternatives_1->u.Consalternatives.alternatives_1; { (*kc_printer)("sel_", kc_current_view); } unparse_alternatives(ra, kc_printer, kc_current_view); { (*kc_printer)(", sel_", kc_current_view); } unparse_ID(oid, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_PredefinedAlternatives) && ( kc_p->u.PredefinedAlternatives.alternatives_1->prod_sel == sel_Consalternatives) && ( kc_p->u.PredefinedAlternatives.alternatives_1->u.Consalternatives.alternative_1->prod_sel == sel_Alternative) && ( kc_p->u.PredefinedAlternatives.alternatives_1->u.Consalternatives.alternatives_1->prod_sel == sel_Nilalternatives)) { #line 606 "../gen.k" ID oid = kc_p->u.PredefinedAlternatives.alternatives_1->u.Consalternatives.alternative_1->u.Alternative.ID_1; { (*kc_printer)("sel_", kc_current_view); } unparse_ID(oid, kc_printer, kc_current_view); { (*kc_printer)(", sel_", kc_current_view); } unparse_ID(oid, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_PredefinedAlternatives) && ( kc_p->u.PredefinedAlternatives.alternatives_1->prod_sel == sel_Consalternatives) && ( kc_p->u.PredefinedAlternatives.alternatives_1->u.Consalternatives.alternative_1->prod_sel == sel_Alternative)) { #line 613 "../gen.k" ID oid = kc_p->u.PredefinedAlternatives.alternatives_1->u.Consalternatives.alternative_1->u.Alternative.ID_1; #line 613 "../gen.k" alternatives ra = kc_p->u.PredefinedAlternatives.alternatives_1->u.Consalternatives.alternatives_1; { (*kc_printer)("sel_", kc_current_view); } unparse_alternatives(ra, kc_printer, kc_current_view); { (*kc_printer)(", sel_", kc_current_view); } unparse_ID(oid, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_check_uniq1: { if (( kc_p->prod_sel == sel_Emptyproductionblock)) { #line 1726 "../util.k" /*EMPTY*/ #line 10618 "unpk.c" } else if (( kc_p->prod_sel == sel_ListAlternatives)) { #line 1727 "../util.k" alternatives alt = kc_p->u.ListAlternatives.alternatives_1; unparse_alternatives(alt, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_NonlistAlternatives)) { #line 1728 "../util.k" alternatives alt = kc_p->u.NonlistAlternatives.alternatives_1; unparse_alternatives(alt, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_PredefinedAlternatives)) { #line 1729 "../util.k" alternatives alt = kc_p->u.PredefinedAlternatives.alternatives_1; unparse_alternatives(alt, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_check_count1: { if (( kc_p->prod_sel == sel_ListAlternatives)) { #line 216 "../util.k" alternatives alt = kc_p->u.ListAlternatives.alternatives_1; unparse_alternatives(alt, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_NonlistAlternatives)) { #line 217 "../util.k" alternatives alt = kc_p->u.NonlistAlternatives.alternatives_1; unparse_alternatives(alt, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_PredefinedAlternatives)) { #line 220 "../util.k" /*EMPTY*/ #line 10652 "unpk.c" } else goto kc_unparsing_default; break; } default: kc_unparsing_default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_ListAlternatives: unparse_alternatives( kc_p->u.ListAlternatives.alternatives_1, kc_printer, kc_current_view ); unparse_ID( kc_p->u.ListAlternatives.ID_1, kc_printer, kc_current_view ); break; case (int)sel_NonlistAlternatives: unparse_alternatives( kc_p->u.NonlistAlternatives.alternatives_1, kc_printer, kc_current_view ); break; case (int)sel_PredefinedAlternatives: unparse_alternatives( kc_p->u.PredefinedAlternatives.alternatives_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_alternatives #ifdef KC_USE_PROTOTYPES (alternatives kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) alternatives kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_alternatives(kc_p, "kc_p"); switch((int)kc_current_view) { case (int)view_gen_unparsedefs_default_c: { if (( kc_p->prod_sel == sel_Nilalternatives)) { #line 8023 "../gen.k" /*EMPTY*/ #line 10691 "unpk.c" } else if (( kc_p->prod_sel == sel_Consalternatives) && ( kc_p->u.Consalternatives.alternative_1->prod_sel == sel_Alternative) && ( kc_p->u.Consalternatives.alternative_1->u.Alternative.arguments_1->prod_sel == sel_Nilarguments)) { #line 8024 "../gen.k" alternatives ra = kc_p->u.Consalternatives.alternatives_1; unparse_alternatives(ra, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_Consalternatives) && ( kc_p->u.Consalternatives.alternative_1->prod_sel == sel_Alternative)) { #line 8028 "../gen.k" ID oid = kc_p->u.Consalternatives.alternative_1->u.Alternative.ID_1; #line 8028 "../gen.k" arguments args = kc_p->u.Consalternatives.alternative_1->u.Alternative.arguments_1; #line 8028 "../gen.k" alternatives ra = kc_p->u.Consalternatives.alternatives_1; unparse_alternatives(ra, kc_printer, kc_current_view); #line 8031 "../gen.k" gl_operator = oid; #line 10708 "unpk.c" { (*kc_printer)(" case (int)sel_", kc_current_view); } unparse_ID(oid, kc_printer, kc_current_view); { (*kc_printer)(":\ \n", kc_current_view); } unparse_arguments(args, kc_printer, kc_current_view); { (*kc_printer)(" break;\ \n", kc_current_view); } #line 8037 "../gen.k" gl_operator = 0; #line 10718 "unpk.c" } else goto kc_unparsing_default; break; } case (int)view_gen_rewritedefs_other_c: { if (( kc_p->prod_sel == sel_Nilalternatives)) { #line 7026 "../gen.k" /*EMPTY*/ #line 10727 "unpk.c" } else if (( kc_p->prod_sel == sel_Consalternatives)) { #line 7027 "../gen.k" alternative a = kc_p->u.Consalternatives.alternative_1; #line 7027 "../gen.k" alternatives r_a = kc_p->u.Consalternatives.alternatives_1; unparse_alternatives(r_a, kc_printer, kc_current_view); unparse_alternative(a, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_rewritedefs_default_c: { if (( kc_p->prod_sel == sel_Nilalternatives)) { #line 7026 "../gen.k" /*EMPTY*/ #line 10744 "unpk.c" } else if (( kc_p->prod_sel == sel_Consalternatives)) { #line 7027 "../gen.k" alternative a = kc_p->u.Consalternatives.alternative_1; #line 7027 "../gen.k" alternatives r_a = kc_p->u.Consalternatives.alternatives_1; unparse_alternatives(r_a, kc_printer, kc_current_view); unparse_alternative(a, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_operatordefs_hash_c: { if (( kc_p->prod_sel == sel_Consalternatives) && ( kc_p->u.Consalternatives.alternative_1->prod_sel == sel_Alternative)) { #line 3706 "../gen.k" ID oid = kc_p->u.Consalternatives.alternative_1->u.Alternative.ID_1; #line 3706 "../gen.k" arguments args = kc_p->u.Consalternatives.alternative_1->u.Alternative.arguments_1; #line 3706 "../gen.k" alternatives ra = kc_p->u.Consalternatives.alternatives_1; unparse_alternatives(ra, kc_printer, kc_current_view); #line 3709 "../gen.k" gl_operator = oid; #line 10768 "unpk.c" #line 3710 "../gen.k" if (f_Nilarguments( args )) #line 10771 "unpk.c" { unparse_ID(gl_phylum, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_ID(oid, kc_printer, kc_current_view); { (*kc_printer)("\ \n#ifdef KC_USE_PROTOTYPES\ \n(", kc_current_view); } unparse_arguments(args, kc_printer, view_gen_fnarg_and_decls); { (*kc_printer)(")\ \n#else\ \n(", kc_current_view); } unparse_arguments(args, kc_printer, view_gen_fnargs); { (*kc_printer)(")", kc_current_view); } unparse_arguments(args, kc_printer, view_gen_fnargdecls); { (*kc_printer)("\ \n#endif\ \n{", kc_current_view); } { (*kc_printer)(" static ", kc_current_view); } unparse_ID(gl_phylum, kc_printer, kc_current_view); { (*kc_printer)(" kc_x = (", kc_current_view); } unparse_ID(gl_phylum, kc_printer, kc_current_view); { (*kc_printer)(")0;\ \n KC_COLLECT_STATS0(KC_CREATE_STATS(sel_", kc_current_view); } unparse_ID(oid, kc_printer, kc_current_view); { (*kc_printer)("));\ \n if (kc_x == (", kc_current_view); } unparse_ID(gl_phylum, kc_printer, kc_current_view); { (*kc_printer)(")0) {\ \n KC_COLLECT_STATS0(KC_EXISTINGNOTFOUND_STATS(sel_", kc_current_view); } unparse_ID(oid, kc_printer, kc_current_view); { (*kc_printer)(" ));\ \n kc_x = (", kc_current_view); } unparse_ID(gl_phylum, kc_printer, kc_current_view); { (*kc_printer)(")(*kc_hashtables[(int)kc_uniq_nullary_operator]->malloc)((kc_size_t)sizeof(struct kc_tag_", kc_current_view); } unparse_ID(gl_phylum, kc_printer, kc_current_view); { (*kc_printer)("), kc_hashtables[(int)kc_uniq_nullary_operator]->malloc_private_data);\ \n kc_x->prod_sel = sel_", kc_current_view); } unparse_ID(oid, kc_printer, kc_current_view); { (*kc_printer)(";\ \n", kc_current_view); } #line 3725 "../gen.k" if (f_something_to_initialize( gl_cco )) #line 10814 "unpk.c" { { (*kc_printer)(" kc_x = kc_initialize_", kc_current_view); } unparse_ID(gl_phylum, kc_printer, kc_current_view); { (*kc_printer)("(kc_x);\ \n", kc_current_view); } } { (*kc_printer)(" }\ \n return kc_x;\ \n}\ \n\ \n", kc_current_view); } } #line 3735 "../gen.k" else #line 10829 "unpk.c" { unparse_ID(gl_phylum, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_ID(gl_operator, kc_printer, kc_current_view); { (*kc_printer)("\ \n#ifdef KC_USE_PROTOTYPES\ \n(", kc_current_view); } unparse_arguments(args, kc_printer, view_gen_fnarg_and_decls); { (*kc_printer)(")\ \n#else\ \n(", kc_current_view); } unparse_arguments(args, kc_printer, view_gen_fnargs); { (*kc_printer)(")", kc_current_view); } unparse_arguments(args, kc_printer, view_gen_fnargdecls); { (*kc_printer)("\ \n#endif\ \n{ register ", kc_current_view); } unparse_ID(gl_phylum, kc_printer, kc_current_view); { (*kc_printer)(" kc_x;\ \n int kc_i;\ \n register kc_hashtableentry_t* kc_hte;\ \n unsigned kc_hashval = (unsigned)0;\ \n YYSTYPE *kc_ptr, *kc_beyond;\ \n kc_hashtable_t kc_a_ht = kc_hashtables[(int)", kc_current_view); } unparse_ID(gl_sto, kc_printer, kc_current_view); { (*kc_printer)("];\ \n\ \n", kc_current_view); } unparse_arguments(args, kc_printer, view_gen_asserts); { (*kc_printer)(" KC_COLLECT_STATS0(KC_CREATE_STATS(sel_", kc_current_view); } unparse_ID(gl_operator, kc_printer, kc_current_view); { (*kc_printer)("));\ \n OPERATORHASH((unsigned) sel_", kc_current_view); } unparse_ID(gl_operator, kc_printer, kc_current_view); { (*kc_printer)(");\ \n", kc_current_view); } unparse_arguments(args, kc_printer, view_gen_hash); { (*kc_printer)(" kc_hashval = kc_hashval%kc_a_ht->size;\ \n for (kc_i=0; kc_i < (int)kc_last_storage_mode; kc_i++) {\ \n kc_hte = &(kc_a_ht->hashtable[kc_hashval][kc_i]);\ \n if (kc_hte->nr != 0) {\ \n kc_beyond =", kc_current_view ); (*kc_printer)(" &kc_hte->index[kc_hte->nr];\ \n for (kc_ptr = &kc_hte->index[0]; kc_ptr < kc_beyond; kc_ptr++){\ \n kc_x= kc_ptr->yt_", kc_current_view); } unparse_ID(gl_phylum, kc_printer, kc_current_view); { (*kc_printer)(";\ \n if ((kc_x->prod_sel == sel_", kc_current_view); } unparse_ID(gl_operator, kc_printer, kc_current_view); { (*kc_printer)(") ", kc_current_view); } unparse_arguments(args, kc_printer, view_gen_test); { (*kc_printer)(" )\ \n return(kc_x);\ \n } } }\ \n KC_COLLECT_STATS0(KC_EXISTINGNOTFOUND_STATS(sel_", kc_current_view); } unparse_ID(gl_operator, kc_printer, kc_current_view); { (*kc_printer)("));\ \n kc_hte = &(kc_a_ht->hashtable[kc_hashval][(int)kc_a_ht->mode]);\ \n if (kc_hte->nr >= kc_hte->ibound) kc_growindex(kc_hte, kc_a_ht);\ \n kc_x = (", kc_current_view); } unparse_ID(gl_phylum, kc_printer, kc_current_view); { (*kc_printer)(")(*kc_a_ht->malloc)((kc_size_t)sizeof(struct kc_tag_", kc_current_view); } unparse_ID(gl_phylum, kc_printer, kc_current_view); { (*kc_printer)("), kc_a_ht->malloc_private_data);\ \n kc_x->prod_sel = sel_", kc_current_view); } unparse_ID(gl_operator, kc_printer, kc_current_view); { (*kc_printer)(";\ \n", kc_current_view); } unparse_arguments(args, kc_printer, view_gen_assignments); { (*kc_printer)(" kc_hte->index[kc_hte->nr++].yt_", kc_current_view); } unparse_ID(gl_phylum, kc_printer, kc_current_view); { (*kc_printer)(" = kc_x;\ \n", kc_current_view); } #line 3774 "../gen.k" if (f_something_to_initialize( gl_cco )) #line 10905 "unpk.c" { { (*kc_printer)(" kc_x = kc_initialize_", kc_current_view); } unparse_ID(gl_phylum, kc_printer, kc_current_view); { (*kc_printer)("(kc_x);\ \n", kc_current_view); } } { (*kc_printer)(" return kc_x;\ \n}\ \n\ \n", kc_current_view); } } #line 3783 "../gen.k" gl_operator = (ID)0; #line 10919 "unpk.c" } else goto kc_unparsing_default; break; } case (int)view_gen_operatordefs_nonhash_c: { if (( kc_p->prod_sel == sel_Consalternatives) && ( kc_p->u.Consalternatives.alternative_1->prod_sel == sel_Alternative)) { #line 3665 "../gen.k" ID oid = kc_p->u.Consalternatives.alternative_1->u.Alternative.ID_1; #line 3665 "../gen.k" arguments args = kc_p->u.Consalternatives.alternative_1->u.Alternative.arguments_1; #line 3665 "../gen.k" alternatives ra = kc_p->u.Consalternatives.alternatives_1; unparse_alternatives(ra, kc_printer, kc_current_view); #line 3668 "../gen.k" gl_operator = oid; #line 10935 "unpk.c" unparse_ID(gl_phylum, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_ID(oid, kc_printer, kc_current_view); { (*kc_printer)("\ \n#ifdef KC_USE_PROTOTYPES\ \n(", kc_current_view); } unparse_arguments(args, kc_printer, view_gen_fnarg_and_decls); { (*kc_printer)(")\ \n#else\ \n(", kc_current_view); } unparse_arguments(args, kc_printer, view_gen_fnargs); { (*kc_printer)(")", kc_current_view); } unparse_arguments(args, kc_printer, view_gen_fnargdecls); { (*kc_printer)("\ \n#endif\ \n{", kc_current_view); } #line 3676 "../gen.k" if (f_Nilarguments( args ) && f_no_attrs_in_Ccode_option( gl_cco )) #line 10954 "unpk.c" { { (*kc_printer)(" static ", kc_current_view); } unparse_ID(gl_phylum, kc_printer, kc_current_view); { (*kc_printer)(" kc_x = (", kc_current_view); } unparse_ID(gl_phylum, kc_printer, kc_current_view); { (*kc_printer)(")0;\ \n KC_COLLECT_STATS0(KC_CREATE_STATS(sel_", kc_current_view); } unparse_ID(oid, kc_printer, kc_current_view); { (*kc_printer)("));\ \n if (kc_x == (", kc_current_view); } unparse_ID(gl_phylum, kc_printer, kc_current_view); { (*kc_printer)(")0) {\ \n KC_COLLECT_STATS0(KC_EXISTINGNOTFOUND_STATS(sel_", kc_current_view); } unparse_ID(oid, kc_printer, kc_current_view); { (*kc_printer)(" ));\ \n kc_x = (", kc_current_view); } unparse_ID(gl_phylum, kc_printer, kc_current_view); { (*kc_printer)(")(*kc_hashtables[(int)kc_uniq_nullary_operator]->malloc)((kc_size_t)sizeof(struct kc_tag_", kc_current_view); } unparse_ID(gl_phylum, kc_printer, kc_current_view); { (*kc_printer)("), kc_hashtables[(int)kc_uniq_nullary_operator]->malloc_private_data);\ \n kc_x->prod_sel = sel_", kc_current_view); } unparse_ID(oid, kc_printer, kc_current_view); { (*kc_printer)(";\ \n }\ \n", kc_current_view); } } #line 3685 "../gen.k" else #line 10983 "unpk.c" { { (*kc_printer)(" register ", kc_current_view); } unparse_ID(gl_phylum, kc_printer, kc_current_view); { (*kc_printer)(" kc_x = (", kc_current_view); } unparse_ID(gl_phylum, kc_printer, kc_current_view); { (*kc_printer)(") NONUNIQMALLOC((kc_size_t)sizeof(struct kc_tag_", kc_current_view); } unparse_ID(gl_phylum, kc_printer, kc_current_view); { (*kc_printer)("));\ \n KC_COLLECT_STATS0(KC_CREATE_STATS(sel_", kc_current_view); } unparse_ID(oid, kc_printer, kc_current_view); { (*kc_printer)("));\ \n KC_COLLECT_STATS0(KC_EXISTINGNOTFOUND_STATS(sel_", kc_current_view); } unparse_ID(oid, kc_printer, kc_current_view); { (*kc_printer)("));\ \n", kc_current_view); } unparse_arguments(args, kc_printer, view_gen_asserts); { (*kc_printer)(" kc_x->prod_sel = sel_", kc_current_view); } unparse_ID(oid, kc_printer, kc_current_view); { (*kc_printer)(";\ \n", kc_current_view); } unparse_arguments(args, kc_printer, view_gen_assignments); } #line 3695 "../gen.k" if (f_something_to_initialize( gl_cco )) #line 11008 "unpk.c" { { (*kc_printer)(" kc_x = kc_initialize_", kc_current_view); } unparse_ID(gl_phylum, kc_printer, kc_current_view); { (*kc_printer)("(kc_x);\ \n", kc_current_view); } } { (*kc_printer)(" return kc_x;\ \n", kc_current_view); } { (*kc_printer)("}\ \n\ \n", kc_current_view); } #line 3704 "../gen.k" gl_operator = (ID)0; #line 11022 "unpk.c" } else goto kc_unparsing_default; break; } case (int)view_gen_operatordecls_h: { if (( kc_p->prod_sel == sel_Nilalternatives)) { #line 1382 "../gen.k" /*EMPTY*/ #line 11031 "unpk.c" } else if (( kc_p->prod_sel == sel_Consalternatives) && ( kc_p->u.Consalternatives.alternative_1->prod_sel == sel_Alternative) && ( kc_p->u.Consalternatives.alternatives_1->prod_sel == sel_Nilalternatives)) { #line 1388 "../gen.k" ID oid = kc_p->u.Consalternatives.alternative_1->u.Alternative.ID_1; #line 1388 "../gen.k" arguments args = kc_p->u.Consalternatives.alternative_1->u.Alternative.arguments_1; unparse_ID(oid, kc_printer, kc_current_view); { (*kc_printer)(" KC__P((", kc_current_view); } unparse_arguments(args, kc_printer, kc_current_view); { (*kc_printer)("))", kc_current_view); } } else if (( kc_p->prod_sel == sel_Consalternatives) && ( kc_p->u.Consalternatives.alternative_1->prod_sel == sel_Alternative)) { #line 1383 "../gen.k" ID oid = kc_p->u.Consalternatives.alternative_1->u.Alternative.ID_1; #line 1383 "../gen.k" arguments args = kc_p->u.Consalternatives.alternative_1->u.Alternative.arguments_1; #line 1383 "../gen.k" alternatives ra = kc_p->u.Consalternatives.alternatives_1; unparse_alternatives(ra, kc_printer, kc_current_view); { (*kc_printer)(",\ \n", kc_current_view); } unparse_ID(oid, kc_printer, kc_current_view); { (*kc_printer)(" KC__P((", kc_current_view); } unparse_arguments(args, kc_printer, kc_current_view); { (*kc_printer)("))", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_nodetypes_h: { if (( kc_p->prod_sel == sel_Nilalternatives)) { #line 976 "../gen.k" /*EMPTY*/ #line 11065 "unpk.c" } else if (( kc_p->prod_sel == sel_Consalternatives) && ( kc_p->u.Consalternatives.alternative_1->prod_sel == sel_Alternative) && ( kc_p->u.Consalternatives.alternative_1->u.Alternative.arguments_1->prod_sel == sel_Nilarguments)) { #line 977 "../gen.k" alternatives ra = kc_p->u.Consalternatives.alternatives_1; unparse_alternatives(ra, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_Consalternatives) && ( kc_p->u.Consalternatives.alternative_1->prod_sel == sel_Alternative)) { #line 981 "../gen.k" ID oid = kc_p->u.Consalternatives.alternative_1->u.Alternative.ID_1; #line 981 "../gen.k" arguments args = kc_p->u.Consalternatives.alternative_1->u.Alternative.arguments_1; #line 981 "../gen.k" alternatives ra = kc_p->u.Consalternatives.alternatives_1; unparse_alternatives(ra, kc_printer, kc_current_view); { (*kc_printer)(" struct {\ \n", kc_current_view); } unparse_arguments(args, kc_printer, kc_current_view); { (*kc_printer)(" } ", kc_current_view); } unparse_ID(oid, kc_printer, kc_current_view); { (*kc_printer)(";\ \n", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_operatormap_suboffsets: { if (( kc_p->prod_sel == sel_Nilalternatives)) { #line 808 "../gen.k" /*EMPTY*/ #line 11095 "unpk.c" } else if (( kc_p->prod_sel == sel_Consalternatives) && ( kc_p->u.Consalternatives.alternative_1->prod_sel == sel_Alternative)) { #line 809 "../gen.k" ID oid = kc_p->u.Consalternatives.alternative_1->u.Alternative.ID_1; #line 809 "../gen.k" arguments args = kc_p->u.Consalternatives.alternative_1->u.Alternative.arguments_1; #line 809 "../gen.k" alternatives ra = kc_p->u.Consalternatives.alternatives_1; unparse_alternatives(ra, kc_printer, kc_current_view); #line 812 "../gen.k" gl_operator = oid; #line 11107 "unpk.c" unparse_arguments(args, kc_printer, view_count_args); #line 814 "../gen.k" if (gl_no_of_args) #line 11111 "unpk.c" { { (*kc_printer)("static kc_size_t kc_suboffsets_", kc_current_view); } unparse_ID(oid, kc_printer, kc_current_view); { (*kc_printer)("[] = { ", kc_current_view); } unparse_arguments(args, kc_printer, kc_current_view); { (*kc_printer)(" };\ \n", kc_current_view); } } #line 820 "../gen.k" gl_operator = 0; #line 11122 "unpk.c" } else goto kc_unparsing_default; break; } case (int)view_gen_operatormap_subphyla: { if (( kc_p->prod_sel == sel_Nilalternatives)) { #line 773 "../gen.k" /*EMPTY*/ #line 11131 "unpk.c" } else if (( kc_p->prod_sel == sel_Consalternatives) && ( kc_p->u.Consalternatives.alternative_1->prod_sel == sel_Alternative)) { #line 774 "../gen.k" ID oid = kc_p->u.Consalternatives.alternative_1->u.Alternative.ID_1; #line 774 "../gen.k" arguments args = kc_p->u.Consalternatives.alternative_1->u.Alternative.arguments_1; #line 774 "../gen.k" alternatives ra = kc_p->u.Consalternatives.alternatives_1; unparse_alternatives(ra, kc_printer, kc_current_view); unparse_arguments(args, kc_printer, view_count_args); #line 778 "../gen.k" if (gl_no_of_args) #line 11144 "unpk.c" { { (*kc_printer)("static kc_enum_phyla kc_subphyla_", kc_current_view); } unparse_ID(oid, kc_printer, kc_current_view); { (*kc_printer)("[] = { ", kc_current_view); } unparse_arguments(args, kc_printer, kc_current_view); { (*kc_printer)(" };\ \n", kc_current_view); } } } else goto kc_unparsing_default; break; } case (int)view_gen_operatormap_operator_fn: { if (( kc_p->prod_sel == sel_Nilalternatives)) { #line 729 "../gen.k" /*EMPTY*/ #line 11161 "unpk.c" } else if (( kc_p->prod_sel == sel_Consalternatives) && ( kc_p->u.Consalternatives.alternative_1->prod_sel == sel_Alternative)) { #line 730 "../gen.k" ID oid = kc_p->u.Consalternatives.alternative_1->u.Alternative.ID_1; #line 730 "../gen.k" arguments args = kc_p->u.Consalternatives.alternative_1->u.Alternative.arguments_1; #line 730 "../gen.k" alternatives ra = kc_p->u.Consalternatives.alternatives_1; unparse_alternatives(ra, kc_printer, kc_current_view); { (*kc_printer)("static ", kc_current_view); } unparse_ID(gl_phylum, kc_printer, kc_current_view); { (*kc_printer)(" kc_opfn_", kc_current_view); } unparse_ID(oid, kc_printer, kc_current_view); { (*kc_printer)("\ \n#ifdef KC_USE_PROTOTYPES\ \n(", kc_current_view); } unparse_arguments(args, kc_printer, view_gen_prodsel_fnarg_and_decls); { (*kc_printer)(")\ \n#else\ \n(", kc_current_view); } unparse_arguments(args, kc_printer, view_gen_prodsel_fnargs); { (*kc_printer)(")", kc_current_view); } unparse_arguments(args, kc_printer, view_gen_prodsel_fnargdecls); { (*kc_printer)("\ \n#endif\ \n{ return ", kc_current_view); } unparse_ID(oid, kc_printer, kc_current_view); { (*kc_printer)("(", kc_current_view); } unparse_arguments(args, kc_printer, view_gen_fnargs); { (*kc_printer)("); }\ \n", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_operatormap_c: { if (( kc_p->prod_sel == sel_Nilalternatives)) { #line 682 "../gen.k" /*EMPTY*/ #line 11201 "unpk.c" } else if (( kc_p->prod_sel == sel_Consalternatives) && ( kc_p->u.Consalternatives.alternative_1->prod_sel == sel_Alternative)) { #line 683 "../gen.k" ID oid = kc_p->u.Consalternatives.alternative_1->u.Alternative.ID_1; #line 683 "../gen.k" arguments args = kc_p->u.Consalternatives.alternative_1->u.Alternative.arguments_1; #line 683 "../gen.k" alternatives ra = kc_p->u.Consalternatives.alternatives_1; unparse_alternatives(ra, kc_printer, kc_current_view); unparse_arguments(args, kc_printer, view_count_args); { (*kc_printer)(" { \"", kc_current_view); } unparse_ID(oid, kc_printer, kc_current_view); { (*kc_printer)("\", ", kc_current_view); } unparse_int(gl_no_of_args, kc_printer, kc_current_view); { (*kc_printer)(", ", kc_current_view); } unparse_int(gl_atomicity, kc_printer, kc_current_view); { (*kc_printer)(", kc_phylum_", kc_current_view); } unparse_ID(gl_phylum, kc_printer, kc_current_view); { (*kc_printer)(", ", kc_current_view); } #line 688 "../gen.k" if (gl_no_of_args) #line 11223 "unpk.c" { { (*kc_printer)("kc_subphyla_", kc_current_view); } unparse_ID(oid, kc_printer, kc_current_view); { (*kc_printer)(", kc_suboffsets_", kc_current_view); } unparse_ID(oid, kc_printer, kc_current_view); { (*kc_printer)(", ", kc_current_view); } unparse_storageoption(gl_storageoption, kc_printer, view_gen_phylummap_c); } #line 691 "../gen.k" else #line 11234 "unpk.c" { { (*kc_printer)("(kc_enum_phyla_list)0, (kc_size_t_list)0, ", kc_current_view); } #line 693 "../gen.k" if ((int) gl_no_attributes) #line 11239 "unpk.c" { { (*kc_printer)("kc_uniq_nullary_operator", kc_current_view); } } #line 693 "../gen.k" else #line 11245 "unpk.c" { unparse_storageoption(gl_storageoption, kc_printer, kc_current_view); } } { (*kc_printer)(", ", kc_current_view); } #line 696 "../gen.k" if (gl_atomicity) #line 11253 "unpk.c" { { (*kc_printer)("0", kc_current_view); } } #line 696 "../gen.k" else #line 11259 "unpk.c" { { (*kc_printer)("(kc_voidptr_t(*) KC__P((KC_DOTDOTDOT)))kc_opfn_", kc_current_view); } unparse_ID(oid, kc_printer, kc_current_view); } { (*kc_printer)(" },\ \n", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_phylummap_c: { if (( kc_p->prod_sel == sel_Nilalternatives)) { #line 617 "../gen.k" /*EMPTY*/ #line 11274 "unpk.c" } else if (( kc_p->prod_sel == sel_Consalternatives) && ( kc_p->u.Consalternatives.alternative_1->prod_sel == sel_Alternative) && ( kc_p->u.Consalternatives.alternatives_1->prod_sel == sel_Nilalternatives)) { #line 618 "../gen.k" ID oid = kc_p->u.Consalternatives.alternative_1->u.Alternative.ID_1; unparse_ID(oid, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_Consalternatives)) { #line 622 "../gen.k" alternatives ra = kc_p->u.Consalternatives.alternatives_1; unparse_alternatives(ra, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_enumoperators_h: { if (( kc_p->prod_sel == sel_Consalternatives) && ( kc_p->u.Consalternatives.alternatives_1->prod_sel == sel_Nilalternatives)) { #line 500 "../gen.k" alternative a = kc_p->u.Consalternatives.alternative_1; unparse_alternative(a, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_Consalternatives)) { #line 499 "../gen.k" alternative a = kc_p->u.Consalternatives.alternative_1; #line 499 "../gen.k" alternatives as = kc_p->u.Consalternatives.alternatives_1; unparse_alternatives(as, kc_printer, kc_current_view); unparse_alternative(a, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_check_uniq1: { if (( kc_p->prod_sel == sel_Nilalternatives)) { #line 1733 "../util.k" /*EMPTY*/ #line 11310 "unpk.c" } else if (( kc_p->prod_sel == sel_Consalternatives)) { #line 1731 "../util.k" alternative a = kc_p->u.Consalternatives.alternative_1; #line 1731 "../util.k" alternatives ralts = kc_p->u.Consalternatives.alternatives_1; unparse_alternatives(ralts, kc_printer, kc_current_view); unparse_alternative(a, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_check_count1: { if (( kc_p->prod_sel == sel_Nilalternatives)) { #line 235 "../util.k" /*EMPTY*/ #line 11327 "unpk.c" } else if (( kc_p->prod_sel == sel_Consalternatives) && ( kc_p->u.Consalternatives.alternative_1->prod_sel == sel_Alternative)) { #line 221 "../util.k" alternative alt = kc_p->u.Consalternatives.alternative_1; #line 221 "../util.k" ID id = kc_p->u.Consalternatives.alternative_1->u.Alternative.ID_1; #line 221 "../util.k" arguments args = kc_p->u.Consalternatives.alternative_1->u.Alternative.arguments_1; #line 221 "../util.k" alternatives ralts = kc_p->u.Consalternatives.alternatives_1; unparse_alternatives(ralts, kc_printer, kc_current_view); unparse_arguments(args, kc_printer, kc_current_view); #line 224 "../util.k" v_resetcount(); alt->bigatoms = cl_bigatoms; if (cl_bigatoms) { if (cg_bigatomoperators) { cg_bigatomoperators = Consoperators( id, cg_bigatomoperators ); } else { cg_bigatomoperators = Consoperators( id, Niloperators() ); } } cl_bigatoms = False; #line 11351 "unpk.c" } else goto kc_unparsing_default; break; } default: kc_unparsing_default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_Consalternatives: unparse_alternative( kc_p->u.Consalternatives.alternative_1, kc_printer, kc_current_view ); unparse_alternatives( kc_p->u.Consalternatives.alternatives_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_alternative #ifdef KC_USE_PROTOTYPES (alternative kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) alternative kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_alternative(kc_p, "kc_p"); switch((int)kc_current_view) { case (int)view_gen_rewritedefs_other_c: { if (( kc_p->prod_sel == sel_Alternative)) { #line 7047 "../gen.k" ID id = kc_p->u.Alternative.ID_1; #line 7047 "../gen.k" arguments args = kc_p->u.Alternative.arguments_1; #line 7049 "../gen.k" gl_operator = id; gl_args = args; gl_rewrite_rewriteinfo = f_rewriterulesinfoofalternativeinview(kc_p, gl_view); gl_outmost_nonleaf_predicates = f_outmost_nl_preds_in_rewriterulesinfo(gl_rewrite_rewriteinfo); #line 11390 "unpk.c" #line 7052 "../gen.k" if (! eq_rewriterulesinfo( gl_rewrite_rewriteinfo, Nilrewriterulesinfo())) #line 11393 "unpk.c" { { (*kc_printer)(" case (int)sel_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(": {\ \n", kc_current_view); } unparse_arguments(args, kc_printer, view_gen_rewritedefs_rewritearg_c); #line 7056 "../gen.k" if (gl_outmost_nonleaf_predicates) #line 11402 "unpk.c" { unparse_arguments(args, kc_printer, view_gen_rewritedefs_nl_arg_c); } unparse_rewriterulesinfo(gl_rewrite_rewriteinfo, kc_printer, kc_current_view); { (*kc_printer)(" }\ \n", kc_current_view); } } #line 7063 "../gen.k" gl_operator = 0; gl_args = 0; gl_rewrite_rewriteinfo = 0; gl_outmost_nonleaf_predicates = False; #line 11412 "unpk.c" } else goto kc_unparsing_default; break; } case (int)view_gen_rewritedefs_default_c: { if (( kc_p->prod_sel == sel_Alternative)) { #line 7031 "../gen.k" ID id = kc_p->u.Alternative.ID_1; #line 7031 "../gen.k" arguments args = kc_p->u.Alternative.arguments_1; #line 7033 "../gen.k" gl_operator = id; gl_args = args; gl_rewrite_rewriteinfo = f_rewriterulesinfoofalternativeinview(kc_p, gl_view); gl_outmost_nonleaf_predicates = f_outmost_nl_preds_in_rewriterulesinfo(gl_rewrite_rewriteinfo); #line 11427 "unpk.c" { (*kc_printer)(" case (int)sel_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(": {\ \n", kc_current_view); } unparse_arguments(args, kc_printer, view_gen_rewritedefs_rewritearg_c); #line 7039 "../gen.k" if (gl_outmost_nonleaf_predicates) #line 11435 "unpk.c" { unparse_arguments(args, kc_printer, view_gen_rewritedefs_nl_arg_c); } unparse_rewriterulesinfo(gl_rewrite_rewriteinfo, kc_printer, kc_current_view); { (*kc_printer)(" }\ \n", kc_current_view); } #line 7045 "../gen.k" gl_operator = 0; gl_args = 0; gl_rewrite_rewriteinfo = 0; gl_outmost_nonleaf_predicates = False; #line 11444 "unpk.c" } else goto kc_unparsing_default; break; } case (int)view_gen_enumoperators_h: { if (( kc_p->prod_sel == sel_Alternative)) { #line 501 "../gen.k" ID id = kc_p->u.Alternative.ID_1; { (*kc_printer)(" sel_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" = ", kc_current_view); } unparse_int(g_no_of_operators, kc_printer, kc_current_view); { (*kc_printer)(",\ \n", kc_current_view); } #line 504 "../gen.k" g_no_of_operators++; #line 11461 "unpk.c" } else goto kc_unparsing_default; break; } case (int)view_check_uniq1: { if (( kc_p->prod_sel == sel_Alternative)) { #line 1734 "../util.k" arguments args = kc_p->u.Alternative.arguments_1; unparse_arguments(args, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } default: kc_unparsing_default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_Alternative: unparse_ID( kc_p->u.Alternative.ID_1, kc_printer, kc_current_view ); unparse_arguments( kc_p->u.Alternative.arguments_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_arguments #ifdef KC_USE_PROTOTYPES (arguments kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) arguments kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_arguments(kc_p, "kc_p"); switch((int)kc_current_view) { case (int)view_gen_unparsedefs_default_c: { if (( kc_p->prod_sel == sel_Consarguments)) { #line 8039 "../gen.k" ID a = kc_p->u.Consarguments.ID_1; #line 8039 "../gen.k" arguments rargs = kc_p->u.Consarguments.arguments_1; unparse_arguments(rargs, kc_printer, kc_current_view); { (*kc_printer)(" unparse_", kc_current_view); } unparse_ID(a, kc_printer, kc_current_view); { (*kc_printer)("( kc_p->u.", kc_current_view); } unparse_ID(gl_operator, kc_printer, kc_current_view); { (*kc_printer)(".", kc_current_view); } unparse_ID(a, kc_printer, kc_current_view); { (*kc_printer)("_", kc_current_view); } unparse_int(kc_p->seqnr, kc_printer, kc_current_view); { (*kc_printer)(", kc_printer, kc_current_view );\ \n", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_rewritedefs_args_c: { if (( kc_p->prod_sel == sel_Nilarguments)) { #line 7106 "../gen.k" /*EMPTY*/ #line 11524 "unpk.c" } else if (( kc_p->prod_sel == sel_Consarguments) && ( kc_p->u.Consarguments.arguments_1->prod_sel == sel_Nilarguments)) { #line 7107 "../gen.k" ID a_arg = kc_p->u.Consarguments.ID_1; unparse_ID(a_arg, kc_printer, kc_current_view); { (*kc_printer)("_", kc_current_view); } unparse_int(kc_p->seqnr, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_Consarguments)) { #line 7110 "../gen.k" ID a_arg = kc_p->u.Consarguments.ID_1; #line 7110 "../gen.k" arguments r_args = kc_p->u.Consarguments.arguments_1; unparse_arguments(r_args, kc_printer, kc_current_view); { (*kc_printer)(", ", kc_current_view); } unparse_ID(a_arg, kc_printer, kc_current_view); { (*kc_printer)("_", kc_current_view); } unparse_int(kc_p->seqnr, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_rewritedefs_dotestarg_c: { if (( kc_p->prod_sel == sel_Nilarguments)) { #line 7098 "../gen.k" /*EMPTY*/ #line 11551 "unpk.c" } else if (( kc_p->prod_sel == sel_Consarguments) && ( kc_p->u.Consarguments.arguments_1->prod_sel == sel_Nilarguments)) { #line 7099 "../gen.k" ID a_arg = kc_p->u.Consarguments.ID_1; unparse_ID(a_arg, kc_printer, kc_current_view); { (*kc_printer)("_", kc_current_view); } unparse_int(kc_p->seqnr, kc_printer, kc_current_view); { (*kc_printer)(" == kc_p->u.", kc_current_view); } unparse_ID(gl_operator, kc_printer, kc_current_view); { (*kc_printer)(".", kc_current_view); } unparse_ID(a_arg, kc_printer, kc_current_view); { (*kc_printer)("_", kc_current_view); } unparse_int(kc_p->seqnr, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_Consarguments)) { #line 7102 "../gen.k" ID a_arg = kc_p->u.Consarguments.ID_1; #line 7102 "../gen.k" arguments r_args = kc_p->u.Consarguments.arguments_1; unparse_arguments(r_args, kc_printer, kc_current_view); { (*kc_printer)(") && (", kc_current_view); } unparse_ID(a_arg, kc_printer, kc_current_view); { (*kc_printer)("_", kc_current_view); } unparse_int(kc_p->seqnr, kc_printer, kc_current_view); { (*kc_printer)(" == kc_p->u.", kc_current_view); } unparse_ID(gl_operator, kc_printer, kc_current_view); { (*kc_printer)(".", kc_current_view); } unparse_ID(a_arg, kc_printer, kc_current_view); { (*kc_printer)("_", kc_current_view); } unparse_int(kc_p->seqnr, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_rewritedefs_testarg_c: { if (( kc_p->prod_sel == sel_Nilarguments)) { { (*kc_printer)(" return kc_p;\ \n", kc_current_view); } } else if (( kc_p->prod_sel == sel_Consarguments)) { #line 7087 "../gen.k" if (gl_outmost_nonleaf_predicates) #line 11594 "unpk.c" { { (*kc_printer)(" return kc_rp;\ \n", kc_current_view); } } #line 7090 "../gen.k" else #line 11601 "unpk.c" { { (*kc_printer)(" if ((", kc_current_view); } unparse_arguments(kc_p, kc_printer, view_gen_rewritedefs_dotestarg_c); { (*kc_printer)("))\ \n return kc_p;\ \n else\ \n return ", kc_current_view); } unparse_ID(gl_operator, kc_printer, kc_current_view); { (*kc_printer)("(", kc_current_view); } unparse_arguments(kc_p, kc_printer, view_gen_rewritedefs_args_c); { (*kc_printer)(");\ \n", kc_current_view); } } } else goto kc_unparsing_default; break; } case (int)view_gen_rewritedefs_nl_arg_c: { if (( kc_p->prod_sel == sel_Nilarguments)) { { (*kc_printer)(" ", kc_current_view); } unparse_ID(gl_phylum, kc_printer, kc_current_view); { (*kc_printer)(" kc_rp = kc_p;\ \n", kc_current_view); } } else if (( kc_p->prod_sel == sel_Consarguments)) { { (*kc_printer)(" ", kc_current_view); } unparse_ID(gl_phylum, kc_printer, kc_current_view); { (*kc_printer)(" kc_rp = ((", kc_current_view); } unparse_arguments(kc_p, kc_printer, view_gen_rewritedefs_dotestarg_c); { (*kc_printer)("))\ \n ? kc_p\ \n : ", kc_current_view); } unparse_ID(gl_operator, kc_printer, kc_current_view); { (*kc_printer)("(", kc_current_view); } unparse_arguments(kc_p, kc_printer, view_gen_rewritedefs_args_c); { (*kc_printer)(");\ \n", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_rewritedefs_rewritearg_c: { if (( kc_p->prod_sel == sel_Nilarguments)) { #line 7066 "../gen.k" /*EMPTY*/ #line 11647 "unpk.c" } else if (( kc_p->prod_sel == sel_Consarguments)) { #line 7067 "../gen.k" ID a_arg = kc_p->u.Consarguments.ID_1; #line 7067 "../gen.k" arguments r_args = kc_p->u.Consarguments.arguments_1; unparse_arguments(r_args, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_ID(a_arg, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_ID(a_arg, kc_printer, kc_current_view); { (*kc_printer)("_", kc_current_view); } unparse_int(kc_p->seqnr, kc_printer, kc_current_view); { (*kc_printer)(" = rewrite_", kc_current_view); } unparse_ID(a_arg, kc_printer, kc_current_view); { (*kc_printer)("(kc_p->u.", kc_current_view); } unparse_ID(gl_operator, kc_printer, kc_current_view); { (*kc_printer)(".", kc_current_view); } unparse_ID(a_arg, kc_printer, kc_current_view); { (*kc_printer)("_", kc_current_view); } unparse_int(kc_p->seqnr, kc_printer, kc_current_view); { (*kc_printer)(", kc_current_view);\ \n", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_copydefs_bigatom_do_arguse_c: { if (( kc_p->prod_sel == sel_Consarguments)) { #line 6777 "../gen.k" ID a_arg = kc_p->u.Consarguments.ID_1; #line 6778 "../gen.k" if (f_isbigatom( a_arg )) #line 11681 "unpk.c" { { (*kc_printer)(" kc_sub_", kc_current_view); } unparse_ID(a_arg, kc_printer, kc_current_view); { (*kc_printer)("_", kc_current_view); } unparse_int(kc_p->seqnr, kc_printer, kc_current_view); } #line 6780 "../gen.k" else #line 11690 "unpk.c" { { (*kc_printer)(" (", kc_current_view); } unparse_ID(a_arg, kc_printer, kc_current_view); { (*kc_printer)(")kc_subtmp[", kc_current_view); } unparse_int(gl_j, kc_printer, kc_current_view); { (*kc_printer)("]", kc_current_view); } } #line 6783 "../gen.k" gl_j++; #line 11700 "unpk.c" } else goto kc_unparsing_default; break; } case (int)view_gen_copydefs_bigatom_arguse_c: { if (( kc_p->prod_sel == sel_Nilarguments)) { #line 6767 "../gen.k" gl_j = 0; #line 11709 "unpk.c" } else if (( kc_p->prod_sel == sel_Consarguments) && ( kc_p->u.Consarguments.arguments_1->prod_sel == sel_Nilarguments)) { #line 6774 "../gen.k" gl_j = 0; #line 11714 "unpk.c" unparse_arguments(kc_p, kc_printer, view_gen_copydefs_bigatom_do_arguse_c); } else if (( kc_p->prod_sel == sel_Consarguments)) { #line 6768 "../gen.k" arguments r_args = kc_p->u.Consarguments.arguments_1; unparse_arguments(r_args, kc_printer, kc_current_view); { (*kc_printer)(",", kc_current_view); } unparse_arguments(kc_p, kc_printer, view_gen_copydefs_bigatom_do_arguse_c); } else goto kc_unparsing_default; break; } case (int)view_gen_copydefs_bigatom_argset_c: { if (( kc_p->prod_sel == sel_Nilarguments)) { #line 6755 "../gen.k" gl_j = 0; #line 11731 "unpk.c" } else if (( kc_p->prod_sel == sel_Consarguments)) { #line 6756 "../gen.k" ID a_arg = kc_p->u.Consarguments.ID_1; #line 6756 "../gen.k" arguments r_args = kc_p->u.Consarguments.arguments_1; unparse_arguments(r_args, kc_printer, kc_current_view); #line 6758 "../gen.k" if (f_isbigatom( a_arg )) #line 11741 "unpk.c" { { (*kc_printer)(" kc_sub_", kc_current_view); } unparse_ID(a_arg, kc_printer, kc_current_view); { (*kc_printer)("_", kc_current_view); } unparse_int(kc_p->seqnr, kc_printer, kc_current_view); { (*kc_printer)(" = copy_", kc_current_view); } unparse_ID(a_arg, kc_printer, kc_current_view); { (*kc_printer)("(((", kc_current_view); } unparse_ID(gl_phylum, kc_printer, kc_current_view); { (*kc_printer)(")kc_p)->u.", kc_current_view); } unparse_ID(gl_operator, kc_printer, kc_current_view); { (*kc_printer)(".", kc_current_view); } unparse_ID(a_arg, kc_printer, kc_current_view); { (*kc_printer)("_", kc_current_view); } unparse_int(kc_p->seqnr, kc_printer, kc_current_view); { (*kc_printer)(", kc_copy_attributes);\ \n", kc_current_view); } } #line 6761 "../gen.k" else #line 11762 "unpk.c" { { (*kc_printer)(" kc_subtmp[", kc_current_view); } unparse_int(gl_j, kc_printer, kc_current_view); { (*kc_printer)("] = kc_do_copy_phylum((kc_voidptr_t)((", kc_current_view); } unparse_ID(gl_phylum, kc_printer, kc_current_view); { (*kc_printer)(")kc_p)->u.", kc_current_view); } unparse_ID(gl_operator, kc_printer, kc_current_view); { (*kc_printer)(".", kc_current_view); } unparse_ID(a_arg, kc_printer, kc_current_view); { (*kc_printer)("_", kc_current_view); } unparse_int(kc_p->seqnr, kc_printer, kc_current_view); { (*kc_printer)(", kc_copy_attributes, kc_phylum_", kc_current_view); } unparse_ID(a_arg, kc_printer, kc_current_view); { (*kc_printer)(");\ \n", kc_current_view); } } #line 6765 "../gen.k" gl_j++; #line 11781 "unpk.c" } else goto kc_unparsing_default; break; } case (int)view_gen_copydefs_bigatom_argdefs_c: { if (( kc_p->prod_sel == sel_Nilarguments)) { #line 6747 "../gen.k" /*EMPTY*/ #line 11790 "unpk.c" } else if (( kc_p->prod_sel == sel_Consarguments)) { #line 6748 "../gen.k" ID a_arg = kc_p->u.Consarguments.ID_1; #line 6748 "../gen.k" arguments r_args = kc_p->u.Consarguments.arguments_1; unparse_arguments(r_args, kc_printer, kc_current_view); #line 6750 "../gen.k" if (f_isbigatom( a_arg )) #line 11800 "unpk.c" { { (*kc_printer)(" ", kc_current_view); } unparse_ID(a_arg, kc_printer, kc_current_view); { (*kc_printer)(" kc_sub_", kc_current_view); } unparse_ID(a_arg, kc_printer, kc_current_view); { (*kc_printer)("_", kc_current_view); } unparse_int(kc_p->seqnr, kc_printer, kc_current_view); { (*kc_printer)(";\ \n", kc_current_view); } } } else goto kc_unparsing_default; break; } case (int)view_gen_csgio_write2structuredef_bigatom_do_c: { if (( kc_p->prod_sel == sel_Consarguments)) { #line 6519 "../gen.k" ID a_arg = kc_p->u.Consarguments.ID_1; #line 6520 "../gen.k" if (f_isbigatom( a_arg )) #line 11821 "unpk.c" { { (*kc_printer)(" kc_CSGIOwrite2structure_", kc_current_view); } unparse_ID(a_arg, kc_printer, kc_current_view); { (*kc_printer)("( kc_stream, ((", kc_current_view); } unparse_ID(gl_phylum, kc_printer, kc_current_view); { (*kc_printer)(")kc_p)->u.", kc_current_view); } unparse_ID(gl_operator, kc_printer, kc_current_view); { (*kc_printer)(".", kc_current_view); } unparse_ID(a_arg, kc_printer, kc_current_view); { (*kc_printer)("_", kc_current_view); } unparse_int(kc_p->seqnr, kc_printer, kc_current_view); { (*kc_printer)(");\ \n", kc_current_view); } } #line 6523 "../gen.k" else #line 11838 "unpk.c" { { (*kc_printer)(" kc_CSGIOwrite2structure(kc_stream, (kc_voidptr_t)((", kc_current_view); } unparse_ID(gl_phylum, kc_printer, kc_current_view); { (*kc_printer)(")kc_p)->u.", kc_current_view); } unparse_ID(gl_operator, kc_printer, kc_current_view); { (*kc_printer)(".", kc_current_view); } unparse_ID(a_arg, kc_printer, kc_current_view); { (*kc_printer)("_", kc_current_view); } unparse_int(kc_p->seqnr, kc_printer, kc_current_view); { (*kc_printer)(", kc_phylum_", kc_current_view); } unparse_ID(a_arg, kc_printer, kc_current_view); { (*kc_printer)(" );\ \n", kc_current_view); } } } else goto kc_unparsing_default; break; } case (int)view_gen_csgio_write2structuredef_bigatom_c: { if (( kc_p->prod_sel == sel_Nilarguments)) { #line 6511 "../gen.k" /*EMPTY*/ #line 11861 "unpk.c" } else if (( kc_p->prod_sel == sel_Consarguments) && ( kc_p->u.Consarguments.arguments_1->prod_sel == sel_Nilarguments)) { unparse_arguments(kc_p, kc_printer, view_gen_csgio_write2structuredef_bigatom_do_c); } else if (( kc_p->prod_sel == sel_Consarguments)) { #line 6512 "../gen.k" arguments r_args = kc_p->u.Consarguments.arguments_1; unparse_arguments(r_args, kc_printer, kc_current_view); unparse_arguments(kc_p, kc_printer, view_gen_csgio_write2structuredef_bigatom_do_c); } else goto kc_unparsing_default; break; } case (int)view_gen_csgio_scandef_bigatom_do_c: { if (( kc_p->prod_sel == sel_Consarguments)) { #line 6438 "../gen.k" ID a_arg = kc_p->u.Consarguments.ID_1; #line 6439 "../gen.k" if (f_isbigatom( a_arg )) #line 11881 "unpk.c" { { (*kc_printer)(" kc_CSGIOscan_", kc_current_view); } unparse_ID(a_arg, kc_printer, kc_current_view); { (*kc_printer)("( kc_stream, ((", kc_current_view); } unparse_ID(gl_phylum, kc_printer, kc_current_view); { (*kc_printer)(")kc_p)->u.", kc_current_view); } unparse_ID(gl_operator, kc_printer, kc_current_view); { (*kc_printer)(".", kc_current_view); } unparse_ID(a_arg, kc_printer, kc_current_view); { (*kc_printer)("_", kc_current_view); } unparse_int(kc_p->seqnr, kc_printer, kc_current_view); { (*kc_printer)(");\ \n", kc_current_view); } } #line 6442 "../gen.k" else #line 11898 "unpk.c" { { (*kc_printer)(" kc_CSGIOscan(kc_stream, (kc_voidptr_t)((", kc_current_view); } unparse_ID(gl_phylum, kc_printer, kc_current_view); { (*kc_printer)(")kc_p)->u.", kc_current_view); } unparse_ID(gl_operator, kc_printer, kc_current_view); { (*kc_printer)(".", kc_current_view); } unparse_ID(a_arg, kc_printer, kc_current_view); { (*kc_printer)("_", kc_current_view); } unparse_int(kc_p->seqnr, kc_printer, kc_current_view); { (*kc_printer)(", kc_phylum_", kc_current_view); } unparse_ID(a_arg, kc_printer, kc_current_view); { (*kc_printer)(" );\ \n", kc_current_view); } } } else goto kc_unparsing_default; break; } case (int)view_gen_csgio_scandef_bigatom_c: { if (( kc_p->prod_sel == sel_Nilarguments)) { #line 6430 "../gen.k" /*EMPTY*/ #line 11921 "unpk.c" } else if (( kc_p->prod_sel == sel_Consarguments) && ( kc_p->u.Consarguments.arguments_1->prod_sel == sel_Nilarguments)) { unparse_arguments(kc_p, kc_printer, view_gen_csgio_scandef_bigatom_do_c); } else if (( kc_p->prod_sel == sel_Consarguments)) { #line 6431 "../gen.k" arguments r_args = kc_p->u.Consarguments.arguments_1; unparse_arguments(r_args, kc_printer, kc_current_view); unparse_arguments(kc_p, kc_printer, view_gen_csgio_scandef_bigatom_do_c); } else goto kc_unparsing_default; break; } case (int)view_gen_csgio_bigatom_do_arguse_c: { if (( kc_p->prod_sel == sel_Consarguments)) { #line 6377 "../gen.k" ID a_arg = kc_p->u.Consarguments.ID_1; { (*kc_printer)(" kc_subtmp[", kc_current_view); } unparse_int(gl_j, kc_printer, kc_current_view); { (*kc_printer)("].yt_", kc_current_view); } unparse_ID(a_arg, kc_printer, kc_current_view); #line 6379 "../gen.k" gl_j++; #line 11945 "unpk.c" } else goto kc_unparsing_default; break; } case (int)view_gen_csgio_bigatom_arguse_c: { if (( kc_p->prod_sel == sel_Nilarguments)) { #line 6367 "../gen.k" gl_j = 0; #line 11954 "unpk.c" } else if (( kc_p->prod_sel == sel_Consarguments) && ( kc_p->u.Consarguments.arguments_1->prod_sel == sel_Nilarguments)) { #line 6374 "../gen.k" gl_j = 0; #line 11959 "unpk.c" unparse_arguments(kc_p, kc_printer, view_gen_csgio_bigatom_do_arguse_c); } else if (( kc_p->prod_sel == sel_Consarguments)) { #line 6368 "../gen.k" arguments r_args = kc_p->u.Consarguments.arguments_1; unparse_arguments(r_args, kc_printer, kc_current_view); { (*kc_printer)(",", kc_current_view); } unparse_arguments(kc_p, kc_printer, view_gen_csgio_bigatom_do_arguse_c); } else goto kc_unparsing_default; break; } case (int)view_gen_printdotdefs_bigatom_do_c: { if (( kc_p->prod_sel == sel_Consarguments)) { #line 4774 "../gen.k" ID a_arg = kc_p->u.Consarguments.ID_1; #line 4775 "../gen.k" if (f_isbigatom( a_arg )) #line 11978 "unpk.c" { { (*kc_printer)(" kc_do_printdot_add_edge_", kc_current_view); } unparse_ID(a_arg, kc_printer, kc_current_view); { (*kc_printer)("(kc_p, kc_phylum, ((", kc_current_view); } unparse_ID(gl_phylum, kc_printer, kc_current_view); { (*kc_printer)(")kc_p)->u.", kc_current_view); } unparse_ID(gl_operator, kc_printer, kc_current_view); { (*kc_printer)(".", kc_current_view); } unparse_ID(a_arg, kc_printer, kc_current_view); { (*kc_printer)("_", kc_current_view); } unparse_int(kc_p->seqnr, kc_printer, kc_current_view); { (*kc_printer)(", kc_i+1, kc_edge_nr, kc_edges, kc_edge_prefix);\ \n kc_do_printdot__", kc_current_view); } unparse_ID(a_arg, kc_printer, kc_current_view); { (*kc_printer)("(kc_f, ((", kc_current_view); } unparse_ID(gl_phylum, kc_printer, kc_current_view); { (*kc_printer)(")kc_p)->u.", kc_current_view); } unparse_ID(gl_operator, kc_printer, kc_current_view); { (*kc_printer)(".", kc_current_view); } unparse_ID(a_arg, kc_printer, kc_current_view); { (*kc_printer)("_", kc_current_view); } unparse_int(kc_p->seqnr, kc_printer, kc_current_view); { (*kc_printer)(", False, kc_edge_nr, kc_edges, kc_edge_prefix, kc_phy_labels, kc_use_ctxt, kc_p, kc_i+1);\ \n", kc_current_view); } } #line 4779 "../gen.k" else #line 12006 "unpk.c" { { (*kc_printer)(" kc_do_printdot_add_edge(kc_f, kc_phylum, (kc_voidptr_t)((", kc_current_view); } unparse_ID(gl_phylum, kc_printer, kc_current_view); { (*kc_printer)(")kc_p)->u.", kc_current_view); } unparse_ID(gl_operator, kc_printer, kc_current_view); { (*kc_printer)(".", kc_current_view); } unparse_ID(a_arg, kc_printer, kc_current_view); { (*kc_printer)("_", kc_current_view); } unparse_int(kc_p->seqnr, kc_printer, kc_current_view); { (*kc_printer)(", kc_phylum_", kc_current_view); } unparse_ID(a_arg, kc_printer, kc_current_view); { (*kc_printer)(", kc_i+1, kc_edge_nr, kc_edges, kc_edge_prefix);\ \n kc_do_printdot_phylum(kc_f, (kc_voidptr_t)((", kc_current_view); } unparse_ID(gl_phylum, kc_printer, kc_current_view); { (*kc_printer)(")kc_p)->u.", kc_current_view); } unparse_ID(gl_operator, kc_printer, kc_current_view); { (*kc_printer)(".", kc_current_view); } unparse_ID(a_arg, kc_printer, kc_current_view); { (*kc_printer)("_", kc_current_view); } unparse_int(kc_p->seqnr, kc_printer, kc_current_view); { (*kc_printer)(", kc_phylum_", kc_current_view); } unparse_ID(a_arg, kc_printer, kc_current_view); { (*kc_printer)(", False, kc_edge_nr, kc_edges, kc_edge_prefix, kc_phy_labels, kc_use_ctxt, kc_p, kc_i+1);\ \n", kc_current_view); } } { (*kc_printer)(" kc_i++;\ \n", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_printdotdefs_bigatom_c: { if (( kc_p->prod_sel == sel_Nilarguments)) { #line 4766 "../gen.k" /*EMPTY*/ #line 12042 "unpk.c" } else if (( kc_p->prod_sel == sel_Consarguments) && ( kc_p->u.Consarguments.arguments_1->prod_sel == sel_Nilarguments)) { unparse_arguments(kc_p, kc_printer, view_gen_printdotdefs_bigatom_do_c); } else if (( kc_p->prod_sel == sel_Consarguments)) { #line 4767 "../gen.k" arguments r_args = kc_p->u.Consarguments.arguments_1; unparse_arguments(r_args, kc_printer, kc_current_view); unparse_arguments(kc_p, kc_printer, view_gen_printdotdefs_bigatom_do_c); } else goto kc_unparsing_default; break; } case (int)view_gen_printdefs_bigatom_do_c: { if (( kc_p->prod_sel == sel_Consarguments)) { #line 4278 "../gen.k" ID a_arg = kc_p->u.Consarguments.ID_1; #line 4279 "../gen.k" if (f_isbigatom( a_arg )) #line 12062 "unpk.c" { { (*kc_printer)(" fprint_", kc_current_view); } unparse_ID(a_arg, kc_printer, kc_current_view); { (*kc_printer)("(kc_f, ((", kc_current_view); } unparse_ID(gl_phylum, kc_printer, kc_current_view); { (*kc_printer)(")kc_p)->u.", kc_current_view); } unparse_ID(gl_operator, kc_printer, kc_current_view); { (*kc_printer)(".", kc_current_view); } unparse_ID(a_arg, kc_printer, kc_current_view); { (*kc_printer)("_", kc_current_view); } unparse_int(kc_p->seqnr, kc_printer, kc_current_view); { (*kc_printer)(");\ \n", kc_current_view); } } #line 4282 "../gen.k" else #line 12079 "unpk.c" { { (*kc_printer)(" kc_do_print_phylum(kc_f, (kc_voidptr_t)((", kc_current_view); } unparse_ID(gl_phylum, kc_printer, kc_current_view); { (*kc_printer)(")kc_p)->u.", kc_current_view); } unparse_ID(gl_operator, kc_printer, kc_current_view); { (*kc_printer)(".", kc_current_view); } unparse_ID(a_arg, kc_printer, kc_current_view); { (*kc_printer)("_", kc_current_view); } unparse_int(kc_p->seqnr, kc_printer, kc_current_view); { (*kc_printer)(", kc_phylum_", kc_current_view); } unparse_ID(a_arg, kc_printer, kc_current_view); { (*kc_printer)(" );\ \n", kc_current_view); } } } else goto kc_unparsing_default; break; } case (int)view_gen_printdefs_bigatom_c: { if (( kc_p->prod_sel == sel_Nilarguments)) { #line 4270 "../gen.k" /*EMPTY*/ #line 12102 "unpk.c" } else if (( kc_p->prod_sel == sel_Consarguments) && ( kc_p->u.Consarguments.arguments_1->prod_sel == sel_Nilarguments)) { unparse_arguments(kc_p, kc_printer, view_gen_printdefs_bigatom_do_c); } else if (( kc_p->prod_sel == sel_Consarguments)) { #line 4271 "../gen.k" arguments r_args = kc_p->u.Consarguments.arguments_1; unparse_arguments(r_args, kc_printer, kc_current_view); unparse_arguments(kc_p, kc_printer, view_gen_printdefs_bigatom_do_c); } else goto kc_unparsing_default; break; } case (int)view_gen_eqdefs_bigatom_do_c: { if (( kc_p->prod_sel == sel_Consarguments)) { #line 4100 "../gen.k" ID a_arg = kc_p->u.Consarguments.ID_1; #line 4101 "../gen.k" if (f_isbigatom( a_arg )) #line 12122 "unpk.c" { { (*kc_printer)("eq_", kc_current_view); } unparse_ID(a_arg, kc_printer, kc_current_view); { (*kc_printer)("(((", kc_current_view); } unparse_ID(gl_phylum, kc_printer, kc_current_view); { (*kc_printer)(")kc_p1)->u.", kc_current_view); } unparse_ID(gl_operator, kc_printer, kc_current_view); { (*kc_printer)(".", kc_current_view); } unparse_ID(a_arg, kc_printer, kc_current_view); { (*kc_printer)("_", kc_current_view); } unparse_int(kc_p->seqnr, kc_printer, kc_current_view); { (*kc_printer)(", ((", kc_current_view); } unparse_ID(gl_phylum, kc_printer, kc_current_view); { (*kc_printer)(")kc_p2)->u.", kc_current_view); } unparse_ID(gl_operator, kc_printer, kc_current_view); { (*kc_printer)(".", kc_current_view); } unparse_ID(a_arg, kc_printer, kc_current_view); { (*kc_printer)("_", kc_current_view); } unparse_int(kc_p->seqnr, kc_printer, kc_current_view); { (*kc_printer)(")", kc_current_view); } } #line 4103 "../gen.k" else #line 12146 "unpk.c" { { (*kc_printer)("kc_do_eq_phylum((kc_voidptr_t)((", kc_current_view); } unparse_ID(gl_phylum, kc_printer, kc_current_view); { (*kc_printer)(")kc_p1)->u.", kc_current_view); } unparse_ID(gl_operator, kc_printer, kc_current_view); { (*kc_printer)(".", kc_current_view); } unparse_ID(a_arg, kc_printer, kc_current_view); { (*kc_printer)("_", kc_current_view); } unparse_int(kc_p->seqnr, kc_printer, kc_current_view); { (*kc_printer)(", (kc_voidptr_t)((", kc_current_view); } unparse_ID(gl_phylum, kc_printer, kc_current_view); { (*kc_printer)(")kc_p2)->u.", kc_current_view); } unparse_ID(gl_operator, kc_printer, kc_current_view); { (*kc_printer)(".", kc_current_view); } unparse_ID(a_arg, kc_printer, kc_current_view); { (*kc_printer)("_", kc_current_view); } unparse_int(kc_p->seqnr, kc_printer, kc_current_view); { (*kc_printer)(", kc_phylum_", kc_current_view); } unparse_ID(a_arg, kc_printer, kc_current_view); { (*kc_printer)(")", kc_current_view); } } } else goto kc_unparsing_default; break; } case (int)view_gen_eqdefs_bigatom_c: { if (( kc_p->prod_sel == sel_Nilarguments)) { #line 4090 "../gen.k" /*EMPTY*/ #line 12176 "unpk.c" } else if (( kc_p->prod_sel == sel_Consarguments) && ( kc_p->u.Consarguments.arguments_1->prod_sel == sel_Nilarguments)) { unparse_arguments(kc_p, kc_printer, view_gen_eqdefs_bigatom_do_c); } else if (( kc_p->prod_sel == sel_Consarguments)) { #line 4091 "../gen.k" arguments r_args = kc_p->u.Consarguments.arguments_1; unparse_arguments(r_args, kc_printer, kc_current_view); { (*kc_printer)(" &&\ \n ", kc_current_view); } unparse_arguments(kc_p, kc_printer, view_gen_eqdefs_bigatom_do_c); } else goto kc_unparsing_default; break; } case (int)view_gen_test: { if (( kc_p->prod_sel == sel_Nilarguments)) { #line 3838 "../gen.k" /*EMPTY*/ #line 12196 "unpk.c" } else if (( kc_p->prod_sel == sel_Consarguments)) { #line 3839 "../gen.k" arguments rargs = kc_p->u.Consarguments.arguments_1; unparse_arguments(rargs, kc_printer, kc_current_view); { (*kc_printer)(" && (kc_x->u.", kc_current_view); } unparse_ID(gl_operator, kc_printer, kc_current_view); { (*kc_printer)(".", kc_current_view); } unparse_arguments(kc_p, kc_printer, view_gen_argseqnr); { (*kc_printer)(" == ", kc_current_view); } unparse_arguments(kc_p, kc_printer, view_gen_argseqnr); { (*kc_printer)(")", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_hash: { if (( kc_p->prod_sel == sel_Nilarguments)) { #line 3821 "../gen.k" /*EMPTY*/ #line 12217 "unpk.c" } else if (( kc_p->prod_sel == sel_Consarguments)) { #line 3822 "../gen.k" ID a = kc_p->u.Consarguments.ID_1; #line 3822 "../gen.k" arguments rargs = kc_p->u.Consarguments.arguments_1; unparse_arguments(rargs, kc_printer, kc_current_view); #line 3824 "../gen.k" if (eq_ID( Id(Str(mkcasestring("int"))), a )) #line 12227 "unpk.c" { { (*kc_printer)(" INTHASH(", kc_current_view); } unparse_arguments(kc_p, kc_printer, view_gen_argseqnr); { (*kc_printer)(");\ \n", kc_current_view); } } #line 3827 "../gen.k" else if (eq_ID( Id(Str(mkcasestring("float"))), a )) #line 12236 "unpk.c" { { (*kc_printer)(" FLOATHASH(", kc_current_view); } unparse_arguments(kc_p, kc_printer, view_gen_argseqnr); { (*kc_printer)(");\ \n", kc_current_view); } } #line 3830 "../gen.k" else if (eq_ID( Id(Str(mkcasestring("voidptr"))), a )) #line 12245 "unpk.c" { { (*kc_printer)(" VOIDPTRHASH(", kc_current_view); } unparse_arguments(kc_p, kc_printer, view_gen_argseqnr); { (*kc_printer)(");\ \n", kc_current_view); } } #line 3833 "../gen.k" else #line 12254 "unpk.c" { { (*kc_printer)(" HASH(", kc_current_view); } unparse_arguments(kc_p, kc_printer, view_gen_argseqnr); { (*kc_printer)(");\ \n", kc_current_view); } } } else goto kc_unparsing_default; break; } case (int)view_gen_assignments: { if (( kc_p->prod_sel == sel_Nilarguments)) { #line 3815 "../gen.k" /*EMPTY*/ #line 12269 "unpk.c" } else if (( kc_p->prod_sel == sel_Consarguments)) { #line 3816 "../gen.k" arguments rargs = kc_p->u.Consarguments.arguments_1; unparse_arguments(rargs, kc_printer, kc_current_view); { (*kc_printer)(" kc_x->u.", kc_current_view); } unparse_ID(gl_operator, kc_printer, kc_current_view); { (*kc_printer)(".", kc_current_view); } unparse_arguments(kc_p, kc_printer, view_gen_argseqnr); { (*kc_printer)(" = ", kc_current_view); } unparse_arguments(kc_p, kc_printer, view_gen_argseqnr); { (*kc_printer)(";\ \n", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_asserts: { if (( kc_p->prod_sel == sel_Nilarguments)) { #line 3808 "../gen.k" /*EMPTY*/ #line 12291 "unpk.c" } else if (( kc_p->prod_sel == sel_Consarguments)) { #line 3809 "../gen.k" ID a = kc_p->u.Consarguments.ID_1; #line 3809 "../gen.k" arguments rargs = kc_p->u.Consarguments.arguments_1; unparse_arguments(rargs, kc_printer, kc_current_view); { (*kc_printer)(" /*SUPPRESS 622*/\ \n assert_", kc_current_view); } unparse_ID(a, kc_printer, kc_current_view); { (*kc_printer)("( ", kc_current_view); } unparse_arguments(kc_p, kc_printer, view_gen_argseqnr); { (*kc_printer)(", \"", kc_current_view); } unparse_arguments(kc_p, kc_printer, view_gen_argseqnr); { (*kc_printer)("\" );\ \n", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_fnarg_and_decls: { if (( kc_p->prod_sel == sel_Nilarguments)) { #line 3800 "../gen.k" /*EMPTY*/ #line 12316 "unpk.c" } else if (( kc_p->prod_sel == sel_Consarguments) && ( kc_p->u.Consarguments.arguments_1->prod_sel == sel_Nilarguments)) { #line 3801 "../gen.k" ID a = kc_p->u.Consarguments.ID_1; unparse_ID(a, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_arguments(kc_p, kc_printer, view_gen_argseqnr); } else if (( kc_p->prod_sel == sel_Consarguments)) { #line 3804 "../gen.k" ID a = kc_p->u.Consarguments.ID_1; #line 3804 "../gen.k" arguments rargs = kc_p->u.Consarguments.arguments_1; unparse_arguments(rargs, kc_printer, kc_current_view); { (*kc_printer)(", ", kc_current_view); } unparse_ID(a, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_arguments(kc_p, kc_printer, view_gen_argseqnr); } else goto kc_unparsing_default; break; } case (int)view_gen_fnargdecls: { if (( kc_p->prod_sel == sel_Nilarguments)) { #line 3796 "../gen.k" /*EMPTY*/ #line 12343 "unpk.c" } else if (( kc_p->prod_sel == sel_Consarguments)) { #line 3797 "../gen.k" ID a = kc_p->u.Consarguments.ID_1; #line 3797 "../gen.k" arguments rargs = kc_p->u.Consarguments.arguments_1; unparse_arguments(rargs, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_ID(a, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_arguments(kc_p, kc_printer, view_gen_argseqnr); { (*kc_printer)("; ", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_fnargs: { if (( kc_p->prod_sel == sel_Nilarguments)) { #line 3789 "../gen.k" /*EMPTY*/ #line 12364 "unpk.c" } else if (( kc_p->prod_sel == sel_Consarguments) && ( kc_p->u.Consarguments.arguments_1->prod_sel == sel_Nilarguments)) { unparse_arguments(kc_p, kc_printer, view_gen_argseqnr); } else if (( kc_p->prod_sel == sel_Consarguments)) { #line 3793 "../gen.k" arguments rargs = kc_p->u.Consarguments.arguments_1; unparse_arguments(rargs, kc_printer, kc_current_view); { (*kc_printer)(", ", kc_current_view); } unparse_arguments(kc_p, kc_printer, view_gen_argseqnr); } else goto kc_unparsing_default; break; } case (int)view_gen_argseqnr: { if (( kc_p->prod_sel == sel_Consarguments)) { #line 3785 "../gen.k" ID a = kc_p->u.Consarguments.ID_1; unparse_ID(a, kc_printer, kc_current_view); { (*kc_printer)("_", kc_current_view); } unparse_int(kc_p->seqnr, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_operatordecls_h: { if (( kc_p->prod_sel == sel_Consarguments) && ( kc_p->u.Consarguments.arguments_1->prod_sel == sel_Nilarguments)) { #line 1392 "../gen.k" ID a = kc_p->u.Consarguments.ID_1; unparse_ID(a, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_Consarguments)) { #line 1395 "../gen.k" ID a = kc_p->u.Consarguments.ID_1; #line 1395 "../gen.k" arguments rargs = kc_p->u.Consarguments.arguments_1; unparse_arguments(rargs, kc_printer, kc_current_view); { (*kc_printer)(", ", kc_current_view); } unparse_ID(a, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_nodetypes_h: { if (( kc_p->prod_sel == sel_Consarguments)) { #line 990 "../gen.k" ID a = kc_p->u.Consarguments.ID_1; #line 990 "../gen.k" arguments rargs = kc_p->u.Consarguments.arguments_1; unparse_arguments(rargs, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_ID(a, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_ID(a, kc_printer, kc_current_view); { (*kc_printer)("_", kc_current_view); } unparse_int(kc_p->seqnr, kc_printer, kc_current_view); { (*kc_printer)(";\ \n", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_operatormap_suboffsets: { if (( kc_p->prod_sel == sel_Nilarguments)) { #line 822 "../gen.k" /*EMPTY*/ #line 12431 "unpk.c" } else if (( kc_p->prod_sel == sel_Consarguments) && ( kc_p->u.Consarguments.arguments_1->prod_sel == sel_Nilarguments)) { { (*kc_printer)("KC_OFFSETOF( struct kc_tag_", kc_current_view); } unparse_ID(gl_phylum, kc_printer, kc_current_view); { (*kc_printer)(", ", kc_current_view); } unparse_ID(gl_operator, kc_printer, kc_current_view); { (*kc_printer)(", ", kc_current_view); } unparse_arguments(kc_p, kc_printer, view_gen_argseqnr); { (*kc_printer)(" )", kc_current_view); } } else if (( kc_p->prod_sel == sel_Consarguments)) { #line 823 "../gen.k" arguments ra = kc_p->u.Consarguments.arguments_1; unparse_arguments(ra, kc_printer, kc_current_view); { (*kc_printer)(", ", kc_current_view); } { (*kc_printer)("KC_OFFSETOF( struct kc_tag_", kc_current_view); } unparse_ID(gl_phylum, kc_printer, kc_current_view); { (*kc_printer)(", ", kc_current_view); } unparse_ID(gl_operator, kc_printer, kc_current_view); { (*kc_printer)(", ", kc_current_view); } unparse_arguments(kc_p, kc_printer, view_gen_argseqnr); { (*kc_printer)(" )", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_operatormap_subphyla: { if (( kc_p->prod_sel == sel_Nilarguments)) { #line 785 "../gen.k" /*EMPTY*/ #line 12462 "unpk.c" } else if (( kc_p->prod_sel == sel_Consarguments) && ( kc_p->u.Consarguments.arguments_1->prod_sel == sel_Nilarguments)) { #line 791 "../gen.k" ID a = kc_p->u.Consarguments.ID_1; { (*kc_printer)("kc_phylum_", kc_current_view); } unparse_ID(a, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_Consarguments)) { #line 786 "../gen.k" ID a = kc_p->u.Consarguments.ID_1; #line 786 "../gen.k" arguments ra = kc_p->u.Consarguments.arguments_1; unparse_arguments(ra, kc_printer, kc_current_view); { (*kc_printer)(", ", kc_current_view); } { (*kc_printer)("kc_phylum_", kc_current_view); } unparse_ID(a, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_prodsel_fnargdecls: { if (( kc_p->prod_sel == sel_Nilarguments)) { { (*kc_printer)("kc_enum_operators kc_prod_sel;", kc_current_view); } } else if (( kc_p->prod_sel == sel_Consarguments)) { { (*kc_printer)("kc_enum_operators kc_prod_sel; ", kc_current_view); } unparse_arguments(kc_p, kc_printer, view_gen_fnargdecls); } else goto kc_unparsing_default; break; } case (int)view_gen_prodsel_fnargs: { if (( kc_p->prod_sel == sel_Nilarguments)) { { (*kc_printer)("kc_prod_sel", kc_current_view); } } else if (( kc_p->prod_sel == sel_Consarguments)) { { (*kc_printer)("kc_prod_sel, ", kc_current_view); } unparse_arguments(kc_p, kc_printer, view_gen_fnargs); } else goto kc_unparsing_default; break; } case (int)view_gen_prodsel_fnarg_and_decls: { if (( kc_p->prod_sel == sel_Nilarguments)) { { (*kc_printer)("kc_enum_operators kc_prod_sel", kc_current_view); } } else if (( kc_p->prod_sel == sel_Consarguments)) { { (*kc_printer)("kc_enum_operators kc_prod_sel, ", kc_current_view); } unparse_arguments(kc_p, kc_printer, view_gen_fnarg_and_decls); } else goto kc_unparsing_default; break; } case (int)view_count_args: { if (( kc_p->prod_sel == sel_Nilarguments)) { #line 708 "../gen.k" gl_no_of_args = 0; #line 12520 "unpk.c" } else if (( kc_p->prod_sel == sel_Consarguments)) { #line 710 "../gen.k" arguments ra = kc_p->u.Consarguments.arguments_1; unparse_arguments(ra, kc_printer, kc_current_view); #line 712 "../gen.k" gl_no_of_args++; #line 12528 "unpk.c" } else goto kc_unparsing_default; break; } case (int)view_check_uniq1: { if (( kc_p->prod_sel == sel_Nilarguments)) { #line 1761 "../util.k" /*EMPTY*/ #line 12537 "unpk.c" } else if (( kc_p->prod_sel == sel_Consarguments)) { #line 1735 "../util.k" ID id = kc_p->u.Consarguments.ID_1; #line 1735 "../util.k" arguments rargs = kc_p->u.Consarguments.arguments_1; #line 1737 "../util.k" phylumdeclaration tmp = f_lookupdecl( id ); #line 12546 "unpk.c" unparse_arguments(rargs, kc_printer, kc_current_view); #line 1739 "../util.k" if (tmp) #line 12550 "unpk.c" { unparse_phylumdeclaration(tmp, kc_printer, view_check_uniq2); } } else goto kc_unparsing_default; break; } case (int)view_check_count1: { if (( kc_p->prod_sel == sel_Nilarguments)) { #line 244 "../util.k" /*EMPTY*/ #line 12562 "unpk.c" } else if (( kc_p->prod_sel == sel_Consarguments)) { #line 236 "../util.k" ID id = kc_p->u.Consarguments.ID_1; #line 236 "../util.k" arguments rargs = kc_p->u.Consarguments.arguments_1; unparse_arguments(rargs, kc_printer, kc_current_view); #line 239 "../util.k" v_useoccurphylum( id ); kc_p->seqnr = f_getcount( id ); cl_bigatoms = (boolean) (cl_bigatoms || f_isbigatom( id )); #line 12575 "unpk.c" } else goto kc_unparsing_default; break; } default: kc_unparsing_default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_Consarguments: unparse_ID( kc_p->u.Consarguments.ID_1, kc_printer, kc_current_view ); unparse_arguments( kc_p->u.Consarguments.arguments_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_argument #ifdef KC_USE_PROTOTYPES (argument kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) argument kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_argument(kc_p, "kc_p"); switch((int)kc_current_view) { default: case (int)base_uview: { if (( kc_p->prod_sel == sel_Argument)) { #line 3328 "../gen.k" ID id = kc_p->u.Argument.ID_1; #line 3328 "../gen.k" int i = kc_p->u.Argument.int_1; unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("_", kc_current_view); } unparse_int(i, kc_printer, kc_current_view); } else switch((int)kc_p->prod_sel) { case (int)sel_Argument: unparse_ID( kc_p->u.Argument.ID_1, kc_printer, kc_current_view ); unparse_int( kc_p->u.Argument.int_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_Ccode_option #ifdef KC_USE_PROTOTYPES (Ccode_option kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) Ccode_option kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_Ccode_option(kc_p, "kc_p"); switch((int)kc_current_view) { case (int)view_gen_nodetypes_h: { if (( kc_p->prod_sel == sel_CcodeOption)) { #line 995 "../gen.k" attributes a = kc_p->u.CcodeOption.attributes_1; unparse_attributes(a, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_phylummap_c: { if (( kc_p->prod_sel == sel_CcodeOption)) { #line 625 "../gen.k" attributes a = kc_p->u.CcodeOption.attributes_1; unparse_attributes(a, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_initializephyla_c: { if (( kc_p->prod_sel == sel_CcodeOption)) { #line 3250 "../gen.k" attributes attr = kc_p->u.CcodeOption.attributes_1; #line 3250 "../gen.k" Ctexts init = kc_p->u.CcodeOption.Ctexts_1; unparse_attributes(attr, kc_printer, kc_current_view); unparse_Ctexts(init, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_check: { if (( kc_p->prod_sel == sel_CcodeOption)) { #line 178 "../util.k" Ctexts ct = kc_p->u.CcodeOption.Ctexts_1; unparse_Ctexts(ct, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } default: kc_unparsing_default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_CcodeOption: unparse_attributes( kc_p->u.CcodeOption.attributes_1, kc_printer, kc_current_view ); unparse_Ctexts( kc_p->u.CcodeOption.Ctexts_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_attributes #ifdef KC_USE_PROTOTYPES (attributes kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) attributes kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_attributes(kc_p, "kc_p"); switch((int)kc_current_view) { case (int)view_gen_copy_attributes_c_doit: { if (( kc_p->prod_sel == sel_Nilattributes)) { #line 6577 "../gen.k" /*EMPTY*/ #line 12703 "unpk.c" } else if (( kc_p->prod_sel == sel_Consattributes) && ( kc_p->u.Consattributes.attribute_1->prod_sel == sel_Attribute)) { #line 6578 "../gen.k" ID id = kc_p->u.Consattributes.attribute_1->u.Attribute.ID_2; #line 6578 "../gen.k" attributes ra = kc_p->u.Consattributes.attributes_1; unparse_attributes(ra, kc_printer, kc_current_view); { (*kc_printer)(" kc_p2->", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" = kc_p1->", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(";\ \n", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_copy_attributes_c: { if (( kc_p->prod_sel == sel_Nilattributes)) { #line 6563 "../gen.k" /*EMPTY*/ #line 12725 "unpk.c" } else if (( kc_p->prod_sel == sel_Consattributes)) { { (*kc_printer)("static void kc_copy_attributes_", kc_current_view); } unparse_ID(gl_phylum, kc_printer, kc_current_view); { (*kc_printer)("\ \n#ifdef KC_USE_PROTOTYPES\ \n(", kc_current_view); } unparse_ID(gl_phylum, kc_printer, kc_current_view); { (*kc_printer)(" kc_p1, ", kc_current_view); } unparse_ID(gl_phylum, kc_printer, kc_current_view); { (*kc_printer)(" kc_p2)\ \n#else\ \n(kc_p1, kc_p2) ", kc_current_view); } unparse_ID(gl_phylum, kc_printer, kc_current_view); { (*kc_printer)(" kc_p1, kc_p2;\ \n#endif\ \n{\ \n", kc_current_view); } unparse_attributes(kc_p, kc_printer, view_gen_copy_attributes_c_doit); { (*kc_printer)("}\ \n", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_nodetypes_h: { if (( kc_p->prod_sel == sel_Nilattributes)) { #line 998 "../gen.k" /*EMPTY*/ #line 12755 "unpk.c" } else if (( kc_p->prod_sel == sel_Consattributes) && ( kc_p->u.Consattributes.attribute_1->prod_sel == sel_Attribute)) { #line 999 "../gen.k" ID t = kc_p->u.Consattributes.attribute_1->u.Attribute.ID_1; #line 999 "../gen.k" ID id = kc_p->u.Consattributes.attribute_1->u.Attribute.ID_2; #line 999 "../gen.k" attributes ra = kc_p->u.Consattributes.attributes_1; unparse_attributes(ra, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_ID(t, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(";\ \n", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_phylummap_c: { if (( kc_p->prod_sel == sel_Nilattributes)) { { (*kc_printer)("0", kc_current_view); } } else if (( kc_p->prod_sel == sel_Consattributes)) { { (*kc_printer)("KC__C((void(*)(kc_voidptr_t, kc_voidptr_t)))kc_copy_attributes_", kc_current_view); } unparse_ID(gl_phylum, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_initializephyla_c: { if (( kc_p->prod_sel == sel_Nilattributes)) { #line 3277 "../gen.k" /*EMPTY*/ #line 12790 "unpk.c" } else if (( kc_p->prod_sel == sel_Consattributes) && ( kc_p->u.Consattributes.attribute_1->prod_sel == sel_Attribute) && ( kc_p->u.Consattributes.attribute_1->u.Attribute.attribute_initialisation_option_1->prod_sel == sel_Yesattribute_initialisation)) { #line 3254 "../gen.k" ID aid = kc_p->u.Consattributes.attribute_1->u.Attribute.ID_2; #line 3254 "../gen.k" Cexpression cexpr = kc_p->u.Consattributes.attribute_1->u.Attribute.attribute_initialisation_option_1->u.Yesattribute_initialisation.Cexpression_1; #line 3254 "../gen.k" attributes ra = kc_p->u.Consattributes.attributes_1; #line 3256 "../gen.k" ID selvar; #line 12801 "unpk.c" unparse_attributes(ra, kc_printer, kc_current_view); #line 3258 "../gen.k" selvar = Id(Str(mkcasestring("kc_x"))); selvar->line = aid->line; selvar->file = aid->file; cf_pushdollarvar( selvar ); cf_pushdollarvarext( f_emptyId() ); cf_pushoperator( f_emptyId() ); #line 12812 "unpk.c" { (*kc_printer)("#line ", kc_current_view); } unparse_int(aid->line, kc_printer, kc_current_view); { (*kc_printer)(" \"", kc_current_view); } unparse_casestring(aid->file, kc_printer, view_filename); { (*kc_printer)("\"\ \n kc_x->", kc_current_view); } unparse_ID(aid, kc_printer, kc_current_view); { (*kc_printer)(" = ", kc_current_view); } unparse_Cexpression(cexpr, kc_printer, kc_current_view); { (*kc_printer)(";\ \n", kc_current_view); } #line 3269 "../gen.k" cf_popdollarvar(); cf_popdollarvarext(); cf_popoperator(); #line 12830 "unpk.c" } else if (( kc_p->prod_sel == sel_Consattributes) && ( kc_p->u.Consattributes.attribute_1->prod_sel == sel_Attribute) && ( kc_p->u.Consattributes.attribute_1->u.Attribute.attribute_initialisation_option_1->prod_sel == sel_Noattribute_initialisation)) { #line 3275 "../gen.k" attributes ra = kc_p->u.Consattributes.attributes_1; unparse_attributes(ra, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } default: kc_unparsing_default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_Consattributes: unparse_attribute( kc_p->u.Consattributes.attribute_1, kc_printer, kc_current_view ); unparse_attributes( kc_p->u.Consattributes.attributes_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_attribute #ifdef KC_USE_PROTOTYPES (attribute kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) attribute kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_attribute(kc_p, "kc_p"); switch((int)kc_current_view) { default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_Attribute: unparse_ID( kc_p->u.Attribute.ID_1, kc_printer, kc_current_view ); unparse_ID( kc_p->u.Attribute.ID_2, kc_printer, kc_current_view ); unparse_attribute_initialisation_option( kc_p->u.Attribute.attribute_initialisation_option_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_attribute_initialisation_option #ifdef KC_USE_PROTOTYPES (attribute_initialisation_option kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) attribute_initialisation_option kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_attribute_initialisation_option(kc_p, "kc_p"); switch((int)kc_current_view) { default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_Yesattribute_initialisation: unparse_Cexpression( kc_p->u.Yesattribute_initialisation.Cexpression_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_Cexpression #ifdef KC_USE_PROTOTYPES (Cexpression kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) Cexpression kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_Cexpression(kc_p, "kc_p"); switch((int)kc_current_view) { case (int)view_gen_initializephyla_c: { if (( kc_p->prod_sel == sel_NilCexpression)) { #line 3301 "../gen.k" /*EMPTY*/ #line 12914 "unpk.c" } else if (( kc_p->prod_sel == sel_ConsCexpression)) { #line 3300 "../gen.k" Cexpression_elem ce = kc_p->u.ConsCexpression.Cexpression_elem_1; #line 3300 "../gen.k" Cexpression ces = kc_p->u.ConsCexpression.Cexpression_1; unparse_Cexpression(ces, kc_printer, kc_current_view); unparse_Cexpression_elem(ce, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_error: { if (( kc_p->prod_sel == sel_NilCexpression)) { #line 209 "../error.k" /*EMPTY*/ #line 12931 "unpk.c" } else if (( kc_p->prod_sel == sel_ConsCexpression)) { #line 208 "../error.k" Cexpression_elem h = kc_p->u.ConsCexpression.Cexpression_elem_1; #line 208 "../error.k" Cexpression t = kc_p->u.ConsCexpression.Cexpression_1; unparse_Cexpression(t, kc_printer, kc_current_view); unparse_Cexpression_elem(h, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } default: kc_unparsing_default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_ConsCexpression: unparse_Cexpression_elem( kc_p->u.ConsCexpression.Cexpression_elem_1, kc_printer, kc_current_view ); unparse_Cexpression( kc_p->u.ConsCexpression.Cexpression_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_Cexpression_elem #ifdef KC_USE_PROTOTYPES (Cexpression_elem kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) Cexpression_elem kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_Cexpression_elem(kc_p, "kc_p"); switch((int)kc_current_view) { case (int)view_gen_initializephyla_c: { if (( kc_p->prod_sel == sel_CExpressionPart)) { #line 3302 "../gen.k" casestring cs = kc_p->u.CExpressionPart.casestring_1; unparse_casestring(cs, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_CExpressionDollarvar)) { #line 3306 "../gen.k" INT i = kc_p->u.CExpressionDollarvar.INT_1; #line 3307 "../gen.k" ID oid = f_emptyId(), dollarvar = cf_topdollarvar(), dollarvarext = cf_topdollarvarext(); argument arg; boolean nulvar = True; { #line 3310 "../gen.k" INT kc_selvar_0_1 = i ; #line 3310 "../gen.k" /*SUPPRESS 622*/ assert_INT(kc_selvar_0_1, "with_expression (1)"); #line 12990 "unpk.c" if (( kc_selvar_0_1->prod_sel == sel_Int)) { #line 3311 "../gen.k" int ii = kc_selvar_0_1->u.Int.int_1; #line 3311 "../gen.k" if (ii != 0) { nulvar = False; oid = cf_topoperator(); arg = f_argumentofoperator( oid, i ); } #line 13001 "unpk.c" } else kc_no_default_in_with( "", __LINE__, __FILE__ ); } #line 3316 "../gen.k" #line 13007 "unpk.c" #line 3321 "../gen.k" if (nulvar) #line 13010 "unpk.c" { unparse_ID(dollarvar, kc_printer, kc_current_view); unparse_ID(dollarvarext, kc_printer, kc_current_view); } #line 3323 "../gen.k" else #line 13017 "unpk.c" { unparse_ID(dollarvar, kc_printer, kc_current_view); unparse_ID(dollarvarext, kc_printer, kc_current_view); { (*kc_printer)("->u.", kc_current_view); } unparse_ID(oid, kc_printer, kc_current_view); { (*kc_printer)(".", kc_current_view); } unparse_argument(arg, kc_printer, kc_current_view); #line 3325 "../gen.k" free_argument( arg, False ); #line 13027 "unpk.c" } } else if (( kc_p->prod_sel == sel_CExpressionNl)) { #line 3331 "../gen.k" int i = kc_p->u.CExpressionNl.int_1; #line 3332 "../gen.k" char *nl_string = f_mknls( i ); #line 13035 "unpk.c" unparse_charptr(nl_string, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_CExpressionDQ)) { #line 3335 "../gen.k" CexpressionDQ cedq = kc_p->u.CExpressionDQ.CexpressionDQ_1; { (*kc_printer)("\"", kc_current_view); } unparse_CexpressionDQ(cedq, kc_printer, kc_current_view); { (*kc_printer)("\"", kc_current_view); } } else if (( kc_p->prod_sel == sel_CExpressionSQ)) { #line 3338 "../gen.k" CexpressionSQ cesq = kc_p->u.CExpressionSQ.CexpressionSQ_1; { (*kc_printer)("'", kc_current_view); } unparse_CexpressionSQ(cesq, kc_printer, kc_current_view); { (*kc_printer)("'", kc_current_view); } } else if (( kc_p->prod_sel == sel_CExpressionPack)) { #line 3341 "../gen.k" Cexpression cexpr = kc_p->u.CExpressionPack.Cexpression_1; { (*kc_printer)("(", kc_current_view); } unparse_Cexpression(cexpr, kc_printer, kc_current_view); { (*kc_printer)(")", kc_current_view); } } else if (( kc_p->prod_sel == sel_CExpressionArray)) { #line 3344 "../gen.k" Cexpression cexpr = kc_p->u.CExpressionArray.Cexpression_1; { (*kc_printer)("[", kc_current_view); } unparse_Cexpression(cexpr, kc_printer, kc_current_view); { (*kc_printer)("]", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_error: { if (( kc_p->prod_sel == sel_CExpressionPart)) { #line 210 "../error.k" casestring s = kc_p->u.CExpressionPart.casestring_1; unparse_casestring(s, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_CExpressionDollarvar)) { #line 211 "../error.k" INT i = kc_p->u.CExpressionDollarvar.INT_1; { (*kc_printer)("$", kc_current_view); } unparse_INT(i, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_CExpressionNl)) { { (*kc_printer)(" ", kc_current_view); } } else if (( kc_p->prod_sel == sel_CExpressionDQ)) { #line 213 "../error.k" CexpressionDQ cedq = kc_p->u.CExpressionDQ.CexpressionDQ_1; { (*kc_printer)("\"", kc_current_view); } unparse_CexpressionDQ(cedq, kc_printer, kc_current_view); { (*kc_printer)("\"", kc_current_view); } } else if (( kc_p->prod_sel == sel_CExpressionSQ)) { #line 214 "../error.k" CexpressionSQ cesq = kc_p->u.CExpressionSQ.CexpressionSQ_1; { (*kc_printer)("'", kc_current_view); } unparse_CexpressionSQ(cesq, kc_printer, kc_current_view); { (*kc_printer)("'", kc_current_view); } } else if (( kc_p->prod_sel == sel_CExpressionPack)) { #line 215 "../error.k" Cexpression ce = kc_p->u.CExpressionPack.Cexpression_1; { (*kc_printer)("(", kc_current_view); } unparse_Cexpression(ce, kc_printer, kc_current_view); { (*kc_printer)(")", kc_current_view); } } else if (( kc_p->prod_sel == sel_CExpressionArray)) { #line 216 "../error.k" Cexpression ce = kc_p->u.CExpressionArray.Cexpression_1; { (*kc_printer)("[", kc_current_view); } unparse_Cexpression(ce, kc_printer, kc_current_view); { (*kc_printer)("]", kc_current_view); } } else goto kc_unparsing_default; break; } default: kc_unparsing_default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_CExpressionPart: unparse_casestring( kc_p->u.CExpressionPart.casestring_1, kc_printer, kc_current_view ); break; case (int)sel_CExpressionDollarvar: unparse_INT( kc_p->u.CExpressionDollarvar.INT_1, kc_printer, kc_current_view ); break; case (int)sel_CExpressionNl: unparse_int( kc_p->u.CExpressionNl.int_1, kc_printer, kc_current_view ); break; case (int)sel_CExpressionDQ: unparse_CexpressionDQ( kc_p->u.CExpressionDQ.CexpressionDQ_1, kc_printer, kc_current_view ); break; case (int)sel_CExpressionSQ: unparse_CexpressionSQ( kc_p->u.CExpressionSQ.CexpressionSQ_1, kc_printer, kc_current_view ); break; case (int)sel_CExpressionPack: unparse_Cexpression( kc_p->u.CExpressionPack.Cexpression_1, kc_printer, kc_current_view ); break; case (int)sel_CExpressionArray: unparse_Cexpression( kc_p->u.CExpressionArray.Cexpression_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_CexpressionDQ #ifdef KC_USE_PROTOTYPES (CexpressionDQ kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) CexpressionDQ kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_CexpressionDQ(kc_p, "kc_p"); switch((int)kc_current_view) { case (int)view_gen_unpstr_c: { if (( kc_p->prod_sel == sel_NilCexpressionDQ)) { #line 8084 "../gen.k" /*EMPTY*/ #line 13160 "unpk.c" } else if (( kc_p->prod_sel == sel_ConsCexpressionDQ)) { #line 8083 "../gen.k" CexpressionDQ_elem cedqe = kc_p->u.ConsCexpressionDQ.CexpressionDQ_elem_1; #line 8083 "../gen.k" CexpressionDQ cedq = kc_p->u.ConsCexpressionDQ.CexpressionDQ_1; unparse_CexpressionDQ(cedq, kc_printer, kc_current_view); unparse_CexpressionDQ_elem(cedqe, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_initializephyla_c: { if (( kc_p->prod_sel == sel_NilCexpressionDQ)) { #line 3629 "../gen.k" /*EMPTY*/ #line 13177 "unpk.c" } else if (( kc_p->prod_sel == sel_ConsCexpressionDQ)) { #line 3628 "../gen.k" CexpressionDQ_elem cedqe = kc_p->u.ConsCexpressionDQ.CexpressionDQ_elem_1; #line 3628 "../gen.k" CexpressionDQ cedq = kc_p->u.ConsCexpressionDQ.CexpressionDQ_1; unparse_CexpressionDQ(cedq, kc_printer, kc_current_view); unparse_CexpressionDQ_elem(cedqe, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_error: { if (( kc_p->prod_sel == sel_NilCexpressionDQ)) { #line 218 "../error.k" /*EMPTY*/ #line 13194 "unpk.c" } else if (( kc_p->prod_sel == sel_ConsCexpressionDQ)) { #line 217 "../error.k" CexpressionDQ_elem h = kc_p->u.ConsCexpressionDQ.CexpressionDQ_elem_1; #line 217 "../error.k" CexpressionDQ t = kc_p->u.ConsCexpressionDQ.CexpressionDQ_1; unparse_CexpressionDQ(t, kc_printer, kc_current_view); unparse_CexpressionDQ_elem(h, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } default: kc_unparsing_default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_ConsCexpressionDQ: unparse_CexpressionDQ_elem( kc_p->u.ConsCexpressionDQ.CexpressionDQ_elem_1, kc_printer, kc_current_view ); unparse_CexpressionDQ( kc_p->u.ConsCexpressionDQ.CexpressionDQ_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_CexpressionDQ_elem #ifdef KC_USE_PROTOTYPES (CexpressionDQ_elem kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) CexpressionDQ_elem kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_CexpressionDQ_elem(kc_p, "kc_p"); switch((int)kc_current_view) { case (int)view_gen_unpstr_c: { if (( kc_p->prod_sel == sel_CExpressionDQPart)) { #line 8085 "../gen.k" casestring cs = kc_p->u.CExpressionDQPart.casestring_1; unparse_casestring(cs, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_CExpressionDQNl)) { #line 8086 "../gen.k" int i = kc_p->u.CExpressionDQNl.int_1; #line 8087 "../gen.k" char *nl_string = f_mkquotednls( i ); #line 13242 "unpk.c" unparse_charptr(nl_string, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_initializephyla_c: { if (( kc_p->prod_sel == sel_CExpressionDQPart)) { #line 3630 "../gen.k" casestring cs = kc_p->u.CExpressionDQPart.casestring_1; unparse_casestring(cs, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_CExpressionDQNl)) { #line 3631 "../gen.k" int i = kc_p->u.CExpressionDQNl.int_1; #line 3632 "../gen.k" char *nl_string = f_mknls( i ); #line 13259 "unpk.c" unparse_charptr(nl_string, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_error: { if (( kc_p->prod_sel == sel_CExpressionDQPart)) { #line 219 "../error.k" casestring s = kc_p->u.CExpressionDQPart.casestring_1; unparse_casestring(s, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_CExpressionDQNl)) { { (*kc_printer)(" ", kc_current_view); } } else goto kc_unparsing_default; break; } default: kc_unparsing_default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_CExpressionDQPart: unparse_casestring( kc_p->u.CExpressionDQPart.casestring_1, kc_printer, kc_current_view ); break; case (int)sel_CExpressionDQNl: unparse_int( kc_p->u.CExpressionDQNl.int_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_CexpressionSQ #ifdef KC_USE_PROTOTYPES (CexpressionSQ kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) CexpressionSQ kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_CexpressionSQ(kc_p, "kc_p"); switch((int)kc_current_view) { case (int)view_gen_initializephyla_c: { if (( kc_p->prod_sel == sel_NilCexpressionSQ)) { #line 3636 "../gen.k" /*EMPTY*/ #line 13307 "unpk.c" } else if (( kc_p->prod_sel == sel_ConsCexpressionSQ)) { #line 3635 "../gen.k" CexpressionSQ_elem cesqe = kc_p->u.ConsCexpressionSQ.CexpressionSQ_elem_1; #line 3635 "../gen.k" CexpressionSQ cesq = kc_p->u.ConsCexpressionSQ.CexpressionSQ_1; unparse_CexpressionSQ(cesq, kc_printer, kc_current_view); unparse_CexpressionSQ_elem(cesqe, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_error: { if (( kc_p->prod_sel == sel_NilCexpressionSQ)) { #line 222 "../error.k" /*EMPTY*/ #line 13324 "unpk.c" } else if (( kc_p->prod_sel == sel_ConsCexpressionSQ)) { #line 221 "../error.k" CexpressionSQ_elem h = kc_p->u.ConsCexpressionSQ.CexpressionSQ_elem_1; #line 221 "../error.k" CexpressionSQ t = kc_p->u.ConsCexpressionSQ.CexpressionSQ_1; unparse_CexpressionSQ(t, kc_printer, kc_current_view); unparse_CexpressionSQ_elem(h, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } default: kc_unparsing_default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_ConsCexpressionSQ: unparse_CexpressionSQ_elem( kc_p->u.ConsCexpressionSQ.CexpressionSQ_elem_1, kc_printer, kc_current_view ); unparse_CexpressionSQ( kc_p->u.ConsCexpressionSQ.CexpressionSQ_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_CexpressionSQ_elem #ifdef KC_USE_PROTOTYPES (CexpressionSQ_elem kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) CexpressionSQ_elem kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_CexpressionSQ_elem(kc_p, "kc_p"); switch((int)kc_current_view) { case (int)view_gen_initializephyla_c: { if (( kc_p->prod_sel == sel_CExpressionSQPart)) { #line 3637 "../gen.k" casestring cs = kc_p->u.CExpressionSQPart.casestring_1; unparse_casestring(cs, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_CExpressionSQNl)) { #line 3638 "../gen.k" int i = kc_p->u.CExpressionSQNl.int_1; #line 3639 "../gen.k" char *nl_string = f_mknls( i ); #line 13372 "unpk.c" unparse_charptr(nl_string, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_error: { if (( kc_p->prod_sel == sel_CExpressionSQPart)) { #line 223 "../error.k" casestring s = kc_p->u.CExpressionSQPart.casestring_1; unparse_casestring(s, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_CExpressionSQNl)) { { (*kc_printer)(" ", kc_current_view); } } else goto kc_unparsing_default; break; } default: kc_unparsing_default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_CExpressionSQPart: unparse_casestring( kc_p->u.CExpressionSQPart.casestring_1, kc_printer, kc_current_view ); break; case (int)sel_CExpressionSQNl: unparse_int( kc_p->u.CExpressionSQNl.int_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_idCexpressions #ifdef KC_USE_PROTOTYPES (idCexpressions kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) idCexpressions kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_idCexpressions(kc_p, "kc_p"); switch((int)kc_current_view) { case (int)view_gen_initializephyla_update_loop_c: { if (( kc_p->prod_sel == sel_NilidCexpressions)) { #line 3468 "../gen.k" g_fe_selvar_nr = 0; #line 13420 "unpk.c" } else if (( kc_p->prod_sel == sel_ConsidCexpressions) && ( kc_p->u.ConsidCexpressions.idCexpression_1->prod_sel == sel_IdCexpression)) { #line 3519 "../gen.k" ID tid = kc_p->u.ConsidCexpressions.idCexpression_1->u.IdCexpression.ID_1; #line 3519 "../gen.k" Cexpression cexpr = kc_p->u.ConsidCexpressions.idCexpression_1->u.IdCexpression.Cexpression_1; #line 3519 "../gen.k" idCexpressions t = kc_p->u.ConsidCexpressions.idCexpressions_1; unparse_idCexpressions(t, kc_printer, kc_current_view); #line 3522 "../gen.k" g_fe_selvar_nr++; #line 13432 "unpk.c" { (*kc_printer)("kc_fe_selvar_", kc_current_view); } unparse_int(g_fe_selvar_nr, kc_printer, kc_current_view); { (*kc_printer)(" = kc_fe_selvar_", kc_current_view); } unparse_int(g_fe_selvar_nr, kc_printer, kc_current_view); { (*kc_printer)("->u.Cons", kc_current_view); } unparse_ID(tid, kc_printer, kc_current_view); { (*kc_printer)(".", kc_current_view); } unparse_ID(tid, kc_printer, kc_current_view); { (*kc_printer)("_1;\ \n#line ", kc_current_view); } unparse_int(cexpr->line, kc_printer, kc_current_view); { (*kc_printer)(" \"", kc_current_view); } unparse_casestring(cexpr->file, kc_printer, view_filename); { (*kc_printer)("\"\ \n/*SUPPRESS 622*/\ \nassert_", kc_current_view); } unparse_ID(tid, kc_printer, kc_current_view); { (*kc_printer)("(kc_fe_selvar_", kc_current_view); } unparse_int(g_fe_selvar_nr, kc_printer, kc_current_view); { (*kc_printer)(", \"sublist_of_foreach_list_expression\");\ \n", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_initializephyla_init_el_c: { if (( kc_p->prod_sel == sel_NilidCexpressions)) { #line 3468 "../gen.k" g_fe_selvar_nr = 0; #line 13462 "unpk.c" } else if (( kc_p->prod_sel == sel_ConsidCexpressions) && ( kc_p->u.ConsidCexpressions.idCexpression_1->prod_sel == sel_IdCexpression)) { #line 3509 "../gen.k" idCexpression ice = kc_p->u.ConsidCexpressions.idCexpression_1; #line 3509 "../gen.k" ID tid = kc_p->u.ConsidCexpressions.idCexpression_1->u.IdCexpression.ID_1; #line 3509 "../gen.k" Cexpression cexpr = kc_p->u.ConsidCexpressions.idCexpression_1->u.IdCexpression.Cexpression_1; #line 3509 "../gen.k" idCexpressions t = kc_p->u.ConsidCexpressions.idCexpressions_1; #line 3511 "../gen.k" ID element_type = f_listelementphylum( tid ); ID selvar = cf_topselvar(); #line 13477 "unpk.c" unparse_idCexpressions(t, kc_printer, kc_current_view); #line 3515 "../gen.k" g_fe_selvar_nr++; #line 13481 "unpk.c" unparse_ID(element_type, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_ID(selvar, kc_printer, kc_current_view); { (*kc_printer)("_", kc_current_view); } unparse_int(g_fe_selvar_nr, kc_printer, kc_current_view); { (*kc_printer)(" = kc_fe_selvar_", kc_current_view); } unparse_int(g_fe_selvar_nr, kc_printer, kc_current_view); { (*kc_printer)("->u.Cons", kc_current_view); } unparse_ID(tid, kc_printer, kc_current_view); { (*kc_printer)(".", kc_current_view); } unparse_ID(element_type, kc_printer, kc_current_view); { (*kc_printer)("_1;\ \n", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_initializephyla_whiletest_c: { if (( kc_p->prod_sel == sel_NilidCexpressions)) { #line 3468 "../gen.k" g_fe_selvar_nr = 0; #line 13503 "unpk.c" } else if (( kc_p->prod_sel == sel_ConsidCexpressions) && ( kc_p->u.ConsidCexpressions.idCexpression_1->prod_sel == sel_IdCexpression) && ( kc_p->u.ConsidCexpressions.idCexpressions_1->prod_sel == sel_NilidCexpressions)) { #line 3502 "../gen.k" ID tid = kc_p->u.ConsidCexpressions.idCexpression_1->u.IdCexpression.ID_1; #line 3502 "../gen.k" Cexpression cexpr = kc_p->u.ConsidCexpressions.idCexpression_1->u.IdCexpression.Cexpression_1; #line 3502 "../gen.k" idCexpressions t = kc_p->u.ConsidCexpressions.idCexpressions_1; unparse_idCexpressions(t, kc_printer, kc_current_view); #line 3505 "../gen.k" g_fe_selvar_nr++; #line 13515 "unpk.c" { (*kc_printer)(" kc_fe_selvar_", kc_current_view); } unparse_int(g_fe_selvar_nr, kc_printer, kc_current_view); { (*kc_printer)("->prod_sel == sel_Cons", kc_current_view); } unparse_ID(tid, kc_printer, kc_current_view); { (*kc_printer)("\ \n", kc_current_view); } } else if (( kc_p->prod_sel == sel_ConsidCexpressions) && ( kc_p->u.ConsidCexpressions.idCexpression_1->prod_sel == sel_IdCexpression)) { #line 3494 "../gen.k" ID tid = kc_p->u.ConsidCexpressions.idCexpression_1->u.IdCexpression.ID_1; #line 3494 "../gen.k" Cexpression cexpr = kc_p->u.ConsidCexpressions.idCexpression_1->u.IdCexpression.Cexpression_1; #line 3494 "../gen.k" idCexpressions t = kc_p->u.ConsidCexpressions.idCexpressions_1; unparse_idCexpressions(t, kc_printer, kc_current_view); #line 3497 "../gen.k" g_fe_selvar_nr++; #line 13533 "unpk.c" { (*kc_printer)(" && kc_fe_selvar_", kc_current_view); } unparse_int(g_fe_selvar_nr, kc_printer, kc_current_view); { (*kc_printer)("->prod_sel == sel_Cons", kc_current_view); } unparse_ID(tid, kc_printer, kc_current_view); { (*kc_printer)("\ \n", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_initializephyla_assert_c: { if (( kc_p->prod_sel == sel_NilidCexpressions)) { #line 3468 "../gen.k" g_fe_selvar_nr = 0; #line 13548 "unpk.c" } else if (( kc_p->prod_sel == sel_ConsidCexpressions) && ( kc_p->u.ConsidCexpressions.idCexpression_1->prod_sel == sel_IdCexpression)) { #line 3482 "../gen.k" ID tid = kc_p->u.ConsidCexpressions.idCexpression_1->u.IdCexpression.ID_1; #line 3482 "../gen.k" Cexpression cexpr = kc_p->u.ConsidCexpressions.idCexpression_1->u.IdCexpression.Cexpression_1; #line 3482 "../gen.k" idCexpressions t = kc_p->u.ConsidCexpressions.idCexpressions_1; unparse_idCexpressions(t, kc_printer, kc_current_view); #line 3485 "../gen.k" g_fe_selvar_nr++; #line 13560 "unpk.c" #line 3486 "../gen.k" if (cexpr->line) #line 13563 "unpk.c" { { (*kc_printer)("#line ", kc_current_view); } unparse_int(cexpr->line, kc_printer, kc_current_view); { (*kc_printer)(" \"", kc_current_view); } unparse_casestring(cexpr->file, kc_printer, view_filename); { (*kc_printer)("\"\ \n", kc_current_view); } } { (*kc_printer)("/*SUPPRESS 622*/\ \nassert_", kc_current_view); } unparse_ID(tid, kc_printer, kc_current_view); { (*kc_printer)("(kc_fe_selvar_", kc_current_view); } unparse_int(g_fe_selvar_nr, kc_printer, kc_current_view); { (*kc_printer)(", \"foreach_list_expression\");\ \n", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_initializephyla_c: { if (( kc_p->prod_sel == sel_NilidCexpressions)) { #line 3468 "../gen.k" g_fe_selvar_nr = 0; #line 13587 "unpk.c" } else if (( kc_p->prod_sel == sel_ConsidCexpressions) && ( kc_p->u.ConsidCexpressions.idCexpression_1->prod_sel == sel_IdCexpression)) { #line 3470 "../gen.k" ID tid = kc_p->u.ConsidCexpressions.idCexpression_1->u.IdCexpression.ID_1; #line 3470 "../gen.k" Cexpression cexpr = kc_p->u.ConsidCexpressions.idCexpression_1->u.IdCexpression.Cexpression_1; #line 3470 "../gen.k" idCexpressions t = kc_p->u.ConsidCexpressions.idCexpressions_1; unparse_idCexpressions(t, kc_printer, kc_current_view); #line 3473 "../gen.k" g_fe_selvar_nr++; #line 13599 "unpk.c" #line 3474 "../gen.k" if (cexpr->line) #line 13602 "unpk.c" { { (*kc_printer)("#line ", kc_current_view); } unparse_int(cexpr->line, kc_printer, kc_current_view); { (*kc_printer)(" \"", kc_current_view); } unparse_casestring(cexpr->file, kc_printer, view_filename); { (*kc_printer)("\"\ \n", kc_current_view); } } unparse_ID(tid, kc_printer, kc_current_view); { (*kc_printer)(" kc_fe_selvar_", kc_current_view); } unparse_int(g_fe_selvar_nr, kc_printer, kc_current_view); { (*kc_printer)(" = ", kc_current_view); } unparse_Cexpression(cexpr, kc_printer, kc_current_view); { (*kc_printer)(";\ \n", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_check: { if (( kc_p->prod_sel == sel_ConsidCexpressions)) { #line 803 "../util.k" idCexpression h = kc_p->u.ConsidCexpressions.idCexpression_1; #line 803 "../util.k" idCexpressions t = kc_p->u.ConsidCexpressions.idCexpressions_1; unparse_idCexpressions(t, kc_printer, kc_current_view); unparse_idCexpression(h, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } default: kc_unparsing_default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_ConsidCexpressions: unparse_idCexpression( kc_p->u.ConsidCexpressions.idCexpression_1, kc_printer, kc_current_view ); unparse_idCexpressions( kc_p->u.ConsidCexpressions.idCexpressions_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_idCexpression #ifdef KC_USE_PROTOTYPES (idCexpression kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) idCexpression kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_idCexpression(kc_p, "kc_p"); switch((int)kc_current_view) { case (int)view_check: { if (( kc_p->prod_sel == sel_IdCexpression)) { #line 805 "../util.k" ID t = kc_p->u.IdCexpression.ID_1; #line 805 "../util.k" v_useoccurlistphylum( t ); #line 13664 "unpk.c" } else goto kc_unparsing_default; break; } default: kc_unparsing_default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_IdCexpression: unparse_ID( kc_p->u.IdCexpression.ID_1, kc_printer, kc_current_view ); unparse_Cexpression( kc_p->u.IdCexpression.Cexpression_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_Ctexts #ifdef KC_USE_PROTOTYPES (Ctexts kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) Ctexts kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_Ctexts(kc_p, "kc_p"); switch((int)kc_current_view) { case (int)view_gen_initializephyla_c: { if (( kc_p->prod_sel == sel_NilCtexts)) { #line 3348 "../gen.k" /*EMPTY*/ #line 13697 "unpk.c" } else if (( kc_p->prod_sel == sel_ConsCtexts)) { #line 3279 "../gen.k" Ctext ct = kc_p->u.ConsCtexts.Ctext_1; #line 3279 "../gen.k" Ctexts cts = kc_p->u.ConsCtexts.Ctexts_1; #line 3280 "../gen.k" ID selvar; #line 13706 "unpk.c" unparse_Ctexts(cts, kc_printer, kc_current_view); #line 3282 "../gen.k" selvar = Id(Str(mkcasestring("kc_x"))); selvar->line = ct->line; selvar->file = ct->file; cf_pushdollarvar( selvar ); cf_pushdollarvarext( f_emptyId() ); cf_pushoperator( f_emptyId() ); #line 13717 "unpk.c" { (*kc_printer)("#line ", kc_current_view); } unparse_int(ct->line, kc_printer, kc_current_view); { (*kc_printer)(" \"", kc_current_view); } unparse_casestring(ct->file, kc_printer, view_filename); { (*kc_printer)("\"\ \n", kc_current_view); } unparse_Ctext(ct, kc_printer, kc_current_view); unparse_charptr(g_emptystring, kc_printer, view_printer_outputfileline); #line 3294 "../gen.k" cf_popdollarvar(); cf_popdollarvarext(); cf_popoperator(); #line 13732 "unpk.c" } else goto kc_unparsing_default; break; } default: kc_unparsing_default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_ConsCtexts: unparse_Ctext( kc_p->u.ConsCtexts.Ctext_1, kc_printer, kc_current_view ); unparse_Ctexts( kc_p->u.ConsCtexts.Ctexts_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_includefiles #ifdef KC_USE_PROTOTYPES (includefiles kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) includefiles kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_includefiles(kc_p, "kc_p"); switch((int)kc_current_view) { default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_Consincludefiles: unparse_includefile( kc_p->u.Consincludefiles.includefile_1, kc_printer, kc_current_view ); unparse_includefiles( kc_p->u.Consincludefiles.includefiles_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_includefile #ifdef KC_USE_PROTOTYPES (includefile kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) includefile kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_includefile(kc_p, "kc_p"); switch((int)kc_current_view) { default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_IncludeFile: unparse_casestring( kc_p->u.IncludeFile.casestring_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_includedeclarations #ifdef KC_USE_PROTOTYPES (includedeclarations kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) includedeclarations kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_includedeclarations(kc_p, "kc_p"); switch((int)kc_current_view) { case (int)view_do_gen_includes: { if (( kc_p->prod_sel == sel_Nilincludedeclarations)) { #line 5183 "../gen.k" /*EMPTY*/ #line 13810 "unpk.c" } else if (( kc_p->prod_sel == sel_Consincludedeclarations)) { #line 5184 "../gen.k" includedeclaration e = kc_p->u.Consincludedeclarations.includedeclaration_1; #line 5184 "../gen.k" includedeclarations l = kc_p->u.Consincludedeclarations.includedeclarations_1; unparse_includedeclarations(l, kc_printer, kc_current_view); unparse_includedeclaration(e, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_includes: { if (( kc_p->prod_sel == sel_Nilincludedeclarations)) { #line 5174 "../gen.k" /*EMPTY*/ #line 13827 "unpk.c" } else if (( kc_p->prod_sel == sel_Consincludedeclarations)) { { (*kc_printer)("/* included stuff */\ \n", kc_current_view); } unparse_includedeclarations(kc_p, kc_printer, view_do_gen_includes); { (*kc_printer)("/* end included stuff */\ \n\ \n", kc_current_view); } } else goto kc_unparsing_default; break; } default: kc_unparsing_default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_Consincludedeclarations: unparse_includedeclaration( kc_p->u.Consincludedeclarations.includedeclaration_1, kc_printer, kc_current_view ); unparse_includedeclarations( kc_p->u.Consincludedeclarations.includedeclarations_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_includedeclaration #ifdef KC_USE_PROTOTYPES (includedeclaration kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) includedeclaration kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_includedeclaration(kc_p, "kc_p"); switch((int)kc_current_view) { case (int)view_do_gen_includes: { if (( kc_p->prod_sel == sel_IncludeDeclaration)) { #line 5185 "../gen.k" includes i = kc_p->u.IncludeDeclaration.includes_1; { (*kc_printer)("#line ", kc_current_view); } unparse_int(kc_p->line, kc_printer, kc_current_view); { (*kc_printer)(" \"", kc_current_view); } unparse_casestring(kc_p->file, kc_printer, view_filename); { (*kc_printer)("\"\ \n", kc_current_view); } unparse_includes(i, kc_printer, kc_current_view); unparse_charptr(g_emptystring, kc_printer, view_printer_outputfileline); } else goto kc_unparsing_default; break; } default: kc_unparsing_default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_IncludeDeclaration: unparse_includes( kc_p->u.IncludeDeclaration.includes_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_includes #ifdef KC_USE_PROTOTYPES (includes kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) includes kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_includes(kc_p, "kc_p"); switch((int)kc_current_view) { case (int)view_do_gen_includes: { if (( kc_p->prod_sel == sel_Nilincludes)) { #line 5191 "../gen.k" /*EMPTY*/ #line 13907 "unpk.c" } else if (( kc_p->prod_sel == sel_Consincludes)) { #line 5192 "../gen.k" include e = kc_p->u.Consincludes.include_1; #line 5192 "../gen.k" includes l = kc_p->u.Consincludes.includes_1; unparse_includes(l, kc_printer, kc_current_view); unparse_include(e, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } default: kc_unparsing_default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_Consincludes: unparse_include( kc_p->u.Consincludes.include_1, kc_printer, kc_current_view ); unparse_includes( kc_p->u.Consincludes.includes_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_include #ifdef KC_USE_PROTOTYPES (include kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) include kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_include(kc_p, "kc_p"); switch((int)kc_current_view) { case (int)view_do_gen_includes: { if (( kc_p->prod_sel == sel_Include)) { #line 5193 "../gen.k" casestring c = kc_p->u.Include.casestring_1; unparse_casestring(c, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_IncludeNl)) { #line 5194 "../gen.k" int i = kc_p->u.IncludeNl.int_1; #line 5195 "../gen.k" char *nl_string = f_mknls( i ); #line 13955 "unpk.c" unparse_charptr(nl_string, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } default: kc_unparsing_default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_Include: unparse_casestring( kc_p->u.Include.casestring_1, kc_printer, kc_current_view ); break; case (int)sel_IncludeNl: unparse_int( kc_p->u.IncludeNl.int_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_rwdeclarations #ifdef KC_USE_PROTOTYPES (rwdeclarations kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) rwdeclarations kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_rwdeclarations(kc_p, "kc_p"); switch((int)kc_current_view) { case (int)view_check: { if (( kc_p->prod_sel == sel_Nilrwdeclarations)) { #line 612 "../util.k" /*EMPTY*/ #line 13991 "unpk.c" } else if (( kc_p->prod_sel == sel_Consrwdeclarations)) { #line 610 "../util.k" rwdeclaration rwd = kc_p->u.Consrwdeclarations.rwdeclaration_1; #line 610 "../util.k" rwdeclarations rrwd = kc_p->u.Consrwdeclarations.rwdeclarations_1; unparse_rwdeclarations(rrwd, kc_printer, kc_current_view); unparse_rwdeclaration(rwd, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } default: kc_unparsing_default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_Consrwdeclarations: unparse_rwdeclaration( kc_p->u.Consrwdeclarations.rwdeclaration_1, kc_printer, kc_current_view ); unparse_rwdeclarations( kc_p->u.Consrwdeclarations.rwdeclarations_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_rwdeclaration #ifdef KC_USE_PROTOTYPES (rwdeclaration kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) rwdeclaration kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_rwdeclaration(kc_p, "kc_p"); switch((int)kc_current_view) { case (int)view_make_patternreps: { if (( kc_p->prod_sel == sel_RwDeclaration)) { #line 1811 "../util.k" outmostpatterns op = kc_p->u.RwDeclaration.outmostpatterns_1; #line 1811 "../util.k" rewriteclauses rc = kc_p->u.RwDeclaration.rewriteclauses_1; #line 1812 "../util.k" v_resetbindingidmarks(); v_add_rewriterulesinfo_to_operator( add_predicates_to_patternrepresentations( syn_outmostpatterns( op ) ), rc ); #line 14039 "unpk.c" } else goto kc_unparsing_default; break; } case (int)view_check: { if (( kc_p->prod_sel == sel_RwDeclaration)) { #line 613 "../util.k" outmostpatterns op = kc_p->u.RwDeclaration.outmostpatterns_1; #line 613 "../util.k" rewriteclauses rc = kc_p->u.RwDeclaration.rewriteclauses_1; #line 614 "../util.k" cf_pushoutmostoperators( Niloperators() ); cf_pushdollarvarsallowed( DVAllowed() ); cf_pushphylum( f_emptyId() ); cf_pushvariables( Nilvariables()); cl_scope++; #line 14057 "unpk.c" unparse_outmostpatterns(op, kc_printer, kc_current_view); unparse_rewriteclauses(rc, kc_printer, kc_current_view); #line 622 "../util.k" freelist_operators( cf_topoutmostoperators() ); cf_popoutmostoperators(); cf_popphylum(); cf_popdollarvarsallowed(); v_reset_variables_type( cf_topvariables() ); cl_scope--; freelist_variables( cf_topvariables() ); cf_popvariables(); #line 14069 "unpk.c" } else goto kc_unparsing_default; break; } default: kc_unparsing_default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_RwDeclaration: unparse_outmostpatterns( kc_p->u.RwDeclaration.outmostpatterns_1, kc_printer, kc_current_view ); unparse_rewriteclauses( kc_p->u.RwDeclaration.rewriteclauses_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_rewriteclauses #ifdef KC_USE_PROTOTYPES (rewriteclauses kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) rewriteclauses kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_rewriteclauses(kc_p, "kc_p"); switch((int)kc_current_view) { case (int)view_check: { if (( kc_p->prod_sel == sel_Nilrewriteclauses)) { #line 633 "../util.k" /*EMPTY*/ #line 14102 "unpk.c" } else if (( kc_p->prod_sel == sel_Consrewriteclauses)) { #line 631 "../util.k" rewriteclause rc = kc_p->u.Consrewriteclauses.rewriteclause_1; #line 631 "../util.k" rewriteclauses rcs = kc_p->u.Consrewriteclauses.rewriteclauses_1; unparse_rewriteclauses(rcs, kc_printer, kc_current_view); unparse_rewriteclause(rc, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } default: kc_unparsing_default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_Consrewriteclauses: unparse_rewriteclause( kc_p->u.Consrewriteclauses.rewriteclause_1, kc_printer, kc_current_view ); unparse_rewriteclauses( kc_p->u.Consrewriteclauses.rewriteclauses_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_rewriteclause #ifdef KC_USE_PROTOTYPES (rewriteclause kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) rewriteclause kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_rewriteclause(kc_p, "kc_p"); switch((int)kc_current_view) { case (int)view_check: { if (( kc_p->prod_sel == sel_RewriteClause)) { #line 634 "../util.k" viewnames vn = kc_p->u.RewriteClause.viewnames_1; unparse_viewnames(vn, kc_printer, view_check_r); } else goto kc_unparsing_default; break; } default: kc_unparsing_default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_RewriteClause: unparse_viewnames( kc_p->u.RewriteClause.viewnames_1, kc_printer, kc_current_view ); unparse_term( kc_p->u.RewriteClause.term_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_patternchains #ifdef KC_USE_PROTOTYPES (patternchains kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) patternchains kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_patternchains(kc_p, "kc_p"); switch((int)kc_current_view) { case (int)view_set_type: { if (( kc_p->prod_sel == sel_Nilpatternchains)) { #line 684 "../util.k" /*EMPTY*/ #line 14176 "unpk.c" } else if (( kc_p->prod_sel == sel_Conspatternchains)) { #line 685 "../util.k" patternchain h = kc_p->u.Conspatternchains.patternchain_1; #line 685 "../util.k" patternchains t = kc_p->u.Conspatternchains.patternchains_1; unparse_patternchains(t, kc_printer, kc_current_view); unparse_patternchain(h, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_check: { if (( kc_p->prod_sel == sel_Nilpatternchains)) { #line 684 "../util.k" /*EMPTY*/ #line 14193 "unpk.c" } else if (( kc_p->prod_sel == sel_Conspatternchains)) { #line 685 "../util.k" patternchain h = kc_p->u.Conspatternchains.patternchain_1; #line 685 "../util.k" patternchains t = kc_p->u.Conspatternchains.patternchains_1; unparse_patternchains(t, kc_printer, kc_current_view); unparse_patternchain(h, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } default: kc_unparsing_default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_Conspatternchains: unparse_patternchain( kc_p->u.Conspatternchains.patternchain_1, kc_printer, kc_current_view ); unparse_patternchains( kc_p->u.Conspatternchains.patternchains_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_patternchain #ifdef KC_USE_PROTOTYPES (patternchain kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) patternchain kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_patternchain(kc_p, "kc_p"); switch((int)kc_current_view) { case (int)view_set_type: { if (( kc_p->prod_sel == sel_Nilpatternchain)) { #line 753 "../util.k" /*EMPTY*/ #line 14234 "unpk.c" } else if (( kc_p->prod_sel == sel_Conspatternchain)) { #line 754 "../util.k" patternchainitem h = kc_p->u.Conspatternchain.patternchainitem_1; #line 754 "../util.k" patternchain t = kc_p->u.Conspatternchain.patternchain_1; #line 756 "../util.k" ID tmp_type = 0; phylumnames tmp_types = 0; { #line 758 "../util.k" phylumnames kc_selvar_0_1 = cf_topphylumnames() ; #line 758 "../util.k" /*SUPPRESS 622*/ assert_phylumnames(kc_selvar_0_1, "with_expression (1)"); #line 14253 "unpk.c" if (( kc_selvar_0_1->prod_sel == sel_Nilphylumnames)) { #line 763 "../util.k" tmp_type = f_emptyId(); tmp_types = Nilphylumnames(); #line 14260 "unpk.c" } else if (( kc_selvar_0_1->prod_sel == sel_Consphylumnames)) { #line 759 "../util.k" ID p_h = kc_selvar_0_1->u.Consphylumnames.ID_1; #line 759 "../util.k" phylumnames p_t = kc_selvar_0_1->u.Consphylumnames.phylumnames_1; #line 759 "../util.k" tmp_type = p_h; tmp_types = p_t; #line 14272 "unpk.c" } else kc_no_default_in_with( "", __LINE__, __FILE__ ); } #line 768 "../util.k" cf_popphylumnames(); cf_pushphylumnames( tmp_types ); #line 14280 "unpk.c" unparse_patternchain(t, kc_printer, kc_current_view); #line 772 "../util.k" tmp_types = cf_topphylumnames(); cf_popphylumnames(); cf_pushphylum( tmp_type ); if (! eq_ID( cf_topphylum(), f_emptyId() )) { h->type = cf_topphylum(); } #line 14291 "unpk.c" unparse_patternchainitem(h, kc_printer, kc_current_view); #line 781 "../util.k" tmp_type = cf_topphylum(); cf_popphylum(); cf_pushphylumnames( Consphylumnames( tmp_type, tmp_types ) ); #line 14298 "unpk.c" } else goto kc_unparsing_default; break; } case (int)view_check: { if (( kc_p->prod_sel == sel_Nilpatternchain)) { #line 690 "../util.k" patternchain p = kc_p; #line 691 "../util.k" { #line 691 "../util.k" phylumnames kc_selvar_0_1 = cf_topphylumnames() ; #line 691 "../util.k" /*SUPPRESS 622*/ assert_phylumnames(kc_selvar_0_1, "with_expression (1)"); #line 14317 "unpk.c" if (( kc_selvar_0_1->prod_sel == sel_Nilphylumnames)) { #line 696 "../util.k" /*EMPTY*/ #line 14321 "unpk.c" } else if (( kc_selvar_0_1->prod_sel == sel_Consphylumnames)) { #line 692 "../util.k" ID p_h = kc_selvar_0_1->u.Consphylumnames.ID_1; #line 692 "../util.k" phylumnames p_t = kc_selvar_0_1->u.Consphylumnames.phylumnames_1; #line 692 "../util.k" v_report(NonFatal( FileLine( p->file, p->line ), Problem1S( "less &-ed patterns than expressions"))); #line 14333 "unpk.c" } else kc_no_default_in_with( "", __LINE__, __FILE__ ); } #line 698 "../util.k" #line 14339 "unpk.c" } else if (( kc_p->prod_sel == sel_Conspatternchain) && ( kc_p->u.Conspatternchain.patternchainitem_1->prod_sel == sel_PatternchainitemOutmost) && ( kc_p->u.Conspatternchain.patternchainitem_1->u.PatternchainitemOutmost.outmostpattern_1->prod_sel == sel_OPDefault) && ( kc_p->u.Conspatternchain.patternchain_1->prod_sel == sel_Nilpatternchain)) { #line 730 "../util.k" /*EMPTY*/ #line 14344 "unpk.c" } else if (( kc_p->prod_sel == sel_Conspatternchain) && ( kc_p->u.Conspatternchain.patternchainitem_1->prod_sel == sel_PatternchainitemOutmost) && ( kc_p->u.Conspatternchain.patternchainitem_1->u.PatternchainitemOutmost.outmostpattern_1->prod_sel == sel_OPDefault) && ( kc_p->u.Conspatternchain.patternchain_1->prod_sel == sel_Conspatternchain)) { #line 733 "../util.k" patternchainitem p = kc_p->u.Conspatternchain.patternchainitem_1; #line 735 "../util.k" v_report(NonFatal( FileLine( p->file, p->line ), Problem1S( "'default' can not be &-ed with (other) patterns"))); #line 14353 "unpk.c" } else if (( kc_p->prod_sel == sel_Conspatternchain) && ( kc_p->u.Conspatternchain.patternchain_1->prod_sel == sel_Conspatternchain) && ( kc_p->u.Conspatternchain.patternchain_1->u.Conspatternchain.patternchainitem_1->prod_sel == sel_PatternchainitemOutmost) && ( kc_p->u.Conspatternchain.patternchain_1->u.Conspatternchain.patternchainitem_1->u.PatternchainitemOutmost.outmostpattern_1->prod_sel == sel_OPDefault)) { #line 732 "../util.k" patternchainitem p = kc_p->u.Conspatternchain.patternchain_1->u.Conspatternchain.patternchainitem_1; #line 735 "../util.k" v_report(NonFatal( FileLine( p->file, p->line ), Problem1S( "'default' can not be &-ed with (other) patterns"))); #line 14362 "unpk.c" } else if (( kc_p->prod_sel == sel_Conspatternchain)) { #line 700 "../util.k" patternchain p = kc_p; #line 700 "../util.k" patternchainitem h = kc_p->u.Conspatternchain.patternchainitem_1; #line 700 "../util.k" patternchain t = kc_p->u.Conspatternchain.patternchain_1; #line 702 "../util.k" ID tmp_type = 0; phylumnames tmp_types = 0; { #line 704 "../util.k" phylumnames kc_selvar_0_1 = cf_topphylumnames() ; #line 704 "../util.k" /*SUPPRESS 622*/ assert_phylumnames(kc_selvar_0_1, "with_expression (1)"); #line 14383 "unpk.c" if (( kc_selvar_0_1->prod_sel == sel_Nilphylumnames)) { #line 709 "../util.k" tmp_type = f_emptyId(); tmp_types = Nilphylumnames(); v_report(NonFatal( FileLine( p->file, p->line ), Problem1S( "more &-ed patterns than expressions"))); #line 14392 "unpk.c" } else if (( kc_selvar_0_1->prod_sel == sel_Consphylumnames)) { #line 705 "../util.k" ID p_h = kc_selvar_0_1->u.Consphylumnames.ID_1; #line 705 "../util.k" phylumnames p_t = kc_selvar_0_1->u.Consphylumnames.phylumnames_1; #line 705 "../util.k" tmp_type = p_h; tmp_types = p_t; #line 14404 "unpk.c" } else kc_no_default_in_with( "", __LINE__, __FILE__ ); } #line 716 "../util.k" cf_popphylumnames(); cf_pushphylumnames( tmp_types ); #line 14412 "unpk.c" unparse_patternchain(t, kc_printer, kc_current_view); #line 720 "../util.k" tmp_types = cf_topphylumnames(); cf_popphylumnames(); cf_pushphylum( tmp_type ); #line 14418 "unpk.c" unparse_patternchainitem(h, kc_printer, kc_current_view); #line 724 "../util.k" tmp_type = cf_topphylum(); cf_popphylum(); cf_pushphylumnames( Consphylumnames( tmp_type, tmp_types ) ); #line 14425 "unpk.c" } else goto kc_unparsing_default; break; } default: kc_unparsing_default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_Conspatternchain: unparse_patternchainitem( kc_p->u.Conspatternchain.patternchainitem_1, kc_printer, kc_current_view ); unparse_patternchain( kc_p->u.Conspatternchain.patternchain_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_outmostpatterns #ifdef KC_USE_PROTOTYPES (outmostpatterns kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) outmostpatterns kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_outmostpatterns(kc_p, "kc_p"); switch((int)kc_current_view) { case (int)view_check: { if (( kc_p->prod_sel == sel_Niloutmostpatterns)) { #line 402 "../util.k" /*EMPTY*/ #line 14458 "unpk.c" } else if (( kc_p->prod_sel == sel_Consoutmostpatterns)) { #line 400 "../util.k" outmostpattern p = kc_p->u.Consoutmostpatterns.outmostpattern_1; #line 400 "../util.k" outmostpatterns rp = kc_p->u.Consoutmostpatterns.outmostpatterns_1; unparse_outmostpatterns(rp, kc_printer, kc_current_view); unparse_outmostpattern(p, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } default: kc_unparsing_default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_Consoutmostpatterns: unparse_outmostpattern( kc_p->u.Consoutmostpatterns.outmostpattern_1, kc_printer, kc_current_view ); unparse_outmostpatterns( kc_p->u.Consoutmostpatterns.outmostpatterns_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_patternchainitem #ifdef KC_USE_PROTOTYPES (patternchainitem kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) patternchainitem kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_patternchainitem(kc_p, "kc_p"); switch((int)kc_current_view) { case (int)view_set_type: { if (( kc_p->prod_sel == sel_PatternchainitemOutmost)) { #line 787 "../util.k" outmostpattern p = kc_p->u.PatternchainitemOutmost.outmostpattern_1; #line 789 "../util.k" if (! eq_ID( cf_topphylum(), f_emptyId() )) #line 14501 "unpk.c" { #line 790 "../util.k" p->type = cf_topphylum(); #line 14506 "unpk.c" } } else if (( kc_p->prod_sel == sel_PatternchainitemGroup)) { #line 786 "../util.k" patternchains mp = kc_p->u.PatternchainitemGroup.patternchains_1; #line 786 "../util.k" /*EMPTY*/ #line 14514 "unpk.c" } else goto kc_unparsing_default; break; } case (int)view_check: { if (( kc_p->prod_sel == sel_PatternchainitemOutmost)) { #line 744 "../util.k" outmostpattern p = kc_p->u.PatternchainitemOutmost.outmostpattern_1; #line 746 "../util.k" if (cf_topinforeachcontext()) #line 14525 "unpk.c" { unparse_outmostpattern(p, kc_printer, view_check_is_var); } #line 748 "../util.k" else #line 14531 "unpk.c" { unparse_outmostpattern(p, kc_printer, view_check_outmostopers_in_phylum); } } else if (( kc_p->prod_sel == sel_PatternchainitemGroup)) { #line 739 "../util.k" patternchainitem mpg = kc_p; #line 739 "../util.k" patternchains mp = kc_p->u.PatternchainitemGroup.patternchains_1; #line 740 "../util.k" v_report( NonFatal( FileLine( mpg->file, mpg->line ), Problem1S( "Internal Error: PatternchainitemGroup was not handled correctly" ))); #line 14545 "unpk.c" } else goto kc_unparsing_default; break; } default: kc_unparsing_default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_PatternchainitemOutmost: unparse_outmostpattern( kc_p->u.PatternchainitemOutmost.outmostpattern_1, kc_printer, kc_current_view ); break; case (int)sel_PatternchainitemGroup: unparse_patternchains( kc_p->u.PatternchainitemGroup.patternchains_1, kc_printer, kc_current_view ); break; case (int)sel_PatternchainitemDollarid: unparse_ID( kc_p->u.PatternchainitemDollarid.ID_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_outmostpattern #ifdef KC_USE_PROTOTYPES (outmostpattern kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) outmostpattern kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_outmostpattern(kc_p, "kc_p"); switch((int)kc_current_view) { case (int)view_check_is_var: { if (( kc_p->prod_sel == sel_OPOperatorWildcard)) { #line 795 "../util.k" ID i = kc_p->u.OPOperatorWildcard.ID_1; #line 796 "../util.k" v_warnifnotvariable( i ); #line 14585 "unpk.c" } else if (( kc_p->prod_sel == sel_OPOperator)) { #line 798 "../util.k" /*EMPTY*/ #line 14590 "unpk.c" } else if (( kc_p->prod_sel == sel_OPNonLeafVariable)) { #line 800 "../util.k" /*EMPTY*/ #line 14595 "unpk.c" } else if (( kc_p->prod_sel == sel_OPWildcard)) { #line 802 "../util.k" /*EMPTY*/ #line 14600 "unpk.c" } else if (( kc_p->prod_sel == sel_OPDefault)) { #line 802 "../util.k" /*EMPTY*/ #line 14605 "unpk.c" } else goto kc_unparsing_default; break; } case (int)view_check_outmostopers_in_phylum: { if (( kc_p->prod_sel == sel_OPOperatorWildcard)) { #line 404 "../util.k" ID o = kc_p->u.OPOperatorWildcard.ID_1; #line 405 "../util.k" if ( f_useoccuroperator( o )) { if ( eq_ID( cf_topphylum(), f_emptyId() )) { cf_popphylum(); cf_pushphylum( f_phylumofoperator( o ) ); } if (! f_operatorinphylum( o, cf_topphylum())) { v_report(NonFatal( FileLine( o->file, o->line ), Problem1S1ID1S1ID( "outermost operator", o, "not in expected phylum", cf_topphylum() ))); } else { operators tmp = Consoperators( o, cf_topoutmostoperators() ); cf_popoutmostoperators(); cf_pushoutmostoperators( tmp ); } } #line 14632 "unpk.c" } else if (( kc_p->prod_sel == sel_OPOperator)) { #line 436 "../util.k" ID o = kc_p->u.OPOperator.ID_1; #line 436 "../util.k" patterns p = kc_p->u.OPOperator.patterns_1; #line 437 "../util.k" if( f_useoccuroperator( o )) #line 14641 "unpk.c" { #line 438 "../util.k" if ( eq_ID( cf_topphylum(), f_emptyId() )) { cf_popphylum(); cf_pushphylum( f_phylumofoperator( o ) ); } #line 14648 "unpk.c" #line 442 "../util.k" if (f_operatorinphylum( o, cf_topphylum())) #line 14651 "unpk.c" { #line 443 "../util.k" operators tmp = Consoperators( o, cf_topoutmostoperators() ); cf_popoutmostoperators(); cf_pushoutmostoperators( tmp ); cf_pusharguments( reverse_arguments( f_argumentsofoperator( o ))); cf_pushoperator( o ); #line 14660 "unpk.c" unparse_patterns(p, kc_printer, view_check); #line 450 "../util.k" if (! f_Nilarguments( cf_toparguments() )) { v_report(NonFatal( FileLine( o->file, o->line ), Problem1S1ID( "too few subpatterns for operator", o ))); } cf_poparguments(); cf_popoperator(); #line 14670 "unpk.c" } #line 458 "../util.k" else { v_report(NonFatal( FileLine( o->file, o->line ), Problem1S1ID1S1ID( "outermost operator", o, "not in expected phylum", cf_topphylum() ))); } #line 14678 "unpk.c" } } else if (( kc_p->prod_sel == sel_OPNonLeafVariable)) { #line 497 "../util.k" ID v = kc_p->u.OPNonLeafVariable.ID_1; #line 497 "../util.k" outmostpattern p = kc_p->u.OPNonLeafVariable.outmostpattern_1; #line 499 "../util.k" variables tmp = Consvariables( v, cf_topvariables() ); ID tmp_pid = f_phylumofoutmostpattern( p ); ID tmp_vid = f_phylumofpatternvariable( v ); ID tmp_resid = eq_ID( tmp_pid, f_emptyId() ) ? tmp_vid : tmp_pid; if ( eq_ID( cf_topphylum(), f_emptyId() )) { cf_popphylum(); cf_pushphylum( tmp_resid ); } cf_popvariables(); cf_pushvariables( tmp ); v_extendoccur( v, ITPatternVariable( tmp_resid, cl_scope)); #line 14698 "unpk.c" unparse_outmostpattern(p, kc_printer, view_check); } else goto kc_unparsing_default; break; } case (int)view_check: { if (( kc_p->prod_sel == sel_OPOperatorWildcard)) { #line 423 "../util.k" ID o = kc_p->u.OPOperatorWildcard.ID_1; #line 424 "../util.k" if( f_useoccuroperator( o )) { if ( eq_ID( cf_topphylum(), f_emptyId() )) { cf_popphylum(); cf_pushphylum( f_phylumofoperator( o ) ); } { operators tmp = Consoperators( o, cf_topoutmostoperators() ); cf_popoutmostoperators(); cf_pushoutmostoperators( tmp ); } } #line 14720 "unpk.c" } else if (( kc_p->prod_sel == sel_OPOperator)) { #line 465 "../util.k" ID o = kc_p->u.OPOperator.ID_1; #line 465 "../util.k" patterns p = kc_p->u.OPOperator.patterns_1; #line 466 "../util.k" if( f_useoccuroperator( o )) #line 14729 "unpk.c" { #line 467 "../util.k" if ( eq_ID( cf_topphylum(), f_emptyId() )) { cf_popphylum(); cf_pushphylum( f_phylumofoperator( o ) ); } #line 14736 "unpk.c" { #line 472 "../util.k" operators tmp = Consoperators( o, cf_topoutmostoperators() ); cf_popoutmostoperators(); cf_pushoutmostoperators( tmp ); cf_pusharguments( reverse_arguments( f_argumentsofoperator( o ))); cf_pushoperator( o ); #line 14745 "unpk.c" unparse_patterns(p, kc_printer, kc_current_view); #line 479 "../util.k" if (! f_Nilarguments( cf_toparguments() )) { v_report(NonFatal( FileLine( o->file, o->line ), Problem1S1ID( "too few subpatterns for operator", o ))); } cf_poparguments(); cf_popoperator(); #line 14755 "unpk.c" } } } else if (( kc_p->prod_sel == sel_OPNonLeafVariable)) { #line 488 "../util.k" ID v = kc_p->u.OPNonLeafVariable.ID_1; #line 488 "../util.k" outmostpattern p = kc_p->u.OPNonLeafVariable.outmostpattern_1; #line 490 "../util.k" variables tmp = Consvariables( v, cf_topvariables() ); cf_popvariables(); cf_pushvariables( tmp ); v_extendoccur( v, ITPatternVariable( f_phylumofoutmostpattern( p ), cl_scope)); #line 14770 "unpk.c" unparse_outmostpattern(p, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_OPWildcard)) { #line 513 "../util.k" /*EMPTY*/ #line 14776 "unpk.c" } else if (( kc_p->prod_sel == sel_OPDefault)) { #line 513 "../util.k" /*EMPTY*/ #line 14781 "unpk.c" } else goto kc_unparsing_default; break; } default: kc_unparsing_default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_OPOperatorWildcard: unparse_ID( kc_p->u.OPOperatorWildcard.ID_1, kc_printer, kc_current_view ); break; case (int)sel_OPOperator: unparse_ID( kc_p->u.OPOperator.ID_1, kc_printer, kc_current_view ); unparse_patterns( kc_p->u.OPOperator.patterns_1, kc_printer, kc_current_view ); break; case (int)sel_OPNonLeafVariable: unparse_ID( kc_p->u.OPNonLeafVariable.ID_1, kc_printer, kc_current_view ); unparse_outmostpattern( kc_p->u.OPNonLeafVariable.outmostpattern_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_pattern #ifdef KC_USE_PROTOTYPES (pattern kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) pattern kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_pattern(kc_p, "kc_p"); switch((int)kc_current_view) { case (int)view_check: { if (( kc_p->prod_sel == sel_PVariable)) { #line 535 "../util.k" ID v = kc_p->u.PVariable.ID_1; #line 536 "../util.k" variables tmp = Consvariables( v, cf_topvariables() ); cf_popvariables(); cf_pushvariables( tmp ); v_extendoccur( v, ITPatternVariable( f_hd_arguments( cf_toparguments() ), cl_scope )); #line 14828 "unpk.c" } else if (( kc_p->prod_sel == sel_POperator)) { #line 543 "../util.k" ID o = kc_p->u.POperator.ID_1; #line 543 "../util.k" patterns p = kc_p->u.POperator.patterns_1; #line 544 "../util.k" if( f_useoccuroperator( o )) #line 14837 "unpk.c" { #line 545 "../util.k" if (f_Nilarguments( cf_toparguments() )) { ID o = cf_topoperator(); v_report(NonFatal( FileLine( o->file, o->line ), Problem1S1ID( "too many subpatterns for operator", o ))); } else if (f_operatorinphylum( o, f_hd_arguments( cf_toparguments() ))) #line 14845 "unpk.c" { #line 550 "../util.k" cf_pusharguments( reverse_arguments( f_argumentsofoperator( o ))); cf_pushoperator( o ); #line 14851 "unpk.c" unparse_patterns(p, kc_printer, kc_current_view); #line 554 "../util.k" if (! f_Nilarguments( cf_toparguments() )) { v_report(NonFatal( FileLine( o->file, o->line ), Problem1S1ID( "too few subpatterns for operator", o ))); } cf_poparguments(); cf_popoperator(); #line 14861 "unpk.c" } #line 561 "../util.k" else #line 14865 "unpk.c" { #line 562 "../util.k" v_report(NonFatal( FileLine( o->file, o->line ), Problem1S1ID1S1ID( "operator", o, "not in phylum", f_hd_arguments( cf_toparguments() ) ))); #line 14872 "unpk.c" } } } else if (( kc_p->prod_sel == sel_PNonLeafVariable)) { #line 568 "../util.k" ID v = kc_p->u.PNonLeafVariable.ID_1; #line 568 "../util.k" pattern p = kc_p->u.PNonLeafVariable.pattern_1; #line 570 "../util.k" variables tmp = Consvariables( v, cf_topvariables() ); cf_popvariables(); cf_pushvariables( tmp ); v_extendoccur( v, ITPatternVariable( f_hd_arguments( cf_toparguments() ), cl_scope )); #line 14888 "unpk.c" unparse_pattern(p, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_PWildcard)) { #line 578 "../util.k" /*EMPTY*/ #line 14894 "unpk.c" } else if (( kc_p->prod_sel == sel_PStringLiteral)) { #line 580 "../util.k" if ( (! eq_ID( f_hd_arguments( cf_toparguments() ), Id( Str( mkcasestring( "casestring" ))))) && (! eq_ID( f_hd_arguments( cf_toparguments() ), Id( Str( mkcasestring( "nocasestring" ))))) ) { v_report(NonFatal( FileLine( cf_topoperator()->file, cf_topoperator()->line ), Problem1S( "unexpected string subterm" ))); } #line 14906 "unpk.c" } else if (( kc_p->prod_sel == sel_PIntLiteral)) { #line 589 "../util.k" INT i = kc_p->u.PIntLiteral.INT_1; #line 590 "../util.k" if ((! eq_ID( f_hd_arguments( cf_toparguments() ), Id( Str( mkcasestring( "int" ))))) && (! eq_ID( f_hd_arguments( cf_toparguments() ), Id( Str( mkcasestring( "float" ))))) ) { v_report(NonFatal( FileLine( i->file, i->line ), Problem1S( "unexpected int subterm" ))); } #line 14920 "unpk.c" } else goto kc_unparsing_default; break; } default: kc_unparsing_default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_PVariable: unparse_ID( kc_p->u.PVariable.ID_1, kc_printer, kc_current_view ); break; case (int)sel_POperator: unparse_ID( kc_p->u.POperator.ID_1, kc_printer, kc_current_view ); unparse_patterns( kc_p->u.POperator.patterns_1, kc_printer, kc_current_view ); break; case (int)sel_PNonLeafVariable: unparse_ID( kc_p->u.PNonLeafVariable.ID_1, kc_printer, kc_current_view ); unparse_pattern( kc_p->u.PNonLeafVariable.pattern_1, kc_printer, kc_current_view ); break; case (int)sel_PStringLiteral: unparse_CexpressionDQ( kc_p->u.PStringLiteral.CexpressionDQ_1, kc_printer, kc_current_view ); break; case (int)sel_PIntLiteral: unparse_INT( kc_p->u.PIntLiteral.INT_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_patterns #ifdef KC_USE_PROTOTYPES (patterns kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) patterns kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_patterns(kc_p, "kc_p"); switch((int)kc_current_view) { case (int)view_check: { if (( kc_p->prod_sel == sel_Nilpatterns)) { #line 531 "../util.k" /*EMPTY*/ #line 14966 "unpk.c" } else if (( kc_p->prod_sel == sel_Conspatterns)) { #line 515 "../util.k" pattern p = kc_p->u.Conspatterns.pattern_1; #line 515 "../util.k" patterns rp = kc_p->u.Conspatterns.patterns_1; unparse_patterns(rp, kc_printer, kc_current_view); #line 517 "../util.k" if (f_Nilarguments( cf_toparguments() )) { ID o = cf_topoperator(); v_report(NonFatal( FileLine( o->file, o->line ), Problem1S1ID( "too many subpatterns for operator", o ))); } else #line 14980 "unpk.c" { #line 522 "../util.k" arguments tmp; #line 14985 "unpk.c" unparse_pattern(p, kc_printer, kc_current_view); #line 525 "../util.k" tmp = cf_toparguments(); cf_poparguments(); cf_pusharguments( f_tl_arguments( tmp )); #line 14992 "unpk.c" } } else goto kc_unparsing_default; break; } default: kc_unparsing_default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_Conspatterns: unparse_pattern( kc_p->u.Conspatterns.pattern_1, kc_printer, kc_current_view ); unparse_patterns( kc_p->u.Conspatterns.patterns_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_term #ifdef KC_USE_PROTOTYPES (term kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) term kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_term(kc_p, "kc_p"); switch((int)kc_current_view) { default: case (int)base_uview: { if (( kc_p->prod_sel == sel_TVariable)) { #line 7311 "../gen.k" ID id = kc_p->u.TVariable.ID_1; unparse_ID(id, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_TOperator)) { #line 7312 "../gen.k" ID id = kc_p->u.TOperator.ID_1; #line 7312 "../gen.k" terms t = kc_p->u.TOperator.terms_1; unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)("(", kc_current_view); } unparse_terms(t, kc_printer, kc_current_view); { (*kc_printer)(")", kc_current_view); } } else if (( kc_p->prod_sel == sel_TStringLiteral)) { #line 7313 "../gen.k" CexpressionDQ Cexpr = kc_p->u.TStringLiteral.CexpressionDQ_1; unparse_CexpressionDQ(Cexpr, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_TIntLiteral)) { #line 7314 "../gen.k" INT i = kc_p->u.TIntLiteral.INT_1; unparse_INT(i, kc_printer, kc_current_view); } else switch((int)kc_p->prod_sel) { case (int)sel_TVariable: unparse_ID( kc_p->u.TVariable.ID_1, kc_printer, kc_current_view ); break; case (int)sel_TOperator: unparse_ID( kc_p->u.TOperator.ID_1, kc_printer, kc_current_view ); unparse_terms( kc_p->u.TOperator.terms_1, kc_printer, kc_current_view ); break; case (int)sel_TStringLiteral: unparse_CexpressionDQ( kc_p->u.TStringLiteral.CexpressionDQ_1, kc_printer, kc_current_view ); break; case (int)sel_TIntLiteral: unparse_INT( kc_p->u.TIntLiteral.INT_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_terms #ifdef KC_USE_PROTOTYPES (terms kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) terms kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_terms(kc_p, "kc_p"); switch((int)kc_current_view) { default: case (int)base_uview: { if (( kc_p->prod_sel == sel_Nilterms)) { #line 7315 "../gen.k" /*EMPTY*/ #line 15084 "unpk.c" } else if (( kc_p->prod_sel == sel_Consterms) && ( kc_p->u.Consterms.terms_1->prod_sel == sel_Nilterms)) { #line 7316 "../gen.k" term t = kc_p->u.Consterms.term_1; unparse_term(t, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_Consterms)) { #line 7317 "../gen.k" term t = kc_p->u.Consterms.term_1; #line 7317 "../gen.k" terms r_t = kc_p->u.Consterms.terms_1; unparse_terms(r_t, kc_printer, kc_current_view); { (*kc_printer)(", ", kc_current_view); } unparse_term(t, kc_printer, kc_current_view); } else switch((int)kc_p->prod_sel) { case (int)sel_Consterms: unparse_term( kc_p->u.Consterms.term_1, kc_printer, kc_current_view ); unparse_terms( kc_p->u.Consterms.terms_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_fnfiles #ifdef KC_USE_PROTOTYPES (fnfiles kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) fnfiles kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_fnfiles(kc_p, "kc_p"); switch((int)kc_current_view) { default: case (int)base_uview: { if (( kc_p->prod_sel == sel_Nilfnfiles)) { #line 199 "../gen.k" /*EMPTY*/ #line 15126 "unpk.c" } else if (( kc_p->prod_sel == sel_Consfnfiles)) { #line 200 "../gen.k" fnfile f = kc_p->u.Consfnfiles.fnfile_1; #line 200 "../gen.k" fnfiles r_f = kc_p->u.Consfnfiles.fnfiles_1; unparse_fnfiles(r_f, kc_printer, kc_current_view); { (*kc_printer)(" \"", kc_current_view); } unparse_fnfile(f, kc_printer, kc_current_view); { (*kc_printer)("\"\ \n", kc_current_view); } } else switch((int)kc_p->prod_sel) { case (int)sel_Consfnfiles: unparse_fnfile( kc_p->u.Consfnfiles.fnfile_1, kc_printer, kc_current_view ); unparse_fnfiles( kc_p->u.Consfnfiles.fnfiles_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_fnfile #ifdef KC_USE_PROTOTYPES (fnfile kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) fnfile kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_fnfile(kc_p, "kc_p"); switch((int)kc_current_view) { default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_FnFile: unparse_casestring( kc_p->u.FnFile.casestring_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_fndeclarations #ifdef KC_USE_PROTOTYPES (fndeclarations kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) fndeclarations kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_fndeclarations(kc_p, "kc_p"); switch((int)kc_current_view) { case (int)view_gen_fnk_c: { if (( kc_p->prod_sel == sel_Nilfndeclarations)) { #line 7403 "../gen.k" /*EMPTY*/ #line 15186 "unpk.c" } else if (( kc_p->prod_sel == sel_Consfndeclarations)) { #line 7404 "../gen.k" fndeclaration fnd = kc_p->u.Consfndeclarations.fndeclaration_1; #line 7404 "../gen.k" fndeclarations r_fnds = kc_p->u.Consfndeclarations.fndeclarations_1; unparse_fndeclarations(r_fnds, kc_printer, kc_current_view); unparse_fndeclaration(fnd, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_fnkdecls_c: { if (( kc_p->prod_sel == sel_Nilfndeclarations)) { #line 7380 "../gen.k" /*EMPTY*/ #line 15203 "unpk.c" } else if (( kc_p->prod_sel == sel_Consfndeclarations)) { #line 7381 "../gen.k" fndeclaration fnd = kc_p->u.Consfndeclarations.fndeclaration_1; #line 7381 "../gen.k" fndeclarations r_fnds = kc_p->u.Consfndeclarations.fndeclarations_1; unparse_fndeclarations(r_fnds, kc_printer, kc_current_view); unparse_fndeclaration(fnd, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_fnk_h: { if (( kc_p->prod_sel == sel_Nilfndeclarations)) { #line 7321 "../gen.k" /*EMPTY*/ #line 15220 "unpk.c" } else if (( kc_p->prod_sel == sel_Consfndeclarations)) { #line 7322 "../gen.k" fndeclaration fnd = kc_p->u.Consfndeclarations.fndeclaration_1; #line 7322 "../gen.k" fndeclarations r_fnds = kc_p->u.Consfndeclarations.fndeclarations_1; unparse_fndeclarations(r_fnds, kc_printer, kc_current_view); unparse_fndeclaration(fnd, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_make_patternreps: { if (( kc_p->prod_sel == sel_Nilfndeclarations)) { #line 1817 "../util.k" /*EMPTY*/ #line 15237 "unpk.c" } else if (( kc_p->prod_sel == sel_Consfndeclarations)) { #line 1818 "../util.k" fndeclaration a_fnd = kc_p->u.Consfndeclarations.fndeclaration_1; #line 1818 "../util.k" fndeclarations r_fnd = kc_p->u.Consfndeclarations.fndeclarations_1; unparse_fndeclarations(r_fnd, kc_printer, kc_current_view); unparse_fndeclaration(a_fnd, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_check: { if (( kc_p->prod_sel == sel_Nilfndeclarations)) { #line 637 "../util.k" /*EMPTY*/ #line 15254 "unpk.c" } else if (( kc_p->prod_sel == sel_Consfndeclarations)) { #line 635 "../util.k" fndeclaration fnd = kc_p->u.Consfndeclarations.fndeclaration_1; #line 635 "../util.k" fndeclarations fnds = kc_p->u.Consfndeclarations.fndeclarations_1; unparse_fndeclarations(fnds, kc_printer, kc_current_view); unparse_fndeclaration(fnd, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } default: kc_unparsing_default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_Consfndeclarations: unparse_fndeclaration( kc_p->u.Consfndeclarations.fndeclaration_1, kc_printer, kc_current_view ); unparse_fndeclarations( kc_p->u.Consfndeclarations.fndeclarations_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_fndeclaration #ifdef KC_USE_PROTOTYPES (fndeclaration kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) fndeclaration kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_fndeclaration(kc_p, "kc_p"); switch((int)kc_current_view) { case (int)view_gen_fnk_c: { if (( kc_p->prod_sel == sel_FnDeclaration)) { #line 7408 "../gen.k" ID fn_t = kc_p->u.FnDeclaration.ID_1; #line 7408 "../gen.k" int fn_p = kc_p->u.FnDeclaration.int_1; #line 7408 "../gen.k" ID fn_name = kc_p->u.FnDeclaration.ID_2; #line 7408 "../gen.k" fnarguments fn_args = kc_p->u.FnDeclaration.fnarguments_1; #line 7408 "../gen.k" Ctext ct = kc_p->u.FnDeclaration.Ctext_1; #line 7408 "../gen.k" fnclass fn_c = kc_p->u.FnDeclaration.fnclass_1; #line 7409 "../gen.k" char *star_string = f_mkstars( fn_p ); gl_return_type = f_strofID( fn_t ); gl_return_ID = fn_t; gl_star_string = star_string; gl_function = f_strofID( fn_name ); #line 15312 "unpk.c" unparse_fnclass(fn_c, kc_printer, kc_current_view); unparse_ID(fn_t, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_charptr(star_string, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_ID(fn_name, kc_printer, kc_current_view); { (*kc_printer)("\ \n#ifdef KC_USE_PROTOTYPES\ \n(", kc_current_view); } unparse_Cvariabledeclarations(kc_p->sorted, kc_printer, view_gen_fnkarg_and_decls); { (*kc_printer)(")\ \n#else\ \n(", kc_current_view); } unparse_fnarguments(fn_args, kc_printer, kc_current_view); { (*kc_printer)(") ", kc_current_view); } unparse_Cvariabledeclarations(kc_p->sorted, kc_printer, kc_current_view); { (*kc_printer)("\ \n#endif\ \n#line ", kc_current_view); } unparse_int(ct->line, kc_printer, kc_current_view); { (*kc_printer)(" \"", kc_current_view); } unparse_casestring(ct->file, kc_printer, view_filename); { (*kc_printer)("\"\ \n{", kc_current_view); } unparse_Ctext(ct, kc_printer, view_gen_initializephyla_c); { (*kc_printer)("\ \n#line ", kc_current_view); } unparse_int(kc_p->last_line, kc_printer, kc_current_view); { (*kc_printer)(" \"", kc_current_view); } unparse_casestring(kc_p->file, kc_printer, view_filename); { (*kc_printer)("\"\ \n}", kc_current_view); } unparse_charptr(g_emptystring, kc_printer, view_printer_outputfileline); { (*kc_printer)("\ \n", kc_current_view); } #line 7430 "../gen.k" gl_return_type = ""; gl_return_ID = 0; gl_star_string = ""; gl_function = ""; #line 15354 "unpk.c" } else if (( kc_p->prod_sel == sel_FnAcDeclaration)) { #line 7500 "../gen.k" ac_declaration_specifiers fn_ds = kc_p->u.FnAcDeclaration.ac_declaration_specifiers_1; #line 7500 "../gen.k" ac_declarator fn_d = kc_p->u.FnAcDeclaration.ac_declarator_1; #line 7500 "../gen.k" Ctext ct = kc_p->u.FnAcDeclaration.Ctext_1; #line 7500 "../gen.k" ID fn_name = kc_p->u.FnAcDeclaration.ID_1; #line 7501 "../gen.k" char *star_string = f_mkstars( f_stars_of_declarator( fn_d ) ); gl_return_ID = f_ID_of_ac_declaration_specifiers( fn_ds ); gl_return_type = f_strofID( gl_return_ID ); gl_star_string = star_string; gl_function = f_strofID( fn_name ); #line 15372 "unpk.c" unparse_ac_declaration_specifiers(fn_ds, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_ac_declarator(fn_d, kc_printer, view_gen_fn_pointer_name); { (*kc_printer)("\ \n#ifdef KC_USE_PROTOTYPES\ \n(", kc_current_view); } unparse_ac_parameter_type_list(kc_p->newsorted, kc_printer, kc_current_view); { (*kc_printer)(")\ \n#else\ \n(", kc_current_view); } unparse_ac_parameter_type_list(kc_p->newsorted, kc_printer, view_gen_fnkargs); { (*kc_printer)(") ", kc_current_view); } unparse_ac_parameter_type_list(kc_p->newsorted, kc_printer, view_gen_fnkdecls); { (*kc_printer)("\ \n#endif\ \n#line ", kc_current_view); } unparse_int(ct->line, kc_printer, kc_current_view); { (*kc_printer)(" \"", kc_current_view); } unparse_casestring(ct->file, kc_printer, view_filename); { (*kc_printer)("\"\ \n{", kc_current_view); } unparse_Ctext(ct, kc_printer, view_gen_initializephyla_c); { (*kc_printer)("\ \n#line ", kc_current_view); } unparse_int(kc_p->last_line, kc_printer, kc_current_view); { (*kc_printer)(" \"", kc_current_view); } unparse_casestring(kc_p->file, kc_printer, view_filename); { (*kc_printer)("\"\ \n}", kc_current_view); } unparse_charptr(g_emptystring, kc_printer, view_printer_outputfileline); { (*kc_printer)("\ \n", kc_current_view); } #line 7522 "../gen.k" gl_return_type = ""; gl_return_ID = 0; gl_star_string = ""; gl_function = ""; #line 15411 "unpk.c" } else goto kc_unparsing_default; break; } case (int)view_gen_fnkdecls_c: { if (( kc_p->prod_sel == sel_FnDeclaration) && ( kc_p->u.FnDeclaration.fnclass_1->prod_sel == sel_GlobalFn)) { #line 7386 "../gen.k" /*EMPTY*/ #line 15420 "unpk.c" } else if (( kc_p->prod_sel == sel_FnDeclaration) && ( kc_p->u.FnDeclaration.fnclass_1->prod_sel == sel_LocalFn)) { #line 7387 "../gen.k" ID fn_t = kc_p->u.FnDeclaration.ID_1; #line 7387 "../gen.k" int fn_p = kc_p->u.FnDeclaration.int_1; #line 7387 "../gen.k" ID fn_name = kc_p->u.FnDeclaration.ID_2; #line 7389 "../gen.k" char *star_string = f_mkstars( fn_p ); #line 15432 "unpk.c" { (*kc_printer)("static ", kc_current_view); } unparse_ID(fn_t, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_charptr(star_string, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_ID(fn_name, kc_printer, kc_current_view); { (*kc_printer)(" KC__P((", kc_current_view); } unparse_Cvariabledeclarations(kc_p->sorted, kc_printer, view_gen_fnk_h); { (*kc_printer)(")); \ \n", kc_current_view); } } else if (( kc_p->prod_sel == sel_FnAcDeclaration) && ( kc_p->u.FnAcDeclaration.fnclass_1->prod_sel == sel_GlobalFn)) { #line 7396 "../gen.k" /*EMPTY*/ #line 15447 "unpk.c" } else if (( kc_p->prod_sel == sel_FnAcDeclaration) && ( kc_p->u.FnAcDeclaration.fnclass_1->prod_sel == sel_LocalFn)) { #line 7397 "../gen.k" ac_declaration_specifiers fn_ds = kc_p->u.FnAcDeclaration.ac_declaration_specifiers_1; #line 7397 "../gen.k" ac_declarator fn_d = kc_p->u.FnAcDeclaration.ac_declarator_1; unparse_ac_declaration_specifiers(fn_ds, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_ac_declarator(fn_d, kc_printer, view_gen_fn_pointer_name); { (*kc_printer)(" KC__P((", kc_current_view); } unparse_ac_parameter_type_list(kc_p->newsorted, kc_printer, kc_current_view); { (*kc_printer)(")); \ \n", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_fnk_h: { if (( kc_p->prod_sel == sel_FnDeclaration) && ( kc_p->u.FnDeclaration.fnclass_1->prod_sel == sel_GlobalFn)) { #line 7326 "../gen.k" ID fn_t = kc_p->u.FnDeclaration.ID_1; #line 7326 "../gen.k" int fn_p = kc_p->u.FnDeclaration.int_1; #line 7326 "../gen.k" ID fn_name = kc_p->u.FnDeclaration.ID_2; #line 7328 "../gen.k" char *star_string = f_mkstars( fn_p ); #line 15476 "unpk.c" unparse_ID(fn_t, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_charptr(star_string, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_ID(fn_name, kc_printer, kc_current_view); { (*kc_printer)(" KC__P((", kc_current_view); } unparse_Cvariabledeclarations(kc_p->sorted, kc_printer, kc_current_view); { (*kc_printer)(")); \ \n", kc_current_view); } } else if (( kc_p->prod_sel == sel_FnDeclaration) && ( kc_p->u.FnDeclaration.fnclass_1->prod_sel == sel_LocalFn)) { #line 7334 "../gen.k" /*EMPTY*/ #line 15490 "unpk.c" } else if (( kc_p->prod_sel == sel_FnAcDeclaration) && ( kc_p->u.FnAcDeclaration.fnclass_1->prod_sel == sel_GlobalFn)) { #line 7340 "../gen.k" ac_declaration_specifiers fn_ds = kc_p->u.FnAcDeclaration.ac_declaration_specifiers_1; #line 7340 "../gen.k" ac_declarator fn_d = kc_p->u.FnAcDeclaration.ac_declarator_1; unparse_ac_declaration_specifiers(fn_ds, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_ac_declarator(fn_d, kc_printer, view_gen_fn_pointer_name); { (*kc_printer)(" KC__P((", kc_current_view); } unparse_ac_parameter_type_list(kc_p->newsorted, kc_printer, kc_current_view); { (*kc_printer)(")); \ \n", kc_current_view); } } else if (( kc_p->prod_sel == sel_FnAcDeclaration) && ( kc_p->u.FnAcDeclaration.fnclass_1->prod_sel == sel_LocalFn)) { #line 7346 "../gen.k" /*EMPTY*/ #line 15508 "unpk.c" } else goto kc_unparsing_default; break; } case (int)view_make_patternreps: { if (( kc_p->prod_sel == sel_FnDeclaration)) { #line 1823 "../util.k" Ctext ct = kc_p->u.FnDeclaration.Ctext_1; unparse_Ctext(ct, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_FnAcDeclaration)) { #line 1822 "../util.k" Ctext ct = kc_p->u.FnAcDeclaration.Ctext_1; unparse_Ctext(ct, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_check: { if (( kc_p->prod_sel == sel_FnDeclaration)) { #line 639 "../util.k" Ctext ct = kc_p->u.FnDeclaration.Ctext_1; unparse_Ctext(ct, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_FnAcDeclaration)) { #line 638 "../util.k" Ctext ct = kc_p->u.FnAcDeclaration.Ctext_1; unparse_Ctext(ct, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } default: kc_unparsing_default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_FnDeclaration: unparse_ID( kc_p->u.FnDeclaration.ID_1, kc_printer, kc_current_view ); unparse_int( kc_p->u.FnDeclaration.int_1, kc_printer, kc_current_view ); unparse_ID( kc_p->u.FnDeclaration.ID_2, kc_printer, kc_current_view ); unparse_fnarguments( kc_p->u.FnDeclaration.fnarguments_1, kc_printer, kc_current_view ); unparse_Cvariabledeclarations( kc_p->u.FnDeclaration.Cvariabledeclarations_1, kc_printer, kc_current_view ); unparse_Ctext( kc_p->u.FnDeclaration.Ctext_1, kc_printer, kc_current_view ); unparse_fnclass( kc_p->u.FnDeclaration.fnclass_1, kc_printer, kc_current_view ); break; case (int)sel_FnAcDeclaration: unparse_ac_declaration_specifiers( kc_p->u.FnAcDeclaration.ac_declaration_specifiers_1, kc_printer, kc_current_view ); unparse_ac_declarator( kc_p->u.FnAcDeclaration.ac_declarator_1, kc_printer, kc_current_view ); unparse_ac_declaration_list( kc_p->u.FnAcDeclaration.ac_declaration_list_1, kc_printer, kc_current_view ); unparse_Ctext( kc_p->u.FnAcDeclaration.Ctext_1, kc_printer, kc_current_view ); unparse_ID( kc_p->u.FnAcDeclaration.ID_1, kc_printer, kc_current_view ); unparse_fnclass( kc_p->u.FnAcDeclaration.fnclass_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_fnclass #ifdef KC_USE_PROTOTYPES (fnclass kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) fnclass kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_fnclass(kc_p, "kc_p"); switch((int)kc_current_view) { case (int)view_gen_fnk_c: { if (( kc_p->prod_sel == sel_GlobalFn)) { #line 7436 "../gen.k" /*EMPTY*/ #line 15582 "unpk.c" } else if (( kc_p->prod_sel == sel_LocalFn)) { { (*kc_printer)("static ", kc_current_view); } } else goto kc_unparsing_default; break; } default: kc_unparsing_default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_LocalFn: unparse_casestring( kc_p->u.LocalFn.casestring_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_fnarguments #ifdef KC_USE_PROTOTYPES (fnarguments kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) fnarguments kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_fnarguments(kc_p, "kc_p"); switch((int)kc_current_view) { case (int)view_gen_fnk_c: { if (( kc_p->prod_sel == sel_Nilfnarguments)) { #line 7440 "../gen.k" /*EMPTY*/ #line 15617 "unpk.c" } else if (( kc_p->prod_sel == sel_Consfnarguments) && ( kc_p->u.Consfnarguments.fnarguments_1->prod_sel == sel_Nilfnarguments)) { #line 7441 "../gen.k" ID a_fnarg = kc_p->u.Consfnarguments.ID_1; unparse_ID(a_fnarg, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_Consfnarguments)) { #line 7444 "../gen.k" ID a_fnarg = kc_p->u.Consfnarguments.ID_1; #line 7444 "../gen.k" fnarguments r_fnargs = kc_p->u.Consfnarguments.fnarguments_1; unparse_fnarguments(r_fnargs, kc_printer, kc_current_view); { (*kc_printer)(", ", kc_current_view); } unparse_ID(a_fnarg, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } default: kc_unparsing_default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_Consfnarguments: unparse_ID( kc_p->u.Consfnarguments.ID_1, kc_printer, kc_current_view ); unparse_fnarguments( kc_p->u.Consfnarguments.fnarguments_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_Cvariabledeclarations #ifdef KC_USE_PROTOTYPES (Cvariabledeclarations kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) Cvariabledeclarations kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_Cvariabledeclarations(kc_p, "kc_p"); switch((int)kc_current_view) { case (int)view_gen_fnkarg_and_decls: { if (( kc_p->prod_sel == sel_NilCvariabledeclarations)) { #line 7479 "../gen.k" /*EMPTY*/ #line 15664 "unpk.c" } else if (( kc_p->prod_sel == sel_ConsCvariabledeclarations) && ( kc_p->u.ConsCvariabledeclarations.Cvariabledeclarations_1->prod_sel == sel_NilCvariabledeclarations)) { #line 7480 "../gen.k" Cvariabledeclaration Cvard = kc_p->u.ConsCvariabledeclarations.Cvariabledeclaration_1; unparse_Cvariabledeclaration(Cvard, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_ConsCvariabledeclarations)) { #line 7483 "../gen.k" Cvariabledeclaration Cvard = kc_p->u.ConsCvariabledeclarations.Cvariabledeclaration_1; #line 7483 "../gen.k" Cvariabledeclarations r_Cvards = kc_p->u.ConsCvariabledeclarations.Cvariabledeclarations_1; unparse_Cvariabledeclarations(r_Cvards, kc_printer, kc_current_view); { (*kc_printer)(", ", kc_current_view); } unparse_Cvariabledeclaration(Cvard, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_fnk_c: { if (( kc_p->prod_sel == sel_NilCvariabledeclarations)) { #line 7448 "../gen.k" /*EMPTY*/ #line 15687 "unpk.c" } else if (( kc_p->prod_sel == sel_ConsCvariabledeclarations) && ( kc_p->u.ConsCvariabledeclarations.Cvariabledeclarations_1->prod_sel == sel_NilCvariabledeclarations)) { #line 7449 "../gen.k" Cvariabledeclaration Cvard = kc_p->u.ConsCvariabledeclarations.Cvariabledeclaration_1; unparse_Cvariabledeclaration(Cvard, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_ConsCvariabledeclarations)) { #line 7452 "../gen.k" Cvariabledeclaration Cvard = kc_p->u.ConsCvariabledeclarations.Cvariabledeclaration_1; #line 7452 "../gen.k" Cvariabledeclarations r_Cvards = kc_p->u.ConsCvariabledeclarations.Cvariabledeclarations_1; unparse_Cvariabledeclarations(r_Cvards, kc_printer, kc_current_view); { (*kc_printer)("\ \n", kc_current_view); } unparse_Cvariabledeclaration(Cvard, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_fnk_h: { if (( kc_p->prod_sel == sel_NilCvariabledeclarations)) { #line 7335 "../gen.k" /*EMPTY*/ #line 15711 "unpk.c" } else if (( kc_p->prod_sel == sel_NilCvariabledeclarations)) { #line 7348 "../gen.k" /*EMPTY*/ #line 15716 "unpk.c" } else if (( kc_p->prod_sel == sel_ConsCvariabledeclarations) && ( kc_p->u.ConsCvariabledeclarations.Cvariabledeclarations_1->prod_sel == sel_NilCvariabledeclarations)) { #line 7336 "../gen.k" Cvariabledeclaration Cvard = kc_p->u.ConsCvariabledeclarations.Cvariabledeclaration_1; unparse_Cvariabledeclaration(Cvard, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_ConsCvariabledeclarations) && ( kc_p->u.ConsCvariabledeclarations.Cvariabledeclarations_1->prod_sel == sel_NilCvariabledeclarations)) { #line 7349 "../gen.k" Cvariabledeclaration Cvard = kc_p->u.ConsCvariabledeclarations.Cvariabledeclaration_1; unparse_Cvariabledeclaration(Cvard, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_ConsCvariabledeclarations)) { #line 7352 "../gen.k" Cvariabledeclaration Cvard = kc_p->u.ConsCvariabledeclarations.Cvariabledeclaration_1; #line 7352 "../gen.k" Cvariabledeclarations r_Cvards = kc_p->u.ConsCvariabledeclarations.Cvariabledeclarations_1; unparse_Cvariabledeclarations(r_Cvards, kc_printer, kc_current_view); { (*kc_printer)(", ", kc_current_view); } unparse_Cvariabledeclaration(Cvard, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } default: kc_unparsing_default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_ConsCvariabledeclarations: unparse_Cvariabledeclaration( kc_p->u.ConsCvariabledeclarations.Cvariabledeclaration_1, kc_printer, kc_current_view ); unparse_Cvariabledeclarations( kc_p->u.ConsCvariabledeclarations.Cvariabledeclarations_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_Cvariabledeclaration #ifdef KC_USE_PROTOTYPES (Cvariabledeclaration kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) Cvariabledeclaration kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_Cvariabledeclaration(kc_p, "kc_p"); switch((int)kc_current_view) { case (int)view_gen_fnkarg_and_decls: { if (( kc_p->prod_sel == sel_CVariabledeclaration)) { #line 7486 "../gen.k" ID type = kc_p->u.CVariabledeclaration.ID_1; #line 7486 "../gen.k" Cvariables a_Cvars = kc_p->u.CVariabledeclaration.Cvariables_1; #line 7487 "../gen.k" gl_type = type; #line 15772 "unpk.c" unparse_Cvariables(a_Cvars, kc_printer, kc_current_view); #line 7489 "../gen.k" gl_type = 0; #line 15776 "unpk.c" } else if (( kc_p->prod_sel == sel_Fnargfpdecl)) { #line 7491 "../gen.k" /*EMPTY*/ #line 15781 "unpk.c" } else goto kc_unparsing_default; break; } case (int)view_gen_fnk_c: { if (( kc_p->prod_sel == sel_CVariabledeclaration)) { #line 7456 "../gen.k" ID type = kc_p->u.CVariabledeclaration.ID_1; #line 7456 "../gen.k" Cvariables a_Cvars = kc_p->u.CVariabledeclaration.Cvariables_1; unparse_ID(type, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_Cvariables(a_Cvars, kc_printer, kc_current_view); { (*kc_printer)(";", kc_current_view); } } else if (( kc_p->prod_sel == sel_Fnargfpdecl)) { #line 7459 "../gen.k" /*EMPTY*/ #line 15800 "unpk.c" } else goto kc_unparsing_default; break; } case (int)view_gen_fnk_h: { if (( kc_p->prod_sel == sel_CVariabledeclaration)) { #line 7355 "../gen.k" ID type = kc_p->u.CVariabledeclaration.ID_1; #line 7355 "../gen.k" Cvariables a_Cvars = kc_p->u.CVariabledeclaration.Cvariables_1; unparse_ID(type, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_Cvariables(a_Cvars, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_Fnargfpdecl)) { #line 7358 "../gen.k" /*EMPTY*/ #line 15818 "unpk.c" } else goto kc_unparsing_default; break; } default: kc_unparsing_default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_CVariabledeclaration: unparse_ID( kc_p->u.CVariabledeclaration.ID_1, kc_printer, kc_current_view ); unparse_Cvariables( kc_p->u.CVariabledeclaration.Cvariables_1, kc_printer, kc_current_view ); break; case (int)sel_Fnargfpdecl: unparse_ID( kc_p->u.Fnargfpdecl.ID_1, kc_printer, kc_current_view ); unparse_Cvariables( kc_p->u.Fnargfpdecl.Cvariables_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_Cvariables #ifdef KC_USE_PROTOTYPES (Cvariables kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) Cvariables kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_Cvariables(kc_p, "kc_p"); switch((int)kc_current_view) { case (int)view_gen_fnkarg_and_decls: { if (( kc_p->prod_sel == sel_NilCvariables)) { #line 7492 "../gen.k" /*EMPTY*/ #line 15855 "unpk.c" } else if (( kc_p->prod_sel == sel_ConsCvariables) && ( kc_p->u.ConsCvariables.Cvariables_1->prod_sel == sel_NilCvariables)) { #line 7493 "../gen.k" Cvariable a_Cvar = kc_p->u.ConsCvariables.Cvariable_1; unparse_ID(gl_type, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_Cvariable(a_Cvar, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_ConsCvariables)) { #line 7496 "../gen.k" Cvariable a_Cvar = kc_p->u.ConsCvariables.Cvariable_1; #line 7496 "../gen.k" Cvariables r_Cvars = kc_p->u.ConsCvariables.Cvariables_1; unparse_Cvariables(r_Cvars, kc_printer, kc_current_view); { (*kc_printer)(", ", kc_current_view); } unparse_ID(gl_type, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_Cvariable(a_Cvar, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_fnk_c: { if (( kc_p->prod_sel == sel_NilCvariables)) { #line 7460 "../gen.k" /*EMPTY*/ #line 15882 "unpk.c" } else if (( kc_p->prod_sel == sel_ConsCvariables) && ( kc_p->u.ConsCvariables.Cvariables_1->prod_sel == sel_NilCvariables)) { #line 7461 "../gen.k" Cvariable a_Cvar = kc_p->u.ConsCvariables.Cvariable_1; unparse_Cvariable(a_Cvar, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_ConsCvariables)) { #line 7464 "../gen.k" Cvariable a_Cvar = kc_p->u.ConsCvariables.Cvariable_1; #line 7464 "../gen.k" Cvariables r_Cvars = kc_p->u.ConsCvariables.Cvariables_1; unparse_Cvariables(r_Cvars, kc_printer, kc_current_view); { (*kc_printer)(",", kc_current_view); } unparse_Cvariable(a_Cvar, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_fnk_h: { if (( kc_p->prod_sel == sel_NilCvariables)) { #line 7359 "../gen.k" /*EMPTY*/ #line 15905 "unpk.c" } else if (( kc_p->prod_sel == sel_ConsCvariables) && ( kc_p->u.ConsCvariables.Cvariables_1->prod_sel == sel_NilCvariables)) { #line 7360 "../gen.k" Cvariable a_Cvar = kc_p->u.ConsCvariables.Cvariable_1; unparse_Cvariable(a_Cvar, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_ConsCvariables)) { #line 7363 "../gen.k" Cvariable a_Cvar = kc_p->u.ConsCvariables.Cvariable_1; #line 7363 "../gen.k" Cvariables r_Cvars = kc_p->u.ConsCvariables.Cvariables_1; unparse_Cvariables(r_Cvars, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_Cvariable(a_Cvar, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } default: kc_unparsing_default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_ConsCvariables: unparse_Cvariable( kc_p->u.ConsCvariables.Cvariable_1, kc_printer, kc_current_view ); unparse_Cvariables( kc_p->u.ConsCvariables.Cvariables_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_Cvariable #ifdef KC_USE_PROTOTYPES (Cvariable kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) Cvariable kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_Cvariable(kc_p, "kc_p"); switch((int)kc_current_view) { case (int)view_gen_fnkarg_and_decls: { if (( kc_p->prod_sel == sel_CVPointer)) { #line 7467 "../gen.k" int pointer = kc_p->u.CVPointer.int_1; #line 7467 "../gen.k" ID name = kc_p->u.CVPointer.ID_1; #line 7468 "../gen.k" char *star_string = f_mkstars( pointer ); #line 15957 "unpk.c" unparse_charptr(star_string, kc_printer, kc_current_view); unparse_ID(name, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_CVFunction)) { #line 7472 "../gen.k" int pointer1 = kc_p->u.CVFunction.int_1; #line 7472 "../gen.k" int pointer2 = kc_p->u.CVFunction.int_2; #line 7472 "../gen.k" ID name = kc_p->u.CVFunction.ID_1; #line 7473 "../gen.k" char *star_string1 = f_mkstars( pointer1 ); char *star_string2 = f_mkstars( pointer2 ); #line 15972 "unpk.c" unparse_charptr(star_string1, kc_printer, kc_current_view); { (*kc_printer)("(", kc_current_view); } unparse_charptr(star_string2, kc_printer, kc_current_view); unparse_ID(name, kc_printer, kc_current_view); { (*kc_printer)(")()", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_fnk_c: { if (( kc_p->prod_sel == sel_CVPointer)) { #line 7467 "../gen.k" int pointer = kc_p->u.CVPointer.int_1; #line 7467 "../gen.k" ID name = kc_p->u.CVPointer.ID_1; #line 7468 "../gen.k" char *star_string = f_mkstars( pointer ); #line 15991 "unpk.c" unparse_charptr(star_string, kc_printer, kc_current_view); unparse_ID(name, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_CVFunction)) { #line 7472 "../gen.k" int pointer1 = kc_p->u.CVFunction.int_1; #line 7472 "../gen.k" int pointer2 = kc_p->u.CVFunction.int_2; #line 7472 "../gen.k" ID name = kc_p->u.CVFunction.ID_1; #line 7473 "../gen.k" char *star_string1 = f_mkstars( pointer1 ); char *star_string2 = f_mkstars( pointer2 ); #line 16006 "unpk.c" unparse_charptr(star_string1, kc_printer, kc_current_view); { (*kc_printer)("(", kc_current_view); } unparse_charptr(star_string2, kc_printer, kc_current_view); unparse_ID(name, kc_printer, kc_current_view); { (*kc_printer)(")()", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_fnk_h: { if (( kc_p->prod_sel == sel_CVPointer)) { #line 7366 "../gen.k" int pointer = kc_p->u.CVPointer.int_1; #line 7367 "../gen.k" char *star_string = f_mkstars( pointer ); #line 16023 "unpk.c" unparse_charptr(star_string, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_CVFunction)) { #line 7371 "../gen.k" int pointer1 = kc_p->u.CVFunction.int_1; #line 7371 "../gen.k" int pointer2 = kc_p->u.CVFunction.int_2; #line 7372 "../gen.k" char *star_string1 = f_mkstars( pointer1 ); char *star_string2 = f_mkstars( pointer2 ); #line 16035 "unpk.c" unparse_charptr(star_string1, kc_printer, kc_current_view); { (*kc_printer)("(", kc_current_view); } unparse_charptr(star_string2, kc_printer, kc_current_view); { (*kc_printer)(")()", kc_current_view); } } else goto kc_unparsing_default; break; } default: kc_unparsing_default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_CVPointer: unparse_int( kc_p->u.CVPointer.int_1, kc_printer, kc_current_view ); unparse_ID( kc_p->u.CVPointer.ID_1, kc_printer, kc_current_view ); break; case (int)sel_CVFunction: unparse_int( kc_p->u.CVFunction.int_1, kc_printer, kc_current_view ); unparse_int( kc_p->u.CVFunction.int_2, kc_printer, kc_current_view ); unparse_ID( kc_p->u.CVFunction.ID_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_Ctext #ifdef KC_USE_PROTOTYPES (Ctext kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) Ctext kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_Ctext(kc_p, "kc_p"); switch((int)kc_current_view) { case (int)view_make_patternreps: { if (( kc_p->prod_sel == sel_NilCtext)) { #line 1827 "../util.k" /*EMPTY*/ #line 16077 "unpk.c" } else if (( kc_p->prod_sel == sel_ConsCtext)) { #line 1828 "../util.k" Ctext_elem ct_elem = kc_p->u.ConsCtext.Ctext_elem_1; #line 1828 "../util.k" Ctext r_ct = kc_p->u.ConsCtext.Ctext_1; unparse_Ctext(r_ct, kc_printer, kc_current_view); unparse_Ctext_elem(ct_elem, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_initializephyla_c: { if (( kc_p->prod_sel == sel_NilCtext)) { #line 3353 "../gen.k" /*EMPTY*/ #line 16094 "unpk.c" } else if (( kc_p->prod_sel == sel_ConsCtext)) { #line 3349 "../gen.k" Ctext_elem cte = kc_p->u.ConsCtext.Ctext_elem_1; #line 3349 "../gen.k" Ctext ct = kc_p->u.ConsCtext.Ctext_1; #line 3350 "../gen.k" gl_print_line_directive = False; #line 16103 "unpk.c" unparse_Ctext(ct, kc_printer, kc_current_view); unparse_Ctext_elem(cte, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_check: { if (( kc_p->prod_sel == sel_NilCtext)) { #line 642 "../util.k" /*EMPTY*/ #line 16114 "unpk.c" } else if (( kc_p->prod_sel == sel_ConsCtext)) { #line 641 "../util.k" Ctext_elem cte = kc_p->u.ConsCtext.Ctext_elem_1; #line 641 "../util.k" Ctext ctes = kc_p->u.ConsCtext.Ctext_1; unparse_Ctext(ctes, kc_printer, kc_current_view); unparse_Ctext_elem(cte, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } default: kc_unparsing_default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_ConsCtext: unparse_Ctext_elem( kc_p->u.ConsCtext.Ctext_elem_1, kc_printer, kc_current_view ); unparse_Ctext( kc_p->u.ConsCtext.Ctext_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_Ctext_elem #ifdef KC_USE_PROTOTYPES (Ctext_elem kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) Ctext_elem kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_Ctext_elem(kc_p, "kc_p"); switch((int)kc_current_view) { case (int)view_make_patternreps: { if (( kc_p->prod_sel == sel_CTextCbody)) { #line 1832 "../util.k" Ctext ct = kc_p->u.CTextCbody.Ctext_1; unparse_Ctext(ct, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_CTextForeachexpression)) { #line 1835 "../util.k" Ctext ct = kc_p->u.CTextForeachexpression.Ctext_1; #line 1835 "../util.k" foreach_after fa = kc_p->u.CTextForeachexpression.foreach_after_1; unparse_Ctext(ct, kc_printer, kc_current_view); unparse_foreach_after(fa, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_CTextWithexpression)) { #line 1845 "../util.k" withcases wc = kc_p->u.CTextWithexpression.withcases_1; unparse_withcases(wc, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_initializephyla_c: { if (( kc_p->prod_sel == sel_CTextLine)) { #line 3354 "../gen.k" casestring cs = kc_p->u.CTextLine.casestring_1; #line 3355 "../gen.k" if (gl_print_line_directive) #line 16179 "unpk.c" { { (*kc_printer)("#line ", kc_current_view); } unparse_int(kc_p->line, kc_printer, kc_current_view); { (*kc_printer)(" \"", kc_current_view); } unparse_casestring(kc_p->file, kc_printer, view_filename); { (*kc_printer)("\"\ \n", kc_current_view); } #line 3358 "../gen.k" gl_print_line_directive = False; #line 16189 "unpk.c" } unparse_casestring(cs, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_CTextDollarVar)) { #line 3305 "../gen.k" INT i = kc_p->u.CTextDollarVar.INT_1; #line 3307 "../gen.k" ID oid = f_emptyId(), dollarvar = cf_topdollarvar(), dollarvarext = cf_topdollarvarext(); argument arg; boolean nulvar = True; { #line 3310 "../gen.k" INT kc_selvar_0_1 = i ; #line 3310 "../gen.k" /*SUPPRESS 622*/ assert_INT(kc_selvar_0_1, "with_expression (1)"); #line 16209 "unpk.c" if (( kc_selvar_0_1->prod_sel == sel_Int)) { #line 3311 "../gen.k" int ii = kc_selvar_0_1->u.Int.int_1; #line 3311 "../gen.k" if (ii != 0) { nulvar = False; oid = cf_topoperator(); arg = f_argumentofoperator( oid, i ); } #line 16220 "unpk.c" } else kc_no_default_in_with( "", __LINE__, __FILE__ ); } #line 3316 "../gen.k" #line 16226 "unpk.c" #line 3321 "../gen.k" if (nulvar) #line 16229 "unpk.c" { unparse_ID(dollarvar, kc_printer, kc_current_view); unparse_ID(dollarvarext, kc_printer, kc_current_view); } #line 3323 "../gen.k" else #line 16236 "unpk.c" { unparse_ID(dollarvar, kc_printer, kc_current_view); unparse_ID(dollarvarext, kc_printer, kc_current_view); { (*kc_printer)("->u.", kc_current_view); } unparse_ID(oid, kc_printer, kc_current_view); { (*kc_printer)(".", kc_current_view); } unparse_argument(arg, kc_printer, kc_current_view); #line 3325 "../gen.k" free_argument( arg, False ); #line 16246 "unpk.c" } } else if (( kc_p->prod_sel == sel_CTextNl)) { #line 3362 "../gen.k" int i = kc_p->u.CTextNl.int_1; #line 3363 "../gen.k" char *nl_string; #line 16254 "unpk.c" #line 3364 "../gen.k" if (gl_print_line_directive) #line 16257 "unpk.c" { { (*kc_printer)("#line ", kc_current_view); } unparse_int(kc_p->line, kc_printer, kc_current_view); { (*kc_printer)(" \"", kc_current_view); } unparse_casestring(kc_p->file, kc_printer, view_filename); { (*kc_printer)("\"\ \n", kc_current_view); } #line 3367 "../gen.k" gl_print_line_directive = False; #line 16267 "unpk.c" #line 3368 "../gen.k" nl_string = f_mknls( i - 1 ); #line 16270 "unpk.c" } #line 3369 "../gen.k" else #line 16274 "unpk.c" { #line 3370 "../gen.k" nl_string = f_mknls( i ); #line 16278 "unpk.c" } unparse_charptr(nl_string, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_CTextCexpressionDQ)) { #line 3374 "../gen.k" CexpressionDQ cedq = kc_p->u.CTextCexpressionDQ.CexpressionDQ_1; #line 3375 "../gen.k" if (gl_print_line_directive) #line 16287 "unpk.c" { { (*kc_printer)("#line ", kc_current_view); } unparse_int(kc_p->line, kc_printer, kc_current_view); { (*kc_printer)(" \"", kc_current_view); } unparse_casestring(kc_p->file, kc_printer, view_filename); { (*kc_printer)("\"\ \n", kc_current_view); } #line 3378 "../gen.k" gl_print_line_directive = False; #line 16297 "unpk.c" } { (*kc_printer)("\"", kc_current_view); } unparse_CexpressionDQ(cedq, kc_printer, kc_current_view); { (*kc_printer)("\"", kc_current_view); } } else if (( kc_p->prod_sel == sel_CTextCexpressionSQ)) { #line 3382 "../gen.k" CexpressionSQ cesq = kc_p->u.CTextCexpressionSQ.CexpressionSQ_1; #line 3383 "../gen.k" if (gl_print_line_directive) #line 16308 "unpk.c" { { (*kc_printer)("#line ", kc_current_view); } unparse_int(kc_p->line, kc_printer, kc_current_view); { (*kc_printer)(" \"", kc_current_view); } unparse_casestring(kc_p->file, kc_printer, view_filename); { (*kc_printer)("\"\ \n", kc_current_view); } #line 3386 "../gen.k" gl_print_line_directive = False; #line 16318 "unpk.c" } { (*kc_printer)("'", kc_current_view); } unparse_CexpressionSQ(cesq, kc_printer, kc_current_view); { (*kc_printer)("'", kc_current_view); } } else if (( kc_p->prod_sel == sel_CTextCbody)) { #line 3390 "../gen.k" Ctext ct = kc_p->u.CTextCbody.Ctext_1; #line 3391 "../gen.k" if (gl_print_line_directive) #line 16329 "unpk.c" { { (*kc_printer)("#line ", kc_current_view); } unparse_int(kc_p->line, kc_printer, kc_current_view); { (*kc_printer)(" \"", kc_current_view); } unparse_casestring(kc_p->file, kc_printer, view_filename); { (*kc_printer)("\"\ \n", kc_current_view); } #line 3394 "../gen.k" gl_print_line_directive = False; #line 16339 "unpk.c" } { (*kc_printer)("{", kc_current_view); } unparse_Ctext(ct, kc_printer, kc_current_view); { (*kc_printer)("}", kc_current_view); } #line 3399 "../gen.k" if (gl_print_line_directive) #line 16346 "unpk.c" { { (*kc_printer)("\ \n", kc_current_view); } } } else if (( kc_p->prod_sel == sel_CTextForeachexpression)) { #line 3405 "../gen.k" idCexpressions idcexpr = kc_p->u.CTextForeachexpression.idCexpressions_1; #line 3405 "../gen.k" Ctext ct = kc_p->u.CTextForeachexpression.Ctext_1; #line 3405 "../gen.k" foreach_after fa = kc_p->u.CTextForeachexpression.foreach_after_1; #line 3407 "../gen.k" ID selvar = f_mkselvar("kc_selvar_", g_ctext_level); selvar->line = kc_p->line; selvar->file = kc_p->file; cf_pushselvar( selvar ); #line 16366 "unpk.c" { (*kc_printer)("{\ \n", kc_current_view); } unparse_idCexpressions(idcexpr, kc_printer, kc_current_view); unparse_idCexpressions(idcexpr, kc_printer, view_gen_initializephyla_assert_c); unparse_charptr(g_emptystring, kc_printer, view_printer_outputfileline); { (*kc_printer)("while(\ \n", kc_current_view); } unparse_idCexpressions(idcexpr, kc_printer, view_gen_initializephyla_whiletest_c); { (*kc_printer)(" ) {\ \n", kc_current_view); } unparse_idCexpressions(idcexpr, kc_printer, view_gen_initializephyla_init_el_c); { (*kc_printer)("{\ \n#line ", kc_current_view); } unparse_int(ct->line, kc_printer, kc_current_view); { (*kc_printer)(" \"", kc_current_view); } unparse_casestring(ct->file, kc_printer, view_filename); { (*kc_printer)("\"\ \n", kc_current_view); } unparse_Ctext(ct, kc_printer, kc_current_view); unparse_charptr(g_emptystring, kc_printer, view_printer_outputfileline); { (*kc_printer)("}\ \n", kc_current_view); } unparse_idCexpressions(idcexpr, kc_printer, view_gen_initializephyla_update_loop_c); unparse_charptr(g_emptystring, kc_printer, view_printer_outputfileline); { (*kc_printer)("}\ \n", kc_current_view); } #line 3435 "../gen.k" cf_popselvar(); selvar = Id(Str(mkcasestring("kc_fe_selvar"))); selvar->line = fa->line; selvar->file = fa->file; cf_pushselvar( selvar ); #line 16400 "unpk.c" unparse_foreach_after(fa, kc_printer, kc_current_view); { (*kc_printer)("}\ \n", kc_current_view); } #line 3444 "../gen.k" cf_popselvar(); gl_print_line_directive = True; #line 16408 "unpk.c" } else if (( kc_p->prod_sel == sel_CTextWithexpression)) { #line 3530 "../gen.k" Ctext_elem ctw = kc_p; #line 3530 "../gen.k" withexpressions wexpr = kc_p->u.CTextWithexpression.withexpressions_1; #line 3530 "../gen.k" withcases wcs = kc_p->u.CTextWithexpression.withcases_1; #line 3530 "../gen.k" contextinfo in_foreach_context = kc_p->u.CTextWithexpression.contextinfo_1; #line 3532 "../gen.k" if (wcs->wcinfo) #line 16421 "unpk.c" { #line 3533 "../gen.k" ID selvar; int p; patternchain fe_pc = 0; withcasesinfo rewr_wcinfo = my_rewrite_withcasesinfo(wcs->wcinfo); { #line 3538 "../gen.k" contextinfo kc_selvar_0_1 = in_foreach_context ; #line 3538 "../gen.k" /*SUPPRESS 622*/ assert_contextinfo(kc_selvar_0_1, "with_expression (1)"); #line 16438 "unpk.c" if (( kc_selvar_0_1->prod_sel == sel_NotInForeachContext)) { #line 3544 "../gen.k" selvar = f_mkselvar("kc_selvar_", g_ctext_level); selvar->line = ctw->line; selvar->file = ctw->file; cf_pushselvar( selvar ); cf_pushinforeachcontext(0); #line 16448 "unpk.c" } else if (( kc_selvar_0_1->prod_sel == sel_InForeachContext)) { #line 3539 "../gen.k" patternchain mp = kc_selvar_0_1->u.InForeachContext.patternchain_1; #line 3539 "../gen.k" selvar = cf_topselvar(); cf_pushinforeachcontext(1); fe_pc = mp; #line 16459 "unpk.c" } else kc_no_default_in_with( "", __LINE__, __FILE__ ); } #line 3552 "../gen.k" #line 16465 "unpk.c" { (*kc_printer)("{\ \n", kc_current_view); } #line 3559 "../gen.k" if (! cf_topinforeachcontext()) #line 16470 "unpk.c" { unparse_withexpressions(wexpr, kc_printer, kc_current_view); } unparse_withexpressions(wexpr, kc_printer, view_gen_initializephyla_assert_c); unparse_charptr(g_emptystring, kc_printer, view_printer_outputfileline); #line 3564 "../gen.k" if (! cf_topinforeachcontext()) { cf_pushdollarvar( selvar ); cf_pushdollarvarext( Id(Str(mkcasestring("_1"))) ); } else if ((p = pos_of_sole_dollar_or_pattern_in_patternchain(fe_pc)) >= 0) { cf_pushdollarvar( selvar ); cf_pushdollarvarext( f_mkselvar("_", p) ); } #line 16485 "unpk.c" unparse_withcasesinfo(rewr_wcinfo, kc_printer, view_gen_withcases_and_default); #line 3573 "../gen.k" if (! cf_topinforeachcontext()) { cf_popselvar(); cf_popdollarvar(); cf_popdollarvarext(); } else if (p >= 0) { cf_popdollarvar(); cf_popdollarvarext(); } cf_popinforeachcontext(); #line 16498 "unpk.c" { (*kc_printer)("}\ \n", kc_current_view); } #line 3585 "../gen.k" gl_print_line_directive = True; #line 16503 "unpk.c" } #line 3586 "../gen.k" else { v_report(NonFatal( FileLine( kc_p->file, kc_p->line ), Problem1S( "internal error: no info for withcases of CTextWithexpression" ))); } #line 16508 "unpk.c" } else goto kc_unparsing_default; break; } case (int)view_check: { if (( kc_p->prod_sel == sel_CTextLine)) { #line 644 "../util.k" /*EMPTY*/ #line 16517 "unpk.c" } else if (( kc_p->prod_sel == sel_CTextDollarVar) && ( kc_p->u.CTextDollarVar.INT_1->prod_sel == sel_Int)) { #line 645 "../util.k" INT i = kc_p->u.CTextDollarVar.INT_1; #line 645 "../util.k" int iv = kc_p->u.CTextDollarVar.INT_1->u.Int.int_1; #line 647 "../util.k" if ( f_DvIsDisallowed( cf_topdollarvarsallowed() )) { v_report(NonFatal( FileLine( i->file, i->line ), Problem1S1INT( "illegal dollar variable (not allowed in &-ed pattern context)", i ))); } else if (cf_notemptyoutmostoperators()) { v_check_dollarvar_attribute_in_operators( i, Nilunpattributes(), cf_topoutmostoperators() ); } else if (iv != 0) { v_report(NonFatal( FileLine( i->file, i->line ), Problem1S1INT( "illegal dollar variable", i ))); } #line 16537 "unpk.c" } else if (( kc_p->prod_sel == sel_CTextNl)) { #line 660 "../util.k" /*EMPTY*/ #line 16542 "unpk.c" } else if (( kc_p->prod_sel == sel_CTextCexpressionDQ)) { #line 661 "../util.k" /*EMPTY*/ #line 16547 "unpk.c" } else if (( kc_p->prod_sel == sel_CTextCexpressionSQ)) { #line 662 "../util.k" /*EMPTY*/ #line 16552 "unpk.c" } else if (( kc_p->prod_sel == sel_CTextCbody)) { #line 663 "../util.k" Ctext ct = kc_p->u.CTextCbody.Ctext_1; unparse_Ctext(ct, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_CTextForeachexpression)) { #line 807 "../util.k" idCexpressions ide = kc_p->u.CTextForeachexpression.idCexpressions_1; #line 807 "../util.k" Ctext ct = kc_p->u.CTextForeachexpression.Ctext_1; #line 807 "../util.k" foreach_after fa = kc_p->u.CTextForeachexpression.foreach_after_1; #line 809 "../util.k" phylumnames tmp = f_phylumnames_foreachwith_vars( ide ); cf_pushphylumnames( tmp ); #line 16570 "unpk.c" unparse_idCexpressions(ide, kc_printer, kc_current_view); unparse_Ctext(ct, kc_printer, kc_current_view); #line 814 "../util.k" cf_popphylumnames(); #line 16577 "unpk.c" unparse_foreach_after(fa, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_CTextWithexpression)) { #line 832 "../util.k" withexpressions we = kc_p->u.CTextWithexpression.withexpressions_1; #line 832 "../util.k" withcases wc = kc_p->u.CTextWithexpression.withcases_1; #line 832 "../util.k" contextinfo in_foreach_context = kc_p->u.CTextWithexpression.contextinfo_1; #line 834 "../util.k" cf_pushwithexpressions( we ); { #line 836 "../util.k" contextinfo kc_selvar_0_1 = in_foreach_context ; #line 836 "../util.k" /*SUPPRESS 622*/ assert_contextinfo(kc_selvar_0_1, "with_expression (1)"); #line 16599 "unpk.c" if (( kc_selvar_0_1->prod_sel == sel_NotInForeachContext)) { #line 840 "../util.k" cf_pushinforeachcontext(0); cf_pushphylumnames( we->type ); #line 16606 "unpk.c" } else if (( kc_selvar_0_1->prod_sel == sel_InForeachContext)) { #line 837 "../util.k" cf_pushinforeachcontext(1); #line 16613 "unpk.c" } else kc_no_default_in_with( "", __LINE__, __FILE__ ); } #line 845 "../util.k" if (length_withexpressions( we ) == 1) { cf_pushdollarvarsallowed( DVAllowed() ); } else { cf_pushdollarvarsallowed( DVDisallowed() ); } #line 16624 "unpk.c" unparse_withcases(wc, kc_printer, kc_current_view); unparse_withcases(wc, kc_printer, view_set_type); #line 853 "../util.k" we->type = cf_topphylumnames(); cf_popwithexpressions(); cf_popdollarvarsallowed(); #line 16632 "unpk.c" unparse_withexpressions(we, kc_printer, kc_current_view); #line 858 "../util.k" if (! cf_topinforeachcontext() ) { cf_popphylumnames(); } cf_popinforeachcontext(); #line 16640 "unpk.c" } else goto kc_unparsing_default; break; } default: kc_unparsing_default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_CTextLine: unparse_casestring( kc_p->u.CTextLine.casestring_1, kc_printer, kc_current_view ); break; case (int)sel_CTextDollarVar: unparse_INT( kc_p->u.CTextDollarVar.INT_1, kc_printer, kc_current_view ); break; case (int)sel_CTextNl: unparse_int( kc_p->u.CTextNl.int_1, kc_printer, kc_current_view ); break; case (int)sel_CTextCexpressionDQ: unparse_CexpressionDQ( kc_p->u.CTextCexpressionDQ.CexpressionDQ_1, kc_printer, kc_current_view ); break; case (int)sel_CTextCexpressionSQ: unparse_CexpressionSQ( kc_p->u.CTextCexpressionSQ.CexpressionSQ_1, kc_printer, kc_current_view ); break; case (int)sel_CTextCbody: unparse_Ctext( kc_p->u.CTextCbody.Ctext_1, kc_printer, kc_current_view ); break; case (int)sel_CTextForeachexpression: unparse_patternchain( kc_p->u.CTextForeachexpression.patternchain_1, kc_printer, kc_current_view ); unparse_idCexpressions( kc_p->u.CTextForeachexpression.idCexpressions_1, kc_printer, kc_current_view ); unparse_withexpressions( kc_p->u.CTextForeachexpression.withexpressions_1, kc_printer, kc_current_view ); unparse_Ctext( kc_p->u.CTextForeachexpression.Ctext_1, kc_printer, kc_current_view ); unparse_foreach_after( kc_p->u.CTextForeachexpression.foreach_after_1, kc_printer, kc_current_view ); break; case (int)sel_CTextWithexpression: unparse_withexpressions( kc_p->u.CTextWithexpression.withexpressions_1, kc_printer, kc_current_view ); unparse_withcases( kc_p->u.CTextWithexpression.withcases_1, kc_printer, kc_current_view ); unparse_contextinfo( kc_p->u.CTextWithexpression.contextinfo_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_foreach_after #ifdef KC_USE_PROTOTYPES (foreach_after kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) foreach_after kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_foreach_after(kc_p, "kc_p"); switch((int)kc_current_view) { case (int)view_make_patternreps: { if (( kc_p->prod_sel == sel_NoForeachAfter)) { #line 1840 "../util.k" #line 16699 "unpk.c" } else if (( kc_p->prod_sel == sel_ForeachAfter)) { #line 1841 "../util.k" Ctext ct = kc_p->u.ForeachAfter.Ctext_1; unparse_Ctext(ct, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_initializephyla_c: { if (( kc_p->prod_sel == sel_NoForeachAfter)) { #line 3449 "../gen.k" /*EMPTY*/ #line 16713 "unpk.c" } else if (( kc_p->prod_sel == sel_ForeachAfter)) { #line 3450 "../gen.k" Ctext ct = kc_p->u.ForeachAfter.Ctext_1; { (*kc_printer)("{\ \n#line ", kc_current_view); } unparse_int(ct->line, kc_printer, kc_current_view); { (*kc_printer)(" \"", kc_current_view); } unparse_casestring(ct->file, kc_printer, view_filename); { (*kc_printer)("\"\ \n", kc_current_view); } unparse_Ctext(ct, kc_printer, kc_current_view); unparse_charptr(g_emptystring, kc_printer, view_printer_outputfileline); { (*kc_printer)("}\ \n", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_check: { if (( kc_p->prod_sel == sel_NoForeachAfter)) { #line 820 "../util.k" #line 16737 "unpk.c" } else if (( kc_p->prod_sel == sel_ForeachAfter)) { #line 821 "../util.k" patternchain mp = kc_p->u.ForeachAfter.patternchain_1; #line 821 "../util.k" idCexpressions ide = kc_p->u.ForeachAfter.idCexpressions_1; #line 821 "../util.k" Ctext ct = kc_p->u.ForeachAfter.Ctext_1; #line 823 "../util.k" phylumnames tmp = f_phylumnames_foreachwith_listvars( ide ); cf_pushphylumnames( tmp ); #line 16750 "unpk.c" unparse_Ctext(ct, kc_printer, kc_current_view); #line 827 "../util.k" cf_popphylumnames(); #line 16756 "unpk.c" } else goto kc_unparsing_default; break; } default: kc_unparsing_default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_ForeachAfter: unparse_patternchain( kc_p->u.ForeachAfter.patternchain_1, kc_printer, kc_current_view ); unparse_idCexpressions( kc_p->u.ForeachAfter.idCexpressions_1, kc_printer, kc_current_view ); unparse_withexpressions( kc_p->u.ForeachAfter.withexpressions_1, kc_printer, kc_current_view ); unparse_Ctext( kc_p->u.ForeachAfter.Ctext_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_contextinfo #ifdef KC_USE_PROTOTYPES (contextinfo kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) contextinfo kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_contextinfo(kc_p, "kc_p"); switch((int)kc_current_view) { default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_InForeachContext: unparse_patternchain( kc_p->u.InForeachContext.patternchain_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_withexpressions #ifdef KC_USE_PROTOTYPES (withexpressions kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) withexpressions kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_withexpressions(kc_p, "kc_p"); switch((int)kc_current_view) { case (int)view_gen_initializephyla_assert_c: { if (( kc_p->prod_sel == sel_Nilwithexpressions)) { #line 3591 "../gen.k" g_withexpr_nr = 0; #line 16813 "unpk.c" } else if (( kc_p->prod_sel == sel_Conswithexpressions)) { #line 3606 "../gen.k" withexpression h = kc_p->u.Conswithexpressions.withexpression_1; #line 3606 "../gen.k" withexpressions t = kc_p->u.Conswithexpressions.withexpressions_1; #line 3607 "../gen.k" ID selvar = cf_topselvar(); #line 16822 "unpk.c" unparse_withexpressions(t, kc_printer, kc_current_view); #line 3609 "../gen.k" g_withexpr_nr++; #line 16827 "unpk.c" #line 3611 "../gen.k" if (kc_p->line) #line 16830 "unpk.c" { { (*kc_printer)("#line ", kc_current_view); } unparse_int(kc_p->line, kc_printer, kc_current_view); { (*kc_printer)(" \"", kc_current_view); } unparse_casestring(kc_p->file, kc_printer, view_filename); { (*kc_printer)("\"\ \n", kc_current_view); } } #line 3615 "../gen.k" assert( ! (eq_ID(h->type, f_emptyId())) ); #line 16841 "unpk.c" { (*kc_printer)("/*SUPPRESS 622*/\ \nassert_", kc_current_view); } unparse_ID(h->type, kc_printer, kc_current_view); { (*kc_printer)("(", kc_current_view); } unparse_ID(selvar, kc_printer, kc_current_view); { (*kc_printer)("_", kc_current_view); } unparse_int(g_withexpr_nr, kc_printer, kc_current_view); { (*kc_printer)(", \"with_expression (", kc_current_view); } unparse_int(g_withexpr_nr, kc_printer, kc_current_view); { (*kc_printer)(")\");\ \n", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_initializephyla_c: { if (( kc_p->prod_sel == sel_Nilwithexpressions)) { #line 3591 "../gen.k" g_withexpr_nr = 0; #line 16861 "unpk.c" } else if (( kc_p->prod_sel == sel_Conswithexpressions)) { #line 3593 "../gen.k" withexpression h = kc_p->u.Conswithexpressions.withexpression_1; #line 3593 "../gen.k" withexpressions t = kc_p->u.Conswithexpressions.withexpressions_1; #line 3594 "../gen.k" ID selvar = cf_topselvar(); #line 16870 "unpk.c" unparse_withexpressions(t, kc_printer, kc_current_view); #line 3596 "../gen.k" g_withexpr_nr++; #line 16875 "unpk.c" #line 3598 "../gen.k" if (h->line) #line 16878 "unpk.c" { { (*kc_printer)("#line ", kc_current_view); } unparse_int(h->line, kc_printer, kc_current_view); { (*kc_printer)(" \"", kc_current_view); } unparse_casestring(h->file, kc_printer, view_filename); { (*kc_printer)("\"\ \n", kc_current_view); } } #line 3602 "../gen.k" assert( ! (eq_ID(h->type, f_emptyId())) ); #line 16889 "unpk.c" unparse_ID(h->type, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_ID(selvar, kc_printer, kc_current_view); { (*kc_printer)("_", kc_current_view); } unparse_int(g_withexpr_nr, kc_printer, kc_current_view); { (*kc_printer)(" = ", kc_current_view); } unparse_withexpression(h, kc_printer, kc_current_view); { (*kc_printer)(";\ \n", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_check: { if (( kc_p->prod_sel == sel_Nilwithexpressions)) { #line 864 "../util.k" #line 16907 "unpk.c" } else if (( kc_p->prod_sel == sel_Conswithexpressions)) { #line 865 "../util.k" withexpression h = kc_p->u.Conswithexpressions.withexpression_1; #line 865 "../util.k" withexpressions t = kc_p->u.Conswithexpressions.withexpressions_1; #line 867 "../util.k" ID tmp_type = 0; phylumnames tmp_types = 0; t->type = cf_topphylumnames(); { #line 870 "../util.k" phylumnames kc_selvar_0_1 = t->type ; #line 870 "../util.k" /*SUPPRESS 622*/ assert_phylumnames(kc_selvar_0_1, "with_expression (1)"); #line 16927 "unpk.c" if (( kc_selvar_0_1->prod_sel == sel_Nilphylumnames)) { #line 875 "../util.k" tmp_type = f_emptyId(); tmp_types = Nilphylumnames(); #line 16934 "unpk.c" } else if (( kc_selvar_0_1->prod_sel == sel_Consphylumnames)) { #line 871 "../util.k" ID p_h = kc_selvar_0_1->u.Consphylumnames.ID_1; #line 871 "../util.k" phylumnames p_t = kc_selvar_0_1->u.Consphylumnames.phylumnames_1; #line 871 "../util.k" tmp_type = p_h; tmp_types = p_t; #line 16946 "unpk.c" } else kc_no_default_in_with( "", __LINE__, __FILE__ ); } #line 880 "../util.k" cf_popphylumnames(); cf_pushphylumnames( tmp_types ); #line 16954 "unpk.c" unparse_withexpressions(t, kc_printer, kc_current_view); #line 884 "../util.k" h->type = tmp_type; if (eq_ID(tmp_type, f_emptyId())) { v_report(NonFatal( FileLine( h->file, h->line ), Problem1S1we( "could not infer type of with-expression argument:", h ))); } #line 16963 "unpk.c" } else goto kc_unparsing_default; break; } default: kc_unparsing_default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_Conswithexpressions: unparse_withexpression( kc_p->u.Conswithexpressions.withexpression_1, kc_printer, kc_current_view ); unparse_withexpressions( kc_p->u.Conswithexpressions.withexpressions_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_withexpression #ifdef KC_USE_PROTOTYPES (withexpression kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) withexpression kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_withexpression(kc_p, "kc_p"); switch((int)kc_current_view) { case (int)view_gen_initializephyla_c: { if (( kc_p->prod_sel == sel_WEVariable)) { #line 891 "../util.k" ID id = kc_p->u.WEVariable.ID_1; unparse_ID(id, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_WEVariable)) { #line 3620 "../gen.k" ID id = kc_p->u.WEVariable.ID_1; unparse_ID(id, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_WECexpression)) { #line 892 "../util.k" Cexpression cexpr = kc_p->u.WECexpression.Cexpression_1; { (*kc_printer)("\ \n", kc_current_view); } unparse_Cexpression(cexpr, kc_printer, kc_current_view); { (*kc_printer)("\ \n", kc_current_view); } } else if (( kc_p->prod_sel == sel_WECexpression)) { #line 3621 "../gen.k" Cexpression cexpr = kc_p->u.WECexpression.Cexpression_1; { (*kc_printer)("\ \n", kc_current_view); } unparse_Cexpression(cexpr, kc_printer, kc_current_view); { (*kc_printer)("\ \n", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_error: { if (( kc_p->prod_sel == sel_WEVariable)) { #line 206 "../error.k" ID i = kc_p->u.WEVariable.ID_1; unparse_ID(i, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_WECexpression)) { #line 207 "../error.k" Cexpression ce = kc_p->u.WECexpression.Cexpression_1; unparse_Cexpression(ce, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } default: kc_unparsing_default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_WEVariable: unparse_ID( kc_p->u.WEVariable.ID_1, kc_printer, kc_current_view ); break; case (int)sel_WECexpression: unparse_Cexpression( kc_p->u.WECexpression.Cexpression_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_withcases #ifdef KC_USE_PROTOTYPES (withcases kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) withcases kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_withcases(kc_p, "kc_p"); switch((int)kc_current_view) { case (int)view_make_patternreps: { if (( kc_p->prod_sel == sel_Nilwithcases)) { #line 1850 "../util.k" kc_p->wcinfo = Nilwithcasesinfo(); #line 17068 "unpk.c" } else if (( kc_p->prod_sel == sel_Conswithcases)) { #line 1852 "../util.k" withcase wc = kc_p->u.Conswithcases.withcase_1; #line 1852 "../util.k" withcases r_wcs = kc_p->u.Conswithcases.withcases_1; unparse_withcase(wc, kc_printer, kc_current_view); unparse_withcases(r_wcs, kc_printer, kc_current_view); #line 1859 "../util.k" kc_p->wcinfo = r_wcs->wcinfo; { #line 1860 "../util.k" withcasesinfo kc_fe_selvar_1 = wc->wcinfo ; #line 1860 "../util.k" /*SUPPRESS 622*/ assert_withcasesinfo(kc_fe_selvar_1, "foreach_list_expression"); #line 17086 "unpk.c" while( kc_fe_selvar_1->prod_sel == sel_Conswithcasesinfo ) { withcaseinfo kc_selvar_0_1 = kc_fe_selvar_1->u.Conswithcasesinfo.withcaseinfo_1; { #line 1860 "../util.k" { #line 1860 "../util.k" /*SUPPRESS 622*/ assert_withcaseinfo(kc_selvar_0_1, "with_expression (1)"); #line 17098 "unpk.c" { #line 1860 "../util.k" withcaseinfo wci = kc_selvar_0_1; #line 1860 "../util.k" kc_p->wcinfo = insertin_withcasesinfo( wci, kc_p->wcinfo ); #line 17106 "unpk.c" } } #line 17110 "unpk.c" } kc_fe_selvar_1 = kc_fe_selvar_1->u.Conswithcasesinfo.withcasesinfo_1; #line 1860 "../util.k" /*SUPPRESS 622*/ assert_withcasesinfo(kc_fe_selvar_1, "sublist_of_foreach_list_expression"); #line 17117 "unpk.c" } } #line 1863 "../util.k" #line 17122 "unpk.c" } else goto kc_unparsing_default; break; } case (int)view_set_type: { if (( kc_p->prod_sel == sel_Nilwithcases)) { #line 920 "../util.k" /*EMPTY*/ #line 17131 "unpk.c" } else if (( kc_p->prod_sel == sel_Conswithcases)) { #line 918 "../util.k" withcase wc = kc_p->u.Conswithcases.withcase_1; #line 918 "../util.k" withcases wcs = kc_p->u.Conswithcases.withcases_1; unparse_withcases(wcs, kc_printer, kc_current_view); unparse_withcase(wc, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_check: { if (( kc_p->prod_sel == sel_Nilwithcases)) { #line 900 "../util.k" /*EMPTY*/ #line 17148 "unpk.c" } else if (( kc_p->prod_sel == sel_Conswithcases)) { #line 898 "../util.k" withcase wc = kc_p->u.Conswithcases.withcase_1; #line 898 "../util.k" withcases wcs = kc_p->u.Conswithcases.withcases_1; unparse_withcases(wcs, kc_printer, kc_current_view); unparse_withcase(wc, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } default: kc_unparsing_default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_Conswithcases: unparse_withcase( kc_p->u.Conswithcases.withcase_1, kc_printer, kc_current_view ); unparse_withcases( kc_p->u.Conswithcases.withcases_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_withcase #ifdef KC_USE_PROTOTYPES (withcase kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) withcase kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_withcase(kc_p, "kc_p"); switch((int)kc_current_view) { case (int)view_make_patternreps: { if (( kc_p->prod_sel == sel_Withcase)) { #line 1865 "../util.k" patternchains mp = kc_p->u.Withcase.patternchains_1; #line 1865 "../util.k" Ctext ct = kc_p->u.Withcase.Ctext_1; unparse_Ctext(ct, kc_printer, kc_current_view); #line 1867 "../util.k" v_resetbindingidmarks(); kc_p->wcinfo = f_withcasesinfo( add_predicates_to_patternrepresentations( syn_patternchains( mp ) ), ct ); #line 17197 "unpk.c" } else goto kc_unparsing_default; break; } case (int)view_set_type: { if (( kc_p->prod_sel == sel_Withcase)) { #line 921 "../util.k" patternchains mp = kc_p->u.Withcase.patternchains_1; unparse_patternchains(mp, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_check: { if (( kc_p->prod_sel == sel_Withcase)) { #line 901 "../util.k" patternchains mp = kc_p->u.Withcase.patternchains_1; #line 901 "../util.k" Ctext ct = kc_p->u.Withcase.Ctext_1; #line 902 "../util.k" cf_pushoutmostoperators( Niloperators() ); cf_pushvariables( Nilvariables()); cl_scope++; #line 17222 "unpk.c" unparse_patternchains(mp, kc_printer, kc_current_view); unparse_Ctext(ct, kc_printer, kc_current_view); #line 910 "../util.k" freelist_operators( cf_topoutmostoperators() ); cf_popoutmostoperators(); v_reset_variables_type( cf_topvariables() ); cl_scope--; freelist_variables( cf_topvariables() ); cf_popvariables(); #line 17233 "unpk.c" } else goto kc_unparsing_default; break; } default: kc_unparsing_default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_Withcase: unparse_patternchains( kc_p->u.Withcase.patternchains_1, kc_printer, kc_current_view ); unparse_Ctext( kc_p->u.Withcase.Ctext_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_unparsedeclarations #ifdef KC_USE_PROTOTYPES (unparsedeclarations kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) unparsedeclarations kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_unparsedeclarations(kc_p, "kc_p"); switch((int)kc_current_view) { case (int)view_check_viewnames: { if (( kc_p->prod_sel == sel_Nilunparsedeclarations)) { #line 1010 "../util.k" /*EMPTY*/ #line 17266 "unpk.c" } else if (( kc_p->prod_sel == sel_Consunparsedeclarations)) { #line 1007 "../util.k" unparsedeclaration ud = kc_p->u.Consunparsedeclarations.unparsedeclaration_1; #line 1007 "../util.k" unparsedeclarations uds = kc_p->u.Consunparsedeclarations.unparsedeclarations_1; unparse_unparsedeclarations(uds, kc_printer, kc_current_view); unparse_unparsedeclaration(ud, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_check: { if (( kc_p->prod_sel == sel_Nilunparsedeclarations)) { #line 928 "../util.k" /*EMPTY*/ #line 17283 "unpk.c" } else if (( kc_p->prod_sel == sel_Consunparsedeclarations)) { #line 925 "../util.k" unparsedeclaration ud = kc_p->u.Consunparsedeclarations.unparsedeclaration_1; #line 925 "../util.k" unparsedeclarations uds = kc_p->u.Consunparsedeclarations.unparsedeclarations_1; unparse_unparsedeclarations(uds, kc_printer, kc_current_view); unparse_unparsedeclaration(ud, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } default: kc_unparsing_default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_Consunparsedeclarations: unparse_unparsedeclaration( kc_p->u.Consunparsedeclarations.unparsedeclaration_1, kc_printer, kc_current_view ); unparse_unparsedeclarations( kc_p->u.Consunparsedeclarations.unparsedeclarations_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_unparsedeclaration #ifdef KC_USE_PROTOTYPES (unparsedeclaration kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) unparsedeclaration kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_unparsedeclaration(kc_p, "kc_p"); switch((int)kc_current_view) { case (int)view_make_patternreps: { if (( kc_p->prod_sel == sel_UnparseDeclaration)) { #line 1872 "../util.k" outmostpatterns op = kc_p->u.UnparseDeclaration.outmostpatterns_1; #line 1872 "../util.k" unparseclauses uc = kc_p->u.UnparseDeclaration.unparseclauses_1; unparse_unparseclauses(uc, kc_printer, kc_current_view); #line 1875 "../util.k" v_resetbindingidmarks(); kc_p->patternreps = syn_outmostpatterns( op ); kc_p->patternreps = add_predicates_to_patternrepresentations(kc_p->patternreps); v_add_unparsedeclsinfo_to_operator( kc_p->patternreps, uc ); #line 17337 "unpk.c" } else goto kc_unparsing_default; break; } case (int)view_check_viewnames: { if (( kc_p->prod_sel == sel_UnparseDeclaration)) { #line 1011 "../util.k" unparseclauses uc = kc_p->u.UnparseDeclaration.unparseclauses_1; unparse_unparseclauses(uc, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_check: { if (( kc_p->prod_sel == sel_UnparseDeclaration)) { #line 929 "../util.k" outmostpatterns op = kc_p->u.UnparseDeclaration.outmostpatterns_1; #line 929 "../util.k" unparseclauses uc = kc_p->u.UnparseDeclaration.unparseclauses_1; #line 931 "../util.k" cf_pushoutmostoperators( Niloperators() ); cf_pushdollarvarsallowed( DVAllowed() ); cf_pushphylum( f_emptyId() ); cf_pushvariables( Nilvariables()); cl_scope++; #line 17364 "unpk.c" unparse_outmostpatterns(op, kc_printer, kc_current_view); unparse_unparseclauses(uc, kc_printer, kc_current_view); #line 939 "../util.k" freelist_operators( cf_topoutmostoperators() ); cf_popoutmostoperators(); cf_popdollarvarsallowed(); cf_popphylum(); v_reset_variables_type( cf_topvariables() ); cl_scope--; freelist_variables( cf_topvariables() ); cf_popvariables(); #line 17377 "unpk.c" } else goto kc_unparsing_default; break; } default: kc_unparsing_default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_UnparseDeclaration: unparse_outmostpatterns( kc_p->u.UnparseDeclaration.outmostpatterns_1, kc_printer, kc_current_view ); unparse_unparseclauses( kc_p->u.UnparseDeclaration.unparseclauses_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_unparseclauses #ifdef KC_USE_PROTOTYPES (unparseclauses kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) unparseclauses kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_unparseclauses(kc_p, "kc_p"); switch((int)kc_current_view) { case (int)view_make_patternreps: { if (( kc_p->prod_sel == sel_Nilunparseclauses)) { #line 1885 "../util.k" /*EMPTY*/ #line 17410 "unpk.c" } else if (( kc_p->prod_sel == sel_Consunparseclauses)) { #line 1886 "../util.k" unparseclause a_uc = kc_p->u.Consunparseclauses.unparseclause_1; #line 1886 "../util.k" unparseclauses r_uc = kc_p->u.Consunparseclauses.unparseclauses_1; unparse_unparseclauses(r_uc, kc_printer, kc_current_view); unparse_unparseclause(a_uc, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_check_viewnames: { if (( kc_p->prod_sel == sel_Nilunparseclauses)) { #line 1015 "../util.k" /*EMPTY*/ #line 17427 "unpk.c" } else if (( kc_p->prod_sel == sel_Consunparseclauses)) { #line 1013 "../util.k" unparseclause uc = kc_p->u.Consunparseclauses.unparseclause_1; #line 1013 "../util.k" unparseclauses ucs = kc_p->u.Consunparseclauses.unparseclauses_1; unparse_unparseclauses(ucs, kc_printer, kc_current_view); unparse_unparseclause(uc, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_check: { if (( kc_p->prod_sel == sel_Nilunparseclauses)) { #line 951 "../util.k" /*EMPTY*/ #line 17444 "unpk.c" } else if (( kc_p->prod_sel == sel_Consunparseclauses)) { #line 949 "../util.k" unparseclause uc = kc_p->u.Consunparseclauses.unparseclause_1; #line 949 "../util.k" unparseclauses ucs = kc_p->u.Consunparseclauses.unparseclauses_1; unparse_unparseclauses(ucs, kc_printer, kc_current_view); unparse_unparseclause(uc, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } default: kc_unparsing_default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_Consunparseclauses: unparse_unparseclause( kc_p->u.Consunparseclauses.unparseclause_1, kc_printer, kc_current_view ); unparse_unparseclauses( kc_p->u.Consunparseclauses.unparseclauses_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_unparseclause #ifdef KC_USE_PROTOTYPES (unparseclause kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) unparseclause kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_unparseclause(kc_p, "kc_p"); switch((int)kc_current_view) { case (int)view_gen_unparsedefs_other_c: { if (( kc_p->prod_sel == sel_UnparseClause)) { #line 8062 "../gen.k" unparseitems ui = kc_p->u.UnparseClause.unparseitems_1; unparse_unparseitems(ui, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_unparsedefs_default_c: { if (( kc_p->prod_sel == sel_UnparseClause)) { #line 8062 "../gen.k" unparseitems ui = kc_p->u.UnparseClause.unparseitems_1; unparse_unparseitems(ui, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_make_patternreps: { if (( kc_p->prod_sel == sel_UnparseClause)) { #line 1890 "../util.k" unparseitems u_i = kc_p->u.UnparseClause.unparseitems_1; unparse_unparseitems(u_i, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_check_viewnames: { if (( kc_p->prod_sel == sel_UnparseClause)) { #line 1016 "../util.k" unparseitems ui = kc_p->u.UnparseClause.unparseitems_1; unparse_unparseitems(ui, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_check: { if (( kc_p->prod_sel == sel_UnparseClause)) { #line 952 "../util.k" viewnames vn = kc_p->u.UnparseClause.viewnames_1; #line 952 "../util.k" unparseitems ui = kc_p->u.UnparseClause.unparseitems_1; unparse_viewnames(vn, kc_printer, view_check_u); unparse_unparseitems(ui, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } default: kc_unparsing_default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_UnparseClause: unparse_viewnames( kc_p->u.UnparseClause.viewnames_1, kc_printer, kc_current_view ); unparse_unparseitems( kc_p->u.UnparseClause.unparseitems_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_viewnames #ifdef KC_USE_PROTOTYPES (viewnames kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) viewnames kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_viewnames(kc_p, "kc_p"); switch((int)kc_current_view) { case (int)view_gen_unpk_c: { if (( kc_p->prod_sel == sel_Nilviewnames)) { #line 7823 "../gen.k" /*EMPTY*/ #line 17557 "unpk.c" } else if (( kc_p->prod_sel == sel_Consviewnames) && ( kc_p->u.Consviewnames.viewnames_1->prod_sel == sel_Nilviewnames)) { #line 7824 "../gen.k" ID vn = kc_p->u.Consviewnames.ID_1; { (*kc_printer)("\t\"", kc_current_view); } unparse_ID(vn, kc_printer, kc_current_view); { (*kc_printer)("\"", kc_current_view); } } else if (( kc_p->prod_sel == sel_Consviewnames)) { #line 7825 "../gen.k" ID vn = kc_p->u.Consviewnames.ID_1; #line 7825 "../gen.k" viewnames r_vn = kc_p->u.Consviewnames.viewnames_1; unparse_viewnames(r_vn, kc_printer, kc_current_view); { (*kc_printer)(",\n\t\"", kc_current_view); } unparse_ID(vn, kc_printer, kc_current_view); { (*kc_printer)("\"", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_uview_def: { if (( kc_p->prod_sel == sel_Nilviewnames)) { #line 7752 "../gen.k" /*EMPTY*/ #line 17583 "unpk.c" } else if (( kc_p->prod_sel == sel_Consviewnames) && ( kc_p->u.Consviewnames.viewnames_1->prod_sel == sel_Nilviewnames)) { #line 7758 "../gen.k" ID vn = kc_p->u.Consviewnames.ID_1; { (*kc_printer)("\t", kc_current_view); } unparse_ID(vn, kc_printer, kc_current_view); #line 7760 "../gen.k" if (eq_ID( vn, Id( Str( mkcasestring( "base_view" ))))) #line 17592 "unpk.c" { { (*kc_printer)(" = base_uview", kc_current_view); } } } else if (( kc_p->prod_sel == sel_Consviewnames)) { #line 7764 "../gen.k" ID vn = kc_p->u.Consviewnames.ID_1; #line 7764 "../gen.k" viewnames r_vn = kc_p->u.Consviewnames.viewnames_1; unparse_viewnames(r_vn, kc_printer, kc_current_view); { (*kc_printer)(",\n\t", kc_current_view); } unparse_ID(vn, kc_printer, kc_current_view); #line 7766 "../gen.k" if (eq_ID( vn, Id( Str( mkcasestring( "base_view" ))))) #line 17607 "unpk.c" { { (*kc_printer)(" = base_uview", kc_current_view); } } } else goto kc_unparsing_default; break; } case (int)view_gen_unparsedecls_h: { if (( kc_p->prod_sel == sel_Nilviewnames)) { #line 7752 "../gen.k" /*EMPTY*/ #line 17619 "unpk.c" } else if (( kc_p->prod_sel == sel_Consviewnames) && ( kc_p->u.Consviewnames.viewnames_1->prod_sel == sel_Nilviewnames)) { #line 7753 "../gen.k" ID vn = kc_p->u.Consviewnames.ID_1; { (*kc_printer)("\t", kc_current_view); } unparse_ID(vn, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_Consviewnames)) { #line 7754 "../gen.k" ID vn = kc_p->u.Consviewnames.ID_1; #line 7754 "../gen.k" viewnames r_vn = kc_p->u.Consviewnames.viewnames_1; unparse_viewnames(r_vn, kc_printer, kc_current_view); { (*kc_printer)(",\n\t", kc_current_view); } unparse_ID(vn, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_rewritek_c: { if (( kc_p->prod_sel == sel_Nilviewnames)) { #line 7823 "../gen.k" /*EMPTY*/ #line 17643 "unpk.c" } else if (( kc_p->prod_sel == sel_Consviewnames) && ( kc_p->u.Consviewnames.viewnames_1->prod_sel == sel_Nilviewnames)) { #line 7824 "../gen.k" ID vn = kc_p->u.Consviewnames.ID_1; { (*kc_printer)("\t\"", kc_current_view); } unparse_ID(vn, kc_printer, kc_current_view); { (*kc_printer)("\"", kc_current_view); } } else if (( kc_p->prod_sel == sel_Consviewnames)) { #line 7825 "../gen.k" ID vn = kc_p->u.Consviewnames.ID_1; #line 7825 "../gen.k" viewnames r_vn = kc_p->u.Consviewnames.viewnames_1; unparse_viewnames(r_vn, kc_printer, kc_current_view); { (*kc_printer)(",\n\t\"", kc_current_view); } unparse_ID(vn, kc_printer, kc_current_view); { (*kc_printer)("\"", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_rewritek_h: { if (( kc_p->prod_sel == sel_Nilviewnames)) { #line 7752 "../gen.k" /*EMPTY*/ #line 17669 "unpk.c" } else if (( kc_p->prod_sel == sel_Consviewnames) && ( kc_p->u.Consviewnames.viewnames_1->prod_sel == sel_Nilviewnames)) { #line 7753 "../gen.k" ID vn = kc_p->u.Consviewnames.ID_1; { (*kc_printer)("\t", kc_current_view); } unparse_ID(vn, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_Consviewnames)) { #line 7754 "../gen.k" ID vn = kc_p->u.Consviewnames.ID_1; #line 7754 "../gen.k" viewnames r_vn = kc_p->u.Consviewnames.viewnames_1; unparse_viewnames(r_vn, kc_printer, kc_current_view); { (*kc_printer)(",\n\t", kc_current_view); } unparse_ID(vn, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_check_r: { if (( kc_p->prod_sel == sel_Nilviewnames)) { #line 974 "../util.k" /*EMPTY*/ #line 17693 "unpk.c" } else if (( kc_p->prod_sel == sel_Consviewnames)) { #line 964 "../util.k" ID vn = kc_p->u.Consviewnames.ID_1; #line 964 "../util.k" viewnames vns = kc_p->u.Consviewnames.viewnames_1; unparse_viewnames(vns, kc_printer, kc_current_view); #line 967 "../util.k" if (pg_rviewshavebeendefined) v_useoccurrviewname( vn ); else v_extendoccur_nowarning( vn, ITUserRView() ); v_add_to_rviewnames( vn ); #line 17708 "unpk.c" } else goto kc_unparsing_default; break; } case (int)view_check_u: { if (( kc_p->prod_sel == sel_Nilviewnames)) { #line 963 "../util.k" /*EMPTY*/ #line 17717 "unpk.c" } else if (( kc_p->prod_sel == sel_Consviewnames)) { #line 953 "../util.k" ID vn = kc_p->u.Consviewnames.ID_1; #line 953 "../util.k" viewnames vns = kc_p->u.Consviewnames.viewnames_1; unparse_viewnames(vns, kc_printer, kc_current_view); #line 956 "../util.k" if (pg_uviewshavebeendefined) v_useoccuruviewname( vn ); else v_extendoccur_nowarning( vn, ITUserUView() ); v_add_to_uviewnames( vn ); #line 17732 "unpk.c" } else goto kc_unparsing_default; break; } default: kc_unparsing_default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_Consviewnames: unparse_ID( kc_p->u.Consviewnames.ID_1, kc_printer, kc_current_view ); unparse_viewnames( kc_p->u.Consviewnames.viewnames_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_unparseitems #ifdef KC_USE_PROTOTYPES (unparseitems kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) unparseitems kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_unparseitems(kc_p, "kc_p"); switch((int)kc_current_view) { case (int)view_gen_unparsedefs_other_c: { if (( kc_p->prod_sel == sel_Nilunparseitems)) { #line 8065 "../gen.k" /*EMPTY*/ #line 17765 "unpk.c" } else if (( kc_p->prod_sel == sel_Consunparseitems)) { #line 8066 "../gen.k" unparseitem a_ui = kc_p->u.Consunparseitems.unparseitem_1; #line 8066 "../gen.k" unparseitems r_ui = kc_p->u.Consunparseitems.unparseitems_1; unparse_unparseitems(r_ui, kc_printer, kc_current_view); unparse_unparseitem(a_ui, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_unparsedefs_default_c: { if (( kc_p->prod_sel == sel_Nilunparseitems)) { #line 8065 "../gen.k" /*EMPTY*/ #line 17782 "unpk.c" } else if (( kc_p->prod_sel == sel_Consunparseitems)) { #line 8066 "../gen.k" unparseitem a_ui = kc_p->u.Consunparseitems.unparseitem_1; #line 8066 "../gen.k" unparseitems r_ui = kc_p->u.Consunparseitems.unparseitems_1; unparse_unparseitems(r_ui, kc_printer, kc_current_view); unparse_unparseitem(a_ui, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_make_patternreps: { if (( kc_p->prod_sel == sel_Nilunparseitems)) { #line 1893 "../util.k" /*EMPTY*/ #line 17799 "unpk.c" } else if (( kc_p->prod_sel == sel_Consunparseitems)) { #line 1894 "../util.k" unparseitem a_ui = kc_p->u.Consunparseitems.unparseitem_1; #line 1894 "../util.k" unparseitems r_ui = kc_p->u.Consunparseitems.unparseitems_1; unparse_unparseitems(r_ui, kc_printer, kc_current_view); unparse_unparseitem(a_ui, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_check_viewnames: { if (( kc_p->prod_sel == sel_Nilunparseitems)) { #line 1019 "../util.k" /*EMPTY*/ #line 17816 "unpk.c" } else if (( kc_p->prod_sel == sel_Consunparseitems)) { #line 1017 "../util.k" unparseitem ui = kc_p->u.Consunparseitems.unparseitem_1; #line 1017 "../util.k" unparseitems uis = kc_p->u.Consunparseitems.unparseitems_1; unparse_unparseitems(uis, kc_printer, kc_current_view); unparse_unparseitem(ui, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_check: { if (( kc_p->prod_sel == sel_Nilunparseitems)) { #line 977 "../util.k" /*EMPTY*/ #line 17833 "unpk.c" } else if (( kc_p->prod_sel == sel_Consunparseitems)) { #line 975 "../util.k" unparseitem ui = kc_p->u.Consunparseitems.unparseitem_1; #line 975 "../util.k" unparseitems uis = kc_p->u.Consunparseitems.unparseitems_1; unparse_unparseitems(uis, kc_printer, kc_current_view); unparse_unparseitem(ui, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } default: kc_unparsing_default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_Consunparseitems: unparse_unparseitem( kc_p->u.Consunparseitems.unparseitem_1, kc_printer, kc_current_view ); unparse_unparseitems( kc_p->u.Consunparseitems.unparseitems_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_unparseitem #ifdef KC_USE_PROTOTYPES (unparseitem kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) unparseitem kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_unparseitem(kc_p, "kc_p"); switch((int)kc_current_view) { case (int)view_gen_unparsedefs_other_c: { if (( kc_p->prod_sel == sel_UnpStr)) { #line 8076 "../gen.k" CexpressionDQ a_CexpressionDQ = kc_p->u.UnpStr.CexpressionDQ_1; #line 8076 "../gen.k" viewnameoption a_vnameopt = kc_p->u.UnpStr.viewnameoption_1; #line 8077 "../gen.k" ug_viewnameopt = a_vnameopt; #line 17878 "unpk.c" #line 8078 "../gen.k" (*kc_printer)( "", view_no_of_printed_string_chars_reset ); #line 17881 "unpk.c" { (*kc_printer)(" { (*kc_printer)(\"", kc_current_view); } unparse_CexpressionDQ(a_CexpressionDQ, kc_printer, view_gen_unpstr_c); { (*kc_printer)("\", ", kc_current_view); } unparse_viewnameoption(a_vnameopt, kc_printer, kc_current_view); { (*kc_printer)("); }\ \n", kc_current_view); } #line 8081 "../gen.k" ug_viewnameopt = 0; #line 17890 "unpk.c" } else if (( kc_p->prod_sel == sel_UnpSubexpr)) { #line 8091 "../gen.k" unpsubterm sub = kc_p->u.UnpSubexpr.unpsubterm_1; #line 8091 "../gen.k" viewnameoption a_vnameopt = kc_p->u.UnpSubexpr.viewnameoption_1; #line 8092 "../gen.k" ID phy = f_typeofunpsubterm( sub, cf_topoperator() ); #line 17899 "unpk.c" { (*kc_printer)(" unparse_", kc_current_view); } unparse_ID(phy, kc_printer, kc_current_view); { (*kc_printer)("(", kc_current_view); } unparse_unpsubterm(sub, kc_printer, kc_current_view); { (*kc_printer)(", kc_printer, ", kc_current_view); } unparse_viewnameoption(a_vnameopt, kc_printer, kc_current_view); { (*kc_printer)(");\ \n", kc_current_view); } } else if (( kc_p->prod_sel == sel_UnpCtext)) { #line 8111 "../gen.k" Ctext ct = kc_p->u.UnpCtext.Ctext_1; { (*kc_printer)("#line ", kc_current_view); } unparse_int(ct->line, kc_printer, kc_current_view); { (*kc_printer)(" \"", kc_current_view); } unparse_casestring(ct->file, kc_printer, view_filename); { (*kc_printer)("\"\ \n", kc_current_view); } unparse_Ctext(ct, kc_printer, view_gen_initializephyla_c); unparse_charptr(g_emptystring, kc_printer, view_printer_outputfileline); } else if (( kc_p->prod_sel == sel_UnpBody)) { #line 8117 "../gen.k" unparseitems a_unparseitems = kc_p->u.UnpBody.unparseitems_1; { (*kc_printer)("{\ \n", kc_current_view); } unparse_unparseitems(a_unparseitems, kc_printer, kc_current_view); { (*kc_printer)(" }\ \n", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_unparsedefs_default_c: { if (( kc_p->prod_sel == sel_UnpStr)) { #line 8076 "../gen.k" CexpressionDQ a_CexpressionDQ = kc_p->u.UnpStr.CexpressionDQ_1; #line 8076 "../gen.k" viewnameoption a_vnameopt = kc_p->u.UnpStr.viewnameoption_1; #line 8077 "../gen.k" ug_viewnameopt = a_vnameopt; #line 17941 "unpk.c" #line 8078 "../gen.k" (*kc_printer)( "", view_no_of_printed_string_chars_reset ); #line 17944 "unpk.c" { (*kc_printer)(" { (*kc_printer)(\"", kc_current_view); } unparse_CexpressionDQ(a_CexpressionDQ, kc_printer, view_gen_unpstr_c); { (*kc_printer)("\", ", kc_current_view); } unparse_viewnameoption(a_vnameopt, kc_printer, kc_current_view); { (*kc_printer)("); }\ \n", kc_current_view); } #line 8081 "../gen.k" ug_viewnameopt = 0; #line 17953 "unpk.c" } else if (( kc_p->prod_sel == sel_UnpSubexpr)) { #line 8091 "../gen.k" unpsubterm sub = kc_p->u.UnpSubexpr.unpsubterm_1; #line 8091 "../gen.k" viewnameoption a_vnameopt = kc_p->u.UnpSubexpr.viewnameoption_1; #line 8092 "../gen.k" ID phy = f_typeofunpsubterm( sub, cf_topoperator() ); #line 17962 "unpk.c" { (*kc_printer)(" unparse_", kc_current_view); } unparse_ID(phy, kc_printer, kc_current_view); { (*kc_printer)("(", kc_current_view); } unparse_unpsubterm(sub, kc_printer, kc_current_view); { (*kc_printer)(", kc_printer, ", kc_current_view); } unparse_viewnameoption(a_vnameopt, kc_printer, kc_current_view); { (*kc_printer)(");\ \n", kc_current_view); } } else if (( kc_p->prod_sel == sel_UnpCtext)) { #line 8111 "../gen.k" Ctext ct = kc_p->u.UnpCtext.Ctext_1; { (*kc_printer)("#line ", kc_current_view); } unparse_int(ct->line, kc_printer, kc_current_view); { (*kc_printer)(" \"", kc_current_view); } unparse_casestring(ct->file, kc_printer, view_filename); { (*kc_printer)("\"\ \n", kc_current_view); } unparse_Ctext(ct, kc_printer, view_gen_initializephyla_c); unparse_charptr(g_emptystring, kc_printer, view_printer_outputfileline); } else if (( kc_p->prod_sel == sel_UnpBody)) { #line 8117 "../gen.k" unparseitems a_unparseitems = kc_p->u.UnpBody.unparseitems_1; { (*kc_printer)("{\ \n", kc_current_view); } unparse_unparseitems(a_unparseitems, kc_printer, kc_current_view); { (*kc_printer)(" }\ \n", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_make_patternreps: { if (( kc_p->prod_sel == sel_UnpCtext)) { #line 1898 "../util.k" Ctext ct = kc_p->u.UnpCtext.Ctext_1; unparse_Ctext(ct, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_UnpBody)) { #line 1901 "../util.k" unparseitems ui = kc_p->u.UnpBody.unparseitems_1; unparse_unparseitems(ui, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_check_viewnames: { if (( kc_p->prod_sel == sel_UnpStr)) { #line 1020 "../util.k" viewnameoption vno = kc_p->u.UnpStr.viewnameoption_1; unparse_viewnameoption(vno, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_UnpSubexpr)) { #line 1021 "../util.k" viewnameoption vno = kc_p->u.UnpSubexpr.viewnameoption_1; unparse_viewnameoption(vno, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_check: { if (( kc_p->prod_sel == sel_UnpStr)) { #line 978 "../util.k" /*EMPTY*/ #line 18028 "unpk.c" } else if (( kc_p->prod_sel == sel_UnpSubexpr)) { #line 979 "../util.k" unpsubterm us = kc_p->u.UnpSubexpr.unpsubterm_1; unparse_unpsubterm(us, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_UnpCtext)) { #line 980 "../util.k" Ctext ct = kc_p->u.UnpCtext.Ctext_1; unparse_Ctext(ct, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_UnpBody)) { #line 981 "../util.k" unparseitems ui = kc_p->u.UnpBody.unparseitems_1; unparse_unparseitems(ui, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } default: kc_unparsing_default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_UnpStr: unparse_CexpressionDQ( kc_p->u.UnpStr.CexpressionDQ_1, kc_printer, kc_current_view ); unparse_viewnameoption( kc_p->u.UnpStr.viewnameoption_1, kc_printer, kc_current_view ); break; case (int)sel_UnpSubexpr: unparse_unpsubterm( kc_p->u.UnpSubexpr.unpsubterm_1, kc_printer, kc_current_view ); unparse_viewnameoption( kc_p->u.UnpSubexpr.viewnameoption_1, kc_printer, kc_current_view ); break; case (int)sel_UnpCtext: unparse_Ctext( kc_p->u.UnpCtext.Ctext_1, kc_printer, kc_current_view ); break; case (int)sel_UnpBody: unparse_unparseitems( kc_p->u.UnpBody.unparseitems_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_unpsubterm #ifdef KC_USE_PROTOTYPES (unpsubterm kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) unpsubterm kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_unpsubterm(kc_p, "kc_p"); switch((int)kc_current_view) { case (int)view_gen_unparsedefs_other_c: { if (( kc_p->prod_sel == sel_UnpSubTerm)) { #line 8096 "../gen.k" ID st = kc_p->u.UnpSubTerm.ID_1; unparse_ID(st, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_UnpDollarvarTerm)) { unparse_unpsubterm(kc_p, kc_printer, view_gen_initializephyla_c); } else if (( kc_p->prod_sel == sel_UnpSubAttr)) { #line 8102 "../gen.k" ID st = kc_p->u.UnpSubAttr.ID_1; #line 8102 "../gen.k" unpattributes a_unpattributes = kc_p->u.UnpSubAttr.unpattributes_1; unparse_ID(st, kc_printer, kc_current_view); unparse_unpattributes(a_unpattributes, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_UnpDollarvarAttr)) { #line 8105 "../gen.k" unpattributes a_unpattributes = kc_p->u.UnpDollarvarAttr.unpattributes_1; unparse_unpsubterm(kc_p, kc_printer, view_gen_initializephyla_c); unparse_unpattributes(a_unpattributes, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_UnpCastedVariable)) { #line 8108 "../gen.k" ID a_id = kc_p->u.UnpCastedVariable.ID_2; unparse_ID(a_id, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_unparsedefs_default_c: { if (( kc_p->prod_sel == sel_UnpSubTerm)) { #line 8096 "../gen.k" ID st = kc_p->u.UnpSubTerm.ID_1; unparse_ID(st, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_UnpDollarvarTerm)) { unparse_unpsubterm(kc_p, kc_printer, view_gen_initializephyla_c); } else if (( kc_p->prod_sel == sel_UnpSubAttr)) { #line 8102 "../gen.k" ID st = kc_p->u.UnpSubAttr.ID_1; #line 8102 "../gen.k" unpattributes a_unpattributes = kc_p->u.UnpSubAttr.unpattributes_1; unparse_ID(st, kc_printer, kc_current_view); unparse_unpattributes(a_unpattributes, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_UnpDollarvarAttr)) { #line 8105 "../gen.k" unpattributes a_unpattributes = kc_p->u.UnpDollarvarAttr.unpattributes_1; unparse_unpsubterm(kc_p, kc_printer, view_gen_initializephyla_c); unparse_unpattributes(a_unpattributes, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_UnpCastedVariable)) { #line 8108 "../gen.k" ID a_id = kc_p->u.UnpCastedVariable.ID_2; unparse_ID(a_id, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_initializephyla_c: { if (( kc_p->prod_sel == sel_UnpDollarvarTerm)) { #line 3303 "../gen.k" INT i = kc_p->u.UnpDollarvarTerm.INT_1; #line 3307 "../gen.k" ID oid = f_emptyId(), dollarvar = cf_topdollarvar(), dollarvarext = cf_topdollarvarext(); argument arg; boolean nulvar = True; { #line 3310 "../gen.k" INT kc_selvar_0_1 = i ; #line 3310 "../gen.k" /*SUPPRESS 622*/ assert_INT(kc_selvar_0_1, "with_expression (1)"); #line 18161 "unpk.c" if (( kc_selvar_0_1->prod_sel == sel_Int)) { #line 3311 "../gen.k" int ii = kc_selvar_0_1->u.Int.int_1; #line 3311 "../gen.k" if (ii != 0) { nulvar = False; oid = cf_topoperator(); arg = f_argumentofoperator( oid, i ); } #line 18172 "unpk.c" } else kc_no_default_in_with( "", __LINE__, __FILE__ ); } #line 3316 "../gen.k" #line 18178 "unpk.c" #line 3321 "../gen.k" if (nulvar) #line 18181 "unpk.c" { unparse_ID(dollarvar, kc_printer, kc_current_view); unparse_ID(dollarvarext, kc_printer, kc_current_view); } #line 3323 "../gen.k" else #line 18188 "unpk.c" { unparse_ID(dollarvar, kc_printer, kc_current_view); unparse_ID(dollarvarext, kc_printer, kc_current_view); { (*kc_printer)("->u.", kc_current_view); } unparse_ID(oid, kc_printer, kc_current_view); { (*kc_printer)(".", kc_current_view); } unparse_argument(arg, kc_printer, kc_current_view); #line 3325 "../gen.k" free_argument( arg, False ); #line 18198 "unpk.c" } } else if (( kc_p->prod_sel == sel_UnpDollarvarAttr)) { #line 3304 "../gen.k" INT i = kc_p->u.UnpDollarvarAttr.INT_1; #line 3307 "../gen.k" ID oid = f_emptyId(), dollarvar = cf_topdollarvar(), dollarvarext = cf_topdollarvarext(); argument arg; boolean nulvar = True; { #line 3310 "../gen.k" INT kc_selvar_0_1 = i ; #line 3310 "../gen.k" /*SUPPRESS 622*/ assert_INT(kc_selvar_0_1, "with_expression (1)"); #line 18217 "unpk.c" if (( kc_selvar_0_1->prod_sel == sel_Int)) { #line 3311 "../gen.k" int ii = kc_selvar_0_1->u.Int.int_1; #line 3311 "../gen.k" if (ii != 0) { nulvar = False; oid = cf_topoperator(); arg = f_argumentofoperator( oid, i ); } #line 18228 "unpk.c" } else kc_no_default_in_with( "", __LINE__, __FILE__ ); } #line 3316 "../gen.k" #line 18234 "unpk.c" #line 3321 "../gen.k" if (nulvar) #line 18237 "unpk.c" { unparse_ID(dollarvar, kc_printer, kc_current_view); unparse_ID(dollarvarext, kc_printer, kc_current_view); } #line 3323 "../gen.k" else #line 18244 "unpk.c" { unparse_ID(dollarvar, kc_printer, kc_current_view); unparse_ID(dollarvarext, kc_printer, kc_current_view); { (*kc_printer)("->u.", kc_current_view); } unparse_ID(oid, kc_printer, kc_current_view); { (*kc_printer)(".", kc_current_view); } unparse_argument(arg, kc_printer, kc_current_view); #line 3325 "../gen.k" free_argument( arg, False ); #line 18254 "unpk.c" } } else goto kc_unparsing_default; break; } case (int)view_check: { if (( kc_p->prod_sel == sel_UnpSubTerm)) { #line 982 "../util.k" ID id = kc_p->u.UnpSubTerm.ID_1; #line 983 "../util.k" v_useoccurpatternvariable( id ); v_syn_type_attribute_ID( id ); #line 18268 "unpk.c" } else if (( kc_p->prod_sel == sel_UnpDollarvarTerm)) { #line 987 "../util.k" INT i = kc_p->u.UnpDollarvarTerm.INT_1; #line 988 "../util.k" v_check_dollarvar_attribute_in_operators( i, Nilunpattributes(), cf_topoutmostoperators() ); #line 18277 "unpk.c" } else if (( kc_p->prod_sel == sel_UnpSubAttr)) { #line 992 "../util.k" ID v_id = kc_p->u.UnpSubAttr.ID_1; #line 992 "../util.k" unpattributes unp_a = kc_p->u.UnpSubAttr.unpattributes_1; #line 994 "../util.k" ID p_id; if (f_useoccurpatternvariable( v_id ) && (p_id = f_phylumofpatternvariable( v_id))) (void)f_check_unpattributes_in_phylum( unp_a, p_id ); v_syn_type_attribute_ID( v_id ); #line 18289 "unpk.c" } else if (( kc_p->prod_sel == sel_UnpDollarvarAttr)) { #line 999 "../util.k" INT i = kc_p->u.UnpDollarvarAttr.INT_1; #line 999 "../util.k" unpattributes unp_a = kc_p->u.UnpDollarvarAttr.unpattributes_1; #line 1001 "../util.k" v_check_dollarvar_attribute_in_operators( i, unp_a, cf_topoutmostoperators() ); #line 18299 "unpk.c" } else if (( kc_p->prod_sel == sel_UnpCastedVariable)) { #line 1005 "../util.k" /*EMPTY*/ #line 18304 "unpk.c" } else goto kc_unparsing_default; break; } default: kc_unparsing_default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_UnpSubTerm: unparse_ID( kc_p->u.UnpSubTerm.ID_1, kc_printer, kc_current_view ); break; case (int)sel_UnpDollarvarTerm: unparse_INT( kc_p->u.UnpDollarvarTerm.INT_1, kc_printer, kc_current_view ); break; case (int)sel_UnpSubAttr: unparse_ID( kc_p->u.UnpSubAttr.ID_1, kc_printer, kc_current_view ); unparse_unpattributes( kc_p->u.UnpSubAttr.unpattributes_1, kc_printer, kc_current_view ); break; case (int)sel_UnpDollarvarAttr: unparse_INT( kc_p->u.UnpDollarvarAttr.INT_1, kc_printer, kc_current_view ); unparse_unpattributes( kc_p->u.UnpDollarvarAttr.unpattributes_1, kc_printer, kc_current_view ); break; case (int)sel_UnpCastedVariable: unparse_ID( kc_p->u.UnpCastedVariable.ID_1, kc_printer, kc_current_view ); unparse_ID( kc_p->u.UnpCastedVariable.ID_2, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_unpattributes #ifdef KC_USE_PROTOTYPES (unpattributes kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) unpattributes kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_unpattributes(kc_p, "kc_p"); switch((int)kc_current_view) { case (int)view_gen_unparsedefs_other_c: { if (( kc_p->prod_sel == sel_Nilunpattributes)) { #line 8124 "../gen.k" /*EMPTY*/ #line 18351 "unpk.c" } else if (( kc_p->prod_sel == sel_Consunpattributes)) { #line 8125 "../gen.k" ID a_attr = kc_p->u.Consunpattributes.ID_1; #line 8125 "../gen.k" unpattributes r_attr = kc_p->u.Consunpattributes.unpattributes_1; unparse_unpattributes(r_attr, kc_printer, kc_current_view); { (*kc_printer)("->", kc_current_view); } unparse_ID(a_attr, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_unparsedefs_default_c: { if (( kc_p->prod_sel == sel_Nilunpattributes)) { #line 8124 "../gen.k" /*EMPTY*/ #line 18369 "unpk.c" } else if (( kc_p->prod_sel == sel_Consunpattributes)) { #line 8125 "../gen.k" ID a_attr = kc_p->u.Consunpattributes.ID_1; #line 8125 "../gen.k" unpattributes r_attr = kc_p->u.Consunpattributes.unpattributes_1; unparse_unpattributes(r_attr, kc_printer, kc_current_view); { (*kc_printer)("->", kc_current_view); } unparse_ID(a_attr, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } default: kc_unparsing_default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_Consunpattributes: unparse_ID( kc_p->u.Consunpattributes.ID_1, kc_printer, kc_current_view ); unparse_unpattributes( kc_p->u.Consunpattributes.unpattributes_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_viewnameoption #ifdef KC_USE_PROTOTYPES (viewnameoption kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) viewnameoption kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_viewnameoption(kc_p, "kc_p"); switch((int)kc_current_view) { case (int)view_gen_unparsedefs_other_c: { if (( kc_p->prod_sel == sel_NoViewname)) { { (*kc_printer)("kc_current_view", kc_current_view); } } else if (( kc_p->prod_sel == sel_YesViewname)) { #line 8073 "../gen.k" ID v = kc_p->u.YesViewname.ID_1; unparse_ID(v, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_unparsedefs_default_c: { if (( kc_p->prod_sel == sel_NoViewname)) { { (*kc_printer)("kc_current_view", kc_current_view); } } else if (( kc_p->prod_sel == sel_YesViewname)) { #line 8073 "../gen.k" ID v = kc_p->u.YesViewname.ID_1; unparse_ID(v, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_check_viewnames: { if (( kc_p->prod_sel == sel_NoViewname)) { #line 1022 "../util.k" /*EMPTY*/ #line 18435 "unpk.c" } else if (( kc_p->prod_sel == sel_YesViewname)) { #line 1023 "../util.k" ID vn = kc_p->u.YesViewname.ID_1; #line 1023 "../util.k" v_useoccuruviewname( vn ); #line 18442 "unpk.c" } else goto kc_unparsing_default; break; } default: kc_unparsing_default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_YesViewname: unparse_ID( kc_p->u.YesViewname.ID_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_filelinestack #ifdef KC_USE_PROTOTYPES (filelinestack kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) filelinestack kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_filelinestack(kc_p, "kc_p"); switch((int)kc_current_view) { default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_Consfilelinestack: unparse_fileline( kc_p->u.Consfilelinestack.fileline_1, kc_printer, kc_current_view ); unparse_filelinestack( kc_p->u.Consfilelinestack.filelinestack_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_fileline #ifdef KC_USE_PROTOTYPES (fileline kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) fileline kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_fileline(kc_p, "kc_p"); switch((int)kc_current_view) { case (int)view_error: { if (( kc_p->prod_sel == sel_FileLine)) { #line 236 "../error.k" casestring f = kc_p->u.FileLine.casestring_1; #line 236 "../error.k" int l = kc_p->u.FileLine.int_1; #line 237 "../error.k" if (l != 0) #line 18501 "unpk.c" { { (*kc_printer)(" at ", kc_current_view); } #line 239 "../error.k" if (strcmp(f->name, "") != 0) #line 18506 "unpk.c" { unparse_casestring(f, kc_printer, kc_current_view); } { (*kc_printer)(":", kc_current_view); } unparse_int(l, kc_printer, kc_current_view); } #line 243 "../error.k" else if (pg_lineno != 0) #line 18515 "unpk.c" { { (*kc_printer)(" at ", kc_current_view); } #line 245 "../error.k" if (strcmp(pg_filename->name, "") != 0) #line 18520 "unpk.c" { unparse_casestring(pg_filename, kc_printer, kc_current_view); } { (*kc_printer)(":", kc_current_view); } unparse_int(pg_lineno, kc_printer, kc_current_view); } } else if (( kc_p->prod_sel == sel_NoFileLine)) { #line 254 "../error.k" if (pg_lineno != 0) #line 18531 "unpk.c" { { (*kc_printer)(" at ", kc_current_view); } #line 256 "../error.k" if (strcmp(pg_filename->name, "") != 0) #line 18536 "unpk.c" { unparse_casestring(pg_filename, kc_printer, kc_current_view); } { (*kc_printer)(":", kc_current_view); } unparse_int(pg_lineno, kc_printer, kc_current_view); } } else if (( kc_p->prod_sel == sel_PosNoFileLine)) { #line 265 "../error.k" if (pg_lineno != 0) #line 18547 "unpk.c" { { (*kc_printer)(" at ", kc_current_view); } #line 267 "../error.k" if (strcmp(pg_filename->name, "") != 0) #line 18552 "unpk.c" { unparse_casestring(pg_filename, kc_printer, kc_current_view); } { (*kc_printer)(":", kc_current_view); } unparse_int(pg_lineno, kc_printer, kc_current_view); { (*kc_printer)(" col:", kc_current_view); } unparse_int(pg_column, kc_printer, kc_current_view); } } else goto kc_unparsing_default; break; } default: kc_unparsing_default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_FileLine: unparse_casestring( kc_p->u.FileLine.casestring_1, kc_printer, kc_current_view ); unparse_int( kc_p->u.FileLine.int_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_nooperatorsstack #ifdef KC_USE_PROTOTYPES (nooperatorsstack kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) nooperatorsstack kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_nooperatorsstack(kc_p, "kc_p"); switch((int)kc_current_view) { default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_Consnooperatorsstack: unparse_int( kc_p->u.Consnooperatorsstack.int_1, kc_printer, kc_current_view ); unparse_nooperatorsstack( kc_p->u.Consnooperatorsstack.nooperatorsstack_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_scopetypefilelinestack #ifdef KC_USE_PROTOTYPES (scopetypefilelinestack kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) scopetypefilelinestack kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_scopetypefilelinestack(kc_p, "kc_p"); switch((int)kc_current_view) { default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_Consscopetypefilelinestack: unparse_scopetypefileline( kc_p->u.Consscopetypefilelinestack.scopetypefileline_1, kc_printer, kc_current_view ); unparse_scopetypefilelinestack( kc_p->u.Consscopetypefilelinestack.scopetypefilelinestack_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_scopetypefileline #ifdef KC_USE_PROTOTYPES (scopetypefileline kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) scopetypefileline kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_scopetypefileline(kc_p, "kc_p"); switch((int)kc_current_view) { default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_ScopeTypeFileLine: unparse_int( kc_p->u.ScopeTypeFileLine.int_1, kc_printer, kc_current_view ); unparse_IDtype( kc_p->u.ScopeTypeFileLine.IDtype_1, kc_printer, kc_current_view ); unparse_casestring( kc_p->u.ScopeTypeFileLine.casestring_1, kc_printer, kc_current_view ); unparse_int( kc_p->u.ScopeTypeFileLine.int_2, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_IDtype #ifdef KC_USE_PROTOTYPES (IDtype kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) IDtype kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_IDtype(kc_p, "kc_p"); switch((int)kc_current_view) { case (int)view_error_tID: { if (( kc_p->prod_sel == sel_ITUnknown)) { #line 175 "../error.k" /*EMPTY*/ #line 18664 "unpk.c" } else if (( kc_p->prod_sel == sel_ITPredefinedPhylum)) { { (*kc_printer)("(it's a ", kc_current_view); } unparse_IDtype(kc_p, kc_printer, view_error); { (*kc_printer)(")", kc_current_view); } } else if (( kc_p->prod_sel == sel_ITPredefinedBigatomPhylum)) { { (*kc_printer)("(it's a ", kc_current_view); } unparse_IDtype(kc_p, kc_printer, view_error); { (*kc_printer)(")", kc_current_view); } } else if (( kc_p->prod_sel == sel_ITUserPhylum)) { { (*kc_printer)("(it's a ", kc_current_view); } unparse_IDtype(kc_p, kc_printer, view_error); { (*kc_printer)(")", kc_current_view); } } else if (( kc_p->prod_sel == sel_ITPredefinedOperator)) { { (*kc_printer)("(it's a ", kc_current_view); } unparse_IDtype(kc_p, kc_printer, view_error); { (*kc_printer)(")", kc_current_view); } } else if (( kc_p->prod_sel == sel_ITUserOperator)) { { (*kc_printer)("(it's an ", kc_current_view); } unparse_IDtype(kc_p, kc_printer, view_error); { (*kc_printer)(")", kc_current_view); } } else if (( kc_p->prod_sel == sel_ITPredefinedStorageClass)) { { (*kc_printer)("(it's a ", kc_current_view); } unparse_IDtype(kc_p, kc_printer, view_error); { (*kc_printer)(")", kc_current_view); } } else if (( kc_p->prod_sel == sel_ITStorageClass)) { { (*kc_printer)("(it's a ", kc_current_view); } unparse_IDtype(kc_p, kc_printer, view_error); { (*kc_printer)(")", kc_current_view); } } else if (( kc_p->prod_sel == sel_ITPredefinedUView)) { { (*kc_printer)("(it's a ", kc_current_view); } unparse_IDtype(kc_p, kc_printer, view_error); { (*kc_printer)(")", kc_current_view); } } else if (( kc_p->prod_sel == sel_ITUserUView)) { { (*kc_printer)("(it's a ", kc_current_view); } unparse_IDtype(kc_p, kc_printer, view_error); { (*kc_printer)(")", kc_current_view); } } else if (( kc_p->prod_sel == sel_ITPredefinedRView)) { { (*kc_printer)("(it's a ", kc_current_view); } unparse_IDtype(kc_p, kc_printer, view_error); { (*kc_printer)(")", kc_current_view); } } else if (( kc_p->prod_sel == sel_ITUserRView)) { { (*kc_printer)("(it's a ", kc_current_view); } unparse_IDtype(kc_p, kc_printer, view_error); { (*kc_printer)(")", kc_current_view); } } else if (( kc_p->prod_sel == sel_ITUserFunction)) { { (*kc_printer)("(it's a ", kc_current_view); } unparse_IDtype(kc_p, kc_printer, view_error); { (*kc_printer)(")", kc_current_view); } } else if (( kc_p->prod_sel == sel_ITPatternVariable)) { { (*kc_printer)("(it's a ", kc_current_view); } unparse_IDtype(kc_p, kc_printer, view_error); { (*kc_printer)(")", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_error: { if (( kc_p->prod_sel == sel_ITUnknown)) { #line 175 "../error.k" /*EMPTY*/ #line 18738 "unpk.c" } else if (( kc_p->prod_sel == sel_ITPredefinedPhylum)) { { (*kc_printer)("predefined phylum", kc_current_view); } } else if (( kc_p->prod_sel == sel_ITPredefinedBigatomPhylum)) { { (*kc_printer)("predefined phylum", kc_current_view); } } else if (( kc_p->prod_sel == sel_ITUserPhylum)) { { (*kc_printer)("phylum", kc_current_view); } } else if (( kc_p->prod_sel == sel_ITPredefinedOperator)) { { (*kc_printer)("predefined operator", kc_current_view); } } else if (( kc_p->prod_sel == sel_ITUserOperator)) { { (*kc_printer)("operator", kc_current_view); } } else if (( kc_p->prod_sel == sel_ITPredefinedStorageClass)) { { (*kc_printer)("predefined storageclass", kc_current_view); } } else if (( kc_p->prod_sel == sel_ITStorageClass)) { { (*kc_printer)("storageclass", kc_current_view); } } else if (( kc_p->prod_sel == sel_ITPredefinedUView)) { { (*kc_printer)("predefined unparse view", kc_current_view); } } else if (( kc_p->prod_sel == sel_ITUserUView)) { { (*kc_printer)("unparse view", kc_current_view); } } else if (( kc_p->prod_sel == sel_ITPredefinedRView)) { { (*kc_printer)("predefined rewrite view", kc_current_view); } } else if (( kc_p->prod_sel == sel_ITUserRView)) { { (*kc_printer)("rewrite view", kc_current_view); } } else if (( kc_p->prod_sel == sel_ITUserFunction)) { { (*kc_printer)("function", kc_current_view); } } else if (( kc_p->prod_sel == sel_ITPatternVariable)) { { (*kc_printer)("pattern variable", kc_current_view); } } else goto kc_unparsing_default; break; } default: kc_unparsing_default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_ITPredefinedPhylum: unparse_phylumdeclaration( kc_p->u.ITPredefinedPhylum.phylumdeclaration_1, kc_printer, kc_current_view ); break; case (int)sel_ITPredefinedBigatomPhylum: unparse_phylumdeclaration( kc_p->u.ITPredefinedBigatomPhylum.phylumdeclaration_1, kc_printer, kc_current_view ); break; case (int)sel_ITUserPhylum: unparse_phylumdeclaration( kc_p->u.ITUserPhylum.phylumdeclaration_1, kc_printer, kc_current_view ); break; case (int)sel_ITPredefinedOperator: unparse_alternative( kc_p->u.ITPredefinedOperator.alternative_1, kc_printer, kc_current_view ); unparse_ID( kc_p->u.ITPredefinedOperator.ID_1, kc_printer, kc_current_view ); break; case (int)sel_ITUserOperator: unparse_alternative( kc_p->u.ITUserOperator.alternative_1, kc_printer, kc_current_view ); unparse_ID( kc_p->u.ITUserOperator.ID_1, kc_printer, kc_current_view ); break; case (int)sel_ITUserFunction: unparse_fnclass( kc_p->u.ITUserFunction.fnclass_1, kc_printer, kc_current_view ); break; case (int)sel_ITPatternVariable: unparse_ID( kc_p->u.ITPatternVariable.ID_1, kc_printer, kc_current_view ); unparse_int( kc_p->u.ITPatternVariable.int_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_operatorsstack #ifdef KC_USE_PROTOTYPES (operatorsstack kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) operatorsstack kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_operatorsstack(kc_p, "kc_p"); switch((int)kc_current_view) { default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_Consoperatorsstack: unparse_operators( kc_p->u.Consoperatorsstack.operators_1, kc_printer, kc_current_view ); unparse_operatorsstack( kc_p->u.Consoperatorsstack.operatorsstack_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_operators #ifdef KC_USE_PROTOTYPES (operators kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) operators kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_operators(kc_p, "kc_p"); switch((int)kc_current_view) { case (int)view_gen_copydefs_c: { if (( kc_p->prod_sel == sel_Niloperators)) { #line 6723 "../gen.k" /*EMPTY*/ #line 18853 "unpk.c" } else if (( kc_p->prod_sel == sel_Consoperators)) { #line 6724 "../gen.k" ID a_op = kc_p->u.Consoperators.ID_1; #line 6724 "../gen.k" operators r_op = kc_p->u.Consoperators.operators_1; #line 6725 "../gen.k" arguments args; #line 18862 "unpk.c" unparse_operators(r_op, kc_printer, kc_current_view); #line 6727 "../gen.k" args = f_argumentsofoperator( a_op ); gl_operator = a_op; gl_phylum = f_phylumofoperator( a_op ); if (length_arguments(args) > 0) #line 18869 "unpk.c" { { (*kc_printer)(" case (int)sel_", kc_current_view); } unparse_ID(a_op, kc_printer, kc_current_view); { (*kc_printer)(": {\ \n", kc_current_view); } unparse_arguments(args, kc_printer, view_gen_copydefs_bigatom_argdefs_c); unparse_arguments(args, kc_printer, view_gen_copydefs_bigatom_argset_c); { (*kc_printer)(" kc_answer = (kc_voidptr_t) ", kc_current_view); } unparse_ID(a_op, kc_printer, kc_current_view); { (*kc_printer)("(", kc_current_view); } unparse_arguments(args, kc_printer, view_gen_copydefs_bigatom_arguse_c); { (*kc_printer)(");\ \n break; }\ \n", kc_current_view); } } #line 6741 "../gen.k" gl_operator = 0; gl_phylum = 0; #line 18889 "unpk.c" } else goto kc_unparsing_default; break; } case (int)view_gen_csgio_write2structuredef_c: { if (( kc_p->prod_sel == sel_Niloperators)) { #line 6492 "../gen.k" /*EMPTY*/ #line 18898 "unpk.c" } else if (( kc_p->prod_sel == sel_Consoperators)) { #line 6493 "../gen.k" ID a_op = kc_p->u.Consoperators.ID_1; #line 6493 "../gen.k" operators r_op = kc_p->u.Consoperators.operators_1; #line 6494 "../gen.k" arguments args; #line 18907 "unpk.c" unparse_operators(r_op, kc_printer, kc_current_view); #line 6496 "../gen.k" args = f_argumentsofoperator( a_op ); gl_operator = a_op; gl_phylum = f_phylumofoperator( a_op ); if (length_arguments(args) > 0) { #line 18915 "unpk.c" { (*kc_printer)(" case (int)sel_", kc_current_view); } unparse_ID(a_op, kc_printer, kc_current_view); { (*kc_printer)(": {\ \n", kc_current_view); } unparse_arguments(args, kc_printer, view_gen_csgio_write2structuredef_bigatom_c); { (*kc_printer)(" break; }\ \n", kc_current_view); } #line 6506 "../gen.k" } gl_operator = 0; gl_phylum = 0; #line 18928 "unpk.c" } else goto kc_unparsing_default; break; } case (int)view_gen_csgio_scandef_c: { if (( kc_p->prod_sel == sel_Niloperators)) { #line 6411 "../gen.k" /*EMPTY*/ #line 18937 "unpk.c" } else if (( kc_p->prod_sel == sel_Consoperators)) { #line 6412 "../gen.k" ID a_op = kc_p->u.Consoperators.ID_1; #line 6412 "../gen.k" operators r_op = kc_p->u.Consoperators.operators_1; #line 6413 "../gen.k" arguments args; #line 18946 "unpk.c" unparse_operators(r_op, kc_printer, kc_current_view); #line 6415 "../gen.k" args = f_argumentsofoperator( a_op ); gl_operator = a_op; gl_phylum = f_phylumofoperator( a_op ); if (length_arguments(args) > 0) { #line 18954 "unpk.c" { (*kc_printer)(" case (int)sel_", kc_current_view); } unparse_ID(a_op, kc_printer, kc_current_view); { (*kc_printer)(": {\ \n", kc_current_view); } unparse_arguments(args, kc_printer, view_gen_csgio_scandef_bigatom_c); { (*kc_printer)(" break; }\ \n", kc_current_view); } #line 6425 "../gen.k" } gl_operator = 0; gl_phylum = 0; #line 18967 "unpk.c" } else goto kc_unparsing_default; break; } case (int)view_gen_csgio_c: { if (( kc_p->prod_sel == sel_Niloperators)) { #line 6350 "../gen.k" /*EMPTY*/ #line 18976 "unpk.c" } else if (( kc_p->prod_sel == sel_Consoperators)) { #line 6351 "../gen.k" ID a_op = kc_p->u.Consoperators.ID_1; #line 6351 "../gen.k" operators r_op = kc_p->u.Consoperators.operators_1; #line 6352 "../gen.k" arguments args; ID phy; #line 18985 "unpk.c" unparse_operators(r_op, kc_printer, kc_current_view); #line 6354 "../gen.k" args = f_argumentsofoperator( a_op ); phy = f_phylumofoperator( a_op ); if (length_arguments(args) > 0) { #line 18992 "unpk.c" { (*kc_printer)(" case (int)sel_", kc_current_view); } unparse_ID(a_op, kc_printer, kc_current_view); { (*kc_printer)(": {\ \n kc_answer.yt_", kc_current_view); } unparse_ID(phy, kc_printer, kc_current_view); { (*kc_printer)(" = ", kc_current_view); } unparse_ID(a_op, kc_printer, kc_current_view); { (*kc_printer)("(", kc_current_view); } unparse_arguments(args, kc_printer, view_gen_csgio_bigatom_arguse_c); { (*kc_printer)(");\ \n break; }\ \n", kc_current_view); } #line 6364 "../gen.k" } #line 19007 "unpk.c" } else goto kc_unparsing_default; break; } case (int)view_gen_printdotdefs_c: { if (( kc_p->prod_sel == sel_Niloperators)) { #line 4747 "../gen.k" /*EMPTY*/ #line 19016 "unpk.c" } else if (( kc_p->prod_sel == sel_Consoperators)) { #line 4748 "../gen.k" ID a_op = kc_p->u.Consoperators.ID_1; #line 4748 "../gen.k" operators r_op = kc_p->u.Consoperators.operators_1; #line 4749 "../gen.k" arguments args; #line 19025 "unpk.c" unparse_operators(r_op, kc_printer, kc_current_view); #line 4751 "../gen.k" args = f_argumentsofoperator( a_op ); gl_operator = a_op; gl_phylum = f_phylumofoperator( a_op ); if (length_arguments(args) > 0) #line 19032 "unpk.c" { { (*kc_printer)(" case (int)sel_", kc_current_view); } unparse_ID(a_op, kc_printer, kc_current_view); { (*kc_printer)(": {\ \n kc_i = 0;\ \n", kc_current_view); } unparse_arguments(args, kc_printer, view_gen_printdotdefs_bigatom_c); { (*kc_printer)(" break; }\ \n", kc_current_view); } } #line 4762 "../gen.k" gl_operator = 0; gl_phylum = 0; #line 19047 "unpk.c" } else goto kc_unparsing_default; break; } case (int)view_gen_printdefs_c: { if (( kc_p->prod_sel == sel_Niloperators)) { #line 4252 "../gen.k" /*EMPTY*/ #line 19056 "unpk.c" } else if (( kc_p->prod_sel == sel_Consoperators)) { #line 4253 "../gen.k" ID a_op = kc_p->u.Consoperators.ID_1; #line 4253 "../gen.k" operators r_op = kc_p->u.Consoperators.operators_1; #line 4254 "../gen.k" arguments args; #line 19065 "unpk.c" unparse_operators(r_op, kc_printer, kc_current_view); #line 4256 "../gen.k" args = f_argumentsofoperator( a_op ); gl_operator = a_op; gl_phylum = f_phylumofoperator( a_op ); if (length_arguments(args) > 0) #line 19072 "unpk.c" { { (*kc_printer)(" case (int)sel_", kc_current_view); } unparse_ID(a_op, kc_printer, kc_current_view); { (*kc_printer)(": {\ \n", kc_current_view); } unparse_arguments(args, kc_printer, view_gen_printdefs_bigatom_c); { (*kc_printer)(" break; }\ \n", kc_current_view); } } #line 4266 "../gen.k" gl_operator = 0; gl_phylum = 0; #line 19086 "unpk.c" } else goto kc_unparsing_default; break; } case (int)view_gen_eqdefs_c: { if (( kc_p->prod_sel == sel_Niloperators)) { #line 4072 "../gen.k" /*EMPTY*/ #line 19095 "unpk.c" } else if (( kc_p->prod_sel == sel_Consoperators)) { #line 4073 "../gen.k" ID a_op = kc_p->u.Consoperators.ID_1; #line 4073 "../gen.k" operators r_op = kc_p->u.Consoperators.operators_1; #line 4074 "../gen.k" arguments args; #line 19104 "unpk.c" unparse_operators(r_op, kc_printer, kc_current_view); #line 4076 "../gen.k" args = f_argumentsofoperator( a_op ); gl_operator = a_op; gl_phylum = f_phylumofoperator( a_op ); if (length_arguments(args) > 0) #line 19111 "unpk.c" { { (*kc_printer)(" case (int)sel_", kc_current_view); } unparse_ID(a_op, kc_printer, kc_current_view); { (*kc_printer)(":\ \n return ((", kc_current_view); } unparse_arguments(args, kc_printer, view_gen_eqdefs_bigatom_c); { (*kc_printer)(") ? True : False);\ \n", kc_current_view); } } #line 4086 "../gen.k" gl_operator = 0; gl_phylum = 0; #line 19125 "unpk.c" } else goto kc_unparsing_default; break; } default: kc_unparsing_default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_Consoperators: unparse_ID( kc_p->u.Consoperators.ID_1, kc_printer, kc_current_view ); unparse_operators( kc_p->u.Consoperators.operators_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_phyla #ifdef KC_USE_PROTOTYPES (phyla kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) phyla kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_phyla(kc_p, "kc_p"); switch((int)kc_current_view) { case (int)view_gen_copydefs_c: { if (( kc_p->prod_sel == sel_Nilphyla)) { #line 6716 "../gen.k" /*EMPTY*/ #line 19158 "unpk.c" } else if (( kc_p->prod_sel == sel_Consphyla)) { #line 6717 "../gen.k" ID a_phy = kc_p->u.Consphyla.ID_1; #line 6717 "../gen.k" phyla r_phy = kc_p->u.Consphyla.phyla_1; unparse_phyla(r_phy, kc_printer, kc_current_view); { (*kc_printer)(" /*SUPPRESS 622*/\ \n assertReason(kc_phylum != kc_phylum_", kc_current_view); } unparse_ID(a_phy, kc_printer, kc_current_view); { (*kc_printer)(", \"kc_do_copy_phylum called with kc_phylum_", kc_current_view); } unparse_ID(a_phy, kc_printer, kc_current_view); { (*kc_printer)(" argument\");\ \n", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_csgio_writephylumdef_write_c: { if (( kc_p->prod_sel == sel_Nilphyla)) { #line 6535 "../gen.k" /*EMPTY*/ #line 19181 "unpk.c" } else if (( kc_p->prod_sel == sel_Consphyla)) { #line 6536 "../gen.k" ID a_phy = kc_p->u.Consphyla.ID_1; #line 6536 "../gen.k" phyla r_phy = kc_p->u.Consphyla.phyla_1; unparse_phyla(r_phy, kc_printer, kc_current_view); { (*kc_printer)(" case (int)kc_phylum_", kc_current_view); } unparse_ID(a_phy, kc_printer, kc_current_view); { (*kc_printer)(":\ \n kc_CSGIOwrite2structure_", kc_current_view); } unparse_ID(a_phy, kc_printer, kc_current_view); { (*kc_printer)("(kc_stream, kc_p.yt_", kc_current_view); } unparse_ID(a_phy, kc_printer, kc_current_view); { (*kc_printer)(");\ \n break;\ \n", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_csgio_writephylumdef_scan_c: { if (( kc_p->prod_sel == sel_Nilphyla)) { #line 6528 "../gen.k" /*EMPTY*/ #line 19207 "unpk.c" } else if (( kc_p->prod_sel == sel_Consphyla)) { #line 6529 "../gen.k" ID a_phy = kc_p->u.Consphyla.ID_1; #line 6529 "../gen.k" phyla r_phy = kc_p->u.Consphyla.phyla_1; unparse_phyla(r_phy, kc_printer, kc_current_view); { (*kc_printer)(" case (int)kc_phylum_", kc_current_view); } unparse_ID(a_phy, kc_printer, kc_current_view); { (*kc_printer)(":\ \n kc_CSGIOscan_", kc_current_view); } unparse_ID(a_phy, kc_printer, kc_current_view); { (*kc_printer)("( kc_stream, kc_p.yt_", kc_current_view); } unparse_ID(a_phy, kc_printer, kc_current_view); { (*kc_printer)(" );\ \n break;\ \n", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_csgio_write2structuredef_c: { if (( kc_p->prod_sel == sel_Nilphyla)) { #line 6485 "../gen.k" /*EMPTY*/ #line 19233 "unpk.c" } else if (( kc_p->prod_sel == sel_Consphyla)) { #line 6486 "../gen.k" ID a_phy = kc_p->u.Consphyla.ID_1; #line 6486 "../gen.k" phyla r_phy = kc_p->u.Consphyla.phyla_1; unparse_phyla(r_phy, kc_printer, kc_current_view); { (*kc_printer)(" /*SUPPRESS 622*/\ \n assertReason(kc_phylum != kc_phylum_", kc_current_view); } unparse_ID(a_phy, kc_printer, kc_current_view); { (*kc_printer)(", \"kc_CSGIOwrite2structure called with kc_phylum_", kc_current_view); } unparse_ID(a_phy, kc_printer, kc_current_view); { (*kc_printer)(" argument\");\ \n", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_csgio_write2structuredefs_c: { if (( kc_p->prod_sel == sel_Nilphyla)) { #line 6447 "../gen.k" /*EMPTY*/ #line 19256 "unpk.c" } else if (( kc_p->prod_sel == sel_Consphyla)) { #line 6448 "../gen.k" ID a_phy = kc_p->u.Consphyla.ID_1; #line 6448 "../gen.k" phyla r_phy = kc_p->u.Consphyla.phyla_1; #line 6449 "../gen.k" ID oper = f_operatorofphylum(a_phy, Int(1)); #line 19265 "unpk.c" unparse_phyla(r_phy, kc_printer, kc_current_view); { (*kc_printer)("static void kc_CSGIOwrite2structure_", kc_current_view); } unparse_ID(a_phy, kc_printer, kc_current_view); { (*kc_printer)("\ \n#ifdef KC_USE_PROTOTYPES\ \n(FILE *kc_stream, ", kc_current_view); } unparse_ID(a_phy, kc_printer, kc_current_view); { (*kc_printer)(" kc_p)\ \n#else\ \n(kc_stream, kc_p) FILE *kc_stream; ", kc_current_view); } unparse_ID(a_phy, kc_printer, kc_current_view); { (*kc_printer)(" kc_p;\ \n#endif\ \n{ kc_hashnode_t kc_hn;\ \n YYSTYPE kc_yt;\ \n /*SUPPRESS 622*/\ \n assert_", kc_current_view); } unparse_ID(a_phy, kc_printer, kc_current_view); { (*kc_printer)("(kc_p,\"kc_p\");\ \n kc_yt.yt_", kc_current_view); } unparse_ID(a_phy, kc_printer, kc_current_view); { (*kc_printer)(" = kc_p;\ \n kc_hn = (*kc_mkhashnode)(kc_yt, kc_CSGIOhashtable, kc_phylum_", kc_current_view); } unparse_ID(a_phy, kc_printer, kc_current_view); { (*kc_printer)(");\ \n if (kc_hn->created) {\ \n kc_print_b64_to_file( kc_stream, kc_file_offset - kc_hn->number );\ \n } else {\ \n kc_hn->created = True;\ \n (void)fprintf( kc_stream, \"%d\\n\", KC_MAP( (int)sel_", kc_current_view); } unparse_ID(oper, kc_printer, kc_current_view); { (*kc_printer)(" ) );\ \n kc_file_offset++;\ \n", kc_current_view); } #line 6470 "../gen.k" if (strcmp(f_strofID( a_phy), "int")==0) #line 19302 "unpk.c" { { (*kc_printer)(" { char kc_value[30];\ \n (void)sprintf( kc_value, \"%d\", kc_p);\ \n kc_print_to_file( kc_stream, kc_value );\ \n }\ \n", kc_current_view); } } #line 6476 "../gen.k" else #line 19312 "unpk.c" { { (*kc_printer)(" { char kc_value[30];\ \n (void)sprintf( kc_value, \"%f\", kc_p);\ \n kc_print_to_file( kc_stream, kc_value );\ \n }\ \n", kc_current_view); } } { (*kc_printer)("} }\ \n", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_csgio_scandefs_c: { if (( kc_p->prod_sel == sel_Nilphyla)) { #line 6389 "../gen.k" /*EMPTY*/ #line 19330 "unpk.c" } else if (( kc_p->prod_sel == sel_Consphyla)) { #line 6390 "../gen.k" ID a_phy = kc_p->u.Consphyla.ID_1; #line 6390 "../gen.k" phyla r_phy = kc_p->u.Consphyla.phyla_1; #line 6391 "../gen.k" ID oper = f_operatorofphylum(a_phy, Int(1)); #line 19339 "unpk.c" unparse_phyla(r_phy, kc_printer, kc_current_view); { (*kc_printer)("/*ARGSUSED*/\ \nstatic void kc_CSGIOscan_", kc_current_view); } unparse_ID(a_phy, kc_printer, kc_current_view); { (*kc_printer)("\ \n#ifdef KC_USE_PROTOTYPES\ \n(FILE *kc_stream, ", kc_current_view); } unparse_ID(a_phy, kc_printer, kc_current_view); { (*kc_printer)(" kc_p)\ \n#else\ \n(kc_stream, kc_p) FILE *kc_stream; ", kc_current_view); } unparse_ID(a_phy, kc_printer, kc_current_view); { (*kc_printer)(" kc_p;\ \n#endif\ \n{ kc_hashnode_t kc_hn;\ \n YYSTYPE kc_yt;\ \n /*SUPPRESS 622*/\ \n assert_", kc_current_view); } unparse_ID(a_phy, kc_printer, kc_current_view); { (*kc_printer)("(kc_p,\"kc_p\");\ \n kc_yt.yt_", kc_current_view); } unparse_ID(a_phy, kc_printer, kc_current_view); { (*kc_printer)(" = kc_p;\ \n kc_hn = (*kc_mkhashnode)(kc_yt, kc_CSGIOhashtable, kc_phylum_", kc_current_view); } unparse_ID(a_phy, kc_printer, kc_current_view); { (*kc_printer)(");\ \n if (kc_hn->number == -1) {\ \n kc_hn->number = kc_node_count++;\ \n KC_MAKE_NEW_SCAN_MAPPING( (int)sel_", kc_current_view); } unparse_ID(oper, kc_printer, kc_current_view); { (*kc_printer)(" );\ \n} }\ \n", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_csgio_scandef_c: { if (( kc_p->prod_sel == sel_Nilphyla)) { #line 6382 "../gen.k" /*EMPTY*/ #line 19381 "unpk.c" } else if (( kc_p->prod_sel == sel_Consphyla)) { #line 6383 "../gen.k" ID a_phy = kc_p->u.Consphyla.ID_1; #line 6383 "../gen.k" phyla r_phy = kc_p->u.Consphyla.phyla_1; unparse_phyla(r_phy, kc_printer, kc_current_view); { (*kc_printer)(" /*SUPPRESS 622*/\ \n assertReason(kc_phylum != kc_phylum_", kc_current_view); } unparse_ID(a_phy, kc_printer, kc_current_view); { (*kc_printer)(", \"kc_CSGIOscan called with kc_phylum_", kc_current_view); } unparse_ID(a_phy, kc_printer, kc_current_view); { (*kc_printer)(" argument\");\ \n", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_printdotedges_c: { if (( kc_p->prod_sel == sel_Nilphyla)) { #line 4791 "../gen.k" /*EMPTY*/ #line 19404 "unpk.c" } else if (( kc_p->prod_sel == sel_Consphyla)) { #line 4792 "../gen.k" ID a_phy = kc_p->u.Consphyla.ID_1; #line 4792 "../gen.k" phyla r_phy = kc_p->u.Consphyla.phyla_1; unparse_phyla(r_phy, kc_printer, kc_current_view); { (*kc_printer)(" case (int)kc_phylum_", kc_current_view); } unparse_ID(a_phy, kc_printer, kc_current_view); { (*kc_printer)(": {\ \n kc_do_printdot_id_of__", kc_current_view); } unparse_ID(a_phy, kc_printer, kc_current_view); { (*kc_printer)("(kc_f, kc_p->ptr_to.yt_", kc_current_view); } unparse_ID(a_phy, kc_printer, kc_current_view); { (*kc_printer)(", kc_use_ctxt, kc_p->ptr_from.yt_voidptr, kc_p->son_nr);\ \n break; }\ \n", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_printdotdefs_c: { if (( kc_p->prod_sel == sel_Nilphyla)) { #line 4737 "../gen.k" /*EMPTY*/ #line 19430 "unpk.c" } else if (( kc_p->prod_sel == sel_Consphyla)) { #line 4738 "../gen.k" ID a_phy = kc_p->u.Consphyla.ID_1; #line 4738 "../gen.k" phyla r_phy = kc_p->u.Consphyla.phyla_1; unparse_phyla(r_phy, kc_printer, kc_current_view); { (*kc_printer)(" /*SUPPRESS 622*/\ \n assertReason(kc_phylum != kc_phylum_", kc_current_view); } unparse_ID(a_phy, kc_printer, kc_current_view); { (*kc_printer)(", \"kc_do_printdot_phylum called with kc_phylum_", kc_current_view); } unparse_ID(a_phy, kc_printer, kc_current_view); { (*kc_printer)(" argument\");\ \n", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_printdefs_c: { if (( kc_p->prod_sel == sel_Nilphyla)) { #line 4245 "../gen.k" /*EMPTY*/ #line 19453 "unpk.c" } else if (( kc_p->prod_sel == sel_Consphyla)) { #line 4246 "../gen.k" ID a_phy = kc_p->u.Consphyla.ID_1; #line 4246 "../gen.k" phyla r_phy = kc_p->u.Consphyla.phyla_1; unparse_phyla(r_phy, kc_printer, kc_current_view); { (*kc_printer)(" /*SUPPRESS 622*/\ \n assertReason(kc_phylum != kc_phylum_", kc_current_view); } unparse_ID(a_phy, kc_printer, kc_current_view); { (*kc_printer)(", \"kc_do_print_phylum called with kc_phylum_", kc_current_view); } unparse_ID(a_phy, kc_printer, kc_current_view); { (*kc_printer)(" argument\");\ \n", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_eqdefs_c: { if (( kc_p->prod_sel == sel_Nilphyla)) { #line 4065 "../gen.k" /*EMPTY*/ #line 19476 "unpk.c" } else if (( kc_p->prod_sel == sel_Consphyla)) { #line 4066 "../gen.k" ID a_phy = kc_p->u.Consphyla.ID_1; #line 4066 "../gen.k" phyla r_phy = kc_p->u.Consphyla.phyla_1; unparse_phyla(r_phy, kc_printer, kc_current_view); { (*kc_printer)(" /*SUPPRESS 622*/\ \n assertReason(kc_phylum != kc_phylum_", kc_current_view); } unparse_ID(a_phy, kc_printer, kc_current_view); { (*kc_printer)(", \"kc_do_eq_phylum called with kc_phylum_", kc_current_view); } unparse_ID(a_phy, kc_printer, kc_current_view); { (*kc_printer)(" argument\");\ \n", kc_current_view); } } else goto kc_unparsing_default; break; } default: kc_unparsing_default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_Consphyla: unparse_ID( kc_p->u.Consphyla.ID_1, kc_printer, kc_current_view ); unparse_phyla( kc_p->u.Consphyla.phyla_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_variables #ifdef KC_USE_PROTOTYPES (variables kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) variables kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_variables(kc_p, "kc_p"); switch((int)kc_current_view) { default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_Consvariables: unparse_ID( kc_p->u.Consvariables.ID_1, kc_printer, kc_current_view ); unparse_variables( kc_p->u.Consvariables.variables_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_argumentsstack #ifdef KC_USE_PROTOTYPES (argumentsstack kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) argumentsstack kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_argumentsstack(kc_p, "kc_p"); switch((int)kc_current_view) { default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_Consargumentsstack: unparse_arguments( kc_p->u.Consargumentsstack.arguments_1, kc_printer, kc_current_view ); unparse_argumentsstack( kc_p->u.Consargumentsstack.argumentsstack_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_phylumstack #ifdef KC_USE_PROTOTYPES (phylumstack kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) phylumstack kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_phylumstack(kc_p, "kc_p"); switch((int)kc_current_view) { default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_Consphylumstack: unparse_ID( kc_p->u.Consphylumstack.ID_1, kc_printer, kc_current_view ); unparse_phylumstack( kc_p->u.Consphylumstack.phylumstack_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_phylumnamesstack #ifdef KC_USE_PROTOTYPES (phylumnamesstack kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) phylumnamesstack kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_phylumnamesstack(kc_p, "kc_p"); switch((int)kc_current_view) { default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_Consphylumnamesstack: unparse_phylumnames( kc_p->u.Consphylumnamesstack.phylumnames_1, kc_printer, kc_current_view ); unparse_phylumnamesstack( kc_p->u.Consphylumnamesstack.phylumnamesstack_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_withexpressionsstack #ifdef KC_USE_PROTOTYPES (withexpressionsstack kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) withexpressionsstack kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_withexpressionsstack(kc_p, "kc_p"); switch((int)kc_current_view) { default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_Conswithexpressionsstack: unparse_withexpressions( kc_p->u.Conswithexpressionsstack.withexpressions_1, kc_printer, kc_current_view ); unparse_withexpressionsstack( kc_p->u.Conswithexpressionsstack.withexpressionsstack_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_operatorstack #ifdef KC_USE_PROTOTYPES (operatorstack kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) operatorstack kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_operatorstack(kc_p, "kc_p"); switch((int)kc_current_view) { default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_Consoperatorstack: unparse_ID( kc_p->u.Consoperatorstack.ID_1, kc_printer, kc_current_view ); unparse_operatorstack( kc_p->u.Consoperatorstack.operatorstack_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_variablesstack #ifdef KC_USE_PROTOTYPES (variablesstack kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) variablesstack kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_variablesstack(kc_p, "kc_p"); switch((int)kc_current_view) { default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_Consvariablesstack: unparse_variables( kc_p->u.Consvariablesstack.variables_1, kc_printer, kc_current_view ); unparse_variablesstack( kc_p->u.Consvariablesstack.variablesstack_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_selvarstack #ifdef KC_USE_PROTOTYPES (selvarstack kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) selvarstack kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_selvarstack(kc_p, "kc_p"); switch((int)kc_current_view) { default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_Consselvarstack: unparse_ID( kc_p->u.Consselvarstack.ID_1, kc_printer, kc_current_view ); unparse_selvarstack( kc_p->u.Consselvarstack.selvarstack_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_dollarvarstatus #ifdef KC_USE_PROTOTYPES (dollarvarstatus kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) dollarvarstatus kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_dollarvarstatus(kc_p, "kc_p"); switch((int)kc_current_view) { default: case (int)base_uview: { break; } } } /*ARGSUSED*/ void unparse_dollarvarsallowedstack #ifdef KC_USE_PROTOTYPES (dollarvarsallowedstack kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) dollarvarsallowedstack kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_dollarvarsallowedstack(kc_p, "kc_p"); switch((int)kc_current_view) { default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_Consdollarvarsallowedstack: unparse_dollarvarstatus( kc_p->u.Consdollarvarsallowedstack.dollarvarstatus_1, kc_printer, kc_current_view ); unparse_dollarvarsallowedstack( kc_p->u.Consdollarvarsallowedstack.dollarvarsallowedstack_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_intstack #ifdef KC_USE_PROTOTYPES (intstack kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) intstack kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_intstack(kc_p, "kc_p"); switch((int)kc_current_view) { default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_Consintstack: unparse_int( kc_p->u.Consintstack.int_1, kc_printer, kc_current_view ); unparse_intstack( kc_p->u.Consintstack.intstack_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_idCexpressionsstack #ifdef KC_USE_PROTOTYPES (idCexpressionsstack kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) idCexpressionsstack kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_idCexpressionsstack(kc_p, "kc_p"); switch((int)kc_current_view) { default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_ConsidCexpressionsstack: unparse_idCexpressions( kc_p->u.ConsidCexpressionsstack.idCexpressions_1, kc_printer, kc_current_view ); unparse_idCexpressionsstack( kc_p->u.ConsidCexpressionsstack.idCexpressionsstack_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_two_phyla #ifdef KC_USE_PROTOTYPES (two_phyla kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) two_phyla kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_two_phyla(kc_p, "kc_p"); switch((int)kc_current_view) { default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_TwoStorageoption: unparse_storageoption( kc_p->u.TwoStorageoption.storageoption_1, kc_printer, kc_current_view ); unparse_storageoption( kc_p->u.TwoStorageoption.storageoption_2, kc_printer, kc_current_view ); break; case (int)sel_TwoProductionblock: unparse_productionblock( kc_p->u.TwoProductionblock.productionblock_1, kc_printer, kc_current_view ); unparse_productionblock( kc_p->u.TwoProductionblock.productionblock_2, kc_printer, kc_current_view ); break; case (int)sel_TwoCcode_option: unparse_Ccode_option( kc_p->u.TwoCcode_option.Ccode_option_1, kc_printer, kc_current_view ); unparse_Ccode_option( kc_p->u.TwoCcode_option.Ccode_option_2, kc_printer, kc_current_view ); break; case (int)sel_TwoRewriteruleinfo: unparse_rewriteruleinfo( kc_p->u.TwoRewriteruleinfo.rewriteruleinfo_1, kc_printer, kc_current_view ); unparse_rewriteruleinfo( kc_p->u.TwoRewriteruleinfo.rewriteruleinfo_2, kc_printer, kc_current_view ); break; case (int)sel_TwoWithcaseinfo: unparse_withcaseinfo( kc_p->u.TwoWithcaseinfo.withcaseinfo_1, kc_printer, kc_current_view ); unparse_withcaseinfo( kc_p->u.TwoWithcaseinfo.withcaseinfo_2, kc_printer, kc_current_view ); break; case (int)sel_TwoUnparsedeclinfo: unparse_unparsedeclinfo( kc_p->u.TwoUnparsedeclinfo.unparsedeclinfo_1, kc_printer, kc_current_view ); unparse_unparsedeclinfo( kc_p->u.TwoUnparsedeclinfo.unparsedeclinfo_2, kc_printer, kc_current_view ); break; case (int)sel_TwoPatternrepresentation: unparse_patternrepresentation( kc_p->u.TwoPatternrepresentation.patternrepresentation_1, kc_printer, kc_current_view ); unparse_patternrepresentation( kc_p->u.TwoPatternrepresentation.patternrepresentation_2, kc_printer, kc_current_view ); break; case (int)sel_TwoElem_patternrepresentation: unparse_elem_patternrepresentation( kc_p->u.TwoElem_patternrepresentation.elem_patternrepresentation_1, kc_printer, kc_current_view ); unparse_elem_patternrepresentation( kc_p->u.TwoElem_patternrepresentation.elem_patternrepresentation_2, kc_printer, kc_current_view ); break; case (int)sel_TwoPaths: unparse_paths( kc_p->u.TwoPaths.paths_1, kc_printer, kc_current_view ); unparse_paths( kc_p->u.TwoPaths.paths_2, kc_printer, kc_current_view ); break; case (int)sel_TwoPath: unparse_path( kc_p->u.TwoPath.path_1, kc_printer, kc_current_view ); unparse_path( kc_p->u.TwoPath.path_2, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_tribool #ifdef KC_USE_PROTOTYPES (tribool kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) tribool kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_tribool(kc_p, "kc_p"); switch((int)kc_current_view) { default: case (int)base_uview: { break; } } } /*ARGSUSED*/ void unparse_patternrepresentations #ifdef KC_USE_PROTOTYPES (patternrepresentations kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) patternrepresentations kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_patternrepresentations(kc_p, "kc_p"); switch((int)kc_current_view) { default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_Conspatternrepresentations: unparse_patternrepresentation( kc_p->u.Conspatternrepresentations.patternrepresentation_1, kc_printer, kc_current_view ); unparse_patternrepresentations( kc_p->u.Conspatternrepresentations.patternrepresentations_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_patternrepresentation #ifdef KC_USE_PROTOTYPES (patternrepresentation kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) patternrepresentation kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_patternrepresentation(kc_p, "kc_p"); switch((int)kc_current_view) { case (int)view_unp_predicates: { if (( kc_p->prod_sel == sel_Conspatternrepresentation) && ( kc_p->u.Conspatternrepresentation.patternrepresentation_1->prod_sel == sel_Nilpatternrepresentation)) { #line 7200 "../gen.k" elem_patternrepresentation p = kc_p->u.Conspatternrepresentation.elem_patternrepresentation_1; unparse_elem_patternrepresentation(p, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_Conspatternrepresentation)) { #line 7204 "../gen.k" elem_patternrepresentation p = kc_p->u.Conspatternrepresentation.elem_patternrepresentation_1; #line 7204 "../gen.k" patternrepresentation r_p = kc_p->u.Conspatternrepresentation.patternrepresentation_1; unparse_elem_patternrepresentation(p, kc_printer, kc_current_view); { (*kc_printer)(") && (", kc_current_view); } unparse_patternrepresentation(r_p, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_wc_predicates: { if (( kc_p->prod_sel == sel_Conspatternrepresentation) && ( kc_p->u.Conspatternrepresentation.patternrepresentation_1->prod_sel == sel_Nilpatternrepresentation)) { #line 7200 "../gen.k" elem_patternrepresentation p = kc_p->u.Conspatternrepresentation.elem_patternrepresentation_1; unparse_elem_patternrepresentation(p, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_Conspatternrepresentation)) { #line 7204 "../gen.k" elem_patternrepresentation p = kc_p->u.Conspatternrepresentation.elem_patternrepresentation_1; #line 7204 "../gen.k" patternrepresentation r_p = kc_p->u.Conspatternrepresentation.patternrepresentation_1; unparse_elem_patternrepresentation(p, kc_printer, kc_current_view); { (*kc_printer)(") && (", kc_current_view); } unparse_patternrepresentation(r_p, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_rw_predicates: { if (( kc_p->prod_sel == sel_Conspatternrepresentation) && ( kc_p->u.Conspatternrepresentation.patternrepresentation_1->prod_sel == sel_Nilpatternrepresentation)) { #line 7200 "../gen.k" elem_patternrepresentation p = kc_p->u.Conspatternrepresentation.elem_patternrepresentation_1; unparse_elem_patternrepresentation(p, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_Conspatternrepresentation)) { #line 7204 "../gen.k" elem_patternrepresentation p = kc_p->u.Conspatternrepresentation.elem_patternrepresentation_1; #line 7204 "../gen.k" patternrepresentation r_p = kc_p->u.Conspatternrepresentation.patternrepresentation_1; unparse_elem_patternrepresentation(p, kc_printer, kc_current_view); { (*kc_printer)(") && (", kc_current_view); } unparse_patternrepresentation(r_p, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } default: kc_unparsing_default: case (int)base_uview: { if (( kc_p->prod_sel == sel_Nilpatternrepresentation)) { #line 7199 "../gen.k" /*EMPTY*/ #line 19948 "unpk.c" } else if (( kc_p->prod_sel == sel_Conspatternrepresentation)) { #line 7209 "../gen.k" elem_patternrepresentation p = kc_p->u.Conspatternrepresentation.elem_patternrepresentation_1; #line 7209 "../gen.k" patternrepresentation r_p = kc_p->u.Conspatternrepresentation.patternrepresentation_1; unparse_elem_patternrepresentation(p, kc_printer, kc_current_view); unparse_patternrepresentation(r_p, kc_printer, kc_current_view); } else switch((int)kc_p->prod_sel) { case (int)sel_Conspatternrepresentation: unparse_elem_patternrepresentation( kc_p->u.Conspatternrepresentation.elem_patternrepresentation_1, kc_printer, kc_current_view ); unparse_patternrepresentation( kc_p->u.Conspatternrepresentation.patternrepresentation_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_elem_patternrepresentation #ifdef KC_USE_PROTOTYPES (elem_patternrepresentation kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) elem_patternrepresentation kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_elem_patternrepresentation(kc_p, "kc_p"); switch((int)kc_current_view) { default: case (int)base_uview: { if (( kc_p->prod_sel == sel_PRBinding)) { #line 7214 "../gen.k" path p = kc_p->u.PRBinding.path_1; #line 7214 "../gen.k" ID id = kc_p->u.PRBinding.ID_1; { #line 7216 "../gen.k" ID gl_type; if (eq_ID(kc_p->type, f_emptyId())) { gl_type = f_typeof( p ); } else { gl_type = kc_p->type; } #line 19995 "unpk.c" { (*kc_printer)("#line ", kc_current_view); } unparse_int(id->line, kc_printer, kc_current_view); { (*kc_printer)(" \"", kc_current_view); } unparse_casestring(id->file, kc_printer, view_filename); { (*kc_printer)("\"\ \n ", kc_current_view); } unparse_ID(gl_type, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" = ", kc_current_view); } unparse_path(p, kc_printer, kc_current_view); { (*kc_printer)(";\ \n", kc_current_view); } } } else if (( kc_p->prod_sel == sel_PRVarPredicate)) { #line 7272 "../gen.k" paths ps = kc_p->u.PRVarPredicate.paths_1; unparse_paths(ps, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_PROperPredicate) && ( kc_p->u.PROperPredicate.path_1->prod_sel == sel_Conspath)) { #line 7289 "../gen.k" path p = kc_p->u.PROperPredicate.path_1->u.Conspath.path_1; #line 7289 "../gen.k" ID id = kc_p->u.PROperPredicate.ID_1; unparse_path(p, kc_printer, kc_current_view); { (*kc_printer)("->prod_sel == sel_", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_PROperPredicate) && ( kc_p->u.PROperPredicate.path_1->prod_sel == sel_Nilpath)) { #line 7292 "../gen.k" /*EMPTY*/ #line 20028 "unpk.c" } else if (( kc_p->prod_sel == sel_PRNonLeafBinding)) { #line 7213 "../gen.k" path p = kc_p->u.PRNonLeafBinding.path_1; #line 7213 "../gen.k" ID id = kc_p->u.PRNonLeafBinding.ID_1; { #line 7216 "../gen.k" ID gl_type; if (eq_ID(kc_p->type, f_emptyId())) { gl_type = f_typeof( p ); } else { gl_type = kc_p->type; } #line 20044 "unpk.c" { (*kc_printer)("#line ", kc_current_view); } unparse_int(id->line, kc_printer, kc_current_view); { (*kc_printer)(" \"", kc_current_view); } unparse_casestring(id->file, kc_printer, view_filename); { (*kc_printer)("\"\ \n ", kc_current_view); } unparse_ID(gl_type, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); { (*kc_printer)(" = ", kc_current_view); } unparse_path(p, kc_printer, kc_current_view); { (*kc_printer)(";\ \n", kc_current_view); } } } else if (( kc_p->prod_sel == sel_PRWildcard)) { { (*kc_printer)("1 /*default*/", kc_current_view); } } else if (( kc_p->prod_sel == sel_PRDefault)) { { (*kc_printer)("1 /*default*/", kc_current_view); } } else if (( kc_p->prod_sel == sel_PRStringLiteral)) { #line 7297 "../gen.k" path p = kc_p->u.PRStringLiteral.path_1; #line 7297 "../gen.k" CexpressionDQ Cexprdq = kc_p->u.PRStringLiteral.CexpressionDQ_1; #line 7298 "../gen.k" if (strcmp( f_strofID( f_typeof( p ) ), "casestring" ) == 0) #line 20073 "unpk.c" { { (*kc_printer)("strcmp(", kc_current_view); } unparse_path(p, kc_printer, kc_current_view); { (*kc_printer)("->name, \"", kc_current_view); } unparse_CexpressionDQ(Cexprdq, kc_printer, kc_current_view); { (*kc_printer)("\")==0", kc_current_view); } } #line 7300 "../gen.k" else if (strcmp( f_strofID( f_typeof( p ) ), "nocasestring" ) == 0) #line 20083 "unpk.c" { { (*kc_printer)("kc_ci_strcmp(", kc_current_view); } unparse_path(p, kc_printer, kc_current_view); { (*kc_printer)("->name, \"", kc_current_view); } unparse_CexpressionDQ(Cexprdq, kc_printer, kc_current_view); { (*kc_printer)("\")==0", kc_current_view); } } #line 7302 "../gen.k" else #line 20093 "unpk.c" { #line 7303 "../gen.k" /*SUPPRESS 622*/ assert(kc_zero_constant); #line 20098 "unpk.c" } } else if (( kc_p->prod_sel == sel_PRIntLiteral)) { #line 7307 "../gen.k" path p = kc_p->u.PRIntLiteral.path_1; #line 7307 "../gen.k" INT i = kc_p->u.PRIntLiteral.INT_1; unparse_path(p, kc_printer, kc_current_view); { (*kc_printer)(" == ", kc_current_view); } unparse_INT(i, kc_printer, kc_current_view); } else switch((int)kc_p->prod_sel) { case (int)sel_PRBinding: unparse_path( kc_p->u.PRBinding.path_1, kc_printer, kc_current_view ); unparse_ID( kc_p->u.PRBinding.ID_1, kc_printer, kc_current_view ); break; case (int)sel_PRVarPredicate: unparse_paths( kc_p->u.PRVarPredicate.paths_1, kc_printer, kc_current_view ); unparse_ID( kc_p->u.PRVarPredicate.ID_1, kc_printer, kc_current_view ); unparse_patternrepresentation( kc_p->u.PRVarPredicate.patternrepresentation_1, kc_printer, kc_current_view ); break; case (int)sel_PROperPredicate: unparse_path( kc_p->u.PROperPredicate.path_1, kc_printer, kc_current_view ); unparse_ID( kc_p->u.PROperPredicate.ID_1, kc_printer, kc_current_view ); break; case (int)sel_PRNonLeafBinding: unparse_path( kc_p->u.PRNonLeafBinding.path_1, kc_printer, kc_current_view ); unparse_ID( kc_p->u.PRNonLeafBinding.ID_1, kc_printer, kc_current_view ); unparse_patternrepresentation( kc_p->u.PRNonLeafBinding.patternrepresentation_1, kc_printer, kc_current_view ); break; case (int)sel_PRWildcard: unparse_path( kc_p->u.PRWildcard.path_1, kc_printer, kc_current_view ); break; case (int)sel_PRStringLiteral: unparse_path( kc_p->u.PRStringLiteral.path_1, kc_printer, kc_current_view ); unparse_CexpressionDQ( kc_p->u.PRStringLiteral.CexpressionDQ_1, kc_printer, kc_current_view ); break; case (int)sel_PRIntLiteral: unparse_path( kc_p->u.PRIntLiteral.path_1, kc_printer, kc_current_view ); unparse_INT( kc_p->u.PRIntLiteral.INT_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_path #ifdef KC_USE_PROTOTYPES (path kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) path kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_path(kc_p, "kc_p"); switch((int)kc_current_view) { case (int)view_rw_bindings: { if (( kc_p->prod_sel == sel_Nilpath)) { #line 7259 "../gen.k" if (gl_outmost_nonleaf_predicates) #line 20160 "unpk.c" { { (*kc_printer)(" kc_rp", kc_current_view); } } #line 7261 "../gen.k" else #line 20166 "unpk.c" { { (*kc_printer)(" ((", kc_current_view); } unparse_arguments(gl_args, kc_printer, view_gen_rewritedefs_dotestarg_c); { (*kc_printer)("))\ \n ? kc_p\ \n : ", kc_current_view); } unparse_ID(gl_operator, kc_printer, kc_current_view); { (*kc_printer)("(", kc_current_view); } unparse_arguments(gl_args, kc_printer, view_gen_rewritedefs_args_c); { (*kc_printer)(")", kc_current_view); } } } else if (( kc_p->prod_sel == sel_Conspath) && ( kc_p->u.Conspath.path_1->prod_sel == sel_Nilpath)) { #line 7267 "../gen.k" int i = kc_p->u.Conspath.int_1; { #line 7268 "../gen.k" argument gl_argument = f_argumentofoperator( kc_p->u.Conspath.path_1->op, Int( i )); #line 20185 "unpk.c" unparse_argument(gl_argument, kc_printer, kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_unp_bindings: { if (( kc_p->prod_sel == sel_Nilpath)) { { (*kc_printer)(" kc_p", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_wc_bindings: { if (( kc_p->prod_sel == sel_Nilpath)) { #line 7234 "../gen.k" ID selvar = cf_topselvar(); #line 20203 "unpk.c" { (*kc_printer)(" ", kc_current_view); } unparse_ID(selvar, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_Conspath) && ( kc_p->u.Conspath.path_1->prod_sel == sel_Nilpath)) { #line 7242 "../gen.k" int i = kc_p->u.Conspath.int_1; #line 7242 "../gen.k" path r_p = kc_p->u.Conspath.path_1; unparse_path(r_p, kc_printer, kc_current_view); { (*kc_printer)("_", kc_current_view); } unparse_int(i, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_unp_predicates: { if (( kc_p->prod_sel == sel_Nilpath)) { { (*kc_printer)(" kc_p", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_wc_predicates: { if (( kc_p->prod_sel == sel_Nilpath)) { #line 7234 "../gen.k" ID selvar = cf_topselvar(); #line 20230 "unpk.c" { (*kc_printer)(" ", kc_current_view); } unparse_ID(selvar, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_Conspath) && ( kc_p->u.Conspath.path_1->prod_sel == sel_Nilpath)) { #line 7242 "../gen.k" int i = kc_p->u.Conspath.int_1; #line 7242 "../gen.k" path r_p = kc_p->u.Conspath.path_1; unparse_path(r_p, kc_printer, kc_current_view); { (*kc_printer)("_", kc_current_view); } unparse_int(i, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_rw_predicates: { if (( kc_p->prod_sel == sel_Nilpath)) { #line 7259 "../gen.k" if (gl_outmost_nonleaf_predicates) #line 20250 "unpk.c" { { (*kc_printer)(" kc_rp", kc_current_view); } } #line 7261 "../gen.k" else #line 20256 "unpk.c" { { (*kc_printer)(" ((", kc_current_view); } unparse_arguments(gl_args, kc_printer, view_gen_rewritedefs_dotestarg_c); { (*kc_printer)("))\ \n ? kc_p\ \n : ", kc_current_view); } unparse_ID(gl_operator, kc_printer, kc_current_view); { (*kc_printer)("(", kc_current_view); } unparse_arguments(gl_args, kc_printer, view_gen_rewritedefs_args_c); { (*kc_printer)(")", kc_current_view); } } } else if (( kc_p->prod_sel == sel_Conspath) && ( kc_p->u.Conspath.path_1->prod_sel == sel_Nilpath)) { #line 7267 "../gen.k" int i = kc_p->u.Conspath.int_1; { #line 7268 "../gen.k" argument gl_argument = f_argumentofoperator( kc_p->u.Conspath.path_1->op, Int( i )); #line 20275 "unpk.c" unparse_argument(gl_argument, kc_printer, kc_current_view); } } else goto kc_unparsing_default; break; } default: kc_unparsing_default: case (int)base_uview: { if (( kc_p->prod_sel == sel_Nilpath)) { #line 7228 "../gen.k" /*EMPTY*/ #line 20288 "unpk.c" } else if (( kc_p->prod_sel == sel_Conspath)) { #line 7248 "../gen.k" int i = kc_p->u.Conspath.int_1; #line 7248 "../gen.k" path r_p = kc_p->u.Conspath.path_1; unparse_path(r_p, kc_printer, kc_current_view); { (*kc_printer)("->u.", kc_current_view); } unparse_ID(r_p->op, kc_printer, kc_current_view); { (*kc_printer)(".", kc_current_view); } { #line 7251 "../gen.k" argument gl_argument = f_argumentofoperator( r_p->op, Int( i )); #line 20302 "unpk.c" unparse_argument(gl_argument, kc_printer, kc_current_view); } } else switch((int)kc_p->prod_sel) { case (int)sel_Conspath: unparse_int( kc_p->u.Conspath.int_1, kc_printer, kc_current_view ); unparse_path( kc_p->u.Conspath.path_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_paths #ifdef KC_USE_PROTOTYPES (paths kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) paths kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_paths(kc_p, "kc_p"); switch((int)kc_current_view) { default: case (int)base_uview: { if (( kc_p->prod_sel == sel_Nilpaths)) { #line 7275 "../gen.k" /*EMPTY*/ #line 20332 "unpk.c" } else if (( kc_p->prod_sel == sel_Conspaths) && ( kc_p->u.Conspaths.paths_1->prod_sel == sel_Conspaths) && ( kc_p->u.Conspaths.paths_1->u.Conspaths.paths_1->prod_sel == sel_Nilpaths)) { #line 7277 "../gen.k" path p1 = kc_p->u.Conspaths.path_1; #line 7277 "../gen.k" path p2 = kc_p->u.Conspaths.paths_1->u.Conspaths.path_1; { #line 7279 "../gen.k" ID gl_type = f_typeof( p1 ); #line 20342 "unpk.c" { (*kc_printer)("eq_", kc_current_view); } unparse_ID(gl_type, kc_printer, kc_current_view); { (*kc_printer)("(", kc_current_view); } unparse_path(p1, kc_printer, kc_current_view); { (*kc_printer)(", ", kc_current_view); } unparse_path(p2, kc_printer, kc_current_view); { (*kc_printer)(")", kc_current_view); } } } else if (( kc_p->prod_sel == sel_Conspaths) && ( kc_p->u.Conspaths.paths_1->prod_sel == sel_Nilpaths)) { #line 7276 "../gen.k" /*EMPTY*/ #line 20355 "unpk.c" } else if (( kc_p->prod_sel == sel_Conspaths) && ( kc_p->u.Conspaths.paths_1->prod_sel == sel_Conspaths)) { #line 7283 "../gen.k" path p1 = kc_p->u.Conspaths.path_1; #line 7283 "../gen.k" path p2 = kc_p->u.Conspaths.paths_1->u.Conspaths.path_1; { #line 7284 "../gen.k" ID gl_type = f_typeof( p1 ); #line 20365 "unpk.c" { (*kc_printer)("eq_", kc_current_view); } unparse_ID(gl_type, kc_printer, kc_current_view); { (*kc_printer)("(", kc_current_view); } unparse_path(p1, kc_printer, kc_current_view); { (*kc_printer)(", ", kc_current_view); } unparse_path(p2, kc_printer, kc_current_view); { (*kc_printer)(")) && (", kc_current_view); } unparse_paths(kc_p->u.Conspaths.paths_1, kc_printer, kc_current_view); } } else switch((int)kc_p->prod_sel) { case (int)sel_Conspaths: unparse_path( kc_p->u.Conspaths.path_1, kc_printer, kc_current_view ); unparse_paths( kc_p->u.Conspaths.paths_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_argsnumbers #ifdef KC_USE_PROTOTYPES (argsnumbers kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) argsnumbers kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_argsnumbers(kc_p, "kc_p"); switch((int)kc_current_view) { case (int)view_gen_copydefs_c: { if (( kc_p->prod_sel == sel_Nilargsnumbers)) { #line 6787 "../gen.k" /*EMPTY*/ #line 20401 "unpk.c" } else if (( kc_p->prod_sel == sel_Consargsnumbers)) { #line 6788 "../gen.k" int i = kc_p->u.Consargsnumbers.int_1; #line 6788 "../gen.k" argsnumbers r = kc_p->u.Consargsnumbers.argsnumbers_1; { (*kc_printer)(" case ", kc_current_view); } unparse_int(i, kc_printer, kc_current_view); { (*kc_printer)(": kc_answer = (kc_voidptr_t) (*kc_op_info->create_routine)(", kc_current_view); } { (*kc_printer)(" kc_prodsel", kc_current_view); } #line 6791 "../gen.k" if (i > 0) #line 20414 "unpk.c" { { (*kc_printer)(",", kc_current_view); } } { #line 6794 "../gen.k" int j; for (j=0; jprod_sel == sel_Nilargsnumbers)) { #line 6331 "../gen.k" /*EMPTY*/ #line 20447 "unpk.c" } else if (( kc_p->prod_sel == sel_Consargsnumbers)) { #line 6332 "../gen.k" int i = kc_p->u.Consargsnumbers.int_1; #line 6332 "../gen.k" argsnumbers r = kc_p->u.Consargsnumbers.argsnumbers_1; { (*kc_printer)(" case ", kc_current_view); } unparse_int(i, kc_printer, kc_current_view); { (*kc_printer)(": kc_answer.yt_voidptr = (kc_voidptr_t) (*kc_OperatorInfo[kc_op].create_routine)(", kc_current_view); } { (*kc_printer)(" (kc_enum_operators)kc_op", kc_current_view); } #line 6335 "../gen.k" if (i > 0) #line 20460 "unpk.c" { { (*kc_printer)(",", kc_current_view); } } { #line 6338 "../gen.k" int j; for (j=0; jprod_sel) { case (int)sel_Consargsnumbers: unparse_int( kc_p->u.Consargsnumbers.int_1, kc_printer, kc_current_view ); unparse_argsnumbers( kc_p->u.Consargsnumbers.argsnumbers_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_rewriterulesinfo #ifdef KC_USE_PROTOTYPES (rewriterulesinfo kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) rewriterulesinfo kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_rewriterulesinfo(kc_p, "kc_p"); switch((int)kc_current_view) { case (int)view_gen_rewritedefs_other_c: { if (( kc_p->prod_sel == sel_Nilrewriterulesinfo)) { { (*kc_printer)(" goto kc_rewrite_default;\ \n", kc_current_view); } #line 7121 "../gen.k" gl_rewrite_goto_used = True; #line 20519 "unpk.c" } else if (( kc_p->prod_sel == sel_Consrewriterulesinfo) && ( kc_p->u.Consrewriterulesinfo.rewriteruleinfo_1->prod_sel == sel_Rewriteruleinfo) && ( kc_p->u.Consrewriterulesinfo.rewriteruleinfo_1->u.Rewriteruleinfo.patternrepresentation_1->prod_sel == sel_Conspatternrepresentation) && ( kc_p->u.Consrewriterulesinfo.rewriteruleinfo_1->u.Rewriteruleinfo.patternrepresentation_1->u.Conspatternrepresentation.patternrepresentation_1->prod_sel == sel_Nilpatternrepresentation) && ( kc_p->u.Consrewriterulesinfo.rewriteruleinfo_1->u.Rewriteruleinfo.rewriteclause_1->prod_sel == sel_RewriteClause)) { #line 7125 "../gen.k" patternrepresentation bindings = kc_p->u.Consrewriterulesinfo.rewriteruleinfo_1->u.Rewriteruleinfo.patternrepresentation_2; #line 7125 "../gen.k" term t = kc_p->u.Consrewriterulesinfo.rewriteruleinfo_1->u.Rewriteruleinfo.rewriteclause_1->u.RewriteClause.term_1; { (*kc_printer)(" {\ \n", kc_current_view); } unparse_patternrepresentation(bindings, kc_printer, view_rw_bindings); unparse_charptr(g_emptystring, kc_printer, view_printer_outputfileline); { (*kc_printer)(" ", kc_current_view); } unparse_ID(gl_phylum, kc_printer, kc_current_view); { (*kc_printer)(" kc_result = ", kc_current_view); } unparse_term(t, kc_printer, kc_current_view); { (*kc_printer)(";\ \n return (kc_result == kc_p) ? kc_p : rewrite_", kc_current_view); } unparse_ID(gl_phylum, kc_printer, kc_current_view); { (*kc_printer)("( kc_result, kc_current_view );\ \n }\ \n", kc_current_view); } } else if (( kc_p->prod_sel == sel_Consrewriterulesinfo) && ( kc_p->u.Consrewriterulesinfo.rewriteruleinfo_1->prod_sel == sel_Rewriteruleinfo) && ( kc_p->u.Consrewriterulesinfo.rewriteruleinfo_1->u.Rewriteruleinfo.patternrepresentation_1->prod_sel == sel_Nilpatternrepresentation) && ( kc_p->u.Consrewriterulesinfo.rewriteruleinfo_1->u.Rewriteruleinfo.rewriteclause_1->prod_sel == sel_RewriteClause)) { #line 7124 "../gen.k" patternrepresentation bindings = kc_p->u.Consrewriterulesinfo.rewriteruleinfo_1->u.Rewriteruleinfo.patternrepresentation_2; #line 7124 "../gen.k" term t = kc_p->u.Consrewriterulesinfo.rewriteruleinfo_1->u.Rewriteruleinfo.rewriteclause_1->u.RewriteClause.term_1; { (*kc_printer)(" {\ \n", kc_current_view); } unparse_patternrepresentation(bindings, kc_printer, view_rw_bindings); unparse_charptr(g_emptystring, kc_printer, view_printer_outputfileline); { (*kc_printer)(" ", kc_current_view); } unparse_ID(gl_phylum, kc_printer, kc_current_view); { (*kc_printer)(" kc_result = ", kc_current_view); } unparse_term(t, kc_printer, kc_current_view); { (*kc_printer)(";\ \n return (kc_result == kc_p) ? kc_p : rewrite_", kc_current_view); } unparse_ID(gl_phylum, kc_printer, kc_current_view); { (*kc_printer)("( kc_result, kc_current_view );\ \n }\ \n", kc_current_view); } } else if (( kc_p->prod_sel == sel_Consrewriterulesinfo) && ( kc_p->u.Consrewriterulesinfo.rewriteruleinfo_1->prod_sel == sel_Rewriteruleinfo) && ( kc_p->u.Consrewriterulesinfo.rewriteruleinfo_1->u.Rewriteruleinfo.patternrepresentation_1->prod_sel == sel_Conspatternrepresentation) && ( kc_p->u.Consrewriterulesinfo.rewriteruleinfo_1->u.Rewriteruleinfo.rewriteclause_1->prod_sel == sel_RewriteClause)) { #line 7136 "../gen.k" patternrepresentation r_p = kc_p->u.Consrewriterulesinfo.rewriteruleinfo_1->u.Rewriteruleinfo.patternrepresentation_1->u.Conspatternrepresentation.patternrepresentation_1; #line 7136 "../gen.k" patternrepresentation bindings = kc_p->u.Consrewriterulesinfo.rewriteruleinfo_1->u.Rewriteruleinfo.patternrepresentation_2; #line 7136 "../gen.k" term t = kc_p->u.Consrewriterulesinfo.rewriteruleinfo_1->u.Rewriteruleinfo.rewriteclause_1->u.RewriteClause.term_1; #line 7136 "../gen.k" rewriterulesinfo r_rri = kc_p->u.Consrewriterulesinfo.rewriterulesinfo_1; { (*kc_printer)(" if ((", kc_current_view); } unparse_patternrepresentation(r_p, kc_printer, view_rw_predicates); { (*kc_printer)(")) {\ \n", kc_current_view); } unparse_patternrepresentation(bindings, kc_printer, view_rw_bindings); unparse_charptr(g_emptystring, kc_printer, view_printer_outputfileline); { (*kc_printer)(" ", kc_current_view); } unparse_ID(gl_phylum, kc_printer, kc_current_view); { (*kc_printer)(" kc_result = ", kc_current_view); } unparse_term(t, kc_printer, kc_current_view); { (*kc_printer)(";\ \n return (kc_result == kc_p) ? kc_p : rewrite_", kc_current_view); } unparse_ID(gl_phylum, kc_printer, kc_current_view); { (*kc_printer)("( kc_result, kc_current_view );\ \n } else\ \n", kc_current_view); } unparse_rewriterulesinfo(r_rri, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_rewritedefs_default_c: { if (( kc_p->prod_sel == sel_Nilrewriterulesinfo)) { unparse_arguments(gl_args, kc_printer, view_gen_rewritedefs_testarg_c); } else if (( kc_p->prod_sel == sel_Consrewriterulesinfo) && ( kc_p->u.Consrewriterulesinfo.rewriteruleinfo_1->prod_sel == sel_Rewriteruleinfo) && ( kc_p->u.Consrewriterulesinfo.rewriteruleinfo_1->u.Rewriteruleinfo.patternrepresentation_1->prod_sel == sel_Conspatternrepresentation) && ( kc_p->u.Consrewriterulesinfo.rewriteruleinfo_1->u.Rewriteruleinfo.patternrepresentation_1->u.Conspatternrepresentation.patternrepresentation_1->prod_sel == sel_Nilpatternrepresentation) && ( kc_p->u.Consrewriterulesinfo.rewriteruleinfo_1->u.Rewriteruleinfo.rewriteclause_1->prod_sel == sel_RewriteClause)) { #line 7125 "../gen.k" patternrepresentation bindings = kc_p->u.Consrewriterulesinfo.rewriteruleinfo_1->u.Rewriteruleinfo.patternrepresentation_2; #line 7125 "../gen.k" term t = kc_p->u.Consrewriterulesinfo.rewriteruleinfo_1->u.Rewriteruleinfo.rewriteclause_1->u.RewriteClause.term_1; { (*kc_printer)(" {\ \n", kc_current_view); } unparse_patternrepresentation(bindings, kc_printer, view_rw_bindings); unparse_charptr(g_emptystring, kc_printer, view_printer_outputfileline); { (*kc_printer)(" ", kc_current_view); } unparse_ID(gl_phylum, kc_printer, kc_current_view); { (*kc_printer)(" kc_result = ", kc_current_view); } unparse_term(t, kc_printer, kc_current_view); { (*kc_printer)(";\ \n return (kc_result == kc_p) ? kc_p : rewrite_", kc_current_view); } unparse_ID(gl_phylum, kc_printer, kc_current_view); { (*kc_printer)("( kc_result, kc_current_view );\ \n }\ \n", kc_current_view); } } else if (( kc_p->prod_sel == sel_Consrewriterulesinfo) && ( kc_p->u.Consrewriterulesinfo.rewriteruleinfo_1->prod_sel == sel_Rewriteruleinfo) && ( kc_p->u.Consrewriterulesinfo.rewriteruleinfo_1->u.Rewriteruleinfo.patternrepresentation_1->prod_sel == sel_Nilpatternrepresentation) && ( kc_p->u.Consrewriterulesinfo.rewriteruleinfo_1->u.Rewriteruleinfo.rewriteclause_1->prod_sel == sel_RewriteClause)) { #line 7124 "../gen.k" patternrepresentation bindings = kc_p->u.Consrewriterulesinfo.rewriteruleinfo_1->u.Rewriteruleinfo.patternrepresentation_2; #line 7124 "../gen.k" term t = kc_p->u.Consrewriterulesinfo.rewriteruleinfo_1->u.Rewriteruleinfo.rewriteclause_1->u.RewriteClause.term_1; { (*kc_printer)(" {\ \n", kc_current_view); } unparse_patternrepresentation(bindings, kc_printer, view_rw_bindings); unparse_charptr(g_emptystring, kc_printer, view_printer_outputfileline); { (*kc_printer)(" ", kc_current_view); } unparse_ID(gl_phylum, kc_printer, kc_current_view); { (*kc_printer)(" kc_result = ", kc_current_view); } unparse_term(t, kc_printer, kc_current_view); { (*kc_printer)(";\ \n return (kc_result == kc_p) ? kc_p : rewrite_", kc_current_view); } unparse_ID(gl_phylum, kc_printer, kc_current_view); { (*kc_printer)("( kc_result, kc_current_view );\ \n }\ \n", kc_current_view); } } else if (( kc_p->prod_sel == sel_Consrewriterulesinfo) && ( kc_p->u.Consrewriterulesinfo.rewriteruleinfo_1->prod_sel == sel_Rewriteruleinfo) && ( kc_p->u.Consrewriterulesinfo.rewriteruleinfo_1->u.Rewriteruleinfo.patternrepresentation_1->prod_sel == sel_Conspatternrepresentation) && ( kc_p->u.Consrewriterulesinfo.rewriteruleinfo_1->u.Rewriteruleinfo.rewriteclause_1->prod_sel == sel_RewriteClause)) { #line 7136 "../gen.k" patternrepresentation r_p = kc_p->u.Consrewriterulesinfo.rewriteruleinfo_1->u.Rewriteruleinfo.patternrepresentation_1->u.Conspatternrepresentation.patternrepresentation_1; #line 7136 "../gen.k" patternrepresentation bindings = kc_p->u.Consrewriterulesinfo.rewriteruleinfo_1->u.Rewriteruleinfo.patternrepresentation_2; #line 7136 "../gen.k" term t = kc_p->u.Consrewriterulesinfo.rewriteruleinfo_1->u.Rewriteruleinfo.rewriteclause_1->u.RewriteClause.term_1; #line 7136 "../gen.k" rewriterulesinfo r_rri = kc_p->u.Consrewriterulesinfo.rewriterulesinfo_1; { (*kc_printer)(" if ((", kc_current_view); } unparse_patternrepresentation(r_p, kc_printer, view_rw_predicates); { (*kc_printer)(")) {\ \n", kc_current_view); } unparse_patternrepresentation(bindings, kc_printer, view_rw_bindings); unparse_charptr(g_emptystring, kc_printer, view_printer_outputfileline); { (*kc_printer)(" ", kc_current_view); } unparse_ID(gl_phylum, kc_printer, kc_current_view); { (*kc_printer)(" kc_result = ", kc_current_view); } unparse_term(t, kc_printer, kc_current_view); { (*kc_printer)(";\ \n return (kc_result == kc_p) ? kc_p : rewrite_", kc_current_view); } unparse_ID(gl_phylum, kc_printer, kc_current_view); { (*kc_printer)("( kc_result, kc_current_view );\ \n } else\ \n", kc_current_view); } unparse_rewriterulesinfo(r_rri, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } default: kc_unparsing_default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_Consrewriterulesinfo: unparse_rewriteruleinfo( kc_p->u.Consrewriterulesinfo.rewriteruleinfo_1, kc_printer, kc_current_view ); unparse_rewriterulesinfo( kc_p->u.Consrewriterulesinfo.rewriterulesinfo_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_rewriteruleinfo #ifdef KC_USE_PROTOTYPES (rewriteruleinfo kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) rewriteruleinfo kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_rewriteruleinfo(kc_p, "kc_p"); switch((int)kc_current_view) { default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_Rewriteruleinfo: unparse_patternrepresentation( kc_p->u.Rewriteruleinfo.patternrepresentation_1, kc_printer, kc_current_view ); unparse_patternrepresentation( kc_p->u.Rewriteruleinfo.patternrepresentation_2, kc_printer, kc_current_view ); unparse_rewriteclause( kc_p->u.Rewriteruleinfo.rewriteclause_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_withcasesinfo #ifdef KC_USE_PROTOTYPES (withcasesinfo kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) withcasesinfo kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_withcasesinfo(kc_p, "kc_p"); switch((int)kc_current_view) { case (int)view_gen_withcases_and_default: { if (( kc_p->prod_sel == sel_Nilwithcasesinfo)) { #line 7152 "../gen.k" if (cf_topinforeachcontext()) #line 20717 "unpk.c" { { (*kc_printer)("{/*EMPTY*/ /*skip: no matching pattern in foreach patterns*/}\ \n", kc_current_view); } } #line 7155 "../gen.k" else if ( (strcmp( gl_return_type, "" ) == 0) || ((strcmp( gl_star_string, "") == 0) && (! f_isphylum( gl_return_ID )) && (! f_is_known_ptr_type( gl_return_ID )) ) ) #line 20727 "unpk.c" { { (*kc_printer)("kc_no_default_in_with( \"", kc_current_view); } unparse_charptr(gl_function, kc_printer, kc_current_view); { (*kc_printer)("\", __LINE__, __FILE__ );\ \n", kc_current_view); } } #line 7161 "../gen.k" else #line 20736 "unpk.c" { { (*kc_printer)("{ kc_no_default_in_with( \"", kc_current_view); } unparse_charptr(gl_function, kc_printer, kc_current_view); { (*kc_printer)("\", __LINE__, __FILE__ );\ \n return (", kc_current_view); } unparse_charptr(gl_return_type, kc_printer, kc_current_view); unparse_charptr(gl_star_string, kc_printer, kc_current_view); { (*kc_printer)(")0; }\ \n", kc_current_view); } } } else goto kc_unparsing_default; break; } default: kc_unparsing_default: case (int)base_uview: { if (( kc_p->prod_sel == sel_Conswithcasesinfo) && ( kc_p->u.Conswithcasesinfo.withcaseinfo_1->prod_sel == sel_Withcaseinfo) && ( kc_p->u.Conswithcasesinfo.withcaseinfo_1->u.Withcaseinfo.patternrepresentation_1->prod_sel == sel_Conspatternrepresentation) && ( kc_p->u.Conswithcasesinfo.withcaseinfo_1->u.Withcaseinfo.patternrepresentation_1->u.Conspatternrepresentation.elem_patternrepresentation_1->prod_sel == sel_PRDefault)) { #line 7170 "../gen.k" patternrepresentation bindings = kc_p->u.Conswithcasesinfo.withcaseinfo_1->u.Withcaseinfo.patternrepresentation_2; #line 7170 "../gen.k" Ctext ct = kc_p->u.Conswithcasesinfo.withcaseinfo_1->u.Withcaseinfo.Ctext_1; { (*kc_printer)("{\ \n", kc_current_view); } unparse_patternrepresentation(bindings, kc_printer, view_wc_bindings); { (*kc_printer)("#line ", kc_current_view); } unparse_int(ct->line, kc_printer, kc_current_view); { (*kc_printer)(" \"", kc_current_view); } unparse_casestring(ct->file, kc_printer, view_filename); { (*kc_printer)("\"\ \n", kc_current_view); } unparse_Ctext(ct, kc_printer, view_gen_initializephyla_c); unparse_charptr(g_emptystring, kc_printer, view_printer_outputfileline); { (*kc_printer)("}\ \n", kc_current_view); } } else if (( kc_p->prod_sel == sel_Conswithcasesinfo) && ( kc_p->u.Conswithcasesinfo.withcaseinfo_1->prod_sel == sel_Withcaseinfo) && ( kc_p->u.Conswithcasesinfo.withcaseinfo_1->u.Withcaseinfo.patternrepresentation_1->prod_sel == sel_Nilpatternrepresentation)) { #line 7167 "../gen.k" patternrepresentation bindings = kc_p->u.Conswithcasesinfo.withcaseinfo_1->u.Withcaseinfo.patternrepresentation_2; #line 7167 "../gen.k" Ctext ct = kc_p->u.Conswithcasesinfo.withcaseinfo_1->u.Withcaseinfo.Ctext_1; { (*kc_printer)("{\ \n", kc_current_view); } unparse_patternrepresentation(bindings, kc_printer, view_wc_bindings); { (*kc_printer)("#line ", kc_current_view); } unparse_int(ct->line, kc_printer, kc_current_view); { (*kc_printer)(" \"", kc_current_view); } unparse_casestring(ct->file, kc_printer, view_filename); { (*kc_printer)("\"\ \n", kc_current_view); } unparse_Ctext(ct, kc_printer, view_gen_initializephyla_c); unparse_charptr(g_emptystring, kc_printer, view_printer_outputfileline); { (*kc_printer)("}\ \n", kc_current_view); } } else if (( kc_p->prod_sel == sel_Conswithcasesinfo) && ( kc_p->u.Conswithcasesinfo.withcaseinfo_1->prod_sel == sel_Withcaseinfo)) { #line 7182 "../gen.k" patternrepresentation p = kc_p->u.Conswithcasesinfo.withcaseinfo_1->u.Withcaseinfo.patternrepresentation_1; #line 7182 "../gen.k" patternrepresentation bindings = kc_p->u.Conswithcasesinfo.withcaseinfo_1->u.Withcaseinfo.patternrepresentation_2; #line 7182 "../gen.k" Ctext ct = kc_p->u.Conswithcasesinfo.withcaseinfo_1->u.Withcaseinfo.Ctext_1; #line 7182 "../gen.k" withcasesinfo r_rri = kc_p->u.Conswithcasesinfo.withcasesinfo_1; { (*kc_printer)(" if ((", kc_current_view); } unparse_patternrepresentation(p, kc_printer, view_wc_predicates); { (*kc_printer)(")) {\ \n", kc_current_view); } unparse_patternrepresentation(bindings, kc_printer, view_wc_bindings); { (*kc_printer)("#line ", kc_current_view); } unparse_int(ct->line, kc_printer, kc_current_view); { (*kc_printer)(" \"", kc_current_view); } unparse_casestring(ct->file, kc_printer, view_filename); { (*kc_printer)("\"\ \n", kc_current_view); } #line 7189 "../gen.k" cf_pushoperator( f_operatorofpatternrepresentation( p ) ); #line 20814 "unpk.c" unparse_Ctext(ct, kc_printer, view_gen_initializephyla_c); #line 7191 "../gen.k" cf_popoperator(); #line 20818 "unpk.c" unparse_charptr(g_emptystring, kc_printer, view_printer_outputfileline); { (*kc_printer)(" } else\ \n", kc_current_view); } unparse_withcasesinfo(r_rri, kc_printer, kc_current_view); } else switch((int)kc_p->prod_sel) { case (int)sel_Conswithcasesinfo: unparse_withcaseinfo( kc_p->u.Conswithcasesinfo.withcaseinfo_1, kc_printer, kc_current_view ); unparse_withcasesinfo( kc_p->u.Conswithcasesinfo.withcasesinfo_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_withcaseinfo #ifdef KC_USE_PROTOTYPES (withcaseinfo kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) withcaseinfo kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_withcaseinfo(kc_p, "kc_p"); switch((int)kc_current_view) { default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_Withcaseinfo: unparse_patternrepresentation( kc_p->u.Withcaseinfo.patternrepresentation_1, kc_printer, kc_current_view ); unparse_patternrepresentation( kc_p->u.Withcaseinfo.patternrepresentation_2, kc_printer, kc_current_view ); unparse_Ctext( kc_p->u.Withcaseinfo.Ctext_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_rewriteviewsinfo #ifdef KC_USE_PROTOTYPES (rewriteviewsinfo kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) rewriteviewsinfo kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_rewriteviewsinfo(kc_p, "kc_p"); switch((int)kc_current_view) { case (int)view_gen_rewritedefs_c: { if (( kc_p->prod_sel == sel_Nilrewriteviewsinfo)) { #line 6952 "../gen.k" /*EMPTY*/ #line 20873 "unpk.c" } else if (( kc_p->prod_sel == sel_Consrewriteviewsinfo)) { #line 6960 "../gen.k" rewriteviewinfo a_rvi = kc_p->u.Consrewriteviewsinfo.rewriteviewinfo_1; #line 6960 "../gen.k" rewriteviewsinfo r_rvi = kc_p->u.Consrewriteviewsinfo.rewriteviewsinfo_1; unparse_rewriteviewsinfo(r_rvi, kc_printer, kc_current_view); unparse_rewriteviewinfo(a_rvi, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } default: kc_unparsing_default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_Consrewriteviewsinfo: unparse_rewriteviewinfo( kc_p->u.Consrewriteviewsinfo.rewriteviewinfo_1, kc_printer, kc_current_view ); unparse_rewriteviewsinfo( kc_p->u.Consrewriteviewsinfo.rewriteviewsinfo_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_rewriteviewinfo #ifdef KC_USE_PROTOTYPES (rewriteviewinfo kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) rewriteviewinfo kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_rewriteviewinfo(kc_p, "kc_p"); switch((int)kc_current_view) { case (int)view_gen_rewritedefs_other_c: { if (( kc_p->prod_sel == sel_Rewriteviewinfo) && ( kc_p->u.Rewriteviewinfo.rewriterulesinfo_1->prod_sel == sel_Nilrewriterulesinfo)) { #line 6989 "../gen.k" /*EMPTY*/ #line 20914 "unpk.c" } else if (( kc_p->prod_sel == sel_Rewriteviewinfo)) { #line 6990 "../gen.k" ID v = kc_p->u.Rewriteviewinfo.ID_1; { (*kc_printer)(" case (int)", kc_current_view); } unparse_ID(v, kc_printer, kc_current_view); { (*kc_printer)(": {\ \n", kc_current_view); } #line 6993 "../gen.k" gl_view = v; #line 20925 "unpk.c" unparse_phylumdeclaration(gl_phydecl, kc_printer, kc_current_view); #line 6995 "../gen.k" gl_view = 0; #line 20929 "unpk.c" { (*kc_printer)(" }\ \n", kc_current_view); } #line 6998 "../gen.k" gl_rewrite_goto_used = True; #line 20934 "unpk.c" } else goto kc_unparsing_default; break; } case (int)view_gen_rewritedefs_default_c: { if (( kc_p->prod_sel == sel_Rewriteviewinfo)) { #line 6973 "../gen.k" ID v = kc_p->u.Rewriteviewinfo.ID_1; { (*kc_printer)(" default:\ \n", kc_current_view); } #line 6976 "../gen.k" if (gl_rewrite_goto_used) #line 20947 "unpk.c" { { (*kc_printer)(" kc_rewrite_default:\ \n", kc_current_view); } } { (*kc_printer)(" case (int)", kc_current_view); } unparse_ID(v, kc_printer, kc_current_view); { (*kc_printer)(": {\ \n", kc_current_view); } #line 6982 "../gen.k" gl_view = v; #line 20958 "unpk.c" unparse_phylumdeclaration(gl_phydecl, kc_printer, kc_current_view); #line 6984 "../gen.k" gl_view = 0; #line 20962 "unpk.c" { (*kc_printer)(" }\ \n", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_rewritedefs_c: { if (( kc_p->prod_sel == sel_Rewriteviewinfo)) { #line 6964 "../gen.k" ID v = kc_p->u.Rewriteviewinfo.ID_1; #line 6964 "../gen.k" rewriterulesinfo rri = kc_p->u.Rewriteviewinfo.rewriterulesinfo_1; #line 6965 "../gen.k" gl_rewrite_rewriteinfo = rri; #line 20977 "unpk.c" #line 6966 "../gen.k" if (eq_ID( v, Id( Str( mkcasestring( "base_rview" ))))) #line 20980 "unpk.c" { unparse_rewriteviewinfo(kc_p, kc_printer, view_gen_rewritedefs_default_c); } #line 6968 "../gen.k" else #line 20986 "unpk.c" { unparse_rewriteviewinfo(kc_p, kc_printer, view_gen_rewritedefs_other_c); } #line 6971 "../gen.k" gl_rewrite_rewriteinfo = 0; #line 20992 "unpk.c" } else goto kc_unparsing_default; break; } default: kc_unparsing_default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_Rewriteviewinfo: unparse_ID( kc_p->u.Rewriteviewinfo.ID_1, kc_printer, kc_current_view ); unparse_rewriterulesinfo( kc_p->u.Rewriteviewinfo.rewriterulesinfo_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_unparseviewsinfo #ifdef KC_USE_PROTOTYPES (unparseviewsinfo kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) unparseviewsinfo kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_unparseviewsinfo(kc_p, "kc_p"); switch((int)kc_current_view) { case (int)view_gen_unparsedefs_c: { if (( kc_p->prod_sel == sel_Nilunparseviewsinfo)) { #line 7946 "../gen.k" /*EMPTY*/ #line 21025 "unpk.c" } else if (( kc_p->prod_sel == sel_Consunparseviewsinfo)) { #line 7954 "../gen.k" unparseviewinfo a_uvi = kc_p->u.Consunparseviewsinfo.unparseviewinfo_1; #line 7954 "../gen.k" unparseviewsinfo r_uvi = kc_p->u.Consunparseviewsinfo.unparseviewsinfo_1; unparse_unparseviewsinfo(r_uvi, kc_printer, kc_current_view); unparse_unparseviewinfo(a_uvi, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } default: kc_unparsing_default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_Consunparseviewsinfo: unparse_unparseviewinfo( kc_p->u.Consunparseviewsinfo.unparseviewinfo_1, kc_printer, kc_current_view ); unparse_unparseviewsinfo( kc_p->u.Consunparseviewsinfo.unparseviewsinfo_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_unparseviewinfo #ifdef KC_USE_PROTOTYPES (unparseviewinfo kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) unparseviewinfo kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_unparseviewinfo(kc_p, "kc_p"); switch((int)kc_current_view) { case (int)view_gen_unparsedefs_other_c: { if (( kc_p->prod_sel == sel_Unparseviewinfo) && ( kc_p->u.Unparseviewinfo.unparsedeclsinfo_1->prod_sel == sel_Nilunparsedeclsinfo)) { #line 7980 "../gen.k" /*EMPTY*/ #line 21066 "unpk.c" } else if (( kc_p->prod_sel == sel_Unparseviewinfo)) { #line 7981 "../gen.k" ID v = kc_p->u.Unparseviewinfo.ID_1; #line 7981 "../gen.k" unparsedeclsinfo udi = kc_p->u.Unparseviewinfo.unparsedeclsinfo_1; { (*kc_printer)(" case (int)", kc_current_view); } unparse_ID(v, kc_printer, kc_current_view); { (*kc_printer)(": {\ \n", kc_current_view); } unparse_unparsedeclsinfo(udi, kc_printer, kc_current_view); { (*kc_printer)(" break;\ \n }\ \n", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_unparsedefs_default_c: { if (( kc_p->prod_sel == sel_Unparseviewinfo)) { #line 7965 "../gen.k" ID v = kc_p->u.Unparseviewinfo.ID_1; #line 7965 "../gen.k" unparsedeclsinfo udi = kc_p->u.Unparseviewinfo.unparsedeclsinfo_1; { (*kc_printer)(" default:\ \n", kc_current_view); } #line 7968 "../gen.k" if (gl_unparse_goto_used) #line 21095 "unpk.c" { { (*kc_printer)(" kc_unparsing_default:\ \n", kc_current_view); } } { (*kc_printer)(" case (int)", kc_current_view); } unparse_ID(v, kc_printer, kc_current_view); { (*kc_printer)(": {\ \n", kc_current_view); } unparse_unparsedeclsinfo(udi, kc_printer, kc_current_view); { (*kc_printer)(" break;\ \n }\ \n", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_unparsedefs_c: { if (( kc_p->prod_sel == sel_Unparseviewinfo)) { #line 7958 "../gen.k" ID v = kc_p->u.Unparseviewinfo.ID_1; #line 7959 "../gen.k" if (eq_ID( v, Id( Str( mkcasestring( "base_uview" ))))) #line 21118 "unpk.c" { unparse_unparseviewinfo(kc_p, kc_printer, view_gen_unparsedefs_default_c); } #line 7961 "../gen.k" else if (! eq_ID( v, Id( Str( mkcasestring( "base_view" ))))) #line 21124 "unpk.c" { unparse_unparseviewinfo(kc_p, kc_printer, view_gen_unparsedefs_other_c); } } else goto kc_unparsing_default; break; } default: kc_unparsing_default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_Unparseviewinfo: unparse_ID( kc_p->u.Unparseviewinfo.ID_1, kc_printer, kc_current_view ); unparse_unparsedeclsinfo( kc_p->u.Unparseviewinfo.unparsedeclsinfo_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_unparsedeclsinfo #ifdef KC_USE_PROTOTYPES (unparsedeclsinfo kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) unparsedeclsinfo kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_unparsedeclsinfo(kc_p, "kc_p"); switch((int)kc_current_view) { case (int)view_gen_unparsedefs_other_c: { if (( kc_p->prod_sel == sel_Nilunparsedeclsinfo)) { { (*kc_printer)(" goto kc_unparsing_default;\ \n", kc_current_view); } #line 7992 "../gen.k" gl_unparse_goto_used = True; #line 21162 "unpk.c" } else if (( kc_p->prod_sel == sel_Consunparsedeclsinfo) && ( kc_p->u.Consunparsedeclsinfo.unparsedeclinfo_1->prod_sel == sel_Unparsedeclinfo) && ( kc_p->u.Consunparsedeclsinfo.unparsedeclinfo_1->u.Unparsedeclinfo.patternrepresentation_1->prod_sel == sel_Nilpatternrepresentation)) { #line 8044 "../gen.k" patternrepresentation bindings = kc_p->u.Consunparsedeclsinfo.unparsedeclinfo_1->u.Unparsedeclinfo.patternrepresentation_2; #line 8044 "../gen.k" unparseclause uc = kc_p->u.Consunparsedeclsinfo.unparsedeclinfo_1->u.Unparsedeclinfo.unparseclause_1; unparse_patternrepresentation(bindings, kc_printer, view_unp_bindings); unparse_unparseclause(uc, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_Consunparsedeclsinfo) && ( kc_p->u.Consunparsedeclsinfo.unparsedeclinfo_1->prod_sel == sel_Unparsedeclinfo)) { #line 8049 "../gen.k" patternrepresentation p = kc_p->u.Consunparsedeclsinfo.unparsedeclinfo_1->u.Unparsedeclinfo.patternrepresentation_1; #line 8049 "../gen.k" patternrepresentation bindings = kc_p->u.Consunparsedeclsinfo.unparsedeclinfo_1->u.Unparsedeclinfo.patternrepresentation_2; #line 8049 "../gen.k" unparseclause uc = kc_p->u.Consunparsedeclsinfo.unparsedeclinfo_1->u.Unparsedeclinfo.unparseclause_1; #line 8049 "../gen.k" unparsedeclsinfo r_rri = kc_p->u.Consunparsedeclsinfo.unparsedeclsinfo_1; { (*kc_printer)(" if ((", kc_current_view); } unparse_patternrepresentation(p, kc_printer, view_unp_predicates); { (*kc_printer)(")) {\ \n", kc_current_view); } unparse_patternrepresentation(bindings, kc_printer, view_unp_bindings); #line 8054 "../gen.k" cf_pushoperator( f_operatorofpatternrepresentation( p ) ); #line 21188 "unpk.c" unparse_unparseclause(uc, kc_printer, kc_current_view); #line 8057 "../gen.k" cf_popoperator(); #line 21192 "unpk.c" { (*kc_printer)(" } else\ \n", kc_current_view); } unparse_unparsedeclsinfo(r_rri, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_unparsedefs_default_c: { if (( kc_p->prod_sel == sel_Nilunparsedeclsinfo)) { #line 7995 "../gen.k" phylumdeclaration phydecl = f_lookupdecl( gl_phylum ); if ( phydecl == 0 ) #line 21205 "unpk.c" { #line 7996 "../gen.k" v_report(NonFatal( FileLine( gl_phylum->file, gl_phylum->line ), Problem1S1ID( "internal error: could not find declaration of phylum:", gl_phylum ))); #line 21211 "unpk.c" } #line 7998 "../gen.k" else #line 21215 "unpk.c" { unparse_phylumdeclaration(phydecl, kc_printer, kc_current_view); } } else if (( kc_p->prod_sel == sel_Consunparsedeclsinfo) && ( kc_p->u.Consunparsedeclsinfo.unparsedeclinfo_1->prod_sel == sel_Unparsedeclinfo) && ( kc_p->u.Consunparsedeclsinfo.unparsedeclinfo_1->u.Unparsedeclinfo.patternrepresentation_1->prod_sel == sel_Nilpatternrepresentation)) { #line 8044 "../gen.k" patternrepresentation bindings = kc_p->u.Consunparsedeclsinfo.unparsedeclinfo_1->u.Unparsedeclinfo.patternrepresentation_2; #line 8044 "../gen.k" unparseclause uc = kc_p->u.Consunparsedeclsinfo.unparsedeclinfo_1->u.Unparsedeclinfo.unparseclause_1; unparse_patternrepresentation(bindings, kc_printer, view_unp_bindings); unparse_unparseclause(uc, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_Consunparsedeclsinfo) && ( kc_p->u.Consunparsedeclsinfo.unparsedeclinfo_1->prod_sel == sel_Unparsedeclinfo)) { #line 8049 "../gen.k" patternrepresentation p = kc_p->u.Consunparsedeclsinfo.unparsedeclinfo_1->u.Unparsedeclinfo.patternrepresentation_1; #line 8049 "../gen.k" patternrepresentation bindings = kc_p->u.Consunparsedeclsinfo.unparsedeclinfo_1->u.Unparsedeclinfo.patternrepresentation_2; #line 8049 "../gen.k" unparseclause uc = kc_p->u.Consunparsedeclsinfo.unparsedeclinfo_1->u.Unparsedeclinfo.unparseclause_1; #line 8049 "../gen.k" unparsedeclsinfo r_rri = kc_p->u.Consunparsedeclsinfo.unparsedeclsinfo_1; { (*kc_printer)(" if ((", kc_current_view); } unparse_patternrepresentation(p, kc_printer, view_unp_predicates); { (*kc_printer)(")) {\ \n", kc_current_view); } unparse_patternrepresentation(bindings, kc_printer, view_unp_bindings); #line 8054 "../gen.k" cf_pushoperator( f_operatorofpatternrepresentation( p ) ); #line 21244 "unpk.c" unparse_unparseclause(uc, kc_printer, kc_current_view); #line 8057 "../gen.k" cf_popoperator(); #line 21248 "unpk.c" { (*kc_printer)(" } else\ \n", kc_current_view); } unparse_unparsedeclsinfo(r_rri, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } default: kc_unparsing_default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_Consunparsedeclsinfo: unparse_unparsedeclinfo( kc_p->u.Consunparsedeclsinfo.unparsedeclinfo_1, kc_printer, kc_current_view ); unparse_unparsedeclsinfo( kc_p->u.Consunparsedeclsinfo.unparsedeclsinfo_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_unparsedeclinfo #ifdef KC_USE_PROTOTYPES (unparsedeclinfo kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) unparsedeclinfo kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_unparsedeclinfo(kc_p, "kc_p"); switch((int)kc_current_view) { default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_Unparsedeclinfo: unparse_patternrepresentation( kc_p->u.Unparsedeclinfo.patternrepresentation_1, kc_printer, kc_current_view ); unparse_patternrepresentation( kc_p->u.Unparsedeclinfo.patternrepresentation_2, kc_printer, kc_current_view ); unparse_unparseclause( kc_p->u.Unparsedeclinfo.unparseclause_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_ac_declaration #ifdef KC_USE_PROTOTYPES (ac_declaration kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) ac_declaration kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_ac_declaration(kc_p, "kc_p"); switch((int)kc_current_view) { default: case (int)base_uview: { if (( kc_p->prod_sel == sel_AcDeclaration)) { #line 7529 "../gen.k" ac_declaration_specifiers ds = kc_p->u.AcDeclaration.ac_declaration_specifiers_1; #line 7529 "../gen.k" ac_init_declarator_list idlo = kc_p->u.AcDeclaration.ac_init_declarator_list_1; unparse_ac_declaration_specifiers(ds, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_ac_init_declarator_list(idlo, kc_printer, kc_current_view); { (*kc_printer)(";\ \n", kc_current_view); } } else switch((int)kc_p->prod_sel) { case (int)sel_AcDeclaration: unparse_ac_declaration_specifiers( kc_p->u.AcDeclaration.ac_declaration_specifiers_1, kc_printer, kc_current_view ); unparse_ac_init_declarator_list( kc_p->u.AcDeclaration.ac_init_declarator_list_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_ac_declaration_list #ifdef KC_USE_PROTOTYPES (ac_declaration_list kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) ac_declaration_list kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_ac_declaration_list(kc_p, "kc_p"); switch((int)kc_current_view) { default: case (int)base_uview: { if (( kc_p->prod_sel == sel_Consac_declaration_list)) { #line 7534 "../gen.k" ac_declaration h = kc_p->u.Consac_declaration_list.ac_declaration_1; #line 7534 "../gen.k" ac_declaration_list t = kc_p->u.Consac_declaration_list.ac_declaration_list_1; unparse_ac_declaration_list(t, kc_printer, kc_current_view); unparse_ac_declaration(h, kc_printer, kc_current_view); } else switch((int)kc_p->prod_sel) { case (int)sel_Consac_declaration_list: unparse_ac_declaration( kc_p->u.Consac_declaration_list.ac_declaration_1, kc_printer, kc_current_view ); unparse_ac_declaration_list( kc_p->u.Consac_declaration_list.ac_declaration_list_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_ac_declaration_specifiers #ifdef KC_USE_PROTOTYPES (ac_declaration_specifiers kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) ac_declaration_specifiers kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_ac_declaration_specifiers(kc_p, "kc_p"); switch((int)kc_current_view) { default: case (int)base_uview: { if (( kc_p->prod_sel == sel_Consac_declaration_specifiers) && ( kc_p->u.Consac_declaration_specifiers.ac_declaration_specifiers_1->prod_sel == sel_Nilac_declaration_specifiers)) { #line 7536 "../gen.k" ac_declaration_specifier h = kc_p->u.Consac_declaration_specifiers.ac_declaration_specifier_1; unparse_ac_declaration_specifier(h, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_Consac_declaration_specifiers)) { #line 7537 "../gen.k" ac_declaration_specifier h = kc_p->u.Consac_declaration_specifiers.ac_declaration_specifier_1; #line 7537 "../gen.k" ac_declaration_specifiers t = kc_p->u.Consac_declaration_specifiers.ac_declaration_specifiers_1; unparse_ac_declaration_specifiers(t, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_ac_declaration_specifier(h, kc_printer, kc_current_view); } else switch((int)kc_p->prod_sel) { case (int)sel_Consac_declaration_specifiers: unparse_ac_declaration_specifier( kc_p->u.Consac_declaration_specifiers.ac_declaration_specifier_1, kc_printer, kc_current_view ); unparse_ac_declaration_specifiers( kc_p->u.Consac_declaration_specifiers.ac_declaration_specifiers_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_ac_declaration_specifier #ifdef KC_USE_PROTOTYPES (ac_declaration_specifier kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) ac_declaration_specifier kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_ac_declaration_specifier(kc_p, "kc_p"); switch((int)kc_current_view) { default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_AcDeclSpecStorageSpec: unparse_ac_storage_class_specifier( kc_p->u.AcDeclSpecStorageSpec.ac_storage_class_specifier_1, kc_printer, kc_current_view ); break; case (int)sel_AcDeclSpecTypeSpec: unparse_ac_type_specifier( kc_p->u.AcDeclSpecTypeSpec.ac_type_specifier_1, kc_printer, kc_current_view ); break; case (int)sel_AcDeclSpecTypeQual: unparse_ac_type_qualifier( kc_p->u.AcDeclSpecTypeQual.ac_type_qualifier_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_ac_storage_class_specifier #ifdef KC_USE_PROTOTYPES (ac_storage_class_specifier kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) ac_storage_class_specifier kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_ac_storage_class_specifier(kc_p, "kc_p"); switch((int)kc_current_view) { default: case (int)base_uview: { if (( kc_p->prod_sel == sel_AcAuto)) { { (*kc_printer)("auto", kc_current_view); } } else if (( kc_p->prod_sel == sel_AcRegister)) { { (*kc_printer)("register", kc_current_view); } } else if (( kc_p->prod_sel == sel_AcStatic)) { { (*kc_printer)("static", kc_current_view); } } else if (( kc_p->prod_sel == sel_AcExtern)) { { (*kc_printer)("extern", kc_current_view); } } else if (( kc_p->prod_sel == sel_AcTypedef)) { { (*kc_printer)("typedef", kc_current_view); } } else break; } } } /*ARGSUSED*/ void unparse_ac_type_specifier #ifdef KC_USE_PROTOTYPES (ac_type_specifier kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) ac_type_specifier kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_ac_type_specifier(kc_p, "kc_p"); switch((int)kc_current_view) { default: case (int)base_uview: { if (( kc_p->prod_sel == sel_AcTypeSpec)) { #line 7544 "../gen.k" ID i = kc_p->u.AcTypeSpec.ID_1; unparse_ID(i, kc_printer, kc_current_view); } else switch((int)kc_p->prod_sel) { case (int)sel_AcTypeSpec: unparse_ID( kc_p->u.AcTypeSpec.ID_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_ac_type_qualifier #ifdef KC_USE_PROTOTYPES (ac_type_qualifier kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) ac_type_qualifier kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_ac_type_qualifier(kc_p, "kc_p"); switch((int)kc_current_view) { default: case (int)base_uview: { if (( kc_p->prod_sel == sel_AcConst)) { { (*kc_printer)("const", kc_current_view); } } else if (( kc_p->prod_sel == sel_AcVolatile)) { { (*kc_printer)("volatile", kc_current_view); } } else break; } } } /*ARGSUSED*/ void unparse_ac_init_declarator_list #ifdef KC_USE_PROTOTYPES (ac_init_declarator_list kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) ac_init_declarator_list kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_ac_init_declarator_list(kc_p, "kc_p"); switch((int)kc_current_view) { default: case (int)base_uview: { if (( kc_p->prod_sel == sel_Consac_init_declarator_list) && ( kc_p->u.Consac_init_declarator_list.ac_init_declarator_list_1->prod_sel == sel_Nilac_init_declarator_list)) { #line 7550 "../gen.k" ac_init_declarator h = kc_p->u.Consac_init_declarator_list.ac_init_declarator_1; unparse_ac_init_declarator(h, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_Consac_init_declarator_list)) { #line 7549 "../gen.k" ac_init_declarator h = kc_p->u.Consac_init_declarator_list.ac_init_declarator_1; #line 7549 "../gen.k" ac_init_declarator_list t = kc_p->u.Consac_init_declarator_list.ac_init_declarator_list_1; unparse_ac_init_declarator_list(t, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_ac_init_declarator(h, kc_printer, kc_current_view); } else switch((int)kc_p->prod_sel) { case (int)sel_Consac_init_declarator_list: unparse_ac_init_declarator( kc_p->u.Consac_init_declarator_list.ac_init_declarator_1, kc_printer, kc_current_view ); unparse_ac_init_declarator_list( kc_p->u.Consac_init_declarator_list.ac_init_declarator_list_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_ac_init_declarator #ifdef KC_USE_PROTOTYPES (ac_init_declarator kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) ac_init_declarator kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_ac_init_declarator(kc_p, "kc_p"); switch((int)kc_current_view) { default: case (int)base_uview: { if (( kc_p->prod_sel == sel_AcInitDecl)) { #line 7552 "../gen.k" ac_declarator d = kc_p->u.AcInitDecl.ac_declarator_1; unparse_ac_declarator(d, kc_printer, kc_current_view); } else switch((int)kc_p->prod_sel) { case (int)sel_AcInitDecl: unparse_ac_declarator( kc_p->u.AcInitDecl.ac_declarator_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_ac_declarator #ifdef KC_USE_PROTOTYPES (ac_declarator kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) ac_declarator kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_ac_declarator(kc_p, "kc_p"); switch((int)kc_current_view) { case (int)view_gen_fnkdecls: { if (( kc_p->prod_sel == sel_AcDeclarator)) { #line 7624 "../gen.k" ac_pointer_option po = kc_p->u.AcDeclarator.ac_pointer_option_1; #line 7624 "../gen.k" ac_direct_declarator dd = kc_p->u.AcDeclarator.ac_direct_declarator_1; unparse_ac_pointer_option(po, kc_printer, kc_current_view); unparse_ac_direct_declarator(dd, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_fnkargs: { if (( kc_p->prod_sel == sel_AcDeclarator)) { #line 7607 "../gen.k" ac_direct_declarator dd = kc_p->u.AcDeclarator.ac_direct_declarator_1; unparse_ac_direct_declarator(dd, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_fn_pointer_name: { if (( kc_p->prod_sel == sel_AcDeclarator)) { #line 7599 "../gen.k" ac_pointer_option po = kc_p->u.AcDeclarator.ac_pointer_option_1; #line 7599 "../gen.k" ac_direct_declarator dd = kc_p->u.AcDeclarator.ac_direct_declarator_1; unparse_ac_pointer_option(po, kc_printer, kc_current_view); unparse_ac_direct_declarator(dd, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } default: kc_unparsing_default: case (int)base_uview: { if (( kc_p->prod_sel == sel_AcDeclarator)) { #line 7554 "../gen.k" ac_pointer_option po = kc_p->u.AcDeclarator.ac_pointer_option_1; #line 7554 "../gen.k" ac_direct_declarator dd = kc_p->u.AcDeclarator.ac_direct_declarator_1; unparse_ac_pointer_option(po, kc_printer, kc_current_view); unparse_ac_direct_declarator(dd, kc_printer, kc_current_view); } else switch((int)kc_p->prod_sel) { case (int)sel_AcDeclarator: unparse_ac_pointer_option( kc_p->u.AcDeclarator.ac_pointer_option_1, kc_printer, kc_current_view ); unparse_ac_direct_declarator( kc_p->u.AcDeclarator.ac_direct_declarator_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_ac_direct_declarator #ifdef KC_USE_PROTOTYPES (ac_direct_declarator kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) ac_direct_declarator kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_ac_direct_declarator(kc_p, "kc_p"); switch((int)kc_current_view) { case (int)view_gen_fnkdecls: { if (( kc_p->prod_sel == sel_AcDirectDeclId)) { #line 7625 "../gen.k" ID i = kc_p->u.AcDirectDeclId.ID_1; unparse_ID(i, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_AcDirectDeclPack)) { #line 7626 "../gen.k" ac_declarator d = kc_p->u.AcDirectDeclPack.ac_declarator_1; { (*kc_printer)("(", kc_current_view); } unparse_ac_declarator(d, kc_printer, kc_current_view); { (*kc_printer)(")", kc_current_view); } } else if (( kc_p->prod_sel == sel_AcDirectDeclArray)) { #line 7627 "../gen.k" ac_direct_declarator dd = kc_p->u.AcDirectDeclArray.ac_direct_declarator_1; #line 7627 "../gen.k" ac_constant_expression_option ceo = kc_p->u.AcDirectDeclArray.ac_constant_expression_option_1; unparse_ac_direct_declarator(dd, kc_printer, kc_current_view); { (*kc_printer)("[", kc_current_view); } unparse_ac_constant_expression_option(ceo, kc_printer, kc_current_view); { (*kc_printer)("]", kc_current_view); } } else if (( kc_p->prod_sel == sel_AcDirectDeclProto)) { #line 7628 "../gen.k" ac_direct_declarator dd = kc_p->u.AcDirectDeclProto.ac_direct_declarator_1; unparse_ac_direct_declarator(dd, kc_printer, kc_current_view); { (*kc_printer)("()", kc_current_view); } } else if (( kc_p->prod_sel == sel_AcDirectDeclKandR)) { #line 7629 "../gen.k" ac_direct_declarator dd = kc_p->u.AcDirectDeclKandR.ac_direct_declarator_1; unparse_ac_direct_declarator(dd, kc_printer, kc_current_view); { (*kc_printer)("()", kc_current_view); } } else goto kc_unparsing_default; break; } case (int)view_gen_fnkargs: { if (( kc_p->prod_sel == sel_AcDirectDeclPack)) { #line 7608 "../gen.k" ac_declarator d = kc_p->u.AcDirectDeclPack.ac_declarator_1; unparse_ac_declarator(d, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_AcDirectDeclArray)) { #line 7609 "../gen.k" ac_direct_declarator dd = kc_p->u.AcDirectDeclArray.ac_direct_declarator_1; unparse_ac_direct_declarator(dd, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_AcDirectDeclProto)) { #line 7610 "../gen.k" ac_direct_declarator dd = kc_p->u.AcDirectDeclProto.ac_direct_declarator_1; unparse_ac_direct_declarator(dd, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_AcDirectDeclKandR)) { #line 7611 "../gen.k" ac_direct_declarator dd = kc_p->u.AcDirectDeclKandR.ac_direct_declarator_1; unparse_ac_direct_declarator(dd, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_fn_pointer_name: { if (( kc_p->prod_sel == sel_AcDirectDeclProto)) { #line 7600 "../gen.k" ac_direct_declarator dd = kc_p->u.AcDirectDeclProto.ac_direct_declarator_1; unparse_ac_direct_declarator(dd, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_AcDirectDeclKandR)) { #line 7601 "../gen.k" ac_direct_declarator dd = kc_p->u.AcDirectDeclKandR.ac_direct_declarator_1; unparse_ac_direct_declarator(dd, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } default: kc_unparsing_default: case (int)base_uview: { if (( kc_p->prod_sel == sel_AcDirectDeclId)) { #line 7556 "../gen.k" ID i = kc_p->u.AcDirectDeclId.ID_1; unparse_ID(i, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_AcDirectDeclPack)) { #line 7557 "../gen.k" ac_declarator d = kc_p->u.AcDirectDeclPack.ac_declarator_1; { (*kc_printer)("(", kc_current_view); } unparse_ac_declarator(d, kc_printer, kc_current_view); { (*kc_printer)(")", kc_current_view); } } else if (( kc_p->prod_sel == sel_AcDirectDeclArray)) { #line 7558 "../gen.k" ac_direct_declarator dd = kc_p->u.AcDirectDeclArray.ac_direct_declarator_1; #line 7558 "../gen.k" ac_constant_expression_option ceo = kc_p->u.AcDirectDeclArray.ac_constant_expression_option_1; unparse_ac_direct_declarator(dd, kc_printer, kc_current_view); { (*kc_printer)("[", kc_current_view); } unparse_ac_constant_expression_option(ceo, kc_printer, kc_current_view); { (*kc_printer)("]", kc_current_view); } } else if (( kc_p->prod_sel == sel_AcDirectDeclProto)) { #line 7559 "../gen.k" ac_direct_declarator dd = kc_p->u.AcDirectDeclProto.ac_direct_declarator_1; #line 7559 "../gen.k" ac_parameter_type_list ptl = kc_p->u.AcDirectDeclProto.ac_parameter_type_list_1; unparse_ac_direct_declarator(dd, kc_printer, kc_current_view); { (*kc_printer)("(", kc_current_view); } unparse_ac_parameter_type_list(ptl, kc_printer, kc_current_view); { (*kc_printer)(")", kc_current_view); } } else if (( kc_p->prod_sel == sel_AcDirectDeclKandR)) { #line 7560 "../gen.k" ac_direct_declarator dd = kc_p->u.AcDirectDeclKandR.ac_direct_declarator_1; #line 7560 "../gen.k" ac_identifier_list il = kc_p->u.AcDirectDeclKandR.ac_identifier_list_1; unparse_ac_direct_declarator(dd, kc_printer, kc_current_view); { (*kc_printer)("(", kc_current_view); } unparse_ac_identifier_list(il, kc_printer, kc_current_view); { (*kc_printer)(")", kc_current_view); } } else switch((int)kc_p->prod_sel) { case (int)sel_AcDirectDeclId: unparse_ID( kc_p->u.AcDirectDeclId.ID_1, kc_printer, kc_current_view ); break; case (int)sel_AcDirectDeclPack: unparse_ac_declarator( kc_p->u.AcDirectDeclPack.ac_declarator_1, kc_printer, kc_current_view ); break; case (int)sel_AcDirectDeclArray: unparse_ac_direct_declarator( kc_p->u.AcDirectDeclArray.ac_direct_declarator_1, kc_printer, kc_current_view ); unparse_ac_constant_expression_option( kc_p->u.AcDirectDeclArray.ac_constant_expression_option_1, kc_printer, kc_current_view ); break; case (int)sel_AcDirectDeclProto: unparse_ac_direct_declarator( kc_p->u.AcDirectDeclProto.ac_direct_declarator_1, kc_printer, kc_current_view ); unparse_ac_parameter_type_list( kc_p->u.AcDirectDeclProto.ac_parameter_type_list_1, kc_printer, kc_current_view ); break; case (int)sel_AcDirectDeclKandR: unparse_ac_direct_declarator( kc_p->u.AcDirectDeclKandR.ac_direct_declarator_1, kc_printer, kc_current_view ); unparse_ac_identifier_list( kc_p->u.AcDirectDeclKandR.ac_identifier_list_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_ac_pointer_option #ifdef KC_USE_PROTOTYPES (ac_pointer_option kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) ac_pointer_option kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_ac_pointer_option(kc_p, "kc_p"); switch((int)kc_current_view) { default: case (int)base_uview: { if (( kc_p->prod_sel == sel_Nopointer)) { #line 7562 "../gen.k" /*EMPTY*/ #line 21806 "unpk.c" } else if (( kc_p->prod_sel == sel_Yespointer)) { #line 7563 "../gen.k" ac_pointer p = kc_p->u.Yespointer.ac_pointer_1; unparse_ac_pointer(p, kc_printer, kc_current_view); } else switch((int)kc_p->prod_sel) { case (int)sel_Yespointer: unparse_ac_pointer( kc_p->u.Yespointer.ac_pointer_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_ac_pointer #ifdef KC_USE_PROTOTYPES (ac_pointer kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) ac_pointer kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_ac_pointer(kc_p, "kc_p"); switch((int)kc_current_view) { default: case (int)base_uview: { if (( kc_p->prod_sel == sel_AcPointerNil) && ( kc_p->u.AcPointerNil.ac_type_qualifier_list_1->prod_sel == sel_Nilac_type_qualifier_list)) { { (*kc_printer)("*", kc_current_view); } } else if (( kc_p->prod_sel == sel_AcPointerNil)) { #line 7566 "../gen.k" ac_type_qualifier_list tql = kc_p->u.AcPointerNil.ac_type_qualifier_list_1; { (*kc_printer)("* ", kc_current_view); } unparse_ac_type_qualifier_list(tql, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } } else if (( kc_p->prod_sel == sel_AcPointerCons) && ( kc_p->u.AcPointerCons.ac_type_qualifier_list_1->prod_sel == sel_Nilac_type_qualifier_list)) { #line 7567 "../gen.k" ac_pointer p = kc_p->u.AcPointerCons.ac_pointer_1; { (*kc_printer)("*", kc_current_view); } unparse_ac_pointer(p, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_AcPointerCons)) { #line 7568 "../gen.k" ac_type_qualifier_list tql = kc_p->u.AcPointerCons.ac_type_qualifier_list_1; #line 7568 "../gen.k" ac_pointer p = kc_p->u.AcPointerCons.ac_pointer_1; { (*kc_printer)("* ", kc_current_view); } unparse_ac_type_qualifier_list(tql, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_ac_pointer(p, kc_printer, kc_current_view); } else switch((int)kc_p->prod_sel) { case (int)sel_AcPointerNil: unparse_ac_type_qualifier_list( kc_p->u.AcPointerNil.ac_type_qualifier_list_1, kc_printer, kc_current_view ); break; case (int)sel_AcPointerCons: unparse_ac_type_qualifier_list( kc_p->u.AcPointerCons.ac_type_qualifier_list_1, kc_printer, kc_current_view ); unparse_ac_pointer( kc_p->u.AcPointerCons.ac_pointer_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_ac_type_qualifier_list #ifdef KC_USE_PROTOTYPES (ac_type_qualifier_list kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) ac_type_qualifier_list kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_ac_type_qualifier_list(kc_p, "kc_p"); switch((int)kc_current_view) { default: case (int)base_uview: { if (( kc_p->prod_sel == sel_Consac_type_qualifier_list) && ( kc_p->u.Consac_type_qualifier_list.ac_type_qualifier_list_1->prod_sel == sel_Nilac_type_qualifier_list)) { #line 7570 "../gen.k" ac_type_qualifier h = kc_p->u.Consac_type_qualifier_list.ac_type_qualifier_1; unparse_ac_type_qualifier(h, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_Consac_type_qualifier_list)) { #line 7571 "../gen.k" ac_type_qualifier h = kc_p->u.Consac_type_qualifier_list.ac_type_qualifier_1; #line 7571 "../gen.k" ac_type_qualifier_list t = kc_p->u.Consac_type_qualifier_list.ac_type_qualifier_list_1; unparse_ac_type_qualifier_list(t, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_ac_type_qualifier(h, kc_printer, kc_current_view); } else switch((int)kc_p->prod_sel) { case (int)sel_Consac_type_qualifier_list: unparse_ac_type_qualifier( kc_p->u.Consac_type_qualifier_list.ac_type_qualifier_1, kc_printer, kc_current_view ); unparse_ac_type_qualifier_list( kc_p->u.Consac_type_qualifier_list.ac_type_qualifier_list_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_ac_parameter_type_list #ifdef KC_USE_PROTOTYPES (ac_parameter_type_list kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) ac_parameter_type_list kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_ac_parameter_type_list(kc_p, "kc_p"); switch((int)kc_current_view) { case (int)view_gen_fnkdecls: { if (( kc_p->prod_sel == sel_AcParList) && ( kc_p->u.AcParList.ac_parameter_list_1->prod_sel == sel_Nilac_parameter_list)) { } else if (( kc_p->prod_sel == sel_AcParList3Dot)) { #line 7619 "../gen.k" ac_parameter_list pl = kc_p->u.AcParList3Dot.ac_parameter_list_1; unparse_ac_parameter_list(pl, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_fnkargs: { if (( kc_p->prod_sel == sel_AcParList) && ( kc_p->u.AcParList.ac_parameter_list_1->prod_sel == sel_Nilac_parameter_list)) { } else if (( kc_p->prod_sel == sel_AcParList3Dot)) { #line 7604 "../gen.k" ac_parameter_list pl = kc_p->u.AcParList3Dot.ac_parameter_list_1; unparse_ac_parameter_list(pl, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } default: kc_unparsing_default: case (int)base_uview: { if (( kc_p->prod_sel == sel_AcParList) && ( kc_p->u.AcParList.ac_parameter_list_1->prod_sel == sel_Nilac_parameter_list)) { { (*kc_printer)("void", kc_current_view); } } else if (( kc_p->prod_sel == sel_AcParList)) { #line 7573 "../gen.k" ac_parameter_list pl = kc_p->u.AcParList.ac_parameter_list_1; unparse_ac_parameter_list(pl, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_AcParList3Dot)) { #line 7575 "../gen.k" ac_parameter_list pl = kc_p->u.AcParList3Dot.ac_parameter_list_1; unparse_ac_parameter_list(pl, kc_printer, kc_current_view); { (*kc_printer)(", ...", kc_current_view); } } else switch((int)kc_p->prod_sel) { case (int)sel_AcParList: unparse_ac_parameter_list( kc_p->u.AcParList.ac_parameter_list_1, kc_printer, kc_current_view ); break; case (int)sel_AcParList3Dot: unparse_ac_parameter_list( kc_p->u.AcParList3Dot.ac_parameter_list_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_ac_parameter_list #ifdef KC_USE_PROTOTYPES (ac_parameter_list kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) ac_parameter_list kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_ac_parameter_list(kc_p, "kc_p"); switch((int)kc_current_view) { case (int)view_gen_fnkdecls: { if (( kc_p->prod_sel == sel_Consac_parameter_list) && ( kc_p->u.Consac_parameter_list.ac_parameter_list_1->prod_sel == sel_Nilac_parameter_list)) { #line 7620 "../gen.k" ac_parameter_declaration h = kc_p->u.Consac_parameter_list.ac_parameter_declaration_1; unparse_ac_parameter_declaration(h, kc_printer, kc_current_view); { (*kc_printer)(";", kc_current_view); } } else if (( kc_p->prod_sel == sel_Consac_parameter_list)) { #line 7621 "../gen.k" ac_parameter_declaration h = kc_p->u.Consac_parameter_list.ac_parameter_declaration_1; #line 7621 "../gen.k" ac_parameter_list t = kc_p->u.Consac_parameter_list.ac_parameter_list_1; unparse_ac_parameter_list(t, kc_printer, kc_current_view); { (*kc_printer)("\n", kc_current_view); } unparse_ac_parameter_declaration(h, kc_printer, kc_current_view); { (*kc_printer)(";", kc_current_view); } } else goto kc_unparsing_default; break; } default: kc_unparsing_default: case (int)base_uview: { if (( kc_p->prod_sel == sel_Consac_parameter_list) && ( kc_p->u.Consac_parameter_list.ac_parameter_list_1->prod_sel == sel_Nilac_parameter_list)) { #line 7577 "../gen.k" ac_parameter_declaration h = kc_p->u.Consac_parameter_list.ac_parameter_declaration_1; unparse_ac_parameter_declaration(h, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_Consac_parameter_list)) { #line 7578 "../gen.k" ac_parameter_declaration h = kc_p->u.Consac_parameter_list.ac_parameter_declaration_1; #line 7578 "../gen.k" ac_parameter_list t = kc_p->u.Consac_parameter_list.ac_parameter_list_1; unparse_ac_parameter_list(t, kc_printer, kc_current_view); { (*kc_printer)(", ", kc_current_view); } unparse_ac_parameter_declaration(h, kc_printer, kc_current_view); } else switch((int)kc_p->prod_sel) { case (int)sel_Consac_parameter_list: unparse_ac_parameter_declaration( kc_p->u.Consac_parameter_list.ac_parameter_declaration_1, kc_printer, kc_current_view ); unparse_ac_parameter_list( kc_p->u.Consac_parameter_list.ac_parameter_list_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_ac_parameter_declaration #ifdef KC_USE_PROTOTYPES (ac_parameter_declaration kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) ac_parameter_declaration kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_ac_parameter_declaration(kc_p, "kc_p"); switch((int)kc_current_view) { case (int)view_gen_fnkdecls: { if (( kc_p->prod_sel == sel_AcParDeclDecl)) { #line 7622 "../gen.k" ac_declaration_specifiers ds = kc_p->u.AcParDeclDecl.ac_declaration_specifiers_1; #line 7622 "../gen.k" ac_declarator d = kc_p->u.AcParDeclDecl.ac_declarator_1; unparse_ac_declaration_specifiers(ds, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_ac_declarator(d, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_AcParDeclAbsdecl)) { #line 7623 "../gen.k" ac_declaration_specifiers ds = kc_p->u.AcParDeclAbsdecl.ac_declaration_specifiers_1; #line 7623 "../gen.k" ac_abstract_declarator ad = kc_p->u.AcParDeclAbsdecl.ac_abstract_declarator_1; unparse_ac_declaration_specifiers(ds, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_ac_abstract_declarator(ad, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } case (int)view_gen_fnkargs: { if (( kc_p->prod_sel == sel_AcParDeclDecl)) { #line 7605 "../gen.k" ac_declarator d = kc_p->u.AcParDeclDecl.ac_declarator_1; unparse_ac_declarator(d, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_AcParDeclAbsdecl)) { #line 7606 "../gen.k" ac_abstract_declarator ad = kc_p->u.AcParDeclAbsdecl.ac_abstract_declarator_1; unparse_ac_abstract_declarator(ad, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } default: kc_unparsing_default: case (int)base_uview: { if (( kc_p->prod_sel == sel_AcParDeclDecl)) { #line 7580 "../gen.k" ac_declaration_specifiers ds = kc_p->u.AcParDeclDecl.ac_declaration_specifiers_1; #line 7580 "../gen.k" ac_declarator d = kc_p->u.AcParDeclDecl.ac_declarator_1; unparse_ac_declaration_specifiers(ds, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_ac_declarator(d, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_AcParDeclAbsdecl)) { #line 7581 "../gen.k" ac_declaration_specifiers ds = kc_p->u.AcParDeclAbsdecl.ac_declaration_specifiers_1; #line 7581 "../gen.k" ac_abstract_declarator ad = kc_p->u.AcParDeclAbsdecl.ac_abstract_declarator_1; unparse_ac_declaration_specifiers(ds, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_ac_abstract_declarator(ad, kc_printer, kc_current_view); } else switch((int)kc_p->prod_sel) { case (int)sel_AcParDeclDecl: unparse_ac_declaration_specifiers( kc_p->u.AcParDeclDecl.ac_declaration_specifiers_1, kc_printer, kc_current_view ); unparse_ac_declarator( kc_p->u.AcParDeclDecl.ac_declarator_1, kc_printer, kc_current_view ); break; case (int)sel_AcParDeclAbsdecl: unparse_ac_declaration_specifiers( kc_p->u.AcParDeclAbsdecl.ac_declaration_specifiers_1, kc_printer, kc_current_view ); unparse_ac_abstract_declarator( kc_p->u.AcParDeclAbsdecl.ac_abstract_declarator_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_ac_identifier_list #ifdef KC_USE_PROTOTYPES (ac_identifier_list kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) ac_identifier_list kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_ac_identifier_list(kc_p, "kc_p"); switch((int)kc_current_view) { default: case (int)base_uview: { if (( kc_p->prod_sel == sel_Consac_identifier_list) && ( kc_p->u.Consac_identifier_list.ac_identifier_list_1->prod_sel == sel_Nilac_identifier_list)) { #line 7583 "../gen.k" ID h = kc_p->u.Consac_identifier_list.ID_1; unparse_ID(h, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_Consac_identifier_list)) { #line 7584 "../gen.k" ID h = kc_p->u.Consac_identifier_list.ID_1; #line 7584 "../gen.k" ac_identifier_list t = kc_p->u.Consac_identifier_list.ac_identifier_list_1; unparse_ac_identifier_list(t, kc_printer, kc_current_view); { (*kc_printer)(", ", kc_current_view); } unparse_ID(h, kc_printer, kc_current_view); } else switch((int)kc_p->prod_sel) { case (int)sel_Consac_identifier_list: unparse_ID( kc_p->u.Consac_identifier_list.ID_1, kc_printer, kc_current_view ); unparse_ac_identifier_list( kc_p->u.Consac_identifier_list.ac_identifier_list_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_ac_abstract_declarator #ifdef KC_USE_PROTOTYPES (ac_abstract_declarator kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) ac_abstract_declarator kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_ac_abstract_declarator(kc_p, "kc_p"); switch((int)kc_current_view) { case (int)view_gen_fnkargs: { if (( kc_p->prod_sel == sel_AcAbsdeclPointer)) { { (*kc_printer)("kc_arg_missing", kc_current_view); } } else if (( kc_p->prod_sel == sel_AcAbsdeclPointer)) { #line 7630 "../gen.k" ac_pointer p = kc_p->u.AcAbsdeclPointer.ac_pointer_1; unparse_ac_pointer(p, kc_printer, kc_current_view); { (*kc_printer)(" kc_arg_missing", kc_current_view); } } else if (( kc_p->prod_sel == sel_AcAbsdeclDirdecl)) { #line 7613 "../gen.k" ac_direct_abstract_declarator dad = kc_p->u.AcAbsdeclDirdecl.ac_direct_abstract_declarator_1; unparse_ac_direct_abstract_declarator(dad, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_AcAbsdeclDirdecl)) { #line 7631 "../gen.k" ac_pointer_option p = kc_p->u.AcAbsdeclDirdecl.ac_pointer_option_1; #line 7631 "../gen.k" ac_direct_abstract_declarator dad = kc_p->u.AcAbsdeclDirdecl.ac_direct_abstract_declarator_1; unparse_ac_pointer_option(p, kc_printer, kc_current_view); unparse_ac_direct_abstract_declarator(dad, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } default: kc_unparsing_default: case (int)base_uview: { if (( kc_p->prod_sel == sel_AcAbsdeclPointer)) { #line 7586 "../gen.k" ac_pointer p = kc_p->u.AcAbsdeclPointer.ac_pointer_1; unparse_ac_pointer(p, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_AcAbsdeclDirdecl)) { #line 7587 "../gen.k" ac_pointer_option po = kc_p->u.AcAbsdeclDirdecl.ac_pointer_option_1; #line 7587 "../gen.k" ac_direct_abstract_declarator dad = kc_p->u.AcAbsdeclDirdecl.ac_direct_abstract_declarator_1; unparse_ac_pointer_option(po, kc_printer, kc_current_view); unparse_ac_direct_abstract_declarator(dad, kc_printer, kc_current_view); } else switch((int)kc_p->prod_sel) { case (int)sel_AcAbsdeclPointer: unparse_ac_pointer( kc_p->u.AcAbsdeclPointer.ac_pointer_1, kc_printer, kc_current_view ); break; case (int)sel_AcAbsdeclDirdecl: unparse_ac_pointer_option( kc_p->u.AcAbsdeclDirdecl.ac_pointer_option_1, kc_printer, kc_current_view ); unparse_ac_direct_abstract_declarator( kc_p->u.AcAbsdeclDirdecl.ac_direct_abstract_declarator_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_ac_direct_abstract_declarator_option #ifdef KC_USE_PROTOTYPES (ac_direct_abstract_declarator_option kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) ac_direct_abstract_declarator_option kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_ac_direct_abstract_declarator_option(kc_p, "kc_p"); switch((int)kc_current_view) { default: case (int)base_uview: { if (( kc_p->prod_sel == sel_Yesac_direct_abstract_declarator)) { #line 7589 "../gen.k" ac_direct_abstract_declarator dad = kc_p->u.Yesac_direct_abstract_declarator.ac_direct_abstract_declarator_1; unparse_ac_direct_abstract_declarator(dad, kc_printer, kc_current_view); } else switch((int)kc_p->prod_sel) { case (int)sel_Yesac_direct_abstract_declarator: unparse_ac_direct_abstract_declarator( kc_p->u.Yesac_direct_abstract_declarator.ac_direct_abstract_declarator_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_ac_direct_abstract_declarator #ifdef KC_USE_PROTOTYPES (ac_direct_abstract_declarator kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) ac_direct_abstract_declarator kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_ac_direct_abstract_declarator(kc_p, "kc_p"); switch((int)kc_current_view) { case (int)view_gen_fnkargs: { if (( kc_p->prod_sel == sel_AcDirAbsdeclPack)) { #line 7614 "../gen.k" ac_abstract_declarator ad = kc_p->u.AcDirAbsdeclPack.ac_abstract_declarator_1; unparse_ac_abstract_declarator(ad, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_AcDirAbsdeclArray)) { #line 7615 "../gen.k" ac_direct_abstract_declarator_option dado = kc_p->u.AcDirAbsdeclArray.ac_direct_abstract_declarator_option_1; unparse_ac_direct_abstract_declarator_option(dado, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_AcDirAbsdeclFn)) { #line 7616 "../gen.k" ac_direct_abstract_declarator_option dado = kc_p->u.AcDirAbsdeclFn.ac_direct_abstract_declarator_option_1; unparse_ac_direct_abstract_declarator_option(dado, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } default: kc_unparsing_default: case (int)base_uview: { if (( kc_p->prod_sel == sel_AcDirAbsdeclPack)) { #line 7591 "../gen.k" ac_abstract_declarator ad = kc_p->u.AcDirAbsdeclPack.ac_abstract_declarator_1; { (*kc_printer)("(", kc_current_view); } unparse_ac_abstract_declarator(ad, kc_printer, kc_current_view); { (*kc_printer)(")", kc_current_view); } } else if (( kc_p->prod_sel == sel_AcDirAbsdeclArray)) { #line 7592 "../gen.k" ac_direct_abstract_declarator_option dado = kc_p->u.AcDirAbsdeclArray.ac_direct_abstract_declarator_option_1; #line 7592 "../gen.k" ac_constant_expression_option ceo = kc_p->u.AcDirAbsdeclArray.ac_constant_expression_option_1; unparse_ac_direct_abstract_declarator_option(dado, kc_printer, kc_current_view); { (*kc_printer)("[", kc_current_view); } unparse_ac_constant_expression_option(ceo, kc_printer, kc_current_view); { (*kc_printer)("]", kc_current_view); } } else if (( kc_p->prod_sel == sel_AcDirAbsdeclFn)) { #line 7593 "../gen.k" ac_direct_abstract_declarator_option dado = kc_p->u.AcDirAbsdeclFn.ac_direct_abstract_declarator_option_1; #line 7593 "../gen.k" ac_parameter_type_list ptl = kc_p->u.AcDirAbsdeclFn.ac_parameter_type_list_1; unparse_ac_direct_abstract_declarator_option(dado, kc_printer, kc_current_view); { (*kc_printer)("(", kc_current_view); } unparse_ac_parameter_type_list(ptl, kc_printer, kc_current_view); { (*kc_printer)(")", kc_current_view); } } else switch((int)kc_p->prod_sel) { case (int)sel_AcDirAbsdeclPack: unparse_ac_abstract_declarator( kc_p->u.AcDirAbsdeclPack.ac_abstract_declarator_1, kc_printer, kc_current_view ); break; case (int)sel_AcDirAbsdeclArray: unparse_ac_direct_abstract_declarator_option( kc_p->u.AcDirAbsdeclArray.ac_direct_abstract_declarator_option_1, kc_printer, kc_current_view ); unparse_ac_constant_expression_option( kc_p->u.AcDirAbsdeclArray.ac_constant_expression_option_1, kc_printer, kc_current_view ); break; case (int)sel_AcDirAbsdeclFn: unparse_ac_direct_abstract_declarator_option( kc_p->u.AcDirAbsdeclFn.ac_direct_abstract_declarator_option_1, kc_printer, kc_current_view ); unparse_ac_parameter_type_list( kc_p->u.AcDirAbsdeclFn.ac_parameter_type_list_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_ac_constant_expression_option #ifdef KC_USE_PROTOTYPES (ac_constant_expression_option kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) ac_constant_expression_option kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_ac_constant_expression_option(kc_p, "kc_p"); switch((int)kc_current_view) { default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_Yesac_constant_expression: unparse_ac_constant_expression( kc_p->u.Yesac_constant_expression.ac_constant_expression_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_ac_constant_expression #ifdef KC_USE_PROTOTYPES (ac_constant_expression kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) ac_constant_expression kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_ac_constant_expression(kc_p, "kc_p"); switch((int)kc_current_view) { default: case (int)base_uview: { if (( kc_p->prod_sel == sel_AcConstExpr)) { #line 7595 "../gen.k" Cexpression ce = kc_p->u.AcConstExpr.Cexpression_1; unparse_Cexpression(ce, kc_printer, view_gen_initializephyla_c); } else switch((int)kc_p->prod_sel) { case (int)sel_AcConstExpr: unparse_Cexpression( kc_p->u.AcConstExpr.Cexpression_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_error #ifdef KC_USE_PROTOTYPES (error kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) error kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_error(kc_p, "kc_p"); switch((int)kc_current_view) { case (int)view_error: { if (( kc_p->prod_sel == sel_Fatal)) { #line 280 "../error.k" fileline fl = kc_p->u.Fatal.fileline_1; #line 280 "../error.k" problem e = kc_p->u.Fatal.problem_1; #line 281 "../error.k" gp_no_fatal_problems=False; #line 22388 "unpk.c" unparse_casestring(g_progname, kc_printer, kc_current_view); { (*kc_printer)(": fatal error", kc_current_view); } unparse_fileline(fl, kc_printer, kc_current_view); { (*kc_printer)(": ", kc_current_view); } unparse_problem(e, kc_printer, kc_current_view); { (*kc_printer)("\n", kc_current_view); } #line 284 "../error.k" leave( 1 ); #line 22397 "unpk.c" } else if (( kc_p->prod_sel == sel_NonFatal)) { #line 288 "../error.k" fileline fl = kc_p->u.NonFatal.fileline_1; #line 288 "../error.k" problem e = kc_p->u.NonFatal.problem_1; #line 289 "../error.k" gp_no_fatal_problems=False; #line 22406 "unpk.c" unparse_casestring(g_progname, kc_printer, kc_current_view); { (*kc_printer)(": error", kc_current_view); } unparse_fileline(fl, kc_printer, kc_current_view); { (*kc_printer)(": ", kc_current_view); } unparse_problem(e, kc_printer, kc_current_view); { (*kc_printer)("\n", kc_current_view); } } else if (( kc_p->prod_sel == sel_Warning)) { #line 295 "../error.k" fileline fl = kc_p->u.Warning.fileline_1; #line 295 "../error.k" problem e = kc_p->u.Warning.problem_1; unparse_casestring(g_progname, kc_printer, kc_current_view); { (*kc_printer)(": warning", kc_current_view); } unparse_fileline(fl, kc_printer, kc_current_view); { (*kc_printer)(": ", kc_current_view); } unparse_problem(e, kc_printer, kc_current_view); { (*kc_printer)("\n", kc_current_view); } } else goto kc_unparsing_default; break; } default: kc_unparsing_default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_Fatal: unparse_fileline( kc_p->u.Fatal.fileline_1, kc_printer, kc_current_view ); unparse_problem( kc_p->u.Fatal.problem_1, kc_printer, kc_current_view ); break; case (int)sel_NonFatal: unparse_fileline( kc_p->u.NonFatal.fileline_1, kc_printer, kc_current_view ); unparse_problem( kc_p->u.NonFatal.problem_1, kc_printer, kc_current_view ); break; case (int)sel_Warning: unparse_fileline( kc_p->u.Warning.fileline_1, kc_printer, kc_current_view ); unparse_problem( kc_p->u.Warning.problem_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_problem #ifdef KC_USE_PROTOTYPES (problem kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) problem kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_problem(kc_p, "kc_p"); switch((int)kc_current_view) { case (int)view_error: { if (( kc_p->prod_sel == sel_Problem1)) { #line 154 "../error.k" casestring s1 = kc_p->u.Problem1.casestring_1; unparse_casestring(s1, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_Problem1ID)) { #line 156 "../error.k" casestring s1 = kc_p->u.Problem1ID.casestring_1; #line 156 "../error.k" ID id = kc_p->u.Problem1ID.ID_1; unparse_casestring(s1, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_Problem1tID)) { #line 157 "../error.k" casestring s1 = kc_p->u.Problem1tID.casestring_1; #line 157 "../error.k" ID id = kc_p->u.Problem1tID.ID_1; unparse_casestring(s1, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_ID(id, kc_printer, view_error_tID); } else if (( kc_p->prod_sel == sel_Problem1we)) { #line 155 "../error.k" casestring s1 = kc_p->u.Problem1we.casestring_1; #line 155 "../error.k" withexpression we1 = kc_p->u.Problem1we.withexpression_1; unparse_casestring(s1, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_withexpression(we1, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_Problem1ID1ID)) { #line 158 "../error.k" casestring s1 = kc_p->u.Problem1ID1ID.casestring_1; #line 158 "../error.k" ID id1 = kc_p->u.Problem1ID1ID.ID_1; #line 158 "../error.k" casestring s2 = kc_p->u.Problem1ID1ID.casestring_2; #line 158 "../error.k" ID id2 = kc_p->u.Problem1ID1ID.ID_2; unparse_casestring(s1, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_ID(id1, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_casestring(s2, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_ID(id2, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_Problem1t1ID)) { #line 159 "../error.k" casestring s1 = kc_p->u.Problem1t1ID.casestring_1; #line 159 "../error.k" IDtype t = kc_p->u.Problem1t1ID.IDtype_1; #line 159 "../error.k" casestring s2 = kc_p->u.Problem1t1ID.casestring_2; #line 159 "../error.k" ID id = kc_p->u.Problem1t1ID.ID_1; unparse_casestring(s1, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_IDtype(t, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_casestring(s2, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_Problem1INT)) { #line 160 "../error.k" casestring s1 = kc_p->u.Problem1INT.casestring_1; #line 160 "../error.k" INT i1 = kc_p->u.Problem1INT.INT_1; unparse_casestring(s1, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_INT(i1, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_Problem1int1)) { #line 161 "../error.k" casestring s1 = kc_p->u.Problem1int1.casestring_1; #line 161 "../error.k" int i1 = kc_p->u.Problem1int1.int_1; #line 161 "../error.k" casestring s2 = kc_p->u.Problem1int1.casestring_2; unparse_casestring(s1, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_int(i1, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_casestring(s2, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_Problem1INT1ID)) { #line 162 "../error.k" casestring s1 = kc_p->u.Problem1INT1ID.casestring_1; #line 162 "../error.k" INT i1 = kc_p->u.Problem1INT1ID.INT_1; #line 162 "../error.k" casestring s2 = kc_p->u.Problem1INT1ID.casestring_2; #line 162 "../error.k" ID id1 = kc_p->u.Problem1INT1ID.ID_1; unparse_casestring(s1, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_INT(i1, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_casestring(s2, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_ID(id1, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_Problem1ID1ID1ID)) { #line 163 "../error.k" casestring s1 = kc_p->u.Problem1ID1ID1ID.casestring_1; #line 163 "../error.k" ID id1 = kc_p->u.Problem1ID1ID1ID.ID_1; #line 163 "../error.k" casestring s2 = kc_p->u.Problem1ID1ID1ID.casestring_2; #line 163 "../error.k" ID id2 = kc_p->u.Problem1ID1ID1ID.ID_2; #line 163 "../error.k" casestring s3 = kc_p->u.Problem1ID1ID1ID.casestring_3; #line 163 "../error.k" ID id3 = kc_p->u.Problem1ID1ID1ID.ID_3; unparse_casestring(s1, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_ID(id1, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_casestring(s2, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_ID(id2, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_casestring(s3, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_ID(id3, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_Problem1INT1ID1ID)) { #line 164 "../error.k" casestring s1 = kc_p->u.Problem1INT1ID1ID.casestring_1; #line 164 "../error.k" INT i1 = kc_p->u.Problem1INT1ID1ID.INT_1; #line 164 "../error.k" casestring s2 = kc_p->u.Problem1INT1ID1ID.casestring_2; #line 164 "../error.k" ID id1 = kc_p->u.Problem1INT1ID1ID.ID_1; #line 164 "../error.k" casestring s3 = kc_p->u.Problem1INT1ID1ID.casestring_3; #line 164 "../error.k" ID id2 = kc_p->u.Problem1INT1ID1ID.ID_2; unparse_casestring(s1, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_INT(i1, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_casestring(s2, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_ID(id1, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_casestring(s3, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_ID(id2, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_Problem1storageoption1ID)) { #line 165 "../error.k" casestring s1 = kc_p->u.Problem1storageoption1ID.casestring_1; #line 165 "../error.k" storageoption so = kc_p->u.Problem1storageoption1ID.storageoption_1; #line 165 "../error.k" casestring s2 = kc_p->u.Problem1storageoption1ID.casestring_2; #line 165 "../error.k" ID id = kc_p->u.Problem1storageoption1ID.ID_1; unparse_casestring(s1, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_storageoption(so, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_casestring(s2, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_ID(id, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_Problem2)) { #line 166 "../error.k" casestring s1 = kc_p->u.Problem2.casestring_1; #line 166 "../error.k" casestring s2 = kc_p->u.Problem2.casestring_2; unparse_casestring(s1, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_casestring(s2, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_Problem3)) { #line 167 "../error.k" casestring s1 = kc_p->u.Problem3.casestring_1; #line 167 "../error.k" casestring s2 = kc_p->u.Problem3.casestring_2; #line 167 "../error.k" casestring s3 = kc_p->u.Problem3.casestring_3; unparse_casestring(s1, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_casestring(s2, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_casestring(s3, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_Problem3int1)) { #line 168 "../error.k" casestring s1 = kc_p->u.Problem3int1.casestring_1; #line 168 "../error.k" casestring s2 = kc_p->u.Problem3int1.casestring_2; #line 168 "../error.k" casestring s3 = kc_p->u.Problem3int1.casestring_3; #line 168 "../error.k" int i1 = kc_p->u.Problem3int1.int_1; #line 168 "../error.k" casestring s4 = kc_p->u.Problem3int1.casestring_4; unparse_casestring(s1, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_casestring(s2, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_casestring(s3, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_int(i1, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_casestring(s4, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_Problem4)) { #line 169 "../error.k" casestring s1 = kc_p->u.Problem4.casestring_1; #line 169 "../error.k" casestring s2 = kc_p->u.Problem4.casestring_2; #line 169 "../error.k" casestring s3 = kc_p->u.Problem4.casestring_3; #line 169 "../error.k" casestring s4 = kc_p->u.Problem4.casestring_4; unparse_casestring(s1, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_casestring(s2, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_casestring(s3, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_casestring(s4, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_Problem5)) { #line 170 "../error.k" casestring s1 = kc_p->u.Problem5.casestring_1; #line 170 "../error.k" casestring s2 = kc_p->u.Problem5.casestring_2; #line 170 "../error.k" casestring s3 = kc_p->u.Problem5.casestring_3; #line 170 "../error.k" casestring s4 = kc_p->u.Problem5.casestring_4; #line 170 "../error.k" casestring s5 = kc_p->u.Problem5.casestring_5; unparse_casestring(s1, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_casestring(s2, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_casestring(s3, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_casestring(s4, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_casestring(s5, kc_printer, kc_current_view); } else if (( kc_p->prod_sel == sel_Problem6)) { #line 171 "../error.k" casestring s1 = kc_p->u.Problem6.casestring_1; #line 171 "../error.k" casestring s2 = kc_p->u.Problem6.casestring_2; #line 171 "../error.k" casestring s3 = kc_p->u.Problem6.casestring_3; #line 171 "../error.k" casestring s4 = kc_p->u.Problem6.casestring_4; #line 171 "../error.k" casestring s5 = kc_p->u.Problem6.casestring_5; #line 171 "../error.k" casestring s6 = kc_p->u.Problem6.casestring_6; unparse_casestring(s1, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_casestring(s2, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_casestring(s3, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_casestring(s4, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_casestring(s5, kc_printer, kc_current_view); { (*kc_printer)(" ", kc_current_view); } unparse_casestring(s6, kc_printer, kc_current_view); } else goto kc_unparsing_default; break; } default: kc_unparsing_default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_Problem1: unparse_casestring( kc_p->u.Problem1.casestring_1, kc_printer, kc_current_view ); break; case (int)sel_Problem1ID: unparse_casestring( kc_p->u.Problem1ID.casestring_1, kc_printer, kc_current_view ); unparse_ID( kc_p->u.Problem1ID.ID_1, kc_printer, kc_current_view ); break; case (int)sel_Problem1tID: unparse_casestring( kc_p->u.Problem1tID.casestring_1, kc_printer, kc_current_view ); unparse_ID( kc_p->u.Problem1tID.ID_1, kc_printer, kc_current_view ); break; case (int)sel_Problem1we: unparse_casestring( kc_p->u.Problem1we.casestring_1, kc_printer, kc_current_view ); unparse_withexpression( kc_p->u.Problem1we.withexpression_1, kc_printer, kc_current_view ); break; case (int)sel_Problem1ID1ID: unparse_casestring( kc_p->u.Problem1ID1ID.casestring_1, kc_printer, kc_current_view ); unparse_ID( kc_p->u.Problem1ID1ID.ID_1, kc_printer, kc_current_view ); unparse_casestring( kc_p->u.Problem1ID1ID.casestring_2, kc_printer, kc_current_view ); unparse_ID( kc_p->u.Problem1ID1ID.ID_2, kc_printer, kc_current_view ); break; case (int)sel_Problem1t1ID: unparse_casestring( kc_p->u.Problem1t1ID.casestring_1, kc_printer, kc_current_view ); unparse_IDtype( kc_p->u.Problem1t1ID.IDtype_1, kc_printer, kc_current_view ); unparse_casestring( kc_p->u.Problem1t1ID.casestring_2, kc_printer, kc_current_view ); unparse_ID( kc_p->u.Problem1t1ID.ID_1, kc_printer, kc_current_view ); break; case (int)sel_Problem1INT: unparse_casestring( kc_p->u.Problem1INT.casestring_1, kc_printer, kc_current_view ); unparse_INT( kc_p->u.Problem1INT.INT_1, kc_printer, kc_current_view ); break; case (int)sel_Problem1int1: unparse_casestring( kc_p->u.Problem1int1.casestring_1, kc_printer, kc_current_view ); unparse_int( kc_p->u.Problem1int1.int_1, kc_printer, kc_current_view ); unparse_casestring( kc_p->u.Problem1int1.casestring_2, kc_printer, kc_current_view ); break; case (int)sel_Problem1INT1ID: unparse_casestring( kc_p->u.Problem1INT1ID.casestring_1, kc_printer, kc_current_view ); unparse_INT( kc_p->u.Problem1INT1ID.INT_1, kc_printer, kc_current_view ); unparse_casestring( kc_p->u.Problem1INT1ID.casestring_2, kc_printer, kc_current_view ); unparse_ID( kc_p->u.Problem1INT1ID.ID_1, kc_printer, kc_current_view ); break; case (int)sel_Problem1ID1ID1ID: unparse_casestring( kc_p->u.Problem1ID1ID1ID.casestring_1, kc_printer, kc_current_view ); unparse_ID( kc_p->u.Problem1ID1ID1ID.ID_1, kc_printer, kc_current_view ); unparse_casestring( kc_p->u.Problem1ID1ID1ID.casestring_2, kc_printer, kc_current_view ); unparse_ID( kc_p->u.Problem1ID1ID1ID.ID_2, kc_printer, kc_current_view ); unparse_casestring( kc_p->u.Problem1ID1ID1ID.casestring_3, kc_printer, kc_current_view ); unparse_ID( kc_p->u.Problem1ID1ID1ID.ID_3, kc_printer, kc_current_view ); break; case (int)sel_Problem1INT1ID1ID: unparse_casestring( kc_p->u.Problem1INT1ID1ID.casestring_1, kc_printer, kc_current_view ); unparse_INT( kc_p->u.Problem1INT1ID1ID.INT_1, kc_printer, kc_current_view ); unparse_casestring( kc_p->u.Problem1INT1ID1ID.casestring_2, kc_printer, kc_current_view ); unparse_ID( kc_p->u.Problem1INT1ID1ID.ID_1, kc_printer, kc_current_view ); unparse_casestring( kc_p->u.Problem1INT1ID1ID.casestring_3, kc_printer, kc_current_view ); unparse_ID( kc_p->u.Problem1INT1ID1ID.ID_2, kc_printer, kc_current_view ); break; case (int)sel_Problem1storageoption1ID: unparse_casestring( kc_p->u.Problem1storageoption1ID.casestring_1, kc_printer, kc_current_view ); unparse_storageoption( kc_p->u.Problem1storageoption1ID.storageoption_1, kc_printer, kc_current_view ); unparse_casestring( kc_p->u.Problem1storageoption1ID.casestring_2, kc_printer, kc_current_view ); unparse_ID( kc_p->u.Problem1storageoption1ID.ID_1, kc_printer, kc_current_view ); break; case (int)sel_Problem2: unparse_casestring( kc_p->u.Problem2.casestring_1, kc_printer, kc_current_view ); unparse_casestring( kc_p->u.Problem2.casestring_2, kc_printer, kc_current_view ); break; case (int)sel_Problem3: unparse_casestring( kc_p->u.Problem3.casestring_1, kc_printer, kc_current_view ); unparse_casestring( kc_p->u.Problem3.casestring_2, kc_printer, kc_current_view ); unparse_casestring( kc_p->u.Problem3.casestring_3, kc_printer, kc_current_view ); break; case (int)sel_Problem3int1: unparse_casestring( kc_p->u.Problem3int1.casestring_1, kc_printer, kc_current_view ); unparse_casestring( kc_p->u.Problem3int1.casestring_2, kc_printer, kc_current_view ); unparse_casestring( kc_p->u.Problem3int1.casestring_3, kc_printer, kc_current_view ); unparse_int( kc_p->u.Problem3int1.int_1, kc_printer, kc_current_view ); unparse_casestring( kc_p->u.Problem3int1.casestring_4, kc_printer, kc_current_view ); break; case (int)sel_Problem4: unparse_casestring( kc_p->u.Problem4.casestring_1, kc_printer, kc_current_view ); unparse_casestring( kc_p->u.Problem4.casestring_2, kc_printer, kc_current_view ); unparse_casestring( kc_p->u.Problem4.casestring_3, kc_printer, kc_current_view ); unparse_casestring( kc_p->u.Problem4.casestring_4, kc_printer, kc_current_view ); break; case (int)sel_Problem5: unparse_casestring( kc_p->u.Problem5.casestring_1, kc_printer, kc_current_view ); unparse_casestring( kc_p->u.Problem5.casestring_2, kc_printer, kc_current_view ); unparse_casestring( kc_p->u.Problem5.casestring_3, kc_printer, kc_current_view ); unparse_casestring( kc_p->u.Problem5.casestring_4, kc_printer, kc_current_view ); unparse_casestring( kc_p->u.Problem5.casestring_5, kc_printer, kc_current_view ); break; case (int)sel_Problem6: unparse_casestring( kc_p->u.Problem6.casestring_1, kc_printer, kc_current_view ); unparse_casestring( kc_p->u.Problem6.casestring_2, kc_printer, kc_current_view ); unparse_casestring( kc_p->u.Problem6.casestring_3, kc_printer, kc_current_view ); unparse_casestring( kc_p->u.Problem6.casestring_4, kc_printer, kc_current_view ); unparse_casestring( kc_p->u.Problem6.casestring_5, kc_printer, kc_current_view ); unparse_casestring( kc_p->u.Problem6.casestring_6, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_addedphylumdeclarations #ifdef KC_USE_PROTOTYPES (addedphylumdeclarations kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) addedphylumdeclarations kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_addedphylumdeclarations(kc_p, "kc_p"); switch((int)kc_current_view) { default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_Consaddedphylumdeclarations: unparse_addedphylumdeclaration( kc_p->u.Consaddedphylumdeclarations.addedphylumdeclaration_1, kc_printer, kc_current_view ); unparse_addedphylumdeclarations( kc_p->u.Consaddedphylumdeclarations.addedphylumdeclarations_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_addedphylumdeclaration #ifdef KC_USE_PROTOTYPES (addedphylumdeclaration kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) addedphylumdeclaration kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_addedphylumdeclaration(kc_p, "kc_p"); switch((int)kc_current_view) { default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_AddedPhylumdeclaration: unparse_uniqID( kc_p->u.AddedPhylumdeclaration.uniqID_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_countedphylumdeclarations #ifdef KC_USE_PROTOTYPES (countedphylumdeclarations kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) countedphylumdeclarations kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_countedphylumdeclarations(kc_p, "kc_p"); switch((int)kc_current_view) { default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_Conscountedphylumdeclarations: unparse_countedphylumdeclaration( kc_p->u.Conscountedphylumdeclarations.countedphylumdeclaration_1, kc_printer, kc_current_view ); unparse_countedphylumdeclarations( kc_p->u.Conscountedphylumdeclarations.countedphylumdeclarations_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_countedphylumdeclaration #ifdef KC_USE_PROTOTYPES (countedphylumdeclaration kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) countedphylumdeclaration kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_countedphylumdeclaration(kc_p, "kc_p"); switch((int)kc_current_view) { default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_CountedPhylumdeclaration: unparse_uniqID( kc_p->u.CountedPhylumdeclaration.uniqID_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_bindingidmarks #ifdef KC_USE_PROTOTYPES (bindingidmarks kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) bindingidmarks kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_bindingidmarks(kc_p, "kc_p"); switch((int)kc_current_view) { default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_Consbindingidmarks: unparse_bindingidmark( kc_p->u.Consbindingidmarks.bindingidmark_1, kc_printer, kc_current_view ); unparse_bindingidmarks( kc_p->u.Consbindingidmarks.bindingidmarks_1, kc_printer, kc_current_view ); break; default:;} break; } } } /*ARGSUSED*/ void unparse_bindingidmark #ifdef KC_USE_PROTOTYPES (bindingidmark kc_p, void (*kc_printer)(char*, uview), uview kc_current_view) #else (kc_p, kc_printer, kc_current_view) bindingidmark kc_p; void (*kc_printer)KC__P((char*, uview)); uview kc_current_view; #endif { /*SUPPRESS 622*/ assert_bindingidmark(kc_p, "kc_p"); switch((int)kc_current_view) { default: case (int)base_uview: { switch((int)kc_p->prod_sel) { case (int)sel_BindingIdMark: unparse_uniqID( kc_p->u.BindingIdMark.uniqID_1, kc_printer, kc_current_view ); break; default:;} break; } } }