/* translation of file "../util.k" */ /* generated by: * @(#)$Author: Kimwitu version: V4_6 (c) 1990-1996 University of Twente $ */ #define KC_FUNCTIONS_util #define KIMW_FUNCTIONS_util /* 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 #ifdef KC_STDC # include #endif #include "k.h" /* included stuff */ #line 2 "../util.k" /* * The Termprocessor Kimwitu * * Copyright (c) 1991 University of Twente, Dept TIOS. * All rights reserved. * */ #line 29 "util.c" #line 14 "../util.k" #if ! (defined(lint) || defined(SABER) || defined(CODECENTER)) static char util_kAccesSid[] = "@(#)$Id: util.k,v 1.28 1997/05/26 16:10:31 belinfan Rel $"; #endif #line 35 "util.c" #line 37 "../util.k" addedphylumdeclarations pl_addedphylumdeclarations = 0; #line 39 "util.c" #line 81 "../util.k" countedphylumdeclarations pl_countedphylumdeclarations = 0; #line 43 "util.c" #line 147 "../util.k" operators cg_bigatomoperators = 0; /* global big-atoms operators */ phyla cg_bigatomphyla = 0; /* global big-atoms phyla */ #line 48 "util.c" #line 247 "../util.k" #include /* for strcmp */ #line 52 "util.c" #line 1557 "../util.k" #include "parse.h" /* for f_lookupdecl */ #line 56 "util.c" /* end included stuff */ #include "util.h" static ID f_do_check_unpattributes_in_phylum KC__P((unpattributes a, ID p)); static void v_do_check_dollarvar_in_operators KC__P((INT i, operators o, ID p)); static ID f_do_subphylum KC__P((arguments a, INT i, int a_i)); static argument f_do_argument KC__P((arguments a, INT i, int a_i)); static alternative f_do_alternative KC__P((alternatives a, INT i, int a_i)); static storageclasses do_add_to_storageclasses KC__P((ID v, ID p, storageclasses s, storageclasses all)); boolean f_added #ifdef KC_USE_PROTOTYPES (ID id) #else (id) ID id; #endif #line 58 "../util.k" { { #line 59 "../util.k" ID kc_selvar_0_1 = id ; #line 59 "../util.k" /*SUPPRESS 622*/ assert_ID(kc_selvar_0_1, "with_expression (1)"); #line 83 "util.c" if (( kc_selvar_0_1->prod_sel == sel_Id)) { #line 60 "../util.k" uniqID uid = kc_selvar_0_1->u.Id.uniqID_1; #line 60 "../util.k" return AddedPhylumdeclaration( uid )->added; #line 91 "util.c" } else { kc_no_default_in_with( "f_added", __LINE__, __FILE__ ); return (boolean)0; } } #line 62 "../util.k" #line 62 "../util.k" } #line 100 "util.c" void v_add #ifdef KC_USE_PROTOTYPES (ID id) #else (id) ID id; #endif #line 65 "../util.k" { { #line 66 "../util.k" ID kc_selvar_0_1 = id ; #line 66 "../util.k" /*SUPPRESS 622*/ assert_ID(kc_selvar_0_1, "with_expression (1)"); #line 119 "util.c" if (( kc_selvar_0_1->prod_sel == sel_Id)) { #line 67 "../util.k" uniqID uid = kc_selvar_0_1->u.Id.uniqID_1; #line 67 "../util.k" AddedPhylumdeclaration( uid )->added = True; #line 127 "util.c" } else kc_no_default_in_with( "v_add", __LINE__, __FILE__ ); } #line 69 "../util.k" #line 69 "../util.k" } #line 135 "util.c" void v_freeadded #ifdef KC_USE_PROTOTYPES (void) #else () #endif #line 72 "../util.k" { free_addedphylumdeclarations( pl_addedphylumdeclarations, True ); pl_addedphylumdeclarations = 0; #line 75 "../util.k" } #line 150 "util.c" int f_getcount #ifdef KC_USE_PROTOTYPES (ID id) #else (id) ID id; #endif #line 108 "../util.k" { { #line 109 "../util.k" ID kc_selvar_0_1 = id ; #line 109 "../util.k" /*SUPPRESS 622*/ assert_ID(kc_selvar_0_1, "with_expression (1)"); #line 169 "util.c" if (( kc_selvar_0_1->prod_sel == sel_Id)) { #line 110 "../util.k" uniqID uid = kc_selvar_0_1->u.Id.uniqID_1; #line 110 "../util.k" return ++(CountedPhylumdeclaration( uid ) -> count); #line 177 "util.c" } else { kc_no_default_in_with( "f_getcount", __LINE__, __FILE__ ); return (int)0; } } #line 112 "../util.k" #line 112 "../util.k" } #line 186 "util.c" void v_resetcount #ifdef KC_USE_PROTOTYPES (void) #else () #endif #line 115 "../util.k" { if (pl_countedphylumdeclarations) { { #line 117 "../util.k" countedphylumdeclarations kc_fe_selvar_1 = pl_countedphylumdeclarations ; #line 117 "../util.k" /*SUPPRESS 622*/ assert_countedphylumdeclarations(kc_fe_selvar_1, "foreach_list_expression"); #line 204 "util.c" while( kc_fe_selvar_1->prod_sel == sel_Conscountedphylumdeclarations ) { countedphylumdeclaration kc_selvar_0_1 = kc_fe_selvar_1->u.Conscountedphylumdeclarations.countedphylumdeclaration_1; { #line 117 "../util.k" { #line 117 "../util.k" /*SUPPRESS 622*/ assert_countedphylumdeclaration(kc_selvar_0_1, "with_expression (1)"); #line 216 "util.c" { #line 117 "../util.k" countedphylumdeclaration c = kc_selvar_0_1; #line 117 "../util.k" c->count = 0; #line 224 "util.c" } } #line 228 "util.c" } kc_fe_selvar_1 = kc_fe_selvar_1->u.Conscountedphylumdeclarations.countedphylumdeclarations_1; #line 117 "../util.k" /*SUPPRESS 622*/ assert_countedphylumdeclarations(kc_fe_selvar_1, "sublist_of_foreach_list_expression"); #line 235 "util.c" } } #line 120 "../util.k" } #line 121 "../util.k" } #line 243 "util.c" void v_freecount #ifdef KC_USE_PROTOTYPES (void) #else () #endif #line 124 "../util.k" { if (pl_countedphylumdeclarations) { v_resetcount(); free_countedphylumdeclarations( pl_countedphylumdeclarations, True ); pl_countedphylumdeclarations = 0; } #line 130 "../util.k" } #line 261 "util.c" boolean f_isbigatom #ifdef KC_USE_PROTOTYPES (ID id) #else (id) ID id; #endif #line 250 "../util.k" { { #line 251 "../util.k" ID kc_selvar_0_1 = id ; #line 251 "../util.k" /*SUPPRESS 622*/ assert_ID(kc_selvar_0_1, "with_expression (1)"); #line 280 "util.c" if (( kc_selvar_0_1->prod_sel == sel_Id)) { #line 252 "../util.k" uniqID uid = kc_selvar_0_1->u.Id.uniqID_1; #line 252 "../util.k" { #line 253 "../util.k" IDtype kc_selvar_1_1 = uid->type ; #line 253 "../util.k" /*SUPPRESS 622*/ assert_IDtype(kc_selvar_1_1, "with_expression (1)"); #line 295 "util.c" if (( kc_selvar_1_1->prod_sel == sel_ITPredefinedBigatomPhylum)) { #line 254 "../util.k" return True; #line 299 "util.c" } else { #line 255 "../util.k" return False; #line 304 "util.c" } } #line 256 "../util.k" #line 309 "util.c" } else { kc_no_default_in_with( "f_isbigatom", __LINE__, __FILE__ ); return (boolean)0; } } #line 256 "../util.k" #line 256 "../util.k" } #line 318 "util.c" boolean f_DvIsDisallowed #ifdef KC_USE_PROTOTYPES (dollarvarstatus dvs) #else (dvs) dollarvarstatus dvs; #endif #line 1215 "../util.k" {{ #line 1214 "../util.k" dollarvarstatus kc_selvar_0_1 = dvs; #line 1214 "../util.k" /*SUPPRESS 622*/ assert_dollarvarstatus(kc_selvar_0_1, "with_expression (1)"); #line 334 "util.c" if (( kc_selvar_0_1->prod_sel == sel_DVDisallowed)) { #line 1217 "../util.k" return True; #line 338 "util.c" } else if (( kc_selvar_0_1->prod_sel == sel_DVAllowed)) { #line 1216 "../util.k" return False; #line 343 "util.c" } else { kc_no_default_in_with( "f_DvIsDisallowed", __LINE__, __FILE__ ); return (boolean)0; } } #line 1218 "../util.k" } #line 351 "util.c" ID f_listelementphylum #ifdef KC_USE_PROTOTYPES (ID id) #else (id) ID id; #endif #line 1221 "../util.k" {{ #line 1220 "../util.k" ID kc_selvar_0_1 = id; #line 1220 "../util.k" /*SUPPRESS 622*/ assert_ID(kc_selvar_0_1, "with_expression (1)"); #line 367 "util.c" if (( kc_selvar_0_1->prod_sel == sel_Id)) { #line 1222 "../util.k" uniqID uid = kc_selvar_0_1->u.Id.uniqID_1; #line 1222 "../util.k" { #line 1223 "../util.k" IDtype kc_selvar_1_1 = uid->type ; #line 1223 "../util.k" /*SUPPRESS 622*/ assert_IDtype(kc_selvar_1_1, "with_expression (1)"); #line 382 "util.c" if (( kc_selvar_1_1->prod_sel == sel_ITPatternVariable)) { #line 1251 "../util.k" return f_emptyId(); #line 386 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITUserRView)) { #line 1251 "../util.k" return f_emptyId(); #line 391 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITPredefinedRView)) { #line 1251 "../util.k" return f_emptyId(); #line 396 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITUserUView)) { #line 1251 "../util.k" return f_emptyId(); #line 401 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITPredefinedUView)) { #line 1251 "../util.k" return f_emptyId(); #line 406 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITUserFunction)) { #line 1251 "../util.k" return f_emptyId(); #line 411 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITStorageClass)) { #line 1251 "../util.k" return f_emptyId(); #line 416 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITPredefinedStorageClass)) { #line 1251 "../util.k" return f_emptyId(); #line 421 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITUserOperator)) { #line 1251 "../util.k" return f_emptyId(); #line 426 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITPredefinedOperator)) { #line 1251 "../util.k" return f_emptyId(); #line 431 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITUserPhylum)) { #line 1227 "../util.k" phylumdeclaration pd = kc_selvar_1_1->u.ITUserPhylum.phylumdeclaration_1; #line 1227 "../util.k" { #line 1228 "../util.k" phylumdeclaration kc_selvar_2_1 = pd ; #line 1228 "../util.k" /*SUPPRESS 622*/ assert_phylumdeclaration(kc_selvar_2_1, "with_expression (1)"); #line 447 "util.c" if (( kc_selvar_2_1->prod_sel == sel_PhylumDeclaration) && ( kc_selvar_2_1->u.PhylumDeclaration.productionblock_1->prod_sel == sel_PredefinedAlternatives)) { #line 1238 "../util.k" return f_emptyId(); #line 453 "util.c" } else if (( kc_selvar_2_1->prod_sel == sel_PhylumDeclaration) && ( kc_selvar_2_1->u.PhylumDeclaration.productionblock_1->prod_sel == sel_NonlistAlternatives)) { #line 1235 "../util.k" return f_emptyId(); #line 460 "util.c" } else if (( kc_selvar_2_1->prod_sel == sel_PhylumDeclaration) && ( kc_selvar_2_1->u.PhylumDeclaration.productionblock_1->prod_sel == sel_ListAlternatives)) { #line 1232 "../util.k" ID i = kc_selvar_2_1->u.PhylumDeclaration.productionblock_1->u.ListAlternatives.ID_1; #line 1232 "../util.k" return i; #line 469 "util.c" } else if (( kc_selvar_2_1->prod_sel == sel_PhylumDeclaration) && ( kc_selvar_2_1->u.PhylumDeclaration.productionblock_1->prod_sel == sel_Emptyproductionblock)) { #line 1229 "../util.k" return f_emptyId(); #line 476 "util.c" } else { kc_no_default_in_with( "f_listelementphylum", __LINE__, __FILE__ ); return (ID)0; } } #line 1241 "../util.k" #line 483 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITPredefinedPhylum)) { #line 1226 "../util.k" return f_emptyId(); #line 488 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITPredefinedBigatomPhylum)) { #line 1226 "../util.k" return f_emptyId(); #line 493 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITUnknown)) { #line 1226 "../util.k" return f_emptyId(); #line 498 "util.c" } else { kc_no_default_in_with( "f_listelementphylum", __LINE__, __FILE__ ); return (ID)0; } } #line 1252 "../util.k" #line 505 "util.c" } else { kc_no_default_in_with( "f_listelementphylum", __LINE__, __FILE__ ); return (ID)0; } } #line 1252 "../util.k" } #line 513 "util.c" ID f_listelementconsoperator #ifdef KC_USE_PROTOTYPES (ID id) #else (id) ID id; #endif #line 1255 "../util.k" {{ #line 1254 "../util.k" ID kc_selvar_0_1 = id; #line 1254 "../util.k" /*SUPPRESS 622*/ assert_ID(kc_selvar_0_1, "with_expression (1)"); #line 529 "util.c" if (( kc_selvar_0_1->prod_sel == sel_Id)) { #line 1256 "../util.k" uniqID uid = kc_selvar_0_1->u.Id.uniqID_1; #line 1256 "../util.k" { #line 1257 "../util.k" IDtype kc_selvar_1_1 = uid->type ; #line 1257 "../util.k" /*SUPPRESS 622*/ assert_IDtype(kc_selvar_1_1, "with_expression (1)"); #line 544 "util.c" if (( kc_selvar_1_1->prod_sel == sel_ITPatternVariable)) { #line 1287 "../util.k" return f_emptyId(); #line 548 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITUserRView)) { #line 1287 "../util.k" return f_emptyId(); #line 553 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITPredefinedRView)) { #line 1287 "../util.k" return f_emptyId(); #line 558 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITUserUView)) { #line 1287 "../util.k" return f_emptyId(); #line 563 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITPredefinedUView)) { #line 1287 "../util.k" return f_emptyId(); #line 568 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITUserFunction)) { #line 1287 "../util.k" return f_emptyId(); #line 573 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITStorageClass)) { #line 1287 "../util.k" return f_emptyId(); #line 578 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITPredefinedStorageClass)) { #line 1287 "../util.k" return f_emptyId(); #line 583 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITUserOperator)) { #line 1287 "../util.k" return f_emptyId(); #line 588 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITPredefinedOperator)) { #line 1287 "../util.k" return f_emptyId(); #line 593 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITUserPhylum)) { #line 1261 "../util.k" phylumdeclaration pd = kc_selvar_1_1->u.ITUserPhylum.phylumdeclaration_1; #line 1261 "../util.k" { #line 1262 "../util.k" phylumdeclaration kc_selvar_2_1 = pd ; #line 1262 "../util.k" /*SUPPRESS 622*/ assert_phylumdeclaration(kc_selvar_2_1, "with_expression (1)"); #line 609 "util.c" if (( kc_selvar_2_1->prod_sel == sel_PhylumDeclaration) && ( kc_selvar_2_1->u.PhylumDeclaration.productionblock_1->prod_sel == sel_ListAlternatives) && ( kc_selvar_2_1->u.PhylumDeclaration.productionblock_1->u.ListAlternatives.alternatives_1->prod_sel == sel_Consalternatives) && ( kc_selvar_2_1->u.PhylumDeclaration.productionblock_1->u.ListAlternatives.alternatives_1->u.Consalternatives.alternative_1->prod_sel == sel_Alternative)) { #line 1268 "../util.k" ID Cons_id = kc_selvar_2_1->u.PhylumDeclaration.productionblock_1->u.ListAlternatives.alternatives_1->u.Consalternatives.alternative_1->u.Alternative.ID_1; #line 1268 "../util.k" return Cons_id; #line 617 "util.c" } else if (( kc_selvar_2_1->prod_sel == sel_PhylumDeclaration) && ( kc_selvar_2_1->u.PhylumDeclaration.productionblock_1->prod_sel == sel_PredefinedAlternatives)) { #line 1274 "../util.k" return f_emptyId(); #line 624 "util.c" } else if (( kc_selvar_2_1->prod_sel == sel_PhylumDeclaration) && ( kc_selvar_2_1->u.PhylumDeclaration.productionblock_1->prod_sel == sel_NonlistAlternatives)) { #line 1271 "../util.k" return f_emptyId(); #line 631 "util.c" } else if (( kc_selvar_2_1->prod_sel == sel_PhylumDeclaration) && ( kc_selvar_2_1->u.PhylumDeclaration.productionblock_1->prod_sel == sel_Emptyproductionblock)) { #line 1263 "../util.k" return f_emptyId(); #line 638 "util.c" } else { kc_no_default_in_with( "f_listelementconsoperator", __LINE__, __FILE__ ); return (ID)0; } } #line 1277 "../util.k" #line 645 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITPredefinedPhylum)) { #line 1260 "../util.k" return f_emptyId(); #line 650 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITPredefinedBigatomPhylum)) { #line 1260 "../util.k" return f_emptyId(); #line 655 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITUnknown)) { #line 1260 "../util.k" return f_emptyId(); #line 660 "util.c" } else { kc_no_default_in_with( "f_listelementconsoperator", __LINE__, __FILE__ ); return (ID)0; } } #line 1288 "../util.k" #line 667 "util.c" } else { kc_no_default_in_with( "f_listelementconsoperator", __LINE__, __FILE__ ); return (ID)0; } } #line 1288 "../util.k" } #line 675 "util.c" ID f_emptyId #ifdef KC_USE_PROTOTYPES (void) #else () #endif #line 1294 "../util.k" { static ID emptyID = 0; if (! emptyID) { emptyID = Id (Str( mkcasestring( "" ))); } return emptyID; #line 1300 "../util.k" } #line 693 "util.c" boolean f_operatorinphylum #ifdef KC_USE_PROTOTYPES (ID oid, ID pid) #else (oid, pid) ID oid; ID pid; #endif #line 1303 "../util.k" {{ #line 1302 "../util.k" ID kc_selvar_0_1 = oid; #line 1302 "../util.k" /*SUPPRESS 622*/ assert_ID(kc_selvar_0_1, "with_expression (1)"); #line 710 "util.c" if (( kc_selvar_0_1->prod_sel == sel_Id)) { #line 1304 "../util.k" uniqID uid = kc_selvar_0_1->u.Id.uniqID_1; #line 1304 "../util.k" { #line 1305 "../util.k" IDtype kc_selvar_1_1 = uid->type ; #line 1305 "../util.k" /*SUPPRESS 622*/ assert_IDtype(kc_selvar_1_1, "with_expression (1)"); #line 725 "util.c" if (( kc_selvar_1_1->prod_sel == sel_ITPatternVariable)) { #line 1319 "../util.k" return False; #line 729 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITUserRView)) { #line 1319 "../util.k" return False; #line 734 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITPredefinedRView)) { #line 1319 "../util.k" return False; #line 739 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITUserUView)) { #line 1319 "../util.k" return False; #line 744 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITPredefinedUView)) { #line 1319 "../util.k" return False; #line 749 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITUserFunction)) { #line 1319 "../util.k" return False; #line 754 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITStorageClass)) { #line 1319 "../util.k" return False; #line 759 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITPredefinedStorageClass)) { #line 1319 "../util.k" return False; #line 764 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITUserOperator)) { #line 1311 "../util.k" ID id = kc_selvar_1_1->u.ITUserOperator.ID_1; #line 1311 "../util.k" return eq_ID( pid, id ); #line 771 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITPredefinedOperator)) { #line 1310 "../util.k" return False; #line 776 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITUserPhylum)) { #line 1310 "../util.k" return False; #line 781 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITPredefinedPhylum)) { #line 1310 "../util.k" return False; #line 786 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITPredefinedBigatomPhylum)) { #line 1310 "../util.k" return False; #line 791 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITUnknown)) { #line 1310 "../util.k" return False; #line 796 "util.c" } else { kc_no_default_in_with( "f_operatorinphylum", __LINE__, __FILE__ ); return (boolean)0; } } #line 1320 "../util.k" #line 803 "util.c" } else { kc_no_default_in_with( "f_operatorinphylum", __LINE__, __FILE__ ); return (boolean)0; } } #line 1320 "../util.k" } #line 811 "util.c" boolean f_isphylum #ifdef KC_USE_PROTOTYPES (ID id) #else (id) ID id; #endif #line 1323 "../util.k" {{ #line 1322 "../util.k" ID kc_selvar_0_1 = id; #line 1322 "../util.k" /*SUPPRESS 622*/ assert_ID(kc_selvar_0_1, "with_expression (1)"); #line 827 "util.c" if (( kc_selvar_0_1->prod_sel == sel_Id)) { #line 1324 "../util.k" uniqID uid = kc_selvar_0_1->u.Id.uniqID_1; #line 1324 "../util.k" { #line 1325 "../util.k" IDtype kc_selvar_1_1 = uid->type ; #line 1325 "../util.k" /*SUPPRESS 622*/ assert_IDtype(kc_selvar_1_1, "with_expression (1)"); #line 842 "util.c" if (( kc_selvar_1_1->prod_sel == sel_ITPatternVariable)) { #line 1339 "../util.k" return False; #line 846 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITUserRView)) { #line 1339 "../util.k" return False; #line 851 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITPredefinedRView)) { #line 1339 "../util.k" return False; #line 856 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITUserUView)) { #line 1339 "../util.k" return False; #line 861 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITPredefinedUView)) { #line 1339 "../util.k" return False; #line 866 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITUserFunction)) { #line 1339 "../util.k" return False; #line 871 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITStorageClass)) { #line 1339 "../util.k" return False; #line 876 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITPredefinedStorageClass)) { #line 1339 "../util.k" return False; #line 881 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITUserOperator)) { #line 1339 "../util.k" return False; #line 886 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITPredefinedOperator)) { #line 1339 "../util.k" return False; #line 891 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITUserPhylum)) { #line 1329 "../util.k" return True; #line 896 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITPredefinedPhylum)) { #line 1329 "../util.k" return True; #line 901 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITPredefinedBigatomPhylum)) { #line 1329 "../util.k" return True; #line 906 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITUnknown)) { #line 1326 "../util.k" return False; #line 911 "util.c" } else { kc_no_default_in_with( "f_isphylum", __LINE__, __FILE__ ); return (boolean)0; } } #line 1340 "../util.k" #line 918 "util.c" } else { kc_no_default_in_with( "f_isphylum", __LINE__, __FILE__ ); return (boolean)0; } } #line 1340 "../util.k" } #line 926 "util.c" boolean f_ispredefinedphylum #ifdef KC_USE_PROTOTYPES (ID id) #else (id) ID id; #endif #line 1343 "../util.k" {{ #line 1342 "../util.k" ID kc_selvar_0_1 = id; #line 1342 "../util.k" /*SUPPRESS 622*/ assert_ID(kc_selvar_0_1, "with_expression (1)"); #line 942 "util.c" if (( kc_selvar_0_1->prod_sel == sel_Id)) { #line 1344 "../util.k" uniqID uid = kc_selvar_0_1->u.Id.uniqID_1; #line 1344 "../util.k" { #line 1345 "../util.k" IDtype kc_selvar_1_1 = uid->type ; #line 1345 "../util.k" /*SUPPRESS 622*/ assert_IDtype(kc_selvar_1_1, "with_expression (1)"); #line 957 "util.c" if (( kc_selvar_1_1->prod_sel == sel_ITPatternVariable)) { #line 1359 "../util.k" return False; #line 961 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITUserRView)) { #line 1359 "../util.k" return False; #line 966 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITPredefinedRView)) { #line 1359 "../util.k" return False; #line 971 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITUserUView)) { #line 1359 "../util.k" return False; #line 976 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITPredefinedUView)) { #line 1359 "../util.k" return False; #line 981 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITUserFunction)) { #line 1359 "../util.k" return False; #line 986 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITStorageClass)) { #line 1359 "../util.k" return False; #line 991 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITPredefinedStorageClass)) { #line 1359 "../util.k" return False; #line 996 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITUserOperator)) { #line 1359 "../util.k" return False; #line 1001 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITPredefinedOperator)) { #line 1359 "../util.k" return False; #line 1006 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITUserPhylum)) { #line 1359 "../util.k" return False; #line 1011 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITPredefinedPhylum)) { #line 1348 "../util.k" return True; #line 1016 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITPredefinedBigatomPhylum)) { #line 1348 "../util.k" return True; #line 1021 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITUnknown)) { #line 1346 "../util.k" return False; #line 1026 "util.c" } else { kc_no_default_in_with( "f_ispredefinedphylum", __LINE__, __FILE__ ); return (boolean)0; } } #line 1360 "../util.k" #line 1033 "util.c" } else { kc_no_default_in_with( "f_ispredefinedphylum", __LINE__, __FILE__ ); return (boolean)0; } } #line 1360 "../util.k" } #line 1041 "util.c" alternative f_alternativeofoperator #ifdef KC_USE_PROTOTYPES (ID oid) #else (oid) ID oid; #endif #line 1363 "../util.k" {{ #line 1362 "../util.k" ID kc_selvar_0_1 = oid; #line 1362 "../util.k" /*SUPPRESS 622*/ assert_ID(kc_selvar_0_1, "with_expression (1)"); #line 1057 "util.c" if (( kc_selvar_0_1->prod_sel == sel_Id)) { #line 1364 "../util.k" uniqID uid = kc_selvar_0_1->u.Id.uniqID_1; #line 1364 "../util.k" { #line 1365 "../util.k" IDtype kc_selvar_1_1 = uid->type ; #line 1365 "../util.k" /*SUPPRESS 622*/ assert_IDtype(kc_selvar_1_1, "with_expression (1)"); #line 1072 "util.c" if (( kc_selvar_1_1->prod_sel == sel_ITPatternVariable)) { #line 1379 "../util.k" return (alternative)0; #line 1076 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITUserRView)) { #line 1379 "../util.k" return (alternative)0; #line 1081 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITPredefinedRView)) { #line 1379 "../util.k" return (alternative)0; #line 1086 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITUserUView)) { #line 1379 "../util.k" return (alternative)0; #line 1091 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITPredefinedUView)) { #line 1379 "../util.k" return (alternative)0; #line 1096 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITUserFunction)) { #line 1379 "../util.k" return (alternative)0; #line 1101 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITStorageClass)) { #line 1379 "../util.k" return (alternative)0; #line 1106 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITPredefinedStorageClass)) { #line 1379 "../util.k" return (alternative)0; #line 1111 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITUserOperator)) { #line 1371 "../util.k" alternative a = kc_selvar_1_1->u.ITUserOperator.alternative_1; #line 1371 "../util.k" return a; #line 1118 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITPredefinedOperator)) { #line 1370 "../util.k" return (alternative)0; #line 1123 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITUserPhylum)) { #line 1370 "../util.k" return (alternative)0; #line 1128 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITPredefinedPhylum)) { #line 1370 "../util.k" return (alternative)0; #line 1133 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITPredefinedBigatomPhylum)) { #line 1370 "../util.k" return (alternative)0; #line 1138 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITUnknown)) { #line 1370 "../util.k" return (alternative)0; #line 1143 "util.c" } else { kc_no_default_in_with( "f_alternativeofoperator", __LINE__, __FILE__ ); return (alternative)0; } } #line 1380 "../util.k" #line 1150 "util.c" } else { kc_no_default_in_with( "f_alternativeofoperator", __LINE__, __FILE__ ); return (alternative)0; } } #line 1380 "../util.k" } #line 1158 "util.c" arguments f_argumentsofoperator #ifdef KC_USE_PROTOTYPES (ID oid) #else (oid) ID oid; #endif #line 1383 "../util.k" {{ #line 1382 "../util.k" ID kc_selvar_0_1 = oid; #line 1382 "../util.k" /*SUPPRESS 622*/ assert_ID(kc_selvar_0_1, "with_expression (1)"); #line 1174 "util.c" if (( kc_selvar_0_1->prod_sel == sel_Id)) { #line 1384 "../util.k" uniqID uid = kc_selvar_0_1->u.Id.uniqID_1; #line 1384 "../util.k" { #line 1385 "../util.k" IDtype kc_selvar_1_1 = uid->type ; #line 1385 "../util.k" /*SUPPRESS 622*/ assert_IDtype(kc_selvar_1_1, "with_expression (1)"); #line 1189 "util.c" if (( kc_selvar_1_1->prod_sel == sel_ITUserOperator) && ( kc_selvar_1_1->u.ITUserOperator.alternative_1->prod_sel == sel_Alternative)) { #line 1391 "../util.k" arguments args = kc_selvar_1_1->u.ITUserOperator.alternative_1->u.Alternative.arguments_1; #line 1391 "../util.k" return args; #line 1195 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITPatternVariable)) { #line 1399 "../util.k" return Nilarguments(); #line 1200 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITUserRView)) { #line 1399 "../util.k" return Nilarguments(); #line 1205 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITPredefinedRView)) { #line 1399 "../util.k" return Nilarguments(); #line 1210 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITUserUView)) { #line 1399 "../util.k" return Nilarguments(); #line 1215 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITPredefinedUView)) { #line 1399 "../util.k" return Nilarguments(); #line 1220 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITUserFunction)) { #line 1399 "../util.k" return Nilarguments(); #line 1225 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITStorageClass)) { #line 1399 "../util.k" return Nilarguments(); #line 1230 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITPredefinedStorageClass)) { #line 1399 "../util.k" return Nilarguments(); #line 1235 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITPredefinedOperator)) { #line 1390 "../util.k" return Nilarguments(); #line 1240 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITUserPhylum)) { #line 1390 "../util.k" return Nilarguments(); #line 1245 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITPredefinedPhylum)) { #line 1390 "../util.k" return Nilarguments(); #line 1250 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITPredefinedBigatomPhylum)) { #line 1390 "../util.k" return Nilarguments(); #line 1255 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITUnknown)) { #line 1390 "../util.k" return Nilarguments(); #line 1260 "util.c" } else { kc_no_default_in_with( "f_argumentsofoperator", __LINE__, __FILE__ ); return (arguments)0; } } #line 1400 "../util.k" #line 1267 "util.c" } else { kc_no_default_in_with( "f_argumentsofoperator", __LINE__, __FILE__ ); return (arguments)0; } } #line 1400 "../util.k" } #line 1275 "util.c" ID f_phylumofoperator #ifdef KC_USE_PROTOTYPES (ID oid) #else (oid) ID oid; #endif #line 1403 "../util.k" {{ #line 1402 "../util.k" ID kc_selvar_0_1 = oid; #line 1402 "../util.k" /*SUPPRESS 622*/ assert_ID(kc_selvar_0_1, "with_expression (1)"); #line 1291 "util.c" if (( kc_selvar_0_1->prod_sel == sel_Id)) { #line 1404 "../util.k" uniqID uid = kc_selvar_0_1->u.Id.uniqID_1; #line 1404 "../util.k" { #line 1405 "../util.k" IDtype kc_selvar_1_1 = uid->type ; #line 1405 "../util.k" /*SUPPRESS 622*/ assert_IDtype(kc_selvar_1_1, "with_expression (1)"); #line 1306 "util.c" if (( kc_selvar_1_1->prod_sel == sel_ITPatternVariable)) { #line 1419 "../util.k" return f_emptyId(); #line 1310 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITUserRView)) { #line 1419 "../util.k" return f_emptyId(); #line 1315 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITPredefinedRView)) { #line 1419 "../util.k" return f_emptyId(); #line 1320 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITUserUView)) { #line 1419 "../util.k" return f_emptyId(); #line 1325 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITPredefinedUView)) { #line 1419 "../util.k" return f_emptyId(); #line 1330 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITUserFunction)) { #line 1419 "../util.k" return f_emptyId(); #line 1335 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITStorageClass)) { #line 1419 "../util.k" return f_emptyId(); #line 1340 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITPredefinedStorageClass)) { #line 1419 "../util.k" return f_emptyId(); #line 1345 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITUserOperator)) { #line 1411 "../util.k" ID id = kc_selvar_1_1->u.ITUserOperator.ID_1; #line 1411 "../util.k" return id; #line 1352 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITPredefinedOperator)) { #line 1410 "../util.k" return f_emptyId(); #line 1357 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITUserPhylum)) { #line 1410 "../util.k" return f_emptyId(); #line 1362 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITPredefinedPhylum)) { #line 1410 "../util.k" return f_emptyId(); #line 1367 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITPredefinedBigatomPhylum)) { #line 1410 "../util.k" return f_emptyId(); #line 1372 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITUnknown)) { #line 1410 "../util.k" return f_emptyId(); #line 1377 "util.c" } else { kc_no_default_in_with( "f_phylumofoperator", __LINE__, __FILE__ ); return (ID)0; } } #line 1420 "../util.k" #line 1384 "util.c" } else { kc_no_default_in_with( "f_phylumofoperator", __LINE__, __FILE__ ); return (ID)0; } } #line 1420 "../util.k" } #line 1392 "util.c" ID f_phylumofpatternID #ifdef KC_USE_PROTOTYPES (ID vid) #else (vid) ID vid; #endif #line 1423 "../util.k" { { #line 1424 "../util.k" IDtype kc_selvar_0_1 = vid->type ; #line 1424 "../util.k" /*SUPPRESS 622*/ assert_IDtype(kc_selvar_0_1, "with_expression (1)"); #line 1411 "util.c" if (( kc_selvar_0_1->prod_sel == sel_ITPatternVariable)) { #line 1438 "../util.k" ID id = kc_selvar_0_1->u.ITPatternVariable.ID_1; #line 1438 "../util.k" return id; #line 1417 "util.c" } else if (( kc_selvar_0_1->prod_sel == sel_ITUserRView)) { #line 1437 "../util.k" return f_emptyId(); #line 1422 "util.c" } else if (( kc_selvar_0_1->prod_sel == sel_ITPredefinedRView)) { #line 1437 "../util.k" return f_emptyId(); #line 1427 "util.c" } else if (( kc_selvar_0_1->prod_sel == sel_ITUserUView)) { #line 1437 "../util.k" return f_emptyId(); #line 1432 "util.c" } else if (( kc_selvar_0_1->prod_sel == sel_ITPredefinedUView)) { #line 1437 "../util.k" return f_emptyId(); #line 1437 "util.c" } else if (( kc_selvar_0_1->prod_sel == sel_ITUserFunction)) { #line 1437 "../util.k" return f_emptyId(); #line 1442 "util.c" } else if (( kc_selvar_0_1->prod_sel == sel_ITStorageClass)) { #line 1437 "../util.k" return f_emptyId(); #line 1447 "util.c" } else if (( kc_selvar_0_1->prod_sel == sel_ITPredefinedStorageClass)) { #line 1437 "../util.k" return f_emptyId(); #line 1452 "util.c" } else if (( kc_selvar_0_1->prod_sel == sel_ITUserOperator)) { #line 1437 "../util.k" return f_emptyId(); #line 1457 "util.c" } else if (( kc_selvar_0_1->prod_sel == sel_ITPredefinedOperator)) { #line 1437 "../util.k" return f_emptyId(); #line 1462 "util.c" } else if (( kc_selvar_0_1->prod_sel == sel_ITUserPhylum)) { #line 1437 "../util.k" return f_emptyId(); #line 1467 "util.c" } else if (( kc_selvar_0_1->prod_sel == sel_ITPredefinedPhylum)) { #line 1437 "../util.k" return f_emptyId(); #line 1472 "util.c" } else if (( kc_selvar_0_1->prod_sel == sel_ITPredefinedBigatomPhylum)) { #line 1437 "../util.k" return f_emptyId(); #line 1477 "util.c" } else if (( kc_selvar_0_1->prod_sel == sel_ITUnknown)) { #line 1437 "../util.k" return f_emptyId(); #line 1482 "util.c" } else { kc_no_default_in_with( "f_phylumofpatternID", __LINE__, __FILE__ ); return (ID)0; } } #line 1439 "../util.k" #line 1439 "../util.k" } #line 1491 "util.c" ID f_phylumofpatternvariable #ifdef KC_USE_PROTOTYPES (ID vid) #else (vid) ID vid; #endif #line 1442 "../util.k" {{ #line 1441 "../util.k" ID kc_selvar_0_1 = vid; #line 1441 "../util.k" /*SUPPRESS 622*/ assert_ID(kc_selvar_0_1, "with_expression (1)"); #line 1507 "util.c" if (( kc_selvar_0_1->prod_sel == sel_Id)) { #line 1443 "../util.k" uniqID uid = kc_selvar_0_1->u.Id.uniqID_1; #line 1443 "../util.k" { #line 1444 "../util.k" IDtype kc_selvar_1_1 = uid->type ; #line 1444 "../util.k" /*SUPPRESS 622*/ assert_IDtype(kc_selvar_1_1, "with_expression (1)"); #line 1522 "util.c" if (( kc_selvar_1_1->prod_sel == sel_ITPatternVariable)) { #line 1458 "../util.k" ID id = kc_selvar_1_1->u.ITPatternVariable.ID_1; #line 1458 "../util.k" return id; #line 1528 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITUserRView)) { #line 1457 "../util.k" return f_emptyId(); #line 1533 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITPredefinedRView)) { #line 1457 "../util.k" return f_emptyId(); #line 1538 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITUserUView)) { #line 1457 "../util.k" return f_emptyId(); #line 1543 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITPredefinedUView)) { #line 1457 "../util.k" return f_emptyId(); #line 1548 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITUserFunction)) { #line 1457 "../util.k" return f_emptyId(); #line 1553 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITStorageClass)) { #line 1457 "../util.k" return f_emptyId(); #line 1558 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITPredefinedStorageClass)) { #line 1457 "../util.k" return f_emptyId(); #line 1563 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITUserOperator)) { #line 1457 "../util.k" return f_emptyId(); #line 1568 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITPredefinedOperator)) { #line 1457 "../util.k" return f_emptyId(); #line 1573 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITUserPhylum)) { #line 1457 "../util.k" return f_emptyId(); #line 1578 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITPredefinedPhylum)) { #line 1457 "../util.k" return f_emptyId(); #line 1583 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITPredefinedBigatomPhylum)) { #line 1457 "../util.k" return f_emptyId(); #line 1588 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ITUnknown)) { #line 1457 "../util.k" return f_emptyId(); #line 1593 "util.c" } else { kc_no_default_in_with( "f_phylumofpatternvariable", __LINE__, __FILE__ ); return (ID)0; } } #line 1459 "../util.k" #line 1600 "util.c" } else { kc_no_default_in_with( "f_phylumofpatternvariable", __LINE__, __FILE__ ); return (ID)0; } } #line 1459 "../util.k" } #line 1608 "util.c" void v_syn_type_attribute_ID #ifdef KC_USE_PROTOTYPES (ID id) #else (id) ID id; #endif #line 1462 "../util.k" {{ #line 1461 "../util.k" ID kc_selvar_0_1 = id; #line 1461 "../util.k" /*SUPPRESS 622*/ assert_ID(kc_selvar_0_1, "with_expression (1)"); #line 1624 "util.c" if (( kc_selvar_0_1->prod_sel == sel_Id)) { #line 1463 "../util.k" uniqID uid = kc_selvar_0_1->u.Id.uniqID_1; #line 1463 "../util.k" { #line 1464 "../util.k" IDtype kc_selvar_1_1 = uid->type ; #line 1464 "../util.k" /*SUPPRESS 622*/ assert_IDtype(kc_selvar_1_1, "with_expression (1)"); #line 1639 "util.c" if (( kc_selvar_1_1->prod_sel == sel_ITPatternVariable)) { #line 1465 "../util.k" id->type = uid->type; #line 1643 "util.c" } else { #line 1466 "../util.k" {/*EMPTY*/} #line 1648 "util.c" } } #line 1467 "../util.k" #line 1653 "util.c" } else kc_no_default_in_with( "v_syn_type_attribute_ID", __LINE__, __FILE__ ); } #line 1467 "../util.k" } #line 1660 "util.c" boolean f_Nilarguments #ifdef KC_USE_PROTOTYPES (arguments a) #else (a) arguments a; #endif #line 1470 "../util.k" {{ #line 1469 "../util.k" arguments kc_selvar_0_1 = a; #line 1469 "../util.k" /*SUPPRESS 622*/ assert_arguments(kc_selvar_0_1, "with_expression (1)"); #line 1676 "util.c" if (( kc_selvar_0_1->prod_sel == sel_Consarguments)) { #line 1472 "../util.k" return False; #line 1680 "util.c" } else if (( kc_selvar_0_1->prod_sel == sel_Nilarguments)) { #line 1471 "../util.k" return True; #line 1685 "util.c" } else { kc_no_default_in_with( "f_Nilarguments", __LINE__, __FILE__ ); return (boolean)0; } } #line 1473 "../util.k" } #line 1693 "util.c" ID f_hd_arguments #ifdef KC_USE_PROTOTYPES (arguments a) #else (a) arguments a; #endif #line 1476 "../util.k" {{ #line 1475 "../util.k" arguments kc_selvar_0_1 = a; #line 1475 "../util.k" /*SUPPRESS 622*/ assert_arguments(kc_selvar_0_1, "with_expression (1)"); #line 1709 "util.c" if (( kc_selvar_0_1->prod_sel == sel_Consarguments)) { #line 1482 "../util.k" ID hd = kc_selvar_0_1->u.Consarguments.ID_1; #line 1482 "../util.k" return hd; #line 1715 "util.c" } else if (( kc_selvar_0_1->prod_sel == sel_Nilarguments)) { #line 1477 "../util.k" /*SUPPRESS 622*/ assert(kc_zero_constant); return (ID)0; #line 1724 "util.c" } else { kc_no_default_in_with( "f_hd_arguments", __LINE__, __FILE__ ); return (ID)0; } } #line 1483 "../util.k" } #line 1732 "util.c" arguments f_tl_arguments #ifdef KC_USE_PROTOTYPES (arguments a) #else (a) arguments a; #endif #line 1486 "../util.k" {{ #line 1485 "../util.k" arguments kc_selvar_0_1 = a; #line 1485 "../util.k" /*SUPPRESS 622*/ assert_arguments(kc_selvar_0_1, "with_expression (1)"); #line 1748 "util.c" if (( kc_selvar_0_1->prod_sel == sel_Consarguments)) { #line 1492 "../util.k" arguments tl = kc_selvar_0_1->u.Consarguments.arguments_1; #line 1492 "../util.k" return tl; #line 1754 "util.c" } else if (( kc_selvar_0_1->prod_sel == sel_Nilarguments)) { #line 1487 "../util.k" /*SUPPRESS 622*/ assert( kc_zero_constant ); return (arguments)0; #line 1763 "util.c" } else { kc_no_default_in_with( "f_tl_arguments", __LINE__, __FILE__ ); return (arguments)0; } } #line 1493 "../util.k" } #line 1771 "util.c" void v_check_dollarvar_attribute_in_operators #ifdef KC_USE_PROTOTYPES (INT i, unpattributes a, operators o) #else (i, a, o) INT i; unpattributes a; operators o; #endif #line 1497 "../util.k" {{ #line 1496 "../util.k" operators kc_selvar_0_1 = o; #line 1496 "../util.k" /*SUPPRESS 622*/ assert_operators(kc_selvar_0_1, "with_expression (1)"); #line 1789 "util.c" if (( kc_selvar_0_1->prod_sel == sel_Consoperators)) { #line 1499 "../util.k" ID o_o = kc_selvar_0_1->u.Consoperators.ID_1; #line 1499 "../util.k" operators o_os = kc_selvar_0_1->u.Consoperators.operators_1; #line 1499 "../util.k" ID phy = f_subphylumofoperator( o_o, i ); if (eq_ID(phy, f_emptyId())) { v_report(NonFatal( FileLine( i->file, i->line ), Problem1S1INT1S1ID( "illegal dollar variable", i, "not that many subterms in operator", o_o ))); } else { (void)f_check_unpattributes_in_phylum( a, phy ); v_do_check_dollarvar_in_operators( i, o_os, phy ); } #line 1806 "util.c" } else if (( kc_selvar_0_1->prod_sel == sel_Niloperators)) { #line 1498 "../util.k" {/*EMPTY*/} #line 1811 "util.c" } else kc_no_default_in_with( "v_check_dollarvar_attribute_in_operators", __LINE__, __FILE__ ); } #line 1508 "../util.k" } #line 1818 "util.c" ID f_check_unpattributes_in_phylum #ifdef KC_USE_PROTOTYPES (unpattributes a, ID p) #else (a, p) unpattributes a; ID p; #endif #line 1511 "../util.k" { ID tmp; unpattributes t = reverse_unpattributes( a ); tmp = f_do_check_unpattributes_in_phylum( t, p ); freelist_unpattributes( t ); return tmp; #line 1517 "../util.k" } #line 1837 "util.c" static ID f_do_check_unpattributes_in_phylum #ifdef KC_USE_PROTOTYPES (unpattributes a, ID p) #else (a, p) unpattributes a; ID p; #endif #line 1527 "../util.k" {{ #line 1526 "../util.k" unpattributes kc_selvar_0_1 = a; #line 1526 "../util.k" /*SUPPRESS 622*/ assert_unpattributes(kc_selvar_0_1, "with_expression (1)"); #line 1854 "util.c" if (( kc_selvar_0_1->prod_sel == sel_Consunpattributes)) { #line 1529 "../util.k" ID a_id = kc_selvar_0_1->u.Consunpattributes.ID_1; #line 1529 "../util.k" unpattributes r_a = kc_selvar_0_1->u.Consunpattributes.unpattributes_1; #line 1529 "../util.k" ID type = f_typeof_attribute_in_phylym( a_id, p ); if ( eq_ID( type, f_emptyId() )) { v_report(NonFatal( FileLine( a_id->file, a_id->line ), Problem1S1ID1S1ID( "attribute", a_id, "not defined in phylum", p ))); return f_emptyId(); } else { return f_do_check_unpattributes_in_phylum( r_a, type ); } #line 1870 "util.c" } else if (( kc_selvar_0_1->prod_sel == sel_Nilunpattributes)) { #line 1528 "../util.k" return p; #line 1875 "util.c" } else { kc_no_default_in_with( "f_do_check_unpattributes_in_phylum", __LINE__, __FILE__ ); return (ID)0; } } #line 1537 "../util.k" } #line 1883 "util.c" static void v_do_check_dollarvar_in_operators #ifdef KC_USE_PROTOTYPES (INT i, operators o, ID p) #else (i, o, p) INT i; operators o; ID p; #endif #line 1540 "../util.k" {{ #line 1539 "../util.k" operators kc_selvar_0_1 = o; #line 1539 "../util.k" /*SUPPRESS 622*/ assert_operators(kc_selvar_0_1, "with_expression (1)"); #line 1901 "util.c" if (( kc_selvar_0_1->prod_sel == sel_Consoperators)) { #line 1542 "../util.k" ID o_o = kc_selvar_0_1->u.Consoperators.ID_1; #line 1542 "../util.k" operators o_os = kc_selvar_0_1->u.Consoperators.operators_1; #line 1542 "../util.k" ID phy = f_subphylumofoperator( o_o, i ); if (eq_ID(phy, f_emptyId())) { v_report(NonFatal( FileLine( i->file, i->line ), Problem1S1INT1S1ID( "illegal dollar variable", i, "not that many subterms in operator", o_o ))); } else if (! eq_ID( p, phy )) { v_report(NonFatal( FileLine( i->file, i->line ), Problem1S1INT1S1ID1S1ID( " type mismatch for dollar varariable:", i, "; old type", p, "; new type", phy ))); } v_do_check_dollarvar_in_operators( i, o_os, p ); #line 1921 "util.c" } else if (( kc_selvar_0_1->prod_sel == sel_Niloperators)) { #line 1541 "../util.k" {/*EMPTY*/} #line 1926 "util.c" } else kc_no_default_in_with( "v_do_check_dollarvar_in_operators", __LINE__, __FILE__ ); } #line 1554 "../util.k" } #line 1933 "util.c" boolean f_attribute_in_phylym #ifdef KC_USE_PROTOTYPES (ID a, ID p) #else (a, p) ID a; ID p; #endif #line 1560 "../util.k" { ID t = f_typeof_attribute_in_phylym( a, p ); if ( eq_ID( t, f_emptyId() )) { return False; } else { return True; } #line 1566 "../util.k" } #line 1952 "util.c" ID f_typeof_attribute_in_phylym #ifdef KC_USE_PROTOTYPES (ID a, ID p) #else (a, p) ID a; ID p; #endif #line 1569 "../util.k" { phylumdeclaration tmp = f_lookupdecl( p ); if ( tmp == 0 ) { v_report(NonFatal( FileLine( p->file, p->line ), Problem1S1ID( "internal error: could not find declaration of phylum:", p ))); return f_emptyId(); } { #line 1577 "../util.k" phylumdeclaration kc_selvar_0_1 = tmp ; #line 1577 "../util.k" /*SUPPRESS 622*/ assert_phylumdeclaration(kc_selvar_0_1, "with_expression (1)"); #line 1979 "util.c" if (( kc_selvar_0_1->prod_sel == sel_PhylumDeclaration) && ( kc_selvar_0_1->u.PhylumDeclaration.Ccode_option_1->prod_sel == sel_CcodeOption)) { #line 1578 "../util.k" attributes attrs = kc_selvar_0_1->u.PhylumDeclaration.Ccode_option_1->u.CcodeOption.attributes_1; #line 1578 "../util.k" { #line 1579 "../util.k" attributes kc_fe_selvar_1 = attrs ; #line 1579 "../util.k" /*SUPPRESS 622*/ assert_attributes(kc_fe_selvar_1, "foreach_list_expression"); #line 1992 "util.c" while( kc_fe_selvar_1->prod_sel == sel_Consattributes ) { attribute kc_selvar_1_1 = kc_fe_selvar_1->u.Consattributes.attribute_1; { #line 1579 "../util.k" { #line 1579 "../util.k" /*SUPPRESS 622*/ assert_attribute(kc_selvar_1_1, "with_expression (1)"); #line 2004 "util.c" { #line 1579 "../util.k" attribute attr = kc_selvar_1_1; #line 1579 "../util.k" { #line 1580 "../util.k" attribute kc_selvar_2_1 = attr ; #line 1580 "../util.k" /*SUPPRESS 622*/ assert_attribute(kc_selvar_2_1, "with_expression (1)"); #line 2019 "util.c" if (( kc_selvar_2_1->prod_sel == sel_Attribute)) { #line 1581 "../util.k" ID a_type = kc_selvar_2_1->u.Attribute.ID_1; #line 1581 "../util.k" ID a_id = kc_selvar_2_1->u.Attribute.ID_2; #line 1581 "../util.k" if (eq_ID( a, a_id)) { return a_type; } #line 2030 "util.c" } else { kc_no_default_in_with( "f_typeof_attribute_in_phylym", __LINE__, __FILE__ ); return (ID)0; } } #line 1584 "../util.k" #line 2037 "util.c" } } #line 2041 "util.c" } kc_fe_selvar_1 = kc_fe_selvar_1->u.Consattributes.attributes_1; #line 1579 "../util.k" /*SUPPRESS 622*/ assert_attributes(kc_fe_selvar_1, "sublist_of_foreach_list_expression"); #line 2048 "util.c" } } #line 1585 "../util.k" return f_emptyId(); #line 2054 "util.c" } else { kc_no_default_in_with( "f_typeof_attribute_in_phylym", __LINE__, __FILE__ ); return (ID)0; } } #line 1586 "../util.k" #line 1586 "../util.k" } #line 2063 "util.c" ID f_subphylumofoperator #ifdef KC_USE_PROTOTYPES (ID o, INT i) #else (o, i) ID o; INT i; #endif #line 1589 "../util.k" {{ #line 1588 "../util.k" INT kc_selvar_0_1 = i; #line 1588 "../util.k" /*SUPPRESS 622*/ assert_INT(kc_selvar_0_1, "with_expression (1)"); #line 2080 "util.c" if (( kc_selvar_0_1->prod_sel == sel_Int)) { #line 1590 "../util.k" int ii = kc_selvar_0_1->u.Int.int_1; #line 1590 "../util.k" if (ii == 0) { return f_phylumofoperator( o ); } else { return f_subphylum( f_argumentsofoperator( o ), i ); } #line 2091 "util.c" } else { kc_no_default_in_with( "f_subphylumofoperator", __LINE__, __FILE__ ); return (ID)0; } } #line 1595 "../util.k" } #line 2099 "util.c" ID f_subphylum #ifdef KC_USE_PROTOTYPES (arguments a, INT i) #else (a, i) arguments a; INT i; #endif #line 1599 "../util.k" { return f_do_subphylum( a, i, length_arguments( a ) ); #line 1601 "../util.k" } #line 2114 "util.c" static ID f_do_subphylum #ifdef KC_USE_PROTOTYPES (arguments a, INT i, int a_i) #else (a, i, a_i) arguments a; INT i; int a_i; #endif #line 1604 "../util.k" {{ #line 1603 "../util.k" arguments kc_selvar_0_1 = a; #line 1603 "../util.k" /*SUPPRESS 622*/ assert_arguments(kc_selvar_0_1, "with_expression (1)"); #line 2132 "util.c" if (( kc_selvar_0_1->prod_sel == sel_Consarguments)) { #line 1606 "../util.k" ID a_a = kc_selvar_0_1->u.Consarguments.ID_1; #line 1606 "../util.k" arguments a_as = kc_selvar_0_1->u.Consarguments.arguments_1; #line 1606 "../util.k" { #line 1607 "../util.k" INT kc_selvar_1_1 = i ; #line 1607 "../util.k" /*SUPPRESS 622*/ assert_INT(kc_selvar_1_1, "with_expression (1)"); #line 2149 "util.c" if (( kc_selvar_1_1->prod_sel == sel_Int)) { #line 1608 "../util.k" int ii = kc_selvar_1_1->u.Int.int_1; #line 1608 "../util.k" if (ii == a_i) { return a_a; } else { return f_do_subphylum( a_as, i, a_i - 1 ); } #line 2160 "util.c" } else { kc_no_default_in_with( "f_do_subphylum", __LINE__, __FILE__ ); return (ID)0; } } #line 1613 "../util.k" #line 2167 "util.c" } else if (( kc_selvar_0_1->prod_sel == sel_Nilarguments)) { #line 1605 "../util.k" return f_emptyId(); #line 2172 "util.c" } else { kc_no_default_in_with( "f_do_subphylum", __LINE__, __FILE__ ); return (ID)0; } } #line 1613 "../util.k" } #line 2180 "util.c" argument f_argumentofoperator #ifdef KC_USE_PROTOTYPES (ID o, INT i) #else (o, i) ID o; INT i; #endif #line 1616 "../util.k" {{ #line 1615 "../util.k" INT kc_selvar_0_1 = i; #line 1615 "../util.k" /*SUPPRESS 622*/ assert_INT(kc_selvar_0_1, "with_expression (1)"); #line 2197 "util.c" if (( kc_selvar_0_1->prod_sel == sel_Int)) { #line 1617 "../util.k" int ii = kc_selvar_0_1->u.Int.int_1; #line 1617 "../util.k" if (ii == 0) { return Argument( f_phylumofoperator( o ), 0); } else { return f_argument( f_argumentsofoperator( o ), i ); } #line 2208 "util.c" } else { kc_no_default_in_with( "f_argumentofoperator", __LINE__, __FILE__ ); return (argument)0; } } #line 1622 "../util.k" } #line 2216 "util.c" argument f_argument #ifdef KC_USE_PROTOTYPES (arguments a, INT i) #else (a, i) arguments a; INT i; #endif #line 1626 "../util.k" { return f_do_argument( a, i, length_arguments( a ) ); #line 1628 "../util.k" } #line 2231 "util.c" static argument f_do_argument #ifdef KC_USE_PROTOTYPES (arguments a, INT i, int a_i) #else (a, i, a_i) arguments a; INT i; int a_i; #endif #line 1631 "../util.k" {{ #line 1630 "../util.k" arguments kc_selvar_0_1 = a; #line 1630 "../util.k" /*SUPPRESS 622*/ assert_arguments(kc_selvar_0_1, "with_expression (1)"); #line 2249 "util.c" if (( kc_selvar_0_1->prod_sel == sel_Consarguments)) { #line 1633 "../util.k" ID a_a = kc_selvar_0_1->u.Consarguments.ID_1; #line 1633 "../util.k" arguments a_as = kc_selvar_0_1->u.Consarguments.arguments_1; #line 1633 "../util.k" { #line 1634 "../util.k" INT kc_selvar_1_1 = i ; #line 1634 "../util.k" /*SUPPRESS 622*/ assert_INT(kc_selvar_1_1, "with_expression (1)"); #line 2266 "util.c" if (( kc_selvar_1_1->prod_sel == sel_Int)) { #line 1635 "../util.k" int ii = kc_selvar_1_1->u.Int.int_1; #line 1635 "../util.k" if (ii == a_i) { return Argument( a_a, a->seqnr ); } else { return f_do_argument( a_as, i, a_i - 1 ); } #line 2277 "util.c" } else { kc_no_default_in_with( "f_do_argument", __LINE__, __FILE__ ); return (argument)0; } } #line 1640 "../util.k" #line 2284 "util.c" } else if (( kc_selvar_0_1->prod_sel == sel_Nilarguments)) { #line 1632 "../util.k" return Argument(f_emptyId(), 0); #line 2289 "util.c" } else { kc_no_default_in_with( "f_do_argument", __LINE__, __FILE__ ); return (argument)0; } } #line 1640 "../util.k" } #line 2297 "util.c" ID f_phylumofoutmostpattern #ifdef KC_USE_PROTOTYPES (outmostpattern p) #else (p) outmostpattern p; #endif #line 1643 "../util.k" {{ #line 1642 "../util.k" outmostpattern kc_selvar_0_1 = p; #line 1642 "../util.k" /*SUPPRESS 622*/ assert_outmostpattern(kc_selvar_0_1, "with_expression (1)"); #line 2313 "util.c" if (( kc_selvar_0_1->prod_sel == sel_OPWildcard)) { #line 1648 "../util.k" return f_emptyId(); #line 2317 "util.c" } else if (( kc_selvar_0_1->prod_sel == sel_OPDefault)) { #line 1648 "../util.k" return f_emptyId(); #line 2322 "util.c" } else if (( kc_selvar_0_1->prod_sel == sel_OPNonLeafVariable)) { #line 1646 "../util.k" outmostpattern r_p = kc_selvar_0_1->u.OPNonLeafVariable.outmostpattern_1; #line 1646 "../util.k" return f_phylumofoutmostpattern( r_p ); #line 2329 "util.c" } else if (( kc_selvar_0_1->prod_sel == sel_OPOperator)) { #line 1645 "../util.k" ID o = kc_selvar_0_1->u.OPOperator.ID_1; #line 1645 "../util.k" return f_phylumofoperator( o ); #line 2336 "util.c" } else if (( kc_selvar_0_1->prod_sel == sel_OPOperatorWildcard)) { #line 1644 "../util.k" ID o = kc_selvar_0_1->u.OPOperatorWildcard.ID_1; #line 1644 "../util.k" return f_phylumofoperator( o ); #line 2343 "util.c" } else { kc_no_default_in_with( "f_phylumofoutmostpattern", __LINE__, __FILE__ ); return (ID)0; } } #line 1649 "../util.k" } #line 2351 "util.c" ID f_operatorofphylum #ifdef KC_USE_PROTOTYPES (ID p, INT i) #else (p, i) ID p; INT i; #endif #line 1652 "../util.k" { phylumdeclaration tmp = f_lookupdecl( p ); if ( tmp == 0 ) { v_report(NonFatal( FileLine( p->file, p->line ), Problem1S1ID( "internal error: could not find declaration of phylum:", p ))); return f_emptyId(); } { #line 1660 "../util.k" phylumdeclaration kc_selvar_0_1 = tmp ; #line 1660 "../util.k" /*SUPPRESS 622*/ assert_phylumdeclaration(kc_selvar_0_1, "with_expression (1)"); #line 2378 "util.c" if (( kc_selvar_0_1->prod_sel == sel_PhylumDeclaration)) { #line 1661 "../util.k" productionblock pb = kc_selvar_0_1->u.PhylumDeclaration.productionblock_1; #line 1661 "../util.k" { #line 1662 "../util.k" productionblock kc_selvar_1_1 = pb ; #line 1662 "../util.k" /*SUPPRESS 622*/ assert_productionblock(kc_selvar_1_1, "with_expression (1)"); #line 2393 "util.c" if (( kc_selvar_1_1->prod_sel == sel_PredefinedAlternatives)) { #line 1666 "../util.k" alternatives a = kc_selvar_1_1->u.PredefinedAlternatives.alternatives_1; #line 1666 "../util.k" alternative tmp_a = f_alternative( a, i ); if ( tmp_a == 0 ) { v_report(NonFatal( FileLine( p->file, p->line ), Problem1S1ID( "internal error: could not find operators of phylum:", p ))); return f_emptyId(); } { #line 1675 "../util.k" alternative kc_selvar_2_1 = tmp_a ; #line 1675 "../util.k" /*SUPPRESS 622*/ assert_alternative(kc_selvar_2_1, "with_expression (1)"); #line 2416 "util.c" if (( kc_selvar_2_1->prod_sel == sel_Alternative)) { #line 1676 "../util.k" ID id = kc_selvar_2_1->u.Alternative.ID_1; #line 1676 "../util.k" return id; #line 2422 "util.c" } else { kc_no_default_in_with( "f_operatorofphylum", __LINE__, __FILE__ ); return (ID)0; } } #line 1677 "../util.k" #line 2429 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_NonlistAlternatives)) { #line 1665 "../util.k" alternatives a = kc_selvar_1_1->u.NonlistAlternatives.alternatives_1; #line 1666 "../util.k" alternative tmp_a = f_alternative( a, i ); if ( tmp_a == 0 ) { v_report(NonFatal( FileLine( p->file, p->line ), Problem1S1ID( "internal error: could not find operators of phylum:", p ))); return f_emptyId(); } { #line 1675 "../util.k" alternative kc_selvar_2_1 = tmp_a ; #line 1675 "../util.k" /*SUPPRESS 622*/ assert_alternative(kc_selvar_2_1, "with_expression (1)"); #line 2453 "util.c" if (( kc_selvar_2_1->prod_sel == sel_Alternative)) { #line 1676 "../util.k" ID id = kc_selvar_2_1->u.Alternative.ID_1; #line 1676 "../util.k" return id; #line 2459 "util.c" } else { kc_no_default_in_with( "f_operatorofphylum", __LINE__, __FILE__ ); return (ID)0; } } #line 1677 "../util.k" #line 2466 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_ListAlternatives)) { #line 1664 "../util.k" alternatives a = kc_selvar_1_1->u.ListAlternatives.alternatives_1; #line 1666 "../util.k" alternative tmp_a = f_alternative( a, i ); if ( tmp_a == 0 ) { v_report(NonFatal( FileLine( p->file, p->line ), Problem1S1ID( "internal error: could not find operators of phylum:", p ))); return f_emptyId(); } { #line 1675 "../util.k" alternative kc_selvar_2_1 = tmp_a ; #line 1675 "../util.k" /*SUPPRESS 622*/ assert_alternative(kc_selvar_2_1, "with_expression (1)"); #line 2490 "util.c" if (( kc_selvar_2_1->prod_sel == sel_Alternative)) { #line 1676 "../util.k" ID id = kc_selvar_2_1->u.Alternative.ID_1; #line 1676 "../util.k" return id; #line 2496 "util.c" } else { kc_no_default_in_with( "f_operatorofphylum", __LINE__, __FILE__ ); return (ID)0; } } #line 1677 "../util.k" #line 2503 "util.c" } else if (( kc_selvar_1_1->prod_sel == sel_Emptyproductionblock)) { #line 1663 "../util.k" return f_emptyId(); #line 2508 "util.c" } else { kc_no_default_in_with( "f_operatorofphylum", __LINE__, __FILE__ ); return (ID)0; } } #line 1677 "../util.k" #line 2515 "util.c" } else { kc_no_default_in_with( "f_operatorofphylum", __LINE__, __FILE__ ); return (ID)0; } } #line 1677 "../util.k" #line 1677 "../util.k" } #line 2524 "util.c" alternative f_alternative #ifdef KC_USE_PROTOTYPES (alternatives a, INT i) #else (a, i) alternatives a; INT i; #endif #line 1681 "../util.k" { return f_do_alternative( a, i, length_alternatives( a ) ); #line 1683 "../util.k" } #line 2539 "util.c" static alternative f_do_alternative #ifdef KC_USE_PROTOTYPES (alternatives a, INT i, int a_i) #else (a, i, a_i) alternatives a; INT i; int a_i; #endif #line 1686 "../util.k" {{ #line 1685 "../util.k" alternatives kc_selvar_0_1 = a; #line 1685 "../util.k" /*SUPPRESS 622*/ assert_alternatives(kc_selvar_0_1, "with_expression (1)"); #line 2557 "util.c" if (( kc_selvar_0_1->prod_sel == sel_Consalternatives)) { #line 1688 "../util.k" alternative a_a = kc_selvar_0_1->u.Consalternatives.alternative_1; #line 1688 "../util.k" alternatives a_as = kc_selvar_0_1->u.Consalternatives.alternatives_1; #line 1688 "../util.k" { #line 1689 "../util.k" INT kc_selvar_1_1 = i ; #line 1689 "../util.k" /*SUPPRESS 622*/ assert_INT(kc_selvar_1_1, "with_expression (1)"); #line 2574 "util.c" if (( kc_selvar_1_1->prod_sel == sel_Int)) { #line 1690 "../util.k" int ii = kc_selvar_1_1->u.Int.int_1; #line 1690 "../util.k" if (ii == a_i) { return a_a; } else { return f_do_alternative( a_as, i, a_i - 1 ); } #line 2585 "util.c" } else { kc_no_default_in_with( "f_do_alternative", __LINE__, __FILE__ ); return (alternative)0; } } #line 1695 "../util.k" #line 2592 "util.c" } else if (( kc_selvar_0_1->prod_sel == sel_Nilalternatives)) { #line 1687 "../util.k" return 0; #line 2597 "util.c" } else { kc_no_default_in_with( "f_do_alternative", __LINE__, __FILE__ ); return (alternative)0; } } #line 1695 "../util.k" } #line 2605 "util.c" void v_reset_phylumdeclaration_marks #ifdef KC_USE_PROTOTYPES (void) #else () #endif #line 1764 "../util.k" { { #line 1765 "../util.k" phylumdeclarations kc_fe_selvar_1 = Thephylumdeclarations ; #line 1765 "../util.k" /*SUPPRESS 622*/ assert_phylumdeclarations(kc_fe_selvar_1, "foreach_list_expression"); #line 2622 "util.c" while( kc_fe_selvar_1->prod_sel == sel_Consphylumdeclarations ) { phylumdeclaration kc_selvar_0_1 = kc_fe_selvar_1->u.Consphylumdeclarations.phylumdeclaration_1; { #line 1765 "../util.k" { #line 1765 "../util.k" /*SUPPRESS 622*/ assert_phylumdeclaration(kc_selvar_0_1, "with_expression (1)"); #line 2634 "util.c" { #line 1765 "../util.k" phylumdeclaration p = kc_selvar_0_1; #line 1765 "../util.k" p->marked = 0; #line 2642 "util.c" } } #line 2646 "util.c" } kc_fe_selvar_1 = kc_fe_selvar_1->u.Consphylumdeclarations.phylumdeclarations_1; #line 1765 "../util.k" /*SUPPRESS 622*/ assert_phylumdeclarations(kc_fe_selvar_1, "sublist_of_foreach_list_expression"); #line 2653 "util.c" } } #line 1767 "../util.k" #line 1767 "../util.k" } #line 2660 "util.c" void v_reset_variables_type #ifdef KC_USE_PROTOTYPES (variables v) #else (v) variables v; #endif #line 1770 "../util.k" { { #line 1771 "../util.k" variables kc_fe_selvar_1 = v ; #line 1771 "../util.k" /*SUPPRESS 622*/ assert_variables(kc_fe_selvar_1, "foreach_list_expression"); #line 2677 "util.c" while( kc_fe_selvar_1->prod_sel == sel_Consvariables ) { ID kc_selvar_0_1 = kc_fe_selvar_1->u.Consvariables.ID_1; { #line 1771 "../util.k" { #line 1771 "../util.k" /*SUPPRESS 622*/ assert_ID(kc_selvar_0_1, "with_expression (1)"); #line 2689 "util.c" { #line 1771 "../util.k" ID var = kc_selvar_0_1; #line 1771 "../util.k" { #line 1772 "../util.k" ID kc_selvar_1_1 = var ; #line 1772 "../util.k" /*SUPPRESS 622*/ assert_ID(kc_selvar_1_1, "with_expression (1)"); #line 2704 "util.c" if (( kc_selvar_1_1->prod_sel == sel_Id)) { #line 1773 "../util.k" uniqID uid = kc_selvar_1_1->u.Id.uniqID_1; #line 1773 "../util.k" { #line 1774 "../util.k" IDtype kc_selvar_2_1 = uid->type ; #line 1774 "../util.k" /*SUPPRESS 622*/ assert_IDtype(kc_selvar_2_1, "with_expression (1)"); #line 2719 "util.c" if (( kc_selvar_2_1->prod_sel == sel_ITPatternVariable)) { #line 1788 "../util.k" int uid_scope = kc_selvar_2_1->u.ITPatternVariable.int_1; #line 1788 "../util.k" { #line 1789 "../util.k" scopetypefilelinestack kc_selvar_3_1 = uid->scopeinfo ; #line 1789 "../util.k" /*SUPPRESS 622*/ assert_scopetypefilelinestack(kc_selvar_3_1, "with_expression (1)"); #line 2734 "util.c" if (( kc_selvar_3_1->prod_sel == sel_Consscopetypefilelinestack) && ( kc_selvar_3_1->u.Consscopetypefilelinestack.scopetypefileline_1->prod_sel == sel_ScopeTypeFileLine)) { #line 1795 "../util.k" int s = kc_selvar_3_1->u.Consscopetypefilelinestack.scopetypefileline_1->u.ScopeTypeFileLine.int_1; #line 1795 "../util.k" IDtype t = kc_selvar_3_1->u.Consscopetypefilelinestack.scopetypefileline_1->u.ScopeTypeFileLine.IDtype_1; #line 1795 "../util.k" casestring f = kc_selvar_3_1->u.Consscopetypefilelinestack.scopetypefileline_1->u.ScopeTypeFileLine.casestring_1; #line 1795 "../util.k" int l = kc_selvar_3_1->u.Consscopetypefilelinestack.scopetypefileline_1->u.ScopeTypeFileLine.int_2; #line 1795 "../util.k" scopetypefilelinestack r_scopeinfo = kc_selvar_3_1->u.Consscopetypefilelinestack.scopetypefilelinestack_1; #line 1795 "../util.k" if (s == uid_scope) { uid->type = t; uid->file = f; uid->line = l; uid->scopeinfo = r_scopeinfo; } #line 2754 "util.c" } else if (( kc_selvar_3_1->prod_sel == sel_Nilscopetypefilelinestack)) { #line 1790 "../util.k" uid->type = ITUnknown(); uid->file = mkcasestring(""); uid->line = 0; #line 2763 "util.c" } else kc_no_default_in_with( "v_reset_variables_type", __LINE__, __FILE__ ); } #line 1801 "../util.k" #line 2769 "util.c" } else if (( kc_selvar_2_1->prod_sel == sel_ITUserRView)) { #line 1787 "../util.k" {/*EMPTY*/} #line 2774 "util.c" } else if (( kc_selvar_2_1->prod_sel == sel_ITPredefinedRView)) { #line 1786 "../util.k" {/*EMPTY*/} #line 2779 "util.c" } else if (( kc_selvar_2_1->prod_sel == sel_ITUserUView)) { #line 1785 "../util.k" {/*EMPTY*/} #line 2784 "util.c" } else if (( kc_selvar_2_1->prod_sel == sel_ITPredefinedUView)) { #line 1784 "../util.k" {/*EMPTY*/} #line 2789 "util.c" } else if (( kc_selvar_2_1->prod_sel == sel_ITUserFunction)) { #line 1783 "../util.k" {/*EMPTY*/} #line 2794 "util.c" } else if (( kc_selvar_2_1->prod_sel == sel_ITStorageClass)) { #line 1782 "../util.k" {/*EMPTY*/} #line 2799 "util.c" } else if (( kc_selvar_2_1->prod_sel == sel_ITPredefinedStorageClass)) { #line 1781 "../util.k" {/*EMPTY*/} #line 2804 "util.c" } else if (( kc_selvar_2_1->prod_sel == sel_ITUserOperator)) { #line 1780 "../util.k" {/*EMPTY*/} #line 2809 "util.c" } else if (( kc_selvar_2_1->prod_sel == sel_ITPredefinedOperator)) { #line 1779 "../util.k" {/*EMPTY*/} #line 2814 "util.c" } else if (( kc_selvar_2_1->prod_sel == sel_ITUserPhylum)) { #line 1778 "../util.k" {/*EMPTY*/} #line 2819 "util.c" } else if (( kc_selvar_2_1->prod_sel == sel_ITPredefinedPhylum)) { #line 1777 "../util.k" {/*EMPTY*/} #line 2824 "util.c" } else if (( kc_selvar_2_1->prod_sel == sel_ITPredefinedBigatomPhylum)) { #line 1777 "../util.k" {/*EMPTY*/} #line 2829 "util.c" } else if (( kc_selvar_2_1->prod_sel == sel_ITUnknown)) { #line 1775 "../util.k" {/*EMPTY*/} #line 2834 "util.c" } else kc_no_default_in_with( "v_reset_variables_type", __LINE__, __FILE__ ); } #line 1802 "../util.k" #line 2840 "util.c" } else kc_no_default_in_with( "v_reset_variables_type", __LINE__, __FILE__ ); } #line 1802 "../util.k" #line 2846 "util.c" } } #line 2850 "util.c" } kc_fe_selvar_1 = kc_fe_selvar_1->u.Consvariables.variables_1; #line 1771 "../util.k" /*SUPPRESS 622*/ assert_variables(kc_fe_selvar_1, "sublist_of_foreach_list_expression"); #line 2857 "util.c" } } #line 1802 "../util.k" #line 1802 "../util.k" } #line 2864 "util.c" void v_add_to_uviewnames #ifdef KC_USE_PROTOTYPES (ID v) #else (v) ID v; #endif #line 1906 "../util.k" { { #line 1907 "../util.k" viewnames kc_fe_selvar_1 = Theuviewnames ; #line 1907 "../util.k" /*SUPPRESS 622*/ assert_viewnames(kc_fe_selvar_1, "foreach_list_expression"); #line 2881 "util.c" while( kc_fe_selvar_1->prod_sel == sel_Consviewnames ) { ID kc_selvar_0_1 = kc_fe_selvar_1->u.Consviewnames.ID_1; { #line 1907 "../util.k" { #line 1907 "../util.k" /*SUPPRESS 622*/ assert_ID(kc_selvar_0_1, "with_expression (1)"); #line 2893 "util.c" { #line 1907 "../util.k" ID vn = kc_selvar_0_1; #line 1907 "../util.k" if ( eq_ID( vn, v )) return; #line 2901 "util.c" } } #line 2905 "util.c" } kc_fe_selvar_1 = kc_fe_selvar_1->u.Consviewnames.viewnames_1; #line 1907 "../util.k" /*SUPPRESS 622*/ assert_viewnames(kc_fe_selvar_1, "sublist_of_foreach_list_expression"); #line 2912 "util.c" } } #line 1910 "../util.k" Theuviewnames = Consviewnames( v, Theuviewnames ); #line 1911 "../util.k" } #line 2920 "util.c" void v_add_to_rviewnames #ifdef KC_USE_PROTOTYPES (ID v) #else (v) ID v; #endif #line 1914 "../util.k" { { #line 1915 "../util.k" viewnames kc_fe_selvar_1 = Therviewnames ; #line 1915 "../util.k" /*SUPPRESS 622*/ assert_viewnames(kc_fe_selvar_1, "foreach_list_expression"); #line 2937 "util.c" while( kc_fe_selvar_1->prod_sel == sel_Consviewnames ) { ID kc_selvar_0_1 = kc_fe_selvar_1->u.Consviewnames.ID_1; { #line 1915 "../util.k" { #line 1915 "../util.k" /*SUPPRESS 622*/ assert_ID(kc_selvar_0_1, "with_expression (1)"); #line 2949 "util.c" { #line 1915 "../util.k" ID vn = kc_selvar_0_1; #line 1915 "../util.k" if ( eq_ID( vn, v )) return; #line 2957 "util.c" } } #line 2961 "util.c" } kc_fe_selvar_1 = kc_fe_selvar_1->u.Consviewnames.viewnames_1; #line 1915 "../util.k" /*SUPPRESS 622*/ assert_viewnames(kc_fe_selvar_1, "sublist_of_foreach_list_expression"); #line 2968 "util.c" } } #line 1918 "../util.k" Therviewnames = Consviewnames( v, Therviewnames ); #line 1919 "../util.k" } #line 2976 "util.c" void v_add_to_storageclasses #ifdef KC_USE_PROTOTYPES (ID v, ID p) #else (v, p) ID v; ID p; #endif #line 1922 "../util.k" { Thestorageclasses = do_add_to_storageclasses( v, p, Thestorageclasses, Thestorageclasses ); #line 1925 "../util.k" } #line 2992 "util.c" static storageclasses do_add_to_storageclasses #ifdef KC_USE_PROTOTYPES (ID v, ID p, storageclasses s, storageclasses all) #else (v, p, s, all) ID v; ID p; storageclasses s; storageclasses all; #endif #line 1929 "../util.k" {{ #line 1927 "../util.k" storageclasses kc_selvar_0_1 = s; #line 1927 "../util.k" /*SUPPRESS 622*/ assert_storageclasses(kc_selvar_0_1, "with_expression (1)"); #line 3011 "util.c" if (( kc_selvar_0_1->prod_sel == sel_Consstorageclasses)) { #line 1938 "../util.k" ID sc = kc_selvar_0_1->u.Consstorageclasses.ID_1; #line 1938 "../util.k" storageclasses r_sc = kc_selvar_0_1->u.Consstorageclasses.storageclasses_1; #line 1938 "../util.k" if ( eq_ID( sc, v )) { if (! eq_ID(p, f_emptyId())) { s->phyla = Consphylumnames( p, s->phyla ); } return all; } else { return do_add_to_storageclasses( v, p, r_sc, all ); } #line 3027 "util.c" } else if (( kc_selvar_0_1->prod_sel == sel_Nilstorageclasses)) { #line 1930 "../util.k" storageclasses tmp = Consstorageclasses( v, all ); tmp->phyla = Nilphylumnames(); if (! eq_ID(p, f_emptyId())) { tmp->phyla = Consphylumnames( p, tmp->phyla ); } return tmp; #line 3039 "util.c" } else { kc_no_default_in_with( "do_add_to_storageclasses", __LINE__, __FILE__ ); return (storageclasses)0; } } #line 1946 "../util.k" } #line 3047 "util.c" phylumnames f_phylumnames_foreachwith_vars #ifdef KC_USE_PROTOTYPES (idCexpressions a_idCexpressions) #else (a_idCexpressions) idCexpressions a_idCexpressions; #endif #line 1954 "../util.k" { return t_f_phylumnames_foreachwith_vars(a_idCexpressions); #line 1956 "../util.k" } #line 3061 "util.c" phylumnames t_f_phylumnames_foreachwith_vars #ifdef KC_USE_PROTOTYPES (idCexpressions a_idCexpressions) #else (a_idCexpressions) idCexpressions a_idCexpressions; #endif #line 1958 "../util.k" {{ #line 1957 "../util.k" idCexpressions kc_selvar_0_1 = a_idCexpressions; #line 1957 "../util.k" /*SUPPRESS 622*/ assert_idCexpressions(kc_selvar_0_1, "with_expression (1)"); #line 3077 "util.c" if (( kc_selvar_0_1->prod_sel == sel_ConsidCexpressions) && ( kc_selvar_0_1->u.ConsidCexpressions.idCexpression_1->prod_sel == sel_IdCexpression)) { #line 1959 "../util.k" idCexpression ice = kc_selvar_0_1->u.ConsidCexpressions.idCexpression_1; #line 1959 "../util.k" ID id = kc_selvar_0_1->u.ConsidCexpressions.idCexpression_1->u.IdCexpression.ID_1; #line 1959 "../util.k" idCexpressions t = kc_selvar_0_1->u.ConsidCexpressions.idCexpressions_1; #line 1959 "../util.k" return Consphylumnames( f_listelementphylum(id), t_f_phylumnames_foreachwith_vars( t )); #line 3091 "util.c" } else if (( kc_selvar_0_1->prod_sel == sel_NilidCexpressions)) { #line 1964 "../util.k" return Nilphylumnames(); #line 3096 "util.c" } else { kc_no_default_in_with( "t_f_phylumnames_foreachwith_vars", __LINE__, __FILE__ ); return (phylumnames)0; } } #line 1965 "../util.k" } #line 3104 "util.c" phylumnames f_phylumnames_foreachwith_listvars #ifdef KC_USE_PROTOTYPES (idCexpressions a_idCexpressions) #else (a_idCexpressions) idCexpressions a_idCexpressions; #endif #line 1968 "../util.k" { return t_f_phylumnames_foreachwith_listvars(a_idCexpressions); #line 1970 "../util.k" } #line 3118 "util.c" phylumnames t_f_phylumnames_foreachwith_listvars #ifdef KC_USE_PROTOTYPES (idCexpressions a_idCexpressions) #else (a_idCexpressions) idCexpressions a_idCexpressions; #endif #line 1972 "../util.k" {{ #line 1971 "../util.k" idCexpressions kc_selvar_0_1 = a_idCexpressions; #line 1971 "../util.k" /*SUPPRESS 622*/ assert_idCexpressions(kc_selvar_0_1, "with_expression (1)"); #line 3134 "util.c" if (( kc_selvar_0_1->prod_sel == sel_ConsidCexpressions) && ( kc_selvar_0_1->u.ConsidCexpressions.idCexpression_1->prod_sel == sel_IdCexpression)) { #line 1973 "../util.k" idCexpression ice = kc_selvar_0_1->u.ConsidCexpressions.idCexpression_1; #line 1973 "../util.k" ID id = kc_selvar_0_1->u.ConsidCexpressions.idCexpression_1->u.IdCexpression.ID_1; #line 1973 "../util.k" idCexpressions t = kc_selvar_0_1->u.ConsidCexpressions.idCexpressions_1; #line 1973 "../util.k" return Consphylumnames( id, t_f_phylumnames_foreachwith_listvars( t )); #line 3148 "util.c" } else if (( kc_selvar_0_1->prod_sel == sel_NilidCexpressions)) { #line 1978 "../util.k" return Nilphylumnames(); #line 3153 "util.c" } else { kc_no_default_in_with( "t_f_phylumnames_foreachwith_listvars", __LINE__, __FILE__ ); return (phylumnames)0; } } #line 1979 "../util.k" } #line 3161 "util.c"