/* GCC MELT GENERATED C++ FILE warmelt-macro+05.cc - DO NOT EDIT - see http://gcc-melt.org/ */ /* secondary MELT generated C++ file of rank #5 */ #include "melt-run.h" /* used hash from melt-run.h when compiling this file: */ MELT_EXTERN const char meltrun_used_md5_melt_f5[] = MELT_RUN_HASHMD5 /* from melt-run.h */; /**** warmelt-macro+05.cc declarations ****/ /**** MELT GENERATED DECLARATIONS for warmelt-macro ** DO NOT EDIT ; see gcc-melt.org ****/ /****++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ *** Copyright 2008 - 2014 Free Software Foundation, Inc. Contributed by Basile Starynkevitch This file is part of GCC. GCC is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. GCC is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GCC; see the file COPYING3. If not see . *** ----------------------------------------------------------------****/ /** ordinary MELT module meltbuild-sources/warmelt-macro**/ #define MELT_HAS_INITIAL_ENVIRONMENT 1 /*usualmodule*/ class Melt_InitialClassyFrame_WARMELTmiMACRO_h938617012; // forward declaration fromline 6528 typedef Melt_InitialClassyFrame_WARMELTmiMACRO_h938617012 Melt_InitialFrame; /*** 6 MELT module variables declarations ****/ MELT_EXTERN void melt_forwarding_module_data (void); MELT_EXTERN void melt_marking_module_data (void); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY melt_WARMELTmiMACRO_module_var_ptr_tab[16]; MELT_EXTERN bool MELT_MODULE_VISIBILITY melt_WARMELTmiMACRO_module_var_flags[1]; static inline melt_ptr_t melt_module_var_fetch (int ix) { return (ix > 0 && ix <= 6)?melt_WARMELTmiMACRO_module_var_ptr_tab[ix]:NULL; } static inline void melt_module_var_put (int ix, melt_ptr_t val) { if (ix > 0 && ix <= 6) { melt_WARMELTmiMACRO_module_var_ptr_tab[ix]= val; melt_WARMELTmiMACRO_module_var_flags[ix/16] = true; } } /* MELT module variables indexes */ enum { meltmodatix_none, meltmodvarix_DIAGV_GIMPLE_symb = 1, meltmodvarix_DIAGV_GIMPLE_SEQ_symb = 2, meltmodvarix_DIAGV_TREE_symb = 3, meltmodvarix_DIAGV_BASIC_BLOCK_symb = 4, meltmodvarix_DIAGV_EDGE_symb = 5, meltmodvarix_MELT_TRANSRUNMACRO_CLOS_symb = 6, meltmodatix_last }; /* end MELT module variables indexes */ /*** 7 MELT called hook declarations ***/ /*declare MELT called hook #0 HOOK_FRESH_ENVIRONMENT_REFERENCE_MAKER **/ MELT_EXTERN melt_ptr_t melthook_HOOK_FRESH_ENVIRONMENT_REFERENCE_MAKER (melt_ptr_t melthookdatap, melt_ptr_t meltinp0_PREVENV, const char* meltinp1_MODULNAME); /*declare MELT called hook #1 HOOK_MACRO_EXPORTER **/ MELT_EXTERN void melthook_HOOK_MACRO_EXPORTER (melt_ptr_t melthookdatap, melt_ptr_t meltinp0_SYM, melt_ptr_t meltinp1_VAL, melt_ptr_t meltinp2_CONTENV); /*declare MELT called hook #2 HOOK_MELT_MAKE_LOCATION **/ MELT_EXTERN melt_ptr_t melthook_HOOK_MELT_MAKE_LOCATION (melt_ptr_t melthookdatap, const char* meltinp0_FILENAME, long meltinp1_LINENO); /*declare MELT called hook #3 HOOK_MELT_MAKE_LOCATION **/ MELT_EXTERN melt_ptr_t melthook_HOOK_MELT_MAKE_LOCATION (melt_ptr_t melthookdatap, const char* meltinp0_FILENAME, long meltinp1_LINENO); /*declare MELT called hook #4 HOOK_PATMACRO_EXPORTER **/ MELT_EXTERN void melthook_HOOK_PATMACRO_EXPORTER (melt_ptr_t melthookdatap, melt_ptr_t meltinp0_SYM, melt_ptr_t meltinp1_MACVAL, melt_ptr_t meltinp2_PATVAL, melt_ptr_t meltinp3_CONTENV); /*declare MELT called hook #5 HOOK_SYMBOL_IMPORTER **/ MELT_EXTERN melt_ptr_t melthook_HOOK_SYMBOL_IMPORTER (melt_ptr_t melthookdatap, const char* meltinp0_SYMNAMESTR, const char* meltinp1_MODULENAMESTR, melt_ptr_t meltinp2_PARENV); /*declare MELT called hook #6 HOOK_VALUE_EXPORTER **/ MELT_EXTERN void melthook_HOOK_VALUE_EXPORTER (melt_ptr_t melthookdatap, melt_ptr_t meltinp0_SYM, melt_ptr_t meltinp1_VAL, melt_ptr_t meltinp2_CONTENV); /*** end of 7 MELT called hook declarations ***/ /*** no extra MELT c-headers ***/ MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_1_WARMELTmiMACRO_REGISTER_DIAG_GIMPLE(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_2_WARMELTmiMACRO_REGISTER_DIAG_GIMPLE_SEQ(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_3_WARMELTmiMACRO_REGISTER_DIAG_TREE(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_4_WARMELTmiMACRO_REGISTER_DIAG_BASIC_BLOCK(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_5_WARMELTmiMACRO_REGISTER_DIAG_EDGE(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_6_WARMELTmiMACRO_DIAGNOSTIC_ARGS_MACRO(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_7_WARMELTmiMACRO_DIAGNOSTIC_EXPAND_MESSAGE(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_8_WARMELTmiMACRO_ERROR_AT(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_9_WARMELTmiMACRO_WARNING_AT(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_10_WARMELTmiMACRO_INFORM_AT(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_11_WARMELTmiMACRO_S_EXPR_WEIGHT(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_12_WARMELTmiMACRO_LAMBDA_cl1(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_13_WARMELTmiMACRO_EXPAND_RESTLIST_AS_LIST(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_14_WARMELTmiMACRO_EXPAND_RESTLIST_AS_TUPLE(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_15_WARMELTmiMACRO_EXPAND_PAIRLIST_AS_LIST(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_16_WARMELTmiMACRO_EXPAND_PAIRLIST_AS_TUPLE(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_17_WARMELTmiMACRO_EXPAND_TUPLE_SLICE_AS_TUPLE(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_18_WARMELTmiMACRO_REGISTER_GENERATOR_DEVICE(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_19_WARMELTmiMACRO_EXPAND_APPLY(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_20_WARMELTmiMACRO_EXPAND_MSEND(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_21_WARMELTmiMACRO_EXPAND_FIELDEXPR(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_22_WARMELTmiMACRO_EXPAND_CITERATION(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_23_WARMELTmiMACRO_EXPAND_CMATCHEXPR(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_24_WARMELTmiMACRO_EXPAND_FUNMATCHEXPR(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_25_WARMELTmiMACRO_EXPAND_KEYWORDFUN(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_26_WARMELTmiMACRO_MACROEXPAND_1(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_27_WARMELTmiMACRO_LAMBDA_cl2(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_28_WARMELTmiMACRO_EXPAND_PRIMITIVE(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_29_WARMELTmiMACRO_EXPAND_HOOK(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_30_WARMELTmiMACRO_PATTERNEXPAND_PAIRLIST_AS_TUPLE(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_31_WARMELTmiMACRO_LAMBDA_cl3(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_32_WARMELTmiMACRO_PATMACEXPAND_FOR_MATCHER(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_33_WARMELTmiMACRO_LAMBDA_cl4(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_34_WARMELTmiMACRO_LAMBDA_cl5(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_35_WARMELTmiMACRO_PATTERN_WEIGHT_TUPLE(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_36_WARMELTmiMACRO_LAMBDA_cl6(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_37_WARMELTmiMACRO_PATTERNEXPAND_EXPR(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_38_WARMELTmiMACRO_PATTERNEXPAND_1(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_39_WARMELTmiMACRO_MACROEXPAND_TOPLEVEL_LIST(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_40_WARMELTmiMACRO_LAMBDA_ARG_BINDINGS(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_41_WARMELTmiMACRO_INSTALL_INITIAL_MACRO(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_42_WARMELTmiMACRO_INSTALL_INITIAL_PATMACRO(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_43_WARMELTmiMACRO_WARN_IF_REDEFINED(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_44_WARMELTmiMACRO_FLATTEN_FOR_C_CODE_EXPANSION(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_45_WARMELTmiMACRO_PARSE_PAIRLIST_C_CODE_EXPANSION(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_46_WARMELTmiMACRO_CHECK_C_EXPANSION(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_47_WARMELTmiMACRO_MELT_REGISTER_TRANSLATOR_RUNNER_MACROEXPANSIONS(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_48_WARMELTmiMACRO_MELT_INVOKE_TRANSLATOR_RUNNER_MACROEXPANSIONS(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_49_WARMELTmiMACRO_MEXPAND_DEFPRIMITIVE(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_50_WARMELTmiMACRO_MEXPAND_DEFCITERATOR(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_51_WARMELTmiMACRO_MEXPAND_DEFCMATCHER(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_52_WARMELTmiMACRO_MEXPAND_DEFUNMATCHER(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_53_WARMELTmiMACRO_MEXPAND_DEFUN(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_54_WARMELTmiMACRO_MELT_DELAYED_MACRO_EXPANDER(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_55_WARMELTmiMACRO_MEXPAND_DEFMACRO(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_56_WARMELTmiMACRO_LAMBDA_cl7(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); /** start of declaration for hook melthook_HOOK_MACRO_INSTALLER**/ /** declaration of hook melthook_HOOK_MACRO_INSTALLER */ MELT_EXTERN void melthook_HOOK_MACRO_INSTALLER(melt_ptr_t melthookdatap, melt_ptr_t meltinp0_MBIND, melt_ptr_t meltinp1_MEXPCLOS) ; /** end of declaration for hook melthook_HOOK_MACRO_INSTALLER**/ MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_58_WARMELTmiMACRO_MEXPAND_AT_MACRO_EXPANSION(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_59_WARMELTmiMACRO_MEXPAND_DEFVAR(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_60_WARMELTmiMACRO_MEXPAND_DEFHOOK(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_61_WARMELTmiMACRO_MEXPAND_DEFINE(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_62_WARMELTmiMACRO_SCAN_DEFCLASS(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_63_WARMELTmiMACRO_MEXPAND_DEFCLASS(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_64_WARMELTmiMACRO_PARSE_FIELD_ASSIGNMENT(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_65_WARMELTmiMACRO_LAMBDA_cl8(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_66_WARMELTmiMACRO_MEXPAND_DEFINSTANCE(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_67_WARMELTmiMACRO_MEXPAND_DEFSELECTOR(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_68_WARMELTmiMACRO_MEXPAND_INSTANCE(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_69_WARMELTmiMACRO_MEXPAND_LOAD(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_70_WARMELTmiMACRO_PARSE_FIELD_PATTERN(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_71_WARMELTmiMACRO_LAMBDA_cl9(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_72_WARMELTmiMACRO_PATEXPAND_INSTANCE(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_73_WARMELTmiMACRO_LAMBDA_cl10(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_74_WARMELTmiMACRO_PATEXPAND_OBJECT(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_75_WARMELTmiMACRO_LAMBDA_cl11(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_76_WARMELTmiMACRO_MEXPAND_OBJECT(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_77_WARMELTmiMACRO_EXPAND_MACROSTRING_PAIRS(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_78_WARMELTmiMACRO_LAMBDA_cl12(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_79_WARMELTmiMACRO_MEXPAND_CODE_CHUNK(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_80_WARMELTmiMACRO_MEXPAND_EXPR_CHUNK(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_81_WARMELTmiMACRO_MEXPAND_UNSAFE_PUT_FIELDS(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_82_WARMELTmiMACRO_MEXPAND_PUT_FIELDS(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_83_WARMELTmiMACRO_MEXPAND_UNSAFE_GET_FIELD(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_84_WARMELTmiMACRO_MEXPAND_GET_FIELD(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_85_WARMELTmiMACRO_PAIRLIST_TO_PROGN(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_86_WARMELTmiMACRO_LAMBDA_cl13(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_87_WARMELTmiMACRO_MEXPAND_SETQ(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_88_WARMELTmiMACRO_MEXPAND_IF(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_89_WARMELTmiMACRO_MEXPAND_WHEN(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_90_WARMELTmiMACRO_MEXPAND_UNLESS(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_91_WARMELTmiMACRO_MEXPAND_WITH_CLONED_SYMB(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_92_WARMELTmiMACRO_LAMBDA_cl14(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_93_WARMELTmiMACRO_MEXPAND_CPPIF(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_94_WARMELTmiMACRO_MEXPAND_COND(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_95_WARMELTmiMACRO_LAMBDA_cl15(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_96_WARMELTmiMACRO_MEXPAND_AND(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_97_WARMELTmiMACRO_LAMBDA_cl16(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_98_WARMELTmiMACRO_PATEXPAND_AS(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_99_WARMELTmiMACRO_MEXPAND_AS(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_100_WARMELTmiMACRO_PATEXPAND_WHEN(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_101_WARMELTmiMACRO_PATEXPAND_AND(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_102_WARMELTmiMACRO_MEXPAND_OR(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_103_WARMELTmiMACRO_LAMBDA_cl17(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_104_WARMELTmiMACRO_PATEXPAND_OR(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_105_WARMELTmiMACRO_MEXPAND_REFERENCE(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_106_WARMELTmiMACRO_PATEXPAND_REFERENCE(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_107_WARMELTmiMACRO_MEXPAND_DEREF(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_108_WARMELTmiMACRO_MEXPANDOBSOLETE_CONTENT(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_109_WARMELTmiMACRO_MEXPAND_SET_REF(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_110_WARMELTmiMACRO_MEXPAND_PLUS(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_111_WARMELTmiMACRO_MEXPAND_MINUS(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_112_WARMELTmiMACRO_MEXPAND_TIMES(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_113_WARMELTmiMACRO_MEXPAND_DIV(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_114_WARMELTmiMACRO_MEXPAND_TUPLE(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_115_WARMELTmiMACRO_PATEXPAND_TUPLE(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_116_WARMELTmiMACRO_MEXPAND_LIST(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_117_WARMELTmiMACRO_PATEXPAND_LIST(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_118_WARMELTmiMACRO_MEXPAND_MATCH(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_119_WARMELTmiMACRO_LAMBDA_cl18(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_120_WARMELTmiMACRO_MEXPAND_MATCHALT(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_121_WARMELTmiMACRO_LAMBDA_cl19(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_122_WARMELTmiMACRO_MEXPAND_LETBINDING(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_123_WARMELTmiMACRO_MEXPAND_LET(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_124_WARMELTmiMACRO_LAMBDA_cl20(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_125_WARMELTmiMACRO_LAMBDA_cl21(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_126_WARMELTmiMACRO_YES_RECURSIVELY_CONSTRUCTIBLE(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_127_WARMELTmiMACRO_MEXPAND_LETREC(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_128_WARMELTmiMACRO_LAMBDA_cl22(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_129_WARMELTmiMACRO_LAMBDA_cl23(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_130_WARMELTmiMACRO_MEXPAND_LAMBDA(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_131_WARMELTmiMACRO_LAMBDA_cl24(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_132_WARMELTmiMACRO_MEXPAND_VARIADIC(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_133_WARMELTmiMACRO_LAMBDA_cl25(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_134_WARMELTmiMACRO_LAMBDA_cl26(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_135_WARMELTmiMACRO_LAMBDA_cl27(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_136_WARMELTmiMACRO_LAMBDA_cl28(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_137_WARMELTmiMACRO_MEXPAND_MULTICALL(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_138_WARMELTmiMACRO_LAMBDA_cl29(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_139_WARMELTmiMACRO_LAMBDA_cl30(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_140_WARMELTmiMACRO_MEXPAND_BOX(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_141_WARMELTmiMACRO_MEXPAND_CONSTANT_BOX(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_142_WARMELTmiMACRO_MEXPAND_UNBOX(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_143_WARMELTmiMACRO_MEXPAND_COMMENT(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_144_WARMELTmiMACRO_MEXPAND_CHEADER(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_145_WARMELTmiMACRO_MEXPAND_CIMPLEMENT(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_146_WARMELTmiMACRO_MEXPAND_USE_PACKAGE_FROM_PKG_CONFIG(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_147_WARMELTmiMACRO_PAIRLIST_TO_RETURN(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_148_WARMELTmiMACRO_LAMBDA_cl31(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_149_WARMELTmiMACRO_MEXPAND_PROGN(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_150_WARMELTmiMACRO_MEXPAND_RETURN(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_151_WARMELTmiMACRO_MEXPAND_FOREVER(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_152_WARMELTmiMACRO_LAMBDA_cl32(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_153_WARMELTmiMACRO_MEXPAND_EXIT(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_154_WARMELTmiMACRO_LAMBDA_cl33(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_155_WARMELTmiMACRO_MEXPAND_AGAIN(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_156_WARMELTmiMACRO_MEXPAND_COMPILE_WARNING(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_157_WARMELTmiMACRO_MEXPAND_ASSERT_MSG(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_158_WARMELTmiMACRO_MEXPAND_THIS_LINE(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_159_WARMELTmiMACRO_MEXPAND_THIS_FILE(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_160_WARMELTmiMACRO_MEXPAND_DEBUG(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_161_WARMELTmiMACRO_MEXPAND_EXPORT_VALUES(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_162_WARMELTmiMACRO_LAMBDA_cl34(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_163_WARMELTmiMACRO_MEXPAND_EXPORT_MACRO(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_164_WARMELTmiMACRO_MEXPAND_EXPORT_PATMACRO(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_165_WARMELTmiMACRO_MEXPAND_EXPORT_CLASS(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_166_WARMELTmiMACRO_LAMBDA_cl35(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_167_WARMELTmiMACRO_MEXPAND_EXPORT_SYNONYM(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_168_WARMELTmiMACRO_MEXPAND_CURRENT_MODULE_ENVIRONMENT_REFERENCE(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_169_WARMELTmiMACRO_MEXPAND_PARENT_MODULE_ENVIRONMENT(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_170_WARMELTmiMACRO_MEXPAND_UPDATE_CURRENT_MODULE_ENVIRONMENT_REFERENCE(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_171_WARMELTmiMACRO_MEXPAND_FETCH_PREDEFINED(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_172_WARMELTmiMACRO_MEXPAND_STORE_PREDEFINED(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN void* melt_start_this_module (void*); /*mandatory start of module*/ /*declare opaque initial frame: */ typedef Melt_InitialClassyFrame_WARMELTmiMACRO_h938617012 /*opaqueinitialclassy*/ meltinitial_frame_t; /* define different names when debugging or not */ #if MELT_HAVE_DEBUG MELT_EXTERN const char meltmodule_WARMELTmiMACRO__melt_have_debug_enabled[]; #define melt_have_debug_string meltmodule_WARMELTmiMACRO__melt_have_debug_enabled #else /*!MELT_HAVE_DEBUG*/ MELT_EXTERN const char meltmodule_WARMELTmiMACRO__melt_have_debug_disabled[]; #define melt_have_debug_string meltmodule_WARMELTmiMACRO__melt_have_debug_disabled #endif /*!MELT_HAVE_DEBUG*/ void MELT_MODULE_VISIBILITY meltmod__WARMELTmiMACRO__initialmeltchunk_0 (meltinitial_frame_t*, char*); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiMACRO__initialmeltchunk_1 (meltinitial_frame_t*, char*); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiMACRO__initialmeltchunk_2 (meltinitial_frame_t*, char*); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiMACRO__initialmeltchunk_3 (meltinitial_frame_t*, char*); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiMACRO__initialmeltchunk_4 (meltinitial_frame_t*, char*); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiMACRO__initialmeltchunk_5 (meltinitial_frame_t*, char*); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiMACRO__initialmeltchunk_6 (meltinitial_frame_t*, char*); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiMACRO__initialmeltchunk_7 (meltinitial_frame_t*, char*); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiMACRO__initialmeltchunk_8 (meltinitial_frame_t*, char*); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiMACRO__initialmeltchunk_9 (meltinitial_frame_t*, char*); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiMACRO__initialmeltchunk_10 (meltinitial_frame_t*, char*); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiMACRO__initialmeltchunk_11 (meltinitial_frame_t*, char*); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiMACRO__initialmeltchunk_12 (meltinitial_frame_t*, char*); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiMACRO__initialmeltchunk_13 (meltinitial_frame_t*, char*); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiMACRO__initialmeltchunk_14 (meltinitial_frame_t*, char*); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiMACRO__initialmeltchunk_15 (meltinitial_frame_t*, char*); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiMACRO__initialmeltchunk_16 (meltinitial_frame_t*, char*); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiMACRO__initialmeltchunk_17 (meltinitial_frame_t*, char*); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiMACRO__initialmeltchunk_18 (meltinitial_frame_t*, char*); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiMACRO__initialmeltchunk_19 (meltinitial_frame_t*, char*); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiMACRO__initialmeltchunk_20 (meltinitial_frame_t*, char*); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiMACRO__initialmeltchunk_21 (meltinitial_frame_t*, char*); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiMACRO__initialmeltchunk_22 (meltinitial_frame_t*, char*); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiMACRO__initialmeltchunk_23 (meltinitial_frame_t*, char*); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiMACRO__initialmeltchunk_24 (meltinitial_frame_t*, char*); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiMACRO__initialmeltchunk_25 (meltinitial_frame_t*, char*); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiMACRO__initialmeltchunk_26 (meltinitial_frame_t*, char*); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiMACRO__initialmeltchunk_27 (meltinitial_frame_t*, char*); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiMACRO__initialmeltchunk_28 (meltinitial_frame_t*, char*); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiMACRO__initialmeltchunk_29 (meltinitial_frame_t*, char*); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiMACRO__initialmeltchunk_30 (meltinitial_frame_t*, char*); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiMACRO__initialmeltchunk_31 (meltinitial_frame_t*, char*); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiMACRO__initialmeltchunk_32 (meltinitial_frame_t*, char*); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiMACRO__initialmeltchunk_33 (meltinitial_frame_t*, char*); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiMACRO__initialmeltchunk_34 (meltinitial_frame_t*, char*); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiMACRO__initialmeltchunk_35 (meltinitial_frame_t*, char*); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiMACRO__initialmeltchunk_36 (meltinitial_frame_t*, char*); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiMACRO__initialmeltchunk_37 (meltinitial_frame_t*, char*); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiMACRO__initialmeltchunk_38 (meltinitial_frame_t*, char*); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiMACRO__initialmeltchunk_39 (meltinitial_frame_t*, char*); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiMACRO__initialmeltchunk_40 (meltinitial_frame_t*, char*); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiMACRO__initialmeltchunk_41 (meltinitial_frame_t*, char*); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiMACRO__initialmeltchunk_42 (meltinitial_frame_t*, char*); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiMACRO__initialmeltchunk_43 (meltinitial_frame_t*, char*); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiMACRO__initialmeltchunk_44 (meltinitial_frame_t*, char*); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiMACRO__initialmeltchunk_45 (meltinitial_frame_t*, char*); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiMACRO__initialmeltchunk_46 (meltinitial_frame_t*, char*); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiMACRO__initialmeltchunk_47 (meltinitial_frame_t*, char*); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiMACRO__initialmeltchunk_48 (meltinitial_frame_t*, char*); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiMACRO__initialmeltchunk_49 (meltinitial_frame_t*, char*); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiMACRO__initialmeltchunk_50 (meltinitial_frame_t*, char*); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiMACRO__initialmeltchunk_51 (meltinitial_frame_t*, char*); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiMACRO__initialmeltchunk_52 (meltinitial_frame_t*, char*); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiMACRO__initialmeltchunk_53 (meltinitial_frame_t*, char*); /**** warmelt-macro+05.cc implementations ****/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_106_WARMELTmiMACRO_PATEXPAND_REFERENCE(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_) { long current_blocklevel_signals_meltrout_106_WARMELTmiMACRO_PATEXPAND_REFERENCE_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long melt_call_counter__; long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__; #undef meltcallcount #define meltcallcount melt_thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1490 /* start of frame for routine meltrout_106_WARMELTmiMACRO_PATEXPAND_REFERENCE fromline 1704 */ /** start of frame for meltrout_106_WARMELTmiMACRO_PATEXPAND_REFERENCE of CLASS_PROCROUTINEOBJ from 1507**/ /*curframdeclclassy*/ class MeltFrame_meltrout_106_WARMELTmiMACRO_PATEXPAND_REFERENCE// fromline 1520 : public Melt_CallFrameWithValues<33> { public: /* fromline 1524*/ long mcfr_varnum[9]; /*classy others*/ long _meltsparel; void melt_mark_stuff (void) { } /*end melt_mark_stuff*/ virtual void melt_mark_ggc_data (void) { melt_mark_values (); melt_mark_stuff (); }; /*end melt_mark_ggc_data*/ MeltFrame_meltrout_106_WARMELTmiMACRO_PATEXPAND_REFERENCE(meltclosure_ptr_t clos) //the closure constructor fromline 1582 : Melt_CallFrameWithValues<33> ( #if ENABLE_CHECKING /*fromline 1586*/ __FILE__, __LINE__, #endif /* ENABLE_CHECKING fromline 1590*/ sizeof(MeltFrame_meltrout_106_WARMELTmiMACRO_PATEXPAND_REFERENCE), clos) {}; MeltFrame_meltrout_106_WARMELTmiMACRO_PATEXPAND_REFERENCE() //the constructor fromline 1594 : Melt_CallFrameWithValues<33> ( #if ENABLE_CHECKING /*fromline 1598*/ __FILE__, __LINE__, #endif /* ENABLE_CHECKING fromline 1602*/ sizeof(MeltFrame_meltrout_106_WARMELTmiMACRO_PATEXPAND_REFERENCE)) {}; #if ENABLE_CHECKING /*fromline 1606*/ MeltFrame_meltrout_106_WARMELTmiMACRO_PATEXPAND_REFERENCE(const char*fil, int lin) //the constructor fromline 1608 : Melt_CallFrameWithValues<33> (fil,lin, sizeof(MeltFrame_meltrout_106_WARMELTmiMACRO_PATEXPAND_REFERENCE)) {}; MeltFrame_meltrout_106_WARMELTmiMACRO_PATEXPAND_REFERENCE(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1613 : Melt_CallFrameWithValues<33> (fil,lin, sizeof(MeltFrame_meltrout_106_WARMELTmiMACRO_PATEXPAND_REFERENCE), clos) {}; #endif /* ENABLE_CHECKING fromline 1618*/ }; // end class MeltFrame_meltrout_106_WARMELTmiMACRO_PATEXPAND_REFERENCE /** end of frame for meltrout_106_WARMELTmiMACRO_PATEXPAND_REFERENCE fromline 1649**/ /* end of frame for routine meltrout_106_WARMELTmiMACRO_PATEXPAND_REFERENCE fromline 1708 */ /* classy proc frame meltrout_106_WARMELTmiMACRO_PATEXPAND_REFERENCE */ MeltFrame_meltrout_106_WARMELTmiMACRO_PATEXPAND_REFERENCE meltfram__ /*declfrastruct fromline 1732*/ /*classyprocarg meltrout_106_WARMELTmiMACRO_PATEXPAND_REFERENCE fromline 1737*/ #if ENABLE_CHECKING (__FILE__, __LINE__, meltclosp_) /* fromline 1741*/ #else /*ENABLE_CHECKING */ (meltclosp_) /* fromline 1745*/ #endif /*ENABLE_CHECKING */ ; #define meltframe meltfram__ melt_trace_start("PATEXPAND_REFERENCE", meltcallcount); /*use arguments*/ (void) meltclosp_; (void)meltfirstargp_; (void)meltxargdescr_; (void)meltxargtab_; (void)meltxresdescr_; (void)meltxrestab_; /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-macro.melt:6099:/ getarg"); /*_.SEXPR__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1*/ /*^getarg*/ if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_endgetargs; /*_.ENV__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2])) != NULL); /*getarg#2*/ /*^getarg*/ if (meltxargdescr_[1] != MELTBPAR_PTR) goto meltlab_endgetargs; /*_.PCTX__V4*/ meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.PCTX__V4*/ meltfptr[3])) != NULL); ; goto meltlab_endgetargs; meltlab_endgetargs: ; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6100:/ cppif.then"); /*^block*/ /*anyblock*/ { { /*^locexp*/ /*melt_increment_dbgcounter*/ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL(); ; /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = /*MELT_NEED_DBG*/ #if MELT_HAVE_DEBUG (/*melt_need_dbg*/ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG*/ ;; MELT_LOCATION("warmelt-macro.melt:6100:/ cond"); /*cond*/ if (/*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { /*_#MELT_CALLCOUNT__L2*/ meltfnum[1] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6100:/ apply"); /*apply*/ { union meltparam_un argtab[5]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6100; /*^apply.arg*/ argtab[3].meltbp_cstring = "patexpand_reference sexpr="; /*^apply.arg*/ argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.SEXPR__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V6*/ meltfptr[5] = melt_apply ((meltclosure_ptr_t)((/*!MELT_DEBUG_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IF___V5*/ meltfptr[4] = /*_.MELT_DEBUG_FUN__V6*/ meltfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6100:/ clear"); /*clear*/ /*_#MELT_CALLCOUNT__L2*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_.MELT_DEBUG_FUN__V6*/ meltfptr[5] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V5*/ meltfptr[4] = /*reallynil*/ NULL ;; } ; { MELT_LOCATION("warmelt-macro.melt:6100:/ locexp"); /*void*/(void)0; } ; /*^quasiblock*/ /*epilog*/ /*^clear*/ /*clear*/ /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V5*/ meltfptr[4] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*^block*/ /*anyblock*/ { { /*^locexp*/ /*void*/(void)0; } ; /*epilog*/ } #endif /*MELT_HAVE_DEBUG*/ ; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6101:/ cppif.then"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*_#IS_A__L3*/ meltfnum[1] = melt_is_instance_of((melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_SEXPR*/ meltfrout->tabval[1])));; MELT_LOCATION("warmelt-macro.melt:6101:/ cond"); /*cond*/ if (/*_#IS_A__L3*/ meltfnum[1]) /*then*/ { /*^cond.then*/ /*_._IFELSE___V8*/ meltfptr[4] = (/*nil*/NULL);; } else { MELT_LOCATION("warmelt-macro.melt:6101:/ cond.else"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*^apply*/ /*apply*/ { union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_cstring = "check sexpr"; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6101; /*^apply.arg*/ argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.SEXPR__V2*/ meltfptr[1]; /*_.MELT_ASSERT_FAILURE_FUN__V9*/ meltfptr[8] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[2])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IFELSE___V8*/ meltfptr[4] = /*_.MELT_ASSERT_FAILURE_FUN__V9*/ meltfptr[8];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6101:/ clear"); /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V9*/ meltfptr[8] = 0 ; } ; } ; /*_.IFCPP___V7*/ meltfptr[5] = /*_._IFELSE___V8*/ meltfptr[4];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6101:/ clear"); /*clear*/ /*_#IS_A__L3*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_._IFELSE___V8*/ meltfptr[4] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*_.IFCPP___V7*/ meltfptr[5] = (/*nil*/NULL); #endif /*MELT_HAVE_DEBUG*/ ; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6102:/ cppif.then"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*_#IS_A__L4*/ meltfnum[0] = melt_is_instance_of((melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2]), (melt_ptr_t)((/*!CLASS_ENVIRONMENT*/ meltfrout->tabval[3])));; MELT_LOCATION("warmelt-macro.melt:6102:/ cond"); /*cond*/ if (/*_#IS_A__L4*/ meltfnum[0]) /*then*/ { /*^cond.then*/ /*_._IFELSE___V11*/ meltfptr[4] = (/*nil*/NULL);; } else { MELT_LOCATION("warmelt-macro.melt:6102:/ cond.else"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*^apply*/ /*apply*/ { union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_cstring = "check env"; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6102; /*^apply.arg*/ argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.ENV__V3*/ meltfptr[2]; /*_.MELT_ASSERT_FAILURE_FUN__V12*/ meltfptr[11] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[2])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IFELSE___V11*/ meltfptr[4] = /*_.MELT_ASSERT_FAILURE_FUN__V12*/ meltfptr[11];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6102:/ clear"); /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V12*/ meltfptr[11] = 0 ; } ; } ; /*_.IFCPP___V10*/ meltfptr[8] = /*_._IFELSE___V11*/ meltfptr[4];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6102:/ clear"); /*clear*/ /*_#IS_A__L4*/ meltfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_._IFELSE___V11*/ meltfptr[4] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*_.IFCPP___V10*/ meltfptr[8] = (/*nil*/NULL); #endif /*MELT_HAVE_DEBUG*/ ; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6103:/ cppif.then"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*_#IS_A__L5*/ meltfnum[1] = melt_is_instance_of((melt_ptr_t)(/*_.PCTX__V4*/ meltfptr[3]), (melt_ptr_t)((/*!CLASS_PATTERN_EXPANSION_CONTEXT*/ meltfrout->tabval[4])));; MELT_LOCATION("warmelt-macro.melt:6103:/ cond"); /*cond*/ if (/*_#IS_A__L5*/ meltfnum[1]) /*then*/ { /*^cond.then*/ /*_._IFELSE___V14*/ meltfptr[4] = (/*nil*/NULL);; } else { MELT_LOCATION("warmelt-macro.melt:6103:/ cond.else"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*^apply*/ /*apply*/ { union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_cstring = "check pctx"; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6103; /*^apply.arg*/ argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.PCTX__V4*/ meltfptr[3]; /*_.MELT_ASSERT_FAILURE_FUN__V15*/ meltfptr[14] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[2])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IFELSE___V14*/ meltfptr[4] = /*_.MELT_ASSERT_FAILURE_FUN__V15*/ meltfptr[14];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6103:/ clear"); /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V15*/ meltfptr[14] = 0 ; } ; } ; /*_.IFCPP___V13*/ meltfptr[11] = /*_._IFELSE___V14*/ meltfptr[4];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6103:/ clear"); /*clear*/ /*_#IS_A__L5*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_._IFELSE___V14*/ meltfptr[4] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*_.IFCPP___V13*/ meltfptr[11] = (/*nil*/NULL); #endif /*MELT_HAVE_DEBUG*/ ; MELT_LOCATION("warmelt-macro.melt:6104:/ quasiblock"); MELT_LOCATION("warmelt-macro.melt:6105:/ getslot"); { melt_ptr_t slot=NULL, obj=NULL; obj = (melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/; melt_object_get_field(slot,obj, 2, "SEXP_CONTENTS"); /*_.CONT__V17*/ meltfptr[4] = slot; }; ; MELT_LOCATION("warmelt-macro.melt:6106:/ getslot"); { melt_ptr_t slot=NULL, obj=NULL; obj = (melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/; melt_object_get_field(slot,obj, 1, "LOCA_LOCATION"); /*_.LOC__V18*/ meltfptr[17] = slot; }; ; /*_.LIST_FIRST__V19*/ meltfptr[18] = (melt_list_first((melt_ptr_t)(/*_.CONT__V17*/ meltfptr[4])));; /*^compute*/ /*_.CURPAIR__V20*/ meltfptr[19] = (melt_pair_tail((melt_ptr_t)(/*_.LIST_FIRST__V19*/ meltfptr[18])));; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6108:/ apply"); /*apply*/ { union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_aptr = (melt_ptr_t*) &/*_.ENV__V3*/ meltfptr[2]; /*^apply.arg*/ argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.PCTX__V4*/ meltfptr[3]; /*^apply.arg*/ argtab[2].meltbp_aptr = (melt_ptr_t*) &/*_.LOC__V18*/ meltfptr[17]; /*_.ARGSP__V21*/ meltfptr[20] = melt_apply ((meltclosure_ptr_t)((/*!PATTERNEXPAND_PAIRLIST_AS_TUPLE*/ meltfrout->tabval[5])), (melt_ptr_t)(/*_.CURPAIR__V20*/ meltfptr[19]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_.ARG1__V22*/ meltfptr[21] = (melt_multiple_nth((melt_ptr_t)(/*_.ARGSP__V21*/ meltfptr[20]), (0)));; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6110:/ apply"); /*apply*/ { union meltparam_un argtab[5]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_aptr = (melt_ptr_t*) &(/*!CLASS_REFERENCE*/ meltfrout->tabval[8]); /*^apply.arg*/ argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.ARG1__V22*/ meltfptr[21]; /*^apply.arg*/ argtab[2].meltbp_aptr = (melt_ptr_t*) &/*_.ENV__V3*/ meltfptr[2]; /*^apply.arg*/ argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.PCTX__V4*/ meltfptr[3]; /*^apply.arg*/ argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.LOC__V18*/ meltfptr[17]; /*_.FLDP__V23*/ meltfptr[22] = melt_apply ((meltclosure_ptr_t)((/*!PARSE_FIELD_PATTERN*/ meltfrout->tabval[6])), (melt_ptr_t)((/*!konst_7_REFERENCED_VALUE*/ meltfrout->tabval[7])), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6115:/ blockmultialloc"); /*multiallocblock*/ { struct meltletrec_1_st { struct MELT_MULTIPLE_STRUCT(1) rtup_0__TUPLREC__x7; long meltletrec_1_endgap; } *meltletrec_1_ptr = 0; meltletrec_1_ptr = (struct meltletrec_1_st *) meltgc_allocate (sizeof (struct meltletrec_1_st), 0); /*^blockmultialloc.initfill*/ /*inimult rtup_0__TUPLREC__x7*/ /*_.TUPLREC___V25*/ meltfptr[24] = (melt_ptr_t) &meltletrec_1_ptr->rtup_0__TUPLREC__x7; meltletrec_1_ptr->rtup_0__TUPLREC__x7.discr = (meltobject_ptr_t)(((melt_ptr_t)(MELT_PREDEF(DISCR_MULTIPLE)))); meltletrec_1_ptr->rtup_0__TUPLREC__x7.nbval = 1; /*^putuple*/ /*putupl#10*/ melt_assertmsg("putupl [:6115] #10 checktup", melt_magic_discr((melt_ptr_t)(/*_.TUPLREC___V25*/ meltfptr[24]))== MELTOBMAG_MULTIPLE); melt_assertmsg("putupl [:6115] #10 checkoff", (0>=0 && 0< melt_multiple_length((melt_ptr_t)(/*_.TUPLREC___V25*/ meltfptr[24])))); ((meltmultiple_ptr_t)(/*_.TUPLREC___V25*/ meltfptr[24]))->tabval[0] = (melt_ptr_t)(/*_.FLDP__V23*/ meltfptr[22]); ; /*^touch*/ meltgc_touch(/*_.TUPLREC___V25*/ meltfptr[24]); ; /*_.TUPLE___V24*/ meltfptr[23] = /*_.TUPLREC___V25*/ meltfptr[24];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6115:/ clear"); /*clear*/ /*_.TUPLREC___V25*/ meltfptr[24] = 0 ; /*^clear*/ /*clear*/ /*_.TUPLREC___V25*/ meltfptr[24] = 0 ; } /*end multiallocblock*/ ; MELT_LOCATION("warmelt-macro.melt:6111:/ quasiblock"); /*^rawallocobj*/ /*rawallocobj*/ { melt_ptr_t newobj = 0; melt_raw_object_create(newobj,(melt_ptr_t)((/*!CLASS_SOURCE_PATTERN_INSTANCE*/ meltfrout->tabval[9])), (5), "CLASS_SOURCE_PATTERN_INSTANCE"); /*_.INST__V27*/ meltfptr[26] = newobj; }; ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @LOCA_LOCATION", melt_magic_discr((melt_ptr_t)(/*_.INST__V27*/ meltfptr[26])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V27*/ meltfptr[26]), (1), (/*_.LOC__V18*/ meltfptr[17]), "LOCA_LOCATION"); ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @PAT_WEIGHT", melt_magic_discr((melt_ptr_t)(/*_.INST__V27*/ meltfptr[26])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V27*/ meltfptr[26]), (2), ((/*!konst_10*/ meltfrout->tabval[10])), "PAT_WEIGHT"); ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @SPAT_CLASS", melt_magic_discr((melt_ptr_t)(/*_.INST__V27*/ meltfptr[26])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V27*/ meltfptr[26]), (3), ((/*!CLASS_REFERENCE*/ meltfrout->tabval[8])), "SPAT_CLASS"); ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @SPAT_FIELDS", melt_magic_discr((melt_ptr_t)(/*_.INST__V27*/ meltfptr[26])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V27*/ meltfptr[26]), (4), (/*_.TUPLE___V24*/ meltfptr[23]), "SPAT_FIELDS"); ; /*^touchobj*/ melt_dbgtrace_written_object (/*_.INST__V27*/ meltfptr[26], "newly made instance"); ; /*_.RES__V26*/ meltfptr[24] = /*_.INST__V27*/ meltfptr[26];; MELT_CHECK_SIGNAL(); ; /*^compute*/ /*_#MULTIPLE_LENGTH__L6*/ meltfnum[0] = (melt_multiple_length((melt_ptr_t)(/*_.ARGSP__V21*/ meltfptr[20])));; /*^compute*/ /*_#exeqI__L7*/ meltfnum[1] = ((/*_#MULTIPLE_LENGTH__L6*/ meltfnum[0]) != (1));; MELT_LOCATION("warmelt-macro.melt:6117:/ cond"); /*cond*/ if (/*_#exeqI__L7*/ meltfnum[1]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { { MELT_LOCATION("warmelt-macro.melt:6119:/ locexp"); /* error_plain */ melt_error_str((melt_ptr_t)(/*_.LOC__V18*/ meltfptr[17]), ( "(REFERENCE ) pattern needs one argument"), (melt_ptr_t)0); } ; MELT_LOCATION("warmelt-macro.melt:6120:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*reallynil*/ NULL ;; { MELT_LOCATION("warmelt-macro.melt:6120:/ locexp"); /*ochecknores compilobj_nrep_return*/ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results(); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG*/ ; } ; /*^finalreturn*/ ; /*finalret*/ goto meltlabend_rout ; MELT_LOCATION("warmelt-macro.melt:6118:/ quasiblock"); /*_.PROGN___V30*/ meltfptr[29] = /*_.RETURN___V29*/ meltfptr[28];; /*^compute*/ /*_._IF___V28*/ meltfptr[27] = /*_.PROGN___V30*/ meltfptr[29];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6117:/ clear"); /*clear*/ /*_.RETURN___V29*/ meltfptr[28] = 0 ; /*^clear*/ /*clear*/ /*_.PROGN___V30*/ meltfptr[29] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V28*/ meltfptr[27] = /*reallynil*/ NULL ;; } ; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6121:/ cppif.then"); /*^block*/ /*anyblock*/ { { /*^locexp*/ /*melt_increment_dbgcounter*/ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL(); ; /*_#MELT_NEED_DBG__L8*/ meltfnum[7] = /*MELT_NEED_DBG*/ #if MELT_HAVE_DEBUG (/*melt_need_dbg*/ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG*/ ;; MELT_LOCATION("warmelt-macro.melt:6121:/ cond"); /*cond*/ if (/*_#MELT_NEED_DBG__L8*/ meltfnum[7]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { /*_#MELT_CALLCOUNT__L9*/ meltfnum[8] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6121:/ apply"); /*apply*/ { union meltparam_un argtab[5]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L9*/ meltfnum[8]; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6121; /*^apply.arg*/ argtab[3].meltbp_cstring = "patexpand_reference res"; /*^apply.arg*/ argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.RES__V26*/ meltfptr[24]; /*_.MELT_DEBUG_FUN__V32*/ meltfptr[29] = melt_apply ((meltclosure_ptr_t)((/*!MELT_DEBUG_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IF___V31*/ meltfptr[28] = /*_.MELT_DEBUG_FUN__V32*/ meltfptr[29];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6121:/ clear"); /*clear*/ /*_#MELT_CALLCOUNT__L9*/ meltfnum[8] = 0 ; /*^clear*/ /*clear*/ /*_.MELT_DEBUG_FUN__V32*/ meltfptr[29] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V31*/ meltfptr[28] = /*reallynil*/ NULL ;; } ; { MELT_LOCATION("warmelt-macro.melt:6121:/ locexp"); /*void*/(void)0; } ; /*^quasiblock*/ /*epilog*/ /*^clear*/ /*clear*/ /*_#MELT_NEED_DBG__L8*/ meltfnum[7] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V31*/ meltfptr[28] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*^block*/ /*anyblock*/ { { /*^locexp*/ /*void*/(void)0; } ; /*epilog*/ } #endif /*MELT_HAVE_DEBUG*/ ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6122:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.RES__V26*/ meltfptr[24];; { MELT_LOCATION("warmelt-macro.melt:6122:/ locexp"); /*ochecknores compilobj_nrep_return*/ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results(); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG*/ ; } ; /*^finalreturn*/ ; /*finalret*/ goto meltlabend_rout ; /*_.LET___V16*/ meltfptr[14] = /*_.RETURN___V33*/ meltfptr[29];; MELT_LOCATION("warmelt-macro.melt:6104:/ clear"); /*clear*/ /*_.CONT__V17*/ meltfptr[4] = 0 ; /*^clear*/ /*clear*/ /*_.LOC__V18*/ meltfptr[17] = 0 ; /*^clear*/ /*clear*/ /*_.LIST_FIRST__V19*/ meltfptr[18] = 0 ; /*^clear*/ /*clear*/ /*_.CURPAIR__V20*/ meltfptr[19] = 0 ; /*^clear*/ /*clear*/ /*_.ARGSP__V21*/ meltfptr[20] = 0 ; /*^clear*/ /*clear*/ /*_.ARG1__V22*/ meltfptr[21] = 0 ; /*^clear*/ /*clear*/ /*_.FLDP__V23*/ meltfptr[22] = 0 ; /*^clear*/ /*clear*/ /*_.TUPLE___V24*/ meltfptr[23] = 0 ; /*^clear*/ /*clear*/ /*_.RES__V26*/ meltfptr[24] = 0 ; /*^clear*/ /*clear*/ /*_#MULTIPLE_LENGTH__L6*/ meltfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_#exeqI__L7*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V28*/ meltfptr[27] = 0 ; /*^clear*/ /*clear*/ /*_.RETURN___V33*/ meltfptr[29] = 0 ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6099:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.LET___V16*/ meltfptr[14];; { MELT_LOCATION("warmelt-macro.melt:6099:/ locexp"); /*ochecknores compilobj_nrep_return*/ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results(); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG*/ ; } ; /*^finalreturn*/ ; /*finalret*/ goto meltlabend_rout ; /*epilog*/ /*^clear*/ /*clear*/ /*_.IFCPP___V7*/ meltfptr[5] = 0 ; /*^clear*/ /*clear*/ /*_.IFCPP___V10*/ meltfptr[8] = 0 ; /*^clear*/ /*clear*/ /*_.IFCPP___V13*/ meltfptr[11] = 0 ; /*^clear*/ /*clear*/ /*_.LET___V16*/ meltfptr[14] = 0 ; } ; goto meltlabend_rout; meltlabend_rout: melt_trace_end("PATEXPAND_REFERENCE", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_106_WARMELTmiMACRO_PATEXPAND_REFERENCE_melt; return (melt_ptr_t)(/*_._RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_106_WARMELTmiMACRO_PATEXPAND_REFERENCE*/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_107_WARMELTmiMACRO_MEXPAND_DEREF(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_) { long current_blocklevel_signals_meltrout_107_WARMELTmiMACRO_MEXPAND_DEREF_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long melt_call_counter__; long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__; #undef meltcallcount #define meltcallcount melt_thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1490 /* start of frame for routine meltrout_107_WARMELTmiMACRO_MEXPAND_DEREF fromline 1704 */ /** start of frame for meltrout_107_WARMELTmiMACRO_MEXPAND_DEREF of CLASS_PROCROUTINEOBJ from 1507**/ /*curframdeclclassy*/ class MeltFrame_meltrout_107_WARMELTmiMACRO_MEXPAND_DEREF// fromline 1520 : public Melt_CallFrameWithValues<39> { public: /* fromline 1524*/ long mcfr_varnum[13]; /*classy others*/ long _meltsparel; void melt_mark_stuff (void) { } /*end melt_mark_stuff*/ virtual void melt_mark_ggc_data (void) { melt_mark_values (); melt_mark_stuff (); }; /*end melt_mark_ggc_data*/ MeltFrame_meltrout_107_WARMELTmiMACRO_MEXPAND_DEREF(meltclosure_ptr_t clos) //the closure constructor fromline 1582 : Melt_CallFrameWithValues<39> ( #if ENABLE_CHECKING /*fromline 1586*/ __FILE__, __LINE__, #endif /* ENABLE_CHECKING fromline 1590*/ sizeof(MeltFrame_meltrout_107_WARMELTmiMACRO_MEXPAND_DEREF), clos) {}; MeltFrame_meltrout_107_WARMELTmiMACRO_MEXPAND_DEREF() //the constructor fromline 1594 : Melt_CallFrameWithValues<39> ( #if ENABLE_CHECKING /*fromline 1598*/ __FILE__, __LINE__, #endif /* ENABLE_CHECKING fromline 1602*/ sizeof(MeltFrame_meltrout_107_WARMELTmiMACRO_MEXPAND_DEREF)) {}; #if ENABLE_CHECKING /*fromline 1606*/ MeltFrame_meltrout_107_WARMELTmiMACRO_MEXPAND_DEREF(const char*fil, int lin) //the constructor fromline 1608 : Melt_CallFrameWithValues<39> (fil,lin, sizeof(MeltFrame_meltrout_107_WARMELTmiMACRO_MEXPAND_DEREF)) {}; MeltFrame_meltrout_107_WARMELTmiMACRO_MEXPAND_DEREF(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1613 : Melt_CallFrameWithValues<39> (fil,lin, sizeof(MeltFrame_meltrout_107_WARMELTmiMACRO_MEXPAND_DEREF), clos) {}; #endif /* ENABLE_CHECKING fromline 1618*/ }; // end class MeltFrame_meltrout_107_WARMELTmiMACRO_MEXPAND_DEREF /** end of frame for meltrout_107_WARMELTmiMACRO_MEXPAND_DEREF fromline 1649**/ /* end of frame for routine meltrout_107_WARMELTmiMACRO_MEXPAND_DEREF fromline 1708 */ /* classy proc frame meltrout_107_WARMELTmiMACRO_MEXPAND_DEREF */ MeltFrame_meltrout_107_WARMELTmiMACRO_MEXPAND_DEREF meltfram__ /*declfrastruct fromline 1732*/ /*classyprocarg meltrout_107_WARMELTmiMACRO_MEXPAND_DEREF fromline 1737*/ #if ENABLE_CHECKING (__FILE__, __LINE__, meltclosp_) /* fromline 1741*/ #else /*ENABLE_CHECKING */ (meltclosp_) /* fromline 1745*/ #endif /*ENABLE_CHECKING */ ; #define meltframe meltfram__ melt_trace_start("MEXPAND_DEREF", meltcallcount); /*use arguments*/ (void) meltclosp_; (void)meltfirstargp_; (void)meltxargdescr_; (void)meltxargtab_; (void)meltxresdescr_; (void)meltxrestab_; /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-macro.melt:6139:/ getarg"); /*_.SEXPR__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1*/ /*^getarg*/ if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_endgetargs; /*_.ENV__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2])) != NULL); /*getarg#2*/ /*^getarg*/ if (meltxargdescr_[1] != MELTBPAR_PTR) goto meltlab_endgetargs; /*_.MEXPANDER__V4*/ meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.MEXPANDER__V4*/ meltfptr[3])) != NULL); /*getarg#3*/ /*^getarg*/ if (meltxargdescr_[2] != MELTBPAR_PTR) goto meltlab_endgetargs; /*_.MODCTX__V5*/ meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.MODCTX__V5*/ meltfptr[4])) != NULL); ; goto meltlab_endgetargs; meltlab_endgetargs: ; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6140:/ cppif.then"); /*^block*/ /*anyblock*/ { { /*^locexp*/ /*melt_increment_dbgcounter*/ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL(); ; /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = /*MELT_NEED_DBG*/ #if MELT_HAVE_DEBUG (/*melt_need_dbg*/ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG*/ ;; MELT_LOCATION("warmelt-macro.melt:6140:/ cond"); /*cond*/ if (/*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { /*_#MELT_CALLCOUNT__L2*/ meltfnum[1] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6140:/ apply"); /*apply*/ { union meltparam_un argtab[5]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6140; /*^apply.arg*/ argtab[3].meltbp_cstring = "mexpand_deref sexpr"; /*^apply.arg*/ argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.SEXPR__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V7*/ meltfptr[6] = melt_apply ((meltclosure_ptr_t)((/*!MELT_DEBUG_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IF___V6*/ meltfptr[5] = /*_.MELT_DEBUG_FUN__V7*/ meltfptr[6];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6140:/ clear"); /*clear*/ /*_#MELT_CALLCOUNT__L2*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_.MELT_DEBUG_FUN__V7*/ meltfptr[6] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V6*/ meltfptr[5] = /*reallynil*/ NULL ;; } ; { MELT_LOCATION("warmelt-macro.melt:6140:/ locexp"); /*void*/(void)0; } ; /*^quasiblock*/ /*epilog*/ /*^clear*/ /*clear*/ /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V6*/ meltfptr[5] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*^block*/ /*anyblock*/ { { /*^locexp*/ /*void*/(void)0; } ; /*epilog*/ } #endif /*MELT_HAVE_DEBUG*/ ; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6141:/ cppif.then"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*_#IS_A__L3*/ meltfnum[1] = melt_is_instance_of((melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_SEXPR*/ meltfrout->tabval[1])));; MELT_LOCATION("warmelt-macro.melt:6141:/ cond"); /*cond*/ if (/*_#IS_A__L3*/ meltfnum[1]) /*then*/ { /*^cond.then*/ /*_._IFELSE___V9*/ meltfptr[5] = (/*nil*/NULL);; } else { MELT_LOCATION("warmelt-macro.melt:6141:/ cond.else"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*^apply*/ /*apply*/ { union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_cstring = "check sexpr"; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6141; /*^apply.arg*/ argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.SEXPR__V2*/ meltfptr[1]; /*_.MELT_ASSERT_FAILURE_FUN__V10*/ meltfptr[9] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[2])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IFELSE___V9*/ meltfptr[5] = /*_.MELT_ASSERT_FAILURE_FUN__V10*/ meltfptr[9];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6141:/ clear"); /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V10*/ meltfptr[9] = 0 ; } ; } ; /*_.IFCPP___V8*/ meltfptr[6] = /*_._IFELSE___V9*/ meltfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6141:/ clear"); /*clear*/ /*_#IS_A__L3*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_._IFELSE___V9*/ meltfptr[5] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*_.IFCPP___V8*/ meltfptr[6] = (/*nil*/NULL); #endif /*MELT_HAVE_DEBUG*/ ; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6142:/ cppif.then"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*_#IS_A__L4*/ meltfnum[0] = melt_is_instance_of((melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2]), (melt_ptr_t)((/*!CLASS_ENVIRONMENT*/ meltfrout->tabval[3])));; MELT_LOCATION("warmelt-macro.melt:6142:/ cond"); /*cond*/ if (/*_#IS_A__L4*/ meltfnum[0]) /*then*/ { /*^cond.then*/ /*_._IFELSE___V12*/ meltfptr[5] = (/*nil*/NULL);; } else { MELT_LOCATION("warmelt-macro.melt:6142:/ cond.else"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*^apply*/ /*apply*/ { union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_cstring = "check env"; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6142; /*^apply.arg*/ argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.ENV__V3*/ meltfptr[2]; /*_.MELT_ASSERT_FAILURE_FUN__V13*/ meltfptr[12] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[2])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IFELSE___V12*/ meltfptr[5] = /*_.MELT_ASSERT_FAILURE_FUN__V13*/ meltfptr[12];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6142:/ clear"); /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V13*/ meltfptr[12] = 0 ; } ; } ; /*_.IFCPP___V11*/ meltfptr[9] = /*_._IFELSE___V12*/ meltfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6142:/ clear"); /*clear*/ /*_#IS_A__L4*/ meltfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_._IFELSE___V12*/ meltfptr[5] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*_.IFCPP___V11*/ meltfptr[9] = (/*nil*/NULL); #endif /*MELT_HAVE_DEBUG*/ ; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6143:/ cppif.then"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*_#IS_OBJECT__L5*/ meltfnum[1] = (melt_magic_discr((melt_ptr_t)(/*_.MODCTX__V5*/ meltfptr[4])) == MELTOBMAG_OBJECT);; MELT_LOCATION("warmelt-macro.melt:6143:/ cond"); /*cond*/ if (/*_#IS_OBJECT__L5*/ meltfnum[1]) /*then*/ { /*^cond.then*/ /*_._IFELSE___V15*/ meltfptr[5] = (/*nil*/NULL);; } else { MELT_LOCATION("warmelt-macro.melt:6143:/ cond.else"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*^apply*/ /*apply*/ { union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_cstring = "check modctx"; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6143; /*^apply.arg*/ argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.MODCTX__V5*/ meltfptr[4]; /*_.MELT_ASSERT_FAILURE_FUN__V16*/ meltfptr[15] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[2])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IFELSE___V15*/ meltfptr[5] = /*_.MELT_ASSERT_FAILURE_FUN__V16*/ meltfptr[15];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6143:/ clear"); /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V16*/ meltfptr[15] = 0 ; } ; } ; /*_.IFCPP___V14*/ meltfptr[12] = /*_._IFELSE___V15*/ meltfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6143:/ clear"); /*clear*/ /*_#IS_OBJECT__L5*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_._IFELSE___V15*/ meltfptr[5] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*_.IFCPP___V14*/ meltfptr[12] = (/*nil*/NULL); #endif /*MELT_HAVE_DEBUG*/ ; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6144:/ cppif.then"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6146:/ cond"); /*cond*/ if ( /*ifisa*/ melt_is_instance_of((melt_ptr_t)((/*!CLASS_REFERENCE*/ meltfrout->tabval[4])), (melt_ptr_t)((/*!CLASS_CLASS*/ meltfrout->tabval[5]))) ) /*then*/ { /*^cond.then*/ /*^getslot*/ { melt_ptr_t slot=NULL, obj=NULL; obj = (melt_ptr_t)((/*!CLASS_REFERENCE*/ meltfrout->tabval[4])) /*=obj*/; melt_object_get_field(slot,obj, 6, "CLASS_FIELDS"); /*_.CLASS_FIELDS__V18*/ meltfptr[5] = slot; }; ; } else /*^cond.else*/ { /*_.CLASS_FIELDS__V18*/ meltfptr[5] = /*reallynil*/ NULL ;; } ; /*^compute*/ /*_#MULTIPLE_LENGTH__L6*/ meltfnum[0] = (melt_multiple_length((melt_ptr_t)(/*_.CLASS_FIELDS__V18*/ meltfptr[5])));; /*^compute*/ /*_#eqeqI__L7*/ meltfnum[1] = ((1) == (/*_#MULTIPLE_LENGTH__L6*/ meltfnum[0]));; MELT_LOCATION("warmelt-macro.melt:6144:/ cond"); /*cond*/ if (/*_#eqeqI__L7*/ meltfnum[1]) /*then*/ { /*^cond.then*/ /*_._IFELSE___V19*/ meltfptr[18] = (/*nil*/NULL);; } else { MELT_LOCATION("warmelt-macro.melt:6144:/ cond.else"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*^apply*/ /*apply*/ { union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_cstring = "check class_reference has one field"; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6144; /*^apply.arg*/ argtab[3].meltbp_aptr = (melt_ptr_t*) &(/*!CLASS_REFERENCE*/ meltfrout->tabval[4]); /*_.MELT_ASSERT_FAILURE_FUN__V20*/ meltfptr[19] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[2])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IFELSE___V19*/ meltfptr[18] = /*_.MELT_ASSERT_FAILURE_FUN__V20*/ meltfptr[19];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6144:/ clear"); /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V20*/ meltfptr[19] = 0 ; } ; } ; /*_.IFCPP___V17*/ meltfptr[15] = /*_._IFELSE___V19*/ meltfptr[18];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6144:/ clear"); /*clear*/ /*_.CLASS_FIELDS__V18*/ meltfptr[5] = 0 ; /*^clear*/ /*clear*/ /*_#MULTIPLE_LENGTH__L6*/ meltfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_#eqeqI__L7*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_._IFELSE___V19*/ meltfptr[18] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*_.IFCPP___V17*/ meltfptr[15] = (/*nil*/NULL); #endif /*MELT_HAVE_DEBUG*/ ; MELT_LOCATION("warmelt-macro.melt:6148:/ quasiblock"); MELT_LOCATION("warmelt-macro.melt:6149:/ getslot"); { melt_ptr_t slot=NULL, obj=NULL; obj = (melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/; melt_object_get_field(slot,obj, 2, "SEXP_CONTENTS"); /*_.CONT__V22*/ meltfptr[5] = slot; }; ; MELT_LOCATION("warmelt-macro.melt:6150:/ getslot"); { melt_ptr_t slot=NULL, obj=NULL; obj = (melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/; melt_object_get_field(slot,obj, 1, "LOCA_LOCATION"); /*_.LOC__V23*/ meltfptr[18] = slot; }; ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6151:/ apply"); /*apply*/ { union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_aptr = (melt_ptr_t*) &/*_.ENV__V3*/ meltfptr[2]; /*^apply.arg*/ argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.MEXPANDER__V4*/ meltfptr[3]; /*^apply.arg*/ argtab[2].meltbp_aptr = (melt_ptr_t*) &/*_.MODCTX__V5*/ meltfptr[4]; /*_.XARGTUP__V24*/ meltfptr[23] = melt_apply ((meltclosure_ptr_t)((/*!EXPAND_RESTLIST_AS_TUPLE*/ meltfrout->tabval[6])), (melt_ptr_t)(/*_.CONT__V22*/ meltfptr[5]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_#NBARG__L8*/ meltfnum[0] = (melt_multiple_length((melt_ptr_t)(/*_.XARGTUP__V24*/ meltfptr[23])));; /*^compute*/ /*_.ARG1__V25*/ meltfptr[24] = (melt_multiple_nth((melt_ptr_t)(/*_.XARGTUP__V24*/ meltfptr[23]), (0)));; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6154:/ quasiblock"); /*^rawallocobj*/ /*rawallocobj*/ { melt_ptr_t newobj = 0; melt_raw_object_create(newobj,(melt_ptr_t)((/*!CLASS_SOURCE_FETCH_PREDEFINED*/ meltfrout->tabval[7])), (3), "CLASS_SOURCE_FETCH_PREDEFINED"); /*_.INST__V27*/ meltfptr[26] = newobj; }; ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @LOCA_LOCATION", melt_magic_discr((melt_ptr_t)(/*_.INST__V27*/ meltfptr[26])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V27*/ meltfptr[26]), (1), (/*_.LOC__V23*/ meltfptr[18]), "LOCA_LOCATION"); ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @SFEPD_PREDEF", melt_magic_discr((melt_ptr_t)(/*_.INST__V27*/ meltfptr[26])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V27*/ meltfptr[26]), (2), ((/*!konst_8_CLASS_REFERENCE*/ meltfrout->tabval[8])), "SFEPD_PREDEF"); ; /*^touchobj*/ melt_dbgtrace_written_object (/*_.INST__V27*/ meltfptr[26], "newly made instance"); ; /*_.SPREDCLASSCONT__V26*/ meltfptr[25] = /*_.INST__V27*/ meltfptr[26];; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6157:/ apply"); /*apply*/ { union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_aptr = (melt_ptr_t*) &(/*!konst_8_CLASS_REFERENCE*/ meltfrout->tabval[8]); /*_.CLABIND__V28*/ meltfptr[27] = melt_apply ((meltclosure_ptr_t)((/*!FIND_ENV*/ meltfrout->tabval[9])), (melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6158:/ quasiblock"); /*^rawallocobj*/ /*rawallocobj*/ { melt_ptr_t newobj = 0; melt_raw_object_create(newobj,(melt_ptr_t)((/*!CLASS_SOURCE_GET_FIELD*/ meltfrout->tabval[11])), (4), "CLASS_SOURCE_GET_FIELD"); /*_.INST__V30*/ meltfptr[29] = newobj; }; ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @LOCA_LOCATION", melt_magic_discr((melt_ptr_t)(/*_.INST__V30*/ meltfptr[29])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V30*/ meltfptr[29]), (1), (/*_.LOC__V23*/ meltfptr[18]), "LOCA_LOCATION"); ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @SUGET_OBJ", melt_magic_discr((melt_ptr_t)(/*_.INST__V30*/ meltfptr[29])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V30*/ meltfptr[29]), (2), (/*_.ARG1__V25*/ meltfptr[24]), "SUGET_OBJ"); ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @SUGET_FIELD", melt_magic_discr((melt_ptr_t)(/*_.INST__V30*/ meltfptr[29])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V30*/ meltfptr[29]), (3), ((/*!REFERENCED_VALUE*/ meltfrout->tabval[12])), "SUGET_FIELD"); ; /*^touchobj*/ melt_dbgtrace_written_object (/*_.INST__V30*/ meltfptr[29], "newly made instance"); ; /*_.SGET__V29*/ meltfptr[28] = /*_.INST__V30*/ meltfptr[29];; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6164:/ cppif.then"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*_#IS_A__L9*/ meltfnum[1] = melt_is_instance_of((melt_ptr_t)((/*!REFERENCED_VALUE*/ meltfrout->tabval[12])), (melt_ptr_t)((/*!CLASS_FIELD*/ meltfrout->tabval[13])));; MELT_LOCATION("warmelt-macro.melt:6164:/ cond"); /*cond*/ if (/*_#IS_A__L9*/ meltfnum[1]) /*then*/ { /*^cond.then*/ /*_._IFELSE___V32*/ meltfptr[31] = (/*nil*/NULL);; } else { MELT_LOCATION("warmelt-macro.melt:6164:/ cond.else"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*^apply*/ /*apply*/ { union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_cstring = "check referenced_value"; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6164; /*^apply.arg*/ argtab[3].meltbp_aptr = (melt_ptr_t*) &(/*!REFERENCED_VALUE*/ meltfrout->tabval[12]); /*_.MELT_ASSERT_FAILURE_FUN__V33*/ meltfptr[32] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[2])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IFELSE___V32*/ meltfptr[31] = /*_.MELT_ASSERT_FAILURE_FUN__V33*/ meltfptr[32];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6164:/ clear"); /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V33*/ meltfptr[32] = 0 ; } ; } ; /*_.IFCPP___V31*/ meltfptr[30] = /*_._IFELSE___V32*/ meltfptr[31];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6164:/ clear"); /*clear*/ /*_#IS_A__L9*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_._IFELSE___V32*/ meltfptr[31] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*_.IFCPP___V31*/ meltfptr[30] = (/*nil*/NULL); #endif /*MELT_HAVE_DEBUG*/ ; MELT_CHECK_SIGNAL(); ; /*^compute*/ /*_#exeqI__L10*/ meltfnum[1] = ((/*_#NBARG__L8*/ meltfnum[0]) != (1));; MELT_LOCATION("warmelt-macro.melt:6165:/ cond"); /*cond*/ if (/*_#exeqI__L10*/ meltfnum[1]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { { MELT_LOCATION("warmelt-macro.melt:6167:/ locexp"); /* error_plain */ melt_error_str((melt_ptr_t)(/*_.LOC__V23*/ meltfptr[18]), ( "(DEREF ) needs exactly one argument"), (melt_ptr_t)0); } ; MELT_LOCATION("warmelt-macro.melt:6168:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*reallynil*/ NULL ;; { MELT_LOCATION("warmelt-macro.melt:6168:/ locexp"); /*ochecknores compilobj_nrep_return*/ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results(); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG*/ ; } ; /*^finalreturn*/ ; /*finalret*/ goto meltlabend_rout ; MELT_LOCATION("warmelt-macro.melt:6166:/ quasiblock"); /*_.PROGN___V36*/ meltfptr[35] = /*_.RETURN___V35*/ meltfptr[31];; /*^compute*/ /*_._IF___V34*/ meltfptr[32] = /*_.PROGN___V36*/ meltfptr[35];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6165:/ clear"); /*clear*/ /*_.RETURN___V35*/ meltfptr[31] = 0 ; /*^clear*/ /*clear*/ /*_.PROGN___V36*/ meltfptr[35] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V34*/ meltfptr[32] = /*reallynil*/ NULL ;; } ; MELT_CHECK_SIGNAL(); ; /*^compute*/ /*_#NULL__L11*/ meltfnum[10] = ((/*_.CLABIND__V28*/ meltfptr[27]) == NULL);; MELT_LOCATION("warmelt-macro.melt:6171:/ cond"); /*cond*/ if (/*_#NULL__L11*/ meltfnum[10]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { { MELT_LOCATION("warmelt-macro.melt:6172:/ locexp"); melt_warning_str(0, (melt_ptr_t)(/*_.LOC__V23*/ meltfptr[18]), ( "(DEREF ) where CLASS_REFERENCE is not visible"), (melt_ptr_t)0); } ; /*epilog*/ } ; } /*noelse*/ ; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6173:/ cppif.then"); /*^block*/ /*anyblock*/ { { /*^locexp*/ /*melt_increment_dbgcounter*/ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL(); ; /*_#MELT_NEED_DBG__L12*/ meltfnum[11] = /*MELT_NEED_DBG*/ #if MELT_HAVE_DEBUG (/*melt_need_dbg*/ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG*/ ;; MELT_LOCATION("warmelt-macro.melt:6173:/ cond"); /*cond*/ if (/*_#MELT_NEED_DBG__L12*/ meltfnum[11]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { /*_#MELT_CALLCOUNT__L13*/ meltfnum[12] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6173:/ apply"); /*apply*/ { union meltparam_un argtab[5]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L13*/ meltfnum[12]; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6173; /*^apply.arg*/ argtab[3].meltbp_cstring = "mexpand_deref returns sget"; /*^apply.arg*/ argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.SGET__V29*/ meltfptr[28]; /*_.MELT_DEBUG_FUN__V38*/ meltfptr[35] = melt_apply ((meltclosure_ptr_t)((/*!MELT_DEBUG_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IF___V37*/ meltfptr[31] = /*_.MELT_DEBUG_FUN__V38*/ meltfptr[35];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6173:/ clear"); /*clear*/ /*_#MELT_CALLCOUNT__L13*/ meltfnum[12] = 0 ; /*^clear*/ /*clear*/ /*_.MELT_DEBUG_FUN__V38*/ meltfptr[35] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V37*/ meltfptr[31] = /*reallynil*/ NULL ;; } ; { MELT_LOCATION("warmelt-macro.melt:6173:/ locexp"); /*void*/(void)0; } ; /*^quasiblock*/ /*epilog*/ /*^clear*/ /*clear*/ /*_#MELT_NEED_DBG__L12*/ meltfnum[11] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V37*/ meltfptr[31] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*^block*/ /*anyblock*/ { { /*^locexp*/ /*void*/(void)0; } ; /*epilog*/ } #endif /*MELT_HAVE_DEBUG*/ ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6174:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.SGET__V29*/ meltfptr[28];; { MELT_LOCATION("warmelt-macro.melt:6174:/ locexp"); /*ochecknores compilobj_nrep_return*/ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results(); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG*/ ; } ; /*^finalreturn*/ ; /*finalret*/ goto meltlabend_rout ; /*_.LET___V21*/ meltfptr[19] = /*_.RETURN___V39*/ meltfptr[35];; MELT_LOCATION("warmelt-macro.melt:6148:/ clear"); /*clear*/ /*_.CONT__V22*/ meltfptr[5] = 0 ; /*^clear*/ /*clear*/ /*_.LOC__V23*/ meltfptr[18] = 0 ; /*^clear*/ /*clear*/ /*_.XARGTUP__V24*/ meltfptr[23] = 0 ; /*^clear*/ /*clear*/ /*_#NBARG__L8*/ meltfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_.ARG1__V25*/ meltfptr[24] = 0 ; /*^clear*/ /*clear*/ /*_.SPREDCLASSCONT__V26*/ meltfptr[25] = 0 ; /*^clear*/ /*clear*/ /*_.CLABIND__V28*/ meltfptr[27] = 0 ; /*^clear*/ /*clear*/ /*_.SGET__V29*/ meltfptr[28] = 0 ; /*^clear*/ /*clear*/ /*_.IFCPP___V31*/ meltfptr[30] = 0 ; /*^clear*/ /*clear*/ /*_#exeqI__L10*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V34*/ meltfptr[32] = 0 ; /*^clear*/ /*clear*/ /*_#NULL__L11*/ meltfnum[10] = 0 ; /*^clear*/ /*clear*/ /*_.RETURN___V39*/ meltfptr[35] = 0 ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6139:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.LET___V21*/ meltfptr[19];; { MELT_LOCATION("warmelt-macro.melt:6139:/ locexp"); /*ochecknores compilobj_nrep_return*/ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results(); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG*/ ; } ; /*^finalreturn*/ ; /*finalret*/ goto meltlabend_rout ; /*epilog*/ /*^clear*/ /*clear*/ /*_.IFCPP___V8*/ meltfptr[6] = 0 ; /*^clear*/ /*clear*/ /*_.IFCPP___V11*/ meltfptr[9] = 0 ; /*^clear*/ /*clear*/ /*_.IFCPP___V14*/ meltfptr[12] = 0 ; /*^clear*/ /*clear*/ /*_.IFCPP___V17*/ meltfptr[15] = 0 ; /*^clear*/ /*clear*/ /*_.LET___V21*/ meltfptr[19] = 0 ; } ; goto meltlabend_rout; meltlabend_rout: melt_trace_end("MEXPAND_DEREF", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_107_WARMELTmiMACRO_MEXPAND_DEREF_melt; return (melt_ptr_t)(/*_._RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_107_WARMELTmiMACRO_MEXPAND_DEREF*/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_108_WARMELTmiMACRO_MEXPANDOBSOLETE_CONTENT(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_) { long current_blocklevel_signals_meltrout_108_WARMELTmiMACRO_MEXPANDOBSOLETE_CONTENT_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long melt_call_counter__; long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__; #undef meltcallcount #define meltcallcount melt_thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1490 /* start of frame for routine meltrout_108_WARMELTmiMACRO_MEXPANDOBSOLETE_CONTENT fromline 1704 */ /** start of frame for meltrout_108_WARMELTmiMACRO_MEXPANDOBSOLETE_CONTENT of CLASS_PROCROUTINEOBJ from 1507**/ /*curframdeclclassy*/ class MeltFrame_meltrout_108_WARMELTmiMACRO_MEXPANDOBSOLETE_CONTENT// fromline 1520 : public Melt_CallFrameWithValues<12> { public: /* fromline 1524*/ long mcfr_varnum[3]; /*classy others*/ long _meltsparel; void melt_mark_stuff (void) { } /*end melt_mark_stuff*/ virtual void melt_mark_ggc_data (void) { melt_mark_values (); melt_mark_stuff (); }; /*end melt_mark_ggc_data*/ MeltFrame_meltrout_108_WARMELTmiMACRO_MEXPANDOBSOLETE_CONTENT(meltclosure_ptr_t clos) //the closure constructor fromline 1582 : Melt_CallFrameWithValues<12> ( #if ENABLE_CHECKING /*fromline 1586*/ __FILE__, __LINE__, #endif /* ENABLE_CHECKING fromline 1590*/ sizeof(MeltFrame_meltrout_108_WARMELTmiMACRO_MEXPANDOBSOLETE_CONTENT), clos) {}; MeltFrame_meltrout_108_WARMELTmiMACRO_MEXPANDOBSOLETE_CONTENT() //the constructor fromline 1594 : Melt_CallFrameWithValues<12> ( #if ENABLE_CHECKING /*fromline 1598*/ __FILE__, __LINE__, #endif /* ENABLE_CHECKING fromline 1602*/ sizeof(MeltFrame_meltrout_108_WARMELTmiMACRO_MEXPANDOBSOLETE_CONTENT)) {}; #if ENABLE_CHECKING /*fromline 1606*/ MeltFrame_meltrout_108_WARMELTmiMACRO_MEXPANDOBSOLETE_CONTENT(const char*fil, int lin) //the constructor fromline 1608 : Melt_CallFrameWithValues<12> (fil,lin, sizeof(MeltFrame_meltrout_108_WARMELTmiMACRO_MEXPANDOBSOLETE_CONTENT)) {}; MeltFrame_meltrout_108_WARMELTmiMACRO_MEXPANDOBSOLETE_CONTENT(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1613 : Melt_CallFrameWithValues<12> (fil,lin, sizeof(MeltFrame_meltrout_108_WARMELTmiMACRO_MEXPANDOBSOLETE_CONTENT), clos) {}; #endif /* ENABLE_CHECKING fromline 1618*/ }; // end class MeltFrame_meltrout_108_WARMELTmiMACRO_MEXPANDOBSOLETE_CONTENT /** end of frame for meltrout_108_WARMELTmiMACRO_MEXPANDOBSOLETE_CONTENT fromline 1649**/ /* end of frame for routine meltrout_108_WARMELTmiMACRO_MEXPANDOBSOLETE_CONTENT fromline 1708 */ /* classy proc frame meltrout_108_WARMELTmiMACRO_MEXPANDOBSOLETE_CONTENT */ MeltFrame_meltrout_108_WARMELTmiMACRO_MEXPANDOBSOLETE_CONTENT meltfram__ /*declfrastruct fromline 1732*/ /*classyprocarg meltrout_108_WARMELTmiMACRO_MEXPANDOBSOLETE_CONTENT fromline 1737*/ #if ENABLE_CHECKING (__FILE__, __LINE__, meltclosp_) /* fromline 1741*/ #else /*ENABLE_CHECKING */ (meltclosp_) /* fromline 1745*/ #endif /*ENABLE_CHECKING */ ; #define meltframe meltfram__ melt_trace_start("MEXPANDOBSOLETE_CONTENT", meltcallcount); /*use arguments*/ (void) meltclosp_; (void)meltfirstargp_; (void)meltxargdescr_; (void)meltxargtab_; (void)meltxresdescr_; (void)meltxrestab_; /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-macro.melt:6184:/ getarg"); /*_.SEXPR__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1*/ /*^getarg*/ if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_endgetargs; /*_.ENV__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2])) != NULL); /*getarg#2*/ /*^getarg*/ if (meltxargdescr_[1] != MELTBPAR_PTR) goto meltlab_endgetargs; /*_.MEXPANDER__V4*/ meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.MEXPANDER__V4*/ meltfptr[3])) != NULL); /*getarg#3*/ /*^getarg*/ if (meltxargdescr_[2] != MELTBPAR_PTR) goto meltlab_endgetargs; /*_.MODCTX__V5*/ meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.MODCTX__V5*/ meltfptr[4])) != NULL); ; goto meltlab_endgetargs; meltlab_endgetargs: ; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6185:/ cppif.then"); /*^block*/ /*anyblock*/ { { /*^locexp*/ /*melt_increment_dbgcounter*/ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL(); ; /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = /*MELT_NEED_DBG*/ #if MELT_HAVE_DEBUG (/*melt_need_dbg*/ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG*/ ;; MELT_LOCATION("warmelt-macro.melt:6185:/ cond"); /*cond*/ if (/*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { /*_#MELT_CALLCOUNT__L2*/ meltfnum[1] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6185:/ apply"); /*apply*/ { union meltparam_un argtab[5]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6185; /*^apply.arg*/ argtab[3].meltbp_cstring = "mexpandobsolete_content sexpr"; /*^apply.arg*/ argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.SEXPR__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V7*/ meltfptr[6] = melt_apply ((meltclosure_ptr_t)((/*!MELT_DEBUG_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IF___V6*/ meltfptr[5] = /*_.MELT_DEBUG_FUN__V7*/ meltfptr[6];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6185:/ clear"); /*clear*/ /*_#MELT_CALLCOUNT__L2*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_.MELT_DEBUG_FUN__V7*/ meltfptr[6] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V6*/ meltfptr[5] = /*reallynil*/ NULL ;; } ; { MELT_LOCATION("warmelt-macro.melt:6185:/ locexp"); /*void*/(void)0; } ; /*^quasiblock*/ /*epilog*/ /*^clear*/ /*clear*/ /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V6*/ meltfptr[5] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*^block*/ /*anyblock*/ { { /*^locexp*/ /*void*/(void)0; } ; /*epilog*/ } #endif /*MELT_HAVE_DEBUG*/ ; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6186:/ cppif.then"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*_#IS_A__L3*/ meltfnum[1] = melt_is_instance_of((melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_SEXPR*/ meltfrout->tabval[1])));; MELT_LOCATION("warmelt-macro.melt:6186:/ cond"); /*cond*/ if (/*_#IS_A__L3*/ meltfnum[1]) /*then*/ { /*^cond.then*/ /*_._IFELSE___V9*/ meltfptr[5] = (/*nil*/NULL);; } else { MELT_LOCATION("warmelt-macro.melt:6186:/ cond.else"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*^apply*/ /*apply*/ { union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_cstring = "check sexpr"; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6186; /*^apply.arg*/ argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.SEXPR__V2*/ meltfptr[1]; /*_.MELT_ASSERT_FAILURE_FUN__V10*/ meltfptr[9] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[2])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IFELSE___V9*/ meltfptr[5] = /*_.MELT_ASSERT_FAILURE_FUN__V10*/ meltfptr[9];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6186:/ clear"); /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V10*/ meltfptr[9] = 0 ; } ; } ; /*_.IFCPP___V8*/ meltfptr[6] = /*_._IFELSE___V9*/ meltfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6186:/ clear"); /*clear*/ /*_#IS_A__L3*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_._IFELSE___V9*/ meltfptr[5] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*_.IFCPP___V8*/ meltfptr[6] = (/*nil*/NULL); #endif /*MELT_HAVE_DEBUG*/ ; MELT_LOCATION("warmelt-macro.melt:6187:/ cond"); /*cond*/ if ( /*ifisa*/ melt_is_instance_of((melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_LOCATED*/ meltfrout->tabval[3]))) ) /*then*/ { /*^cond.then*/ /*^getslot*/ { melt_ptr_t slot=NULL, obj=NULL; obj = (melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/; melt_object_get_field(slot,obj, 1, "LOCA_LOCATION"); /*_.LOCA_LOCATION__V11*/ meltfptr[9] = slot; }; ; } else /*^cond.else*/ { /*_.LOCA_LOCATION__V11*/ meltfptr[9] = /*reallynil*/ NULL ;; } ; { MELT_LOCATION("warmelt-macro.melt:6187:/ locexp"); melt_warning_str(0, (melt_ptr_t)(/*_.LOCA_LOCATION__V11*/ meltfptr[9]), ( "obsolete use of CONTENT in expression; use DEREF instead"), (melt_ptr_t)0); } ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6189:/ apply"); /*apply*/ { union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_aptr = (melt_ptr_t*) &/*_.ENV__V3*/ meltfptr[2]; /*^apply.arg*/ argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.MEXPANDER__V4*/ meltfptr[3]; /*^apply.arg*/ argtab[2].meltbp_aptr = (melt_ptr_t*) &/*_.MODCTX__V5*/ meltfptr[4]; /*_.MEXPAND_DEREF__V12*/ meltfptr[5] = melt_apply ((meltclosure_ptr_t)((/*!MEXPAND_DEREF*/ meltfrout->tabval[4])), (melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6184:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.MEXPAND_DEREF__V12*/ meltfptr[5];; { MELT_LOCATION("warmelt-macro.melt:6184:/ locexp"); /*ochecknores compilobj_nrep_return*/ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results(); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG*/ ; } ; /*^finalreturn*/ ; /*finalret*/ goto meltlabend_rout ; /*epilog*/ /*^clear*/ /*clear*/ /*_.IFCPP___V8*/ meltfptr[6] = 0 ; /*^clear*/ /*clear*/ /*_.LOCA_LOCATION__V11*/ meltfptr[9] = 0 ; /*^clear*/ /*clear*/ /*_.MEXPAND_DEREF__V12*/ meltfptr[5] = 0 ; } ; goto meltlabend_rout; meltlabend_rout: melt_trace_end("MEXPANDOBSOLETE_CONTENT", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_108_WARMELTmiMACRO_MEXPANDOBSOLETE_CONTENT_melt; return (melt_ptr_t)(/*_._RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_108_WARMELTmiMACRO_MEXPANDOBSOLETE_CONTENT*/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_109_WARMELTmiMACRO_MEXPAND_SET_REF(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_) { long current_blocklevel_signals_meltrout_109_WARMELTmiMACRO_MEXPAND_SET_REF_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long melt_call_counter__; long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__; #undef meltcallcount #define meltcallcount melt_thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1490 /* start of frame for routine meltrout_109_WARMELTmiMACRO_MEXPAND_SET_REF fromline 1704 */ /** start of frame for meltrout_109_WARMELTmiMACRO_MEXPAND_SET_REF of CLASS_PROCROUTINEOBJ from 1507**/ /*curframdeclclassy*/ class MeltFrame_meltrout_109_WARMELTmiMACRO_MEXPAND_SET_REF// fromline 1520 : public Melt_CallFrameWithValues<44> { public: /* fromline 1524*/ long mcfr_varnum[13]; /*classy others*/ long _meltsparel; void melt_mark_stuff (void) { } /*end melt_mark_stuff*/ virtual void melt_mark_ggc_data (void) { melt_mark_values (); melt_mark_stuff (); }; /*end melt_mark_ggc_data*/ MeltFrame_meltrout_109_WARMELTmiMACRO_MEXPAND_SET_REF(meltclosure_ptr_t clos) //the closure constructor fromline 1582 : Melt_CallFrameWithValues<44> ( #if ENABLE_CHECKING /*fromline 1586*/ __FILE__, __LINE__, #endif /* ENABLE_CHECKING fromline 1590*/ sizeof(MeltFrame_meltrout_109_WARMELTmiMACRO_MEXPAND_SET_REF), clos) {}; MeltFrame_meltrout_109_WARMELTmiMACRO_MEXPAND_SET_REF() //the constructor fromline 1594 : Melt_CallFrameWithValues<44> ( #if ENABLE_CHECKING /*fromline 1598*/ __FILE__, __LINE__, #endif /* ENABLE_CHECKING fromline 1602*/ sizeof(MeltFrame_meltrout_109_WARMELTmiMACRO_MEXPAND_SET_REF)) {}; #if ENABLE_CHECKING /*fromline 1606*/ MeltFrame_meltrout_109_WARMELTmiMACRO_MEXPAND_SET_REF(const char*fil, int lin) //the constructor fromline 1608 : Melt_CallFrameWithValues<44> (fil,lin, sizeof(MeltFrame_meltrout_109_WARMELTmiMACRO_MEXPAND_SET_REF)) {}; MeltFrame_meltrout_109_WARMELTmiMACRO_MEXPAND_SET_REF(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1613 : Melt_CallFrameWithValues<44> (fil,lin, sizeof(MeltFrame_meltrout_109_WARMELTmiMACRO_MEXPAND_SET_REF), clos) {}; #endif /* ENABLE_CHECKING fromline 1618*/ }; // end class MeltFrame_meltrout_109_WARMELTmiMACRO_MEXPAND_SET_REF /** end of frame for meltrout_109_WARMELTmiMACRO_MEXPAND_SET_REF fromline 1649**/ /* end of frame for routine meltrout_109_WARMELTmiMACRO_MEXPAND_SET_REF fromline 1708 */ /* classy proc frame meltrout_109_WARMELTmiMACRO_MEXPAND_SET_REF */ MeltFrame_meltrout_109_WARMELTmiMACRO_MEXPAND_SET_REF meltfram__ /*declfrastruct fromline 1732*/ /*classyprocarg meltrout_109_WARMELTmiMACRO_MEXPAND_SET_REF fromline 1737*/ #if ENABLE_CHECKING (__FILE__, __LINE__, meltclosp_) /* fromline 1741*/ #else /*ENABLE_CHECKING */ (meltclosp_) /* fromline 1745*/ #endif /*ENABLE_CHECKING */ ; #define meltframe meltfram__ melt_trace_start("MEXPAND_SET_REF", meltcallcount); /*use arguments*/ (void) meltclosp_; (void)meltfirstargp_; (void)meltxargdescr_; (void)meltxargtab_; (void)meltxresdescr_; (void)meltxrestab_; /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-macro.melt:6206:/ getarg"); /*_.SEXPR__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1*/ /*^getarg*/ if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_endgetargs; /*_.ENV__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2])) != NULL); /*getarg#2*/ /*^getarg*/ if (meltxargdescr_[1] != MELTBPAR_PTR) goto meltlab_endgetargs; /*_.MEXPANDER__V4*/ meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.MEXPANDER__V4*/ meltfptr[3])) != NULL); /*getarg#3*/ /*^getarg*/ if (meltxargdescr_[2] != MELTBPAR_PTR) goto meltlab_endgetargs; /*_.MODCTX__V5*/ meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.MODCTX__V5*/ meltfptr[4])) != NULL); ; goto meltlab_endgetargs; meltlab_endgetargs: ; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6207:/ cppif.then"); /*^block*/ /*anyblock*/ { { /*^locexp*/ /*melt_increment_dbgcounter*/ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL(); ; /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = /*MELT_NEED_DBG*/ #if MELT_HAVE_DEBUG (/*melt_need_dbg*/ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG*/ ;; MELT_LOCATION("warmelt-macro.melt:6207:/ cond"); /*cond*/ if (/*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { /*_#MELT_CALLCOUNT__L2*/ meltfnum[1] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6207:/ apply"); /*apply*/ { union meltparam_un argtab[5]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6207; /*^apply.arg*/ argtab[3].meltbp_cstring = "mexpand_set_ref sexpr="; /*^apply.arg*/ argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.SEXPR__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V7*/ meltfptr[6] = melt_apply ((meltclosure_ptr_t)((/*!MELT_DEBUG_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IF___V6*/ meltfptr[5] = /*_.MELT_DEBUG_FUN__V7*/ meltfptr[6];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6207:/ clear"); /*clear*/ /*_#MELT_CALLCOUNT__L2*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_.MELT_DEBUG_FUN__V7*/ meltfptr[6] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V6*/ meltfptr[5] = /*reallynil*/ NULL ;; } ; { MELT_LOCATION("warmelt-macro.melt:6207:/ locexp"); /*void*/(void)0; } ; /*^quasiblock*/ /*epilog*/ /*^clear*/ /*clear*/ /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V6*/ meltfptr[5] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*^block*/ /*anyblock*/ { { /*^locexp*/ /*void*/(void)0; } ; /*epilog*/ } #endif /*MELT_HAVE_DEBUG*/ ; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6208:/ cppif.then"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*_#IS_A__L3*/ meltfnum[1] = melt_is_instance_of((melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_SEXPR*/ meltfrout->tabval[1])));; MELT_LOCATION("warmelt-macro.melt:6208:/ cond"); /*cond*/ if (/*_#IS_A__L3*/ meltfnum[1]) /*then*/ { /*^cond.then*/ /*_._IFELSE___V9*/ meltfptr[5] = (/*nil*/NULL);; } else { MELT_LOCATION("warmelt-macro.melt:6208:/ cond.else"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*^apply*/ /*apply*/ { union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_cstring = "check sexpr"; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6208; /*^apply.arg*/ argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.SEXPR__V2*/ meltfptr[1]; /*_.MELT_ASSERT_FAILURE_FUN__V10*/ meltfptr[9] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[2])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IFELSE___V9*/ meltfptr[5] = /*_.MELT_ASSERT_FAILURE_FUN__V10*/ meltfptr[9];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6208:/ clear"); /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V10*/ meltfptr[9] = 0 ; } ; } ; /*_.IFCPP___V8*/ meltfptr[6] = /*_._IFELSE___V9*/ meltfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6208:/ clear"); /*clear*/ /*_#IS_A__L3*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_._IFELSE___V9*/ meltfptr[5] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*_.IFCPP___V8*/ meltfptr[6] = (/*nil*/NULL); #endif /*MELT_HAVE_DEBUG*/ ; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6209:/ cppif.then"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*_#IS_A__L4*/ meltfnum[0] = melt_is_instance_of((melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2]), (melt_ptr_t)((/*!CLASS_ENVIRONMENT*/ meltfrout->tabval[3])));; MELT_LOCATION("warmelt-macro.melt:6209:/ cond"); /*cond*/ if (/*_#IS_A__L4*/ meltfnum[0]) /*then*/ { /*^cond.then*/ /*_._IFELSE___V12*/ meltfptr[5] = (/*nil*/NULL);; } else { MELT_LOCATION("warmelt-macro.melt:6209:/ cond.else"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*^apply*/ /*apply*/ { union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_cstring = "check env"; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6209; /*^apply.arg*/ argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.ENV__V3*/ meltfptr[2]; /*_.MELT_ASSERT_FAILURE_FUN__V13*/ meltfptr[12] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[2])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IFELSE___V12*/ meltfptr[5] = /*_.MELT_ASSERT_FAILURE_FUN__V13*/ meltfptr[12];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6209:/ clear"); /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V13*/ meltfptr[12] = 0 ; } ; } ; /*_.IFCPP___V11*/ meltfptr[9] = /*_._IFELSE___V12*/ meltfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6209:/ clear"); /*clear*/ /*_#IS_A__L4*/ meltfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_._IFELSE___V12*/ meltfptr[5] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*_.IFCPP___V11*/ meltfptr[9] = (/*nil*/NULL); #endif /*MELT_HAVE_DEBUG*/ ; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6210:/ cppif.then"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*_#IS_OBJECT__L5*/ meltfnum[1] = (melt_magic_discr((melt_ptr_t)(/*_.MODCTX__V5*/ meltfptr[4])) == MELTOBMAG_OBJECT);; MELT_LOCATION("warmelt-macro.melt:6210:/ cond"); /*cond*/ if (/*_#IS_OBJECT__L5*/ meltfnum[1]) /*then*/ { /*^cond.then*/ /*_._IFELSE___V15*/ meltfptr[5] = (/*nil*/NULL);; } else { MELT_LOCATION("warmelt-macro.melt:6210:/ cond.else"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*^apply*/ /*apply*/ { union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_cstring = "check modctx"; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6210; /*^apply.arg*/ argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.MODCTX__V5*/ meltfptr[4]; /*_.MELT_ASSERT_FAILURE_FUN__V16*/ meltfptr[15] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[2])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IFELSE___V15*/ meltfptr[5] = /*_.MELT_ASSERT_FAILURE_FUN__V16*/ meltfptr[15];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6210:/ clear"); /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V16*/ meltfptr[15] = 0 ; } ; } ; /*_.IFCPP___V14*/ meltfptr[12] = /*_._IFELSE___V15*/ meltfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6210:/ clear"); /*clear*/ /*_#IS_OBJECT__L5*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_._IFELSE___V15*/ meltfptr[5] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*_.IFCPP___V14*/ meltfptr[12] = (/*nil*/NULL); #endif /*MELT_HAVE_DEBUG*/ ; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6211:/ cppif.then"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6213:/ cond"); /*cond*/ if ( /*ifisa*/ melt_is_instance_of((melt_ptr_t)((/*!CLASS_REFERENCE*/ meltfrout->tabval[4])), (melt_ptr_t)((/*!CLASS_CLASS*/ meltfrout->tabval[5]))) ) /*then*/ { /*^cond.then*/ /*^getslot*/ { melt_ptr_t slot=NULL, obj=NULL; obj = (melt_ptr_t)((/*!CLASS_REFERENCE*/ meltfrout->tabval[4])) /*=obj*/; melt_object_get_field(slot,obj, 6, "CLASS_FIELDS"); /*_.CLASS_FIELDS__V18*/ meltfptr[5] = slot; }; ; } else /*^cond.else*/ { /*_.CLASS_FIELDS__V18*/ meltfptr[5] = /*reallynil*/ NULL ;; } ; /*^compute*/ /*_#MULTIPLE_LENGTH__L6*/ meltfnum[0] = (melt_multiple_length((melt_ptr_t)(/*_.CLASS_FIELDS__V18*/ meltfptr[5])));; /*^compute*/ /*_#eqeqI__L7*/ meltfnum[1] = ((1) == (/*_#MULTIPLE_LENGTH__L6*/ meltfnum[0]));; MELT_LOCATION("warmelt-macro.melt:6211:/ cond"); /*cond*/ if (/*_#eqeqI__L7*/ meltfnum[1]) /*then*/ { /*^cond.then*/ /*_._IFELSE___V19*/ meltfptr[18] = (/*nil*/NULL);; } else { MELT_LOCATION("warmelt-macro.melt:6211:/ cond.else"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*^apply*/ /*apply*/ { union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_cstring = "check class_reference has one field"; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6211; /*^apply.arg*/ argtab[3].meltbp_aptr = (melt_ptr_t*) &(/*!CLASS_REFERENCE*/ meltfrout->tabval[4]); /*_.MELT_ASSERT_FAILURE_FUN__V20*/ meltfptr[19] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[2])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IFELSE___V19*/ meltfptr[18] = /*_.MELT_ASSERT_FAILURE_FUN__V20*/ meltfptr[19];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6211:/ clear"); /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V20*/ meltfptr[19] = 0 ; } ; } ; /*_.IFCPP___V17*/ meltfptr[15] = /*_._IFELSE___V19*/ meltfptr[18];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6211:/ clear"); /*clear*/ /*_.CLASS_FIELDS__V18*/ meltfptr[5] = 0 ; /*^clear*/ /*clear*/ /*_#MULTIPLE_LENGTH__L6*/ meltfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_#eqeqI__L7*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_._IFELSE___V19*/ meltfptr[18] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*_.IFCPP___V17*/ meltfptr[15] = (/*nil*/NULL); #endif /*MELT_HAVE_DEBUG*/ ; MELT_LOCATION("warmelt-macro.melt:6215:/ quasiblock"); MELT_LOCATION("warmelt-macro.melt:6216:/ getslot"); { melt_ptr_t slot=NULL, obj=NULL; obj = (melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/; melt_object_get_field(slot,obj, 2, "SEXP_CONTENTS"); /*_.CONT__V22*/ meltfptr[5] = slot; }; ; MELT_LOCATION("warmelt-macro.melt:6217:/ getslot"); { melt_ptr_t slot=NULL, obj=NULL; obj = (melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/; melt_object_get_field(slot,obj, 1, "LOCA_LOCATION"); /*_.LOC__V23*/ meltfptr[18] = slot; }; ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6218:/ apply"); /*apply*/ { union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_aptr = (melt_ptr_t*) &/*_.ENV__V3*/ meltfptr[2]; /*^apply.arg*/ argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.MEXPANDER__V4*/ meltfptr[3]; /*^apply.arg*/ argtab[2].meltbp_aptr = (melt_ptr_t*) &/*_.MODCTX__V5*/ meltfptr[4]; /*_.XARGTUP__V24*/ meltfptr[23] = melt_apply ((meltclosure_ptr_t)((/*!EXPAND_RESTLIST_AS_TUPLE*/ meltfrout->tabval[6])), (melt_ptr_t)(/*_.CONT__V22*/ meltfptr[5]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_#NBARG__L8*/ meltfnum[0] = (melt_multiple_length((melt_ptr_t)(/*_.XARGTUP__V24*/ meltfptr[23])));; /*^compute*/ /*_.ARG1__V25*/ meltfptr[24] = (melt_multiple_nth((melt_ptr_t)(/*_.XARGTUP__V24*/ meltfptr[23]), (0)));; /*^compute*/ /*_.ARG2__V26*/ meltfptr[25] = (melt_multiple_nth((melt_ptr_t)(/*_.XARGTUP__V24*/ meltfptr[23]), (1)));; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6222:/ quasiblock"); /*^rawallocobj*/ /*rawallocobj*/ { melt_ptr_t newobj = 0; melt_raw_object_create(newobj,(melt_ptr_t)((/*!CLASS_SOURCE_FETCH_PREDEFINED*/ meltfrout->tabval[7])), (3), "CLASS_SOURCE_FETCH_PREDEFINED"); /*_.INST__V28*/ meltfptr[27] = newobj; }; ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @LOCA_LOCATION", melt_magic_discr((melt_ptr_t)(/*_.INST__V28*/ meltfptr[27])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V28*/ meltfptr[27]), (1), (/*_.LOC__V23*/ meltfptr[18]), "LOCA_LOCATION"); ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @SFEPD_PREDEF", melt_magic_discr((melt_ptr_t)(/*_.INST__V28*/ meltfptr[27])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V28*/ meltfptr[27]), (2), ((/*!konst_8_CLASS_REFERENCE*/ meltfrout->tabval[8])), "SFEPD_PREDEF"); ; /*^touchobj*/ melt_dbgtrace_written_object (/*_.INST__V28*/ meltfptr[27], "newly made instance"); ; /*_.SPREDCLASSCONT__V27*/ meltfptr[26] = /*_.INST__V28*/ meltfptr[27];; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6225:/ apply"); /*apply*/ { union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_aptr = (melt_ptr_t*) &(/*!konst_8_CLASS_REFERENCE*/ meltfrout->tabval[8]); /*_.CLABIND__V29*/ meltfptr[28] = melt_apply ((meltclosure_ptr_t)((/*!FIND_ENV*/ meltfrout->tabval[9])), (melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6226:/ quasiblock"); /*^rawallocobj*/ /*rawallocobj*/ { melt_ptr_t newobj = 0; melt_raw_object_create(newobj,(melt_ptr_t)((/*!CLASS_SOURCE_FIELDASSIGN*/ meltfrout->tabval[11])), (4), "CLASS_SOURCE_FIELDASSIGN"); /*_.INST__V31*/ meltfptr[30] = newobj; }; ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @LOCA_LOCATION", melt_magic_discr((melt_ptr_t)(/*_.INST__V31*/ meltfptr[30])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V31*/ meltfptr[30]), (1), (/*_.LOC__V23*/ meltfptr[18]), "LOCA_LOCATION"); ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @SFLA_FIELD", melt_magic_discr((melt_ptr_t)(/*_.INST__V31*/ meltfptr[30])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V31*/ meltfptr[30]), (2), ((/*!REFERENCED_VALUE*/ meltfrout->tabval[12])), "SFLA_FIELD"); ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @SFLA_EXPR", melt_magic_discr((melt_ptr_t)(/*_.INST__V31*/ meltfptr[30])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V31*/ meltfptr[30]), (3), (/*_.ARG2__V26*/ meltfptr[25]), "SFLA_EXPR"); ; /*^touchobj*/ melt_dbgtrace_written_object (/*_.INST__V31*/ meltfptr[30], "newly made instance"); ; /*_.INST___V30*/ meltfptr[29] = /*_.INST__V31*/ meltfptr[30];; MELT_LOCATION("warmelt-macro.melt:6226:/ blockmultialloc"); /*multiallocblock*/ { struct meltletrec_1_st { struct MELT_MULTIPLE_STRUCT(1) rtup_0__TUPLREC__x8; long meltletrec_1_endgap; } *meltletrec_1_ptr = 0; meltletrec_1_ptr = (struct meltletrec_1_st *) meltgc_allocate (sizeof (struct meltletrec_1_st), 0); /*^blockmultialloc.initfill*/ /*inimult rtup_0__TUPLREC__x8*/ /*_.TUPLREC___V33*/ meltfptr[32] = (melt_ptr_t) &meltletrec_1_ptr->rtup_0__TUPLREC__x8; meltletrec_1_ptr->rtup_0__TUPLREC__x8.discr = (meltobject_ptr_t)(((melt_ptr_t)(MELT_PREDEF(DISCR_MULTIPLE)))); meltletrec_1_ptr->rtup_0__TUPLREC__x8.nbval = 1; /*^putuple*/ /*putupl#11*/ melt_assertmsg("putupl [:6226] #11 checktup", melt_magic_discr((melt_ptr_t)(/*_.TUPLREC___V33*/ meltfptr[32]))== MELTOBMAG_MULTIPLE); melt_assertmsg("putupl [:6226] #11 checkoff", (0>=0 && 0< melt_multiple_length((melt_ptr_t)(/*_.TUPLREC___V33*/ meltfptr[32])))); ((meltmultiple_ptr_t)(/*_.TUPLREC___V33*/ meltfptr[32]))->tabval[0] = (melt_ptr_t)(/*_.INST___V30*/ meltfptr[29]); ; /*^touch*/ meltgc_touch(/*_.TUPLREC___V33*/ meltfptr[32]); ; /*_.PUTUP__V32*/ meltfptr[31] = /*_.TUPLREC___V33*/ meltfptr[32];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6226:/ clear"); /*clear*/ /*_.TUPLREC___V33*/ meltfptr[32] = 0 ; /*^clear*/ /*clear*/ /*_.TUPLREC___V33*/ meltfptr[32] = 0 ; } /*end multiallocblock*/ ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6232:/ quasiblock"); /*^rawallocobj*/ /*rawallocobj*/ { melt_ptr_t newobj = 0; melt_raw_object_create(newobj,(melt_ptr_t)((/*!CLASS_SOURCE_PUT_FIELDS*/ meltfrout->tabval[13])), (4), "CLASS_SOURCE_PUT_FIELDS"); /*_.INST__V35*/ meltfptr[34] = newobj; }; ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @LOCA_LOCATION", melt_magic_discr((melt_ptr_t)(/*_.INST__V35*/ meltfptr[34])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V35*/ meltfptr[34]), (1), (/*_.LOC__V23*/ meltfptr[18]), "LOCA_LOCATION"); ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @SUPUT_OBJ", melt_magic_discr((melt_ptr_t)(/*_.INST__V35*/ meltfptr[34])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V35*/ meltfptr[34]), (2), (/*_.ARG1__V25*/ meltfptr[24]), "SUPUT_OBJ"); ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @SUPUT_FIELDS", melt_magic_discr((melt_ptr_t)(/*_.INST__V35*/ meltfptr[34])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V35*/ meltfptr[34]), (3), (/*_.PUTUP__V32*/ meltfptr[31]), "SUPUT_FIELDS"); ; /*^touchobj*/ melt_dbgtrace_written_object (/*_.INST__V35*/ meltfptr[34], "newly made instance"); ; /*_.SPUT__V34*/ meltfptr[32] = /*_.INST__V35*/ meltfptr[34];; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6238:/ cppif.then"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*_#IS_A__L9*/ meltfnum[1] = melt_is_instance_of((melt_ptr_t)((/*!REFERENCED_VALUE*/ meltfrout->tabval[12])), (melt_ptr_t)((/*!CLASS_FIELD*/ meltfrout->tabval[14])));; MELT_LOCATION("warmelt-macro.melt:6238:/ cond"); /*cond*/ if (/*_#IS_A__L9*/ meltfnum[1]) /*then*/ { /*^cond.then*/ /*_._IFELSE___V37*/ meltfptr[36] = (/*nil*/NULL);; } else { MELT_LOCATION("warmelt-macro.melt:6238:/ cond.else"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*^apply*/ /*apply*/ { union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_cstring = "check referenced_value"; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6238; /*^apply.arg*/ argtab[3].meltbp_aptr = (melt_ptr_t*) &(/*!REFERENCED_VALUE*/ meltfrout->tabval[12]); /*_.MELT_ASSERT_FAILURE_FUN__V38*/ meltfptr[37] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[2])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IFELSE___V37*/ meltfptr[36] = /*_.MELT_ASSERT_FAILURE_FUN__V38*/ meltfptr[37];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6238:/ clear"); /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V38*/ meltfptr[37] = 0 ; } ; } ; /*_.IFCPP___V36*/ meltfptr[35] = /*_._IFELSE___V37*/ meltfptr[36];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6238:/ clear"); /*clear*/ /*_#IS_A__L9*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_._IFELSE___V37*/ meltfptr[36] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*_.IFCPP___V36*/ meltfptr[35] = (/*nil*/NULL); #endif /*MELT_HAVE_DEBUG*/ ; MELT_CHECK_SIGNAL(); ; /*^compute*/ /*_#exeqI__L10*/ meltfnum[1] = ((/*_#NBARG__L8*/ meltfnum[0]) != (2));; MELT_LOCATION("warmelt-macro.melt:6239:/ cond"); /*cond*/ if (/*_#exeqI__L10*/ meltfnum[1]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { { MELT_LOCATION("warmelt-macro.melt:6241:/ locexp"); /* error_plain */ melt_error_str((melt_ptr_t)(/*_.LOC__V23*/ meltfptr[18]), ( "(SET_REF ) needs exactly two arguments"), (melt_ptr_t)0); } ; MELT_LOCATION("warmelt-macro.melt:6242:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*reallynil*/ NULL ;; { MELT_LOCATION("warmelt-macro.melt:6242:/ locexp"); /*ochecknores compilobj_nrep_return*/ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results(); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG*/ ; } ; /*^finalreturn*/ ; /*finalret*/ goto meltlabend_rout ; MELT_LOCATION("warmelt-macro.melt:6240:/ quasiblock"); /*_.PROGN___V41*/ meltfptr[40] = /*_.RETURN___V40*/ meltfptr[36];; /*^compute*/ /*_._IF___V39*/ meltfptr[37] = /*_.PROGN___V41*/ meltfptr[40];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6239:/ clear"); /*clear*/ /*_.RETURN___V40*/ meltfptr[36] = 0 ; /*^clear*/ /*clear*/ /*_.PROGN___V41*/ meltfptr[40] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V39*/ meltfptr[37] = /*reallynil*/ NULL ;; } ; MELT_CHECK_SIGNAL(); ; /*^compute*/ /*_#NULL__L11*/ meltfnum[10] = ((/*_.CLABIND__V29*/ meltfptr[28]) == NULL);; MELT_LOCATION("warmelt-macro.melt:6245:/ cond"); /*cond*/ if (/*_#NULL__L11*/ meltfnum[10]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { { MELT_LOCATION("warmelt-macro.melt:6246:/ locexp"); melt_warning_str(0, (melt_ptr_t)(/*_.LOC__V23*/ meltfptr[18]), ( "(SET_REF ) where CLASS_REFERENCE is not visible"), (melt_ptr_t)0); } ; /*epilog*/ } ; } /*noelse*/ ; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6247:/ cppif.then"); /*^block*/ /*anyblock*/ { { /*^locexp*/ /*melt_increment_dbgcounter*/ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL(); ; /*_#MELT_NEED_DBG__L12*/ meltfnum[11] = /*MELT_NEED_DBG*/ #if MELT_HAVE_DEBUG (/*melt_need_dbg*/ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG*/ ;; MELT_LOCATION("warmelt-macro.melt:6247:/ cond"); /*cond*/ if (/*_#MELT_NEED_DBG__L12*/ meltfnum[11]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { /*_#MELT_CALLCOUNT__L13*/ meltfnum[12] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6247:/ apply"); /*apply*/ { union meltparam_un argtab[5]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L13*/ meltfnum[12]; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6247; /*^apply.arg*/ argtab[3].meltbp_cstring = "mexpand_set_ref returns sput"; /*^apply.arg*/ argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.SPUT__V34*/ meltfptr[32]; /*_.MELT_DEBUG_FUN__V43*/ meltfptr[40] = melt_apply ((meltclosure_ptr_t)((/*!MELT_DEBUG_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IF___V42*/ meltfptr[36] = /*_.MELT_DEBUG_FUN__V43*/ meltfptr[40];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6247:/ clear"); /*clear*/ /*_#MELT_CALLCOUNT__L13*/ meltfnum[12] = 0 ; /*^clear*/ /*clear*/ /*_.MELT_DEBUG_FUN__V43*/ meltfptr[40] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V42*/ meltfptr[36] = /*reallynil*/ NULL ;; } ; { MELT_LOCATION("warmelt-macro.melt:6247:/ locexp"); /*void*/(void)0; } ; /*^quasiblock*/ /*epilog*/ /*^clear*/ /*clear*/ /*_#MELT_NEED_DBG__L12*/ meltfnum[11] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V42*/ meltfptr[36] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*^block*/ /*anyblock*/ { { /*^locexp*/ /*void*/(void)0; } ; /*epilog*/ } #endif /*MELT_HAVE_DEBUG*/ ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6248:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.SPUT__V34*/ meltfptr[32];; { MELT_LOCATION("warmelt-macro.melt:6248:/ locexp"); /*ochecknores compilobj_nrep_return*/ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results(); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG*/ ; } ; /*^finalreturn*/ ; /*finalret*/ goto meltlabend_rout ; /*_.LET___V21*/ meltfptr[19] = /*_.RETURN___V44*/ meltfptr[40];; MELT_LOCATION("warmelt-macro.melt:6215:/ clear"); /*clear*/ /*_.CONT__V22*/ meltfptr[5] = 0 ; /*^clear*/ /*clear*/ /*_.LOC__V23*/ meltfptr[18] = 0 ; /*^clear*/ /*clear*/ /*_.XARGTUP__V24*/ meltfptr[23] = 0 ; /*^clear*/ /*clear*/ /*_#NBARG__L8*/ meltfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_.ARG1__V25*/ meltfptr[24] = 0 ; /*^clear*/ /*clear*/ /*_.ARG2__V26*/ meltfptr[25] = 0 ; /*^clear*/ /*clear*/ /*_.SPREDCLASSCONT__V27*/ meltfptr[26] = 0 ; /*^clear*/ /*clear*/ /*_.CLABIND__V29*/ meltfptr[28] = 0 ; /*^clear*/ /*clear*/ /*_.INST___V30*/ meltfptr[29] = 0 ; /*^clear*/ /*clear*/ /*_.PUTUP__V32*/ meltfptr[31] = 0 ; /*^clear*/ /*clear*/ /*_.SPUT__V34*/ meltfptr[32] = 0 ; /*^clear*/ /*clear*/ /*_.IFCPP___V36*/ meltfptr[35] = 0 ; /*^clear*/ /*clear*/ /*_#exeqI__L10*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V39*/ meltfptr[37] = 0 ; /*^clear*/ /*clear*/ /*_#NULL__L11*/ meltfnum[10] = 0 ; /*^clear*/ /*clear*/ /*_.RETURN___V44*/ meltfptr[40] = 0 ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6206:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.LET___V21*/ meltfptr[19];; { MELT_LOCATION("warmelt-macro.melt:6206:/ locexp"); /*ochecknores compilobj_nrep_return*/ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results(); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG*/ ; } ; /*^finalreturn*/ ; /*finalret*/ goto meltlabend_rout ; /*epilog*/ /*^clear*/ /*clear*/ /*_.IFCPP___V8*/ meltfptr[6] = 0 ; /*^clear*/ /*clear*/ /*_.IFCPP___V11*/ meltfptr[9] = 0 ; /*^clear*/ /*clear*/ /*_.IFCPP___V14*/ meltfptr[12] = 0 ; /*^clear*/ /*clear*/ /*_.IFCPP___V17*/ meltfptr[15] = 0 ; /*^clear*/ /*clear*/ /*_.LET___V21*/ meltfptr[19] = 0 ; } ; goto meltlabend_rout; meltlabend_rout: melt_trace_end("MEXPAND_SET_REF", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_109_WARMELTmiMACRO_MEXPAND_SET_REF_melt; return (melt_ptr_t)(/*_._RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_109_WARMELTmiMACRO_MEXPAND_SET_REF*/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_110_WARMELTmiMACRO_MEXPAND_PLUS(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_) { long current_blocklevel_signals_meltrout_110_WARMELTmiMACRO_MEXPAND_PLUS_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long melt_call_counter__; long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__; #undef meltcallcount #define meltcallcount melt_thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1490 /* start of frame for routine meltrout_110_WARMELTmiMACRO_MEXPAND_PLUS fromline 1704 */ /** start of frame for meltrout_110_WARMELTmiMACRO_MEXPAND_PLUS of CLASS_PROCROUTINEOBJ from 1507**/ /*curframdeclclassy*/ class MeltFrame_meltrout_110_WARMELTmiMACRO_MEXPAND_PLUS// fromline 1520 : public Melt_CallFrameWithValues<25> { public: /* fromline 1524*/ long mcfr_varnum[8]; /*classy others*/ long _meltsparel; void melt_mark_stuff (void) { } /*end melt_mark_stuff*/ virtual void melt_mark_ggc_data (void) { melt_mark_values (); melt_mark_stuff (); }; /*end melt_mark_ggc_data*/ MeltFrame_meltrout_110_WARMELTmiMACRO_MEXPAND_PLUS(meltclosure_ptr_t clos) //the closure constructor fromline 1582 : Melt_CallFrameWithValues<25> ( #if ENABLE_CHECKING /*fromline 1586*/ __FILE__, __LINE__, #endif /* ENABLE_CHECKING fromline 1590*/ sizeof(MeltFrame_meltrout_110_WARMELTmiMACRO_MEXPAND_PLUS), clos) {}; MeltFrame_meltrout_110_WARMELTmiMACRO_MEXPAND_PLUS() //the constructor fromline 1594 : Melt_CallFrameWithValues<25> ( #if ENABLE_CHECKING /*fromline 1598*/ __FILE__, __LINE__, #endif /* ENABLE_CHECKING fromline 1602*/ sizeof(MeltFrame_meltrout_110_WARMELTmiMACRO_MEXPAND_PLUS)) {}; #if ENABLE_CHECKING /*fromline 1606*/ MeltFrame_meltrout_110_WARMELTmiMACRO_MEXPAND_PLUS(const char*fil, int lin) //the constructor fromline 1608 : Melt_CallFrameWithValues<25> (fil,lin, sizeof(MeltFrame_meltrout_110_WARMELTmiMACRO_MEXPAND_PLUS)) {}; MeltFrame_meltrout_110_WARMELTmiMACRO_MEXPAND_PLUS(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1613 : Melt_CallFrameWithValues<25> (fil,lin, sizeof(MeltFrame_meltrout_110_WARMELTmiMACRO_MEXPAND_PLUS), clos) {}; #endif /* ENABLE_CHECKING fromline 1618*/ }; // end class MeltFrame_meltrout_110_WARMELTmiMACRO_MEXPAND_PLUS /** end of frame for meltrout_110_WARMELTmiMACRO_MEXPAND_PLUS fromline 1649**/ /* end of frame for routine meltrout_110_WARMELTmiMACRO_MEXPAND_PLUS fromline 1708 */ /* classy proc frame meltrout_110_WARMELTmiMACRO_MEXPAND_PLUS */ MeltFrame_meltrout_110_WARMELTmiMACRO_MEXPAND_PLUS meltfram__ /*declfrastruct fromline 1732*/ /*classyprocarg meltrout_110_WARMELTmiMACRO_MEXPAND_PLUS fromline 1737*/ #if ENABLE_CHECKING (__FILE__, __LINE__, meltclosp_) /* fromline 1741*/ #else /*ENABLE_CHECKING */ (meltclosp_) /* fromline 1745*/ #endif /*ENABLE_CHECKING */ ; #define meltframe meltfram__ melt_trace_start("MEXPAND_PLUS", meltcallcount); /*use arguments*/ (void) meltclosp_; (void)meltfirstargp_; (void)meltxargdescr_; (void)meltxargtab_; (void)meltxresdescr_; (void)meltxrestab_; /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-macro.melt:6259:/ getarg"); /*_.SEXPR__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1*/ /*^getarg*/ if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_endgetargs; /*_.ENV__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2])) != NULL); /*getarg#2*/ /*^getarg*/ if (meltxargdescr_[1] != MELTBPAR_PTR) goto meltlab_endgetargs; /*_.MEXPANDER__V4*/ meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.MEXPANDER__V4*/ meltfptr[3])) != NULL); /*getarg#3*/ /*^getarg*/ if (meltxargdescr_[2] != MELTBPAR_PTR) goto meltlab_endgetargs; /*_.MODCTX__V5*/ meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.MODCTX__V5*/ meltfptr[4])) != NULL); ; goto meltlab_endgetargs; meltlab_endgetargs: ; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6260:/ cppif.then"); /*^block*/ /*anyblock*/ { { /*^locexp*/ /*melt_increment_dbgcounter*/ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL(); ; /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = /*MELT_NEED_DBG*/ #if MELT_HAVE_DEBUG (/*melt_need_dbg*/ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG*/ ;; MELT_LOCATION("warmelt-macro.melt:6260:/ cond"); /*cond*/ if (/*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { /*_#MELT_CALLCOUNT__L2*/ meltfnum[1] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6260:/ apply"); /*apply*/ { union meltparam_un argtab[5]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6260; /*^apply.arg*/ argtab[3].meltbp_cstring = "mexpand_plus sexpr="; /*^apply.arg*/ argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.SEXPR__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V7*/ meltfptr[6] = melt_apply ((meltclosure_ptr_t)((/*!MELT_DEBUG_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IF___V6*/ meltfptr[5] = /*_.MELT_DEBUG_FUN__V7*/ meltfptr[6];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6260:/ clear"); /*clear*/ /*_#MELT_CALLCOUNT__L2*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_.MELT_DEBUG_FUN__V7*/ meltfptr[6] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V6*/ meltfptr[5] = /*reallynil*/ NULL ;; } ; { MELT_LOCATION("warmelt-macro.melt:6260:/ locexp"); /*void*/(void)0; } ; /*^quasiblock*/ /*epilog*/ /*^clear*/ /*clear*/ /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V6*/ meltfptr[5] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*^block*/ /*anyblock*/ { { /*^locexp*/ /*void*/(void)0; } ; /*epilog*/ } #endif /*MELT_HAVE_DEBUG*/ ; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6261:/ cppif.then"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*_#IS_A__L3*/ meltfnum[1] = melt_is_instance_of((melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_SEXPR*/ meltfrout->tabval[1])));; MELT_LOCATION("warmelt-macro.melt:6261:/ cond"); /*cond*/ if (/*_#IS_A__L3*/ meltfnum[1]) /*then*/ { /*^cond.then*/ /*_._IFELSE___V9*/ meltfptr[5] = (/*nil*/NULL);; } else { MELT_LOCATION("warmelt-macro.melt:6261:/ cond.else"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*^apply*/ /*apply*/ { union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_cstring = "check sexpr"; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6261; /*^apply.arg*/ argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.SEXPR__V2*/ meltfptr[1]; /*_.MELT_ASSERT_FAILURE_FUN__V10*/ meltfptr[9] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[2])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IFELSE___V9*/ meltfptr[5] = /*_.MELT_ASSERT_FAILURE_FUN__V10*/ meltfptr[9];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6261:/ clear"); /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V10*/ meltfptr[9] = 0 ; } ; } ; /*_.IFCPP___V8*/ meltfptr[6] = /*_._IFELSE___V9*/ meltfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6261:/ clear"); /*clear*/ /*_#IS_A__L3*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_._IFELSE___V9*/ meltfptr[5] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*_.IFCPP___V8*/ meltfptr[6] = (/*nil*/NULL); #endif /*MELT_HAVE_DEBUG*/ ; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6262:/ cppif.then"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*_#IS_A__L4*/ meltfnum[0] = melt_is_instance_of((melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2]), (melt_ptr_t)((/*!CLASS_ENVIRONMENT*/ meltfrout->tabval[3])));; MELT_LOCATION("warmelt-macro.melt:6262:/ cond"); /*cond*/ if (/*_#IS_A__L4*/ meltfnum[0]) /*then*/ { /*^cond.then*/ /*_._IFELSE___V12*/ meltfptr[5] = (/*nil*/NULL);; } else { MELT_LOCATION("warmelt-macro.melt:6262:/ cond.else"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*^apply*/ /*apply*/ { union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_cstring = "check env"; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6262; /*^apply.arg*/ argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.ENV__V3*/ meltfptr[2]; /*_.MELT_ASSERT_FAILURE_FUN__V13*/ meltfptr[12] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[2])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IFELSE___V12*/ meltfptr[5] = /*_.MELT_ASSERT_FAILURE_FUN__V13*/ meltfptr[12];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6262:/ clear"); /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V13*/ meltfptr[12] = 0 ; } ; } ; /*_.IFCPP___V11*/ meltfptr[9] = /*_._IFELSE___V12*/ meltfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6262:/ clear"); /*clear*/ /*_#IS_A__L4*/ meltfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_._IFELSE___V12*/ meltfptr[5] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*_.IFCPP___V11*/ meltfptr[9] = (/*nil*/NULL); #endif /*MELT_HAVE_DEBUG*/ ; MELT_LOCATION("warmelt-macro.melt:6263:/ quasiblock"); MELT_LOCATION("warmelt-macro.melt:6264:/ getslot"); { melt_ptr_t slot=NULL, obj=NULL; obj = (melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/; melt_object_get_field(slot,obj, 2, "SEXP_CONTENTS"); /*_.CONT__V15*/ meltfptr[5] = slot; }; ; MELT_LOCATION("warmelt-macro.melt:6265:/ getslot"); { melt_ptr_t slot=NULL, obj=NULL; obj = (melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/; melt_object_get_field(slot,obj, 1, "LOCA_LOCATION"); /*_.LOC__V16*/ meltfptr[15] = slot; }; ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6266:/ apply"); /*apply*/ { union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_aptr = (melt_ptr_t*) &/*_.ENV__V3*/ meltfptr[2]; /*^apply.arg*/ argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.MEXPANDER__V4*/ meltfptr[3]; /*^apply.arg*/ argtab[2].meltbp_aptr = (melt_ptr_t*) &/*_.MODCTX__V5*/ meltfptr[4]; /*_.XARGTUP__V17*/ meltfptr[16] = melt_apply ((meltclosure_ptr_t)((/*!EXPAND_RESTLIST_AS_TUPLE*/ meltfrout->tabval[4])), (melt_ptr_t)(/*_.CONT__V15*/ meltfptr[5]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6267:/ quasiblock"); /*^rawallocobj*/ /*rawallocobj*/ { melt_ptr_t newobj = 0; melt_raw_object_create(newobj,(melt_ptr_t)((/*!CLASS_SOURCE_ARITHMETIC_VARIADIC_OPERATION*/ meltfrout->tabval[5])), (5), "CLASS_SOURCE_ARITHMETIC_VARIADIC_OPERATION"); /*_.INST__V19*/ meltfptr[18] = newobj; }; ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @LOCA_LOCATION", melt_magic_discr((melt_ptr_t)(/*_.INST__V19*/ meltfptr[18])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V19*/ meltfptr[18]), (1), (/*_.LOC__V16*/ meltfptr[15]), "LOCA_LOCATION"); ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @SARGOP_ARGS", melt_magic_discr((melt_ptr_t)(/*_.INST__V19*/ meltfptr[18])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V19*/ meltfptr[18]), (2), (/*_.XARGTUP__V17*/ meltfptr[16]), "SARGOP_ARGS"); ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @SARITHVAR_NEUTRAL", melt_magic_discr((melt_ptr_t)(/*_.INST__V19*/ meltfptr[18])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V19*/ meltfptr[18]), (3), ((/*!konst_6*/ meltfrout->tabval[6])), "SARITHVAR_NEUTRAL"); ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @SARITHVAR_PRIMITIVE", melt_magic_discr((melt_ptr_t)(/*_.INST__V19*/ meltfptr[18])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V19*/ meltfptr[18]), (4), ((/*!+I*/ meltfrout->tabval[7])), "SARITHVAR_PRIMITIVE"); ; /*^touchobj*/ melt_dbgtrace_written_object (/*_.INST__V19*/ meltfptr[18], "newly made instance"); ; /*_.RES__V18*/ meltfptr[17] = /*_.INST__V19*/ meltfptr[18];; MELT_CHECK_SIGNAL(); ; /*^compute*/ /*_#MULTIPLE_LENGTH__L5*/ meltfnum[1] = (melt_multiple_length((melt_ptr_t)(/*_.XARGTUP__V17*/ meltfptr[16])));; /*^compute*/ /*_#eqeqI__L6*/ meltfnum[0] = ((0) == (/*_#MULTIPLE_LENGTH__L5*/ meltfnum[1]));; MELT_LOCATION("warmelt-macro.melt:6274:/ cond"); /*cond*/ if (/*_#eqeqI__L6*/ meltfnum[0]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { { MELT_LOCATION("warmelt-macro.melt:6275:/ locexp"); /* error_plain */ melt_error_str((melt_ptr_t)(/*_.LOC__V16*/ meltfptr[15]), ( "+ operator needs at least one argument"), (melt_ptr_t)0); } ; MELT_LOCATION("warmelt-macro.melt:6276:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*reallynil*/ NULL ;; { MELT_LOCATION("warmelt-macro.melt:6276:/ locexp"); /*ochecknores compilobj_nrep_return*/ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results(); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG*/ ; } ; /*^finalreturn*/ ; /*finalret*/ goto meltlabend_rout ; MELT_LOCATION("warmelt-macro.melt:6274:/ quasiblock"); /*_.PROGN___V22*/ meltfptr[21] = /*_.RETURN___V21*/ meltfptr[20];; /*^compute*/ /*_._IF___V20*/ meltfptr[19] = /*_.PROGN___V22*/ meltfptr[21];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6274:/ clear"); /*clear*/ /*_.RETURN___V21*/ meltfptr[20] = 0 ; /*^clear*/ /*clear*/ /*_.PROGN___V22*/ meltfptr[21] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V20*/ meltfptr[19] = /*reallynil*/ NULL ;; } ; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6277:/ cppif.then"); /*^block*/ /*anyblock*/ { { /*^locexp*/ /*melt_increment_dbgcounter*/ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL(); ; /*_#MELT_NEED_DBG__L7*/ meltfnum[6] = /*MELT_NEED_DBG*/ #if MELT_HAVE_DEBUG (/*melt_need_dbg*/ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG*/ ;; MELT_LOCATION("warmelt-macro.melt:6277:/ cond"); /*cond*/ if (/*_#MELT_NEED_DBG__L7*/ meltfnum[6]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { /*_#MELT_CALLCOUNT__L8*/ meltfnum[7] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6277:/ apply"); /*apply*/ { union meltparam_un argtab[5]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L8*/ meltfnum[7]; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6277; /*^apply.arg*/ argtab[3].meltbp_cstring = "mexpand_plus result"; /*^apply.arg*/ argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.RES__V18*/ meltfptr[17]; /*_.MELT_DEBUG_FUN__V24*/ meltfptr[21] = melt_apply ((meltclosure_ptr_t)((/*!MELT_DEBUG_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IF___V23*/ meltfptr[20] = /*_.MELT_DEBUG_FUN__V24*/ meltfptr[21];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6277:/ clear"); /*clear*/ /*_#MELT_CALLCOUNT__L8*/ meltfnum[7] = 0 ; /*^clear*/ /*clear*/ /*_.MELT_DEBUG_FUN__V24*/ meltfptr[21] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V23*/ meltfptr[20] = /*reallynil*/ NULL ;; } ; { MELT_LOCATION("warmelt-macro.melt:6277:/ locexp"); /*void*/(void)0; } ; /*^quasiblock*/ /*epilog*/ /*^clear*/ /*clear*/ /*_#MELT_NEED_DBG__L7*/ meltfnum[6] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V23*/ meltfptr[20] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*^block*/ /*anyblock*/ { { /*^locexp*/ /*void*/(void)0; } ; /*epilog*/ } #endif /*MELT_HAVE_DEBUG*/ ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6278:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.RES__V18*/ meltfptr[17];; { MELT_LOCATION("warmelt-macro.melt:6278:/ locexp"); /*ochecknores compilobj_nrep_return*/ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results(); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG*/ ; } ; /*^finalreturn*/ ; /*finalret*/ goto meltlabend_rout ; /*_.LET___V14*/ meltfptr[12] = /*_.RETURN___V25*/ meltfptr[21];; MELT_LOCATION("warmelt-macro.melt:6263:/ clear"); /*clear*/ /*_.CONT__V15*/ meltfptr[5] = 0 ; /*^clear*/ /*clear*/ /*_.LOC__V16*/ meltfptr[15] = 0 ; /*^clear*/ /*clear*/ /*_.XARGTUP__V17*/ meltfptr[16] = 0 ; /*^clear*/ /*clear*/ /*_.RES__V18*/ meltfptr[17] = 0 ; /*^clear*/ /*clear*/ /*_#MULTIPLE_LENGTH__L5*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_#eqeqI__L6*/ meltfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V20*/ meltfptr[19] = 0 ; /*^clear*/ /*clear*/ /*_.RETURN___V25*/ meltfptr[21] = 0 ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6259:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.LET___V14*/ meltfptr[12];; { MELT_LOCATION("warmelt-macro.melt:6259:/ locexp"); /*ochecknores compilobj_nrep_return*/ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results(); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG*/ ; } ; /*^finalreturn*/ ; /*finalret*/ goto meltlabend_rout ; /*epilog*/ /*^clear*/ /*clear*/ /*_.IFCPP___V8*/ meltfptr[6] = 0 ; /*^clear*/ /*clear*/ /*_.IFCPP___V11*/ meltfptr[9] = 0 ; /*^clear*/ /*clear*/ /*_.LET___V14*/ meltfptr[12] = 0 ; } ; goto meltlabend_rout; meltlabend_rout: melt_trace_end("MEXPAND_PLUS", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_110_WARMELTmiMACRO_MEXPAND_PLUS_melt; return (melt_ptr_t)(/*_._RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_110_WARMELTmiMACRO_MEXPAND_PLUS*/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_111_WARMELTmiMACRO_MEXPAND_MINUS(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_) { long current_blocklevel_signals_meltrout_111_WARMELTmiMACRO_MEXPAND_MINUS_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long melt_call_counter__; long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__; #undef meltcallcount #define meltcallcount melt_thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1490 /* start of frame for routine meltrout_111_WARMELTmiMACRO_MEXPAND_MINUS fromline 1704 */ /** start of frame for meltrout_111_WARMELTmiMACRO_MEXPAND_MINUS of CLASS_PROCROUTINEOBJ from 1507**/ /*curframdeclclassy*/ class MeltFrame_meltrout_111_WARMELTmiMACRO_MEXPAND_MINUS// fromline 1520 : public Melt_CallFrameWithValues<25> { public: /* fromline 1524*/ long mcfr_varnum[8]; /*classy others*/ long _meltsparel; void melt_mark_stuff (void) { } /*end melt_mark_stuff*/ virtual void melt_mark_ggc_data (void) { melt_mark_values (); melt_mark_stuff (); }; /*end melt_mark_ggc_data*/ MeltFrame_meltrout_111_WARMELTmiMACRO_MEXPAND_MINUS(meltclosure_ptr_t clos) //the closure constructor fromline 1582 : Melt_CallFrameWithValues<25> ( #if ENABLE_CHECKING /*fromline 1586*/ __FILE__, __LINE__, #endif /* ENABLE_CHECKING fromline 1590*/ sizeof(MeltFrame_meltrout_111_WARMELTmiMACRO_MEXPAND_MINUS), clos) {}; MeltFrame_meltrout_111_WARMELTmiMACRO_MEXPAND_MINUS() //the constructor fromline 1594 : Melt_CallFrameWithValues<25> ( #if ENABLE_CHECKING /*fromline 1598*/ __FILE__, __LINE__, #endif /* ENABLE_CHECKING fromline 1602*/ sizeof(MeltFrame_meltrout_111_WARMELTmiMACRO_MEXPAND_MINUS)) {}; #if ENABLE_CHECKING /*fromline 1606*/ MeltFrame_meltrout_111_WARMELTmiMACRO_MEXPAND_MINUS(const char*fil, int lin) //the constructor fromline 1608 : Melt_CallFrameWithValues<25> (fil,lin, sizeof(MeltFrame_meltrout_111_WARMELTmiMACRO_MEXPAND_MINUS)) {}; MeltFrame_meltrout_111_WARMELTmiMACRO_MEXPAND_MINUS(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1613 : Melt_CallFrameWithValues<25> (fil,lin, sizeof(MeltFrame_meltrout_111_WARMELTmiMACRO_MEXPAND_MINUS), clos) {}; #endif /* ENABLE_CHECKING fromline 1618*/ }; // end class MeltFrame_meltrout_111_WARMELTmiMACRO_MEXPAND_MINUS /** end of frame for meltrout_111_WARMELTmiMACRO_MEXPAND_MINUS fromline 1649**/ /* end of frame for routine meltrout_111_WARMELTmiMACRO_MEXPAND_MINUS fromline 1708 */ /* classy proc frame meltrout_111_WARMELTmiMACRO_MEXPAND_MINUS */ MeltFrame_meltrout_111_WARMELTmiMACRO_MEXPAND_MINUS meltfram__ /*declfrastruct fromline 1732*/ /*classyprocarg meltrout_111_WARMELTmiMACRO_MEXPAND_MINUS fromline 1737*/ #if ENABLE_CHECKING (__FILE__, __LINE__, meltclosp_) /* fromline 1741*/ #else /*ENABLE_CHECKING */ (meltclosp_) /* fromline 1745*/ #endif /*ENABLE_CHECKING */ ; #define meltframe meltfram__ melt_trace_start("MEXPAND_MINUS", meltcallcount); /*use arguments*/ (void) meltclosp_; (void)meltfirstargp_; (void)meltxargdescr_; (void)meltxargtab_; (void)meltxresdescr_; (void)meltxrestab_; /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-macro.melt:6288:/ getarg"); /*_.SEXPR__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1*/ /*^getarg*/ if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_endgetargs; /*_.ENV__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2])) != NULL); /*getarg#2*/ /*^getarg*/ if (meltxargdescr_[1] != MELTBPAR_PTR) goto meltlab_endgetargs; /*_.MEXPANDER__V4*/ meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.MEXPANDER__V4*/ meltfptr[3])) != NULL); /*getarg#3*/ /*^getarg*/ if (meltxargdescr_[2] != MELTBPAR_PTR) goto meltlab_endgetargs; /*_.MODCTX__V5*/ meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.MODCTX__V5*/ meltfptr[4])) != NULL); ; goto meltlab_endgetargs; meltlab_endgetargs: ; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6289:/ cppif.then"); /*^block*/ /*anyblock*/ { { /*^locexp*/ /*melt_increment_dbgcounter*/ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL(); ; /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = /*MELT_NEED_DBG*/ #if MELT_HAVE_DEBUG (/*melt_need_dbg*/ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG*/ ;; MELT_LOCATION("warmelt-macro.melt:6289:/ cond"); /*cond*/ if (/*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { /*_#MELT_CALLCOUNT__L2*/ meltfnum[1] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6289:/ apply"); /*apply*/ { union meltparam_un argtab[5]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6289; /*^apply.arg*/ argtab[3].meltbp_cstring = "mexpand_minus sexpr="; /*^apply.arg*/ argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.SEXPR__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V7*/ meltfptr[6] = melt_apply ((meltclosure_ptr_t)((/*!MELT_DEBUG_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IF___V6*/ meltfptr[5] = /*_.MELT_DEBUG_FUN__V7*/ meltfptr[6];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6289:/ clear"); /*clear*/ /*_#MELT_CALLCOUNT__L2*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_.MELT_DEBUG_FUN__V7*/ meltfptr[6] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V6*/ meltfptr[5] = /*reallynil*/ NULL ;; } ; { MELT_LOCATION("warmelt-macro.melt:6289:/ locexp"); /*void*/(void)0; } ; /*^quasiblock*/ /*epilog*/ /*^clear*/ /*clear*/ /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V6*/ meltfptr[5] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*^block*/ /*anyblock*/ { { /*^locexp*/ /*void*/(void)0; } ; /*epilog*/ } #endif /*MELT_HAVE_DEBUG*/ ; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6290:/ cppif.then"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*_#IS_A__L3*/ meltfnum[1] = melt_is_instance_of((melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_SEXPR*/ meltfrout->tabval[1])));; MELT_LOCATION("warmelt-macro.melt:6290:/ cond"); /*cond*/ if (/*_#IS_A__L3*/ meltfnum[1]) /*then*/ { /*^cond.then*/ /*_._IFELSE___V9*/ meltfptr[5] = (/*nil*/NULL);; } else { MELT_LOCATION("warmelt-macro.melt:6290:/ cond.else"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*^apply*/ /*apply*/ { union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_cstring = "check sexpr"; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6290; /*^apply.arg*/ argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.SEXPR__V2*/ meltfptr[1]; /*_.MELT_ASSERT_FAILURE_FUN__V10*/ meltfptr[9] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[2])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IFELSE___V9*/ meltfptr[5] = /*_.MELT_ASSERT_FAILURE_FUN__V10*/ meltfptr[9];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6290:/ clear"); /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V10*/ meltfptr[9] = 0 ; } ; } ; /*_.IFCPP___V8*/ meltfptr[6] = /*_._IFELSE___V9*/ meltfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6290:/ clear"); /*clear*/ /*_#IS_A__L3*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_._IFELSE___V9*/ meltfptr[5] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*_.IFCPP___V8*/ meltfptr[6] = (/*nil*/NULL); #endif /*MELT_HAVE_DEBUG*/ ; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6291:/ cppif.then"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*_#IS_A__L4*/ meltfnum[0] = melt_is_instance_of((melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2]), (melt_ptr_t)((/*!CLASS_ENVIRONMENT*/ meltfrout->tabval[3])));; MELT_LOCATION("warmelt-macro.melt:6291:/ cond"); /*cond*/ if (/*_#IS_A__L4*/ meltfnum[0]) /*then*/ { /*^cond.then*/ /*_._IFELSE___V12*/ meltfptr[5] = (/*nil*/NULL);; } else { MELT_LOCATION("warmelt-macro.melt:6291:/ cond.else"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*^apply*/ /*apply*/ { union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_cstring = "check env"; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6291; /*^apply.arg*/ argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.ENV__V3*/ meltfptr[2]; /*_.MELT_ASSERT_FAILURE_FUN__V13*/ meltfptr[12] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[2])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IFELSE___V12*/ meltfptr[5] = /*_.MELT_ASSERT_FAILURE_FUN__V13*/ meltfptr[12];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6291:/ clear"); /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V13*/ meltfptr[12] = 0 ; } ; } ; /*_.IFCPP___V11*/ meltfptr[9] = /*_._IFELSE___V12*/ meltfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6291:/ clear"); /*clear*/ /*_#IS_A__L4*/ meltfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_._IFELSE___V12*/ meltfptr[5] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*_.IFCPP___V11*/ meltfptr[9] = (/*nil*/NULL); #endif /*MELT_HAVE_DEBUG*/ ; MELT_LOCATION("warmelt-macro.melt:6292:/ quasiblock"); MELT_LOCATION("warmelt-macro.melt:6293:/ getslot"); { melt_ptr_t slot=NULL, obj=NULL; obj = (melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/; melt_object_get_field(slot,obj, 2, "SEXP_CONTENTS"); /*_.CONT__V15*/ meltfptr[5] = slot; }; ; MELT_LOCATION("warmelt-macro.melt:6294:/ getslot"); { melt_ptr_t slot=NULL, obj=NULL; obj = (melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/; melt_object_get_field(slot,obj, 1, "LOCA_LOCATION"); /*_.LOC__V16*/ meltfptr[15] = slot; }; ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6295:/ apply"); /*apply*/ { union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_aptr = (melt_ptr_t*) &/*_.ENV__V3*/ meltfptr[2]; /*^apply.arg*/ argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.MEXPANDER__V4*/ meltfptr[3]; /*^apply.arg*/ argtab[2].meltbp_aptr = (melt_ptr_t*) &/*_.MODCTX__V5*/ meltfptr[4]; /*_.XARGTUP__V17*/ meltfptr[16] = melt_apply ((meltclosure_ptr_t)((/*!EXPAND_RESTLIST_AS_TUPLE*/ meltfrout->tabval[4])), (melt_ptr_t)(/*_.CONT__V15*/ meltfptr[5]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6296:/ quasiblock"); /*^rawallocobj*/ /*rawallocobj*/ { melt_ptr_t newobj = 0; melt_raw_object_create(newobj,(melt_ptr_t)((/*!CLASS_SOURCE_ARITHMETIC_VARIADIC_OPERATION*/ meltfrout->tabval[5])), (5), "CLASS_SOURCE_ARITHMETIC_VARIADIC_OPERATION"); /*_.INST__V19*/ meltfptr[18] = newobj; }; ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @LOCA_LOCATION", melt_magic_discr((melt_ptr_t)(/*_.INST__V19*/ meltfptr[18])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V19*/ meltfptr[18]), (1), (/*_.LOC__V16*/ meltfptr[15]), "LOCA_LOCATION"); ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @SARGOP_ARGS", melt_magic_discr((melt_ptr_t)(/*_.INST__V19*/ meltfptr[18])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V19*/ meltfptr[18]), (2), (/*_.XARGTUP__V17*/ meltfptr[16]), "SARGOP_ARGS"); ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @SARITHVAR_NEUTRAL", melt_magic_discr((melt_ptr_t)(/*_.INST__V19*/ meltfptr[18])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V19*/ meltfptr[18]), (3), ((/*!konst_6*/ meltfrout->tabval[6])), "SARITHVAR_NEUTRAL"); ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @SARITHVAR_PRIMITIVE", melt_magic_discr((melt_ptr_t)(/*_.INST__V19*/ meltfptr[18])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V19*/ meltfptr[18]), (4), ((/*!-I*/ meltfrout->tabval[7])), "SARITHVAR_PRIMITIVE"); ; /*^touchobj*/ melt_dbgtrace_written_object (/*_.INST__V19*/ meltfptr[18], "newly made instance"); ; /*_.RES__V18*/ meltfptr[17] = /*_.INST__V19*/ meltfptr[18];; MELT_CHECK_SIGNAL(); ; /*^compute*/ /*_#MULTIPLE_LENGTH__L5*/ meltfnum[1] = (melt_multiple_length((melt_ptr_t)(/*_.XARGTUP__V17*/ meltfptr[16])));; /*^compute*/ /*_#eqeqI__L6*/ meltfnum[0] = ((0) == (/*_#MULTIPLE_LENGTH__L5*/ meltfnum[1]));; MELT_LOCATION("warmelt-macro.melt:6303:/ cond"); /*cond*/ if (/*_#eqeqI__L6*/ meltfnum[0]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { { MELT_LOCATION("warmelt-macro.melt:6304:/ locexp"); /* error_plain */ melt_error_str((melt_ptr_t)(/*_.LOC__V16*/ meltfptr[15]), ( "- operator needs at least one argument"), (melt_ptr_t)0); } ; MELT_LOCATION("warmelt-macro.melt:6305:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*reallynil*/ NULL ;; { MELT_LOCATION("warmelt-macro.melt:6305:/ locexp"); /*ochecknores compilobj_nrep_return*/ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results(); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG*/ ; } ; /*^finalreturn*/ ; /*finalret*/ goto meltlabend_rout ; MELT_LOCATION("warmelt-macro.melt:6303:/ quasiblock"); /*_.PROGN___V22*/ meltfptr[21] = /*_.RETURN___V21*/ meltfptr[20];; /*^compute*/ /*_._IF___V20*/ meltfptr[19] = /*_.PROGN___V22*/ meltfptr[21];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6303:/ clear"); /*clear*/ /*_.RETURN___V21*/ meltfptr[20] = 0 ; /*^clear*/ /*clear*/ /*_.PROGN___V22*/ meltfptr[21] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V20*/ meltfptr[19] = /*reallynil*/ NULL ;; } ; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6306:/ cppif.then"); /*^block*/ /*anyblock*/ { { /*^locexp*/ /*melt_increment_dbgcounter*/ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL(); ; /*_#MELT_NEED_DBG__L7*/ meltfnum[6] = /*MELT_NEED_DBG*/ #if MELT_HAVE_DEBUG (/*melt_need_dbg*/ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG*/ ;; MELT_LOCATION("warmelt-macro.melt:6306:/ cond"); /*cond*/ if (/*_#MELT_NEED_DBG__L7*/ meltfnum[6]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { /*_#MELT_CALLCOUNT__L8*/ meltfnum[7] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6306:/ apply"); /*apply*/ { union meltparam_un argtab[5]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L8*/ meltfnum[7]; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6306; /*^apply.arg*/ argtab[3].meltbp_cstring = "mexpand_minus result"; /*^apply.arg*/ argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.RES__V18*/ meltfptr[17]; /*_.MELT_DEBUG_FUN__V24*/ meltfptr[21] = melt_apply ((meltclosure_ptr_t)((/*!MELT_DEBUG_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IF___V23*/ meltfptr[20] = /*_.MELT_DEBUG_FUN__V24*/ meltfptr[21];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6306:/ clear"); /*clear*/ /*_#MELT_CALLCOUNT__L8*/ meltfnum[7] = 0 ; /*^clear*/ /*clear*/ /*_.MELT_DEBUG_FUN__V24*/ meltfptr[21] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V23*/ meltfptr[20] = /*reallynil*/ NULL ;; } ; { MELT_LOCATION("warmelt-macro.melt:6306:/ locexp"); /*void*/(void)0; } ; /*^quasiblock*/ /*epilog*/ /*^clear*/ /*clear*/ /*_#MELT_NEED_DBG__L7*/ meltfnum[6] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V23*/ meltfptr[20] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*^block*/ /*anyblock*/ { { /*^locexp*/ /*void*/(void)0; } ; /*epilog*/ } #endif /*MELT_HAVE_DEBUG*/ ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6307:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.RES__V18*/ meltfptr[17];; { MELT_LOCATION("warmelt-macro.melt:6307:/ locexp"); /*ochecknores compilobj_nrep_return*/ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results(); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG*/ ; } ; /*^finalreturn*/ ; /*finalret*/ goto meltlabend_rout ; /*_.LET___V14*/ meltfptr[12] = /*_.RETURN___V25*/ meltfptr[21];; MELT_LOCATION("warmelt-macro.melt:6292:/ clear"); /*clear*/ /*_.CONT__V15*/ meltfptr[5] = 0 ; /*^clear*/ /*clear*/ /*_.LOC__V16*/ meltfptr[15] = 0 ; /*^clear*/ /*clear*/ /*_.XARGTUP__V17*/ meltfptr[16] = 0 ; /*^clear*/ /*clear*/ /*_.RES__V18*/ meltfptr[17] = 0 ; /*^clear*/ /*clear*/ /*_#MULTIPLE_LENGTH__L5*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_#eqeqI__L6*/ meltfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V20*/ meltfptr[19] = 0 ; /*^clear*/ /*clear*/ /*_.RETURN___V25*/ meltfptr[21] = 0 ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6288:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.LET___V14*/ meltfptr[12];; { MELT_LOCATION("warmelt-macro.melt:6288:/ locexp"); /*ochecknores compilobj_nrep_return*/ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results(); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG*/ ; } ; /*^finalreturn*/ ; /*finalret*/ goto meltlabend_rout ; /*epilog*/ /*^clear*/ /*clear*/ /*_.IFCPP___V8*/ meltfptr[6] = 0 ; /*^clear*/ /*clear*/ /*_.IFCPP___V11*/ meltfptr[9] = 0 ; /*^clear*/ /*clear*/ /*_.LET___V14*/ meltfptr[12] = 0 ; } ; goto meltlabend_rout; meltlabend_rout: melt_trace_end("MEXPAND_MINUS", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_111_WARMELTmiMACRO_MEXPAND_MINUS_melt; return (melt_ptr_t)(/*_._RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_111_WARMELTmiMACRO_MEXPAND_MINUS*/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_112_WARMELTmiMACRO_MEXPAND_TIMES(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_) { long current_blocklevel_signals_meltrout_112_WARMELTmiMACRO_MEXPAND_TIMES_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long melt_call_counter__; long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__; #undef meltcallcount #define meltcallcount melt_thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1490 /* start of frame for routine meltrout_112_WARMELTmiMACRO_MEXPAND_TIMES fromline 1704 */ /** start of frame for meltrout_112_WARMELTmiMACRO_MEXPAND_TIMES of CLASS_PROCROUTINEOBJ from 1507**/ /*curframdeclclassy*/ class MeltFrame_meltrout_112_WARMELTmiMACRO_MEXPAND_TIMES// fromline 1520 : public Melt_CallFrameWithValues<25> { public: /* fromline 1524*/ long mcfr_varnum[8]; /*classy others*/ long _meltsparel; void melt_mark_stuff (void) { } /*end melt_mark_stuff*/ virtual void melt_mark_ggc_data (void) { melt_mark_values (); melt_mark_stuff (); }; /*end melt_mark_ggc_data*/ MeltFrame_meltrout_112_WARMELTmiMACRO_MEXPAND_TIMES(meltclosure_ptr_t clos) //the closure constructor fromline 1582 : Melt_CallFrameWithValues<25> ( #if ENABLE_CHECKING /*fromline 1586*/ __FILE__, __LINE__, #endif /* ENABLE_CHECKING fromline 1590*/ sizeof(MeltFrame_meltrout_112_WARMELTmiMACRO_MEXPAND_TIMES), clos) {}; MeltFrame_meltrout_112_WARMELTmiMACRO_MEXPAND_TIMES() //the constructor fromline 1594 : Melt_CallFrameWithValues<25> ( #if ENABLE_CHECKING /*fromline 1598*/ __FILE__, __LINE__, #endif /* ENABLE_CHECKING fromline 1602*/ sizeof(MeltFrame_meltrout_112_WARMELTmiMACRO_MEXPAND_TIMES)) {}; #if ENABLE_CHECKING /*fromline 1606*/ MeltFrame_meltrout_112_WARMELTmiMACRO_MEXPAND_TIMES(const char*fil, int lin) //the constructor fromline 1608 : Melt_CallFrameWithValues<25> (fil,lin, sizeof(MeltFrame_meltrout_112_WARMELTmiMACRO_MEXPAND_TIMES)) {}; MeltFrame_meltrout_112_WARMELTmiMACRO_MEXPAND_TIMES(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1613 : Melt_CallFrameWithValues<25> (fil,lin, sizeof(MeltFrame_meltrout_112_WARMELTmiMACRO_MEXPAND_TIMES), clos) {}; #endif /* ENABLE_CHECKING fromline 1618*/ }; // end class MeltFrame_meltrout_112_WARMELTmiMACRO_MEXPAND_TIMES /** end of frame for meltrout_112_WARMELTmiMACRO_MEXPAND_TIMES fromline 1649**/ /* end of frame for routine meltrout_112_WARMELTmiMACRO_MEXPAND_TIMES fromline 1708 */ /* classy proc frame meltrout_112_WARMELTmiMACRO_MEXPAND_TIMES */ MeltFrame_meltrout_112_WARMELTmiMACRO_MEXPAND_TIMES meltfram__ /*declfrastruct fromline 1732*/ /*classyprocarg meltrout_112_WARMELTmiMACRO_MEXPAND_TIMES fromline 1737*/ #if ENABLE_CHECKING (__FILE__, __LINE__, meltclosp_) /* fromline 1741*/ #else /*ENABLE_CHECKING */ (meltclosp_) /* fromline 1745*/ #endif /*ENABLE_CHECKING */ ; #define meltframe meltfram__ melt_trace_start("MEXPAND_TIMES", meltcallcount); /*use arguments*/ (void) meltclosp_; (void)meltfirstargp_; (void)meltxargdescr_; (void)meltxargtab_; (void)meltxresdescr_; (void)meltxrestab_; /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-macro.melt:6317:/ getarg"); /*_.SEXPR__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1*/ /*^getarg*/ if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_endgetargs; /*_.ENV__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2])) != NULL); /*getarg#2*/ /*^getarg*/ if (meltxargdescr_[1] != MELTBPAR_PTR) goto meltlab_endgetargs; /*_.MEXPANDER__V4*/ meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.MEXPANDER__V4*/ meltfptr[3])) != NULL); /*getarg#3*/ /*^getarg*/ if (meltxargdescr_[2] != MELTBPAR_PTR) goto meltlab_endgetargs; /*_.MODCTX__V5*/ meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.MODCTX__V5*/ meltfptr[4])) != NULL); ; goto meltlab_endgetargs; meltlab_endgetargs: ; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6318:/ cppif.then"); /*^block*/ /*anyblock*/ { { /*^locexp*/ /*melt_increment_dbgcounter*/ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL(); ; /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = /*MELT_NEED_DBG*/ #if MELT_HAVE_DEBUG (/*melt_need_dbg*/ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG*/ ;; MELT_LOCATION("warmelt-macro.melt:6318:/ cond"); /*cond*/ if (/*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { /*_#MELT_CALLCOUNT__L2*/ meltfnum[1] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6318:/ apply"); /*apply*/ { union meltparam_un argtab[5]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6318; /*^apply.arg*/ argtab[3].meltbp_cstring = "mexpand_times sexpr="; /*^apply.arg*/ argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.SEXPR__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V7*/ meltfptr[6] = melt_apply ((meltclosure_ptr_t)((/*!MELT_DEBUG_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IF___V6*/ meltfptr[5] = /*_.MELT_DEBUG_FUN__V7*/ meltfptr[6];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6318:/ clear"); /*clear*/ /*_#MELT_CALLCOUNT__L2*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_.MELT_DEBUG_FUN__V7*/ meltfptr[6] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V6*/ meltfptr[5] = /*reallynil*/ NULL ;; } ; { MELT_LOCATION("warmelt-macro.melt:6318:/ locexp"); /*void*/(void)0; } ; /*^quasiblock*/ /*epilog*/ /*^clear*/ /*clear*/ /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V6*/ meltfptr[5] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*^block*/ /*anyblock*/ { { /*^locexp*/ /*void*/(void)0; } ; /*epilog*/ } #endif /*MELT_HAVE_DEBUG*/ ; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6319:/ cppif.then"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*_#IS_A__L3*/ meltfnum[1] = melt_is_instance_of((melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_SEXPR*/ meltfrout->tabval[1])));; MELT_LOCATION("warmelt-macro.melt:6319:/ cond"); /*cond*/ if (/*_#IS_A__L3*/ meltfnum[1]) /*then*/ { /*^cond.then*/ /*_._IFELSE___V9*/ meltfptr[5] = (/*nil*/NULL);; } else { MELT_LOCATION("warmelt-macro.melt:6319:/ cond.else"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*^apply*/ /*apply*/ { union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_cstring = "check sexpr"; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6319; /*^apply.arg*/ argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.SEXPR__V2*/ meltfptr[1]; /*_.MELT_ASSERT_FAILURE_FUN__V10*/ meltfptr[9] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[2])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IFELSE___V9*/ meltfptr[5] = /*_.MELT_ASSERT_FAILURE_FUN__V10*/ meltfptr[9];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6319:/ clear"); /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V10*/ meltfptr[9] = 0 ; } ; } ; /*_.IFCPP___V8*/ meltfptr[6] = /*_._IFELSE___V9*/ meltfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6319:/ clear"); /*clear*/ /*_#IS_A__L3*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_._IFELSE___V9*/ meltfptr[5] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*_.IFCPP___V8*/ meltfptr[6] = (/*nil*/NULL); #endif /*MELT_HAVE_DEBUG*/ ; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6320:/ cppif.then"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*_#IS_A__L4*/ meltfnum[0] = melt_is_instance_of((melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2]), (melt_ptr_t)((/*!CLASS_ENVIRONMENT*/ meltfrout->tabval[3])));; MELT_LOCATION("warmelt-macro.melt:6320:/ cond"); /*cond*/ if (/*_#IS_A__L4*/ meltfnum[0]) /*then*/ { /*^cond.then*/ /*_._IFELSE___V12*/ meltfptr[5] = (/*nil*/NULL);; } else { MELT_LOCATION("warmelt-macro.melt:6320:/ cond.else"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*^apply*/ /*apply*/ { union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_cstring = "check env"; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6320; /*^apply.arg*/ argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.ENV__V3*/ meltfptr[2]; /*_.MELT_ASSERT_FAILURE_FUN__V13*/ meltfptr[12] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[2])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IFELSE___V12*/ meltfptr[5] = /*_.MELT_ASSERT_FAILURE_FUN__V13*/ meltfptr[12];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6320:/ clear"); /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V13*/ meltfptr[12] = 0 ; } ; } ; /*_.IFCPP___V11*/ meltfptr[9] = /*_._IFELSE___V12*/ meltfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6320:/ clear"); /*clear*/ /*_#IS_A__L4*/ meltfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_._IFELSE___V12*/ meltfptr[5] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*_.IFCPP___V11*/ meltfptr[9] = (/*nil*/NULL); #endif /*MELT_HAVE_DEBUG*/ ; MELT_LOCATION("warmelt-macro.melt:6321:/ quasiblock"); MELT_LOCATION("warmelt-macro.melt:6322:/ getslot"); { melt_ptr_t slot=NULL, obj=NULL; obj = (melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/; melt_object_get_field(slot,obj, 2, "SEXP_CONTENTS"); /*_.CONT__V15*/ meltfptr[5] = slot; }; ; MELT_LOCATION("warmelt-macro.melt:6323:/ getslot"); { melt_ptr_t slot=NULL, obj=NULL; obj = (melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/; melt_object_get_field(slot,obj, 1, "LOCA_LOCATION"); /*_.LOC__V16*/ meltfptr[15] = slot; }; ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6324:/ apply"); /*apply*/ { union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_aptr = (melt_ptr_t*) &/*_.ENV__V3*/ meltfptr[2]; /*^apply.arg*/ argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.MEXPANDER__V4*/ meltfptr[3]; /*^apply.arg*/ argtab[2].meltbp_aptr = (melt_ptr_t*) &/*_.MODCTX__V5*/ meltfptr[4]; /*_.XARGTUP__V17*/ meltfptr[16] = melt_apply ((meltclosure_ptr_t)((/*!EXPAND_RESTLIST_AS_TUPLE*/ meltfrout->tabval[4])), (melt_ptr_t)(/*_.CONT__V15*/ meltfptr[5]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6325:/ quasiblock"); /*^rawallocobj*/ /*rawallocobj*/ { melt_ptr_t newobj = 0; melt_raw_object_create(newobj,(melt_ptr_t)((/*!CLASS_SOURCE_ARITHMETIC_VARIADIC_OPERATION*/ meltfrout->tabval[5])), (5), "CLASS_SOURCE_ARITHMETIC_VARIADIC_OPERATION"); /*_.INST__V19*/ meltfptr[18] = newobj; }; ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @LOCA_LOCATION", melt_magic_discr((melt_ptr_t)(/*_.INST__V19*/ meltfptr[18])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V19*/ meltfptr[18]), (1), (/*_.LOC__V16*/ meltfptr[15]), "LOCA_LOCATION"); ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @SARGOP_ARGS", melt_magic_discr((melt_ptr_t)(/*_.INST__V19*/ meltfptr[18])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V19*/ meltfptr[18]), (2), (/*_.XARGTUP__V17*/ meltfptr[16]), "SARGOP_ARGS"); ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @SARITHVAR_NEUTRAL", melt_magic_discr((melt_ptr_t)(/*_.INST__V19*/ meltfptr[18])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V19*/ meltfptr[18]), (3), ((/*!konst_6*/ meltfrout->tabval[6])), "SARITHVAR_NEUTRAL"); ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @SARITHVAR_PRIMITIVE", melt_magic_discr((melt_ptr_t)(/*_.INST__V19*/ meltfptr[18])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V19*/ meltfptr[18]), (4), ((/*!*I*/ meltfrout->tabval[7])), "SARITHVAR_PRIMITIVE"); ; /*^touchobj*/ melt_dbgtrace_written_object (/*_.INST__V19*/ meltfptr[18], "newly made instance"); ; /*_.RES__V18*/ meltfptr[17] = /*_.INST__V19*/ meltfptr[18];; MELT_CHECK_SIGNAL(); ; /*^compute*/ /*_#MULTIPLE_LENGTH__L5*/ meltfnum[1] = (melt_multiple_length((melt_ptr_t)(/*_.XARGTUP__V17*/ meltfptr[16])));; /*^compute*/ /*_#eqeqI__L6*/ meltfnum[0] = ((0) == (/*_#MULTIPLE_LENGTH__L5*/ meltfnum[1]));; MELT_LOCATION("warmelt-macro.melt:6332:/ cond"); /*cond*/ if (/*_#eqeqI__L6*/ meltfnum[0]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { { MELT_LOCATION("warmelt-macro.melt:6333:/ locexp"); /* error_plain */ melt_error_str((melt_ptr_t)(/*_.LOC__V16*/ meltfptr[15]), ( "* operator needs at least one argument"), (melt_ptr_t)0); } ; MELT_LOCATION("warmelt-macro.melt:6334:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*reallynil*/ NULL ;; { MELT_LOCATION("warmelt-macro.melt:6334:/ locexp"); /*ochecknores compilobj_nrep_return*/ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results(); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG*/ ; } ; /*^finalreturn*/ ; /*finalret*/ goto meltlabend_rout ; MELT_LOCATION("warmelt-macro.melt:6332:/ quasiblock"); /*_.PROGN___V22*/ meltfptr[21] = /*_.RETURN___V21*/ meltfptr[20];; /*^compute*/ /*_._IF___V20*/ meltfptr[19] = /*_.PROGN___V22*/ meltfptr[21];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6332:/ clear"); /*clear*/ /*_.RETURN___V21*/ meltfptr[20] = 0 ; /*^clear*/ /*clear*/ /*_.PROGN___V22*/ meltfptr[21] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V20*/ meltfptr[19] = /*reallynil*/ NULL ;; } ; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6335:/ cppif.then"); /*^block*/ /*anyblock*/ { { /*^locexp*/ /*melt_increment_dbgcounter*/ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL(); ; /*_#MELT_NEED_DBG__L7*/ meltfnum[6] = /*MELT_NEED_DBG*/ #if MELT_HAVE_DEBUG (/*melt_need_dbg*/ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG*/ ;; MELT_LOCATION("warmelt-macro.melt:6335:/ cond"); /*cond*/ if (/*_#MELT_NEED_DBG__L7*/ meltfnum[6]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { /*_#MELT_CALLCOUNT__L8*/ meltfnum[7] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6335:/ apply"); /*apply*/ { union meltparam_un argtab[5]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L8*/ meltfnum[7]; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6335; /*^apply.arg*/ argtab[3].meltbp_cstring = "mexpand_times result"; /*^apply.arg*/ argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.RES__V18*/ meltfptr[17]; /*_.MELT_DEBUG_FUN__V24*/ meltfptr[21] = melt_apply ((meltclosure_ptr_t)((/*!MELT_DEBUG_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IF___V23*/ meltfptr[20] = /*_.MELT_DEBUG_FUN__V24*/ meltfptr[21];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6335:/ clear"); /*clear*/ /*_#MELT_CALLCOUNT__L8*/ meltfnum[7] = 0 ; /*^clear*/ /*clear*/ /*_.MELT_DEBUG_FUN__V24*/ meltfptr[21] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V23*/ meltfptr[20] = /*reallynil*/ NULL ;; } ; { MELT_LOCATION("warmelt-macro.melt:6335:/ locexp"); /*void*/(void)0; } ; /*^quasiblock*/ /*epilog*/ /*^clear*/ /*clear*/ /*_#MELT_NEED_DBG__L7*/ meltfnum[6] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V23*/ meltfptr[20] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*^block*/ /*anyblock*/ { { /*^locexp*/ /*void*/(void)0; } ; /*epilog*/ } #endif /*MELT_HAVE_DEBUG*/ ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6336:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.RES__V18*/ meltfptr[17];; { MELT_LOCATION("warmelt-macro.melt:6336:/ locexp"); /*ochecknores compilobj_nrep_return*/ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results(); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG*/ ; } ; /*^finalreturn*/ ; /*finalret*/ goto meltlabend_rout ; /*_.LET___V14*/ meltfptr[12] = /*_.RETURN___V25*/ meltfptr[21];; MELT_LOCATION("warmelt-macro.melt:6321:/ clear"); /*clear*/ /*_.CONT__V15*/ meltfptr[5] = 0 ; /*^clear*/ /*clear*/ /*_.LOC__V16*/ meltfptr[15] = 0 ; /*^clear*/ /*clear*/ /*_.XARGTUP__V17*/ meltfptr[16] = 0 ; /*^clear*/ /*clear*/ /*_.RES__V18*/ meltfptr[17] = 0 ; /*^clear*/ /*clear*/ /*_#MULTIPLE_LENGTH__L5*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_#eqeqI__L6*/ meltfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V20*/ meltfptr[19] = 0 ; /*^clear*/ /*clear*/ /*_.RETURN___V25*/ meltfptr[21] = 0 ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6317:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.LET___V14*/ meltfptr[12];; { MELT_LOCATION("warmelt-macro.melt:6317:/ locexp"); /*ochecknores compilobj_nrep_return*/ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results(); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG*/ ; } ; /*^finalreturn*/ ; /*finalret*/ goto meltlabend_rout ; /*epilog*/ /*^clear*/ /*clear*/ /*_.IFCPP___V8*/ meltfptr[6] = 0 ; /*^clear*/ /*clear*/ /*_.IFCPP___V11*/ meltfptr[9] = 0 ; /*^clear*/ /*clear*/ /*_.LET___V14*/ meltfptr[12] = 0 ; } ; goto meltlabend_rout; meltlabend_rout: melt_trace_end("MEXPAND_TIMES", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_112_WARMELTmiMACRO_MEXPAND_TIMES_melt; return (melt_ptr_t)(/*_._RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_112_WARMELTmiMACRO_MEXPAND_TIMES*/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_113_WARMELTmiMACRO_MEXPAND_DIV(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_) { long current_blocklevel_signals_meltrout_113_WARMELTmiMACRO_MEXPAND_DIV_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long melt_call_counter__; long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__; #undef meltcallcount #define meltcallcount melt_thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1490 /* start of frame for routine meltrout_113_WARMELTmiMACRO_MEXPAND_DIV fromline 1704 */ /** start of frame for meltrout_113_WARMELTmiMACRO_MEXPAND_DIV of CLASS_PROCROUTINEOBJ from 1507**/ /*curframdeclclassy*/ class MeltFrame_meltrout_113_WARMELTmiMACRO_MEXPAND_DIV// fromline 1520 : public Melt_CallFrameWithValues<25> { public: /* fromline 1524*/ long mcfr_varnum[8]; /*classy others*/ long _meltsparel; void melt_mark_stuff (void) { } /*end melt_mark_stuff*/ virtual void melt_mark_ggc_data (void) { melt_mark_values (); melt_mark_stuff (); }; /*end melt_mark_ggc_data*/ MeltFrame_meltrout_113_WARMELTmiMACRO_MEXPAND_DIV(meltclosure_ptr_t clos) //the closure constructor fromline 1582 : Melt_CallFrameWithValues<25> ( #if ENABLE_CHECKING /*fromline 1586*/ __FILE__, __LINE__, #endif /* ENABLE_CHECKING fromline 1590*/ sizeof(MeltFrame_meltrout_113_WARMELTmiMACRO_MEXPAND_DIV), clos) {}; MeltFrame_meltrout_113_WARMELTmiMACRO_MEXPAND_DIV() //the constructor fromline 1594 : Melt_CallFrameWithValues<25> ( #if ENABLE_CHECKING /*fromline 1598*/ __FILE__, __LINE__, #endif /* ENABLE_CHECKING fromline 1602*/ sizeof(MeltFrame_meltrout_113_WARMELTmiMACRO_MEXPAND_DIV)) {}; #if ENABLE_CHECKING /*fromline 1606*/ MeltFrame_meltrout_113_WARMELTmiMACRO_MEXPAND_DIV(const char*fil, int lin) //the constructor fromline 1608 : Melt_CallFrameWithValues<25> (fil,lin, sizeof(MeltFrame_meltrout_113_WARMELTmiMACRO_MEXPAND_DIV)) {}; MeltFrame_meltrout_113_WARMELTmiMACRO_MEXPAND_DIV(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1613 : Melt_CallFrameWithValues<25> (fil,lin, sizeof(MeltFrame_meltrout_113_WARMELTmiMACRO_MEXPAND_DIV), clos) {}; #endif /* ENABLE_CHECKING fromline 1618*/ }; // end class MeltFrame_meltrout_113_WARMELTmiMACRO_MEXPAND_DIV /** end of frame for meltrout_113_WARMELTmiMACRO_MEXPAND_DIV fromline 1649**/ /* end of frame for routine meltrout_113_WARMELTmiMACRO_MEXPAND_DIV fromline 1708 */ /* classy proc frame meltrout_113_WARMELTmiMACRO_MEXPAND_DIV */ MeltFrame_meltrout_113_WARMELTmiMACRO_MEXPAND_DIV meltfram__ /*declfrastruct fromline 1732*/ /*classyprocarg meltrout_113_WARMELTmiMACRO_MEXPAND_DIV fromline 1737*/ #if ENABLE_CHECKING (__FILE__, __LINE__, meltclosp_) /* fromline 1741*/ #else /*ENABLE_CHECKING */ (meltclosp_) /* fromline 1745*/ #endif /*ENABLE_CHECKING */ ; #define meltframe meltfram__ melt_trace_start("MEXPAND_DIV", meltcallcount); /*use arguments*/ (void) meltclosp_; (void)meltfirstargp_; (void)meltxargdescr_; (void)meltxargtab_; (void)meltxresdescr_; (void)meltxrestab_; /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-macro.melt:6346:/ getarg"); /*_.SEXPR__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1*/ /*^getarg*/ if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_endgetargs; /*_.ENV__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2])) != NULL); /*getarg#2*/ /*^getarg*/ if (meltxargdescr_[1] != MELTBPAR_PTR) goto meltlab_endgetargs; /*_.MEXPANDER__V4*/ meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.MEXPANDER__V4*/ meltfptr[3])) != NULL); /*getarg#3*/ /*^getarg*/ if (meltxargdescr_[2] != MELTBPAR_PTR) goto meltlab_endgetargs; /*_.MODCTX__V5*/ meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.MODCTX__V5*/ meltfptr[4])) != NULL); ; goto meltlab_endgetargs; meltlab_endgetargs: ; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6347:/ cppif.then"); /*^block*/ /*anyblock*/ { { /*^locexp*/ /*melt_increment_dbgcounter*/ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL(); ; /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = /*MELT_NEED_DBG*/ #if MELT_HAVE_DEBUG (/*melt_need_dbg*/ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG*/ ;; MELT_LOCATION("warmelt-macro.melt:6347:/ cond"); /*cond*/ if (/*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { /*_#MELT_CALLCOUNT__L2*/ meltfnum[1] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6347:/ apply"); /*apply*/ { union meltparam_un argtab[5]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6347; /*^apply.arg*/ argtab[3].meltbp_cstring = "mexpand_div sexpr="; /*^apply.arg*/ argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.SEXPR__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V7*/ meltfptr[6] = melt_apply ((meltclosure_ptr_t)((/*!MELT_DEBUG_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IF___V6*/ meltfptr[5] = /*_.MELT_DEBUG_FUN__V7*/ meltfptr[6];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6347:/ clear"); /*clear*/ /*_#MELT_CALLCOUNT__L2*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_.MELT_DEBUG_FUN__V7*/ meltfptr[6] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V6*/ meltfptr[5] = /*reallynil*/ NULL ;; } ; { MELT_LOCATION("warmelt-macro.melt:6347:/ locexp"); /*void*/(void)0; } ; /*^quasiblock*/ /*epilog*/ /*^clear*/ /*clear*/ /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V6*/ meltfptr[5] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*^block*/ /*anyblock*/ { { /*^locexp*/ /*void*/(void)0; } ; /*epilog*/ } #endif /*MELT_HAVE_DEBUG*/ ; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6348:/ cppif.then"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*_#IS_A__L3*/ meltfnum[1] = melt_is_instance_of((melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_SEXPR*/ meltfrout->tabval[1])));; MELT_LOCATION("warmelt-macro.melt:6348:/ cond"); /*cond*/ if (/*_#IS_A__L3*/ meltfnum[1]) /*then*/ { /*^cond.then*/ /*_._IFELSE___V9*/ meltfptr[5] = (/*nil*/NULL);; } else { MELT_LOCATION("warmelt-macro.melt:6348:/ cond.else"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*^apply*/ /*apply*/ { union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_cstring = "check sexpr"; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6348; /*^apply.arg*/ argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.SEXPR__V2*/ meltfptr[1]; /*_.MELT_ASSERT_FAILURE_FUN__V10*/ meltfptr[9] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[2])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IFELSE___V9*/ meltfptr[5] = /*_.MELT_ASSERT_FAILURE_FUN__V10*/ meltfptr[9];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6348:/ clear"); /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V10*/ meltfptr[9] = 0 ; } ; } ; /*_.IFCPP___V8*/ meltfptr[6] = /*_._IFELSE___V9*/ meltfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6348:/ clear"); /*clear*/ /*_#IS_A__L3*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_._IFELSE___V9*/ meltfptr[5] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*_.IFCPP___V8*/ meltfptr[6] = (/*nil*/NULL); #endif /*MELT_HAVE_DEBUG*/ ; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6349:/ cppif.then"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*_#IS_A__L4*/ meltfnum[0] = melt_is_instance_of((melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2]), (melt_ptr_t)((/*!CLASS_ENVIRONMENT*/ meltfrout->tabval[3])));; MELT_LOCATION("warmelt-macro.melt:6349:/ cond"); /*cond*/ if (/*_#IS_A__L4*/ meltfnum[0]) /*then*/ { /*^cond.then*/ /*_._IFELSE___V12*/ meltfptr[5] = (/*nil*/NULL);; } else { MELT_LOCATION("warmelt-macro.melt:6349:/ cond.else"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*^apply*/ /*apply*/ { union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_cstring = "check env"; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6349; /*^apply.arg*/ argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.ENV__V3*/ meltfptr[2]; /*_.MELT_ASSERT_FAILURE_FUN__V13*/ meltfptr[12] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[2])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IFELSE___V12*/ meltfptr[5] = /*_.MELT_ASSERT_FAILURE_FUN__V13*/ meltfptr[12];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6349:/ clear"); /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V13*/ meltfptr[12] = 0 ; } ; } ; /*_.IFCPP___V11*/ meltfptr[9] = /*_._IFELSE___V12*/ meltfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6349:/ clear"); /*clear*/ /*_#IS_A__L4*/ meltfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_._IFELSE___V12*/ meltfptr[5] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*_.IFCPP___V11*/ meltfptr[9] = (/*nil*/NULL); #endif /*MELT_HAVE_DEBUG*/ ; MELT_LOCATION("warmelt-macro.melt:6350:/ quasiblock"); MELT_LOCATION("warmelt-macro.melt:6351:/ getslot"); { melt_ptr_t slot=NULL, obj=NULL; obj = (melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/; melt_object_get_field(slot,obj, 2, "SEXP_CONTENTS"); /*_.CONT__V15*/ meltfptr[5] = slot; }; ; MELT_LOCATION("warmelt-macro.melt:6352:/ getslot"); { melt_ptr_t slot=NULL, obj=NULL; obj = (melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/; melt_object_get_field(slot,obj, 1, "LOCA_LOCATION"); /*_.LOC__V16*/ meltfptr[15] = slot; }; ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6353:/ apply"); /*apply*/ { union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_aptr = (melt_ptr_t*) &/*_.ENV__V3*/ meltfptr[2]; /*^apply.arg*/ argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.MEXPANDER__V4*/ meltfptr[3]; /*^apply.arg*/ argtab[2].meltbp_aptr = (melt_ptr_t*) &/*_.MODCTX__V5*/ meltfptr[4]; /*_.XARGTUP__V17*/ meltfptr[16] = melt_apply ((meltclosure_ptr_t)((/*!EXPAND_RESTLIST_AS_TUPLE*/ meltfrout->tabval[4])), (melt_ptr_t)(/*_.CONT__V15*/ meltfptr[5]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6354:/ quasiblock"); /*^rawallocobj*/ /*rawallocobj*/ { melt_ptr_t newobj = 0; melt_raw_object_create(newobj,(melt_ptr_t)((/*!CLASS_SOURCE_ARITHMETIC_VARIADIC_OPERATION*/ meltfrout->tabval[5])), (5), "CLASS_SOURCE_ARITHMETIC_VARIADIC_OPERATION"); /*_.INST__V19*/ meltfptr[18] = newobj; }; ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @LOCA_LOCATION", melt_magic_discr((melt_ptr_t)(/*_.INST__V19*/ meltfptr[18])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V19*/ meltfptr[18]), (1), (/*_.LOC__V16*/ meltfptr[15]), "LOCA_LOCATION"); ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @SARGOP_ARGS", melt_magic_discr((melt_ptr_t)(/*_.INST__V19*/ meltfptr[18])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V19*/ meltfptr[18]), (2), (/*_.XARGTUP__V17*/ meltfptr[16]), "SARGOP_ARGS"); ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @SARITHVAR_NEUTRAL", melt_magic_discr((melt_ptr_t)(/*_.INST__V19*/ meltfptr[18])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V19*/ meltfptr[18]), (3), ((/*!konst_6*/ meltfrout->tabval[6])), "SARITHVAR_NEUTRAL"); ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @SARITHVAR_PRIMITIVE", melt_magic_discr((melt_ptr_t)(/*_.INST__V19*/ meltfptr[18])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V19*/ meltfptr[18]), (4), ((/*!/I*/ meltfrout->tabval[7])), "SARITHVAR_PRIMITIVE"); ; /*^touchobj*/ melt_dbgtrace_written_object (/*_.INST__V19*/ meltfptr[18], "newly made instance"); ; /*_.RES__V18*/ meltfptr[17] = /*_.INST__V19*/ meltfptr[18];; MELT_CHECK_SIGNAL(); ; /*^compute*/ /*_#MULTIPLE_LENGTH__L5*/ meltfnum[1] = (melt_multiple_length((melt_ptr_t)(/*_.XARGTUP__V17*/ meltfptr[16])));; /*^compute*/ /*_#eqeqI__L6*/ meltfnum[0] = ((0) == (/*_#MULTIPLE_LENGTH__L5*/ meltfnum[1]));; MELT_LOCATION("warmelt-macro.melt:6361:/ cond"); /*cond*/ if (/*_#eqeqI__L6*/ meltfnum[0]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { { MELT_LOCATION("warmelt-macro.melt:6362:/ locexp"); /* error_plain */ melt_error_str((melt_ptr_t)(/*_.LOC__V16*/ meltfptr[15]), ( "/ operator needs at least one argument"), (melt_ptr_t)0); } ; MELT_LOCATION("warmelt-macro.melt:6363:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*reallynil*/ NULL ;; { MELT_LOCATION("warmelt-macro.melt:6363:/ locexp"); /*ochecknores compilobj_nrep_return*/ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results(); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG*/ ; } ; /*^finalreturn*/ ; /*finalret*/ goto meltlabend_rout ; MELT_LOCATION("warmelt-macro.melt:6361:/ quasiblock"); /*_.PROGN___V22*/ meltfptr[21] = /*_.RETURN___V21*/ meltfptr[20];; /*^compute*/ /*_._IF___V20*/ meltfptr[19] = /*_.PROGN___V22*/ meltfptr[21];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6361:/ clear"); /*clear*/ /*_.RETURN___V21*/ meltfptr[20] = 0 ; /*^clear*/ /*clear*/ /*_.PROGN___V22*/ meltfptr[21] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V20*/ meltfptr[19] = /*reallynil*/ NULL ;; } ; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6364:/ cppif.then"); /*^block*/ /*anyblock*/ { { /*^locexp*/ /*melt_increment_dbgcounter*/ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL(); ; /*_#MELT_NEED_DBG__L7*/ meltfnum[6] = /*MELT_NEED_DBG*/ #if MELT_HAVE_DEBUG (/*melt_need_dbg*/ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG*/ ;; MELT_LOCATION("warmelt-macro.melt:6364:/ cond"); /*cond*/ if (/*_#MELT_NEED_DBG__L7*/ meltfnum[6]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { /*_#MELT_CALLCOUNT__L8*/ meltfnum[7] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6364:/ apply"); /*apply*/ { union meltparam_un argtab[5]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L8*/ meltfnum[7]; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6364; /*^apply.arg*/ argtab[3].meltbp_cstring = "mexpand_div result"; /*^apply.arg*/ argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.RES__V18*/ meltfptr[17]; /*_.MELT_DEBUG_FUN__V24*/ meltfptr[21] = melt_apply ((meltclosure_ptr_t)((/*!MELT_DEBUG_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IF___V23*/ meltfptr[20] = /*_.MELT_DEBUG_FUN__V24*/ meltfptr[21];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6364:/ clear"); /*clear*/ /*_#MELT_CALLCOUNT__L8*/ meltfnum[7] = 0 ; /*^clear*/ /*clear*/ /*_.MELT_DEBUG_FUN__V24*/ meltfptr[21] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V23*/ meltfptr[20] = /*reallynil*/ NULL ;; } ; { MELT_LOCATION("warmelt-macro.melt:6364:/ locexp"); /*void*/(void)0; } ; /*^quasiblock*/ /*epilog*/ /*^clear*/ /*clear*/ /*_#MELT_NEED_DBG__L7*/ meltfnum[6] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V23*/ meltfptr[20] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*^block*/ /*anyblock*/ { { /*^locexp*/ /*void*/(void)0; } ; /*epilog*/ } #endif /*MELT_HAVE_DEBUG*/ ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6365:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.RES__V18*/ meltfptr[17];; { MELT_LOCATION("warmelt-macro.melt:6365:/ locexp"); /*ochecknores compilobj_nrep_return*/ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results(); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG*/ ; } ; /*^finalreturn*/ ; /*finalret*/ goto meltlabend_rout ; /*_.LET___V14*/ meltfptr[12] = /*_.RETURN___V25*/ meltfptr[21];; MELT_LOCATION("warmelt-macro.melt:6350:/ clear"); /*clear*/ /*_.CONT__V15*/ meltfptr[5] = 0 ; /*^clear*/ /*clear*/ /*_.LOC__V16*/ meltfptr[15] = 0 ; /*^clear*/ /*clear*/ /*_.XARGTUP__V17*/ meltfptr[16] = 0 ; /*^clear*/ /*clear*/ /*_.RES__V18*/ meltfptr[17] = 0 ; /*^clear*/ /*clear*/ /*_#MULTIPLE_LENGTH__L5*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_#eqeqI__L6*/ meltfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V20*/ meltfptr[19] = 0 ; /*^clear*/ /*clear*/ /*_.RETURN___V25*/ meltfptr[21] = 0 ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6346:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.LET___V14*/ meltfptr[12];; { MELT_LOCATION("warmelt-macro.melt:6346:/ locexp"); /*ochecknores compilobj_nrep_return*/ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results(); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG*/ ; } ; /*^finalreturn*/ ; /*finalret*/ goto meltlabend_rout ; /*epilog*/ /*^clear*/ /*clear*/ /*_.IFCPP___V8*/ meltfptr[6] = 0 ; /*^clear*/ /*clear*/ /*_.IFCPP___V11*/ meltfptr[9] = 0 ; /*^clear*/ /*clear*/ /*_.LET___V14*/ meltfptr[12] = 0 ; } ; goto meltlabend_rout; meltlabend_rout: melt_trace_end("MEXPAND_DIV", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_113_WARMELTmiMACRO_MEXPAND_DIV_melt; return (melt_ptr_t)(/*_._RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_113_WARMELTmiMACRO_MEXPAND_DIV*/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_114_WARMELTmiMACRO_MEXPAND_TUPLE(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_) { long current_blocklevel_signals_meltrout_114_WARMELTmiMACRO_MEXPAND_TUPLE_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long melt_call_counter__; long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__; #undef meltcallcount #define meltcallcount melt_thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1490 /* start of frame for routine meltrout_114_WARMELTmiMACRO_MEXPAND_TUPLE fromline 1704 */ /** start of frame for meltrout_114_WARMELTmiMACRO_MEXPAND_TUPLE of CLASS_PROCROUTINEOBJ from 1507**/ /*curframdeclclassy*/ class MeltFrame_meltrout_114_WARMELTmiMACRO_MEXPAND_TUPLE// fromline 1520 : public Melt_CallFrameWithValues<22> { public: /* fromline 1524*/ long mcfr_varnum[6]; /*classy others*/ long _meltsparel; void melt_mark_stuff (void) { } /*end melt_mark_stuff*/ virtual void melt_mark_ggc_data (void) { melt_mark_values (); melt_mark_stuff (); }; /*end melt_mark_ggc_data*/ MeltFrame_meltrout_114_WARMELTmiMACRO_MEXPAND_TUPLE(meltclosure_ptr_t clos) //the closure constructor fromline 1582 : Melt_CallFrameWithValues<22> ( #if ENABLE_CHECKING /*fromline 1586*/ __FILE__, __LINE__, #endif /* ENABLE_CHECKING fromline 1590*/ sizeof(MeltFrame_meltrout_114_WARMELTmiMACRO_MEXPAND_TUPLE), clos) {}; MeltFrame_meltrout_114_WARMELTmiMACRO_MEXPAND_TUPLE() //the constructor fromline 1594 : Melt_CallFrameWithValues<22> ( #if ENABLE_CHECKING /*fromline 1598*/ __FILE__, __LINE__, #endif /* ENABLE_CHECKING fromline 1602*/ sizeof(MeltFrame_meltrout_114_WARMELTmiMACRO_MEXPAND_TUPLE)) {}; #if ENABLE_CHECKING /*fromline 1606*/ MeltFrame_meltrout_114_WARMELTmiMACRO_MEXPAND_TUPLE(const char*fil, int lin) //the constructor fromline 1608 : Melt_CallFrameWithValues<22> (fil,lin, sizeof(MeltFrame_meltrout_114_WARMELTmiMACRO_MEXPAND_TUPLE)) {}; MeltFrame_meltrout_114_WARMELTmiMACRO_MEXPAND_TUPLE(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1613 : Melt_CallFrameWithValues<22> (fil,lin, sizeof(MeltFrame_meltrout_114_WARMELTmiMACRO_MEXPAND_TUPLE), clos) {}; #endif /* ENABLE_CHECKING fromline 1618*/ }; // end class MeltFrame_meltrout_114_WARMELTmiMACRO_MEXPAND_TUPLE /** end of frame for meltrout_114_WARMELTmiMACRO_MEXPAND_TUPLE fromline 1649**/ /* end of frame for routine meltrout_114_WARMELTmiMACRO_MEXPAND_TUPLE fromline 1708 */ /* classy proc frame meltrout_114_WARMELTmiMACRO_MEXPAND_TUPLE */ MeltFrame_meltrout_114_WARMELTmiMACRO_MEXPAND_TUPLE meltfram__ /*declfrastruct fromline 1732*/ /*classyprocarg meltrout_114_WARMELTmiMACRO_MEXPAND_TUPLE fromline 1737*/ #if ENABLE_CHECKING (__FILE__, __LINE__, meltclosp_) /* fromline 1741*/ #else /*ENABLE_CHECKING */ (meltclosp_) /* fromline 1745*/ #endif /*ENABLE_CHECKING */ ; #define meltframe meltfram__ melt_trace_start("MEXPAND_TUPLE", meltcallcount); /*use arguments*/ (void) meltclosp_; (void)meltfirstargp_; (void)meltxargdescr_; (void)meltxargtab_; (void)meltxresdescr_; (void)meltxrestab_; /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-macro.melt:6375:/ getarg"); /*_.SEXPR__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1*/ /*^getarg*/ if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_endgetargs; /*_.ENV__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2])) != NULL); /*getarg#2*/ /*^getarg*/ if (meltxargdescr_[1] != MELTBPAR_PTR) goto meltlab_endgetargs; /*_.MEXPANDER__V4*/ meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.MEXPANDER__V4*/ meltfptr[3])) != NULL); /*getarg#3*/ /*^getarg*/ if (meltxargdescr_[2] != MELTBPAR_PTR) goto meltlab_endgetargs; /*_.MODCTX__V5*/ meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.MODCTX__V5*/ meltfptr[4])) != NULL); ; goto meltlab_endgetargs; meltlab_endgetargs: ; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6376:/ cppif.then"); /*^block*/ /*anyblock*/ { { /*^locexp*/ /*melt_increment_dbgcounter*/ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL(); ; /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = /*MELT_NEED_DBG*/ #if MELT_HAVE_DEBUG (/*melt_need_dbg*/ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG*/ ;; MELT_LOCATION("warmelt-macro.melt:6376:/ cond"); /*cond*/ if (/*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { /*_#MELT_CALLCOUNT__L2*/ meltfnum[1] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6376:/ apply"); /*apply*/ { union meltparam_un argtab[5]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6376; /*^apply.arg*/ argtab[3].meltbp_cstring = "mexpand_tuple sexpr="; /*^apply.arg*/ argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.SEXPR__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V7*/ meltfptr[6] = melt_apply ((meltclosure_ptr_t)((/*!MELT_DEBUG_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IF___V6*/ meltfptr[5] = /*_.MELT_DEBUG_FUN__V7*/ meltfptr[6];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6376:/ clear"); /*clear*/ /*_#MELT_CALLCOUNT__L2*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_.MELT_DEBUG_FUN__V7*/ meltfptr[6] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V6*/ meltfptr[5] = /*reallynil*/ NULL ;; } ; { MELT_LOCATION("warmelt-macro.melt:6376:/ locexp"); /*void*/(void)0; } ; /*^quasiblock*/ /*epilog*/ /*^clear*/ /*clear*/ /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V6*/ meltfptr[5] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*^block*/ /*anyblock*/ { { /*^locexp*/ /*void*/(void)0; } ; /*epilog*/ } #endif /*MELT_HAVE_DEBUG*/ ; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6377:/ cppif.then"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*_#IS_A__L3*/ meltfnum[1] = melt_is_instance_of((melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_SEXPR*/ meltfrout->tabval[1])));; MELT_LOCATION("warmelt-macro.melt:6377:/ cond"); /*cond*/ if (/*_#IS_A__L3*/ meltfnum[1]) /*then*/ { /*^cond.then*/ /*_._IFELSE___V9*/ meltfptr[5] = (/*nil*/NULL);; } else { MELT_LOCATION("warmelt-macro.melt:6377:/ cond.else"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*^apply*/ /*apply*/ { union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_cstring = "check sexpr"; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6377; /*^apply.arg*/ argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.SEXPR__V2*/ meltfptr[1]; /*_.MELT_ASSERT_FAILURE_FUN__V10*/ meltfptr[9] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[2])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IFELSE___V9*/ meltfptr[5] = /*_.MELT_ASSERT_FAILURE_FUN__V10*/ meltfptr[9];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6377:/ clear"); /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V10*/ meltfptr[9] = 0 ; } ; } ; /*_.IFCPP___V8*/ meltfptr[6] = /*_._IFELSE___V9*/ meltfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6377:/ clear"); /*clear*/ /*_#IS_A__L3*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_._IFELSE___V9*/ meltfptr[5] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*_.IFCPP___V8*/ meltfptr[6] = (/*nil*/NULL); #endif /*MELT_HAVE_DEBUG*/ ; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6378:/ cppif.then"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*_#IS_A__L4*/ meltfnum[0] = melt_is_instance_of((melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2]), (melt_ptr_t)((/*!CLASS_ENVIRONMENT*/ meltfrout->tabval[3])));; MELT_LOCATION("warmelt-macro.melt:6378:/ cond"); /*cond*/ if (/*_#IS_A__L4*/ meltfnum[0]) /*then*/ { /*^cond.then*/ /*_._IFELSE___V12*/ meltfptr[5] = (/*nil*/NULL);; } else { MELT_LOCATION("warmelt-macro.melt:6378:/ cond.else"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*^apply*/ /*apply*/ { union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_cstring = "check env"; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6378; /*^apply.arg*/ argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.ENV__V3*/ meltfptr[2]; /*_.MELT_ASSERT_FAILURE_FUN__V13*/ meltfptr[12] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[2])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IFELSE___V12*/ meltfptr[5] = /*_.MELT_ASSERT_FAILURE_FUN__V13*/ meltfptr[12];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6378:/ clear"); /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V13*/ meltfptr[12] = 0 ; } ; } ; /*_.IFCPP___V11*/ meltfptr[9] = /*_._IFELSE___V12*/ meltfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6378:/ clear"); /*clear*/ /*_#IS_A__L4*/ meltfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_._IFELSE___V12*/ meltfptr[5] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*_.IFCPP___V11*/ meltfptr[9] = (/*nil*/NULL); #endif /*MELT_HAVE_DEBUG*/ ; MELT_LOCATION("warmelt-macro.melt:6379:/ quasiblock"); MELT_LOCATION("warmelt-macro.melt:6380:/ getslot"); { melt_ptr_t slot=NULL, obj=NULL; obj = (melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/; melt_object_get_field(slot,obj, 2, "SEXP_CONTENTS"); /*_.CONT__V15*/ meltfptr[5] = slot; }; ; MELT_LOCATION("warmelt-macro.melt:6381:/ getslot"); { melt_ptr_t slot=NULL, obj=NULL; obj = (melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/; melt_object_get_field(slot,obj, 1, "LOCA_LOCATION"); /*_.LOC__V16*/ meltfptr[15] = slot; }; ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6382:/ apply"); /*apply*/ { union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_aptr = (melt_ptr_t*) &/*_.ENV__V3*/ meltfptr[2]; /*^apply.arg*/ argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.MEXPANDER__V4*/ meltfptr[3]; /*^apply.arg*/ argtab[2].meltbp_aptr = (melt_ptr_t*) &/*_.MODCTX__V5*/ meltfptr[4]; /*_.XARGTUP__V17*/ meltfptr[16] = melt_apply ((meltclosure_ptr_t)((/*!EXPAND_RESTLIST_AS_TUPLE*/ meltfrout->tabval[4])), (melt_ptr_t)(/*_.CONT__V15*/ meltfptr[5]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6383:/ quasiblock"); /*^rawallocobj*/ /*rawallocobj*/ { melt_ptr_t newobj = 0; melt_raw_object_create(newobj,(melt_ptr_t)((/*!CLASS_SOURCE_TUPLE*/ meltfrout->tabval[5])), (3), "CLASS_SOURCE_TUPLE"); /*_.INST__V19*/ meltfptr[18] = newobj; }; ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @LOCA_LOCATION", melt_magic_discr((melt_ptr_t)(/*_.INST__V19*/ meltfptr[18])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V19*/ meltfptr[18]), (1), (/*_.LOC__V16*/ meltfptr[15]), "LOCA_LOCATION"); ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @SARGOP_ARGS", melt_magic_discr((melt_ptr_t)(/*_.INST__V19*/ meltfptr[18])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V19*/ meltfptr[18]), (2), (/*_.XARGTUP__V17*/ meltfptr[16]), "SARGOP_ARGS"); ; /*^touchobj*/ melt_dbgtrace_written_object (/*_.INST__V19*/ meltfptr[18], "newly made instance"); ; /*_.RES__V18*/ meltfptr[17] = /*_.INST__V19*/ meltfptr[18];; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6387:/ cppif.then"); /*^block*/ /*anyblock*/ { { /*^locexp*/ /*melt_increment_dbgcounter*/ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL(); ; /*_#MELT_NEED_DBG__L5*/ meltfnum[1] = /*MELT_NEED_DBG*/ #if MELT_HAVE_DEBUG (/*melt_need_dbg*/ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG*/ ;; MELT_LOCATION("warmelt-macro.melt:6387:/ cond"); /*cond*/ if (/*_#MELT_NEED_DBG__L5*/ meltfnum[1]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { /*_#MELT_CALLCOUNT__L6*/ meltfnum[0] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6387:/ apply"); /*apply*/ { union meltparam_un argtab[5]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L6*/ meltfnum[0]; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6387; /*^apply.arg*/ argtab[3].meltbp_cstring = "mexpand_tuple result"; /*^apply.arg*/ argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.RES__V18*/ meltfptr[17]; /*_.MELT_DEBUG_FUN__V21*/ meltfptr[20] = melt_apply ((meltclosure_ptr_t)((/*!MELT_DEBUG_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IF___V20*/ meltfptr[19] = /*_.MELT_DEBUG_FUN__V21*/ meltfptr[20];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6387:/ clear"); /*clear*/ /*_#MELT_CALLCOUNT__L6*/ meltfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_.MELT_DEBUG_FUN__V21*/ meltfptr[20] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V20*/ meltfptr[19] = /*reallynil*/ NULL ;; } ; { MELT_LOCATION("warmelt-macro.melt:6387:/ locexp"); /*void*/(void)0; } ; /*^quasiblock*/ /*epilog*/ /*^clear*/ /*clear*/ /*_#MELT_NEED_DBG__L5*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V20*/ meltfptr[19] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*^block*/ /*anyblock*/ { { /*^locexp*/ /*void*/(void)0; } ; /*epilog*/ } #endif /*MELT_HAVE_DEBUG*/ ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6388:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.RES__V18*/ meltfptr[17];; { MELT_LOCATION("warmelt-macro.melt:6388:/ locexp"); /*ochecknores compilobj_nrep_return*/ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results(); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG*/ ; } ; /*^finalreturn*/ ; /*finalret*/ goto meltlabend_rout ; /*_.LET___V14*/ meltfptr[12] = /*_.RETURN___V22*/ meltfptr[20];; MELT_LOCATION("warmelt-macro.melt:6379:/ clear"); /*clear*/ /*_.CONT__V15*/ meltfptr[5] = 0 ; /*^clear*/ /*clear*/ /*_.LOC__V16*/ meltfptr[15] = 0 ; /*^clear*/ /*clear*/ /*_.XARGTUP__V17*/ meltfptr[16] = 0 ; /*^clear*/ /*clear*/ /*_.RES__V18*/ meltfptr[17] = 0 ; /*^clear*/ /*clear*/ /*_.RETURN___V22*/ meltfptr[20] = 0 ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6375:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.LET___V14*/ meltfptr[12];; { MELT_LOCATION("warmelt-macro.melt:6375:/ locexp"); /*ochecknores compilobj_nrep_return*/ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results(); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG*/ ; } ; /*^finalreturn*/ ; /*finalret*/ goto meltlabend_rout ; /*epilog*/ /*^clear*/ /*clear*/ /*_.IFCPP___V8*/ meltfptr[6] = 0 ; /*^clear*/ /*clear*/ /*_.IFCPP___V11*/ meltfptr[9] = 0 ; /*^clear*/ /*clear*/ /*_.LET___V14*/ meltfptr[12] = 0 ; } ; goto meltlabend_rout; meltlabend_rout: melt_trace_end("MEXPAND_TUPLE", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_114_WARMELTmiMACRO_MEXPAND_TUPLE_melt; return (melt_ptr_t)(/*_._RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_114_WARMELTmiMACRO_MEXPAND_TUPLE*/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_115_WARMELTmiMACRO_PATEXPAND_TUPLE(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_) { long current_blocklevel_signals_meltrout_115_WARMELTmiMACRO_PATEXPAND_TUPLE_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long melt_call_counter__; long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__; #undef meltcallcount #define meltcallcount melt_thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1490 /* start of frame for routine meltrout_115_WARMELTmiMACRO_PATEXPAND_TUPLE fromline 1704 */ /** start of frame for meltrout_115_WARMELTmiMACRO_PATEXPAND_TUPLE of CLASS_PROCROUTINEOBJ from 1507**/ /*curframdeclclassy*/ class MeltFrame_meltrout_115_WARMELTmiMACRO_PATEXPAND_TUPLE// fromline 1520 : public Melt_CallFrameWithValues<26> { public: /* fromline 1524*/ long mcfr_varnum[7]; /*classy others*/ long _meltsparel; void melt_mark_stuff (void) { } /*end melt_mark_stuff*/ virtual void melt_mark_ggc_data (void) { melt_mark_values (); melt_mark_stuff (); }; /*end melt_mark_ggc_data*/ MeltFrame_meltrout_115_WARMELTmiMACRO_PATEXPAND_TUPLE(meltclosure_ptr_t clos) //the closure constructor fromline 1582 : Melt_CallFrameWithValues<26> ( #if ENABLE_CHECKING /*fromline 1586*/ __FILE__, __LINE__, #endif /* ENABLE_CHECKING fromline 1590*/ sizeof(MeltFrame_meltrout_115_WARMELTmiMACRO_PATEXPAND_TUPLE), clos) {}; MeltFrame_meltrout_115_WARMELTmiMACRO_PATEXPAND_TUPLE() //the constructor fromline 1594 : Melt_CallFrameWithValues<26> ( #if ENABLE_CHECKING /*fromline 1598*/ __FILE__, __LINE__, #endif /* ENABLE_CHECKING fromline 1602*/ sizeof(MeltFrame_meltrout_115_WARMELTmiMACRO_PATEXPAND_TUPLE)) {}; #if ENABLE_CHECKING /*fromline 1606*/ MeltFrame_meltrout_115_WARMELTmiMACRO_PATEXPAND_TUPLE(const char*fil, int lin) //the constructor fromline 1608 : Melt_CallFrameWithValues<26> (fil,lin, sizeof(MeltFrame_meltrout_115_WARMELTmiMACRO_PATEXPAND_TUPLE)) {}; MeltFrame_meltrout_115_WARMELTmiMACRO_PATEXPAND_TUPLE(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1613 : Melt_CallFrameWithValues<26> (fil,lin, sizeof(MeltFrame_meltrout_115_WARMELTmiMACRO_PATEXPAND_TUPLE), clos) {}; #endif /* ENABLE_CHECKING fromline 1618*/ }; // end class MeltFrame_meltrout_115_WARMELTmiMACRO_PATEXPAND_TUPLE /** end of frame for meltrout_115_WARMELTmiMACRO_PATEXPAND_TUPLE fromline 1649**/ /* end of frame for routine meltrout_115_WARMELTmiMACRO_PATEXPAND_TUPLE fromline 1708 */ /* classy proc frame meltrout_115_WARMELTmiMACRO_PATEXPAND_TUPLE */ MeltFrame_meltrout_115_WARMELTmiMACRO_PATEXPAND_TUPLE meltfram__ /*declfrastruct fromline 1732*/ /*classyprocarg meltrout_115_WARMELTmiMACRO_PATEXPAND_TUPLE fromline 1737*/ #if ENABLE_CHECKING (__FILE__, __LINE__, meltclosp_) /* fromline 1741*/ #else /*ENABLE_CHECKING */ (meltclosp_) /* fromline 1745*/ #endif /*ENABLE_CHECKING */ ; #define meltframe meltfram__ melt_trace_start("PATEXPAND_TUPLE", meltcallcount); /*use arguments*/ (void) meltclosp_; (void)meltfirstargp_; (void)meltxargdescr_; (void)meltxargtab_; (void)meltxresdescr_; (void)meltxrestab_; /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-macro.melt:6392:/ getarg"); /*_.SEXPR__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1*/ /*^getarg*/ if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_endgetargs; /*_.ENV__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2])) != NULL); /*getarg#2*/ /*^getarg*/ if (meltxargdescr_[1] != MELTBPAR_PTR) goto meltlab_endgetargs; /*_.PCTX__V4*/ meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.PCTX__V4*/ meltfptr[3])) != NULL); ; goto meltlab_endgetargs; meltlab_endgetargs: ; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6393:/ cppif.then"); /*^block*/ /*anyblock*/ { { /*^locexp*/ /*melt_increment_dbgcounter*/ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL(); ; /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = /*MELT_NEED_DBG*/ #if MELT_HAVE_DEBUG (/*melt_need_dbg*/ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG*/ ;; MELT_LOCATION("warmelt-macro.melt:6393:/ cond"); /*cond*/ if (/*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { /*_#MELT_CALLCOUNT__L2*/ meltfnum[1] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6393:/ apply"); /*apply*/ { union meltparam_un argtab[5]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6393; /*^apply.arg*/ argtab[3].meltbp_cstring = "patexpand_tuple sexpr="; /*^apply.arg*/ argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.SEXPR__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V6*/ meltfptr[5] = melt_apply ((meltclosure_ptr_t)((/*!MELT_DEBUG_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IF___V5*/ meltfptr[4] = /*_.MELT_DEBUG_FUN__V6*/ meltfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6393:/ clear"); /*clear*/ /*_#MELT_CALLCOUNT__L2*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_.MELT_DEBUG_FUN__V6*/ meltfptr[5] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V5*/ meltfptr[4] = /*reallynil*/ NULL ;; } ; { MELT_LOCATION("warmelt-macro.melt:6393:/ locexp"); /*void*/(void)0; } ; /*^quasiblock*/ /*epilog*/ /*^clear*/ /*clear*/ /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V5*/ meltfptr[4] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*^block*/ /*anyblock*/ { { /*^locexp*/ /*void*/(void)0; } ; /*epilog*/ } #endif /*MELT_HAVE_DEBUG*/ ; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6394:/ cppif.then"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*_#IS_A__L3*/ meltfnum[1] = melt_is_instance_of((melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_SEXPR*/ meltfrout->tabval[1])));; MELT_LOCATION("warmelt-macro.melt:6394:/ cond"); /*cond*/ if (/*_#IS_A__L3*/ meltfnum[1]) /*then*/ { /*^cond.then*/ /*_._IFELSE___V8*/ meltfptr[4] = (/*nil*/NULL);; } else { MELT_LOCATION("warmelt-macro.melt:6394:/ cond.else"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*^apply*/ /*apply*/ { union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_cstring = "check sexpr"; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6394; /*^apply.arg*/ argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.SEXPR__V2*/ meltfptr[1]; /*_.MELT_ASSERT_FAILURE_FUN__V9*/ meltfptr[8] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[2])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IFELSE___V8*/ meltfptr[4] = /*_.MELT_ASSERT_FAILURE_FUN__V9*/ meltfptr[8];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6394:/ clear"); /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V9*/ meltfptr[8] = 0 ; } ; } ; /*_.IFCPP___V7*/ meltfptr[5] = /*_._IFELSE___V8*/ meltfptr[4];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6394:/ clear"); /*clear*/ /*_#IS_A__L3*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_._IFELSE___V8*/ meltfptr[4] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*_.IFCPP___V7*/ meltfptr[5] = (/*nil*/NULL); #endif /*MELT_HAVE_DEBUG*/ ; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6395:/ cppif.then"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*_#IS_A__L4*/ meltfnum[0] = melt_is_instance_of((melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2]), (melt_ptr_t)((/*!CLASS_ENVIRONMENT*/ meltfrout->tabval[3])));; MELT_LOCATION("warmelt-macro.melt:6395:/ cond"); /*cond*/ if (/*_#IS_A__L4*/ meltfnum[0]) /*then*/ { /*^cond.then*/ /*_._IFELSE___V11*/ meltfptr[4] = (/*nil*/NULL);; } else { MELT_LOCATION("warmelt-macro.melt:6395:/ cond.else"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*^apply*/ /*apply*/ { union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_cstring = "check env"; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6395; /*^apply.arg*/ argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.ENV__V3*/ meltfptr[2]; /*_.MELT_ASSERT_FAILURE_FUN__V12*/ meltfptr[11] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[2])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IFELSE___V11*/ meltfptr[4] = /*_.MELT_ASSERT_FAILURE_FUN__V12*/ meltfptr[11];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6395:/ clear"); /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V12*/ meltfptr[11] = 0 ; } ; } ; /*_.IFCPP___V10*/ meltfptr[8] = /*_._IFELSE___V11*/ meltfptr[4];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6395:/ clear"); /*clear*/ /*_#IS_A__L4*/ meltfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_._IFELSE___V11*/ meltfptr[4] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*_.IFCPP___V10*/ meltfptr[8] = (/*nil*/NULL); #endif /*MELT_HAVE_DEBUG*/ ; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6396:/ cppif.then"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*_#IS_A__L5*/ meltfnum[1] = melt_is_instance_of((melt_ptr_t)(/*_.PCTX__V4*/ meltfptr[3]), (melt_ptr_t)((/*!CLASS_PATTERN_EXPANSION_CONTEXT*/ meltfrout->tabval[4])));; MELT_LOCATION("warmelt-macro.melt:6396:/ cond"); /*cond*/ if (/*_#IS_A__L5*/ meltfnum[1]) /*then*/ { /*^cond.then*/ /*_._IFELSE___V14*/ meltfptr[4] = (/*nil*/NULL);; } else { MELT_LOCATION("warmelt-macro.melt:6396:/ cond.else"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*^apply*/ /*apply*/ { union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_cstring = "check pctx"; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6396; /*^apply.arg*/ argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.PCTX__V4*/ meltfptr[3]; /*_.MELT_ASSERT_FAILURE_FUN__V15*/ meltfptr[14] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[2])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IFELSE___V14*/ meltfptr[4] = /*_.MELT_ASSERT_FAILURE_FUN__V15*/ meltfptr[14];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6396:/ clear"); /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V15*/ meltfptr[14] = 0 ; } ; } ; /*_.IFCPP___V13*/ meltfptr[11] = /*_._IFELSE___V14*/ meltfptr[4];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6396:/ clear"); /*clear*/ /*_#IS_A__L5*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_._IFELSE___V14*/ meltfptr[4] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*_.IFCPP___V13*/ meltfptr[11] = (/*nil*/NULL); #endif /*MELT_HAVE_DEBUG*/ ; MELT_LOCATION("warmelt-macro.melt:6397:/ quasiblock"); MELT_LOCATION("warmelt-macro.melt:6398:/ getslot"); { melt_ptr_t slot=NULL, obj=NULL; obj = (melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/; melt_object_get_field(slot,obj, 2, "SEXP_CONTENTS"); /*_.CONT__V17*/ meltfptr[4] = slot; }; ; MELT_LOCATION("warmelt-macro.melt:6399:/ getslot"); { melt_ptr_t slot=NULL, obj=NULL; obj = (melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/; melt_object_get_field(slot,obj, 1, "LOCA_LOCATION"); /*_.LOC__V18*/ meltfptr[17] = slot; }; ; /*_.LIST_FIRST__V19*/ meltfptr[18] = (melt_list_first((melt_ptr_t)(/*_.CONT__V17*/ meltfptr[4])));; /*^compute*/ /*_.CURPAIR__V20*/ meltfptr[19] = (melt_pair_tail((melt_ptr_t)(/*_.LIST_FIRST__V19*/ meltfptr[18])));; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6401:/ apply"); /*apply*/ { union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_aptr = (melt_ptr_t*) &/*_.ENV__V3*/ meltfptr[2]; /*^apply.arg*/ argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.PCTX__V4*/ meltfptr[3]; /*^apply.arg*/ argtab[2].meltbp_aptr = (melt_ptr_t*) &/*_.LOC__V18*/ meltfptr[17]; /*_.ARGSP__V21*/ meltfptr[20] = melt_apply ((meltclosure_ptr_t)((/*!PATTERNEXPAND_PAIRLIST_AS_TUPLE*/ meltfrout->tabval[5])), (melt_ptr_t)(/*_.CURPAIR__V20*/ meltfptr[19]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6402:/ quasiblock"); /*^rawallocobj*/ /*rawallocobj*/ { melt_ptr_t newobj = 0; melt_raw_object_create(newobj,(melt_ptr_t)((/*!CLASS_SOURCE_PATTERN_TUPLE*/ meltfrout->tabval[6])), (4), "CLASS_SOURCE_PATTERN_TUPLE"); /*_.INST__V23*/ meltfptr[22] = newobj; }; ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @LOCA_LOCATION", melt_magic_discr((melt_ptr_t)(/*_.INST__V23*/ meltfptr[22])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V23*/ meltfptr[22]), (1), (/*_.LOC__V18*/ meltfptr[17]), "LOCA_LOCATION"); ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @CTPAT_SUBPA", melt_magic_discr((melt_ptr_t)(/*_.INST__V23*/ meltfptr[22])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V23*/ meltfptr[22]), (3), (/*_.ARGSP__V21*/ meltfptr[20]), "CTPAT_SUBPA"); ; /*^touchobj*/ melt_dbgtrace_written_object (/*_.INST__V23*/ meltfptr[22], "newly made instance"); ; /*_.RES__V22*/ meltfptr[21] = /*_.INST__V23*/ meltfptr[22];; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6406:/ cppif.then"); /*^block*/ /*anyblock*/ { { /*^locexp*/ /*melt_increment_dbgcounter*/ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL(); ; /*_#MELT_NEED_DBG__L6*/ meltfnum[0] = /*MELT_NEED_DBG*/ #if MELT_HAVE_DEBUG (/*melt_need_dbg*/ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG*/ ;; MELT_LOCATION("warmelt-macro.melt:6406:/ cond"); /*cond*/ if (/*_#MELT_NEED_DBG__L6*/ meltfnum[0]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { /*_#MELT_CALLCOUNT__L7*/ meltfnum[1] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6406:/ apply"); /*apply*/ { union meltparam_un argtab[5]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L7*/ meltfnum[1]; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6406; /*^apply.arg*/ argtab[3].meltbp_cstring = "patexpand_tuple res"; /*^apply.arg*/ argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.RES__V22*/ meltfptr[21]; /*_.MELT_DEBUG_FUN__V25*/ meltfptr[24] = melt_apply ((meltclosure_ptr_t)((/*!MELT_DEBUG_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IF___V24*/ meltfptr[23] = /*_.MELT_DEBUG_FUN__V25*/ meltfptr[24];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6406:/ clear"); /*clear*/ /*_#MELT_CALLCOUNT__L7*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_.MELT_DEBUG_FUN__V25*/ meltfptr[24] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V24*/ meltfptr[23] = /*reallynil*/ NULL ;; } ; { MELT_LOCATION("warmelt-macro.melt:6406:/ locexp"); /*void*/(void)0; } ; /*^quasiblock*/ /*epilog*/ /*^clear*/ /*clear*/ /*_#MELT_NEED_DBG__L6*/ meltfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V24*/ meltfptr[23] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*^block*/ /*anyblock*/ { { /*^locexp*/ /*void*/(void)0; } ; /*epilog*/ } #endif /*MELT_HAVE_DEBUG*/ ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6407:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.RES__V22*/ meltfptr[21];; { MELT_LOCATION("warmelt-macro.melt:6407:/ locexp"); /*ochecknores compilobj_nrep_return*/ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results(); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG*/ ; } ; /*^finalreturn*/ ; /*finalret*/ goto meltlabend_rout ; /*_.LET___V16*/ meltfptr[14] = /*_.RETURN___V26*/ meltfptr[24];; MELT_LOCATION("warmelt-macro.melt:6397:/ clear"); /*clear*/ /*_.CONT__V17*/ meltfptr[4] = 0 ; /*^clear*/ /*clear*/ /*_.LOC__V18*/ meltfptr[17] = 0 ; /*^clear*/ /*clear*/ /*_.LIST_FIRST__V19*/ meltfptr[18] = 0 ; /*^clear*/ /*clear*/ /*_.CURPAIR__V20*/ meltfptr[19] = 0 ; /*^clear*/ /*clear*/ /*_.ARGSP__V21*/ meltfptr[20] = 0 ; /*^clear*/ /*clear*/ /*_.RES__V22*/ meltfptr[21] = 0 ; /*^clear*/ /*clear*/ /*_.RETURN___V26*/ meltfptr[24] = 0 ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6392:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.LET___V16*/ meltfptr[14];; { MELT_LOCATION("warmelt-macro.melt:6392:/ locexp"); /*ochecknores compilobj_nrep_return*/ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results(); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG*/ ; } ; /*^finalreturn*/ ; /*finalret*/ goto meltlabend_rout ; /*epilog*/ /*^clear*/ /*clear*/ /*_.IFCPP___V7*/ meltfptr[5] = 0 ; /*^clear*/ /*clear*/ /*_.IFCPP___V10*/ meltfptr[8] = 0 ; /*^clear*/ /*clear*/ /*_.IFCPP___V13*/ meltfptr[11] = 0 ; /*^clear*/ /*clear*/ /*_.LET___V16*/ meltfptr[14] = 0 ; } ; goto meltlabend_rout; meltlabend_rout: melt_trace_end("PATEXPAND_TUPLE", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_115_WARMELTmiMACRO_PATEXPAND_TUPLE_melt; return (melt_ptr_t)(/*_._RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_115_WARMELTmiMACRO_PATEXPAND_TUPLE*/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_116_WARMELTmiMACRO_MEXPAND_LIST(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_) { long current_blocklevel_signals_meltrout_116_WARMELTmiMACRO_MEXPAND_LIST_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long melt_call_counter__; long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__; #undef meltcallcount #define meltcallcount melt_thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1490 /* start of frame for routine meltrout_116_WARMELTmiMACRO_MEXPAND_LIST fromline 1704 */ /** start of frame for meltrout_116_WARMELTmiMACRO_MEXPAND_LIST of CLASS_PROCROUTINEOBJ from 1507**/ /*curframdeclclassy*/ class MeltFrame_meltrout_116_WARMELTmiMACRO_MEXPAND_LIST// fromline 1520 : public Melt_CallFrameWithValues<22> { public: /* fromline 1524*/ long mcfr_varnum[6]; /*classy others*/ long _meltsparel; void melt_mark_stuff (void) { } /*end melt_mark_stuff*/ virtual void melt_mark_ggc_data (void) { melt_mark_values (); melt_mark_stuff (); }; /*end melt_mark_ggc_data*/ MeltFrame_meltrout_116_WARMELTmiMACRO_MEXPAND_LIST(meltclosure_ptr_t clos) //the closure constructor fromline 1582 : Melt_CallFrameWithValues<22> ( #if ENABLE_CHECKING /*fromline 1586*/ __FILE__, __LINE__, #endif /* ENABLE_CHECKING fromline 1590*/ sizeof(MeltFrame_meltrout_116_WARMELTmiMACRO_MEXPAND_LIST), clos) {}; MeltFrame_meltrout_116_WARMELTmiMACRO_MEXPAND_LIST() //the constructor fromline 1594 : Melt_CallFrameWithValues<22> ( #if ENABLE_CHECKING /*fromline 1598*/ __FILE__, __LINE__, #endif /* ENABLE_CHECKING fromline 1602*/ sizeof(MeltFrame_meltrout_116_WARMELTmiMACRO_MEXPAND_LIST)) {}; #if ENABLE_CHECKING /*fromline 1606*/ MeltFrame_meltrout_116_WARMELTmiMACRO_MEXPAND_LIST(const char*fil, int lin) //the constructor fromline 1608 : Melt_CallFrameWithValues<22> (fil,lin, sizeof(MeltFrame_meltrout_116_WARMELTmiMACRO_MEXPAND_LIST)) {}; MeltFrame_meltrout_116_WARMELTmiMACRO_MEXPAND_LIST(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1613 : Melt_CallFrameWithValues<22> (fil,lin, sizeof(MeltFrame_meltrout_116_WARMELTmiMACRO_MEXPAND_LIST), clos) {}; #endif /* ENABLE_CHECKING fromline 1618*/ }; // end class MeltFrame_meltrout_116_WARMELTmiMACRO_MEXPAND_LIST /** end of frame for meltrout_116_WARMELTmiMACRO_MEXPAND_LIST fromline 1649**/ /* end of frame for routine meltrout_116_WARMELTmiMACRO_MEXPAND_LIST fromline 1708 */ /* classy proc frame meltrout_116_WARMELTmiMACRO_MEXPAND_LIST */ MeltFrame_meltrout_116_WARMELTmiMACRO_MEXPAND_LIST meltfram__ /*declfrastruct fromline 1732*/ /*classyprocarg meltrout_116_WARMELTmiMACRO_MEXPAND_LIST fromline 1737*/ #if ENABLE_CHECKING (__FILE__, __LINE__, meltclosp_) /* fromline 1741*/ #else /*ENABLE_CHECKING */ (meltclosp_) /* fromline 1745*/ #endif /*ENABLE_CHECKING */ ; #define meltframe meltfram__ melt_trace_start("MEXPAND_LIST", meltcallcount); /*use arguments*/ (void) meltclosp_; (void)meltfirstargp_; (void)meltxargdescr_; (void)meltxargtab_; (void)meltxresdescr_; (void)meltxrestab_; /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-macro.melt:6421:/ getarg"); /*_.SEXPR__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1*/ /*^getarg*/ if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_endgetargs; /*_.ENV__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2])) != NULL); /*getarg#2*/ /*^getarg*/ if (meltxargdescr_[1] != MELTBPAR_PTR) goto meltlab_endgetargs; /*_.MEXPANDER__V4*/ meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.MEXPANDER__V4*/ meltfptr[3])) != NULL); /*getarg#3*/ /*^getarg*/ if (meltxargdescr_[2] != MELTBPAR_PTR) goto meltlab_endgetargs; /*_.MODCTX__V5*/ meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.MODCTX__V5*/ meltfptr[4])) != NULL); ; goto meltlab_endgetargs; meltlab_endgetargs: ; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6422:/ cppif.then"); /*^block*/ /*anyblock*/ { { /*^locexp*/ /*melt_increment_dbgcounter*/ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL(); ; /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = /*MELT_NEED_DBG*/ #if MELT_HAVE_DEBUG (/*melt_need_dbg*/ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG*/ ;; MELT_LOCATION("warmelt-macro.melt:6422:/ cond"); /*cond*/ if (/*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { /*_#MELT_CALLCOUNT__L2*/ meltfnum[1] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6422:/ apply"); /*apply*/ { union meltparam_un argtab[5]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6422; /*^apply.arg*/ argtab[3].meltbp_cstring = "mexpand_list sexpr="; /*^apply.arg*/ argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.SEXPR__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V7*/ meltfptr[6] = melt_apply ((meltclosure_ptr_t)((/*!MELT_DEBUG_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IF___V6*/ meltfptr[5] = /*_.MELT_DEBUG_FUN__V7*/ meltfptr[6];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6422:/ clear"); /*clear*/ /*_#MELT_CALLCOUNT__L2*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_.MELT_DEBUG_FUN__V7*/ meltfptr[6] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V6*/ meltfptr[5] = /*reallynil*/ NULL ;; } ; { MELT_LOCATION("warmelt-macro.melt:6422:/ locexp"); /*void*/(void)0; } ; /*^quasiblock*/ /*epilog*/ /*^clear*/ /*clear*/ /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V6*/ meltfptr[5] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*^block*/ /*anyblock*/ { { /*^locexp*/ /*void*/(void)0; } ; /*epilog*/ } #endif /*MELT_HAVE_DEBUG*/ ; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6423:/ cppif.then"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*_#IS_A__L3*/ meltfnum[1] = melt_is_instance_of((melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_SEXPR*/ meltfrout->tabval[1])));; MELT_LOCATION("warmelt-macro.melt:6423:/ cond"); /*cond*/ if (/*_#IS_A__L3*/ meltfnum[1]) /*then*/ { /*^cond.then*/ /*_._IFELSE___V9*/ meltfptr[5] = (/*nil*/NULL);; } else { MELT_LOCATION("warmelt-macro.melt:6423:/ cond.else"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*^apply*/ /*apply*/ { union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_cstring = "check sexpr"; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6423; /*^apply.arg*/ argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.SEXPR__V2*/ meltfptr[1]; /*_.MELT_ASSERT_FAILURE_FUN__V10*/ meltfptr[9] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[2])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IFELSE___V9*/ meltfptr[5] = /*_.MELT_ASSERT_FAILURE_FUN__V10*/ meltfptr[9];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6423:/ clear"); /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V10*/ meltfptr[9] = 0 ; } ; } ; /*_.IFCPP___V8*/ meltfptr[6] = /*_._IFELSE___V9*/ meltfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6423:/ clear"); /*clear*/ /*_#IS_A__L3*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_._IFELSE___V9*/ meltfptr[5] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*_.IFCPP___V8*/ meltfptr[6] = (/*nil*/NULL); #endif /*MELT_HAVE_DEBUG*/ ; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6424:/ cppif.then"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*_#IS_A__L4*/ meltfnum[0] = melt_is_instance_of((melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2]), (melt_ptr_t)((/*!CLASS_ENVIRONMENT*/ meltfrout->tabval[3])));; MELT_LOCATION("warmelt-macro.melt:6424:/ cond"); /*cond*/ if (/*_#IS_A__L4*/ meltfnum[0]) /*then*/ { /*^cond.then*/ /*_._IFELSE___V12*/ meltfptr[5] = (/*nil*/NULL);; } else { MELT_LOCATION("warmelt-macro.melt:6424:/ cond.else"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*^apply*/ /*apply*/ { union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_cstring = "check env"; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6424; /*^apply.arg*/ argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.ENV__V3*/ meltfptr[2]; /*_.MELT_ASSERT_FAILURE_FUN__V13*/ meltfptr[12] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[2])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IFELSE___V12*/ meltfptr[5] = /*_.MELT_ASSERT_FAILURE_FUN__V13*/ meltfptr[12];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6424:/ clear"); /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V13*/ meltfptr[12] = 0 ; } ; } ; /*_.IFCPP___V11*/ meltfptr[9] = /*_._IFELSE___V12*/ meltfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6424:/ clear"); /*clear*/ /*_#IS_A__L4*/ meltfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_._IFELSE___V12*/ meltfptr[5] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*_.IFCPP___V11*/ meltfptr[9] = (/*nil*/NULL); #endif /*MELT_HAVE_DEBUG*/ ; MELT_LOCATION("warmelt-macro.melt:6425:/ quasiblock"); MELT_LOCATION("warmelt-macro.melt:6426:/ getslot"); { melt_ptr_t slot=NULL, obj=NULL; obj = (melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/; melt_object_get_field(slot,obj, 2, "SEXP_CONTENTS"); /*_.CONT__V15*/ meltfptr[5] = slot; }; ; MELT_LOCATION("warmelt-macro.melt:6427:/ getslot"); { melt_ptr_t slot=NULL, obj=NULL; obj = (melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/; melt_object_get_field(slot,obj, 1, "LOCA_LOCATION"); /*_.LOC__V16*/ meltfptr[15] = slot; }; ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6428:/ apply"); /*apply*/ { union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_aptr = (melt_ptr_t*) &/*_.ENV__V3*/ meltfptr[2]; /*^apply.arg*/ argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.MEXPANDER__V4*/ meltfptr[3]; /*^apply.arg*/ argtab[2].meltbp_aptr = (melt_ptr_t*) &/*_.MODCTX__V5*/ meltfptr[4]; /*_.XARGTUP__V17*/ meltfptr[16] = melt_apply ((meltclosure_ptr_t)((/*!EXPAND_RESTLIST_AS_TUPLE*/ meltfrout->tabval[4])), (melt_ptr_t)(/*_.CONT__V15*/ meltfptr[5]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6429:/ quasiblock"); /*^rawallocobj*/ /*rawallocobj*/ { melt_ptr_t newobj = 0; melt_raw_object_create(newobj,(melt_ptr_t)((/*!CLASS_SOURCE_LIST*/ meltfrout->tabval[5])), (3), "CLASS_SOURCE_LIST"); /*_.INST__V19*/ meltfptr[18] = newobj; }; ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @LOCA_LOCATION", melt_magic_discr((melt_ptr_t)(/*_.INST__V19*/ meltfptr[18])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V19*/ meltfptr[18]), (1), (/*_.LOC__V16*/ meltfptr[15]), "LOCA_LOCATION"); ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @SARGOP_ARGS", melt_magic_discr((melt_ptr_t)(/*_.INST__V19*/ meltfptr[18])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V19*/ meltfptr[18]), (2), (/*_.XARGTUP__V17*/ meltfptr[16]), "SARGOP_ARGS"); ; /*^touchobj*/ melt_dbgtrace_written_object (/*_.INST__V19*/ meltfptr[18], "newly made instance"); ; /*_.RES__V18*/ meltfptr[17] = /*_.INST__V19*/ meltfptr[18];; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6433:/ cppif.then"); /*^block*/ /*anyblock*/ { { /*^locexp*/ /*melt_increment_dbgcounter*/ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL(); ; /*_#MELT_NEED_DBG__L5*/ meltfnum[1] = /*MELT_NEED_DBG*/ #if MELT_HAVE_DEBUG (/*melt_need_dbg*/ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG*/ ;; MELT_LOCATION("warmelt-macro.melt:6433:/ cond"); /*cond*/ if (/*_#MELT_NEED_DBG__L5*/ meltfnum[1]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { /*_#MELT_CALLCOUNT__L6*/ meltfnum[0] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6433:/ apply"); /*apply*/ { union meltparam_un argtab[5]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L6*/ meltfnum[0]; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6433; /*^apply.arg*/ argtab[3].meltbp_cstring = "mexpand_list result"; /*^apply.arg*/ argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.RES__V18*/ meltfptr[17]; /*_.MELT_DEBUG_FUN__V21*/ meltfptr[20] = melt_apply ((meltclosure_ptr_t)((/*!MELT_DEBUG_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IF___V20*/ meltfptr[19] = /*_.MELT_DEBUG_FUN__V21*/ meltfptr[20];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6433:/ clear"); /*clear*/ /*_#MELT_CALLCOUNT__L6*/ meltfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_.MELT_DEBUG_FUN__V21*/ meltfptr[20] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V20*/ meltfptr[19] = /*reallynil*/ NULL ;; } ; { MELT_LOCATION("warmelt-macro.melt:6433:/ locexp"); /*void*/(void)0; } ; /*^quasiblock*/ /*epilog*/ /*^clear*/ /*clear*/ /*_#MELT_NEED_DBG__L5*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V20*/ meltfptr[19] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*^block*/ /*anyblock*/ { { /*^locexp*/ /*void*/(void)0; } ; /*epilog*/ } #endif /*MELT_HAVE_DEBUG*/ ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6434:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.RES__V18*/ meltfptr[17];; { MELT_LOCATION("warmelt-macro.melt:6434:/ locexp"); /*ochecknores compilobj_nrep_return*/ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results(); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG*/ ; } ; /*^finalreturn*/ ; /*finalret*/ goto meltlabend_rout ; /*_.LET___V14*/ meltfptr[12] = /*_.RETURN___V22*/ meltfptr[20];; MELT_LOCATION("warmelt-macro.melt:6425:/ clear"); /*clear*/ /*_.CONT__V15*/ meltfptr[5] = 0 ; /*^clear*/ /*clear*/ /*_.LOC__V16*/ meltfptr[15] = 0 ; /*^clear*/ /*clear*/ /*_.XARGTUP__V17*/ meltfptr[16] = 0 ; /*^clear*/ /*clear*/ /*_.RES__V18*/ meltfptr[17] = 0 ; /*^clear*/ /*clear*/ /*_.RETURN___V22*/ meltfptr[20] = 0 ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6421:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.LET___V14*/ meltfptr[12];; { MELT_LOCATION("warmelt-macro.melt:6421:/ locexp"); /*ochecknores compilobj_nrep_return*/ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results(); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG*/ ; } ; /*^finalreturn*/ ; /*finalret*/ goto meltlabend_rout ; /*epilog*/ /*^clear*/ /*clear*/ /*_.IFCPP___V8*/ meltfptr[6] = 0 ; /*^clear*/ /*clear*/ /*_.IFCPP___V11*/ meltfptr[9] = 0 ; /*^clear*/ /*clear*/ /*_.LET___V14*/ meltfptr[12] = 0 ; } ; goto meltlabend_rout; meltlabend_rout: melt_trace_end("MEXPAND_LIST", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_116_WARMELTmiMACRO_MEXPAND_LIST_melt; return (melt_ptr_t)(/*_._RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_116_WARMELTmiMACRO_MEXPAND_LIST*/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_117_WARMELTmiMACRO_PATEXPAND_LIST(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_) { long current_blocklevel_signals_meltrout_117_WARMELTmiMACRO_PATEXPAND_LIST_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long melt_call_counter__; long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__; #undef meltcallcount #define meltcallcount melt_thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1490 /* start of frame for routine meltrout_117_WARMELTmiMACRO_PATEXPAND_LIST fromline 1704 */ /** start of frame for meltrout_117_WARMELTmiMACRO_PATEXPAND_LIST of CLASS_PROCROUTINEOBJ from 1507**/ /*curframdeclclassy*/ class MeltFrame_meltrout_117_WARMELTmiMACRO_PATEXPAND_LIST// fromline 1520 : public Melt_CallFrameWithValues<26> { public: /* fromline 1524*/ long mcfr_varnum[7]; /*classy others*/ long _meltsparel; void melt_mark_stuff (void) { } /*end melt_mark_stuff*/ virtual void melt_mark_ggc_data (void) { melt_mark_values (); melt_mark_stuff (); }; /*end melt_mark_ggc_data*/ MeltFrame_meltrout_117_WARMELTmiMACRO_PATEXPAND_LIST(meltclosure_ptr_t clos) //the closure constructor fromline 1582 : Melt_CallFrameWithValues<26> ( #if ENABLE_CHECKING /*fromline 1586*/ __FILE__, __LINE__, #endif /* ENABLE_CHECKING fromline 1590*/ sizeof(MeltFrame_meltrout_117_WARMELTmiMACRO_PATEXPAND_LIST), clos) {}; MeltFrame_meltrout_117_WARMELTmiMACRO_PATEXPAND_LIST() //the constructor fromline 1594 : Melt_CallFrameWithValues<26> ( #if ENABLE_CHECKING /*fromline 1598*/ __FILE__, __LINE__, #endif /* ENABLE_CHECKING fromline 1602*/ sizeof(MeltFrame_meltrout_117_WARMELTmiMACRO_PATEXPAND_LIST)) {}; #if ENABLE_CHECKING /*fromline 1606*/ MeltFrame_meltrout_117_WARMELTmiMACRO_PATEXPAND_LIST(const char*fil, int lin) //the constructor fromline 1608 : Melt_CallFrameWithValues<26> (fil,lin, sizeof(MeltFrame_meltrout_117_WARMELTmiMACRO_PATEXPAND_LIST)) {}; MeltFrame_meltrout_117_WARMELTmiMACRO_PATEXPAND_LIST(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1613 : Melt_CallFrameWithValues<26> (fil,lin, sizeof(MeltFrame_meltrout_117_WARMELTmiMACRO_PATEXPAND_LIST), clos) {}; #endif /* ENABLE_CHECKING fromline 1618*/ }; // end class MeltFrame_meltrout_117_WARMELTmiMACRO_PATEXPAND_LIST /** end of frame for meltrout_117_WARMELTmiMACRO_PATEXPAND_LIST fromline 1649**/ /* end of frame for routine meltrout_117_WARMELTmiMACRO_PATEXPAND_LIST fromline 1708 */ /* classy proc frame meltrout_117_WARMELTmiMACRO_PATEXPAND_LIST */ MeltFrame_meltrout_117_WARMELTmiMACRO_PATEXPAND_LIST meltfram__ /*declfrastruct fromline 1732*/ /*classyprocarg meltrout_117_WARMELTmiMACRO_PATEXPAND_LIST fromline 1737*/ #if ENABLE_CHECKING (__FILE__, __LINE__, meltclosp_) /* fromline 1741*/ #else /*ENABLE_CHECKING */ (meltclosp_) /* fromline 1745*/ #endif /*ENABLE_CHECKING */ ; #define meltframe meltfram__ melt_trace_start("PATEXPAND_LIST", meltcallcount); /*use arguments*/ (void) meltclosp_; (void)meltfirstargp_; (void)meltxargdescr_; (void)meltxargtab_; (void)meltxresdescr_; (void)meltxrestab_; /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-macro.melt:6438:/ getarg"); /*_.SEXPR__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1*/ /*^getarg*/ if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_endgetargs; /*_.ENV__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2])) != NULL); /*getarg#2*/ /*^getarg*/ if (meltxargdescr_[1] != MELTBPAR_PTR) goto meltlab_endgetargs; /*_.PCTX__V4*/ meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.PCTX__V4*/ meltfptr[3])) != NULL); ; goto meltlab_endgetargs; meltlab_endgetargs: ; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6439:/ cppif.then"); /*^block*/ /*anyblock*/ { { /*^locexp*/ /*melt_increment_dbgcounter*/ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL(); ; /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = /*MELT_NEED_DBG*/ #if MELT_HAVE_DEBUG (/*melt_need_dbg*/ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG*/ ;; MELT_LOCATION("warmelt-macro.melt:6439:/ cond"); /*cond*/ if (/*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { /*_#MELT_CALLCOUNT__L2*/ meltfnum[1] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6439:/ apply"); /*apply*/ { union meltparam_un argtab[5]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6439; /*^apply.arg*/ argtab[3].meltbp_cstring = "patexpand_list sexpr="; /*^apply.arg*/ argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.SEXPR__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V6*/ meltfptr[5] = melt_apply ((meltclosure_ptr_t)((/*!MELT_DEBUG_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IF___V5*/ meltfptr[4] = /*_.MELT_DEBUG_FUN__V6*/ meltfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6439:/ clear"); /*clear*/ /*_#MELT_CALLCOUNT__L2*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_.MELT_DEBUG_FUN__V6*/ meltfptr[5] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V5*/ meltfptr[4] = /*reallynil*/ NULL ;; } ; { MELT_LOCATION("warmelt-macro.melt:6439:/ locexp"); /*void*/(void)0; } ; /*^quasiblock*/ /*epilog*/ /*^clear*/ /*clear*/ /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V5*/ meltfptr[4] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*^block*/ /*anyblock*/ { { /*^locexp*/ /*void*/(void)0; } ; /*epilog*/ } #endif /*MELT_HAVE_DEBUG*/ ; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6440:/ cppif.then"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*_#IS_A__L3*/ meltfnum[1] = melt_is_instance_of((melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_SEXPR*/ meltfrout->tabval[1])));; MELT_LOCATION("warmelt-macro.melt:6440:/ cond"); /*cond*/ if (/*_#IS_A__L3*/ meltfnum[1]) /*then*/ { /*^cond.then*/ /*_._IFELSE___V8*/ meltfptr[4] = (/*nil*/NULL);; } else { MELT_LOCATION("warmelt-macro.melt:6440:/ cond.else"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*^apply*/ /*apply*/ { union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_cstring = "check sexpr"; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6440; /*^apply.arg*/ argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.SEXPR__V2*/ meltfptr[1]; /*_.MELT_ASSERT_FAILURE_FUN__V9*/ meltfptr[8] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[2])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IFELSE___V8*/ meltfptr[4] = /*_.MELT_ASSERT_FAILURE_FUN__V9*/ meltfptr[8];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6440:/ clear"); /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V9*/ meltfptr[8] = 0 ; } ; } ; /*_.IFCPP___V7*/ meltfptr[5] = /*_._IFELSE___V8*/ meltfptr[4];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6440:/ clear"); /*clear*/ /*_#IS_A__L3*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_._IFELSE___V8*/ meltfptr[4] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*_.IFCPP___V7*/ meltfptr[5] = (/*nil*/NULL); #endif /*MELT_HAVE_DEBUG*/ ; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6441:/ cppif.then"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*_#IS_A__L4*/ meltfnum[0] = melt_is_instance_of((melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2]), (melt_ptr_t)((/*!CLASS_ENVIRONMENT*/ meltfrout->tabval[3])));; MELT_LOCATION("warmelt-macro.melt:6441:/ cond"); /*cond*/ if (/*_#IS_A__L4*/ meltfnum[0]) /*then*/ { /*^cond.then*/ /*_._IFELSE___V11*/ meltfptr[4] = (/*nil*/NULL);; } else { MELT_LOCATION("warmelt-macro.melt:6441:/ cond.else"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*^apply*/ /*apply*/ { union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_cstring = "check env"; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6441; /*^apply.arg*/ argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.ENV__V3*/ meltfptr[2]; /*_.MELT_ASSERT_FAILURE_FUN__V12*/ meltfptr[11] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[2])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IFELSE___V11*/ meltfptr[4] = /*_.MELT_ASSERT_FAILURE_FUN__V12*/ meltfptr[11];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6441:/ clear"); /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V12*/ meltfptr[11] = 0 ; } ; } ; /*_.IFCPP___V10*/ meltfptr[8] = /*_._IFELSE___V11*/ meltfptr[4];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6441:/ clear"); /*clear*/ /*_#IS_A__L4*/ meltfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_._IFELSE___V11*/ meltfptr[4] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*_.IFCPP___V10*/ meltfptr[8] = (/*nil*/NULL); #endif /*MELT_HAVE_DEBUG*/ ; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6442:/ cppif.then"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*_#IS_A__L5*/ meltfnum[1] = melt_is_instance_of((melt_ptr_t)(/*_.PCTX__V4*/ meltfptr[3]), (melt_ptr_t)((/*!CLASS_PATTERN_EXPANSION_CONTEXT*/ meltfrout->tabval[4])));; MELT_LOCATION("warmelt-macro.melt:6442:/ cond"); /*cond*/ if (/*_#IS_A__L5*/ meltfnum[1]) /*then*/ { /*^cond.then*/ /*_._IFELSE___V14*/ meltfptr[4] = (/*nil*/NULL);; } else { MELT_LOCATION("warmelt-macro.melt:6442:/ cond.else"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*^apply*/ /*apply*/ { union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_cstring = "check pctx"; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6442; /*^apply.arg*/ argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.PCTX__V4*/ meltfptr[3]; /*_.MELT_ASSERT_FAILURE_FUN__V15*/ meltfptr[14] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[2])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IFELSE___V14*/ meltfptr[4] = /*_.MELT_ASSERT_FAILURE_FUN__V15*/ meltfptr[14];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6442:/ clear"); /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V15*/ meltfptr[14] = 0 ; } ; } ; /*_.IFCPP___V13*/ meltfptr[11] = /*_._IFELSE___V14*/ meltfptr[4];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6442:/ clear"); /*clear*/ /*_#IS_A__L5*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_._IFELSE___V14*/ meltfptr[4] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*_.IFCPP___V13*/ meltfptr[11] = (/*nil*/NULL); #endif /*MELT_HAVE_DEBUG*/ ; MELT_LOCATION("warmelt-macro.melt:6443:/ quasiblock"); MELT_LOCATION("warmelt-macro.melt:6444:/ getslot"); { melt_ptr_t slot=NULL, obj=NULL; obj = (melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/; melt_object_get_field(slot,obj, 2, "SEXP_CONTENTS"); /*_.CONT__V17*/ meltfptr[4] = slot; }; ; MELT_LOCATION("warmelt-macro.melt:6445:/ getslot"); { melt_ptr_t slot=NULL, obj=NULL; obj = (melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/; melt_object_get_field(slot,obj, 1, "LOCA_LOCATION"); /*_.LOC__V18*/ meltfptr[17] = slot; }; ; /*_.LIST_FIRST__V19*/ meltfptr[18] = (melt_list_first((melt_ptr_t)(/*_.CONT__V17*/ meltfptr[4])));; /*^compute*/ /*_.CURPAIR__V20*/ meltfptr[19] = (melt_pair_tail((melt_ptr_t)(/*_.LIST_FIRST__V19*/ meltfptr[18])));; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6447:/ apply"); /*apply*/ { union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_aptr = (melt_ptr_t*) &/*_.ENV__V3*/ meltfptr[2]; /*^apply.arg*/ argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.PCTX__V4*/ meltfptr[3]; /*^apply.arg*/ argtab[2].meltbp_aptr = (melt_ptr_t*) &/*_.LOC__V18*/ meltfptr[17]; /*_.ARGSP__V21*/ meltfptr[20] = melt_apply ((meltclosure_ptr_t)((/*!PATTERNEXPAND_PAIRLIST_AS_TUPLE*/ meltfrout->tabval[5])), (melt_ptr_t)(/*_.CURPAIR__V20*/ meltfptr[19]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6448:/ quasiblock"); /*^rawallocobj*/ /*rawallocobj*/ { melt_ptr_t newobj = 0; melt_raw_object_create(newobj,(melt_ptr_t)((/*!CLASS_SOURCE_PATTERN_LIST*/ meltfrout->tabval[6])), (4), "CLASS_SOURCE_PATTERN_LIST"); /*_.INST__V23*/ meltfptr[22] = newobj; }; ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @LOCA_LOCATION", melt_magic_discr((melt_ptr_t)(/*_.INST__V23*/ meltfptr[22])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V23*/ meltfptr[22]), (1), (/*_.LOC__V18*/ meltfptr[17]), "LOCA_LOCATION"); ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @CTPAT_SUBPA", melt_magic_discr((melt_ptr_t)(/*_.INST__V23*/ meltfptr[22])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V23*/ meltfptr[22]), (3), (/*_.ARGSP__V21*/ meltfptr[20]), "CTPAT_SUBPA"); ; /*^touchobj*/ melt_dbgtrace_written_object (/*_.INST__V23*/ meltfptr[22], "newly made instance"); ; /*_.RES__V22*/ meltfptr[21] = /*_.INST__V23*/ meltfptr[22];; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6452:/ cppif.then"); /*^block*/ /*anyblock*/ { { /*^locexp*/ /*melt_increment_dbgcounter*/ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL(); ; /*_#MELT_NEED_DBG__L6*/ meltfnum[0] = /*MELT_NEED_DBG*/ #if MELT_HAVE_DEBUG (/*melt_need_dbg*/ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG*/ ;; MELT_LOCATION("warmelt-macro.melt:6452:/ cond"); /*cond*/ if (/*_#MELT_NEED_DBG__L6*/ meltfnum[0]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { /*_#MELT_CALLCOUNT__L7*/ meltfnum[1] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6452:/ apply"); /*apply*/ { union meltparam_un argtab[5]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L7*/ meltfnum[1]; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6452; /*^apply.arg*/ argtab[3].meltbp_cstring = "patexpand_list res"; /*^apply.arg*/ argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.RES__V22*/ meltfptr[21]; /*_.MELT_DEBUG_FUN__V25*/ meltfptr[24] = melt_apply ((meltclosure_ptr_t)((/*!MELT_DEBUG_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IF___V24*/ meltfptr[23] = /*_.MELT_DEBUG_FUN__V25*/ meltfptr[24];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6452:/ clear"); /*clear*/ /*_#MELT_CALLCOUNT__L7*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_.MELT_DEBUG_FUN__V25*/ meltfptr[24] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V24*/ meltfptr[23] = /*reallynil*/ NULL ;; } ; { MELT_LOCATION("warmelt-macro.melt:6452:/ locexp"); /*void*/(void)0; } ; /*^quasiblock*/ /*epilog*/ /*^clear*/ /*clear*/ /*_#MELT_NEED_DBG__L6*/ meltfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V24*/ meltfptr[23] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*^block*/ /*anyblock*/ { { /*^locexp*/ /*void*/(void)0; } ; /*epilog*/ } #endif /*MELT_HAVE_DEBUG*/ ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6453:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.RES__V22*/ meltfptr[21];; { MELT_LOCATION("warmelt-macro.melt:6453:/ locexp"); /*ochecknores compilobj_nrep_return*/ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results(); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG*/ ; } ; /*^finalreturn*/ ; /*finalret*/ goto meltlabend_rout ; /*_.LET___V16*/ meltfptr[14] = /*_.RETURN___V26*/ meltfptr[24];; MELT_LOCATION("warmelt-macro.melt:6443:/ clear"); /*clear*/ /*_.CONT__V17*/ meltfptr[4] = 0 ; /*^clear*/ /*clear*/ /*_.LOC__V18*/ meltfptr[17] = 0 ; /*^clear*/ /*clear*/ /*_.LIST_FIRST__V19*/ meltfptr[18] = 0 ; /*^clear*/ /*clear*/ /*_.CURPAIR__V20*/ meltfptr[19] = 0 ; /*^clear*/ /*clear*/ /*_.ARGSP__V21*/ meltfptr[20] = 0 ; /*^clear*/ /*clear*/ /*_.RES__V22*/ meltfptr[21] = 0 ; /*^clear*/ /*clear*/ /*_.RETURN___V26*/ meltfptr[24] = 0 ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6438:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.LET___V16*/ meltfptr[14];; { MELT_LOCATION("warmelt-macro.melt:6438:/ locexp"); /*ochecknores compilobj_nrep_return*/ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results(); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG*/ ; } ; /*^finalreturn*/ ; /*finalret*/ goto meltlabend_rout ; /*epilog*/ /*^clear*/ /*clear*/ /*_.IFCPP___V7*/ meltfptr[5] = 0 ; /*^clear*/ /*clear*/ /*_.IFCPP___V10*/ meltfptr[8] = 0 ; /*^clear*/ /*clear*/ /*_.IFCPP___V13*/ meltfptr[11] = 0 ; /*^clear*/ /*clear*/ /*_.LET___V16*/ meltfptr[14] = 0 ; } ; goto meltlabend_rout; meltlabend_rout: melt_trace_end("PATEXPAND_LIST", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_117_WARMELTmiMACRO_PATEXPAND_LIST_melt; return (melt_ptr_t)(/*_._RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_117_WARMELTmiMACRO_PATEXPAND_LIST*/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_118_WARMELTmiMACRO_MEXPAND_MATCH(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_) { long current_blocklevel_signals_meltrout_118_WARMELTmiMACRO_MEXPAND_MATCH_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long melt_call_counter__; long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__; #undef meltcallcount #define meltcallcount melt_thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1490 /* start of frame for routine meltrout_118_WARMELTmiMACRO_MEXPAND_MATCH fromline 1704 */ /** start of frame for meltrout_118_WARMELTmiMACRO_MEXPAND_MATCH of CLASS_PROCROUTINEOBJ from 1507**/ /*curframdeclclassy*/ class MeltFrame_meltrout_118_WARMELTmiMACRO_MEXPAND_MATCH// fromline 1520 : public Melt_CallFrameWithValues<77> { public: /* fromline 1524*/ long mcfr_varnum[27]; /*classy others*/ long _meltsparel; void melt_mark_stuff (void) { } /*end melt_mark_stuff*/ virtual void melt_mark_ggc_data (void) { melt_mark_values (); melt_mark_stuff (); }; /*end melt_mark_ggc_data*/ MeltFrame_meltrout_118_WARMELTmiMACRO_MEXPAND_MATCH(meltclosure_ptr_t clos) //the closure constructor fromline 1582 : Melt_CallFrameWithValues<77> ( #if ENABLE_CHECKING /*fromline 1586*/ __FILE__, __LINE__, #endif /* ENABLE_CHECKING fromline 1590*/ sizeof(MeltFrame_meltrout_118_WARMELTmiMACRO_MEXPAND_MATCH), clos) {}; MeltFrame_meltrout_118_WARMELTmiMACRO_MEXPAND_MATCH() //the constructor fromline 1594 : Melt_CallFrameWithValues<77> ( #if ENABLE_CHECKING /*fromline 1598*/ __FILE__, __LINE__, #endif /* ENABLE_CHECKING fromline 1602*/ sizeof(MeltFrame_meltrout_118_WARMELTmiMACRO_MEXPAND_MATCH)) {}; #if ENABLE_CHECKING /*fromline 1606*/ MeltFrame_meltrout_118_WARMELTmiMACRO_MEXPAND_MATCH(const char*fil, int lin) //the constructor fromline 1608 : Melt_CallFrameWithValues<77> (fil,lin, sizeof(MeltFrame_meltrout_118_WARMELTmiMACRO_MEXPAND_MATCH)) {}; MeltFrame_meltrout_118_WARMELTmiMACRO_MEXPAND_MATCH(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1613 : Melt_CallFrameWithValues<77> (fil,lin, sizeof(MeltFrame_meltrout_118_WARMELTmiMACRO_MEXPAND_MATCH), clos) {}; #endif /* ENABLE_CHECKING fromline 1618*/ }; // end class MeltFrame_meltrout_118_WARMELTmiMACRO_MEXPAND_MATCH /** end of frame for meltrout_118_WARMELTmiMACRO_MEXPAND_MATCH fromline 1649**/ /* end of frame for routine meltrout_118_WARMELTmiMACRO_MEXPAND_MATCH fromline 1708 */ /* classy proc frame meltrout_118_WARMELTmiMACRO_MEXPAND_MATCH */ MeltFrame_meltrout_118_WARMELTmiMACRO_MEXPAND_MATCH meltfram__ /*declfrastruct fromline 1732*/ /*classyprocarg meltrout_118_WARMELTmiMACRO_MEXPAND_MATCH fromline 1737*/ #if ENABLE_CHECKING (__FILE__, __LINE__, meltclosp_) /* fromline 1741*/ #else /*ENABLE_CHECKING */ (meltclosp_) /* fromline 1745*/ #endif /*ENABLE_CHECKING */ ; #define meltframe meltfram__ melt_trace_start("MEXPAND_MATCH", meltcallcount); /*use arguments*/ (void) meltclosp_; (void)meltfirstargp_; (void)meltxargdescr_; (void)meltxargtab_; (void)meltxresdescr_; (void)meltxrestab_; /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-macro.melt:6468:/ getarg"); /*_.SEXPR__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1*/ /*^getarg*/ if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_endgetargs; /*_.ENV__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2])) != NULL); /*getarg#2*/ /*^getarg*/ if (meltxargdescr_[1] != MELTBPAR_PTR) goto meltlab_endgetargs; /*_.MEXPANDER__V4*/ meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.MEXPANDER__V4*/ meltfptr[3])) != NULL); /*getarg#3*/ /*^getarg*/ if (meltxargdescr_[2] != MELTBPAR_PTR) goto meltlab_endgetargs; /*_.MODCTX__V5*/ meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.MODCTX__V5*/ meltfptr[4])) != NULL); ; goto meltlab_endgetargs; meltlab_endgetargs: ; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6469:/ cppif.then"); /*^block*/ /*anyblock*/ { { /*^locexp*/ /*melt_increment_dbgcounter*/ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL(); ; /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = /*MELT_NEED_DBG*/ #if MELT_HAVE_DEBUG (/*melt_need_dbg*/ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG*/ ;; MELT_LOCATION("warmelt-macro.melt:6469:/ cond"); /*cond*/ if (/*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { /*_#MELT_CALLCOUNT__L2*/ meltfnum[1] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6469:/ apply"); /*apply*/ { union meltparam_un argtab[5]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6469; /*^apply.arg*/ argtab[3].meltbp_cstring = "mexpand_match sexpr="; /*^apply.arg*/ argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.SEXPR__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V7*/ meltfptr[6] = melt_apply ((meltclosure_ptr_t)((/*!MELT_DEBUG_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IF___V6*/ meltfptr[5] = /*_.MELT_DEBUG_FUN__V7*/ meltfptr[6];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6469:/ clear"); /*clear*/ /*_#MELT_CALLCOUNT__L2*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_.MELT_DEBUG_FUN__V7*/ meltfptr[6] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V6*/ meltfptr[5] = /*reallynil*/ NULL ;; } ; { MELT_LOCATION("warmelt-macro.melt:6469:/ locexp"); /*void*/(void)0; } ; /*^quasiblock*/ /*epilog*/ /*^clear*/ /*clear*/ /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V6*/ meltfptr[5] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*^block*/ /*anyblock*/ { { /*^locexp*/ /*void*/(void)0; } ; /*epilog*/ } #endif /*MELT_HAVE_DEBUG*/ ; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6470:/ cppif.then"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*_#IS_A__L3*/ meltfnum[1] = melt_is_instance_of((melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_SEXPR*/ meltfrout->tabval[1])));; MELT_LOCATION("warmelt-macro.melt:6470:/ cond"); /*cond*/ if (/*_#IS_A__L3*/ meltfnum[1]) /*then*/ { /*^cond.then*/ /*_._IFELSE___V9*/ meltfptr[5] = (/*nil*/NULL);; } else { MELT_LOCATION("warmelt-macro.melt:6470:/ cond.else"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*^apply*/ /*apply*/ { union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_cstring = "check sexpr"; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6470; /*^apply.arg*/ argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.SEXPR__V2*/ meltfptr[1]; /*_.MELT_ASSERT_FAILURE_FUN__V10*/ meltfptr[9] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[2])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IFELSE___V9*/ meltfptr[5] = /*_.MELT_ASSERT_FAILURE_FUN__V10*/ meltfptr[9];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6470:/ clear"); /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V10*/ meltfptr[9] = 0 ; } ; } ; /*_.IFCPP___V8*/ meltfptr[6] = /*_._IFELSE___V9*/ meltfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6470:/ clear"); /*clear*/ /*_#IS_A__L3*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_._IFELSE___V9*/ meltfptr[5] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*_.IFCPP___V8*/ meltfptr[6] = (/*nil*/NULL); #endif /*MELT_HAVE_DEBUG*/ ; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6471:/ cppif.then"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*_#IS_A__L4*/ meltfnum[0] = melt_is_instance_of((melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2]), (melt_ptr_t)((/*!CLASS_ENVIRONMENT*/ meltfrout->tabval[3])));; MELT_LOCATION("warmelt-macro.melt:6471:/ cond"); /*cond*/ if (/*_#IS_A__L4*/ meltfnum[0]) /*then*/ { /*^cond.then*/ /*_._IFELSE___V12*/ meltfptr[5] = (/*nil*/NULL);; } else { MELT_LOCATION("warmelt-macro.melt:6471:/ cond.else"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*^apply*/ /*apply*/ { union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_cstring = "check env"; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6471; /*^apply.arg*/ argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.ENV__V3*/ meltfptr[2]; /*_.MELT_ASSERT_FAILURE_FUN__V13*/ meltfptr[12] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[2])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IFELSE___V12*/ meltfptr[5] = /*_.MELT_ASSERT_FAILURE_FUN__V13*/ meltfptr[12];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6471:/ clear"); /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V13*/ meltfptr[12] = 0 ; } ; } ; /*_.IFCPP___V11*/ meltfptr[9] = /*_._IFELSE___V12*/ meltfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6471:/ clear"); /*clear*/ /*_#IS_A__L4*/ meltfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_._IFELSE___V12*/ meltfptr[5] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*_.IFCPP___V11*/ meltfptr[9] = (/*nil*/NULL); #endif /*MELT_HAVE_DEBUG*/ ; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6472:/ cppif.then"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*_#IS_OBJECT__L5*/ meltfnum[1] = (melt_magic_discr((melt_ptr_t)(/*_.MODCTX__V5*/ meltfptr[4])) == MELTOBMAG_OBJECT);; MELT_LOCATION("warmelt-macro.melt:6472:/ cond"); /*cond*/ if (/*_#IS_OBJECT__L5*/ meltfnum[1]) /*then*/ { /*^cond.then*/ /*_._IFELSE___V15*/ meltfptr[5] = (/*nil*/NULL);; } else { MELT_LOCATION("warmelt-macro.melt:6472:/ cond.else"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*^apply*/ /*apply*/ { union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_cstring = "check modctx"; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6472; /*^apply.arg*/ argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.MODCTX__V5*/ meltfptr[4]; /*_.MELT_ASSERT_FAILURE_FUN__V16*/ meltfptr[15] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[2])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IFELSE___V15*/ meltfptr[5] = /*_.MELT_ASSERT_FAILURE_FUN__V16*/ meltfptr[15];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6472:/ clear"); /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V16*/ meltfptr[15] = 0 ; } ; } ; /*_.IFCPP___V14*/ meltfptr[12] = /*_._IFELSE___V15*/ meltfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6472:/ clear"); /*clear*/ /*_#IS_OBJECT__L5*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_._IFELSE___V15*/ meltfptr[5] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*_.IFCPP___V14*/ meltfptr[12] = (/*nil*/NULL); #endif /*MELT_HAVE_DEBUG*/ ; MELT_CHECK_SIGNAL(); ; /*^compute*/ /*_#NULL__L6*/ meltfnum[0] = ((/*_.MEXPANDER__V4*/ meltfptr[3]) == NULL);; MELT_LOCATION("warmelt-macro.melt:6473:/ cond"); /*cond*/ if (/*_#NULL__L6*/ meltfnum[0]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { /*^compute*/ /*_.MEXPANDER__V4*/ meltfptr[3] = /*_.SETQ___V18*/ meltfptr[5] = (/*!MACROEXPAND_1*/ meltfrout->tabval[4]);; /*_._IF___V17*/ meltfptr[15] = /*_.SETQ___V18*/ meltfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6473:/ clear"); /*clear*/ /*_.SETQ___V18*/ meltfptr[5] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V17*/ meltfptr[15] = /*reallynil*/ NULL ;; } ; MELT_LOCATION("warmelt-macro.melt:6474:/ quasiblock"); MELT_LOCATION("warmelt-macro.melt:6475:/ getslot"); { melt_ptr_t slot=NULL, obj=NULL; obj = (melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/; melt_object_get_field(slot,obj, 2, "SEXP_CONTENTS"); /*_.CONT__V20*/ meltfptr[19] = slot; }; ; MELT_LOCATION("warmelt-macro.melt:6476:/ getslot"); { melt_ptr_t slot=NULL, obj=NULL; obj = (melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/; melt_object_get_field(slot,obj, 1, "LOCA_LOCATION"); /*_.LOC__V21*/ meltfptr[20] = slot; }; ; /*_.LIST_FIRST__V22*/ meltfptr[21] = (melt_list_first((melt_ptr_t)(/*_.CONT__V20*/ meltfptr[19])));; /*^compute*/ /*_.PAIR_TAIL__V23*/ meltfptr[22] = (melt_pair_tail((melt_ptr_t)(/*_.LIST_FIRST__V22*/ meltfptr[21])));; /*^compute*/ /*_.MSEXP__V24*/ meltfptr[23] = (melt_pair_head((melt_ptr_t)(/*_.PAIR_TAIL__V23*/ meltfptr[22])));; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6478:/ apply"); /*apply*/ { union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_aptr = (melt_ptr_t*) &/*_.ENV__V3*/ meltfptr[2]; /*^apply.arg*/ argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.MEXPANDER__V4*/ meltfptr[3]; /*^apply.arg*/ argtab[2].meltbp_aptr = (melt_ptr_t*) &/*_.MODCTX__V5*/ meltfptr[4]; /*_.MATSX__V25*/ meltfptr[24] = melt_apply ((meltclosure_ptr_t)(/*_.MEXPANDER__V4*/ meltfptr[3]), (melt_ptr_t)(/*_.MSEXP__V24*/ meltfptr[23]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_.LIST_FIRST__V26*/ meltfptr[25] = (melt_list_first((melt_ptr_t)(/*_.CONT__V20*/ meltfptr[19])));; /*^compute*/ /*_.PAIR_TAIL__V27*/ meltfptr[26] = (melt_pair_tail((melt_ptr_t)(/*_.LIST_FIRST__V26*/ meltfptr[25])));; /*^compute*/ /*_.PAIR_TAIL__V28*/ meltfptr[27] = (melt_pair_tail((melt_ptr_t)(/*_.PAIR_TAIL__V27*/ meltfptr[26])));; MELT_LOCATION("warmelt-macro.melt:6482:/ quasiblock"); /*^newclosure*/ /*newclosure*/ /*_.LAMBDA___V30*/ meltfptr[29] = (melt_ptr_t) meltgc_new_closure((meltobject_ptr_t)(((melt_ptr_t)(MELT_PREDEF(DISCR_CLOSURE)))), (meltroutine_ptr_t)((/*!konst_8*/ meltfrout->tabval[8])), (1)); ; /*^putclosedv*/ /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V30*/ meltfptr[29])) == MELTOBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 0>= 0 && 0< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V30*/ meltfptr[29]))); ((meltclosure_ptr_t)/*_.LAMBDA___V30*/ meltfptr[29])->tabval[0] = (melt_ptr_t)(/*_.LOC__V21*/ meltfptr[20]); ; /*_.LAMBDA___V29*/ meltfptr[28] = /*_.LAMBDA___V30*/ meltfptr[29];; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6479:/ apply"); /*apply*/ { union meltparam_un argtab[2]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_aptr = (melt_ptr_t*) &(/*!DISCR_MULTIPLE*/ meltfrout->tabval[6]); /*^apply.arg*/ argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.LAMBDA___V29*/ meltfptr[28]; /*_.MEXPTUPLE__V31*/ meltfptr[30] = melt_apply ((meltclosure_ptr_t)((/*!PAIRLIST_TO_MULTIPLE*/ meltfrout->tabval[5])), (melt_ptr_t)(/*_.PAIR_TAIL__V28*/ meltfptr[27]), (MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_#NBMATCH__L7*/ meltfnum[1] = (melt_multiple_length((melt_ptr_t)(/*_.MEXPTUPLE__V31*/ meltfptr[30])));; MELT_LOCATION("warmelt-macro.melt:6488:/ quasiblock"); /*_.LX__V33*/ meltfptr[32] = (melt_multiple_nth((melt_ptr_t)(/*_.MEXPTUPLE__V31*/ meltfptr[30]), (-1)));; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6489:/ cppif.then"); /*^block*/ /*anyblock*/ { { /*^locexp*/ /*melt_increment_dbgcounter*/ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL(); ; /*_#MELT_NEED_DBG__L8*/ meltfnum[7] = /*MELT_NEED_DBG*/ #if MELT_HAVE_DEBUG (/*melt_need_dbg*/ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG*/ ;; MELT_LOCATION("warmelt-macro.melt:6489:/ cond"); /*cond*/ if (/*_#MELT_NEED_DBG__L8*/ meltfnum[7]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { /*_#MELT_CALLCOUNT__L9*/ meltfnum[8] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6489:/ apply"); /*apply*/ { union meltparam_un argtab[5]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L9*/ meltfnum[8]; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6489; /*^apply.arg*/ argtab[3].meltbp_cstring = "mexpand_match lastmexp lx"; /*^apply.arg*/ argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.LX__V33*/ meltfptr[32]; /*_.MELT_DEBUG_FUN__V35*/ meltfptr[34] = melt_apply ((meltclosure_ptr_t)((/*!MELT_DEBUG_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IF___V34*/ meltfptr[33] = /*_.MELT_DEBUG_FUN__V35*/ meltfptr[34];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6489:/ clear"); /*clear*/ /*_#MELT_CALLCOUNT__L9*/ meltfnum[8] = 0 ; /*^clear*/ /*clear*/ /*_.MELT_DEBUG_FUN__V35*/ meltfptr[34] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V34*/ meltfptr[33] = /*reallynil*/ NULL ;; } ; { MELT_LOCATION("warmelt-macro.melt:6489:/ locexp"); /*void*/(void)0; } ; /*^quasiblock*/ /*epilog*/ /*^clear*/ /*clear*/ /*_#MELT_NEED_DBG__L8*/ meltfnum[7] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V34*/ meltfptr[33] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*^block*/ /*anyblock*/ { { /*^locexp*/ /*void*/(void)0; } ; /*epilog*/ } #endif /*MELT_HAVE_DEBUG*/ ; /*_.LET___V32*/ meltfptr[31] = /*_.LX__V33*/ meltfptr[32];; MELT_LOCATION("warmelt-macro.melt:6488:/ clear"); /*clear*/ /*_.LX__V33*/ meltfptr[32] = 0 ; /*_.LASTMEXP__V36*/ meltfptr[34] = /*_.LET___V32*/ meltfptr[31];; /*^compute*/ /*_#IX__L10*/ meltfnum[8] = ((/*_#NBMATCH__L7*/ meltfnum[1]) - (1));; /*^compute*/ /*_.CASELIST__V37*/ meltfptr[33] = (meltgc_new_list((meltobject_ptr_t)((/*!DISCR_LIST*/ meltfrout->tabval[9]))));; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6494:/ cppif.then"); /*^block*/ /*anyblock*/ { { /*^locexp*/ /*melt_increment_dbgcounter*/ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL(); ; /*_#MELT_NEED_DBG__L11*/ meltfnum[7] = /*MELT_NEED_DBG*/ #if MELT_HAVE_DEBUG (/*melt_need_dbg*/ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG*/ ;; MELT_LOCATION("warmelt-macro.melt:6494:/ cond"); /*cond*/ if (/*_#MELT_NEED_DBG__L11*/ meltfnum[7]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { /*_#MELT_CALLCOUNT__L12*/ meltfnum[11] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6494:/ apply"); /*apply*/ { union meltparam_un argtab[5]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L12*/ meltfnum[11]; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6494; /*^apply.arg*/ argtab[3].meltbp_cstring = "mexpand_match mexptuple"; /*^apply.arg*/ argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.MEXPTUPLE__V31*/ meltfptr[30]; /*_.MELT_DEBUG_FUN__V39*/ meltfptr[38] = melt_apply ((meltclosure_ptr_t)((/*!MELT_DEBUG_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IF___V38*/ meltfptr[32] = /*_.MELT_DEBUG_FUN__V39*/ meltfptr[38];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6494:/ clear"); /*clear*/ /*_#MELT_CALLCOUNT__L12*/ meltfnum[11] = 0 ; /*^clear*/ /*clear*/ /*_.MELT_DEBUG_FUN__V39*/ meltfptr[38] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V38*/ meltfptr[32] = /*reallynil*/ NULL ;; } ; { MELT_LOCATION("warmelt-macro.melt:6494:/ locexp"); /*void*/(void)0; } ; /*^quasiblock*/ /*epilog*/ /*^clear*/ /*clear*/ /*_#MELT_NEED_DBG__L11*/ meltfnum[7] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V38*/ meltfptr[32] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*^block*/ /*anyblock*/ { { /*^locexp*/ /*void*/(void)0; } ; /*epilog*/ } #endif /*MELT_HAVE_DEBUG*/ ; MELT_LOCATION("warmelt-macro.melt:6495:/ loop"); /*loop*/ { meltlabloop_MATCHLOOP_1:;/*^loopbody*/ /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; MELT_CHECK_SIGNAL(); ; /*_#ltI__L13*/ meltfnum[11] = ((/*_#IX__L10*/ meltfnum[8]) < (0));; MELT_LOCATION("warmelt-macro.melt:6496:/ cond"); /*cond*/ if (/*_#ltI__L13*/ meltfnum[11]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { /*^quasiblock*/ /*^compute*/ /*_.MATCHLOOP__V41*/ meltfptr[32] = /*reallynil*/ NULL ;; /*^exit*/ /*exit*/ { goto meltlabexit_MATCHLOOP_1; } ; /*epilog*/ } ; } /*noelse*/ ; MELT_LOCATION("warmelt-macro.melt:6497:/ quasiblock"); /*_.CURMATCH__V42*/ meltfptr[41] = (melt_multiple_nth((melt_ptr_t)(/*_.MEXPTUPLE__V31*/ meltfptr[30]), (/*_#IX__L10*/ meltfnum[8])));; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6498:/ cppif.then"); /*^block*/ /*anyblock*/ { { /*^locexp*/ /*melt_increment_dbgcounter*/ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL(); ; /*_#MELT_NEED_DBG__L14*/ meltfnum[7] = /*MELT_NEED_DBG*/ #if MELT_HAVE_DEBUG (/*melt_need_dbg*/ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG*/ ;; MELT_LOCATION("warmelt-macro.melt:6498:/ cond"); /*cond*/ if (/*_#MELT_NEED_DBG__L14*/ meltfnum[7]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { /*_#MELT_CALLCOUNT__L15*/ meltfnum[14] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6498:/ apply"); /*apply*/ { union meltparam_un argtab[5]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L15*/ meltfnum[14]; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6498; /*^apply.arg*/ argtab[3].meltbp_cstring = "mexpand_match curmatch"; /*^apply.arg*/ argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.CURMATCH__V42*/ meltfptr[41]; /*_.MELT_DEBUG_FUN__V44*/ meltfptr[43] = melt_apply ((meltclosure_ptr_t)((/*!MELT_DEBUG_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IF___V43*/ meltfptr[42] = /*_.MELT_DEBUG_FUN__V44*/ meltfptr[43];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6498:/ clear"); /*clear*/ /*_#MELT_CALLCOUNT__L15*/ meltfnum[14] = 0 ; /*^clear*/ /*clear*/ /*_.MELT_DEBUG_FUN__V44*/ meltfptr[43] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V43*/ meltfptr[42] = /*reallynil*/ NULL ;; } ; { MELT_LOCATION("warmelt-macro.melt:6498:/ locexp"); /*void*/(void)0; } ; /*^quasiblock*/ /*epilog*/ /*^clear*/ /*clear*/ /*_#MELT_NEED_DBG__L14*/ meltfnum[7] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V43*/ meltfptr[42] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*^block*/ /*anyblock*/ { { /*^locexp*/ /*void*/(void)0; } ; /*epilog*/ } #endif /*MELT_HAVE_DEBUG*/ ; MELT_CHECK_SIGNAL(); ; /*_#IS_A__L16*/ meltfnum[14] = melt_is_instance_of((melt_ptr_t)(/*_.CURMATCH__V42*/ meltfptr[41]), (melt_ptr_t)((/*!CLASS_SEXPR*/ meltfrout->tabval[1])));; MELT_LOCATION("warmelt-macro.melt:6501:/ cond"); /*cond*/ if (/*_#IS_A__L16*/ meltfnum[14]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { MELT_LOCATION("warmelt-macro.melt:6502:/ quasiblock"); /*^getslot*/ { melt_ptr_t slot=NULL, obj=NULL; obj = (melt_ptr_t)(/*_.CURMATCH__V42*/ meltfptr[41]) /*=obj*/; melt_object_get_field(slot,obj, 2, "SEXP_CONTENTS"); /*_.CURMATCHCONT__V45*/ meltfptr[43] = slot; }; ; MELT_LOCATION("warmelt-macro.melt:6503:/ getslot"); { melt_ptr_t slot=NULL, obj=NULL; obj = (melt_ptr_t)(/*_.CURMATCH__V42*/ meltfptr[41]) /*=obj*/; melt_object_get_field(slot,obj, 1, "LOCA_LOCATION"); /*_.CURMATCHLOC__V46*/ meltfptr[42] = slot; }; ; /*_.LIST_FIRST__V47*/ meltfptr[46] = (melt_list_first((melt_ptr_t)(/*_.CURMATCHCONT__V45*/ meltfptr[43])));; /*^compute*/ /*_.CURMATCHPATX__V48*/ meltfptr[47] = (melt_pair_head((melt_ptr_t)(/*_.LIST_FIRST__V47*/ meltfptr[46])));; /*^compute*/ /*_.LIST_FIRST__V49*/ meltfptr[48] = (melt_list_first((melt_ptr_t)(/*_.CURMATCHCONT__V45*/ meltfptr[43])));; /*^compute*/ /*_.CURMATCHRESTPAIRS__V50*/ meltfptr[49] = (melt_pair_tail((melt_ptr_t)(/*_.LIST_FIRST__V49*/ meltfptr[48])));; MELT_CHECK_SIGNAL(); ; /*^compute*/ /*_.MAKE_MAPOBJECT__V51*/ meltfptr[50] = (meltgc_new_mapobjects( (meltobject_ptr_t) ((/*!DISCR_MAP_OBJECTS*/ meltfrout->tabval[12])), (17)));; MELT_LOCATION("warmelt-macro.melt:6506:/ quasiblock"); /*^rawallocobj*/ /*rawallocobj*/ { melt_ptr_t newobj = 0; melt_raw_object_create(newobj,(melt_ptr_t)((/*!CLASS_PATTERN_EXPANSION_CONTEXT*/ meltfrout->tabval[10])), (4), "CLASS_PATTERN_EXPANSION_CONTEXT"); /*_.INST__V53*/ meltfptr[52] = newobj; }; ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @PCTX_MEXPANDER", melt_magic_discr((melt_ptr_t)(/*_.INST__V53*/ meltfptr[52])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V53*/ meltfptr[52]), (0), (/*_.MEXPANDER__V4*/ meltfptr[3]), "PCTX_MEXPANDER"); ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @PCTX_PEXPANDER", melt_magic_discr((melt_ptr_t)(/*_.INST__V53*/ meltfptr[52])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V53*/ meltfptr[52]), (1), ((/*!PATTERNEXPAND_1*/ meltfrout->tabval[11])), "PCTX_PEXPANDER"); ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @PCTX_VARMAP", melt_magic_discr((melt_ptr_t)(/*_.INST__V53*/ meltfptr[52])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V53*/ meltfptr[52]), (2), (/*_.MAKE_MAPOBJECT__V51*/ meltfptr[50]), "PCTX_VARMAP"); ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @PCTX_MODCTX", melt_magic_discr((melt_ptr_t)(/*_.INST__V53*/ meltfptr[52])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V53*/ meltfptr[52]), (3), (/*_.MODCTX__V5*/ meltfptr[4]), "PCTX_MODCTX"); ; /*^touchobj*/ melt_dbgtrace_written_object (/*_.INST__V53*/ meltfptr[52], "newly made instance"); ; /*_.CURPATCTX__V52*/ meltfptr[51] = /*_.INST__V53*/ meltfptr[52];; MELT_LOCATION("warmelt-macro.melt:6512:/ quasiblock"); MELT_CHECK_SIGNAL(); ; /*^apply*/ /*apply*/ { union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_aptr = (melt_ptr_t*) &/*_.ENV__V3*/ meltfptr[2]; /*^apply.arg*/ argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.CURPATCTX__V52*/ meltfptr[51]; /*^apply.arg*/ argtab[2].meltbp_aptr = (melt_ptr_t*) &/*_.CURMATCHLOC__V46*/ meltfptr[42]; /*_.CP__V55*/ meltfptr[54] = melt_apply ((meltclosure_ptr_t)((/*!PATTERNEXPAND_1*/ meltfrout->tabval[11])), (melt_ptr_t)(/*_.CURMATCHPATX__V48*/ meltfptr[47]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6513:/ cppif.then"); /*^block*/ /*anyblock*/ { { /*^locexp*/ /*melt_increment_dbgcounter*/ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL(); ; /*_#MELT_NEED_DBG__L17*/ meltfnum[7] = /*MELT_NEED_DBG*/ #if MELT_HAVE_DEBUG (/*melt_need_dbg*/ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG*/ ;; MELT_LOCATION("warmelt-macro.melt:6513:/ cond"); /*cond*/ if (/*_#MELT_NEED_DBG__L17*/ meltfnum[7]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { /*_#MELT_CALLCOUNT__L18*/ meltfnum[17] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6513:/ apply"); /*apply*/ { union meltparam_un argtab[5]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L18*/ meltfnum[17]; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6513; /*^apply.arg*/ argtab[3].meltbp_cstring = "mexpand_match curpat"; /*^apply.arg*/ argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.CP__V55*/ meltfptr[54]; /*_.MELT_DEBUG_FUN__V57*/ meltfptr[56] = melt_apply ((meltclosure_ptr_t)((/*!MELT_DEBUG_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IF___V56*/ meltfptr[55] = /*_.MELT_DEBUG_FUN__V57*/ meltfptr[56];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6513:/ clear"); /*clear*/ /*_#MELT_CALLCOUNT__L18*/ meltfnum[17] = 0 ; /*^clear*/ /*clear*/ /*_.MELT_DEBUG_FUN__V57*/ meltfptr[56] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V56*/ meltfptr[55] = /*reallynil*/ NULL ;; } ; { MELT_LOCATION("warmelt-macro.melt:6513:/ locexp"); /*void*/(void)0; } ; /*^quasiblock*/ /*epilog*/ /*^clear*/ /*clear*/ /*_#MELT_NEED_DBG__L17*/ meltfnum[7] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V56*/ meltfptr[55] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*^block*/ /*anyblock*/ { { /*^locexp*/ /*void*/(void)0; } ; /*epilog*/ } #endif /*MELT_HAVE_DEBUG*/ ; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6514:/ cppif.then"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*^cond*/ /*cond*/ if (/*_.CP__V55*/ meltfptr[54]) /*then*/ { /*^cond.then*/ /*_._IFELSE___V59*/ meltfptr[55] = (/*nil*/NULL);; } else { MELT_LOCATION("warmelt-macro.melt:6514:/ cond.else"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*^apply*/ /*apply*/ { union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_cstring = "check curpat"; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6514; /*_.MELT_ASSERT_FAILURE_FUN__V60*/ meltfptr[59] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[2])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; /*_._IFELSE___V59*/ meltfptr[55] = /*_.MELT_ASSERT_FAILURE_FUN__V60*/ meltfptr[59];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6514:/ clear"); /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V60*/ meltfptr[59] = 0 ; } ; } ; /*_.IFCPP___V58*/ meltfptr[56] = /*_._IFELSE___V59*/ meltfptr[55];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6514:/ clear"); /*clear*/ /*_._IFELSE___V59*/ meltfptr[55] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*_.IFCPP___V58*/ meltfptr[56] = (/*nil*/NULL); #endif /*MELT_HAVE_DEBUG*/ ; /*^compute*/ /*_.LET___V54*/ meltfptr[53] = /*_.CP__V55*/ meltfptr[54];; MELT_LOCATION("warmelt-macro.melt:6512:/ clear"); /*clear*/ /*_.CP__V55*/ meltfptr[54] = 0 ; /*^clear*/ /*clear*/ /*_.IFCPP___V58*/ meltfptr[56] = 0 ; /*_.CURPAT__V61*/ meltfptr[59] = /*_.LET___V54*/ meltfptr[53];; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6516:/ apply"); /*apply*/ { union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_aptr = (melt_ptr_t*) &/*_.ENV__V3*/ meltfptr[2]; /*^apply.arg*/ argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.MEXPANDER__V4*/ meltfptr[3]; /*^apply.arg*/ argtab[2].meltbp_aptr = (melt_ptr_t*) &/*_.MODCTX__V5*/ meltfptr[4]; /*_.CURBODY__V62*/ meltfptr[55] = melt_apply ((meltclosure_ptr_t)((/*!EXPAND_PAIRLIST_AS_TUPLE*/ meltfrout->tabval[13])), (melt_ptr_t)(/*_.CURMATCHRESTPAIRS__V50*/ meltfptr[49]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6517:/ quasiblock"); /*^rawallocobj*/ /*rawallocobj*/ { melt_ptr_t newobj = 0; melt_raw_object_create(newobj,(melt_ptr_t)((/*!CLASS_SOURCE_MATCH_CASE*/ meltfrout->tabval[14])), (4), "CLASS_SOURCE_MATCH_CASE"); /*_.INST__V64*/ meltfptr[56] = newobj; }; ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @LOCA_LOCATION", melt_magic_discr((melt_ptr_t)(/*_.INST__V64*/ meltfptr[56])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V64*/ meltfptr[56]), (1), (/*_.CURMATCHLOC__V46*/ meltfptr[42]), "LOCA_LOCATION"); ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @SCAM_PATT", melt_magic_discr((melt_ptr_t)(/*_.INST__V64*/ meltfptr[56])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V64*/ meltfptr[56]), (2), (/*_.CURPAT__V61*/ meltfptr[59]), "SCAM_PATT"); ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @SCAM_BODY", melt_magic_discr((melt_ptr_t)(/*_.INST__V64*/ meltfptr[56])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V64*/ meltfptr[56]), (3), (/*_.CURBODY__V62*/ meltfptr[55]), "SCAM_BODY"); ; /*^touchobj*/ melt_dbgtrace_written_object (/*_.INST__V64*/ meltfptr[56], "newly made instance"); ; /*_.CURCASE__V63*/ meltfptr[54] = /*_.INST__V64*/ meltfptr[56];; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6522:/ cppif.then"); /*^block*/ /*anyblock*/ { { /*^locexp*/ /*melt_increment_dbgcounter*/ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL(); ; /*_#MELT_NEED_DBG__L19*/ meltfnum[17] = /*MELT_NEED_DBG*/ #if MELT_HAVE_DEBUG (/*melt_need_dbg*/ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG*/ ;; MELT_LOCATION("warmelt-macro.melt:6522:/ cond"); /*cond*/ if (/*_#MELT_NEED_DBG__L19*/ meltfnum[17]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { /*_#MELT_CALLCOUNT__L20*/ meltfnum[7] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6522:/ apply"); /*apply*/ { union meltparam_un argtab[5]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L20*/ meltfnum[7]; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6522; /*^apply.arg*/ argtab[3].meltbp_cstring = "mexpand_match curcase"; /*^apply.arg*/ argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.CURCASE__V63*/ meltfptr[54]; /*_.MELT_DEBUG_FUN__V66*/ meltfptr[65] = melt_apply ((meltclosure_ptr_t)((/*!MELT_DEBUG_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IF___V65*/ meltfptr[64] = /*_.MELT_DEBUG_FUN__V66*/ meltfptr[65];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6522:/ clear"); /*clear*/ /*_#MELT_CALLCOUNT__L20*/ meltfnum[7] = 0 ; /*^clear*/ /*clear*/ /*_.MELT_DEBUG_FUN__V66*/ meltfptr[65] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V65*/ meltfptr[64] = /*reallynil*/ NULL ;; } ; { MELT_LOCATION("warmelt-macro.melt:6522:/ locexp"); /*void*/(void)0; } ; /*^quasiblock*/ /*epilog*/ /*^clear*/ /*clear*/ /*_#MELT_NEED_DBG__L19*/ meltfnum[17] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V65*/ meltfptr[64] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*^block*/ /*anyblock*/ { { /*^locexp*/ /*void*/(void)0; } ; /*epilog*/ } #endif /*MELT_HAVE_DEBUG*/ ; { MELT_LOCATION("warmelt-macro.melt:6523:/ locexp"); meltgc_prepend_list((melt_ptr_t)(/*_.CASELIST__V37*/ meltfptr[33]), (melt_ptr_t)(/*_.CURCASE__V63*/ meltfptr[54])); } ; MELT_LOCATION("warmelt-macro.melt:6502:/ clear"); /*clear*/ /*_.CURMATCHCONT__V45*/ meltfptr[43] = 0 ; /*^clear*/ /*clear*/ /*_.CURMATCHLOC__V46*/ meltfptr[42] = 0 ; /*^clear*/ /*clear*/ /*_.LIST_FIRST__V47*/ meltfptr[46] = 0 ; /*^clear*/ /*clear*/ /*_.CURMATCHPATX__V48*/ meltfptr[47] = 0 ; /*^clear*/ /*clear*/ /*_.LIST_FIRST__V49*/ meltfptr[48] = 0 ; /*^clear*/ /*clear*/ /*_.CURMATCHRESTPAIRS__V50*/ meltfptr[49] = 0 ; /*^clear*/ /*clear*/ /*_.MAKE_MAPOBJECT__V51*/ meltfptr[50] = 0 ; /*^clear*/ /*clear*/ /*_.CURPATCTX__V52*/ meltfptr[51] = 0 ; /*^clear*/ /*clear*/ /*_.LET___V54*/ meltfptr[53] = 0 ; /*^clear*/ /*clear*/ /*_.CURPAT__V61*/ meltfptr[59] = 0 ; /*^clear*/ /*clear*/ /*_.CURBODY__V62*/ meltfptr[55] = 0 ; /*^clear*/ /*clear*/ /*_.CURCASE__V63*/ meltfptr[54] = 0 ; /*epilog*/ } ; } else { MELT_LOCATION("warmelt-macro.melt:6501:/ cond.else"); /*^block*/ /*anyblock*/ { { MELT_LOCATION("warmelt-macro.melt:6527:/ locexp"); /* error_plain */ melt_error_str((melt_ptr_t)(/*_.LOC__V21*/ meltfptr[20]), ( "(MATCH ...) with non sexpr matchcase"), (melt_ptr_t)0); } ; MELT_LOCATION("warmelt-macro.melt:6526:/ quasiblock"); /*epilog*/ } ; } ; MELT_LOCATION("warmelt-macro.melt:6497:/ clear"); /*clear*/ /*_.CURMATCH__V42*/ meltfptr[41] = 0 ; /*^clear*/ /*clear*/ /*_#IS_A__L16*/ meltfnum[14] = 0 ; /*_#miI__L21*/ meltfnum[7] = ((/*_#IX__L10*/ meltfnum[8]) - (1));; MELT_LOCATION("warmelt-macro.melt:6529:/ compute"); /*_#IX__L10*/ meltfnum[8] = /*_#SETQ___L22*/ meltfnum[17] = /*_#miI__L21*/ meltfnum[7];; MELT_CHECK_SIGNAL(); ; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6495:/ clear"); /*clear*/ /*_#ltI__L13*/ meltfnum[11] = 0 ; /*^clear*/ /*clear*/ /*_#miI__L21*/ meltfnum[7] = 0 ; /*^clear*/ /*clear*/ /*_#SETQ___L22*/ meltfnum[17] = 0 ; } ; ; goto meltlabloop_MATCHLOOP_1; meltlabexit_MATCHLOOP_1:;/*^loopepilog*/ /*loopepilog*/ /*_.FOREVER___V40*/ meltfptr[38] = /*_.MATCHLOOP__V41*/ meltfptr[32];; } ; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6530:/ cppif.then"); /*^block*/ /*anyblock*/ { { /*^locexp*/ /*melt_increment_dbgcounter*/ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL(); ; /*_#MELT_NEED_DBG__L23*/ meltfnum[14] = /*MELT_NEED_DBG*/ #if MELT_HAVE_DEBUG (/*melt_need_dbg*/ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG*/ ;; MELT_LOCATION("warmelt-macro.melt:6530:/ cond"); /*cond*/ if (/*_#MELT_NEED_DBG__L23*/ meltfnum[14]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { /*_#MELT_CALLCOUNT__L24*/ meltfnum[11] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6530:/ apply"); /*apply*/ { union meltparam_un argtab[5]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L24*/ meltfnum[11]; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6530; /*^apply.arg*/ argtab[3].meltbp_cstring = "mexpand_match caselist"; /*^apply.arg*/ argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.CASELIST__V37*/ meltfptr[33]; /*_.MELT_DEBUG_FUN__V68*/ meltfptr[64] = melt_apply ((meltclosure_ptr_t)((/*!MELT_DEBUG_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IF___V67*/ meltfptr[65] = /*_.MELT_DEBUG_FUN__V68*/ meltfptr[64];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6530:/ clear"); /*clear*/ /*_#MELT_CALLCOUNT__L24*/ meltfnum[11] = 0 ; /*^clear*/ /*clear*/ /*_.MELT_DEBUG_FUN__V68*/ meltfptr[64] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V67*/ meltfptr[65] = /*reallynil*/ NULL ;; } ; { MELT_LOCATION("warmelt-macro.melt:6530:/ locexp"); /*void*/(void)0; } ; /*^quasiblock*/ /*epilog*/ /*^clear*/ /*clear*/ /*_#MELT_NEED_DBG__L23*/ meltfnum[14] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V67*/ meltfptr[65] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*^block*/ /*anyblock*/ { { /*^locexp*/ /*void*/(void)0; } ; /*epilog*/ } #endif /*MELT_HAVE_DEBUG*/ ; MELT_LOCATION("warmelt-macro.melt:6531:/ quasiblock"); MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6532:/ apply"); /*apply*/ { union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_aptr = (melt_ptr_t*) &(/*!DISCR_MULTIPLE*/ meltfrout->tabval[6]); /*_.CASETUPL__V70*/ meltfptr[42] = melt_apply ((meltclosure_ptr_t)((/*!LIST_TO_MULTIPLE*/ meltfrout->tabval[15])), (melt_ptr_t)(/*_.CASELIST__V37*/ meltfptr[33]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_.LASTCASE__V71*/ meltfptr[46] = (melt_multiple_nth((melt_ptr_t)(/*_.CASETUPL__V70*/ meltfptr[42]), (-1)));; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6534:/ quasiblock"); /*^rawallocobj*/ /*rawallocobj*/ { melt_ptr_t newobj = 0; melt_raw_object_create(newobj,(melt_ptr_t)((/*!CLASS_SOURCE_MATCH*/ meltfrout->tabval[16])), (4), "CLASS_SOURCE_MATCH"); /*_.INST__V73*/ meltfptr[48] = newobj; }; ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @LOCA_LOCATION", melt_magic_discr((melt_ptr_t)(/*_.INST__V73*/ meltfptr[48])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V73*/ meltfptr[48]), (1), (/*_.LOC__V21*/ meltfptr[20]), "LOCA_LOCATION"); ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @SMAT_MATCHEDX", melt_magic_discr((melt_ptr_t)(/*_.INST__V73*/ meltfptr[48])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V73*/ meltfptr[48]), (2), (/*_.MATSX__V25*/ meltfptr[24]), "SMAT_MATCHEDX"); ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @SMAT_CASES", melt_magic_discr((melt_ptr_t)(/*_.INST__V73*/ meltfptr[48])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V73*/ meltfptr[48]), (3), (/*_.CASETUPL__V70*/ meltfptr[42]), "SMAT_CASES"); ; /*^touchobj*/ melt_dbgtrace_written_object (/*_.INST__V73*/ meltfptr[48], "newly made instance"); ; /*_.SMAT__V72*/ meltfptr[47] = /*_.INST__V73*/ meltfptr[48];; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6542:/ cond"); /*cond*/ if ( /*ifisa*/ melt_is_instance_of((melt_ptr_t)(/*_.LASTCASE__V71*/ meltfptr[46]), (melt_ptr_t)((/*!CLASS_SOURCE_MATCH_CASE*/ meltfrout->tabval[14]))) ) /*then*/ { /*^cond.then*/ /*^getslot*/ { melt_ptr_t slot=NULL, obj=NULL; obj = (melt_ptr_t)(/*_.LASTCASE__V71*/ meltfptr[46]) /*=obj*/; melt_object_get_field(slot,obj, 2, "SCAM_PATT"); /*_.SCAM_PATT__V74*/ meltfptr[49] = slot; }; ; } else /*^cond.else*/ { /*_.SCAM_PATT__V74*/ meltfptr[49] = /*reallynil*/ NULL ;; } ; /*^compute*/ /*_#IS_NOT_A__L25*/ meltfnum[7] = !melt_is_instance_of((melt_ptr_t)(/*_.SCAM_PATT__V74*/ meltfptr[49]), (melt_ptr_t)((/*!CLASS_SOURCE_PATTERN_JOKER_VARIABLE*/ meltfrout->tabval[17])));; MELT_LOCATION("warmelt-macro.melt:6541:/ cond"); /*cond*/ if (/*_#IS_NOT_A__L25*/ meltfnum[7]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { { MELT_LOCATION("warmelt-macro.melt:6544:/ locexp"); melt_inform_str((melt_ptr_t)(/*_.LOC__V21*/ meltfptr[20]), ( "last (MATCH ...) clause is not a joker"), (melt_ptr_t)0); } ; /*epilog*/ } ; } /*noelse*/ ; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6546:/ cppif.then"); /*^block*/ /*anyblock*/ { { /*^locexp*/ /*melt_increment_dbgcounter*/ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL(); ; /*_#MELT_NEED_DBG__L26*/ meltfnum[17] = /*MELT_NEED_DBG*/ #if MELT_HAVE_DEBUG (/*melt_need_dbg*/ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG*/ ;; MELT_LOCATION("warmelt-macro.melt:6546:/ cond"); /*cond*/ if (/*_#MELT_NEED_DBG__L26*/ meltfnum[17]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { /*_#MELT_CALLCOUNT__L27*/ meltfnum[11] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6546:/ apply"); /*apply*/ { union meltparam_un argtab[5]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L27*/ meltfnum[11]; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6546; /*^apply.arg*/ argtab[3].meltbp_cstring = "mexpand_match result smat"; /*^apply.arg*/ argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.SMAT__V72*/ meltfptr[47]; /*_.MELT_DEBUG_FUN__V76*/ meltfptr[51] = melt_apply ((meltclosure_ptr_t)((/*!MELT_DEBUG_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IF___V75*/ meltfptr[50] = /*_.MELT_DEBUG_FUN__V76*/ meltfptr[51];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6546:/ clear"); /*clear*/ /*_#MELT_CALLCOUNT__L27*/ meltfnum[11] = 0 ; /*^clear*/ /*clear*/ /*_.MELT_DEBUG_FUN__V76*/ meltfptr[51] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V75*/ meltfptr[50] = /*reallynil*/ NULL ;; } ; { MELT_LOCATION("warmelt-macro.melt:6546:/ locexp"); /*void*/(void)0; } ; /*^quasiblock*/ /*epilog*/ /*^clear*/ /*clear*/ /*_#MELT_NEED_DBG__L26*/ meltfnum[17] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V75*/ meltfptr[50] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*^block*/ /*anyblock*/ { { /*^locexp*/ /*void*/(void)0; } ; /*epilog*/ } #endif /*MELT_HAVE_DEBUG*/ ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6547:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.SMAT__V72*/ meltfptr[47];; { MELT_LOCATION("warmelt-macro.melt:6547:/ locexp"); /*ochecknores compilobj_nrep_return*/ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results(); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG*/ ; } ; /*^finalreturn*/ ; /*finalret*/ goto meltlabend_rout ; /*_.LET___V69*/ meltfptr[43] = /*_.RETURN___V77*/ meltfptr[53];; MELT_LOCATION("warmelt-macro.melt:6531:/ clear"); /*clear*/ /*_.CASETUPL__V70*/ meltfptr[42] = 0 ; /*^clear*/ /*clear*/ /*_.LASTCASE__V71*/ meltfptr[46] = 0 ; /*^clear*/ /*clear*/ /*_.SMAT__V72*/ meltfptr[47] = 0 ; /*^clear*/ /*clear*/ /*_.SCAM_PATT__V74*/ meltfptr[49] = 0 ; /*^clear*/ /*clear*/ /*_#IS_NOT_A__L25*/ meltfnum[7] = 0 ; /*^clear*/ /*clear*/ /*_.RETURN___V77*/ meltfptr[53] = 0 ; /*_.LET___V19*/ meltfptr[5] = /*_.LET___V69*/ meltfptr[43];; MELT_LOCATION("warmelt-macro.melt:6474:/ clear"); /*clear*/ /*_.CONT__V20*/ meltfptr[19] = 0 ; /*^clear*/ /*clear*/ /*_.LOC__V21*/ meltfptr[20] = 0 ; /*^clear*/ /*clear*/ /*_.LIST_FIRST__V22*/ meltfptr[21] = 0 ; /*^clear*/ /*clear*/ /*_.PAIR_TAIL__V23*/ meltfptr[22] = 0 ; /*^clear*/ /*clear*/ /*_.MSEXP__V24*/ meltfptr[23] = 0 ; /*^clear*/ /*clear*/ /*_.MATSX__V25*/ meltfptr[24] = 0 ; /*^clear*/ /*clear*/ /*_.LIST_FIRST__V26*/ meltfptr[25] = 0 ; /*^clear*/ /*clear*/ /*_.PAIR_TAIL__V27*/ meltfptr[26] = 0 ; /*^clear*/ /*clear*/ /*_.PAIR_TAIL__V28*/ meltfptr[27] = 0 ; /*^clear*/ /*clear*/ /*_.LAMBDA___V29*/ meltfptr[28] = 0 ; /*^clear*/ /*clear*/ /*_.MEXPTUPLE__V31*/ meltfptr[30] = 0 ; /*^clear*/ /*clear*/ /*_#NBMATCH__L7*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_.LET___V32*/ meltfptr[31] = 0 ; /*^clear*/ /*clear*/ /*_.LASTMEXP__V36*/ meltfptr[34] = 0 ; /*^clear*/ /*clear*/ /*_#IX__L10*/ meltfnum[8] = 0 ; /*^clear*/ /*clear*/ /*_.CASELIST__V37*/ meltfptr[33] = 0 ; /*^clear*/ /*clear*/ /*_.FOREVER___V40*/ meltfptr[38] = 0 ; /*^clear*/ /*clear*/ /*_.LET___V69*/ meltfptr[43] = 0 ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6468:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.LET___V19*/ meltfptr[5];; { MELT_LOCATION("warmelt-macro.melt:6468:/ locexp"); /*ochecknores compilobj_nrep_return*/ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results(); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG*/ ; } ; /*^finalreturn*/ ; /*finalret*/ goto meltlabend_rout ; /*epilog*/ /*^clear*/ /*clear*/ /*_.IFCPP___V8*/ meltfptr[6] = 0 ; /*^clear*/ /*clear*/ /*_.IFCPP___V11*/ meltfptr[9] = 0 ; /*^clear*/ /*clear*/ /*_.IFCPP___V14*/ meltfptr[12] = 0 ; /*^clear*/ /*clear*/ /*_#NULL__L6*/ meltfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V17*/ meltfptr[15] = 0 ; /*^clear*/ /*clear*/ /*_.LET___V19*/ meltfptr[5] = 0 ; } ; goto meltlabend_rout; meltlabend_rout: melt_trace_end("MEXPAND_MATCH", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_118_WARMELTmiMACRO_MEXPAND_MATCH_melt; return (melt_ptr_t)(/*_._RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_118_WARMELTmiMACRO_MEXPAND_MATCH*/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_119_WARMELTmiMACRO_LAMBDA_cl18(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_) { long current_blocklevel_signals_meltrout_119_WARMELTmiMACRO_LAMBDA_cl18_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long melt_call_counter__; long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__; #undef meltcallcount #define meltcallcount melt_thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1490 /* start of frame for routine meltrout_119_WARMELTmiMACRO_LAMBDA_cl18 fromline 1704 */ /** start of frame for meltrout_119_WARMELTmiMACRO_LAMBDA_cl18 of CLASS_PROCROUTINEOBJ from 1507**/ /*curframdeclclassy*/ class MeltFrame_meltrout_119_WARMELTmiMACRO_LAMBDA_cl18// fromline 1520 : public Melt_CallFrameWithValues<2> { public: /* fromline 1524*/ long mcfr_varnum[1]; /*classy others*/ long _meltsparel; void melt_mark_stuff (void) { } /*end melt_mark_stuff*/ virtual void melt_mark_ggc_data (void) { melt_mark_values (); melt_mark_stuff (); }; /*end melt_mark_ggc_data*/ MeltFrame_meltrout_119_WARMELTmiMACRO_LAMBDA_cl18(meltclosure_ptr_t clos) //the closure constructor fromline 1582 : Melt_CallFrameWithValues<2> ( #if ENABLE_CHECKING /*fromline 1586*/ __FILE__, __LINE__, #endif /* ENABLE_CHECKING fromline 1590*/ sizeof(MeltFrame_meltrout_119_WARMELTmiMACRO_LAMBDA_cl18), clos) {}; MeltFrame_meltrout_119_WARMELTmiMACRO_LAMBDA_cl18() //the constructor fromline 1594 : Melt_CallFrameWithValues<2> ( #if ENABLE_CHECKING /*fromline 1598*/ __FILE__, __LINE__, #endif /* ENABLE_CHECKING fromline 1602*/ sizeof(MeltFrame_meltrout_119_WARMELTmiMACRO_LAMBDA_cl18)) {}; #if ENABLE_CHECKING /*fromline 1606*/ MeltFrame_meltrout_119_WARMELTmiMACRO_LAMBDA_cl18(const char*fil, int lin) //the constructor fromline 1608 : Melt_CallFrameWithValues<2> (fil,lin, sizeof(MeltFrame_meltrout_119_WARMELTmiMACRO_LAMBDA_cl18)) {}; MeltFrame_meltrout_119_WARMELTmiMACRO_LAMBDA_cl18(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1613 : Melt_CallFrameWithValues<2> (fil,lin, sizeof(MeltFrame_meltrout_119_WARMELTmiMACRO_LAMBDA_cl18), clos) {}; #endif /* ENABLE_CHECKING fromline 1618*/ }; // end class MeltFrame_meltrout_119_WARMELTmiMACRO_LAMBDA_cl18 /** end of frame for meltrout_119_WARMELTmiMACRO_LAMBDA_cl18 fromline 1649**/ /* end of frame for routine meltrout_119_WARMELTmiMACRO_LAMBDA_cl18 fromline 1708 */ /* classy proc frame meltrout_119_WARMELTmiMACRO_LAMBDA_cl18 */ MeltFrame_meltrout_119_WARMELTmiMACRO_LAMBDA_cl18 meltfram__ /*declfrastruct fromline 1732*/ /*classyprocarg meltrout_119_WARMELTmiMACRO_LAMBDA_cl18 fromline 1737*/ #if ENABLE_CHECKING (__FILE__, __LINE__, meltclosp_) /* fromline 1741*/ #else /*ENABLE_CHECKING */ (meltclosp_) /* fromline 1745*/ #endif /*ENABLE_CHECKING */ ; #define meltframe meltfram__ melt_trace_start("LAMBDA_cl18", meltcallcount); /*use arguments*/ (void) meltclosp_; (void)meltfirstargp_; (void)meltxargdescr_; (void)meltxargtab_; (void)meltxresdescr_; (void)meltxrestab_; /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-macro.melt:6482:/ getarg"); /*_.C__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; ; goto meltlab_endgetargs; meltlab_endgetargs: ; /*body*/ /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*_#IS_NOT_A__L1*/ meltfnum[0] = !melt_is_instance_of((melt_ptr_t)(/*_.C__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_SEXPR*/ meltfrout->tabval[0])));; MELT_LOCATION("warmelt-macro.melt:6483:/ cond"); /*cond*/ if (/*_#IS_NOT_A__L1*/ meltfnum[0]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { { MELT_LOCATION("warmelt-macro.melt:6484:/ locexp"); /* error_plain */ melt_error_str((melt_ptr_t)((/*~LOC*/ meltfclos->tabval[0])), ( "MATCH with non-sexpr"), (melt_ptr_t)0); } ; /*epilog*/ } ; } /*noelse*/ ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6482:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.C__V2*/ meltfptr[1];; { MELT_LOCATION("warmelt-macro.melt:6482:/ locexp"); /*ochecknores compilobj_nrep_return*/ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results(); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG*/ ; } ; /*^finalreturn*/ ; /*finalret*/ goto meltlabend_rout ; /*epilog*/ /*^clear*/ /*clear*/ /*_#IS_NOT_A__L1*/ meltfnum[0] = 0 ; } ; goto meltlabend_rout; meltlabend_rout: melt_trace_end("LAMBDA_cl18", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_119_WARMELTmiMACRO_LAMBDA_cl18_melt; return (melt_ptr_t)(/*_._RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_119_WARMELTmiMACRO_LAMBDA_cl18*/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_120_WARMELTmiMACRO_MEXPAND_MATCHALT(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_) { long current_blocklevel_signals_meltrout_120_WARMELTmiMACRO_MEXPAND_MATCHALT_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long melt_call_counter__; long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__; #undef meltcallcount #define meltcallcount melt_thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1490 /* start of frame for routine meltrout_120_WARMELTmiMACRO_MEXPAND_MATCHALT fromline 1704 */ /** start of frame for meltrout_120_WARMELTmiMACRO_MEXPAND_MATCHALT of CLASS_PROCROUTINEOBJ from 1507**/ /*curframdeclclassy*/ class MeltFrame_meltrout_120_WARMELTmiMACRO_MEXPAND_MATCHALT// fromline 1520 : public Melt_CallFrameWithValues<77> { public: /* fromline 1524*/ long mcfr_varnum[27]; /*classy others*/ long _meltsparel; void melt_mark_stuff (void) { } /*end melt_mark_stuff*/ virtual void melt_mark_ggc_data (void) { melt_mark_values (); melt_mark_stuff (); }; /*end melt_mark_ggc_data*/ MeltFrame_meltrout_120_WARMELTmiMACRO_MEXPAND_MATCHALT(meltclosure_ptr_t clos) //the closure constructor fromline 1582 : Melt_CallFrameWithValues<77> ( #if ENABLE_CHECKING /*fromline 1586*/ __FILE__, __LINE__, #endif /* ENABLE_CHECKING fromline 1590*/ sizeof(MeltFrame_meltrout_120_WARMELTmiMACRO_MEXPAND_MATCHALT), clos) {}; MeltFrame_meltrout_120_WARMELTmiMACRO_MEXPAND_MATCHALT() //the constructor fromline 1594 : Melt_CallFrameWithValues<77> ( #if ENABLE_CHECKING /*fromline 1598*/ __FILE__, __LINE__, #endif /* ENABLE_CHECKING fromline 1602*/ sizeof(MeltFrame_meltrout_120_WARMELTmiMACRO_MEXPAND_MATCHALT)) {}; #if ENABLE_CHECKING /*fromline 1606*/ MeltFrame_meltrout_120_WARMELTmiMACRO_MEXPAND_MATCHALT(const char*fil, int lin) //the constructor fromline 1608 : Melt_CallFrameWithValues<77> (fil,lin, sizeof(MeltFrame_meltrout_120_WARMELTmiMACRO_MEXPAND_MATCHALT)) {}; MeltFrame_meltrout_120_WARMELTmiMACRO_MEXPAND_MATCHALT(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1613 : Melt_CallFrameWithValues<77> (fil,lin, sizeof(MeltFrame_meltrout_120_WARMELTmiMACRO_MEXPAND_MATCHALT), clos) {}; #endif /* ENABLE_CHECKING fromline 1618*/ }; // end class MeltFrame_meltrout_120_WARMELTmiMACRO_MEXPAND_MATCHALT /** end of frame for meltrout_120_WARMELTmiMACRO_MEXPAND_MATCHALT fromline 1649**/ /* end of frame for routine meltrout_120_WARMELTmiMACRO_MEXPAND_MATCHALT fromline 1708 */ /* classy proc frame meltrout_120_WARMELTmiMACRO_MEXPAND_MATCHALT */ MeltFrame_meltrout_120_WARMELTmiMACRO_MEXPAND_MATCHALT meltfram__ /*declfrastruct fromline 1732*/ /*classyprocarg meltrout_120_WARMELTmiMACRO_MEXPAND_MATCHALT fromline 1737*/ #if ENABLE_CHECKING (__FILE__, __LINE__, meltclosp_) /* fromline 1741*/ #else /*ENABLE_CHECKING */ (meltclosp_) /* fromline 1745*/ #endif /*ENABLE_CHECKING */ ; #define meltframe meltfram__ melt_trace_start("MEXPAND_MATCHALT", meltcallcount); /*use arguments*/ (void) meltclosp_; (void)meltfirstargp_; (void)meltxargdescr_; (void)meltxargtab_; (void)meltxresdescr_; (void)meltxrestab_; /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-macro.melt:6562:/ getarg"); /*_.SEXPR__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1*/ /*^getarg*/ if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_endgetargs; /*_.ENV__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2])) != NULL); /*getarg#2*/ /*^getarg*/ if (meltxargdescr_[1] != MELTBPAR_PTR) goto meltlab_endgetargs; /*_.MEXPANDER__V4*/ meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.MEXPANDER__V4*/ meltfptr[3])) != NULL); /*getarg#3*/ /*^getarg*/ if (meltxargdescr_[2] != MELTBPAR_PTR) goto meltlab_endgetargs; /*_.MODCTX__V5*/ meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.MODCTX__V5*/ meltfptr[4])) != NULL); ; goto meltlab_endgetargs; meltlab_endgetargs: ; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6563:/ cppif.then"); /*^block*/ /*anyblock*/ { { /*^locexp*/ /*melt_increment_dbgcounter*/ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL(); ; /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = /*MELT_NEED_DBG*/ #if MELT_HAVE_DEBUG (/*melt_need_dbg*/ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG*/ ;; MELT_LOCATION("warmelt-macro.melt:6563:/ cond"); /*cond*/ if (/*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { /*_#MELT_CALLCOUNT__L2*/ meltfnum[1] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6563:/ apply"); /*apply*/ { union meltparam_un argtab[5]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6563; /*^apply.arg*/ argtab[3].meltbp_cstring = "mexpand_matchalt sexpr="; /*^apply.arg*/ argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.SEXPR__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V7*/ meltfptr[6] = melt_apply ((meltclosure_ptr_t)((/*!MELT_DEBUG_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IF___V6*/ meltfptr[5] = /*_.MELT_DEBUG_FUN__V7*/ meltfptr[6];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6563:/ clear"); /*clear*/ /*_#MELT_CALLCOUNT__L2*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_.MELT_DEBUG_FUN__V7*/ meltfptr[6] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V6*/ meltfptr[5] = /*reallynil*/ NULL ;; } ; { MELT_LOCATION("warmelt-macro.melt:6563:/ locexp"); /*void*/(void)0; } ; /*^quasiblock*/ /*epilog*/ /*^clear*/ /*clear*/ /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V6*/ meltfptr[5] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*^block*/ /*anyblock*/ { { /*^locexp*/ /*void*/(void)0; } ; /*epilog*/ } #endif /*MELT_HAVE_DEBUG*/ ; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6564:/ cppif.then"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*_#IS_A__L3*/ meltfnum[1] = melt_is_instance_of((melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_SEXPR*/ meltfrout->tabval[1])));; MELT_LOCATION("warmelt-macro.melt:6564:/ cond"); /*cond*/ if (/*_#IS_A__L3*/ meltfnum[1]) /*then*/ { /*^cond.then*/ /*_._IFELSE___V9*/ meltfptr[5] = (/*nil*/NULL);; } else { MELT_LOCATION("warmelt-macro.melt:6564:/ cond.else"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*^apply*/ /*apply*/ { union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_cstring = "check sexpr"; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6564; /*^apply.arg*/ argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.SEXPR__V2*/ meltfptr[1]; /*_.MELT_ASSERT_FAILURE_FUN__V10*/ meltfptr[9] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[2])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IFELSE___V9*/ meltfptr[5] = /*_.MELT_ASSERT_FAILURE_FUN__V10*/ meltfptr[9];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6564:/ clear"); /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V10*/ meltfptr[9] = 0 ; } ; } ; /*_.IFCPP___V8*/ meltfptr[6] = /*_._IFELSE___V9*/ meltfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6564:/ clear"); /*clear*/ /*_#IS_A__L3*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_._IFELSE___V9*/ meltfptr[5] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*_.IFCPP___V8*/ meltfptr[6] = (/*nil*/NULL); #endif /*MELT_HAVE_DEBUG*/ ; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6565:/ cppif.then"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*_#IS_A__L4*/ meltfnum[0] = melt_is_instance_of((melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2]), (melt_ptr_t)((/*!CLASS_ENVIRONMENT*/ meltfrout->tabval[3])));; MELT_LOCATION("warmelt-macro.melt:6565:/ cond"); /*cond*/ if (/*_#IS_A__L4*/ meltfnum[0]) /*then*/ { /*^cond.then*/ /*_._IFELSE___V12*/ meltfptr[5] = (/*nil*/NULL);; } else { MELT_LOCATION("warmelt-macro.melt:6565:/ cond.else"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*^apply*/ /*apply*/ { union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_cstring = "check env"; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6565; /*^apply.arg*/ argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.ENV__V3*/ meltfptr[2]; /*_.MELT_ASSERT_FAILURE_FUN__V13*/ meltfptr[12] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[2])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IFELSE___V12*/ meltfptr[5] = /*_.MELT_ASSERT_FAILURE_FUN__V13*/ meltfptr[12];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6565:/ clear"); /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V13*/ meltfptr[12] = 0 ; } ; } ; /*_.IFCPP___V11*/ meltfptr[9] = /*_._IFELSE___V12*/ meltfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6565:/ clear"); /*clear*/ /*_#IS_A__L4*/ meltfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_._IFELSE___V12*/ meltfptr[5] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*_.IFCPP___V11*/ meltfptr[9] = (/*nil*/NULL); #endif /*MELT_HAVE_DEBUG*/ ; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6566:/ cppif.then"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*_#IS_OBJECT__L5*/ meltfnum[1] = (melt_magic_discr((melt_ptr_t)(/*_.MODCTX__V5*/ meltfptr[4])) == MELTOBMAG_OBJECT);; MELT_LOCATION("warmelt-macro.melt:6566:/ cond"); /*cond*/ if (/*_#IS_OBJECT__L5*/ meltfnum[1]) /*then*/ { /*^cond.then*/ /*_._IFELSE___V15*/ meltfptr[5] = (/*nil*/NULL);; } else { MELT_LOCATION("warmelt-macro.melt:6566:/ cond.else"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*^apply*/ /*apply*/ { union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_cstring = "check modctx"; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6566; /*^apply.arg*/ argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.MODCTX__V5*/ meltfptr[4]; /*_.MELT_ASSERT_FAILURE_FUN__V16*/ meltfptr[15] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[2])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IFELSE___V15*/ meltfptr[5] = /*_.MELT_ASSERT_FAILURE_FUN__V16*/ meltfptr[15];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6566:/ clear"); /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V16*/ meltfptr[15] = 0 ; } ; } ; /*_.IFCPP___V14*/ meltfptr[12] = /*_._IFELSE___V15*/ meltfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6566:/ clear"); /*clear*/ /*_#IS_OBJECT__L5*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_._IFELSE___V15*/ meltfptr[5] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*_.IFCPP___V14*/ meltfptr[12] = (/*nil*/NULL); #endif /*MELT_HAVE_DEBUG*/ ; MELT_CHECK_SIGNAL(); ; /*^compute*/ /*_#NULL__L6*/ meltfnum[0] = ((/*_.MEXPANDER__V4*/ meltfptr[3]) == NULL);; MELT_LOCATION("warmelt-macro.melt:6567:/ cond"); /*cond*/ if (/*_#NULL__L6*/ meltfnum[0]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { /*^compute*/ /*_.MEXPANDER__V4*/ meltfptr[3] = /*_.SETQ___V18*/ meltfptr[5] = (/*!MACROEXPAND_1*/ meltfrout->tabval[4]);; /*_._IF___V17*/ meltfptr[15] = /*_.SETQ___V18*/ meltfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6567:/ clear"); /*clear*/ /*_.SETQ___V18*/ meltfptr[5] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V17*/ meltfptr[15] = /*reallynil*/ NULL ;; } ; MELT_LOCATION("warmelt-macro.melt:6568:/ quasiblock"); MELT_LOCATION("warmelt-macro.melt:6569:/ getslot"); { melt_ptr_t slot=NULL, obj=NULL; obj = (melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/; melt_object_get_field(slot,obj, 2, "SEXP_CONTENTS"); /*_.CONT__V20*/ meltfptr[19] = slot; }; ; MELT_LOCATION("warmelt-macro.melt:6570:/ getslot"); { melt_ptr_t slot=NULL, obj=NULL; obj = (melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/; melt_object_get_field(slot,obj, 1, "LOCA_LOCATION"); /*_.LOC__V21*/ meltfptr[20] = slot; }; ; /*_.LIST_FIRST__V22*/ meltfptr[21] = (melt_list_first((melt_ptr_t)(/*_.CONT__V20*/ meltfptr[19])));; /*^compute*/ /*_.PAIR_TAIL__V23*/ meltfptr[22] = (melt_pair_tail((melt_ptr_t)(/*_.LIST_FIRST__V22*/ meltfptr[21])));; /*^compute*/ /*_.MSEXP__V24*/ meltfptr[23] = (melt_pair_head((melt_ptr_t)(/*_.PAIR_TAIL__V23*/ meltfptr[22])));; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6572:/ apply"); /*apply*/ { union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_aptr = (melt_ptr_t*) &/*_.ENV__V3*/ meltfptr[2]; /*^apply.arg*/ argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.MEXPANDER__V4*/ meltfptr[3]; /*^apply.arg*/ argtab[2].meltbp_aptr = (melt_ptr_t*) &/*_.MODCTX__V5*/ meltfptr[4]; /*_.MATSX__V25*/ meltfptr[24] = melt_apply ((meltclosure_ptr_t)(/*_.MEXPANDER__V4*/ meltfptr[3]), (melt_ptr_t)(/*_.MSEXP__V24*/ meltfptr[23]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_.LIST_FIRST__V26*/ meltfptr[25] = (melt_list_first((melt_ptr_t)(/*_.CONT__V20*/ meltfptr[19])));; /*^compute*/ /*_.PAIR_TAIL__V27*/ meltfptr[26] = (melt_pair_tail((melt_ptr_t)(/*_.LIST_FIRST__V26*/ meltfptr[25])));; /*^compute*/ /*_.PAIR_TAIL__V28*/ meltfptr[27] = (melt_pair_tail((melt_ptr_t)(/*_.PAIR_TAIL__V27*/ meltfptr[26])));; MELT_LOCATION("warmelt-macro.melt:6576:/ quasiblock"); /*^newclosure*/ /*newclosure*/ /*_.LAMBDA___V30*/ meltfptr[29] = (melt_ptr_t) meltgc_new_closure((meltobject_ptr_t)(((melt_ptr_t)(MELT_PREDEF(DISCR_CLOSURE)))), (meltroutine_ptr_t)((/*!konst_8*/ meltfrout->tabval[8])), (1)); ; /*^putclosedv*/ /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V30*/ meltfptr[29])) == MELTOBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 0>= 0 && 0< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V30*/ meltfptr[29]))); ((meltclosure_ptr_t)/*_.LAMBDA___V30*/ meltfptr[29])->tabval[0] = (melt_ptr_t)(/*_.LOC__V21*/ meltfptr[20]); ; /*_.LAMBDA___V29*/ meltfptr[28] = /*_.LAMBDA___V30*/ meltfptr[29];; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6573:/ apply"); /*apply*/ { union meltparam_un argtab[2]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_aptr = (melt_ptr_t*) &(/*!DISCR_MULTIPLE*/ meltfrout->tabval[6]); /*^apply.arg*/ argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.LAMBDA___V29*/ meltfptr[28]; /*_.MEXPTUPLE__V31*/ meltfptr[30] = melt_apply ((meltclosure_ptr_t)((/*!PAIRLIST_TO_MULTIPLE*/ meltfrout->tabval[5])), (melt_ptr_t)(/*_.PAIR_TAIL__V28*/ meltfptr[27]), (MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_#NBMATCH__L7*/ meltfnum[1] = (melt_multiple_length((melt_ptr_t)(/*_.MEXPTUPLE__V31*/ meltfptr[30])));; MELT_LOCATION("warmelt-macro.melt:6582:/ quasiblock"); /*_.LX__V33*/ meltfptr[32] = (melt_multiple_nth((melt_ptr_t)(/*_.MEXPTUPLE__V31*/ meltfptr[30]), (-1)));; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6583:/ cppif.then"); /*^block*/ /*anyblock*/ { { /*^locexp*/ /*melt_increment_dbgcounter*/ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL(); ; /*_#MELT_NEED_DBG__L8*/ meltfnum[7] = /*MELT_NEED_DBG*/ #if MELT_HAVE_DEBUG (/*melt_need_dbg*/ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG*/ ;; MELT_LOCATION("warmelt-macro.melt:6583:/ cond"); /*cond*/ if (/*_#MELT_NEED_DBG__L8*/ meltfnum[7]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { /*_#MELT_CALLCOUNT__L9*/ meltfnum[8] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6583:/ apply"); /*apply*/ { union meltparam_un argtab[5]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L9*/ meltfnum[8]; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6583; /*^apply.arg*/ argtab[3].meltbp_cstring = "mexpand_matchalt lastmexp lx"; /*^apply.arg*/ argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.LX__V33*/ meltfptr[32]; /*_.MELT_DEBUG_FUN__V35*/ meltfptr[34] = melt_apply ((meltclosure_ptr_t)((/*!MELT_DEBUG_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IF___V34*/ meltfptr[33] = /*_.MELT_DEBUG_FUN__V35*/ meltfptr[34];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6583:/ clear"); /*clear*/ /*_#MELT_CALLCOUNT__L9*/ meltfnum[8] = 0 ; /*^clear*/ /*clear*/ /*_.MELT_DEBUG_FUN__V35*/ meltfptr[34] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V34*/ meltfptr[33] = /*reallynil*/ NULL ;; } ; { MELT_LOCATION("warmelt-macro.melt:6583:/ locexp"); /*void*/(void)0; } ; /*^quasiblock*/ /*epilog*/ /*^clear*/ /*clear*/ /*_#MELT_NEED_DBG__L8*/ meltfnum[7] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V34*/ meltfptr[33] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*^block*/ /*anyblock*/ { { /*^locexp*/ /*void*/(void)0; } ; /*epilog*/ } #endif /*MELT_HAVE_DEBUG*/ ; /*_.LET___V32*/ meltfptr[31] = /*_.LX__V33*/ meltfptr[32];; MELT_LOCATION("warmelt-macro.melt:6582:/ clear"); /*clear*/ /*_.LX__V33*/ meltfptr[32] = 0 ; /*_.LASTMEXP__V36*/ meltfptr[34] = /*_.LET___V32*/ meltfptr[31];; /*^compute*/ /*_#IX__L10*/ meltfnum[8] = ((/*_#NBMATCH__L7*/ meltfnum[1]) - (1));; /*^compute*/ /*_.CASELIST__V37*/ meltfptr[33] = (meltgc_new_list((meltobject_ptr_t)((/*!DISCR_LIST*/ meltfrout->tabval[9]))));; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6588:/ cppif.then"); /*^block*/ /*anyblock*/ { { /*^locexp*/ /*melt_increment_dbgcounter*/ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL(); ; /*_#MELT_NEED_DBG__L11*/ meltfnum[7] = /*MELT_NEED_DBG*/ #if MELT_HAVE_DEBUG (/*melt_need_dbg*/ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG*/ ;; MELT_LOCATION("warmelt-macro.melt:6588:/ cond"); /*cond*/ if (/*_#MELT_NEED_DBG__L11*/ meltfnum[7]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { /*_#MELT_CALLCOUNT__L12*/ meltfnum[11] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6588:/ apply"); /*apply*/ { union meltparam_un argtab[5]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L12*/ meltfnum[11]; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6588; /*^apply.arg*/ argtab[3].meltbp_cstring = "mexpand_matchalt mexptuple"; /*^apply.arg*/ argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.MEXPTUPLE__V31*/ meltfptr[30]; /*_.MELT_DEBUG_FUN__V39*/ meltfptr[38] = melt_apply ((meltclosure_ptr_t)((/*!MELT_DEBUG_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IF___V38*/ meltfptr[32] = /*_.MELT_DEBUG_FUN__V39*/ meltfptr[38];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6588:/ clear"); /*clear*/ /*_#MELT_CALLCOUNT__L12*/ meltfnum[11] = 0 ; /*^clear*/ /*clear*/ /*_.MELT_DEBUG_FUN__V39*/ meltfptr[38] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V38*/ meltfptr[32] = /*reallynil*/ NULL ;; } ; { MELT_LOCATION("warmelt-macro.melt:6588:/ locexp"); /*void*/(void)0; } ; /*^quasiblock*/ /*epilog*/ /*^clear*/ /*clear*/ /*_#MELT_NEED_DBG__L11*/ meltfnum[7] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V38*/ meltfptr[32] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*^block*/ /*anyblock*/ { { /*^locexp*/ /*void*/(void)0; } ; /*epilog*/ } #endif /*MELT_HAVE_DEBUG*/ ; MELT_LOCATION("warmelt-macro.melt:6589:/ loop"); /*loop*/ { meltlabloop_MATCHLOOP_2:;/*^loopbody*/ /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; MELT_CHECK_SIGNAL(); ; /*_#ltI__L13*/ meltfnum[11] = ((/*_#IX__L10*/ meltfnum[8]) < (0));; MELT_LOCATION("warmelt-macro.melt:6590:/ cond"); /*cond*/ if (/*_#ltI__L13*/ meltfnum[11]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { /*^quasiblock*/ /*^compute*/ /*_.MATCHLOOP__V41*/ meltfptr[32] = /*reallynil*/ NULL ;; /*^exit*/ /*exit*/ { goto meltlabexit_MATCHLOOP_2; } ; /*epilog*/ } ; } /*noelse*/ ; MELT_LOCATION("warmelt-macro.melt:6591:/ quasiblock"); /*_.CURMATCH__V42*/ meltfptr[41] = (melt_multiple_nth((melt_ptr_t)(/*_.MEXPTUPLE__V31*/ meltfptr[30]), (/*_#IX__L10*/ meltfnum[8])));; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6592:/ cppif.then"); /*^block*/ /*anyblock*/ { { /*^locexp*/ /*melt_increment_dbgcounter*/ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL(); ; /*_#MELT_NEED_DBG__L14*/ meltfnum[7] = /*MELT_NEED_DBG*/ #if MELT_HAVE_DEBUG (/*melt_need_dbg*/ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG*/ ;; MELT_LOCATION("warmelt-macro.melt:6592:/ cond"); /*cond*/ if (/*_#MELT_NEED_DBG__L14*/ meltfnum[7]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { /*_#MELT_CALLCOUNT__L15*/ meltfnum[14] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6592:/ apply"); /*apply*/ { union meltparam_un argtab[5]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L15*/ meltfnum[14]; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6592; /*^apply.arg*/ argtab[3].meltbp_cstring = "mexpand_matchalt curmatch"; /*^apply.arg*/ argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.CURMATCH__V42*/ meltfptr[41]; /*_.MELT_DEBUG_FUN__V44*/ meltfptr[43] = melt_apply ((meltclosure_ptr_t)((/*!MELT_DEBUG_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IF___V43*/ meltfptr[42] = /*_.MELT_DEBUG_FUN__V44*/ meltfptr[43];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6592:/ clear"); /*clear*/ /*_#MELT_CALLCOUNT__L15*/ meltfnum[14] = 0 ; /*^clear*/ /*clear*/ /*_.MELT_DEBUG_FUN__V44*/ meltfptr[43] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V43*/ meltfptr[42] = /*reallynil*/ NULL ;; } ; { MELT_LOCATION("warmelt-macro.melt:6592:/ locexp"); /*void*/(void)0; } ; /*^quasiblock*/ /*epilog*/ /*^clear*/ /*clear*/ /*_#MELT_NEED_DBG__L14*/ meltfnum[7] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V43*/ meltfptr[42] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*^block*/ /*anyblock*/ { { /*^locexp*/ /*void*/(void)0; } ; /*epilog*/ } #endif /*MELT_HAVE_DEBUG*/ ; MELT_CHECK_SIGNAL(); ; /*_#IS_A__L16*/ meltfnum[14] = melt_is_instance_of((melt_ptr_t)(/*_.CURMATCH__V42*/ meltfptr[41]), (melt_ptr_t)((/*!CLASS_SEXPR*/ meltfrout->tabval[1])));; MELT_LOCATION("warmelt-macro.melt:6595:/ cond"); /*cond*/ if (/*_#IS_A__L16*/ meltfnum[14]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { MELT_LOCATION("warmelt-macro.melt:6596:/ quasiblock"); /*^getslot*/ { melt_ptr_t slot=NULL, obj=NULL; obj = (melt_ptr_t)(/*_.CURMATCH__V42*/ meltfptr[41]) /*=obj*/; melt_object_get_field(slot,obj, 2, "SEXP_CONTENTS"); /*_.CURMATCHCONT__V45*/ meltfptr[43] = slot; }; ; MELT_LOCATION("warmelt-macro.melt:6597:/ getslot"); { melt_ptr_t slot=NULL, obj=NULL; obj = (melt_ptr_t)(/*_.CURMATCH__V42*/ meltfptr[41]) /*=obj*/; melt_object_get_field(slot,obj, 1, "LOCA_LOCATION"); /*_.CURMATCHLOC__V46*/ meltfptr[42] = slot; }; ; /*_.LIST_FIRST__V47*/ meltfptr[46] = (melt_list_first((melt_ptr_t)(/*_.CURMATCHCONT__V45*/ meltfptr[43])));; /*^compute*/ /*_.CURMATCHPATX__V48*/ meltfptr[47] = (melt_pair_head((melt_ptr_t)(/*_.LIST_FIRST__V47*/ meltfptr[46])));; /*^compute*/ /*_.LIST_FIRST__V49*/ meltfptr[48] = (melt_list_first((melt_ptr_t)(/*_.CURMATCHCONT__V45*/ meltfptr[43])));; /*^compute*/ /*_.CURMATCHRESTPAIRS__V50*/ meltfptr[49] = (melt_pair_tail((melt_ptr_t)(/*_.LIST_FIRST__V49*/ meltfptr[48])));; MELT_CHECK_SIGNAL(); ; /*^compute*/ /*_.MAKE_MAPOBJECT__V51*/ meltfptr[50] = (meltgc_new_mapobjects( (meltobject_ptr_t) ((/*!DISCR_MAP_OBJECTS*/ meltfrout->tabval[12])), (17)));; MELT_LOCATION("warmelt-macro.melt:6600:/ quasiblock"); /*^rawallocobj*/ /*rawallocobj*/ { melt_ptr_t newobj = 0; melt_raw_object_create(newobj,(melt_ptr_t)((/*!CLASS_PATTERN_EXPANSION_CONTEXT*/ meltfrout->tabval[10])), (4), "CLASS_PATTERN_EXPANSION_CONTEXT"); /*_.INST__V53*/ meltfptr[52] = newobj; }; ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @PCTX_MEXPANDER", melt_magic_discr((melt_ptr_t)(/*_.INST__V53*/ meltfptr[52])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V53*/ meltfptr[52]), (0), (/*_.MEXPANDER__V4*/ meltfptr[3]), "PCTX_MEXPANDER"); ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @PCTX_PEXPANDER", melt_magic_discr((melt_ptr_t)(/*_.INST__V53*/ meltfptr[52])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V53*/ meltfptr[52]), (1), ((/*!PATTERNEXPAND_1*/ meltfrout->tabval[11])), "PCTX_PEXPANDER"); ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @PCTX_VARMAP", melt_magic_discr((melt_ptr_t)(/*_.INST__V53*/ meltfptr[52])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V53*/ meltfptr[52]), (2), (/*_.MAKE_MAPOBJECT__V51*/ meltfptr[50]), "PCTX_VARMAP"); ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @PCTX_MODCTX", melt_magic_discr((melt_ptr_t)(/*_.INST__V53*/ meltfptr[52])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V53*/ meltfptr[52]), (3), (/*_.MODCTX__V5*/ meltfptr[4]), "PCTX_MODCTX"); ; /*^touchobj*/ melt_dbgtrace_written_object (/*_.INST__V53*/ meltfptr[52], "newly made instance"); ; /*_.CURPATCTX__V52*/ meltfptr[51] = /*_.INST__V53*/ meltfptr[52];; MELT_LOCATION("warmelt-macro.melt:6606:/ quasiblock"); MELT_CHECK_SIGNAL(); ; /*^apply*/ /*apply*/ { union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_aptr = (melt_ptr_t*) &/*_.ENV__V3*/ meltfptr[2]; /*^apply.arg*/ argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.CURPATCTX__V52*/ meltfptr[51]; /*^apply.arg*/ argtab[2].meltbp_aptr = (melt_ptr_t*) &/*_.CURMATCHLOC__V46*/ meltfptr[42]; /*_.CP__V55*/ meltfptr[54] = melt_apply ((meltclosure_ptr_t)((/*!PATTERNEXPAND_1*/ meltfrout->tabval[11])), (melt_ptr_t)(/*_.CURMATCHPATX__V48*/ meltfptr[47]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6607:/ cppif.then"); /*^block*/ /*anyblock*/ { { /*^locexp*/ /*melt_increment_dbgcounter*/ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL(); ; /*_#MELT_NEED_DBG__L17*/ meltfnum[7] = /*MELT_NEED_DBG*/ #if MELT_HAVE_DEBUG (/*melt_need_dbg*/ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG*/ ;; MELT_LOCATION("warmelt-macro.melt:6607:/ cond"); /*cond*/ if (/*_#MELT_NEED_DBG__L17*/ meltfnum[7]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { /*_#MELT_CALLCOUNT__L18*/ meltfnum[17] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6607:/ apply"); /*apply*/ { union meltparam_un argtab[5]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L18*/ meltfnum[17]; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6607; /*^apply.arg*/ argtab[3].meltbp_cstring = "mexpand_matchalt curpat"; /*^apply.arg*/ argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.CP__V55*/ meltfptr[54]; /*_.MELT_DEBUG_FUN__V57*/ meltfptr[56] = melt_apply ((meltclosure_ptr_t)((/*!MELT_DEBUG_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IF___V56*/ meltfptr[55] = /*_.MELT_DEBUG_FUN__V57*/ meltfptr[56];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6607:/ clear"); /*clear*/ /*_#MELT_CALLCOUNT__L18*/ meltfnum[17] = 0 ; /*^clear*/ /*clear*/ /*_.MELT_DEBUG_FUN__V57*/ meltfptr[56] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V56*/ meltfptr[55] = /*reallynil*/ NULL ;; } ; { MELT_LOCATION("warmelt-macro.melt:6607:/ locexp"); /*void*/(void)0; } ; /*^quasiblock*/ /*epilog*/ /*^clear*/ /*clear*/ /*_#MELT_NEED_DBG__L17*/ meltfnum[7] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V56*/ meltfptr[55] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*^block*/ /*anyblock*/ { { /*^locexp*/ /*void*/(void)0; } ; /*epilog*/ } #endif /*MELT_HAVE_DEBUG*/ ; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6608:/ cppif.then"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*^cond*/ /*cond*/ if (/*_.CP__V55*/ meltfptr[54]) /*then*/ { /*^cond.then*/ /*_._IFELSE___V59*/ meltfptr[55] = (/*nil*/NULL);; } else { MELT_LOCATION("warmelt-macro.melt:6608:/ cond.else"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*^apply*/ /*apply*/ { union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_cstring = "check curpat"; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6608; /*_.MELT_ASSERT_FAILURE_FUN__V60*/ meltfptr[59] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[2])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; /*_._IFELSE___V59*/ meltfptr[55] = /*_.MELT_ASSERT_FAILURE_FUN__V60*/ meltfptr[59];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6608:/ clear"); /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V60*/ meltfptr[59] = 0 ; } ; } ; /*_.IFCPP___V58*/ meltfptr[56] = /*_._IFELSE___V59*/ meltfptr[55];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6608:/ clear"); /*clear*/ /*_._IFELSE___V59*/ meltfptr[55] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*_.IFCPP___V58*/ meltfptr[56] = (/*nil*/NULL); #endif /*MELT_HAVE_DEBUG*/ ; /*^compute*/ /*_.LET___V54*/ meltfptr[53] = /*_.CP__V55*/ meltfptr[54];; MELT_LOCATION("warmelt-macro.melt:6606:/ clear"); /*clear*/ /*_.CP__V55*/ meltfptr[54] = 0 ; /*^clear*/ /*clear*/ /*_.IFCPP___V58*/ meltfptr[56] = 0 ; /*_.CURPAT__V61*/ meltfptr[59] = /*_.LET___V54*/ meltfptr[53];; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6610:/ apply"); /*apply*/ { union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_aptr = (melt_ptr_t*) &/*_.ENV__V3*/ meltfptr[2]; /*^apply.arg*/ argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.MEXPANDER__V4*/ meltfptr[3]; /*^apply.arg*/ argtab[2].meltbp_aptr = (melt_ptr_t*) &/*_.MODCTX__V5*/ meltfptr[4]; /*_.CURBODY__V62*/ meltfptr[55] = melt_apply ((meltclosure_ptr_t)((/*!EXPAND_PAIRLIST_AS_TUPLE*/ meltfrout->tabval[13])), (melt_ptr_t)(/*_.CURMATCHRESTPAIRS__V50*/ meltfptr[49]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6611:/ quasiblock"); /*^rawallocobj*/ /*rawallocobj*/ { melt_ptr_t newobj = 0; melt_raw_object_create(newobj,(melt_ptr_t)((/*!CLASS_SOURCE_MATCH_CASE*/ meltfrout->tabval[14])), (4), "CLASS_SOURCE_MATCH_CASE"); /*_.INST__V64*/ meltfptr[56] = newobj; }; ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @LOCA_LOCATION", melt_magic_discr((melt_ptr_t)(/*_.INST__V64*/ meltfptr[56])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V64*/ meltfptr[56]), (1), (/*_.CURMATCHLOC__V46*/ meltfptr[42]), "LOCA_LOCATION"); ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @SCAM_PATT", melt_magic_discr((melt_ptr_t)(/*_.INST__V64*/ meltfptr[56])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V64*/ meltfptr[56]), (2), (/*_.CURPAT__V61*/ meltfptr[59]), "SCAM_PATT"); ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @SCAM_BODY", melt_magic_discr((melt_ptr_t)(/*_.INST__V64*/ meltfptr[56])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V64*/ meltfptr[56]), (3), (/*_.CURBODY__V62*/ meltfptr[55]), "SCAM_BODY"); ; /*^touchobj*/ melt_dbgtrace_written_object (/*_.INST__V64*/ meltfptr[56], "newly made instance"); ; /*_.CURCASE__V63*/ meltfptr[54] = /*_.INST__V64*/ meltfptr[56];; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6616:/ cppif.then"); /*^block*/ /*anyblock*/ { { /*^locexp*/ /*melt_increment_dbgcounter*/ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL(); ; /*_#MELT_NEED_DBG__L19*/ meltfnum[17] = /*MELT_NEED_DBG*/ #if MELT_HAVE_DEBUG (/*melt_need_dbg*/ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG*/ ;; MELT_LOCATION("warmelt-macro.melt:6616:/ cond"); /*cond*/ if (/*_#MELT_NEED_DBG__L19*/ meltfnum[17]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { /*_#MELT_CALLCOUNT__L20*/ meltfnum[7] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6616:/ apply"); /*apply*/ { union meltparam_un argtab[5]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L20*/ meltfnum[7]; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6616; /*^apply.arg*/ argtab[3].meltbp_cstring = "mexpand_matchalt curcase"; /*^apply.arg*/ argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.CURCASE__V63*/ meltfptr[54]; /*_.MELT_DEBUG_FUN__V66*/ meltfptr[65] = melt_apply ((meltclosure_ptr_t)((/*!MELT_DEBUG_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IF___V65*/ meltfptr[64] = /*_.MELT_DEBUG_FUN__V66*/ meltfptr[65];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6616:/ clear"); /*clear*/ /*_#MELT_CALLCOUNT__L20*/ meltfnum[7] = 0 ; /*^clear*/ /*clear*/ /*_.MELT_DEBUG_FUN__V66*/ meltfptr[65] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V65*/ meltfptr[64] = /*reallynil*/ NULL ;; } ; { MELT_LOCATION("warmelt-macro.melt:6616:/ locexp"); /*void*/(void)0; } ; /*^quasiblock*/ /*epilog*/ /*^clear*/ /*clear*/ /*_#MELT_NEED_DBG__L19*/ meltfnum[17] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V65*/ meltfptr[64] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*^block*/ /*anyblock*/ { { /*^locexp*/ /*void*/(void)0; } ; /*epilog*/ } #endif /*MELT_HAVE_DEBUG*/ ; { MELT_LOCATION("warmelt-macro.melt:6617:/ locexp"); meltgc_prepend_list((melt_ptr_t)(/*_.CASELIST__V37*/ meltfptr[33]), (melt_ptr_t)(/*_.CURCASE__V63*/ meltfptr[54])); } ; MELT_LOCATION("warmelt-macro.melt:6596:/ clear"); /*clear*/ /*_.CURMATCHCONT__V45*/ meltfptr[43] = 0 ; /*^clear*/ /*clear*/ /*_.CURMATCHLOC__V46*/ meltfptr[42] = 0 ; /*^clear*/ /*clear*/ /*_.LIST_FIRST__V47*/ meltfptr[46] = 0 ; /*^clear*/ /*clear*/ /*_.CURMATCHPATX__V48*/ meltfptr[47] = 0 ; /*^clear*/ /*clear*/ /*_.LIST_FIRST__V49*/ meltfptr[48] = 0 ; /*^clear*/ /*clear*/ /*_.CURMATCHRESTPAIRS__V50*/ meltfptr[49] = 0 ; /*^clear*/ /*clear*/ /*_.MAKE_MAPOBJECT__V51*/ meltfptr[50] = 0 ; /*^clear*/ /*clear*/ /*_.CURPATCTX__V52*/ meltfptr[51] = 0 ; /*^clear*/ /*clear*/ /*_.LET___V54*/ meltfptr[53] = 0 ; /*^clear*/ /*clear*/ /*_.CURPAT__V61*/ meltfptr[59] = 0 ; /*^clear*/ /*clear*/ /*_.CURBODY__V62*/ meltfptr[55] = 0 ; /*^clear*/ /*clear*/ /*_.CURCASE__V63*/ meltfptr[54] = 0 ; /*epilog*/ } ; } else { MELT_LOCATION("warmelt-macro.melt:6595:/ cond.else"); /*^block*/ /*anyblock*/ { { MELT_LOCATION("warmelt-macro.melt:6621:/ locexp"); /* error_plain */ melt_error_str((melt_ptr_t)(/*_.LOC__V21*/ meltfptr[20]), ( "(MATCHALT ...) with non sexpr matchcase"), (melt_ptr_t)0); } ; MELT_LOCATION("warmelt-macro.melt:6620:/ quasiblock"); /*epilog*/ } ; } ; MELT_LOCATION("warmelt-macro.melt:6591:/ clear"); /*clear*/ /*_.CURMATCH__V42*/ meltfptr[41] = 0 ; /*^clear*/ /*clear*/ /*_#IS_A__L16*/ meltfnum[14] = 0 ; /*_#miI__L21*/ meltfnum[7] = ((/*_#IX__L10*/ meltfnum[8]) - (1));; MELT_LOCATION("warmelt-macro.melt:6623:/ compute"); /*_#IX__L10*/ meltfnum[8] = /*_#SETQ___L22*/ meltfnum[17] = /*_#miI__L21*/ meltfnum[7];; MELT_CHECK_SIGNAL(); ; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6589:/ clear"); /*clear*/ /*_#ltI__L13*/ meltfnum[11] = 0 ; /*^clear*/ /*clear*/ /*_#miI__L21*/ meltfnum[7] = 0 ; /*^clear*/ /*clear*/ /*_#SETQ___L22*/ meltfnum[17] = 0 ; } ; ; goto meltlabloop_MATCHLOOP_2; meltlabexit_MATCHLOOP_2:;/*^loopepilog*/ /*loopepilog*/ /*_.FOREVER___V40*/ meltfptr[38] = /*_.MATCHLOOP__V41*/ meltfptr[32];; } ; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6624:/ cppif.then"); /*^block*/ /*anyblock*/ { { /*^locexp*/ /*melt_increment_dbgcounter*/ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL(); ; /*_#MELT_NEED_DBG__L23*/ meltfnum[14] = /*MELT_NEED_DBG*/ #if MELT_HAVE_DEBUG (/*melt_need_dbg*/ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG*/ ;; MELT_LOCATION("warmelt-macro.melt:6624:/ cond"); /*cond*/ if (/*_#MELT_NEED_DBG__L23*/ meltfnum[14]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { /*_#MELT_CALLCOUNT__L24*/ meltfnum[11] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6624:/ apply"); /*apply*/ { union meltparam_un argtab[5]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L24*/ meltfnum[11]; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6624; /*^apply.arg*/ argtab[3].meltbp_cstring = "mexpand_matchalt caselist"; /*^apply.arg*/ argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.CASELIST__V37*/ meltfptr[33]; /*_.MELT_DEBUG_FUN__V68*/ meltfptr[64] = melt_apply ((meltclosure_ptr_t)((/*!MELT_DEBUG_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IF___V67*/ meltfptr[65] = /*_.MELT_DEBUG_FUN__V68*/ meltfptr[64];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6624:/ clear"); /*clear*/ /*_#MELT_CALLCOUNT__L24*/ meltfnum[11] = 0 ; /*^clear*/ /*clear*/ /*_.MELT_DEBUG_FUN__V68*/ meltfptr[64] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V67*/ meltfptr[65] = /*reallynil*/ NULL ;; } ; { MELT_LOCATION("warmelt-macro.melt:6624:/ locexp"); /*void*/(void)0; } ; /*^quasiblock*/ /*epilog*/ /*^clear*/ /*clear*/ /*_#MELT_NEED_DBG__L23*/ meltfnum[14] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V67*/ meltfptr[65] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*^block*/ /*anyblock*/ { { /*^locexp*/ /*void*/(void)0; } ; /*epilog*/ } #endif /*MELT_HAVE_DEBUG*/ ; MELT_LOCATION("warmelt-macro.melt:6625:/ quasiblock"); MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6626:/ apply"); /*apply*/ { union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_aptr = (melt_ptr_t*) &(/*!DISCR_MULTIPLE*/ meltfrout->tabval[6]); /*_.CASETUPL__V70*/ meltfptr[42] = melt_apply ((meltclosure_ptr_t)((/*!LIST_TO_MULTIPLE*/ meltfrout->tabval[15])), (melt_ptr_t)(/*_.CASELIST__V37*/ meltfptr[33]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_.LASTCASE__V71*/ meltfptr[46] = (melt_multiple_nth((melt_ptr_t)(/*_.CASETUPL__V70*/ meltfptr[42]), (-1)));; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6628:/ quasiblock"); /*^rawallocobj*/ /*rawallocobj*/ { melt_ptr_t newobj = 0; melt_raw_object_create(newobj,(melt_ptr_t)((/*!CLASS_SOURCE_MATCHALT*/ meltfrout->tabval[16])), (4), "CLASS_SOURCE_MATCHALT"); /*_.INST__V73*/ meltfptr[48] = newobj; }; ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @LOCA_LOCATION", melt_magic_discr((melt_ptr_t)(/*_.INST__V73*/ meltfptr[48])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V73*/ meltfptr[48]), (1), (/*_.LOC__V21*/ meltfptr[20]), "LOCA_LOCATION"); ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @SMAT_MATCHEDX", melt_magic_discr((melt_ptr_t)(/*_.INST__V73*/ meltfptr[48])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V73*/ meltfptr[48]), (2), (/*_.MATSX__V25*/ meltfptr[24]), "SMAT_MATCHEDX"); ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @SMAT_CASES", melt_magic_discr((melt_ptr_t)(/*_.INST__V73*/ meltfptr[48])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V73*/ meltfptr[48]), (3), (/*_.CASETUPL__V70*/ meltfptr[42]), "SMAT_CASES"); ; /*^touchobj*/ melt_dbgtrace_written_object (/*_.INST__V73*/ meltfptr[48], "newly made instance"); ; /*_.SMAT__V72*/ meltfptr[47] = /*_.INST__V73*/ meltfptr[48];; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6636:/ cond"); /*cond*/ if ( /*ifisa*/ melt_is_instance_of((melt_ptr_t)(/*_.LASTCASE__V71*/ meltfptr[46]), (melt_ptr_t)((/*!CLASS_SOURCE_MATCH_CASE*/ meltfrout->tabval[14]))) ) /*then*/ { /*^cond.then*/ /*^getslot*/ { melt_ptr_t slot=NULL, obj=NULL; obj = (melt_ptr_t)(/*_.LASTCASE__V71*/ meltfptr[46]) /*=obj*/; melt_object_get_field(slot,obj, 2, "SCAM_PATT"); /*_.SCAM_PATT__V74*/ meltfptr[49] = slot; }; ; } else /*^cond.else*/ { /*_.SCAM_PATT__V74*/ meltfptr[49] = /*reallynil*/ NULL ;; } ; /*^compute*/ /*_#IS_NOT_A__L25*/ meltfnum[7] = !melt_is_instance_of((melt_ptr_t)(/*_.SCAM_PATT__V74*/ meltfptr[49]), (melt_ptr_t)((/*!CLASS_SOURCE_PATTERN_JOKER_VARIABLE*/ meltfrout->tabval[17])));; MELT_LOCATION("warmelt-macro.melt:6635:/ cond"); /*cond*/ if (/*_#IS_NOT_A__L25*/ meltfnum[7]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { { MELT_LOCATION("warmelt-macro.melt:6638:/ locexp"); melt_inform_str((melt_ptr_t)(/*_.LOC__V21*/ meltfptr[20]), ( "last (MATCHALT ...) clause is not a joker"), (melt_ptr_t)0); } ; /*epilog*/ } ; } /*noelse*/ ; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6640:/ cppif.then"); /*^block*/ /*anyblock*/ { { /*^locexp*/ /*melt_increment_dbgcounter*/ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL(); ; /*_#MELT_NEED_DBG__L26*/ meltfnum[17] = /*MELT_NEED_DBG*/ #if MELT_HAVE_DEBUG (/*melt_need_dbg*/ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG*/ ;; MELT_LOCATION("warmelt-macro.melt:6640:/ cond"); /*cond*/ if (/*_#MELT_NEED_DBG__L26*/ meltfnum[17]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { /*_#MELT_CALLCOUNT__L27*/ meltfnum[11] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6640:/ apply"); /*apply*/ { union meltparam_un argtab[5]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L27*/ meltfnum[11]; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6640; /*^apply.arg*/ argtab[3].meltbp_cstring = "mexpand_matchalt result smat"; /*^apply.arg*/ argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.SMAT__V72*/ meltfptr[47]; /*_.MELT_DEBUG_FUN__V76*/ meltfptr[51] = melt_apply ((meltclosure_ptr_t)((/*!MELT_DEBUG_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IF___V75*/ meltfptr[50] = /*_.MELT_DEBUG_FUN__V76*/ meltfptr[51];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6640:/ clear"); /*clear*/ /*_#MELT_CALLCOUNT__L27*/ meltfnum[11] = 0 ; /*^clear*/ /*clear*/ /*_.MELT_DEBUG_FUN__V76*/ meltfptr[51] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V75*/ meltfptr[50] = /*reallynil*/ NULL ;; } ; { MELT_LOCATION("warmelt-macro.melt:6640:/ locexp"); /*void*/(void)0; } ; /*^quasiblock*/ /*epilog*/ /*^clear*/ /*clear*/ /*_#MELT_NEED_DBG__L26*/ meltfnum[17] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V75*/ meltfptr[50] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*^block*/ /*anyblock*/ { { /*^locexp*/ /*void*/(void)0; } ; /*epilog*/ } #endif /*MELT_HAVE_DEBUG*/ ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6641:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.SMAT__V72*/ meltfptr[47];; { MELT_LOCATION("warmelt-macro.melt:6641:/ locexp"); /*ochecknores compilobj_nrep_return*/ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results(); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG*/ ; } ; /*^finalreturn*/ ; /*finalret*/ goto meltlabend_rout ; /*_.LET___V69*/ meltfptr[43] = /*_.RETURN___V77*/ meltfptr[53];; MELT_LOCATION("warmelt-macro.melt:6625:/ clear"); /*clear*/ /*_.CASETUPL__V70*/ meltfptr[42] = 0 ; /*^clear*/ /*clear*/ /*_.LASTCASE__V71*/ meltfptr[46] = 0 ; /*^clear*/ /*clear*/ /*_.SMAT__V72*/ meltfptr[47] = 0 ; /*^clear*/ /*clear*/ /*_.SCAM_PATT__V74*/ meltfptr[49] = 0 ; /*^clear*/ /*clear*/ /*_#IS_NOT_A__L25*/ meltfnum[7] = 0 ; /*^clear*/ /*clear*/ /*_.RETURN___V77*/ meltfptr[53] = 0 ; /*_.LET___V19*/ meltfptr[5] = /*_.LET___V69*/ meltfptr[43];; MELT_LOCATION("warmelt-macro.melt:6568:/ clear"); /*clear*/ /*_.CONT__V20*/ meltfptr[19] = 0 ; /*^clear*/ /*clear*/ /*_.LOC__V21*/ meltfptr[20] = 0 ; /*^clear*/ /*clear*/ /*_.LIST_FIRST__V22*/ meltfptr[21] = 0 ; /*^clear*/ /*clear*/ /*_.PAIR_TAIL__V23*/ meltfptr[22] = 0 ; /*^clear*/ /*clear*/ /*_.MSEXP__V24*/ meltfptr[23] = 0 ; /*^clear*/ /*clear*/ /*_.MATSX__V25*/ meltfptr[24] = 0 ; /*^clear*/ /*clear*/ /*_.LIST_FIRST__V26*/ meltfptr[25] = 0 ; /*^clear*/ /*clear*/ /*_.PAIR_TAIL__V27*/ meltfptr[26] = 0 ; /*^clear*/ /*clear*/ /*_.PAIR_TAIL__V28*/ meltfptr[27] = 0 ; /*^clear*/ /*clear*/ /*_.LAMBDA___V29*/ meltfptr[28] = 0 ; /*^clear*/ /*clear*/ /*_.MEXPTUPLE__V31*/ meltfptr[30] = 0 ; /*^clear*/ /*clear*/ /*_#NBMATCH__L7*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_.LET___V32*/ meltfptr[31] = 0 ; /*^clear*/ /*clear*/ /*_.LASTMEXP__V36*/ meltfptr[34] = 0 ; /*^clear*/ /*clear*/ /*_#IX__L10*/ meltfnum[8] = 0 ; /*^clear*/ /*clear*/ /*_.CASELIST__V37*/ meltfptr[33] = 0 ; /*^clear*/ /*clear*/ /*_.FOREVER___V40*/ meltfptr[38] = 0 ; /*^clear*/ /*clear*/ /*_.LET___V69*/ meltfptr[43] = 0 ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6562:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.LET___V19*/ meltfptr[5];; { MELT_LOCATION("warmelt-macro.melt:6562:/ locexp"); /*ochecknores compilobj_nrep_return*/ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results(); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG*/ ; } ; /*^finalreturn*/ ; /*finalret*/ goto meltlabend_rout ; /*epilog*/ /*^clear*/ /*clear*/ /*_.IFCPP___V8*/ meltfptr[6] = 0 ; /*^clear*/ /*clear*/ /*_.IFCPP___V11*/ meltfptr[9] = 0 ; /*^clear*/ /*clear*/ /*_.IFCPP___V14*/ meltfptr[12] = 0 ; /*^clear*/ /*clear*/ /*_#NULL__L6*/ meltfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V17*/ meltfptr[15] = 0 ; /*^clear*/ /*clear*/ /*_.LET___V19*/ meltfptr[5] = 0 ; } ; goto meltlabend_rout; meltlabend_rout: melt_trace_end("MEXPAND_MATCHALT", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_120_WARMELTmiMACRO_MEXPAND_MATCHALT_melt; return (melt_ptr_t)(/*_._RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_120_WARMELTmiMACRO_MEXPAND_MATCHALT*/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_121_WARMELTmiMACRO_LAMBDA_cl19(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_) { long current_blocklevel_signals_meltrout_121_WARMELTmiMACRO_LAMBDA_cl19_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long melt_call_counter__; long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__; #undef meltcallcount #define meltcallcount melt_thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1490 /* start of frame for routine meltrout_121_WARMELTmiMACRO_LAMBDA_cl19 fromline 1704 */ /** start of frame for meltrout_121_WARMELTmiMACRO_LAMBDA_cl19 of CLASS_PROCROUTINEOBJ from 1507**/ /*curframdeclclassy*/ class MeltFrame_meltrout_121_WARMELTmiMACRO_LAMBDA_cl19// fromline 1520 : public Melt_CallFrameWithValues<2> { public: /* fromline 1524*/ long mcfr_varnum[1]; /*classy others*/ long _meltsparel; void melt_mark_stuff (void) { } /*end melt_mark_stuff*/ virtual void melt_mark_ggc_data (void) { melt_mark_values (); melt_mark_stuff (); }; /*end melt_mark_ggc_data*/ MeltFrame_meltrout_121_WARMELTmiMACRO_LAMBDA_cl19(meltclosure_ptr_t clos) //the closure constructor fromline 1582 : Melt_CallFrameWithValues<2> ( #if ENABLE_CHECKING /*fromline 1586*/ __FILE__, __LINE__, #endif /* ENABLE_CHECKING fromline 1590*/ sizeof(MeltFrame_meltrout_121_WARMELTmiMACRO_LAMBDA_cl19), clos) {}; MeltFrame_meltrout_121_WARMELTmiMACRO_LAMBDA_cl19() //the constructor fromline 1594 : Melt_CallFrameWithValues<2> ( #if ENABLE_CHECKING /*fromline 1598*/ __FILE__, __LINE__, #endif /* ENABLE_CHECKING fromline 1602*/ sizeof(MeltFrame_meltrout_121_WARMELTmiMACRO_LAMBDA_cl19)) {}; #if ENABLE_CHECKING /*fromline 1606*/ MeltFrame_meltrout_121_WARMELTmiMACRO_LAMBDA_cl19(const char*fil, int lin) //the constructor fromline 1608 : Melt_CallFrameWithValues<2> (fil,lin, sizeof(MeltFrame_meltrout_121_WARMELTmiMACRO_LAMBDA_cl19)) {}; MeltFrame_meltrout_121_WARMELTmiMACRO_LAMBDA_cl19(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1613 : Melt_CallFrameWithValues<2> (fil,lin, sizeof(MeltFrame_meltrout_121_WARMELTmiMACRO_LAMBDA_cl19), clos) {}; #endif /* ENABLE_CHECKING fromline 1618*/ }; // end class MeltFrame_meltrout_121_WARMELTmiMACRO_LAMBDA_cl19 /** end of frame for meltrout_121_WARMELTmiMACRO_LAMBDA_cl19 fromline 1649**/ /* end of frame for routine meltrout_121_WARMELTmiMACRO_LAMBDA_cl19 fromline 1708 */ /* classy proc frame meltrout_121_WARMELTmiMACRO_LAMBDA_cl19 */ MeltFrame_meltrout_121_WARMELTmiMACRO_LAMBDA_cl19 meltfram__ /*declfrastruct fromline 1732*/ /*classyprocarg meltrout_121_WARMELTmiMACRO_LAMBDA_cl19 fromline 1737*/ #if ENABLE_CHECKING (__FILE__, __LINE__, meltclosp_) /* fromline 1741*/ #else /*ENABLE_CHECKING */ (meltclosp_) /* fromline 1745*/ #endif /*ENABLE_CHECKING */ ; #define meltframe meltfram__ melt_trace_start("LAMBDA_cl19", meltcallcount); /*use arguments*/ (void) meltclosp_; (void)meltfirstargp_; (void)meltxargdescr_; (void)meltxargtab_; (void)meltxresdescr_; (void)meltxrestab_; /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-macro.melt:6576:/ getarg"); /*_.C__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; ; goto meltlab_endgetargs; meltlab_endgetargs: ; /*body*/ /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*_#IS_NOT_A__L1*/ meltfnum[0] = !melt_is_instance_of((melt_ptr_t)(/*_.C__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_SEXPR*/ meltfrout->tabval[0])));; MELT_LOCATION("warmelt-macro.melt:6577:/ cond"); /*cond*/ if (/*_#IS_NOT_A__L1*/ meltfnum[0]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { { MELT_LOCATION("warmelt-macro.melt:6578:/ locexp"); /* error_plain */ melt_error_str((melt_ptr_t)((/*~LOC*/ meltfclos->tabval[0])), ( "MATCHALT with non-sexpr"), (melt_ptr_t)0); } ; /*epilog*/ } ; } /*noelse*/ ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6576:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.C__V2*/ meltfptr[1];; { MELT_LOCATION("warmelt-macro.melt:6576:/ locexp"); /*ochecknores compilobj_nrep_return*/ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results(); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG*/ ; } ; /*^finalreturn*/ ; /*finalret*/ goto meltlabend_rout ; /*epilog*/ /*^clear*/ /*clear*/ /*_#IS_NOT_A__L1*/ meltfnum[0] = 0 ; } ; goto meltlabend_rout; meltlabend_rout: melt_trace_end("LAMBDA_cl19", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_121_WARMELTmiMACRO_LAMBDA_cl19_melt; return (melt_ptr_t)(/*_._RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_121_WARMELTmiMACRO_LAMBDA_cl19*/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_122_WARMELTmiMACRO_MEXPAND_LETBINDING(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_) { long current_blocklevel_signals_meltrout_122_WARMELTmiMACRO_MEXPAND_LETBINDING_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long melt_call_counter__; long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__; #undef meltcallcount #define meltcallcount melt_thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1490 /* start of frame for routine meltrout_122_WARMELTmiMACRO_MEXPAND_LETBINDING fromline 1704 */ /** start of frame for meltrout_122_WARMELTmiMACRO_MEXPAND_LETBINDING of CLASS_PROCROUTINEOBJ from 1507**/ /*curframdeclclassy*/ class MeltFrame_meltrout_122_WARMELTmiMACRO_MEXPAND_LETBINDING// fromline 1520 : public Melt_CallFrameWithValues<127> { public: /* fromline 1524*/ long mcfr_varnum[31]; /*classy others*/ long _meltsparel; void melt_mark_stuff (void) { } /*end melt_mark_stuff*/ virtual void melt_mark_ggc_data (void) { melt_mark_values (); melt_mark_stuff (); }; /*end melt_mark_ggc_data*/ MeltFrame_meltrout_122_WARMELTmiMACRO_MEXPAND_LETBINDING(meltclosure_ptr_t clos) //the closure constructor fromline 1582 : Melt_CallFrameWithValues<127> ( #if ENABLE_CHECKING /*fromline 1586*/ __FILE__, __LINE__, #endif /* ENABLE_CHECKING fromline 1590*/ sizeof(MeltFrame_meltrout_122_WARMELTmiMACRO_MEXPAND_LETBINDING), clos) {}; MeltFrame_meltrout_122_WARMELTmiMACRO_MEXPAND_LETBINDING() //the constructor fromline 1594 : Melt_CallFrameWithValues<127> ( #if ENABLE_CHECKING /*fromline 1598*/ __FILE__, __LINE__, #endif /* ENABLE_CHECKING fromline 1602*/ sizeof(MeltFrame_meltrout_122_WARMELTmiMACRO_MEXPAND_LETBINDING)) {}; #if ENABLE_CHECKING /*fromline 1606*/ MeltFrame_meltrout_122_WARMELTmiMACRO_MEXPAND_LETBINDING(const char*fil, int lin) //the constructor fromline 1608 : Melt_CallFrameWithValues<127> (fil,lin, sizeof(MeltFrame_meltrout_122_WARMELTmiMACRO_MEXPAND_LETBINDING)) {}; MeltFrame_meltrout_122_WARMELTmiMACRO_MEXPAND_LETBINDING(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1613 : Melt_CallFrameWithValues<127> (fil,lin, sizeof(MeltFrame_meltrout_122_WARMELTmiMACRO_MEXPAND_LETBINDING), clos) {}; #endif /* ENABLE_CHECKING fromline 1618*/ }; // end class MeltFrame_meltrout_122_WARMELTmiMACRO_MEXPAND_LETBINDING /** end of frame for meltrout_122_WARMELTmiMACRO_MEXPAND_LETBINDING fromline 1649**/ /* end of frame for routine meltrout_122_WARMELTmiMACRO_MEXPAND_LETBINDING fromline 1708 */ /* classy proc frame meltrout_122_WARMELTmiMACRO_MEXPAND_LETBINDING */ MeltFrame_meltrout_122_WARMELTmiMACRO_MEXPAND_LETBINDING meltfram__ /*declfrastruct fromline 1732*/ /*classyprocarg meltrout_122_WARMELTmiMACRO_MEXPAND_LETBINDING fromline 1737*/ #if ENABLE_CHECKING (__FILE__, __LINE__, meltclosp_) /* fromline 1741*/ #else /*ENABLE_CHECKING */ (meltclosp_) /* fromline 1745*/ #endif /*ENABLE_CHECKING */ ; #define meltframe meltfram__ melt_trace_start("MEXPAND_LETBINDING", meltcallcount); /*use arguments*/ (void) meltclosp_; (void)meltfirstargp_; (void)meltxargdescr_; (void)meltxargtab_; (void)meltxresdescr_; (void)meltxrestab_; /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-macro.melt:6654:/ getarg"); /*_.SEXPR__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1*/ /*^getarg*/ if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_endgetargs; /*_.ENV__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2])) != NULL); /*getarg#2*/ /*^getarg*/ if (meltxargdescr_[1] != MELTBPAR_PTR) goto meltlab_endgetargs; /*_.MEXPANDER__V4*/ meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.MEXPANDER__V4*/ meltfptr[3])) != NULL); /*getarg#3*/ /*^getarg*/ if (meltxargdescr_[2] != MELTBPAR_PTR) goto meltlab_endgetargs; /*_.MODCTX__V5*/ meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.MODCTX__V5*/ meltfptr[4])) != NULL); ; goto meltlab_endgetargs; meltlab_endgetargs: ; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6655:/ cppif.then"); /*^block*/ /*anyblock*/ { { /*^locexp*/ /*melt_increment_dbgcounter*/ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL(); ; /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = /*MELT_NEED_DBG*/ #if MELT_HAVE_DEBUG (/*melt_need_dbg*/ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG*/ ;; MELT_LOCATION("warmelt-macro.melt:6655:/ cond"); /*cond*/ if (/*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { /*_#MELT_CALLCOUNT__L2*/ meltfnum[1] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6655:/ apply"); /*apply*/ { union meltparam_un argtab[5]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6655; /*^apply.arg*/ argtab[3].meltbp_cstring = "mexpand_letbinding sexpr="; /*^apply.arg*/ argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.SEXPR__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V7*/ meltfptr[6] = melt_apply ((meltclosure_ptr_t)((/*!MELT_DEBUG_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IF___V6*/ meltfptr[5] = /*_.MELT_DEBUG_FUN__V7*/ meltfptr[6];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6655:/ clear"); /*clear*/ /*_#MELT_CALLCOUNT__L2*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_.MELT_DEBUG_FUN__V7*/ meltfptr[6] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V6*/ meltfptr[5] = /*reallynil*/ NULL ;; } ; { MELT_LOCATION("warmelt-macro.melt:6655:/ locexp"); /*void*/(void)0; } ; /*^quasiblock*/ /*epilog*/ /*^clear*/ /*clear*/ /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V6*/ meltfptr[5] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*^block*/ /*anyblock*/ { { /*^locexp*/ /*void*/(void)0; } ; /*epilog*/ } #endif /*MELT_HAVE_DEBUG*/ ; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6656:/ cppif.then"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*_#IS_A__L3*/ meltfnum[1] = melt_is_instance_of((melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_SEXPR*/ meltfrout->tabval[1])));; MELT_LOCATION("warmelt-macro.melt:6656:/ cond"); /*cond*/ if (/*_#IS_A__L3*/ meltfnum[1]) /*then*/ { /*^cond.then*/ /*_._IFELSE___V9*/ meltfptr[5] = (/*nil*/NULL);; } else { MELT_LOCATION("warmelt-macro.melt:6656:/ cond.else"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*^apply*/ /*apply*/ { union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_cstring = "check sexpr"; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6656; /*^apply.arg*/ argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.SEXPR__V2*/ meltfptr[1]; /*_.MELT_ASSERT_FAILURE_FUN__V10*/ meltfptr[9] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[2])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IFELSE___V9*/ meltfptr[5] = /*_.MELT_ASSERT_FAILURE_FUN__V10*/ meltfptr[9];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6656:/ clear"); /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V10*/ meltfptr[9] = 0 ; } ; } ; /*_.IFCPP___V8*/ meltfptr[6] = /*_._IFELSE___V9*/ meltfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6656:/ clear"); /*clear*/ /*_#IS_A__L3*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_._IFELSE___V9*/ meltfptr[5] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*_.IFCPP___V8*/ meltfptr[6] = (/*nil*/NULL); #endif /*MELT_HAVE_DEBUG*/ ; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6657:/ cppif.then"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*_#IS_A__L4*/ meltfnum[0] = melt_is_instance_of((melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2]), (melt_ptr_t)((/*!CLASS_ENVIRONMENT*/ meltfrout->tabval[3])));; MELT_LOCATION("warmelt-macro.melt:6657:/ cond"); /*cond*/ if (/*_#IS_A__L4*/ meltfnum[0]) /*then*/ { /*^cond.then*/ /*_._IFELSE___V12*/ meltfptr[5] = (/*nil*/NULL);; } else { MELT_LOCATION("warmelt-macro.melt:6657:/ cond.else"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*^apply*/ /*apply*/ { union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_cstring = "check env"; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6657; /*^apply.arg*/ argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.ENV__V3*/ meltfptr[2]; /*_.MELT_ASSERT_FAILURE_FUN__V13*/ meltfptr[12] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[2])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IFELSE___V12*/ meltfptr[5] = /*_.MELT_ASSERT_FAILURE_FUN__V13*/ meltfptr[12];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6657:/ clear"); /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V13*/ meltfptr[12] = 0 ; } ; } ; /*_.IFCPP___V11*/ meltfptr[9] = /*_._IFELSE___V12*/ meltfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6657:/ clear"); /*clear*/ /*_#IS_A__L4*/ meltfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_._IFELSE___V12*/ meltfptr[5] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*_.IFCPP___V11*/ meltfptr[9] = (/*nil*/NULL); #endif /*MELT_HAVE_DEBUG*/ ; MELT_CHECK_SIGNAL(); ; /*^compute*/ /*_#NULL__L5*/ meltfnum[1] = ((/*_.MEXPANDER__V4*/ meltfptr[3]) == NULL);; MELT_LOCATION("warmelt-macro.melt:6658:/ cond"); /*cond*/ if (/*_#NULL__L5*/ meltfnum[1]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { /*^compute*/ /*_.MEXPANDER__V4*/ meltfptr[3] = /*_.SETQ___V15*/ meltfptr[5] = (/*!MACROEXPAND_1*/ meltfrout->tabval[4]);; /*_._IF___V14*/ meltfptr[12] = /*_.SETQ___V15*/ meltfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6658:/ clear"); /*clear*/ /*_.SETQ___V15*/ meltfptr[5] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V14*/ meltfptr[12] = /*reallynil*/ NULL ;; } ; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6659:/ cppif.then"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*_#IS_OBJECT__L6*/ meltfnum[0] = (melt_magic_discr((melt_ptr_t)(/*_.MODCTX__V5*/ meltfptr[4])) == MELTOBMAG_OBJECT);; MELT_LOCATION("warmelt-macro.melt:6659:/ cond"); /*cond*/ if (/*_#IS_OBJECT__L6*/ meltfnum[0]) /*then*/ { /*^cond.then*/ /*_._IFELSE___V17*/ meltfptr[16] = (/*nil*/NULL);; } else { MELT_LOCATION("warmelt-macro.melt:6659:/ cond.else"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*^apply*/ /*apply*/ { union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_cstring = "check modctx"; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6659; /*^apply.arg*/ argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.MODCTX__V5*/ meltfptr[4]; /*_.MELT_ASSERT_FAILURE_FUN__V18*/ meltfptr[17] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[2])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IFELSE___V17*/ meltfptr[16] = /*_.MELT_ASSERT_FAILURE_FUN__V18*/ meltfptr[17];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6659:/ clear"); /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V18*/ meltfptr[17] = 0 ; } ; } ; /*_.IFCPP___V16*/ meltfptr[5] = /*_._IFELSE___V17*/ meltfptr[16];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6659:/ clear"); /*clear*/ /*_#IS_OBJECT__L6*/ meltfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_._IFELSE___V17*/ meltfptr[16] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*_.IFCPP___V16*/ meltfptr[5] = (/*nil*/NULL); #endif /*MELT_HAVE_DEBUG*/ ; MELT_LOCATION("warmelt-macro.melt:6660:/ quasiblock"); MELT_LOCATION("warmelt-macro.melt:6661:/ getslot"); { melt_ptr_t slot=NULL, obj=NULL; obj = (melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/; melt_object_get_field(slot,obj, 2, "SEXP_CONTENTS"); /*_.CONT__V20*/ meltfptr[16] = slot; }; ; MELT_LOCATION("warmelt-macro.melt:6662:/ getslot"); { melt_ptr_t slot=NULL, obj=NULL; obj = (melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/; melt_object_get_field(slot,obj, 1, "LOCA_LOCATION"); /*_.LOC__V21*/ meltfptr[20] = slot; }; ; /*_.CTYP__V22*/ meltfptr[21] = (/*!QUASI_CTYPE_AUTO*/ meltfrout->tabval[5]);; /*^compute*/ /*_.VAR__V23*/ meltfptr[22] = (/*nil*/NULL);; /*^compute*/ /*_.EXPR__V24*/ meltfptr[23] = (/*nil*/NULL);; /*^compute*/ /*_.CURPAIR__V25*/ meltfptr[24] = (melt_list_first((melt_ptr_t)(/*_.CONT__V20*/ meltfptr[16])));; /*^compute*/ /*_.CURARG__V26*/ meltfptr[25] = (/*nil*/NULL);; /*^compute*/ /*_.PAIR_HEAD__V27*/ meltfptr[26] = (melt_pair_head((melt_ptr_t)(/*_.CURPAIR__V25*/ meltfptr[24])));; MELT_LOCATION("warmelt-macro.melt:6669:/ compute"); /*_.CURARG__V26*/ meltfptr[25] = /*_.SETQ___V28*/ meltfptr[27] = /*_.PAIR_HEAD__V27*/ meltfptr[26];; MELT_CHECK_SIGNAL(); ; /*_#IS_A__L7*/ meltfnum[0] = melt_is_instance_of((melt_ptr_t)(/*_.CURARG__V26*/ meltfptr[25]), (melt_ptr_t)((/*!CLASS_KEYWORD*/ meltfrout->tabval[6])));; MELT_LOCATION("warmelt-macro.melt:6671:/ cond"); /*cond*/ if (/*_#IS_A__L7*/ meltfnum[0]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { MELT_LOCATION("warmelt-macro.melt:6672:/ quasiblock"); /*^getslot*/ { melt_ptr_t slot=NULL, obj=NULL; obj = (melt_ptr_t)(/*_.CURARG__V26*/ meltfptr[25]) /*=obj*/; melt_object_get_field(slot,obj, 2, "SYMB_DATA"); /*_.CTY__V31*/ meltfptr[30] = slot; }; ; MELT_LOCATION("warmelt-macro.melt:6673:/ getslot"); { melt_ptr_t slot=NULL, obj=NULL; obj = (melt_ptr_t)(/*_.CURARG__V26*/ meltfptr[25]) /*=obj*/; melt_object_get_field(slot,obj, 1, "NAMED_NAME"); /*_.TYNAM__V32*/ meltfptr[31] = slot; }; ; MELT_CHECK_SIGNAL(); ; /*_#IS_NOT_A__L8*/ meltfnum[7] = !melt_is_instance_of((melt_ptr_t)(/*_.CTY__V31*/ meltfptr[30]), (melt_ptr_t)((/*!CLASS_QUASI_CTYPE*/ meltfrout->tabval[7])));; MELT_LOCATION("warmelt-macro.melt:6676:/ cond"); /*cond*/ if (/*_#IS_NOT_A__L8*/ meltfnum[7]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6677:/ apply"); /*apply*/ { union meltparam_un argtab[2]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_cstring = "letbinding with invalid type keyword $1"; /*^apply.arg*/ argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.TYNAM__V32*/ meltfptr[31]; /*_.ERROR_AT__V34*/ meltfptr[33] = melt_apply ((meltclosure_ptr_t)((/*!ERROR_AT*/ meltfrout->tabval[8])), (melt_ptr_t)(/*_.LOC__V21*/ meltfptr[20]), (MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IFELSE___V33*/ meltfptr[32] = /*_.ERROR_AT__V34*/ meltfptr[33];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6676:/ clear"); /*clear*/ /*_.ERROR_AT__V34*/ meltfptr[33] = 0 ; } ; } else /*^cond.else*/ { /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6678:/ cond"); /*cond*/ if ( /*ifisa*/ melt_is_instance_of((melt_ptr_t)(/*_.CTY__V31*/ meltfptr[30]), (melt_ptr_t)((/*!CLASS_QUASI_CTYPE*/ meltfrout->tabval[7]))) ) /*then*/ { /*^cond.then*/ /*^getslot*/ { melt_ptr_t slot=NULL, obj=NULL; obj = (melt_ptr_t)(/*_.CTY__V31*/ meltfptr[30]) /*=obj*/; melt_object_get_field(slot,obj, 2, "CTYPE_KEYWORD"); /*_.CTYPE_KEYWORD__V35*/ meltfptr[33] = slot; }; ; } else /*^cond.else*/ { /*_.CTYPE_KEYWORD__V35*/ meltfptr[33] = /*reallynil*/ NULL ;; } ; /*^compute*/ /*_#eqeq__L9*/ meltfnum[8] = ((/*_.CTYPE_KEYWORD__V35*/ meltfptr[33]) == (/*_.CURARG__V26*/ meltfptr[25]));; MELT_LOCATION("warmelt-macro.melt:6678:/ cond"); /*cond*/ if (/*_#eqeq__L9*/ meltfnum[8]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { MELT_LOCATION("warmelt-macro.melt:6679:/ compute"); /*_.CTYP__V22*/ meltfptr[21] = /*_.SETQ___V37*/ meltfptr[36] = /*_.CTY__V31*/ meltfptr[30];; /*_._IFELSE___V36*/ meltfptr[35] = /*_.SETQ___V37*/ meltfptr[36];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6678:/ clear"); /*clear*/ /*_.SETQ___V37*/ meltfptr[36] = 0 ; } ; } else /*^cond.else*/ { /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6680:/ cond"); /*cond*/ if ( /*ifisa*/ melt_is_instance_of((melt_ptr_t)(/*_.CTY__V31*/ meltfptr[30]), (melt_ptr_t)((/*!CLASS_CTYPE*/ meltfrout->tabval[9]))) ) /*then*/ { /*^cond.then*/ /*^getslot*/ { melt_ptr_t slot=NULL, obj=NULL; obj = (melt_ptr_t)(/*_.CTY__V31*/ meltfptr[30]) /*=obj*/; melt_object_get_field(slot,obj, 10, "CTYPE_ALTKEYWORD"); /*_.CTYPE_ALTKEYWORD__V38*/ meltfptr[36] = slot; }; ; } else /*^cond.else*/ { /*_.CTYPE_ALTKEYWORD__V38*/ meltfptr[36] = /*reallynil*/ NULL ;; } ; /*^compute*/ /*_#eqeq__L10*/ meltfnum[9] = ((/*_.CTYPE_ALTKEYWORD__V38*/ meltfptr[36]) == (/*_.CURARG__V26*/ meltfptr[25]));; MELT_LOCATION("warmelt-macro.melt:6680:/ cond"); /*cond*/ if (/*_#eqeq__L10*/ meltfnum[9]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { MELT_LOCATION("warmelt-macro.melt:6681:/ compute"); /*_.CTYP__V22*/ meltfptr[21] = /*_.SETQ___V40*/ meltfptr[39] = /*_.CTY__V31*/ meltfptr[30];; MELT_LOCATION("warmelt-macro.melt:6683:/ cond"); /*cond*/ if ( /*ifisa*/ melt_is_instance_of((melt_ptr_t)(/*_.CTYP__V22*/ meltfptr[21]), (melt_ptr_t)((/*!CLASS_QUASI_CTYPE*/ meltfrout->tabval[7]))) ) /*then*/ { /*^cond.then*/ /*^getslot*/ { melt_ptr_t slot=NULL, obj=NULL; obj = (melt_ptr_t)(/*_.CTYP__V22*/ meltfptr[21]) /*=obj*/; melt_object_get_field(slot,obj, 2, "CTYPE_KEYWORD"); /*_.CTYPE_KEYWORD__V41*/ meltfptr[40] = slot; }; ; } else /*^cond.else*/ { /*_.CTYPE_KEYWORD__V41*/ meltfptr[40] = /*reallynil*/ NULL ;; } ; MELT_LOCATION("warmelt-macro.melt:6683:/ cond"); /*cond*/ if ( /*ifisa*/ melt_is_instance_of((melt_ptr_t)(/*_.CTYPE_KEYWORD__V41*/ meltfptr[40]), (melt_ptr_t)((/*!CLASS_NAMED*/ meltfrout->tabval[11]))) ) /*then*/ { /*^cond.then*/ /*^getslot*/ { melt_ptr_t slot=NULL, obj=NULL; obj = (melt_ptr_t)(/*_.CTYPE_KEYWORD__V41*/ meltfptr[40]) /*=obj*/; melt_object_get_field(slot,obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V42*/ meltfptr[41] = slot; }; ; } else /*^cond.else*/ { /*_.NAMED_NAME__V42*/ meltfptr[41] = /*reallynil*/ NULL ;; } ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6682:/ apply"); /*apply*/ { union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_cstring = "obsolete alternate ctype $1 keyword in let binding, wanting $2"; /*^apply.arg*/ argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.TYNAM__V32*/ meltfptr[31]; /*^apply.arg*/ argtab[2].meltbp_aptr = (melt_ptr_t*) &/*_.NAMED_NAME__V42*/ meltfptr[41]; /*_.WARNING_AT__V43*/ meltfptr[42] = melt_apply ((meltclosure_ptr_t)((/*!WARNING_AT*/ meltfrout->tabval[10])), (melt_ptr_t)(/*_.LOC__V21*/ meltfptr[20]), (MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; MELT_LOCATION("warmelt-macro.melt:6680:/ quasiblock"); /*_.PROGN___V44*/ meltfptr[43] = /*_.WARNING_AT__V43*/ meltfptr[42];; /*^compute*/ /*_._IFELSE___V39*/ meltfptr[38] = /*_.PROGN___V44*/ meltfptr[43];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6680:/ clear"); /*clear*/ /*_.SETQ___V40*/ meltfptr[39] = 0 ; /*^clear*/ /*clear*/ /*_.CTYPE_KEYWORD__V41*/ meltfptr[40] = 0 ; /*^clear*/ /*clear*/ /*_.NAMED_NAME__V42*/ meltfptr[41] = 0 ; /*^clear*/ /*clear*/ /*_.WARNING_AT__V43*/ meltfptr[42] = 0 ; /*^clear*/ /*clear*/ /*_.PROGN___V44*/ meltfptr[43] = 0 ; } ; } else /*^cond.else*/ { /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6686:/ apply"); /*apply*/ { union meltparam_un argtab[2]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_cstring = "let-binding with invalid type keyword $1"; /*^apply.arg*/ argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.TYNAM__V32*/ meltfptr[31]; /*_.ERROR_AT__V45*/ meltfptr[39] = melt_apply ((meltclosure_ptr_t)((/*!ERROR_AT*/ meltfrout->tabval[8])), (melt_ptr_t)(/*_.LOC__V21*/ meltfptr[20]), (MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; MELT_LOCATION("warmelt-macro.melt:6685:/ quasiblock"); /*_.PROGN___V46*/ meltfptr[40] = /*_.ERROR_AT__V45*/ meltfptr[39];; /*^compute*/ /*_._IFELSE___V39*/ meltfptr[38] = /*_.PROGN___V46*/ meltfptr[40];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6680:/ clear"); /*clear*/ /*_.ERROR_AT__V45*/ meltfptr[39] = 0 ; /*^clear*/ /*clear*/ /*_.PROGN___V46*/ meltfptr[40] = 0 ; } ; } ; /*_._IFELSE___V36*/ meltfptr[35] = /*_._IFELSE___V39*/ meltfptr[38];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6678:/ clear"); /*clear*/ /*_.CTYPE_ALTKEYWORD__V38*/ meltfptr[36] = 0 ; /*^clear*/ /*clear*/ /*_#eqeq__L10*/ meltfnum[9] = 0 ; /*^clear*/ /*clear*/ /*_._IFELSE___V39*/ meltfptr[38] = 0 ; } ; } ; /*_._IFELSE___V33*/ meltfptr[32] = /*_._IFELSE___V36*/ meltfptr[35];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6676:/ clear"); /*clear*/ /*_.CTYPE_KEYWORD__V35*/ meltfptr[33] = 0 ; /*^clear*/ /*clear*/ /*_#eqeq__L9*/ meltfnum[8] = 0 ; /*^clear*/ /*clear*/ /*_._IFELSE___V36*/ meltfptr[35] = 0 ; } ; } ; /*_.PAIR_TAIL__V47*/ meltfptr[41] = (melt_pair_tail((melt_ptr_t)(/*_.CURPAIR__V25*/ meltfptr[24])));; MELT_LOCATION("warmelt-macro.melt:6688:/ compute"); /*_.CURPAIR__V25*/ meltfptr[24] = /*_.SETQ___V48*/ meltfptr[42] = /*_.PAIR_TAIL__V47*/ meltfptr[41];; /*_.PAIR_HEAD__V49*/ meltfptr[43] = (melt_pair_head((melt_ptr_t)(/*_.CURPAIR__V25*/ meltfptr[24])));; MELT_LOCATION("warmelt-macro.melt:6689:/ compute"); /*_.CURARG__V26*/ meltfptr[25] = /*_.SETQ___V50*/ meltfptr[39] = /*_.PAIR_HEAD__V49*/ meltfptr[43];; /*_.LET___V30*/ meltfptr[29] = /*_.SETQ___V50*/ meltfptr[39];; MELT_LOCATION("warmelt-macro.melt:6672:/ clear"); /*clear*/ /*_.CTY__V31*/ meltfptr[30] = 0 ; /*^clear*/ /*clear*/ /*_.TYNAM__V32*/ meltfptr[31] = 0 ; /*^clear*/ /*clear*/ /*_#IS_NOT_A__L8*/ meltfnum[7] = 0 ; /*^clear*/ /*clear*/ /*_._IFELSE___V33*/ meltfptr[32] = 0 ; /*^clear*/ /*clear*/ /*_.PAIR_TAIL__V47*/ meltfptr[41] = 0 ; /*^clear*/ /*clear*/ /*_.SETQ___V48*/ meltfptr[42] = 0 ; /*^clear*/ /*clear*/ /*_.PAIR_HEAD__V49*/ meltfptr[43] = 0 ; /*^clear*/ /*clear*/ /*_.SETQ___V50*/ meltfptr[39] = 0 ; /*_._IF___V29*/ meltfptr[28] = /*_.LET___V30*/ meltfptr[29];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6671:/ clear"); /*clear*/ /*_.LET___V30*/ meltfptr[29] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V29*/ meltfptr[28] = /*reallynil*/ NULL ;; } ; MELT_CHECK_SIGNAL(); ; /*^compute*/ /*_#IS_A__L11*/ meltfnum[9] = melt_is_instance_of((melt_ptr_t)(/*_.CURARG__V26*/ meltfptr[25]), (melt_ptr_t)((/*!CLASS_KEYWORD*/ meltfrout->tabval[6])));; MELT_LOCATION("warmelt-macro.melt:6692:/ cond"); /*cond*/ if (/*_#IS_A__L11*/ meltfnum[9]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { MELT_LOCATION("warmelt-macro.melt:6694:/ getslot"); { melt_ptr_t slot=NULL, obj=NULL; obj = (melt_ptr_t)(/*_.CURARG__V26*/ meltfptr[25]) /*=obj*/; melt_object_get_field(slot,obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V52*/ meltfptr[36] = slot; }; ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6693:/ apply"); /*apply*/ { union meltparam_un argtab[2]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_cstring = "let-binding cannot bind keyword $1"; /*^apply.arg*/ argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.NAMED_NAME__V52*/ meltfptr[36]; /*_.ERROR_AT__V53*/ meltfptr[38] = melt_apply ((meltclosure_ptr_t)((/*!ERROR_AT*/ meltfrout->tabval[8])), (melt_ptr_t)(/*_.LOC__V21*/ meltfptr[20]), (MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IFELSE___V51*/ meltfptr[40] = /*_.ERROR_AT__V53*/ meltfptr[38];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6692:/ clear"); /*clear*/ /*_.NAMED_NAME__V52*/ meltfptr[36] = 0 ; /*^clear*/ /*clear*/ /*_.ERROR_AT__V53*/ meltfptr[38] = 0 ; } ; } else /*^cond.else*/ { /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*_#IS_A__L12*/ meltfnum[8] = melt_is_instance_of((melt_ptr_t)(/*_.CURARG__V26*/ meltfptr[25]), (melt_ptr_t)((/*!CLASS_SYMBOL*/ meltfrout->tabval[12])));; MELT_LOCATION("warmelt-macro.melt:6695:/ cond"); /*cond*/ if (/*_#IS_A__L12*/ meltfnum[8]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { MELT_LOCATION("warmelt-macro.melt:6696:/ compute"); /*_.VAR__V23*/ meltfptr[22] = /*_.SETQ___V55*/ meltfptr[35] = /*_.CURARG__V26*/ meltfptr[25];; /*_.PAIR_TAIL__V56*/ meltfptr[30] = (melt_pair_tail((melt_ptr_t)(/*_.CURPAIR__V25*/ meltfptr[24])));; MELT_LOCATION("warmelt-macro.melt:6697:/ compute"); /*_.CURPAIR__V25*/ meltfptr[24] = /*_.SETQ___V57*/ meltfptr[31] = /*_.PAIR_TAIL__V56*/ meltfptr[30];; /*_.PAIR_HEAD__V58*/ meltfptr[32] = (melt_pair_head((melt_ptr_t)(/*_.CURPAIR__V25*/ meltfptr[24])));; MELT_LOCATION("warmelt-macro.melt:6698:/ compute"); /*_.CURARG__V26*/ meltfptr[25] = /*_.SETQ___V59*/ meltfptr[41] = /*_.PAIR_HEAD__V58*/ meltfptr[32];; MELT_LOCATION("warmelt-macro.melt:6695:/ quasiblock"); /*_.PROGN___V60*/ meltfptr[42] = /*_.SETQ___V59*/ meltfptr[41];; /*^compute*/ /*_._IFELSE___V54*/ meltfptr[33] = /*_.PROGN___V60*/ meltfptr[42];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6695:/ clear"); /*clear*/ /*_.SETQ___V55*/ meltfptr[35] = 0 ; /*^clear*/ /*clear*/ /*_.PAIR_TAIL__V56*/ meltfptr[30] = 0 ; /*^clear*/ /*clear*/ /*_.SETQ___V57*/ meltfptr[31] = 0 ; /*^clear*/ /*clear*/ /*_.PAIR_HEAD__V58*/ meltfptr[32] = 0 ; /*^clear*/ /*clear*/ /*_.SETQ___V59*/ meltfptr[41] = 0 ; /*^clear*/ /*clear*/ /*_.PROGN___V60*/ meltfptr[42] = 0 ; } ; } else /*^cond.else*/ { /*_._IFELSE___V54*/ meltfptr[33] = /*reallynil*/ NULL ;; } ; /*^compute*/ /*_._IFELSE___V51*/ meltfptr[40] = /*_._IFELSE___V54*/ meltfptr[33];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6692:/ clear"); /*clear*/ /*_#IS_A__L12*/ meltfnum[8] = 0 ; /*^clear*/ /*clear*/ /*_._IFELSE___V54*/ meltfptr[33] = 0 ; } ; } ; MELT_CHECK_SIGNAL(); ; /*_#NULL__L13*/ meltfnum[7] = ((/*_.VAR__V23*/ meltfptr[22]) == NULL);; MELT_LOCATION("warmelt-macro.melt:6700:/ cond"); /*cond*/ if (/*_#NULL__L13*/ meltfnum[7]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6701:/ apply"); /*apply*/ { union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_cstring = "missing variable in letbinding"; /*_.ERROR_AT__V62*/ meltfptr[39] = melt_apply ((meltclosure_ptr_t)((/*!ERROR_AT*/ meltfrout->tabval[8])), (melt_ptr_t)(/*_.LOC__V21*/ meltfptr[20]), (MELTBPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0); } ; /*_._IF___V61*/ meltfptr[43] = /*_.ERROR_AT__V62*/ meltfptr[39];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6700:/ clear"); /*clear*/ /*_.ERROR_AT__V62*/ meltfptr[39] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V61*/ meltfptr[43] = /*reallynil*/ NULL ;; } ; MELT_CHECK_SIGNAL(); ; /*^compute*/ /*_#eqeq__L14*/ meltfnum[8] = ((/*_.CTYP__V22*/ meltfptr[21]) == ((/*!QUASI_CTYPE_MACRO*/ meltfrout->tabval[13])));; MELT_LOCATION("warmelt-macro.melt:6704:/ cond"); /*cond*/ if (/*_#eqeq__L14*/ meltfnum[8]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { MELT_LOCATION("warmelt-macro.melt:6705:/ quasiblock"); MELT_CHECK_SIGNAL(); ; /*^apply*/ /*apply*/ { union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_aptr = (melt_ptr_t*) &(/*!konst_15_TRUE*/ meltfrout->tabval[15]); /*_.MACFORMALS__V65*/ meltfptr[38] = melt_apply ((meltclosure_ptr_t)((/*!LAMBDA_ARG_BINDINGS*/ meltfrout->tabval[14])), (melt_ptr_t)(/*_.CURARG__V26*/ meltfptr[25]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; MELT_LOCATION("warmelt-macro.melt:6706:/ getslot"); { melt_ptr_t slot=NULL, obj=NULL; obj = (melt_ptr_t)(/*_.VAR__V23*/ meltfptr[22]) /*=obj*/; melt_object_get_field(slot,obj, 1, "NAMED_NAME"); /*_.VARNAME__V66*/ meltfptr[35] = slot; }; ; /*_.MACBODY__V67*/ meltfptr[30] = (/*nil*/NULL);; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6708:/ apply"); /*apply*/ { /*_.NEWENV__V68*/ meltfptr[31] = melt_apply ((meltclosure_ptr_t)((/*!FRESH_ENV*/ meltfrout->tabval[16])), (melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2]), (""), (union meltparam_un*)0, "", (union meltparam_un*)0); } ; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6710:/ cppif.then"); /*^block*/ /*anyblock*/ { { /*^locexp*/ /*melt_increment_dbgcounter*/ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL(); ; /*_#MELT_NEED_DBG__L15*/ meltfnum[14] = /*MELT_NEED_DBG*/ #if MELT_HAVE_DEBUG (/*melt_need_dbg*/ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG*/ ;; MELT_LOCATION("warmelt-macro.melt:6710:/ cond"); /*cond*/ if (/*_#MELT_NEED_DBG__L15*/ meltfnum[14]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { /*_#MELT_CALLCOUNT__L16*/ meltfnum[15] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6710:/ apply"); /*apply*/ { union meltparam_un argtab[5]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L16*/ meltfnum[15]; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6710; /*^apply.arg*/ argtab[3].meltbp_cstring = "mexpand_letbinding macformals="; /*^apply.arg*/ argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.MACFORMALS__V65*/ meltfptr[38]; /*_.MELT_DEBUG_FUN__V70*/ meltfptr[41] = melt_apply ((meltclosure_ptr_t)((/*!MELT_DEBUG_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IF___V69*/ meltfptr[32] = /*_.MELT_DEBUG_FUN__V70*/ meltfptr[41];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6710:/ clear"); /*clear*/ /*_#MELT_CALLCOUNT__L16*/ meltfnum[15] = 0 ; /*^clear*/ /*clear*/ /*_.MELT_DEBUG_FUN__V70*/ meltfptr[41] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V69*/ meltfptr[32] = /*reallynil*/ NULL ;; } ; { MELT_LOCATION("warmelt-macro.melt:6710:/ locexp"); /*void*/(void)0; } ; /*^quasiblock*/ /*epilog*/ /*^clear*/ /*clear*/ /*_#MELT_NEED_DBG__L15*/ meltfnum[14] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V69*/ meltfptr[32] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*^block*/ /*anyblock*/ { { /*^locexp*/ /*void*/(void)0; } ; /*epilog*/ } #endif /*MELT_HAVE_DEBUG*/ ; /*_.PAIR_TAIL__V71*/ meltfptr[42] = (melt_pair_tail((melt_ptr_t)(/*_.CURPAIR__V25*/ meltfptr[24])));; MELT_LOCATION("warmelt-macro.melt:6711:/ compute"); /*_.CURPAIR__V25*/ meltfptr[24] = /*_.SETQ___V72*/ meltfptr[33] = /*_.PAIR_TAIL__V71*/ meltfptr[42];; MELT_CHECK_SIGNAL(); ; /*_#IS_A__L17*/ meltfnum[15] = melt_is_instance_of((melt_ptr_t)(/*_.MACFORMALS__V65*/ meltfptr[38]), (melt_ptr_t)((/*!DISCR_VARIADIC_FORMAL_SEQUENCE*/ meltfrout->tabval[17])));; MELT_LOCATION("warmelt-macro.melt:6712:/ cond"); /*cond*/ if (/*_#IS_A__L17*/ meltfnum[15]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6713:/ apply"); /*apply*/ { union meltparam_un argtab[2]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_cstring = ":macro let-binding $1 cannot be variadic"; /*^apply.arg*/ argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.VARNAME__V66*/ meltfptr[35]; /*_.ERROR_AT__V74*/ meltfptr[41] = melt_apply ((meltclosure_ptr_t)((/*!ERROR_AT*/ meltfrout->tabval[8])), (melt_ptr_t)(/*_.LOC__V21*/ meltfptr[20]), (MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IF___V73*/ meltfptr[39] = /*_.ERROR_AT__V74*/ meltfptr[41];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6712:/ clear"); /*clear*/ /*_.ERROR_AT__V74*/ meltfptr[41] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V73*/ meltfptr[39] = /*reallynil*/ NULL ;; } ; MELT_CHECK_SIGNAL(); ; /*^compute*/ /*_#MULTIPLE_LENGTH__L18*/ meltfnum[14] = (melt_multiple_length((melt_ptr_t)(/*_.MACFORMALS__V65*/ meltfptr[38])));; /*^compute*/ /*_#gtI__L19*/ meltfnum[18] = ((/*_#MULTIPLE_LENGTH__L18*/ meltfnum[14]) > (4));; MELT_LOCATION("warmelt-macro.melt:6714:/ cond"); /*cond*/ if (/*_#gtI__L19*/ meltfnum[18]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6715:/ apply"); /*apply*/ { union meltparam_un argtab[2]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_cstring = ":macro $1 let-binding should have at most 4 formals"; /*^apply.arg*/ argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.VARNAME__V66*/ meltfptr[35]; /*_.ERROR_AT__V76*/ meltfptr[41] = melt_apply ((meltclosure_ptr_t)((/*!ERROR_AT*/ meltfrout->tabval[8])), (melt_ptr_t)(/*_.LOC__V21*/ meltfptr[20]), (MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IF___V75*/ meltfptr[32] = /*_.ERROR_AT__V76*/ meltfptr[41];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6714:/ clear"); /*clear*/ /*_.ERROR_AT__V76*/ meltfptr[41] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V75*/ meltfptr[32] = /*reallynil*/ NULL ;; } ; /*citerblock FOREACH_IN_MULTIPLE*/ { /* start foreach_in_multiple meltcit1__EACHTUP */ long meltcit1__EACHTUP_ln = melt_multiple_length((melt_ptr_t)/*_.MACFORMALS__V65*/ meltfptr[38]); for (/*_#IX__L20*/ meltfnum[19] = 0; (/*_#IX__L20*/ meltfnum[19] >= 0) && (/*_#IX__L20*/ meltfnum[19] < meltcit1__EACHTUP_ln); /*_#IX__L20*/ meltfnum[19]++) { /*_.CURMACFORMAL__V77*/ meltfptr[41] = melt_multiple_nth((melt_ptr_t)(/*_.MACFORMALS__V65*/ meltfptr[38]), /*_#IX__L20*/ meltfnum[19]); #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6719:/ cppif.then"); /*^block*/ /*anyblock*/ { { /*^locexp*/ /*melt_increment_dbgcounter*/ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL(); ; /*_#MELT_NEED_DBG__L21*/ meltfnum[20] = /*MELT_NEED_DBG*/ #if MELT_HAVE_DEBUG (/*melt_need_dbg*/ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG*/ ;; MELT_LOCATION("warmelt-macro.melt:6719:/ cond"); /*cond*/ if (/*_#MELT_NEED_DBG__L21*/ meltfnum[20]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { /*_#MELT_CALLCOUNT__L22*/ meltfnum[21] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6719:/ apply"); /*apply*/ { union meltparam_un argtab[5]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L22*/ meltfnum[21]; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6719; /*^apply.arg*/ argtab[3].meltbp_cstring = "mexpand_letbinding curmacformal="; /*^apply.arg*/ argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.CURMACFORMAL__V77*/ meltfptr[41]; /*_.MELT_DEBUG_FUN__V79*/ meltfptr[78] = melt_apply ((meltclosure_ptr_t)((/*!MELT_DEBUG_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IF___V78*/ meltfptr[77] = /*_.MELT_DEBUG_FUN__V79*/ meltfptr[78];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6719:/ clear"); /*clear*/ /*_#MELT_CALLCOUNT__L22*/ meltfnum[21] = 0 ; /*^clear*/ /*clear*/ /*_.MELT_DEBUG_FUN__V79*/ meltfptr[78] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V78*/ meltfptr[77] = /*reallynil*/ NULL ;; } ; { MELT_LOCATION("warmelt-macro.melt:6719:/ locexp"); /*void*/(void)0; } ; /*^quasiblock*/ /*epilog*/ /*^clear*/ /*clear*/ /*_#MELT_NEED_DBG__L21*/ meltfnum[20] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V78*/ meltfptr[77] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*^block*/ /*anyblock*/ { { /*^locexp*/ /*void*/(void)0; } ; /*epilog*/ } #endif /*MELT_HAVE_DEBUG*/ ; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6720:/ cppif.then"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*_#IS_A__L23*/ meltfnum[21] = melt_is_instance_of((melt_ptr_t)(/*_.CURMACFORMAL__V77*/ meltfptr[41]), (melt_ptr_t)((/*!CLASS_FORMAL_BINDING*/ meltfrout->tabval[18])));; MELT_LOCATION("warmelt-macro.melt:6720:/ cond"); /*cond*/ if (/*_#IS_A__L23*/ meltfnum[21]) /*then*/ { /*^cond.then*/ /*_._IFELSE___V81*/ meltfptr[77] = (/*nil*/NULL);; } else { MELT_LOCATION("warmelt-macro.melt:6720:/ cond.else"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*^apply*/ /*apply*/ { union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_cstring = "check curmacformal"; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6720; /*^apply.arg*/ argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.CURMACFORMAL__V77*/ meltfptr[41]; /*_.MELT_ASSERT_FAILURE_FUN__V82*/ meltfptr[81] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[2])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IFELSE___V81*/ meltfptr[77] = /*_.MELT_ASSERT_FAILURE_FUN__V82*/ meltfptr[81];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6720:/ clear"); /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V82*/ meltfptr[81] = 0 ; } ; } ; /*_.IFCPP___V80*/ meltfptr[78] = /*_._IFELSE___V81*/ meltfptr[77];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6720:/ clear"); /*clear*/ /*_#IS_A__L23*/ meltfnum[21] = 0 ; /*^clear*/ /*clear*/ /*_._IFELSE___V81*/ meltfptr[77] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*_.IFCPP___V80*/ meltfptr[78] = (/*nil*/NULL); #endif /*MELT_HAVE_DEBUG*/ ; MELT_LOCATION("warmelt-macro.melt:6721:/ quasiblock"); /*^cond*/ /*cond*/ if ( /*ifisa*/ melt_is_instance_of((melt_ptr_t)(/*_.CURMACFORMAL__V77*/ meltfptr[41]), (melt_ptr_t)((/*!CLASS_ANY_BINDING*/ meltfrout->tabval[19]))) ) /*then*/ { /*^cond.then*/ /*^getslot*/ { melt_ptr_t slot=NULL, obj=NULL; obj = (melt_ptr_t)(/*_.CURMACFORMAL__V77*/ meltfptr[41]) /*=obj*/; melt_object_get_field(slot,obj, 0, "BINDER"); /*_.BINDER__V84*/ meltfptr[77] = slot; }; ; } else /*^cond.else*/ { /*_.BINDER__V84*/ meltfptr[77] = /*reallynil*/ NULL ;; } ; MELT_LOCATION("warmelt-macro.melt:6721:/ cond"); /*cond*/ if ( /*ifisa*/ melt_is_instance_of((melt_ptr_t)(/*_.BINDER__V84*/ meltfptr[77]), (melt_ptr_t)((/*!CLASS_NAMED*/ meltfrout->tabval[11]))) ) /*then*/ { /*^cond.then*/ /*^getslot*/ { melt_ptr_t slot=NULL, obj=NULL; obj = (melt_ptr_t)(/*_.BINDER__V84*/ meltfptr[77]) /*=obj*/; melt_object_get_field(slot,obj, 1, "NAMED_NAME"); /*_.CURFORMALNAME__V85*/ meltfptr[84] = slot; }; ; } else /*^cond.else*/ { /*_.CURFORMALNAME__V85*/ meltfptr[84] = /*reallynil*/ NULL ;; } ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6723:/ cond"); /*cond*/ if ( /*ifisa*/ melt_is_instance_of((melt_ptr_t)(/*_.CURMACFORMAL__V77*/ meltfptr[41]), (melt_ptr_t)((/*!CLASS_FORMAL_BINDING*/ meltfrout->tabval[18]))) ) /*then*/ { /*^cond.then*/ /*^getslot*/ { melt_ptr_t slot=NULL, obj=NULL; obj = (melt_ptr_t)(/*_.CURMACFORMAL__V77*/ meltfptr[41]) /*=obj*/; melt_object_get_field(slot,obj, 1, "FBIND_TYPE"); /*_.FBIND_TYPE__V86*/ meltfptr[85] = slot; }; ; } else /*^cond.else*/ { /*_.FBIND_TYPE__V86*/ meltfptr[85] = /*reallynil*/ NULL ;; } ; /*^compute*/ /*_#exeq__L24*/ meltfnum[20] = ((/*_.FBIND_TYPE__V86*/ meltfptr[85]) != ((/*!CTYPE_VALUE*/ meltfrout->tabval[20])));; MELT_LOCATION("warmelt-macro.melt:6723:/ cond"); /*cond*/ if (/*_#exeq__L24*/ meltfnum[20]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6724:/ apply"); /*apply*/ { union meltparam_un argtab[2]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_cstring = ":macro $1 let-binding should be :value"; /*^apply.arg*/ argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.CURFORMALNAME__V85*/ meltfptr[84]; /*_.ERROR_AT__V88*/ meltfptr[87] = melt_apply ((meltclosure_ptr_t)((/*!ERROR_AT*/ meltfrout->tabval[8])), (melt_ptr_t)(/*_.LOC__V21*/ meltfptr[20]), (MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IF___V87*/ meltfptr[86] = /*_.ERROR_AT__V88*/ meltfptr[87];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6723:/ clear"); /*clear*/ /*_.ERROR_AT__V88*/ meltfptr[87] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V87*/ meltfptr[86] = /*reallynil*/ NULL ;; } ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6725:/ cond"); /*cond*/ if ( /*ifisa*/ melt_is_instance_of((melt_ptr_t)(/*_.CURMACFORMAL__V77*/ meltfptr[41]), (melt_ptr_t)((/*!CLASS_ANY_BINDING*/ meltfrout->tabval[19]))) ) /*then*/ { /*^cond.then*/ /*^getslot*/ { melt_ptr_t slot=NULL, obj=NULL; obj = (melt_ptr_t)(/*_.CURMACFORMAL__V77*/ meltfptr[41]) /*=obj*/; melt_object_get_field(slot,obj, 0, "BINDER"); /*_.BINDER__V89*/ meltfptr[87] = slot; }; ; } else /*^cond.else*/ { /*_.BINDER__V89*/ meltfptr[87] = /*reallynil*/ NULL ;; } ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6725:/ apply"); /*apply*/ { union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_aptr = (melt_ptr_t*) &/*_.BINDER__V89*/ meltfptr[87]; /*_.FIND_ENV__V90*/ meltfptr[89] = melt_apply ((meltclosure_ptr_t)((/*!FIND_ENV*/ meltfrout->tabval[21])), (melt_ptr_t)(/*_.NEWENV__V68*/ meltfptr[31]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*^cond*/ /*cond*/ if (/*_.FIND_ENV__V90*/ meltfptr[89]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6726:/ apply"); /*apply*/ { union meltparam_un argtab[2]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_cstring = ":macro $1 formal already bound"; /*^apply.arg*/ argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.CURFORMALNAME__V85*/ meltfptr[84]; /*_.ERROR_AT__V92*/ meltfptr[91] = melt_apply ((meltclosure_ptr_t)((/*!ERROR_AT*/ meltfrout->tabval[8])), (melt_ptr_t)(/*_.LOC__V21*/ meltfptr[20]), (MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IF___V91*/ meltfptr[90] = /*_.ERROR_AT__V92*/ meltfptr[91];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6725:/ clear"); /*clear*/ /*_.ERROR_AT__V92*/ meltfptr[91] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V91*/ meltfptr[90] = /*reallynil*/ NULL ;; } ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6727:/ apply"); /*apply*/ { union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_aptr = (melt_ptr_t*) &/*_.CURMACFORMAL__V77*/ meltfptr[41]; /*_.PUT_ENV__V93*/ meltfptr[91] = melt_apply ((meltclosure_ptr_t)((/*!PUT_ENV*/ meltfrout->tabval[22])), (melt_ptr_t)(/*_.NEWENV__V68*/ meltfptr[31]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_.LET___V83*/ meltfptr[81] = /*_.PUT_ENV__V93*/ meltfptr[91];; MELT_LOCATION("warmelt-macro.melt:6721:/ clear"); /*clear*/ /*_.BINDER__V84*/ meltfptr[77] = 0 ; /*^clear*/ /*clear*/ /*_.CURFORMALNAME__V85*/ meltfptr[84] = 0 ; /*^clear*/ /*clear*/ /*_.FBIND_TYPE__V86*/ meltfptr[85] = 0 ; /*^clear*/ /*clear*/ /*_#exeq__L24*/ meltfnum[20] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V87*/ meltfptr[86] = 0 ; /*^clear*/ /*clear*/ /*_.BINDER__V89*/ meltfptr[87] = 0 ; /*^clear*/ /*clear*/ /*_.FIND_ENV__V90*/ meltfptr[89] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V91*/ meltfptr[90] = 0 ; /*^clear*/ /*clear*/ /*_.PUT_ENV__V93*/ meltfptr[91] = 0 ; if (/*_#IX__L20*/ meltfnum[19]<0) break; } /* end foreach_in_multiple meltcit1__EACHTUP */ /*citerepilog*/ MELT_LOCATION("warmelt-macro.melt:6716:/ clear"); /*clear*/ /*_.CURMACFORMAL__V77*/ meltfptr[41] = 0 ; /*^clear*/ /*clear*/ /*_#IX__L20*/ meltfnum[19] = 0 ; /*^clear*/ /*clear*/ /*_.IFCPP___V80*/ meltfptr[78] = 0 ; /*^clear*/ /*clear*/ /*_.LET___V83*/ meltfptr[81] = 0 ; } /*endciterblock FOREACH_IN_MULTIPLE*/ ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6729:/ apply"); /*apply*/ { union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_aptr = (melt_ptr_t*) &/*_.NEWENV__V68*/ meltfptr[31]; /*^apply.arg*/ argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.MEXPANDER__V4*/ meltfptr[3]; /*^apply.arg*/ argtab[2].meltbp_aptr = (melt_ptr_t*) &/*_.MODCTX__V5*/ meltfptr[4]; /*_.EXPAND_PAIRLIST_AS_TUPLE__V94*/ meltfptr[77] = melt_apply ((meltclosure_ptr_t)((/*!EXPAND_PAIRLIST_AS_TUPLE*/ meltfrout->tabval[23])), (melt_ptr_t)(/*_.CURPAIR__V25*/ meltfptr[24]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*^compute*/ /*_.MACBODY__V67*/ meltfptr[30] = /*_.SETQ___V95*/ meltfptr[84] = /*_.EXPAND_PAIRLIST_AS_TUPLE__V94*/ meltfptr[77];; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6730:/ cppif.then"); /*^block*/ /*anyblock*/ { { /*^locexp*/ /*melt_increment_dbgcounter*/ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL(); ; /*_#MELT_NEED_DBG__L25*/ meltfnum[21] = /*MELT_NEED_DBG*/ #if MELT_HAVE_DEBUG (/*melt_need_dbg*/ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG*/ ;; MELT_LOCATION("warmelt-macro.melt:6730:/ cond"); /*cond*/ if (/*_#MELT_NEED_DBG__L25*/ meltfnum[21]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { /*_#MELT_CALLCOUNT__L26*/ meltfnum[20] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6730:/ apply"); /*apply*/ { union meltparam_un argtab[5]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L26*/ meltfnum[20]; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6730; /*^apply.arg*/ argtab[3].meltbp_cstring = "mexpand_letbinding macbody="; /*^apply.arg*/ argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.MACBODY__V67*/ meltfptr[30]; /*_.MELT_DEBUG_FUN__V97*/ meltfptr[86] = melt_apply ((meltclosure_ptr_t)((/*!MELT_DEBUG_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IF___V96*/ meltfptr[85] = /*_.MELT_DEBUG_FUN__V97*/ meltfptr[86];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6730:/ clear"); /*clear*/ /*_#MELT_CALLCOUNT__L26*/ meltfnum[20] = 0 ; /*^clear*/ /*clear*/ /*_.MELT_DEBUG_FUN__V97*/ meltfptr[86] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V96*/ meltfptr[85] = /*reallynil*/ NULL ;; } ; { MELT_LOCATION("warmelt-macro.melt:6730:/ locexp"); /*void*/(void)0; } ; /*^quasiblock*/ /*epilog*/ /*^clear*/ /*clear*/ /*_#MELT_NEED_DBG__L25*/ meltfnum[21] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V96*/ meltfptr[85] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*^block*/ /*anyblock*/ { { /*^locexp*/ /*void*/(void)0; } ; /*epilog*/ } #endif /*MELT_HAVE_DEBUG*/ ; MELT_LOCATION("warmelt-macro.melt:6731:/ quasiblock"); MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6732:/ quasiblock"); /*^rawallocobj*/ /*rawallocobj*/ { melt_ptr_t newobj = 0; melt_raw_object_create(newobj,(melt_ptr_t)((/*!CLASS_SOURCE_MACRO_LET_BINDING*/ meltfrout->tabval[24])), (5), "CLASS_SOURCE_MACRO_LET_BINDING"); /*_.INST__V100*/ meltfptr[90] = newobj; }; ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @LOCA_LOCATION", melt_magic_discr((melt_ptr_t)(/*_.INST__V100*/ meltfptr[90])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V100*/ meltfptr[90]), (1), (/*_.LOC__V21*/ meltfptr[20]), "LOCA_LOCATION"); ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @SLETB_BINDER", melt_magic_discr((melt_ptr_t)(/*_.INST__V100*/ meltfptr[90])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V100*/ meltfptr[90]), (2), (/*_.VAR__V23*/ meltfptr[22]), "SLETB_BINDER"); ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @SLETM_MACRO_FORMALS", melt_magic_discr((melt_ptr_t)(/*_.INST__V100*/ meltfptr[90])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V100*/ meltfptr[90]), (3), (/*_.MACFORMALS__V65*/ meltfptr[38]), "SLETM_MACRO_FORMALS"); ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @SLETM_MACRO_BODY", melt_magic_discr((melt_ptr_t)(/*_.INST__V100*/ meltfptr[90])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V100*/ meltfptr[90]), (4), (/*_.MACBODY__V67*/ meltfptr[30]), "SLETM_MACRO_BODY"); ; /*^touchobj*/ melt_dbgtrace_written_object (/*_.INST__V100*/ meltfptr[90], "newly made instance"); ; /*_.SMACBIND__V99*/ meltfptr[89] = /*_.INST__V100*/ meltfptr[90];; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6739:/ cppif.then"); /*^block*/ /*anyblock*/ { { /*^locexp*/ /*melt_increment_dbgcounter*/ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL(); ; /*_#MELT_NEED_DBG__L27*/ meltfnum[20] = /*MELT_NEED_DBG*/ #if MELT_HAVE_DEBUG (/*melt_need_dbg*/ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG*/ ;; MELT_LOCATION("warmelt-macro.melt:6739:/ cond"); /*cond*/ if (/*_#MELT_NEED_DBG__L27*/ meltfnum[20]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { /*_#MELT_CALLCOUNT__L28*/ meltfnum[21] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6739:/ apply"); /*apply*/ { union meltparam_un argtab[5]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L28*/ meltfnum[21]; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6739; /*^apply.arg*/ argtab[3].meltbp_cstring = "mexpand_letbinding smacbind="; /*^apply.arg*/ argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.SMACBIND__V99*/ meltfptr[89]; /*_.MELT_DEBUG_FUN__V102*/ meltfptr[86] = melt_apply ((meltclosure_ptr_t)((/*!MELT_DEBUG_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IF___V101*/ meltfptr[91] = /*_.MELT_DEBUG_FUN__V102*/ meltfptr[86];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6739:/ clear"); /*clear*/ /*_#MELT_CALLCOUNT__L28*/ meltfnum[21] = 0 ; /*^clear*/ /*clear*/ /*_.MELT_DEBUG_FUN__V102*/ meltfptr[86] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V101*/ meltfptr[91] = /*reallynil*/ NULL ;; } ; { MELT_LOCATION("warmelt-macro.melt:6739:/ locexp"); /*void*/(void)0; } ; /*^quasiblock*/ /*epilog*/ /*^clear*/ /*clear*/ /*_#MELT_NEED_DBG__L27*/ meltfnum[20] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V101*/ meltfptr[91] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*^block*/ /*anyblock*/ { { /*^locexp*/ /*void*/(void)0; } ; /*epilog*/ } #endif /*MELT_HAVE_DEBUG*/ ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6740:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.SMACBIND__V99*/ meltfptr[89];; { MELT_LOCATION("warmelt-macro.melt:6740:/ locexp"); /*ochecknores compilobj_nrep_return*/ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results(); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG*/ ; } ; /*^finalreturn*/ ; /*finalret*/ goto meltlabend_rout ; /*_.LET___V98*/ meltfptr[87] = /*_.RETURN___V103*/ meltfptr[85];; MELT_LOCATION("warmelt-macro.melt:6731:/ clear"); /*clear*/ /*_.SMACBIND__V99*/ meltfptr[89] = 0 ; /*^clear*/ /*clear*/ /*_.RETURN___V103*/ meltfptr[85] = 0 ; /*_.LET___V64*/ meltfptr[36] = /*_.LET___V98*/ meltfptr[87];; MELT_LOCATION("warmelt-macro.melt:6705:/ clear"); /*clear*/ /*_.MACFORMALS__V65*/ meltfptr[38] = 0 ; /*^clear*/ /*clear*/ /*_.VARNAME__V66*/ meltfptr[35] = 0 ; /*^clear*/ /*clear*/ /*_.MACBODY__V67*/ meltfptr[30] = 0 ; /*^clear*/ /*clear*/ /*_.NEWENV__V68*/ meltfptr[31] = 0 ; /*^clear*/ /*clear*/ /*_.PAIR_TAIL__V71*/ meltfptr[42] = 0 ; /*^clear*/ /*clear*/ /*_.SETQ___V72*/ meltfptr[33] = 0 ; /*^clear*/ /*clear*/ /*_#IS_A__L17*/ meltfnum[15] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V73*/ meltfptr[39] = 0 ; /*^clear*/ /*clear*/ /*_#MULTIPLE_LENGTH__L18*/ meltfnum[14] = 0 ; /*^clear*/ /*clear*/ /*_#gtI__L19*/ meltfnum[18] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V75*/ meltfptr[32] = 0 ; /*^clear*/ /*clear*/ /*_.EXPAND_PAIRLIST_AS_TUPLE__V94*/ meltfptr[77] = 0 ; /*^clear*/ /*clear*/ /*_.SETQ___V95*/ meltfptr[84] = 0 ; /*^clear*/ /*clear*/ /*_.LET___V98*/ meltfptr[87] = 0 ; /*_._IF___V63*/ meltfptr[29] = /*_.LET___V64*/ meltfptr[36];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6704:/ clear"); /*clear*/ /*_.LET___V64*/ meltfptr[36] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V63*/ meltfptr[29] = /*reallynil*/ NULL ;; } ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6743:/ cond"); /*cond*/ if (/*_.CURARG__V26*/ meltfptr[25]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6744:/ apply"); /*apply*/ { union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_aptr = (melt_ptr_t*) &/*_.ENV__V3*/ meltfptr[2]; /*^apply.arg*/ argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.MEXPANDER__V4*/ meltfptr[3]; /*^apply.arg*/ argtab[2].meltbp_aptr = (melt_ptr_t*) &/*_.MODCTX__V5*/ meltfptr[4]; /*_.MEXPANDER__V104*/ meltfptr[86] = melt_apply ((meltclosure_ptr_t)(/*_.MEXPANDER__V4*/ meltfptr[3]), (melt_ptr_t)(/*_.CURARG__V26*/ meltfptr[25]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*^compute*/ /*_.EXPR__V24*/ meltfptr[23] = /*_.SETQ___V105*/ meltfptr[91] = /*_.MEXPANDER__V104*/ meltfptr[86];; /*_.PAIR_TAIL__V106*/ meltfptr[89] = (melt_pair_tail((melt_ptr_t)(/*_.CURPAIR__V25*/ meltfptr[24])));; MELT_LOCATION("warmelt-macro.melt:6745:/ compute"); /*_.CURPAIR__V25*/ meltfptr[24] = /*_.SETQ___V107*/ meltfptr[85] = /*_.PAIR_TAIL__V106*/ meltfptr[89];; /*_.PAIR_HEAD__V108*/ meltfptr[38] = (melt_pair_head((melt_ptr_t)(/*_.CURPAIR__V25*/ meltfptr[24])));; MELT_LOCATION("warmelt-macro.melt:6746:/ compute"); /*_.CURARG__V26*/ meltfptr[25] = /*_.SETQ___V109*/ meltfptr[35] = /*_.PAIR_HEAD__V108*/ meltfptr[38];; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6747:/ cond"); /*cond*/ if (/*_.CURARG__V26*/ meltfptr[25]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { { /*^locexp*/ /* error_plain */ melt_error_str((melt_ptr_t)(/*_.LOC__V21*/ meltfptr[20]), ( "too long letbinding"), (melt_ptr_t)0); } ; /*epilog*/ } ; } /*noelse*/ ; MELT_LOCATION("warmelt-macro.melt:6743:/ quasiblock"); /*epilog*/ /*^clear*/ /*clear*/ /*_.MEXPANDER__V104*/ meltfptr[86] = 0 ; /*^clear*/ /*clear*/ /*_.SETQ___V105*/ meltfptr[91] = 0 ; /*^clear*/ /*clear*/ /*_.PAIR_TAIL__V106*/ meltfptr[89] = 0 ; /*^clear*/ /*clear*/ /*_.SETQ___V107*/ meltfptr[85] = 0 ; /*^clear*/ /*clear*/ /*_.PAIR_HEAD__V108*/ meltfptr[38] = 0 ; /*^clear*/ /*clear*/ /*_.SETQ___V109*/ meltfptr[35] = 0 ; } ; } /*noelse*/ ; MELT_LOCATION("warmelt-macro.melt:6749:/ quasiblock"); MELT_CHECK_SIGNAL(); ; /*^apply*/ /*apply*/ { union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_aptr = (melt_ptr_t*) &/*_.VAR__V23*/ meltfptr[22]; /*_.PREVBIND__V111*/ meltfptr[31] = melt_apply ((meltclosure_ptr_t)((/*!FIND_ENV*/ meltfrout->tabval[21])), (melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; MELT_CHECK_SIGNAL(); ; /*_#NULL__L29*/ meltfnum[21] = ((/*_.PREVBIND__V111*/ meltfptr[31]) == NULL);; MELT_LOCATION("warmelt-macro.melt:6751:/ cond"); /*cond*/ if (/*_#NULL__L29*/ meltfnum[21]) /*then*/ { /*^cond.then*/ /*_._IFELSE___V112*/ meltfptr[42] = (/*nil*/NULL);; } else { MELT_LOCATION("warmelt-macro.melt:6751:/ cond.else"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*_#IS_A__L30*/ meltfnum[20] = melt_is_instance_of((melt_ptr_t)(/*_.PREVBIND__V111*/ meltfptr[31]), (melt_ptr_t)((/*!CLASS_LET_BINDING*/ meltfrout->tabval[25])));; MELT_LOCATION("warmelt-macro.melt:6752:/ cond"); /*cond*/ if (/*_#IS_A__L30*/ meltfnum[20]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { MELT_LOCATION("warmelt-macro.melt:6753:/ quasiblock"); /*^cond*/ /*cond*/ if ( /*ifisa*/ melt_is_instance_of((melt_ptr_t)(/*_.PREVBIND__V111*/ meltfptr[31]), (melt_ptr_t)((/*!CLASS_LET_BINDING*/ meltfrout->tabval[25]))) ) /*then*/ { /*^cond.then*/ /*^getslot*/ { melt_ptr_t slot=NULL, obj=NULL; obj = (melt_ptr_t)(/*_.PREVBIND__V111*/ meltfptr[31]) /*=obj*/; melt_object_get_field(slot,obj, 3, "LETBIND_LOC"); /*_.PREVLOC__V115*/ meltfptr[32] = slot; }; ; } else /*^cond.else*/ { /*_.PREVLOC__V115*/ meltfptr[32] = /*reallynil*/ NULL ;; } ; MELT_LOCATION("warmelt-macro.melt:6756:/ cond"); /*cond*/ if ( /*ifisa*/ melt_is_instance_of((melt_ptr_t)(/*_.VAR__V23*/ meltfptr[22]), (melt_ptr_t)((/*!CLASS_NAMED*/ meltfrout->tabval[11]))) ) /*then*/ { /*^cond.then*/ /*^getslot*/ { melt_ptr_t slot=NULL, obj=NULL; obj = (melt_ptr_t)(/*_.VAR__V23*/ meltfptr[22]) /*=obj*/; melt_object_get_field(slot,obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V116*/ meltfptr[77] = slot; }; ; } else /*^cond.else*/ { /*_.NAMED_NAME__V116*/ meltfptr[77] = /*reallynil*/ NULL ;; } ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6754:/ apply"); /*apply*/ { union meltparam_un argtab[2]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_cstring = "local let binding $1 hides upper one"; /*^apply.arg*/ argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.NAMED_NAME__V116*/ meltfptr[77]; /*_.WARNING_AT__V117*/ meltfptr[84] = melt_apply ((meltclosure_ptr_t)((/*!WARNING_AT*/ meltfrout->tabval[10])), (melt_ptr_t)(/*_.LOC__V21*/ meltfptr[20]), (MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6757:/ cond"); /*cond*/ if (/*_.PREVLOC__V115*/ meltfptr[32]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { MELT_LOCATION("warmelt-macro.melt:6760:/ cond"); /*cond*/ if ( /*ifisa*/ melt_is_instance_of((melt_ptr_t)(/*_.VAR__V23*/ meltfptr[22]), (melt_ptr_t)((/*!CLASS_NAMED*/ meltfrout->tabval[11]))) ) /*then*/ { /*^cond.then*/ /*^getslot*/ { melt_ptr_t slot=NULL, obj=NULL; obj = (melt_ptr_t)(/*_.VAR__V23*/ meltfptr[22]) /*=obj*/; melt_object_get_field(slot,obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V119*/ meltfptr[36] = slot; }; ; } else /*^cond.else*/ { /*_.NAMED_NAME__V119*/ meltfptr[36] = /*reallynil*/ NULL ;; } ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6758:/ apply"); /*apply*/ { union meltparam_un argtab[2]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_cstring = "here is the hidden binding of $1"; /*^apply.arg*/ argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.NAMED_NAME__V119*/ meltfptr[36]; /*_.WARNING_AT__V120*/ meltfptr[86] = melt_apply ((meltclosure_ptr_t)((/*!WARNING_AT*/ meltfrout->tabval[10])), (melt_ptr_t)(/*_.PREVLOC__V115*/ meltfptr[32]), (MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IF___V118*/ meltfptr[87] = /*_.WARNING_AT__V120*/ meltfptr[86];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6757:/ clear"); /*clear*/ /*_.NAMED_NAME__V119*/ meltfptr[36] = 0 ; /*^clear*/ /*clear*/ /*_.WARNING_AT__V120*/ meltfptr[86] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V118*/ meltfptr[87] = /*reallynil*/ NULL ;; } ; /*^compute*/ /*_.LET___V114*/ meltfptr[39] = /*_._IF___V118*/ meltfptr[87];; MELT_LOCATION("warmelt-macro.melt:6753:/ clear"); /*clear*/ /*_.PREVLOC__V115*/ meltfptr[32] = 0 ; /*^clear*/ /*clear*/ /*_.NAMED_NAME__V116*/ meltfptr[77] = 0 ; /*^clear*/ /*clear*/ /*_.WARNING_AT__V117*/ meltfptr[84] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V118*/ meltfptr[87] = 0 ; /*_._IFELSE___V113*/ meltfptr[33] = /*_.LET___V114*/ meltfptr[39];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6752:/ clear"); /*clear*/ /*_.LET___V114*/ meltfptr[39] = 0 ; } ; } else /*^cond.else*/ { /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*_#IS_A__L31*/ meltfnum[15] = melt_is_instance_of((melt_ptr_t)(/*_.PREVBIND__V111*/ meltfptr[31]), (melt_ptr_t)((/*!CLASS_FIXED_BINDING*/ meltfrout->tabval[26])));; MELT_LOCATION("warmelt-macro.melt:6763:/ cond"); /*cond*/ if (/*_#IS_A__L31*/ meltfnum[15]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { MELT_LOCATION("warmelt-macro.melt:6766:/ cond"); /*cond*/ if ( /*ifisa*/ melt_is_instance_of((melt_ptr_t)(/*_.VAR__V23*/ meltfptr[22]), (melt_ptr_t)((/*!CLASS_NAMED*/ meltfrout->tabval[11]))) ) /*then*/ { /*^cond.then*/ /*^getslot*/ { melt_ptr_t slot=NULL, obj=NULL; obj = (melt_ptr_t)(/*_.VAR__V23*/ meltfptr[22]) /*=obj*/; melt_object_get_field(slot,obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V122*/ meltfptr[89] = slot; }; ; } else /*^cond.else*/ { /*_.NAMED_NAME__V122*/ meltfptr[89] = /*reallynil*/ NULL ;; } ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6764:/ apply"); /*apply*/ { union meltparam_un argtab[2]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_cstring = "local let binding $1 hides definition"; /*^apply.arg*/ argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.NAMED_NAME__V122*/ meltfptr[89]; /*_.WARNING_AT__V123*/ meltfptr[85] = melt_apply ((meltclosure_ptr_t)((/*!WARNING_AT*/ meltfrout->tabval[10])), (melt_ptr_t)(/*_.LOC__V21*/ meltfptr[20]), (MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IFELSE___V121*/ meltfptr[91] = /*_.WARNING_AT__V123*/ meltfptr[85];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6763:/ clear"); /*clear*/ /*_.NAMED_NAME__V122*/ meltfptr[89] = 0 ; /*^clear*/ /*clear*/ /*_.WARNING_AT__V123*/ meltfptr[85] = 0 ; } ; } else /*^cond.else*/ { /*_._IFELSE___V121*/ meltfptr[91] = /*reallynil*/ NULL ;; } ; /*^compute*/ /*_._IFELSE___V113*/ meltfptr[33] = /*_._IFELSE___V121*/ meltfptr[91];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6752:/ clear"); /*clear*/ /*_#IS_A__L31*/ meltfnum[15] = 0 ; /*^clear*/ /*clear*/ /*_._IFELSE___V121*/ meltfptr[91] = 0 ; } ; } ; /*_._IFELSE___V112*/ meltfptr[42] = /*_._IFELSE___V113*/ meltfptr[33];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6751:/ clear"); /*clear*/ /*_#IS_A__L30*/ meltfnum[20] = 0 ; /*^clear*/ /*clear*/ /*_._IFELSE___V113*/ meltfptr[33] = 0 ; } ; } ; /*_.LET___V110*/ meltfptr[30] = /*_._IFELSE___V112*/ meltfptr[42];; MELT_LOCATION("warmelt-macro.melt:6749:/ clear"); /*clear*/ /*_.PREVBIND__V111*/ meltfptr[31] = 0 ; /*^clear*/ /*clear*/ /*_#NULL__L29*/ meltfnum[21] = 0 ; /*^clear*/ /*clear*/ /*_._IFELSE___V112*/ meltfptr[42] = 0 ; MELT_LOCATION("warmelt-macro.melt:6769:/ quasiblock"); MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6770:/ quasiblock"); /*^rawallocobj*/ /*rawallocobj*/ { melt_ptr_t newobj = 0; melt_raw_object_create(newobj,(melt_ptr_t)((/*!CLASS_SOURCE_LET_BINDING*/ meltfrout->tabval[27])), (5), "CLASS_SOURCE_LET_BINDING"); /*_.INST__V126*/ meltfptr[36] = newobj; }; ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @LOCA_LOCATION", melt_magic_discr((melt_ptr_t)(/*_.INST__V126*/ meltfptr[36])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V126*/ meltfptr[36]), (1), (/*_.LOC__V21*/ meltfptr[20]), "LOCA_LOCATION"); ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @SLETB_TYPE", melt_magic_discr((melt_ptr_t)(/*_.INST__V126*/ meltfptr[36])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V126*/ meltfptr[36]), (3), (/*_.CTYP__V22*/ meltfptr[21]), "SLETB_TYPE"); ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @SLETB_BINDER", melt_magic_discr((melt_ptr_t)(/*_.INST__V126*/ meltfptr[36])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V126*/ meltfptr[36]), (2), (/*_.VAR__V23*/ meltfptr[22]), "SLETB_BINDER"); ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @SLETB_EXPR", melt_magic_discr((melt_ptr_t)(/*_.INST__V126*/ meltfptr[36])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V126*/ meltfptr[36]), (4), (/*_.EXPR__V24*/ meltfptr[23]), "SLETB_EXPR"); ; /*^touchobj*/ melt_dbgtrace_written_object (/*_.INST__V126*/ meltfptr[36], "newly made instance"); ; /*_.LETB__V125*/ meltfptr[35] = /*_.INST__V126*/ meltfptr[36];; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6775:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.LETB__V125*/ meltfptr[35];; { MELT_LOCATION("warmelt-macro.melt:6775:/ locexp"); /*ochecknores compilobj_nrep_return*/ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results(); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG*/ ; } ; /*^finalreturn*/ ; /*finalret*/ goto meltlabend_rout ; /*_.LET___V124*/ meltfptr[38] = /*_.RETURN___V127*/ meltfptr[86];; MELT_LOCATION("warmelt-macro.melt:6769:/ clear"); /*clear*/ /*_.LETB__V125*/ meltfptr[35] = 0 ; /*^clear*/ /*clear*/ /*_.RETURN___V127*/ meltfptr[86] = 0 ; /*_.LET___V19*/ meltfptr[17] = /*_.LET___V124*/ meltfptr[38];; MELT_LOCATION("warmelt-macro.melt:6660:/ clear"); /*clear*/ /*_.CONT__V20*/ meltfptr[16] = 0 ; /*^clear*/ /*clear*/ /*_.LOC__V21*/ meltfptr[20] = 0 ; /*^clear*/ /*clear*/ /*_.CTYP__V22*/ meltfptr[21] = 0 ; /*^clear*/ /*clear*/ /*_.VAR__V23*/ meltfptr[22] = 0 ; /*^clear*/ /*clear*/ /*_.EXPR__V24*/ meltfptr[23] = 0 ; /*^clear*/ /*clear*/ /*_.CURPAIR__V25*/ meltfptr[24] = 0 ; /*^clear*/ /*clear*/ /*_.CURARG__V26*/ meltfptr[25] = 0 ; /*^clear*/ /*clear*/ /*_.PAIR_HEAD__V27*/ meltfptr[26] = 0 ; /*^clear*/ /*clear*/ /*_.SETQ___V28*/ meltfptr[27] = 0 ; /*^clear*/ /*clear*/ /*_#IS_A__L7*/ meltfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V29*/ meltfptr[28] = 0 ; /*^clear*/ /*clear*/ /*_#IS_A__L11*/ meltfnum[9] = 0 ; /*^clear*/ /*clear*/ /*_._IFELSE___V51*/ meltfptr[40] = 0 ; /*^clear*/ /*clear*/ /*_#NULL__L13*/ meltfnum[7] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V61*/ meltfptr[43] = 0 ; /*^clear*/ /*clear*/ /*_#eqeq__L14*/ meltfnum[8] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V63*/ meltfptr[29] = 0 ; /*^clear*/ /*clear*/ /*_.LET___V110*/ meltfptr[30] = 0 ; /*^clear*/ /*clear*/ /*_.LET___V124*/ meltfptr[38] = 0 ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6654:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.LET___V19*/ meltfptr[17];; { MELT_LOCATION("warmelt-macro.melt:6654:/ locexp"); /*ochecknores compilobj_nrep_return*/ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results(); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG*/ ; } ; /*^finalreturn*/ ; /*finalret*/ goto meltlabend_rout ; /*epilog*/ /*^clear*/ /*clear*/ /*_.IFCPP___V8*/ meltfptr[6] = 0 ; /*^clear*/ /*clear*/ /*_.IFCPP___V11*/ meltfptr[9] = 0 ; /*^clear*/ /*clear*/ /*_#NULL__L5*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V14*/ meltfptr[12] = 0 ; /*^clear*/ /*clear*/ /*_.IFCPP___V16*/ meltfptr[5] = 0 ; /*^clear*/ /*clear*/ /*_.LET___V19*/ meltfptr[17] = 0 ; } ; goto meltlabend_rout; meltlabend_rout: melt_trace_end("MEXPAND_LETBINDING", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_122_WARMELTmiMACRO_MEXPAND_LETBINDING_melt; return (melt_ptr_t)(/*_._RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_122_WARMELTmiMACRO_MEXPAND_LETBINDING*/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_123_WARMELTmiMACRO_MEXPAND_LET(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_) { long current_blocklevel_signals_meltrout_123_WARMELTmiMACRO_MEXPAND_LET_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long melt_call_counter__; long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__; #undef meltcallcount #define meltcallcount melt_thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1490 /* start of frame for routine meltrout_123_WARMELTmiMACRO_MEXPAND_LET fromline 1704 */ /** start of frame for meltrout_123_WARMELTmiMACRO_MEXPAND_LET of CLASS_PROCROUTINEOBJ from 1507**/ /*curframdeclclassy*/ class MeltFrame_meltrout_123_WARMELTmiMACRO_MEXPAND_LET// fromline 1520 : public Melt_CallFrameWithValues<62> { public: /* fromline 1524*/ long mcfr_varnum[13]; /*classy others*/ long _meltsparel; void melt_mark_stuff (void) { } /*end melt_mark_stuff*/ virtual void melt_mark_ggc_data (void) { melt_mark_values (); melt_mark_stuff (); }; /*end melt_mark_ggc_data*/ MeltFrame_meltrout_123_WARMELTmiMACRO_MEXPAND_LET(meltclosure_ptr_t clos) //the closure constructor fromline 1582 : Melt_CallFrameWithValues<62> ( #if ENABLE_CHECKING /*fromline 1586*/ __FILE__, __LINE__, #endif /* ENABLE_CHECKING fromline 1590*/ sizeof(MeltFrame_meltrout_123_WARMELTmiMACRO_MEXPAND_LET), clos) {}; MeltFrame_meltrout_123_WARMELTmiMACRO_MEXPAND_LET() //the constructor fromline 1594 : Melt_CallFrameWithValues<62> ( #if ENABLE_CHECKING /*fromline 1598*/ __FILE__, __LINE__, #endif /* ENABLE_CHECKING fromline 1602*/ sizeof(MeltFrame_meltrout_123_WARMELTmiMACRO_MEXPAND_LET)) {}; #if ENABLE_CHECKING /*fromline 1606*/ MeltFrame_meltrout_123_WARMELTmiMACRO_MEXPAND_LET(const char*fil, int lin) //the constructor fromline 1608 : Melt_CallFrameWithValues<62> (fil,lin, sizeof(MeltFrame_meltrout_123_WARMELTmiMACRO_MEXPAND_LET)) {}; MeltFrame_meltrout_123_WARMELTmiMACRO_MEXPAND_LET(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1613 : Melt_CallFrameWithValues<62> (fil,lin, sizeof(MeltFrame_meltrout_123_WARMELTmiMACRO_MEXPAND_LET), clos) {}; #endif /* ENABLE_CHECKING fromline 1618*/ }; // end class MeltFrame_meltrout_123_WARMELTmiMACRO_MEXPAND_LET /** end of frame for meltrout_123_WARMELTmiMACRO_MEXPAND_LET fromline 1649**/ /* end of frame for routine meltrout_123_WARMELTmiMACRO_MEXPAND_LET fromline 1708 */ /* classy proc frame meltrout_123_WARMELTmiMACRO_MEXPAND_LET */ MeltFrame_meltrout_123_WARMELTmiMACRO_MEXPAND_LET meltfram__ /*declfrastruct fromline 1732*/ /*classyprocarg meltrout_123_WARMELTmiMACRO_MEXPAND_LET fromline 1737*/ #if ENABLE_CHECKING (__FILE__, __LINE__, meltclosp_) /* fromline 1741*/ #else /*ENABLE_CHECKING */ (meltclosp_) /* fromline 1745*/ #endif /*ENABLE_CHECKING */ ; #define meltframe meltfram__ melt_trace_start("MEXPAND_LET", meltcallcount); /*use arguments*/ (void) meltclosp_; (void)meltfirstargp_; (void)meltxargdescr_; (void)meltxargtab_; (void)meltxresdescr_; (void)meltxrestab_; /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-macro.melt:6781:/ getarg"); /*_.SEXPR__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1*/ /*^getarg*/ if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_endgetargs; /*_.ENV__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2])) != NULL); /*getarg#2*/ /*^getarg*/ if (meltxargdescr_[1] != MELTBPAR_PTR) goto meltlab_endgetargs; /*_.MEXPANDER__V4*/ meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.MEXPANDER__V4*/ meltfptr[3])) != NULL); /*getarg#3*/ /*^getarg*/ if (meltxargdescr_[2] != MELTBPAR_PTR) goto meltlab_endgetargs; /*_.MODCTX__V5*/ meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.MODCTX__V5*/ meltfptr[4])) != NULL); ; goto meltlab_endgetargs; meltlab_endgetargs: ; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6782:/ cppif.then"); /*^block*/ /*anyblock*/ { { /*^locexp*/ /*melt_increment_dbgcounter*/ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL(); ; /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = /*MELT_NEED_DBG*/ #if MELT_HAVE_DEBUG (/*melt_need_dbg*/ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG*/ ;; MELT_LOCATION("warmelt-macro.melt:6782:/ cond"); /*cond*/ if (/*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { /*_#MELT_CALLCOUNT__L2*/ meltfnum[1] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6782:/ apply"); /*apply*/ { union meltparam_un argtab[5]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6782; /*^apply.arg*/ argtab[3].meltbp_cstring = "mexpand_let sexpr="; /*^apply.arg*/ argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.SEXPR__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V7*/ meltfptr[6] = melt_apply ((meltclosure_ptr_t)((/*!MELT_DEBUG_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IF___V6*/ meltfptr[5] = /*_.MELT_DEBUG_FUN__V7*/ meltfptr[6];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6782:/ clear"); /*clear*/ /*_#MELT_CALLCOUNT__L2*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_.MELT_DEBUG_FUN__V7*/ meltfptr[6] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V6*/ meltfptr[5] = /*reallynil*/ NULL ;; } ; { MELT_LOCATION("warmelt-macro.melt:6782:/ locexp"); /*void*/(void)0; } ; /*^quasiblock*/ /*epilog*/ /*^clear*/ /*clear*/ /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V6*/ meltfptr[5] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*^block*/ /*anyblock*/ { { /*^locexp*/ /*void*/(void)0; } ; /*epilog*/ } #endif /*MELT_HAVE_DEBUG*/ ; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6783:/ cppif.then"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*_#IS_A__L3*/ meltfnum[1] = melt_is_instance_of((melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_SEXPR*/ meltfrout->tabval[1])));; MELT_LOCATION("warmelt-macro.melt:6783:/ cond"); /*cond*/ if (/*_#IS_A__L3*/ meltfnum[1]) /*then*/ { /*^cond.then*/ /*_._IFELSE___V9*/ meltfptr[5] = (/*nil*/NULL);; } else { MELT_LOCATION("warmelt-macro.melt:6783:/ cond.else"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*^apply*/ /*apply*/ { union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_cstring = "check sexpr"; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6783; /*^apply.arg*/ argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.SEXPR__V2*/ meltfptr[1]; /*_.MELT_ASSERT_FAILURE_FUN__V10*/ meltfptr[9] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[2])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IFELSE___V9*/ meltfptr[5] = /*_.MELT_ASSERT_FAILURE_FUN__V10*/ meltfptr[9];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6783:/ clear"); /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V10*/ meltfptr[9] = 0 ; } ; } ; /*_.IFCPP___V8*/ meltfptr[6] = /*_._IFELSE___V9*/ meltfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6783:/ clear"); /*clear*/ /*_#IS_A__L3*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_._IFELSE___V9*/ meltfptr[5] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*_.IFCPP___V8*/ meltfptr[6] = (/*nil*/NULL); #endif /*MELT_HAVE_DEBUG*/ ; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6784:/ cppif.then"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*_#IS_A__L4*/ meltfnum[0] = melt_is_instance_of((melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2]), (melt_ptr_t)((/*!CLASS_ENVIRONMENT*/ meltfrout->tabval[3])));; MELT_LOCATION("warmelt-macro.melt:6784:/ cond"); /*cond*/ if (/*_#IS_A__L4*/ meltfnum[0]) /*then*/ { /*^cond.then*/ /*_._IFELSE___V12*/ meltfptr[5] = (/*nil*/NULL);; } else { MELT_LOCATION("warmelt-macro.melt:6784:/ cond.else"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*^apply*/ /*apply*/ { union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_cstring = "check env"; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6784; /*^apply.arg*/ argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.ENV__V3*/ meltfptr[2]; /*_.MELT_ASSERT_FAILURE_FUN__V13*/ meltfptr[12] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[2])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IFELSE___V12*/ meltfptr[5] = /*_.MELT_ASSERT_FAILURE_FUN__V13*/ meltfptr[12];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6784:/ clear"); /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V13*/ meltfptr[12] = 0 ; } ; } ; /*_.IFCPP___V11*/ meltfptr[9] = /*_._IFELSE___V12*/ meltfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6784:/ clear"); /*clear*/ /*_#IS_A__L4*/ meltfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_._IFELSE___V12*/ meltfptr[5] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*_.IFCPP___V11*/ meltfptr[9] = (/*nil*/NULL); #endif /*MELT_HAVE_DEBUG*/ ; MELT_CHECK_SIGNAL(); ; /*^compute*/ /*_#NULL__L5*/ meltfnum[1] = ((/*_.MEXPANDER__V4*/ meltfptr[3]) == NULL);; MELT_LOCATION("warmelt-macro.melt:6785:/ cond"); /*cond*/ if (/*_#NULL__L5*/ meltfnum[1]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { /*^compute*/ /*_.MEXPANDER__V4*/ meltfptr[3] = /*_.SETQ___V15*/ meltfptr[5] = (/*!MACROEXPAND_1*/ meltfrout->tabval[4]);; /*_._IF___V14*/ meltfptr[12] = /*_.SETQ___V15*/ meltfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6785:/ clear"); /*clear*/ /*_.SETQ___V15*/ meltfptr[5] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V14*/ meltfptr[12] = /*reallynil*/ NULL ;; } ; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6786:/ cppif.then"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*_#IS_OBJECT__L6*/ meltfnum[0] = (melt_magic_discr((melt_ptr_t)(/*_.MODCTX__V5*/ meltfptr[4])) == MELTOBMAG_OBJECT);; MELT_LOCATION("warmelt-macro.melt:6786:/ cond"); /*cond*/ if (/*_#IS_OBJECT__L6*/ meltfnum[0]) /*then*/ { /*^cond.then*/ /*_._IFELSE___V17*/ meltfptr[16] = (/*nil*/NULL);; } else { MELT_LOCATION("warmelt-macro.melt:6786:/ cond.else"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*^apply*/ /*apply*/ { union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_cstring = "check modctx"; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6786; /*^apply.arg*/ argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.MODCTX__V5*/ meltfptr[4]; /*_.MELT_ASSERT_FAILURE_FUN__V18*/ meltfptr[17] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[2])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IFELSE___V17*/ meltfptr[16] = /*_.MELT_ASSERT_FAILURE_FUN__V18*/ meltfptr[17];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6786:/ clear"); /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V18*/ meltfptr[17] = 0 ; } ; } ; /*_.IFCPP___V16*/ meltfptr[5] = /*_._IFELSE___V17*/ meltfptr[16];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6786:/ clear"); /*clear*/ /*_#IS_OBJECT__L6*/ meltfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_._IFELSE___V17*/ meltfptr[16] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*_.IFCPP___V16*/ meltfptr[5] = (/*nil*/NULL); #endif /*MELT_HAVE_DEBUG*/ ; MELT_LOCATION("warmelt-macro.melt:6787:/ quasiblock"); MELT_LOCATION("warmelt-macro.melt:6788:/ getslot"); { melt_ptr_t slot=NULL, obj=NULL; obj = (melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/; melt_object_get_field(slot,obj, 2, "SEXP_CONTENTS"); /*_.CONT__V20*/ meltfptr[16] = slot; }; ; MELT_LOCATION("warmelt-macro.melt:6789:/ getslot"); { melt_ptr_t slot=NULL, obj=NULL; obj = (melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/; melt_object_get_field(slot,obj, 1, "LOCA_LOCATION"); /*_.LOC__V21*/ meltfptr[20] = slot; }; ; /*_.LIST_FIRST__V22*/ meltfptr[21] = (melt_list_first((melt_ptr_t)(/*_.CONT__V20*/ meltfptr[16])));; /*^compute*/ /*_.SECPAIR__V23*/ meltfptr[22] = (melt_pair_tail((melt_ptr_t)(/*_.LIST_FIRST__V22*/ meltfptr[21])));; /*^compute*/ /*_.RESTPAIR__V24*/ meltfptr[23] = (melt_pair_tail((melt_ptr_t)(/*_.SECPAIR__V23*/ meltfptr[22])));; /*^compute*/ /*_.BINDEXPR__V25*/ meltfptr[24] = (melt_pair_head((melt_ptr_t)(/*_.SECPAIR__V23*/ meltfptr[22])));; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6793:/ apply"); /*apply*/ { /*_.NEWENV__V26*/ meltfptr[25] = melt_apply ((meltclosure_ptr_t)((/*!FRESH_ENV*/ meltfrout->tabval[5])), (melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2]), (""), (union meltparam_un*)0, "", (union meltparam_un*)0); } ; /*_.BINDTUP__V27*/ meltfptr[26] = (/*nil*/NULL);; /*^compute*/ /*_.BODYTUP__V28*/ meltfptr[27] = (/*nil*/NULL);; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6797:/ cond"); /*cond*/ if (/*_.BINDEXPR__V25*/ meltfptr[24]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*_#IS_A__L7*/ meltfnum[0] = melt_is_instance_of((melt_ptr_t)(/*_.BINDEXPR__V25*/ meltfptr[24]), (melt_ptr_t)((/*!CLASS_SEXPR*/ meltfrout->tabval[1])));; MELT_LOCATION("warmelt-macro.melt:6798:/ cond"); /*cond*/ if (/*_#IS_A__L7*/ meltfnum[0]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { MELT_LOCATION("warmelt-macro.melt:6801:/ getslot"); { melt_ptr_t slot=NULL, obj=NULL; obj = (melt_ptr_t)(/*_.BINDEXPR__V25*/ meltfptr[24]) /*=obj*/; melt_object_get_field(slot,obj, 2, "SEXP_CONTENTS"); /*_.SEXP_CONTENTS__V31*/ meltfptr[30] = slot; }; ; /*_.LIST_FIRST__V32*/ meltfptr[31] = (melt_list_first((melt_ptr_t)(/*_.SEXP_CONTENTS__V31*/ meltfptr[30])));; MELT_LOCATION("warmelt-macro.melt:6803:/ quasiblock"); /*^newclosure*/ /*newclosure*/ /*_.LAMBDA___V34*/ meltfptr[33] = (melt_ptr_t) meltgc_new_closure((meltobject_ptr_t)(((melt_ptr_t)(MELT_PREDEF(DISCR_CLOSURE)))), (meltroutine_ptr_t)((/*!konst_10*/ meltfrout->tabval[10])), (4)); ; /*^putclosedv*/ /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V34*/ meltfptr[33])) == MELTOBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 0>= 0 && 0< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V34*/ meltfptr[33]))); ((meltclosure_ptr_t)/*_.LAMBDA___V34*/ meltfptr[33])->tabval[0] = (melt_ptr_t)(/*_.LOC__V21*/ meltfptr[20]); ; /*^putclosedv*/ /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V34*/ meltfptr[33])) == MELTOBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 1>= 0 && 1< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V34*/ meltfptr[33]))); ((meltclosure_ptr_t)/*_.LAMBDA___V34*/ meltfptr[33])->tabval[1] = (melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2]); ; /*^putclosedv*/ /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V34*/ meltfptr[33])) == MELTOBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 2>= 0 && 2< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V34*/ meltfptr[33]))); ((meltclosure_ptr_t)/*_.LAMBDA___V34*/ meltfptr[33])->tabval[2] = (melt_ptr_t)(/*_.MEXPANDER__V4*/ meltfptr[3]); ; /*^putclosedv*/ /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V34*/ meltfptr[33])) == MELTOBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 3>= 0 && 3< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V34*/ meltfptr[33]))); ((meltclosure_ptr_t)/*_.LAMBDA___V34*/ meltfptr[33])->tabval[3] = (melt_ptr_t)(/*_.MODCTX__V5*/ meltfptr[4]); ; /*_.LAMBDA___V33*/ meltfptr[32] = /*_.LAMBDA___V34*/ meltfptr[33];; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6800:/ apply"); /*apply*/ { union meltparam_un argtab[2]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_aptr = (melt_ptr_t*) &(/*!DISCR_MULTIPLE*/ meltfrout->tabval[7]); /*^apply.arg*/ argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.LAMBDA___V33*/ meltfptr[32]; /*_.PAIRLIST_TO_MULTIPLE__V35*/ meltfptr[34] = melt_apply ((meltclosure_ptr_t)((/*!PAIRLIST_TO_MULTIPLE*/ meltfrout->tabval[6])), (melt_ptr_t)(/*_.LIST_FIRST__V32*/ meltfptr[31]), (MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; MELT_LOCATION("warmelt-macro.melt:6799:/ compute"); /*_.BINDTUP__V27*/ meltfptr[26] = /*_.SETQ___V36*/ meltfptr[35] = /*_.PAIRLIST_TO_MULTIPLE__V35*/ meltfptr[34];; /*_._IFELSE___V30*/ meltfptr[29] = /*_.SETQ___V36*/ meltfptr[35];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6798:/ clear"); /*clear*/ /*_.SEXP_CONTENTS__V31*/ meltfptr[30] = 0 ; /*^clear*/ /*clear*/ /*_.LIST_FIRST__V32*/ meltfptr[31] = 0 ; /*^clear*/ /*clear*/ /*_.LAMBDA___V33*/ meltfptr[32] = 0 ; /*^clear*/ /*clear*/ /*_.PAIRLIST_TO_MULTIPLE__V35*/ meltfptr[34] = 0 ; /*^clear*/ /*clear*/ /*_.SETQ___V36*/ meltfptr[35] = 0 ; } ; } else /*^cond.else*/ { /*^block*/ /*anyblock*/ { { MELT_LOCATION("warmelt-macro.melt:6807:/ locexp"); /* error_plain */ melt_error_str((melt_ptr_t)(/*_.LOC__V21*/ meltfptr[20]), ( "missing letbinding-s in LET"), (melt_ptr_t)0); } ; /*clear*/ /*_._IFELSE___V30*/ meltfptr[29] = 0 ; /*epilog*/ } ; } ; /*^compute*/ /*_._IF___V29*/ meltfptr[28] = /*_._IFELSE___V30*/ meltfptr[29];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6797:/ clear"); /*clear*/ /*_#IS_A__L7*/ meltfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_._IFELSE___V30*/ meltfptr[29] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V29*/ meltfptr[28] = /*reallynil*/ NULL ;; } ; /*citerblock FOREACH_IN_MULTIPLE*/ { /* start foreach_in_multiple meltcit1__EACHTUP */ long meltcit1__EACHTUP_ln = melt_multiple_length((melt_ptr_t)/*_.BINDTUP__V27*/ meltfptr[26]); for (/*_#BIX__L8*/ meltfnum[0] = 0; (/*_#BIX__L8*/ meltfnum[0] >= 0) && (/*_#BIX__L8*/ meltfnum[0] < meltcit1__EACHTUP_ln); /*_#BIX__L8*/ meltfnum[0]++) { /*_.SLB__V37*/ meltfptr[30] = melt_multiple_nth((melt_ptr_t)(/*_.BINDTUP__V27*/ meltfptr[26]), /*_#BIX__L8*/ meltfnum[0]); #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6812:/ cppif.then"); /*^block*/ /*anyblock*/ { { /*^locexp*/ /*melt_increment_dbgcounter*/ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL(); ; /*_#MELT_NEED_DBG__L9*/ meltfnum[8] = /*MELT_NEED_DBG*/ #if MELT_HAVE_DEBUG (/*melt_need_dbg*/ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG*/ ;; MELT_LOCATION("warmelt-macro.melt:6812:/ cond"); /*cond*/ if (/*_#MELT_NEED_DBG__L9*/ meltfnum[8]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { /*_#MELT_CALLCOUNT__L10*/ meltfnum[9] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6812:/ apply"); /*apply*/ { union meltparam_un argtab[7]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L10*/ meltfnum[9]; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6812; /*^apply.arg*/ argtab[3].meltbp_cstring = "mexpand_let slb="; /*^apply.arg*/ argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.SLB__V37*/ meltfptr[30]; /*^apply.arg*/ argtab[5].meltbp_cstring = " bix="; /*^apply.arg*/ argtab[6].meltbp_long = /*_#BIX__L8*/ meltfnum[0]; /*_.MELT_DEBUG_FUN__V39*/ meltfptr[32] = melt_apply ((meltclosure_ptr_t)((/*!MELT_DEBUG_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; /*_._IF___V38*/ meltfptr[31] = /*_.MELT_DEBUG_FUN__V39*/ meltfptr[32];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6812:/ clear"); /*clear*/ /*_#MELT_CALLCOUNT__L10*/ meltfnum[9] = 0 ; /*^clear*/ /*clear*/ /*_.MELT_DEBUG_FUN__V39*/ meltfptr[32] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V38*/ meltfptr[31] = /*reallynil*/ NULL ;; } ; { MELT_LOCATION("warmelt-macro.melt:6812:/ locexp"); /*void*/(void)0; } ; /*^quasiblock*/ /*epilog*/ /*^clear*/ /*clear*/ /*_#MELT_NEED_DBG__L9*/ meltfnum[8] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V38*/ meltfptr[31] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*^block*/ /*anyblock*/ { { /*^locexp*/ /*void*/(void)0; } ; /*epilog*/ } #endif /*MELT_HAVE_DEBUG*/ ; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6813:/ cppif.then"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*_#IS_A__L11*/ meltfnum[9] = melt_is_instance_of((melt_ptr_t)(/*_.SLB__V37*/ meltfptr[30]), (melt_ptr_t)((/*!CLASS_SOURCE_LET_BINDING*/ meltfrout->tabval[11])));; MELT_LOCATION("warmelt-macro.melt:6813:/ cond"); /*cond*/ if (/*_#IS_A__L11*/ meltfnum[9]) /*then*/ { /*^cond.then*/ /*_._IFELSE___V41*/ meltfptr[35] = (/*nil*/NULL);; } else { MELT_LOCATION("warmelt-macro.melt:6813:/ cond.else"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*^apply*/ /*apply*/ { union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_cstring = "mexpand_let check slb"; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6813; /*^apply.arg*/ argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.SLB__V37*/ meltfptr[30]; /*_.MELT_ASSERT_FAILURE_FUN__V42*/ meltfptr[29] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[2])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IFELSE___V41*/ meltfptr[35] = /*_.MELT_ASSERT_FAILURE_FUN__V42*/ meltfptr[29];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6813:/ clear"); /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V42*/ meltfptr[29] = 0 ; } ; } ; /*_.IFCPP___V40*/ meltfptr[34] = /*_._IFELSE___V41*/ meltfptr[35];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6813:/ clear"); /*clear*/ /*_#IS_A__L11*/ meltfnum[9] = 0 ; /*^clear*/ /*clear*/ /*_._IFELSE___V41*/ meltfptr[35] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*_.IFCPP___V40*/ meltfptr[34] = (/*nil*/NULL); #endif /*MELT_HAVE_DEBUG*/ ; MELT_LOCATION("warmelt-macro.melt:6814:/ quasiblock"); MELT_LOCATION("warmelt-macro.melt:6815:/ getslot"); { melt_ptr_t slot=NULL, obj=NULL; obj = (melt_ptr_t)(/*_.SLB__V37*/ meltfptr[30]) /*=obj*/; melt_object_get_field(slot,obj, 4, "SLETB_EXPR"); /*_.SX__V44*/ meltfptr[31] = slot; }; ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6817:/ getslot"); { melt_ptr_t slot=NULL, obj=NULL; obj = (melt_ptr_t)(/*_.SLB__V37*/ meltfptr[30]) /*=obj*/; melt_object_get_field(slot,obj, 2, "SLETB_BINDER"); /*_.SLETB_BINDER__V45*/ meltfptr[29] = slot; }; ; MELT_LOCATION("warmelt-macro.melt:6818:/ getslot"); { melt_ptr_t slot=NULL, obj=NULL; obj = (melt_ptr_t)(/*_.SLB__V37*/ meltfptr[30]) /*=obj*/; melt_object_get_field(slot,obj, 3, "SLETB_TYPE"); /*_.SLETB_TYPE__V46*/ meltfptr[35] = slot; }; ; MELT_LOCATION("warmelt-macro.melt:6820:/ cond"); /*cond*/ if ( /*ifisa*/ melt_is_instance_of((melt_ptr_t)(/*_.SLB__V37*/ meltfptr[30]), (melt_ptr_t)((/*!CLASS_LOCATED*/ meltfrout->tabval[13]))) ) /*then*/ { /*^cond.then*/ /*^getslot*/ { melt_ptr_t slot=NULL, obj=NULL; obj = (melt_ptr_t)(/*_.SLB__V37*/ meltfptr[30]) /*=obj*/; melt_object_get_field(slot,obj, 1, "LOCA_LOCATION"); /*_.LOCA_LOCATION__V47*/ meltfptr[46] = slot; }; ; } else /*^cond.else*/ { /*_.LOCA_LOCATION__V47*/ meltfptr[46] = /*reallynil*/ NULL ;; } ; MELT_LOCATION("warmelt-macro.melt:6820:/ cond"); /*cond*/ if (/*_.LOCA_LOCATION__V47*/ meltfptr[46]) /*then*/ { /*^cond.then*/ /*_.OR___V48*/ meltfptr[47] = /*_.LOCA_LOCATION__V47*/ meltfptr[46];; } else { MELT_LOCATION("warmelt-macro.melt:6820:/ cond.else"); /*_.OR___V48*/ meltfptr[47] = /*_.LOC__V21*/ meltfptr[20];; } ; MELT_LOCATION("warmelt-macro.melt:6816:/ quasiblock"); /*^rawallocobj*/ /*rawallocobj*/ { melt_ptr_t newobj = 0; melt_raw_object_create(newobj,(melt_ptr_t)((/*!CLASS_LET_BINDING*/ meltfrout->tabval[12])), (4), "CLASS_LET_BINDING"); /*_.INST__V50*/ meltfptr[49] = newobj; }; ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @BINDER", melt_magic_discr((melt_ptr_t)(/*_.INST__V50*/ meltfptr[49])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V50*/ meltfptr[49]), (0), (/*_.SLETB_BINDER__V45*/ meltfptr[29]), "BINDER"); ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @LETBIND_TYPE", melt_magic_discr((melt_ptr_t)(/*_.INST__V50*/ meltfptr[49])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V50*/ meltfptr[49]), (1), (/*_.SLETB_TYPE__V46*/ meltfptr[35]), "LETBIND_TYPE"); ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @LETBIND_EXPR", melt_magic_discr((melt_ptr_t)(/*_.INST__V50*/ meltfptr[49])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V50*/ meltfptr[49]), (2), (/*_.SX__V44*/ meltfptr[31]), "LETBIND_EXPR"); ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @LETBIND_LOC", melt_magic_discr((melt_ptr_t)(/*_.INST__V50*/ meltfptr[49])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V50*/ meltfptr[49]), (3), (/*_.OR___V48*/ meltfptr[47]), "LETBIND_LOC"); ; /*^touchobj*/ melt_dbgtrace_written_object (/*_.INST__V50*/ meltfptr[49], "newly made instance"); ; /*_.LB__V49*/ meltfptr[48] = /*_.INST__V50*/ meltfptr[49];; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6822:/ cppif.then"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*_#IS_LIST__L12*/ meltfnum[8] = (melt_magic_discr((melt_ptr_t)(/*_.LB__V49*/ meltfptr[48])) == MELTOBMAG_LIST);; /*^compute*/ /*_#NOT__L13*/ meltfnum[9] = (!(/*_#IS_LIST__L12*/ meltfnum[8]));; MELT_LOCATION("warmelt-macro.melt:6822:/ cond"); /*cond*/ if (/*_#NOT__L13*/ meltfnum[9]) /*then*/ { /*^cond.then*/ /*_._IFELSE___V52*/ meltfptr[51] = (/*nil*/NULL);; } else { MELT_LOCATION("warmelt-macro.melt:6822:/ cond.else"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*^apply*/ /*apply*/ { union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_cstring = "mexpand_let not list lb"; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6822; /*^apply.arg*/ argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.LB__V49*/ meltfptr[48]; /*_.MELT_ASSERT_FAILURE_FUN__V53*/ meltfptr[52] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[2])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IFELSE___V52*/ meltfptr[51] = /*_.MELT_ASSERT_FAILURE_FUN__V53*/ meltfptr[52];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6822:/ clear"); /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V53*/ meltfptr[52] = 0 ; } ; } ; /*_.IFCPP___V51*/ meltfptr[50] = /*_._IFELSE___V52*/ meltfptr[51];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6822:/ clear"); /*clear*/ /*_#IS_LIST__L12*/ meltfnum[8] = 0 ; /*^clear*/ /*clear*/ /*_#NOT__L13*/ meltfnum[9] = 0 ; /*^clear*/ /*clear*/ /*_._IFELSE___V52*/ meltfptr[51] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*_.IFCPP___V51*/ meltfptr[50] = (/*nil*/NULL); #endif /*MELT_HAVE_DEBUG*/ ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6823:/ apply"); /*apply*/ { union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_aptr = (melt_ptr_t*) &/*_.LB__V49*/ meltfptr[48]; /*_.PUT_ENV__V54*/ meltfptr[52] = melt_apply ((meltclosure_ptr_t)((/*!PUT_ENV*/ meltfrout->tabval[14])), (melt_ptr_t)(/*_.NEWENV__V26*/ meltfptr[25]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_.LET___V43*/ meltfptr[32] = /*_.PUT_ENV__V54*/ meltfptr[52];; MELT_LOCATION("warmelt-macro.melt:6814:/ clear"); /*clear*/ /*_.SX__V44*/ meltfptr[31] = 0 ; /*^clear*/ /*clear*/ /*_.SLETB_BINDER__V45*/ meltfptr[29] = 0 ; /*^clear*/ /*clear*/ /*_.SLETB_TYPE__V46*/ meltfptr[35] = 0 ; /*^clear*/ /*clear*/ /*_.LOCA_LOCATION__V47*/ meltfptr[46] = 0 ; /*^clear*/ /*clear*/ /*_.OR___V48*/ meltfptr[47] = 0 ; /*^clear*/ /*clear*/ /*_.LB__V49*/ meltfptr[48] = 0 ; /*^clear*/ /*clear*/ /*_.IFCPP___V51*/ meltfptr[50] = 0 ; /*^clear*/ /*clear*/ /*_.PUT_ENV__V54*/ meltfptr[52] = 0 ; if (/*_#BIX__L8*/ meltfnum[0]<0) break; } /* end foreach_in_multiple meltcit1__EACHTUP */ /*citerepilog*/ MELT_LOCATION("warmelt-macro.melt:6809:/ clear"); /*clear*/ /*_.SLB__V37*/ meltfptr[30] = 0 ; /*^clear*/ /*clear*/ /*_#BIX__L8*/ meltfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_.IFCPP___V40*/ meltfptr[34] = 0 ; /*^clear*/ /*clear*/ /*_.LET___V43*/ meltfptr[32] = 0 ; } /*endciterblock FOREACH_IN_MULTIPLE*/ ; MELT_LOCATION("warmelt-macro.melt:6827:/ quasiblock"); /*^newclosure*/ /*newclosure*/ /*_.LAMBDA___V56*/ meltfptr[31] = (melt_ptr_t) meltgc_new_closure((meltobject_ptr_t)(((melt_ptr_t)(MELT_PREDEF(DISCR_CLOSURE)))), (meltroutine_ptr_t)((/*!konst_15*/ meltfrout->tabval[15])), (3)); ; /*^putclosedv*/ /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V56*/ meltfptr[31])) == MELTOBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 0>= 0 && 0< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V56*/ meltfptr[31]))); ((meltclosure_ptr_t)/*_.LAMBDA___V56*/ meltfptr[31])->tabval[0] = (melt_ptr_t)(/*_.MEXPANDER__V4*/ meltfptr[3]); ; /*^putclosedv*/ /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V56*/ meltfptr[31])) == MELTOBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 1>= 0 && 1< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V56*/ meltfptr[31]))); ((meltclosure_ptr_t)/*_.LAMBDA___V56*/ meltfptr[31])->tabval[1] = (melt_ptr_t)(/*_.NEWENV__V26*/ meltfptr[25]); ; /*^putclosedv*/ /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V56*/ meltfptr[31])) == MELTOBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 2>= 0 && 2< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V56*/ meltfptr[31]))); ((meltclosure_ptr_t)/*_.LAMBDA___V56*/ meltfptr[31])->tabval[2] = (melt_ptr_t)(/*_.MODCTX__V5*/ meltfptr[4]); ; /*_.LAMBDA___V55*/ meltfptr[51] = /*_.LAMBDA___V56*/ meltfptr[31];; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6825:/ apply"); /*apply*/ { union meltparam_un argtab[2]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_aptr = (melt_ptr_t*) &(/*!DISCR_MULTIPLE*/ meltfrout->tabval[7]); /*^apply.arg*/ argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.LAMBDA___V55*/ meltfptr[51]; /*_.PAIRLIST_TO_MULTIPLE__V57*/ meltfptr[29] = melt_apply ((meltclosure_ptr_t)((/*!PAIRLIST_TO_MULTIPLE*/ meltfrout->tabval[6])), (melt_ptr_t)(/*_.RESTPAIR__V24*/ meltfptr[23]), (MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*^compute*/ /*_.BODYTUP__V28*/ meltfptr[27] = /*_.SETQ___V58*/ meltfptr[35] = /*_.PAIRLIST_TO_MULTIPLE__V57*/ meltfptr[29];; MELT_LOCATION("warmelt-macro.melt:6828:/ quasiblock"); MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6829:/ quasiblock"); /*^rawallocobj*/ /*rawallocobj*/ { melt_ptr_t newobj = 0; melt_raw_object_create(newobj,(melt_ptr_t)((/*!CLASS_SOURCE_LET*/ meltfrout->tabval[16])), (4), "CLASS_SOURCE_LET"); /*_.INST__V61*/ meltfptr[48] = newobj; }; ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @LOCA_LOCATION", melt_magic_discr((melt_ptr_t)(/*_.INST__V61*/ meltfptr[48])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V61*/ meltfptr[48]), (1), (/*_.LOC__V21*/ meltfptr[20]), "LOCA_LOCATION"); ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @SLET_BINDINGS", melt_magic_discr((melt_ptr_t)(/*_.INST__V61*/ meltfptr[48])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V61*/ meltfptr[48]), (2), (/*_.BINDTUP__V27*/ meltfptr[26]), "SLET_BINDINGS"); ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @SLET_BODY", melt_magic_discr((melt_ptr_t)(/*_.INST__V61*/ meltfptr[48])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V61*/ meltfptr[48]), (3), (/*_.BODYTUP__V28*/ meltfptr[27]), "SLET_BODY"); ; /*^touchobj*/ melt_dbgtrace_written_object (/*_.INST__V61*/ meltfptr[48], "newly made instance"); ; /*_.LETR__V60*/ meltfptr[47] = /*_.INST__V61*/ meltfptr[48];; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6833:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.LETR__V60*/ meltfptr[47];; { MELT_LOCATION("warmelt-macro.melt:6833:/ locexp"); /*ochecknores compilobj_nrep_return*/ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results(); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG*/ ; } ; /*^finalreturn*/ ; /*finalret*/ goto meltlabend_rout ; /*_.LET___V59*/ meltfptr[46] = /*_.RETURN___V62*/ meltfptr[50];; MELT_LOCATION("warmelt-macro.melt:6828:/ clear"); /*clear*/ /*_.LETR__V60*/ meltfptr[47] = 0 ; /*^clear*/ /*clear*/ /*_.RETURN___V62*/ meltfptr[50] = 0 ; /*_.LET___V19*/ meltfptr[17] = /*_.LET___V59*/ meltfptr[46];; MELT_LOCATION("warmelt-macro.melt:6787:/ clear"); /*clear*/ /*_.CONT__V20*/ meltfptr[16] = 0 ; /*^clear*/ /*clear*/ /*_.LOC__V21*/ meltfptr[20] = 0 ; /*^clear*/ /*clear*/ /*_.LIST_FIRST__V22*/ meltfptr[21] = 0 ; /*^clear*/ /*clear*/ /*_.SECPAIR__V23*/ meltfptr[22] = 0 ; /*^clear*/ /*clear*/ /*_.RESTPAIR__V24*/ meltfptr[23] = 0 ; /*^clear*/ /*clear*/ /*_.BINDEXPR__V25*/ meltfptr[24] = 0 ; /*^clear*/ /*clear*/ /*_.NEWENV__V26*/ meltfptr[25] = 0 ; /*^clear*/ /*clear*/ /*_.BINDTUP__V27*/ meltfptr[26] = 0 ; /*^clear*/ /*clear*/ /*_.BODYTUP__V28*/ meltfptr[27] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V29*/ meltfptr[28] = 0 ; /*^clear*/ /*clear*/ /*_.LAMBDA___V55*/ meltfptr[51] = 0 ; /*^clear*/ /*clear*/ /*_.PAIRLIST_TO_MULTIPLE__V57*/ meltfptr[29] = 0 ; /*^clear*/ /*clear*/ /*_.SETQ___V58*/ meltfptr[35] = 0 ; /*^clear*/ /*clear*/ /*_.LET___V59*/ meltfptr[46] = 0 ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6781:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.LET___V19*/ meltfptr[17];; { MELT_LOCATION("warmelt-macro.melt:6781:/ locexp"); /*ochecknores compilobj_nrep_return*/ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results(); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG*/ ; } ; /*^finalreturn*/ ; /*finalret*/ goto meltlabend_rout ; /*epilog*/ /*^clear*/ /*clear*/ /*_.IFCPP___V8*/ meltfptr[6] = 0 ; /*^clear*/ /*clear*/ /*_.IFCPP___V11*/ meltfptr[9] = 0 ; /*^clear*/ /*clear*/ /*_#NULL__L5*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V14*/ meltfptr[12] = 0 ; /*^clear*/ /*clear*/ /*_.IFCPP___V16*/ meltfptr[5] = 0 ; /*^clear*/ /*clear*/ /*_.LET___V19*/ meltfptr[17] = 0 ; } ; goto meltlabend_rout; meltlabend_rout: melt_trace_end("MEXPAND_LET", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_123_WARMELTmiMACRO_MEXPAND_LET_melt; return (melt_ptr_t)(/*_._RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_123_WARMELTmiMACRO_MEXPAND_LET*/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_124_WARMELTmiMACRO_LAMBDA_cl20(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_) { long current_blocklevel_signals_meltrout_124_WARMELTmiMACRO_LAMBDA_cl20_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long melt_call_counter__; long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__; #undef meltcallcount #define meltcallcount melt_thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1490 /* start of frame for routine meltrout_124_WARMELTmiMACRO_LAMBDA_cl20 fromline 1704 */ /** start of frame for meltrout_124_WARMELTmiMACRO_LAMBDA_cl20 of CLASS_PROCROUTINEOBJ from 1507**/ /*curframdeclclassy*/ class MeltFrame_meltrout_124_WARMELTmiMACRO_LAMBDA_cl20// fromline 1520 : public Melt_CallFrameWithValues<3> { public: /* fromline 1524*/ long mcfr_varnum[1]; /*classy others*/ long _meltsparel; void melt_mark_stuff (void) { } /*end melt_mark_stuff*/ virtual void melt_mark_ggc_data (void) { melt_mark_values (); melt_mark_stuff (); }; /*end melt_mark_ggc_data*/ MeltFrame_meltrout_124_WARMELTmiMACRO_LAMBDA_cl20(meltclosure_ptr_t clos) //the closure constructor fromline 1582 : Melt_CallFrameWithValues<3> ( #if ENABLE_CHECKING /*fromline 1586*/ __FILE__, __LINE__, #endif /* ENABLE_CHECKING fromline 1590*/ sizeof(MeltFrame_meltrout_124_WARMELTmiMACRO_LAMBDA_cl20), clos) {}; MeltFrame_meltrout_124_WARMELTmiMACRO_LAMBDA_cl20() //the constructor fromline 1594 : Melt_CallFrameWithValues<3> ( #if ENABLE_CHECKING /*fromline 1598*/ __FILE__, __LINE__, #endif /* ENABLE_CHECKING fromline 1602*/ sizeof(MeltFrame_meltrout_124_WARMELTmiMACRO_LAMBDA_cl20)) {}; #if ENABLE_CHECKING /*fromline 1606*/ MeltFrame_meltrout_124_WARMELTmiMACRO_LAMBDA_cl20(const char*fil, int lin) //the constructor fromline 1608 : Melt_CallFrameWithValues<3> (fil,lin, sizeof(MeltFrame_meltrout_124_WARMELTmiMACRO_LAMBDA_cl20)) {}; MeltFrame_meltrout_124_WARMELTmiMACRO_LAMBDA_cl20(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1613 : Melt_CallFrameWithValues<3> (fil,lin, sizeof(MeltFrame_meltrout_124_WARMELTmiMACRO_LAMBDA_cl20), clos) {}; #endif /* ENABLE_CHECKING fromline 1618*/ }; // end class MeltFrame_meltrout_124_WARMELTmiMACRO_LAMBDA_cl20 /** end of frame for meltrout_124_WARMELTmiMACRO_LAMBDA_cl20 fromline 1649**/ /* end of frame for routine meltrout_124_WARMELTmiMACRO_LAMBDA_cl20 fromline 1708 */ /* classy proc frame meltrout_124_WARMELTmiMACRO_LAMBDA_cl20 */ MeltFrame_meltrout_124_WARMELTmiMACRO_LAMBDA_cl20 meltfram__ /*declfrastruct fromline 1732*/ /*classyprocarg meltrout_124_WARMELTmiMACRO_LAMBDA_cl20 fromline 1737*/ #if ENABLE_CHECKING (__FILE__, __LINE__, meltclosp_) /* fromline 1741*/ #else /*ENABLE_CHECKING */ (meltclosp_) /* fromline 1745*/ #endif /*ENABLE_CHECKING */ ; #define meltframe meltfram__ melt_trace_start("LAMBDA_cl20", meltcallcount); /*use arguments*/ (void) meltclosp_; (void)meltfirstargp_; (void)meltxargdescr_; (void)meltxargtab_; (void)meltxresdescr_; (void)meltxrestab_; /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-macro.melt:6803:/ getarg"); /*_.B__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; ; goto meltlab_endgetargs; meltlab_endgetargs: ; /*body*/ /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*_#IS_NOT_A__L1*/ meltfnum[0] = !melt_is_instance_of((melt_ptr_t)(/*_.B__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_SEXPR*/ meltfrout->tabval[0])));; MELT_LOCATION("warmelt-macro.melt:6804:/ cond"); /*cond*/ if (/*_#IS_NOT_A__L1*/ meltfnum[0]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { { MELT_LOCATION("warmelt-macro.melt:6805:/ locexp"); /* error_plain */ melt_error_str((melt_ptr_t)((/*~LOC*/ meltfclos->tabval[0])), ( "sexpr expected in LET binding"), (melt_ptr_t)0); } ; /*epilog*/ } ; } /*noelse*/ ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6806:/ apply"); /*apply*/ { union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_aptr = (melt_ptr_t*) &(/*~ENV*/ meltfclos->tabval[1]); /*^apply.arg*/ argtab[1].meltbp_aptr = (melt_ptr_t*) &(/*~MEXPANDER*/ meltfclos->tabval[2]); /*^apply.arg*/ argtab[2].meltbp_aptr = (melt_ptr_t*) &(/*~MODCTX*/ meltfclos->tabval[3]); /*_.MEXPAND_LETBINDING__V3*/ meltfptr[2] = melt_apply ((meltclosure_ptr_t)((/*!MEXPAND_LETBINDING*/ meltfrout->tabval[1])), (melt_ptr_t)(/*_.B__V2*/ meltfptr[1]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6803:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.MEXPAND_LETBINDING__V3*/ meltfptr[2];; { MELT_LOCATION("warmelt-macro.melt:6803:/ locexp"); /*ochecknores compilobj_nrep_return*/ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results(); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG*/ ; } ; /*^finalreturn*/ ; /*finalret*/ goto meltlabend_rout ; /*epilog*/ /*^clear*/ /*clear*/ /*_#IS_NOT_A__L1*/ meltfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_.MEXPAND_LETBINDING__V3*/ meltfptr[2] = 0 ; } ; goto meltlabend_rout; meltlabend_rout: melt_trace_end("LAMBDA_cl20", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_124_WARMELTmiMACRO_LAMBDA_cl20_melt; return (melt_ptr_t)(/*_._RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_124_WARMELTmiMACRO_LAMBDA_cl20*/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_125_WARMELTmiMACRO_LAMBDA_cl21(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_) { long current_blocklevel_signals_meltrout_125_WARMELTmiMACRO_LAMBDA_cl21_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long melt_call_counter__; long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__; #undef meltcallcount #define meltcallcount melt_thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1490 /* start of frame for routine meltrout_125_WARMELTmiMACRO_LAMBDA_cl21 fromline 1704 */ /** start of frame for meltrout_125_WARMELTmiMACRO_LAMBDA_cl21 of CLASS_PROCROUTINEOBJ from 1507**/ /*curframdeclclassy*/ class MeltFrame_meltrout_125_WARMELTmiMACRO_LAMBDA_cl21// fromline 1520 : public Melt_CallFrameWithValues<3> { public: /* fromline 1524*/ // no classy longs /*classy others*/ long _meltsparel; void melt_mark_stuff (void) { } /*end melt_mark_stuff*/ virtual void melt_mark_ggc_data (void) { melt_mark_values (); melt_mark_stuff (); }; /*end melt_mark_ggc_data*/ MeltFrame_meltrout_125_WARMELTmiMACRO_LAMBDA_cl21(meltclosure_ptr_t clos) //the closure constructor fromline 1582 : Melt_CallFrameWithValues<3> ( #if ENABLE_CHECKING /*fromline 1586*/ __FILE__, __LINE__, #endif /* ENABLE_CHECKING fromline 1590*/ sizeof(MeltFrame_meltrout_125_WARMELTmiMACRO_LAMBDA_cl21), clos) {}; MeltFrame_meltrout_125_WARMELTmiMACRO_LAMBDA_cl21() //the constructor fromline 1594 : Melt_CallFrameWithValues<3> ( #if ENABLE_CHECKING /*fromline 1598*/ __FILE__, __LINE__, #endif /* ENABLE_CHECKING fromline 1602*/ sizeof(MeltFrame_meltrout_125_WARMELTmiMACRO_LAMBDA_cl21)) {}; #if ENABLE_CHECKING /*fromline 1606*/ MeltFrame_meltrout_125_WARMELTmiMACRO_LAMBDA_cl21(const char*fil, int lin) //the constructor fromline 1608 : Melt_CallFrameWithValues<3> (fil,lin, sizeof(MeltFrame_meltrout_125_WARMELTmiMACRO_LAMBDA_cl21)) {}; MeltFrame_meltrout_125_WARMELTmiMACRO_LAMBDA_cl21(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1613 : Melt_CallFrameWithValues<3> (fil,lin, sizeof(MeltFrame_meltrout_125_WARMELTmiMACRO_LAMBDA_cl21), clos) {}; #endif /* ENABLE_CHECKING fromline 1618*/ }; // end class MeltFrame_meltrout_125_WARMELTmiMACRO_LAMBDA_cl21 /** end of frame for meltrout_125_WARMELTmiMACRO_LAMBDA_cl21 fromline 1649**/ /* end of frame for routine meltrout_125_WARMELTmiMACRO_LAMBDA_cl21 fromline 1708 */ /* classy proc frame meltrout_125_WARMELTmiMACRO_LAMBDA_cl21 */ MeltFrame_meltrout_125_WARMELTmiMACRO_LAMBDA_cl21 meltfram__ /*declfrastruct fromline 1732*/ /*classyprocarg meltrout_125_WARMELTmiMACRO_LAMBDA_cl21 fromline 1737*/ #if ENABLE_CHECKING (__FILE__, __LINE__, meltclosp_) /* fromline 1741*/ #else /*ENABLE_CHECKING */ (meltclosp_) /* fromline 1745*/ #endif /*ENABLE_CHECKING */ ; #define meltframe meltfram__ melt_trace_start("LAMBDA_cl21", meltcallcount); /*use arguments*/ (void) meltclosp_; (void)meltfirstargp_; (void)meltxargdescr_; (void)meltxargtab_; (void)meltxresdescr_; (void)meltxrestab_; /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-macro.melt:6827:/ getarg"); /*_.E__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; ; goto meltlab_endgetargs; meltlab_endgetargs: ; /*body*/ /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*^apply*/ /*apply*/ { union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_aptr = (melt_ptr_t*) &(/*~NEWENV*/ meltfclos->tabval[1]); /*^apply.arg*/ argtab[1].meltbp_aptr = (melt_ptr_t*) &(/*~MEXPANDER*/ meltfclos->tabval[0]); /*^apply.arg*/ argtab[2].meltbp_aptr = (melt_ptr_t*) &(/*~MODCTX*/ meltfclos->tabval[2]); /*_.MEXPANDER__V3*/ meltfptr[2] = melt_apply ((meltclosure_ptr_t)((/*~MEXPANDER*/ meltfclos->tabval[0])), (melt_ptr_t)(/*_.E__V2*/ meltfptr[1]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*^quasiblock*/ /*_._RETVAL___V1*/ meltfptr[0] = /*_.MEXPANDER__V3*/ meltfptr[2];; { MELT_LOCATION("warmelt-macro.melt:6827:/ locexp"); /*ochecknores compilobj_nrep_return*/ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results(); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG*/ ; } ; /*^finalreturn*/ ; /*finalret*/ goto meltlabend_rout ; /*epilog*/ /*^clear*/ /*clear*/ /*_.MEXPANDER__V3*/ meltfptr[2] = 0 ; } ; goto meltlabend_rout; meltlabend_rout: melt_trace_end("LAMBDA_cl21", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_125_WARMELTmiMACRO_LAMBDA_cl21_melt; return (melt_ptr_t)(/*_._RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_125_WARMELTmiMACRO_LAMBDA_cl21*/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_126_WARMELTmiMACRO_YES_RECURSIVELY_CONSTRUCTIBLE(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_) { long current_blocklevel_signals_meltrout_126_WARMELTmiMACRO_YES_RECURSIVELY_CONSTRUCTIBLE_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long melt_call_counter__; long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__; #undef meltcallcount #define meltcallcount melt_thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1490 /* start of frame for routine meltrout_126_WARMELTmiMACRO_YES_RECURSIVELY_CONSTRUCTIBLE fromline 1704 */ /** start of frame for meltrout_126_WARMELTmiMACRO_YES_RECURSIVELY_CONSTRUCTIBLE of CLASS_PROCROUTINEOBJ from 1507**/ /*curframdeclclassy*/ class MeltFrame_meltrout_126_WARMELTmiMACRO_YES_RECURSIVELY_CONSTRUCTIBLE// fromline 1520 : public Melt_CallFrameWithValues<5> { public: /* fromline 1524*/ long mcfr_varnum[2]; /*classy others*/ long _meltsparel; void melt_mark_stuff (void) { } /*end melt_mark_stuff*/ virtual void melt_mark_ggc_data (void) { melt_mark_values (); melt_mark_stuff (); }; /*end melt_mark_ggc_data*/ MeltFrame_meltrout_126_WARMELTmiMACRO_YES_RECURSIVELY_CONSTRUCTIBLE(meltclosure_ptr_t clos) //the closure constructor fromline 1582 : Melt_CallFrameWithValues<5> ( #if ENABLE_CHECKING /*fromline 1586*/ __FILE__, __LINE__, #endif /* ENABLE_CHECKING fromline 1590*/ sizeof(MeltFrame_meltrout_126_WARMELTmiMACRO_YES_RECURSIVELY_CONSTRUCTIBLE), clos) {}; MeltFrame_meltrout_126_WARMELTmiMACRO_YES_RECURSIVELY_CONSTRUCTIBLE() //the constructor fromline 1594 : Melt_CallFrameWithValues<5> ( #if ENABLE_CHECKING /*fromline 1598*/ __FILE__, __LINE__, #endif /* ENABLE_CHECKING fromline 1602*/ sizeof(MeltFrame_meltrout_126_WARMELTmiMACRO_YES_RECURSIVELY_CONSTRUCTIBLE)) {}; #if ENABLE_CHECKING /*fromline 1606*/ MeltFrame_meltrout_126_WARMELTmiMACRO_YES_RECURSIVELY_CONSTRUCTIBLE(const char*fil, int lin) //the constructor fromline 1608 : Melt_CallFrameWithValues<5> (fil,lin, sizeof(MeltFrame_meltrout_126_WARMELTmiMACRO_YES_RECURSIVELY_CONSTRUCTIBLE)) {}; MeltFrame_meltrout_126_WARMELTmiMACRO_YES_RECURSIVELY_CONSTRUCTIBLE(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1613 : Melt_CallFrameWithValues<5> (fil,lin, sizeof(MeltFrame_meltrout_126_WARMELTmiMACRO_YES_RECURSIVELY_CONSTRUCTIBLE), clos) {}; #endif /* ENABLE_CHECKING fromline 1618*/ }; // end class MeltFrame_meltrout_126_WARMELTmiMACRO_YES_RECURSIVELY_CONSTRUCTIBLE /** end of frame for meltrout_126_WARMELTmiMACRO_YES_RECURSIVELY_CONSTRUCTIBLE fromline 1649**/ /* end of frame for routine meltrout_126_WARMELTmiMACRO_YES_RECURSIVELY_CONSTRUCTIBLE fromline 1708 */ /* classy proc frame meltrout_126_WARMELTmiMACRO_YES_RECURSIVELY_CONSTRUCTIBLE */ MeltFrame_meltrout_126_WARMELTmiMACRO_YES_RECURSIVELY_CONSTRUCTIBLE meltfram__ /*declfrastruct fromline 1732*/ /*classyprocarg meltrout_126_WARMELTmiMACRO_YES_RECURSIVELY_CONSTRUCTIBLE fromline 1737*/ #if ENABLE_CHECKING (__FILE__, __LINE__, meltclosp_) /* fromline 1741*/ #else /*ENABLE_CHECKING */ (meltclosp_) /* fromline 1745*/ #endif /*ENABLE_CHECKING */ ; #define meltframe meltfram__ melt_trace_start("YES_RECURSIVELY_CONSTRUCTIBLE", meltcallcount); /*use arguments*/ (void) meltclosp_; (void)meltfirstargp_; (void)meltxargdescr_; (void)meltxargtab_; (void)meltxresdescr_; (void)meltxrestab_; /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-macro.melt:6852:/ getarg"); /*_.RECV__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; ; goto meltlab_endgetargs; meltlab_endgetargs: ; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6853:/ cppif.then"); /*^block*/ /*anyblock*/ { { /*^locexp*/ /*melt_increment_dbgcounter*/ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL(); ; /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = /*MELT_NEED_DBG*/ #if MELT_HAVE_DEBUG (/*melt_need_dbg*/ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG*/ ;; MELT_LOCATION("warmelt-macro.melt:6853:/ cond"); /*cond*/ if (/*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { /*_#MELT_CALLCOUNT__L2*/ meltfnum[1] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6853:/ apply"); /*apply*/ { union meltparam_un argtab[5]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6853; /*^apply.arg*/ argtab[3].meltbp_cstring = "yes_recursively_constructible recv"; /*^apply.arg*/ argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.RECV__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V4*/ meltfptr[3] = melt_apply ((meltclosure_ptr_t)((/*!MELT_DEBUG_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IF___V3*/ meltfptr[2] = /*_.MELT_DEBUG_FUN__V4*/ meltfptr[3];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6853:/ clear"); /*clear*/ /*_#MELT_CALLCOUNT__L2*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_.MELT_DEBUG_FUN__V4*/ meltfptr[3] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V3*/ meltfptr[2] = /*reallynil*/ NULL ;; } ; { MELT_LOCATION("warmelt-macro.melt:6853:/ locexp"); /*void*/(void)0; } ; /*^quasiblock*/ /*epilog*/ /*^clear*/ /*clear*/ /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V3*/ meltfptr[2] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*^block*/ /*anyblock*/ { { /*^locexp*/ /*void*/(void)0; } ; /*epilog*/ } #endif /*MELT_HAVE_DEBUG*/ ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6854:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.RECV__V2*/ meltfptr[1];; { MELT_LOCATION("warmelt-macro.melt:6854:/ locexp"); /*ochecknores compilobj_nrep_return*/ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results(); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG*/ ; } ; /*^finalreturn*/ ; /*finalret*/ goto meltlabend_rout ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6852:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.RETURN___V5*/ meltfptr[3];; { MELT_LOCATION("warmelt-macro.melt:6852:/ locexp"); /*ochecknores compilobj_nrep_return*/ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results(); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG*/ ; } ; /*^finalreturn*/ ; /*finalret*/ goto meltlabend_rout ; /*epilog*/ /*^clear*/ /*clear*/ /*_.RETURN___V5*/ meltfptr[3] = 0 ; } ; goto meltlabend_rout; meltlabend_rout: melt_trace_end("YES_RECURSIVELY_CONSTRUCTIBLE", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_126_WARMELTmiMACRO_YES_RECURSIVELY_CONSTRUCTIBLE_melt; return (melt_ptr_t)(/*_._RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_126_WARMELTmiMACRO_YES_RECURSIVELY_CONSTRUCTIBLE*/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_127_WARMELTmiMACRO_MEXPAND_LETREC(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_) { long current_blocklevel_signals_meltrout_127_WARMELTmiMACRO_MEXPAND_LETREC_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long melt_call_counter__; long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__; #undef meltcallcount #define meltcallcount melt_thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1490 /* start of frame for routine meltrout_127_WARMELTmiMACRO_MEXPAND_LETREC fromline 1704 */ /** start of frame for meltrout_127_WARMELTmiMACRO_MEXPAND_LETREC of CLASS_PROCROUTINEOBJ from 1507**/ /*curframdeclclassy*/ class MeltFrame_meltrout_127_WARMELTmiMACRO_MEXPAND_LETREC// fromline 1520 : public Melt_CallFrameWithValues<111> { public: /* fromline 1524*/ long mcfr_varnum[37]; /*classy others*/ long _meltsparel; void melt_mark_stuff (void) { } /*end melt_mark_stuff*/ virtual void melt_mark_ggc_data (void) { melt_mark_values (); melt_mark_stuff (); }; /*end melt_mark_ggc_data*/ MeltFrame_meltrout_127_WARMELTmiMACRO_MEXPAND_LETREC(meltclosure_ptr_t clos) //the closure constructor fromline 1582 : Melt_CallFrameWithValues<111> ( #if ENABLE_CHECKING /*fromline 1586*/ __FILE__, __LINE__, #endif /* ENABLE_CHECKING fromline 1590*/ sizeof(MeltFrame_meltrout_127_WARMELTmiMACRO_MEXPAND_LETREC), clos) {}; MeltFrame_meltrout_127_WARMELTmiMACRO_MEXPAND_LETREC() //the constructor fromline 1594 : Melt_CallFrameWithValues<111> ( #if ENABLE_CHECKING /*fromline 1598*/ __FILE__, __LINE__, #endif /* ENABLE_CHECKING fromline 1602*/ sizeof(MeltFrame_meltrout_127_WARMELTmiMACRO_MEXPAND_LETREC)) {}; #if ENABLE_CHECKING /*fromline 1606*/ MeltFrame_meltrout_127_WARMELTmiMACRO_MEXPAND_LETREC(const char*fil, int lin) //the constructor fromline 1608 : Melt_CallFrameWithValues<111> (fil,lin, sizeof(MeltFrame_meltrout_127_WARMELTmiMACRO_MEXPAND_LETREC)) {}; MeltFrame_meltrout_127_WARMELTmiMACRO_MEXPAND_LETREC(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1613 : Melt_CallFrameWithValues<111> (fil,lin, sizeof(MeltFrame_meltrout_127_WARMELTmiMACRO_MEXPAND_LETREC), clos) {}; #endif /* ENABLE_CHECKING fromline 1618*/ }; // end class MeltFrame_meltrout_127_WARMELTmiMACRO_MEXPAND_LETREC /** end of frame for meltrout_127_WARMELTmiMACRO_MEXPAND_LETREC fromline 1649**/ /* end of frame for routine meltrout_127_WARMELTmiMACRO_MEXPAND_LETREC fromline 1708 */ /* classy proc frame meltrout_127_WARMELTmiMACRO_MEXPAND_LETREC */ MeltFrame_meltrout_127_WARMELTmiMACRO_MEXPAND_LETREC meltfram__ /*declfrastruct fromline 1732*/ /*classyprocarg meltrout_127_WARMELTmiMACRO_MEXPAND_LETREC fromline 1737*/ #if ENABLE_CHECKING (__FILE__, __LINE__, meltclosp_) /* fromline 1741*/ #else /*ENABLE_CHECKING */ (meltclosp_) /* fromline 1745*/ #endif /*ENABLE_CHECKING */ ; #define meltframe meltfram__ melt_trace_start("MEXPAND_LETREC", meltcallcount); /*use arguments*/ (void) meltclosp_; (void)meltfirstargp_; (void)meltxargdescr_; (void)meltxargtab_; (void)meltxresdescr_; (void)meltxrestab_; /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-macro.melt:6865:/ getarg"); /*_.SEXPR__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1*/ /*^getarg*/ if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_endgetargs; /*_.ENV__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2])) != NULL); /*getarg#2*/ /*^getarg*/ if (meltxargdescr_[1] != MELTBPAR_PTR) goto meltlab_endgetargs; /*_.MEXPANDER__V4*/ meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.MEXPANDER__V4*/ meltfptr[3])) != NULL); /*getarg#3*/ /*^getarg*/ if (meltxargdescr_[2] != MELTBPAR_PTR) goto meltlab_endgetargs; /*_.MODCTX__V5*/ meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.MODCTX__V5*/ meltfptr[4])) != NULL); ; goto meltlab_endgetargs; meltlab_endgetargs: ; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6866:/ cppif.then"); /*^block*/ /*anyblock*/ { { /*^locexp*/ /*melt_increment_dbgcounter*/ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL(); ; /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = /*MELT_NEED_DBG*/ #if MELT_HAVE_DEBUG (/*melt_need_dbg*/ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG*/ ;; MELT_LOCATION("warmelt-macro.melt:6866:/ cond"); /*cond*/ if (/*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { /*_#MELT_CALLCOUNT__L2*/ meltfnum[1] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6866:/ apply"); /*apply*/ { union meltparam_un argtab[5]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6866; /*^apply.arg*/ argtab[3].meltbp_cstring = "mexpand_letrec sexpr="; /*^apply.arg*/ argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.SEXPR__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V7*/ meltfptr[6] = melt_apply ((meltclosure_ptr_t)((/*!MELT_DEBUG_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IF___V6*/ meltfptr[5] = /*_.MELT_DEBUG_FUN__V7*/ meltfptr[6];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6866:/ clear"); /*clear*/ /*_#MELT_CALLCOUNT__L2*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_.MELT_DEBUG_FUN__V7*/ meltfptr[6] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V6*/ meltfptr[5] = /*reallynil*/ NULL ;; } ; { MELT_LOCATION("warmelt-macro.melt:6866:/ locexp"); /*void*/(void)0; } ; /*^quasiblock*/ /*epilog*/ /*^clear*/ /*clear*/ /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V6*/ meltfptr[5] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*^block*/ /*anyblock*/ { { /*^locexp*/ /*void*/(void)0; } ; /*epilog*/ } #endif /*MELT_HAVE_DEBUG*/ ; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6867:/ cppif.then"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*_#IS_A__L3*/ meltfnum[1] = melt_is_instance_of((melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_SEXPR*/ meltfrout->tabval[1])));; MELT_LOCATION("warmelt-macro.melt:6867:/ cond"); /*cond*/ if (/*_#IS_A__L3*/ meltfnum[1]) /*then*/ { /*^cond.then*/ /*_._IFELSE___V9*/ meltfptr[5] = (/*nil*/NULL);; } else { MELT_LOCATION("warmelt-macro.melt:6867:/ cond.else"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*^apply*/ /*apply*/ { union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_cstring = "check sexpr"; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6867; /*^apply.arg*/ argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.SEXPR__V2*/ meltfptr[1]; /*_.MELT_ASSERT_FAILURE_FUN__V10*/ meltfptr[9] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[2])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IFELSE___V9*/ meltfptr[5] = /*_.MELT_ASSERT_FAILURE_FUN__V10*/ meltfptr[9];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6867:/ clear"); /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V10*/ meltfptr[9] = 0 ; } ; } ; /*_.IFCPP___V8*/ meltfptr[6] = /*_._IFELSE___V9*/ meltfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6867:/ clear"); /*clear*/ /*_#IS_A__L3*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_._IFELSE___V9*/ meltfptr[5] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*_.IFCPP___V8*/ meltfptr[6] = (/*nil*/NULL); #endif /*MELT_HAVE_DEBUG*/ ; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6868:/ cppif.then"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*_#IS_A__L4*/ meltfnum[0] = melt_is_instance_of((melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2]), (melt_ptr_t)((/*!CLASS_ENVIRONMENT*/ meltfrout->tabval[3])));; MELT_LOCATION("warmelt-macro.melt:6868:/ cond"); /*cond*/ if (/*_#IS_A__L4*/ meltfnum[0]) /*then*/ { /*^cond.then*/ /*_._IFELSE___V12*/ meltfptr[5] = (/*nil*/NULL);; } else { MELT_LOCATION("warmelt-macro.melt:6868:/ cond.else"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*^apply*/ /*apply*/ { union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_cstring = "check env"; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6868; /*^apply.arg*/ argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.ENV__V3*/ meltfptr[2]; /*_.MELT_ASSERT_FAILURE_FUN__V13*/ meltfptr[12] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[2])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IFELSE___V12*/ meltfptr[5] = /*_.MELT_ASSERT_FAILURE_FUN__V13*/ meltfptr[12];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6868:/ clear"); /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V13*/ meltfptr[12] = 0 ; } ; } ; /*_.IFCPP___V11*/ meltfptr[9] = /*_._IFELSE___V12*/ meltfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6868:/ clear"); /*clear*/ /*_#IS_A__L4*/ meltfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_._IFELSE___V12*/ meltfptr[5] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*_.IFCPP___V11*/ meltfptr[9] = (/*nil*/NULL); #endif /*MELT_HAVE_DEBUG*/ ; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6869:/ cppif.then"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*_#IS_CLOSURE__L5*/ meltfnum[1] = (melt_magic_discr((melt_ptr_t)(/*_.MEXPANDER__V4*/ meltfptr[3])) == MELTOBMAG_CLOSURE);; MELT_LOCATION("warmelt-macro.melt:6869:/ cond"); /*cond*/ if (/*_#IS_CLOSURE__L5*/ meltfnum[1]) /*then*/ { /*^cond.then*/ /*_._IFELSE___V15*/ meltfptr[5] = (/*nil*/NULL);; } else { MELT_LOCATION("warmelt-macro.melt:6869:/ cond.else"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*^apply*/ /*apply*/ { union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_cstring = "check mexpander"; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6869; /*^apply.arg*/ argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.MEXPANDER__V4*/ meltfptr[3]; /*_.MELT_ASSERT_FAILURE_FUN__V16*/ meltfptr[15] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[2])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IFELSE___V15*/ meltfptr[5] = /*_.MELT_ASSERT_FAILURE_FUN__V16*/ meltfptr[15];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6869:/ clear"); /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V16*/ meltfptr[15] = 0 ; } ; } ; /*_.IFCPP___V14*/ meltfptr[12] = /*_._IFELSE___V15*/ meltfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6869:/ clear"); /*clear*/ /*_#IS_CLOSURE__L5*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_._IFELSE___V15*/ meltfptr[5] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*_.IFCPP___V14*/ meltfptr[12] = (/*nil*/NULL); #endif /*MELT_HAVE_DEBUG*/ ; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6870:/ cppif.then"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*_#IS_OBJECT__L6*/ meltfnum[0] = (melt_magic_discr((melt_ptr_t)(/*_.MODCTX__V5*/ meltfptr[4])) == MELTOBMAG_OBJECT);; MELT_LOCATION("warmelt-macro.melt:6870:/ cond"); /*cond*/ if (/*_#IS_OBJECT__L6*/ meltfnum[0]) /*then*/ { /*^cond.then*/ /*_._IFELSE___V18*/ meltfptr[5] = (/*nil*/NULL);; } else { MELT_LOCATION("warmelt-macro.melt:6870:/ cond.else"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*^apply*/ /*apply*/ { union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_cstring = "check modctx"; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6870; /*^apply.arg*/ argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.MODCTX__V5*/ meltfptr[4]; /*_.MELT_ASSERT_FAILURE_FUN__V19*/ meltfptr[18] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[2])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IFELSE___V18*/ meltfptr[5] = /*_.MELT_ASSERT_FAILURE_FUN__V19*/ meltfptr[18];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6870:/ clear"); /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V19*/ meltfptr[18] = 0 ; } ; } ; /*_.IFCPP___V17*/ meltfptr[15] = /*_._IFELSE___V18*/ meltfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6870:/ clear"); /*clear*/ /*_#IS_OBJECT__L6*/ meltfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_._IFELSE___V18*/ meltfptr[5] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*_.IFCPP___V17*/ meltfptr[15] = (/*nil*/NULL); #endif /*MELT_HAVE_DEBUG*/ ; MELT_LOCATION("warmelt-macro.melt:6871:/ quasiblock"); MELT_LOCATION("warmelt-macro.melt:6872:/ getslot"); { melt_ptr_t slot=NULL, obj=NULL; obj = (melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/; melt_object_get_field(slot,obj, 2, "SEXP_CONTENTS"); /*_.CONT__V21*/ meltfptr[5] = slot; }; ; MELT_LOCATION("warmelt-macro.melt:6873:/ getslot"); { melt_ptr_t slot=NULL, obj=NULL; obj = (melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/; melt_object_get_field(slot,obj, 1, "LOCA_LOCATION"); /*_.LOC__V22*/ meltfptr[21] = slot; }; ; /*_.LIST_FIRST__V23*/ meltfptr[22] = (melt_list_first((melt_ptr_t)(/*_.CONT__V21*/ meltfptr[5])));; /*^compute*/ /*_.SECPAIR__V24*/ meltfptr[23] = (melt_pair_tail((melt_ptr_t)(/*_.LIST_FIRST__V23*/ meltfptr[22])));; /*^compute*/ /*_.RESTPAIR__V25*/ meltfptr[24] = (melt_pair_tail((melt_ptr_t)(/*_.SECPAIR__V24*/ meltfptr[23])));; /*^compute*/ /*_.BINDEXPR__V26*/ meltfptr[25] = (melt_pair_head((melt_ptr_t)(/*_.SECPAIR__V24*/ meltfptr[23])));; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6877:/ apply"); /*apply*/ { /*_.NEWENV__V27*/ meltfptr[26] = melt_apply ((meltclosure_ptr_t)((/*!FRESH_ENV*/ meltfrout->tabval[4])), (melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2]), (""), (union meltparam_un*)0, "", (union meltparam_un*)0); } ; /*_#NBIND__L7*/ meltfnum[1] = 0;; /*^compute*/ /*_.BINDTUP__V28*/ meltfptr[27] = (/*nil*/NULL);; /*^compute*/ /*_.SRCBINDTUP__V29*/ meltfptr[28] = (/*nil*/NULL);; /*^compute*/ /*_.VARTUP__V30*/ meltfptr[29] = (/*nil*/NULL);; /*^compute*/ /*_.EXPRTUP__V31*/ meltfptr[30] = (/*nil*/NULL);; /*^compute*/ /*_.BODYTUP__V32*/ meltfptr[31] = (/*nil*/NULL);; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6886:/ cond"); /*cond*/ if (/*_.BINDEXPR__V26*/ meltfptr[25]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*_#IS_A__L8*/ meltfnum[0] = melt_is_instance_of((melt_ptr_t)(/*_.BINDEXPR__V26*/ meltfptr[25]), (melt_ptr_t)((/*!CLASS_SEXPR*/ meltfrout->tabval[1])));; MELT_LOCATION("warmelt-macro.melt:6887:/ cond"); /*cond*/ if (/*_#IS_A__L8*/ meltfnum[0]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { MELT_LOCATION("warmelt-macro.melt:6888:/ quasiblock"); MELT_LOCATION("warmelt-macro.melt:6890:/ getslot"); { melt_ptr_t slot=NULL, obj=NULL; obj = (melt_ptr_t)(/*_.BINDEXPR__V26*/ meltfptr[25]) /*=obj*/; melt_object_get_field(slot,obj, 2, "SEXP_CONTENTS"); /*_.SEXP_CONTENTS__V33*/ meltfptr[32] = slot; }; ; /*_.LIST_FIRST__V34*/ meltfptr[33] = (melt_list_first((melt_ptr_t)(/*_.SEXP_CONTENTS__V33*/ meltfptr[32])));; MELT_LOCATION("warmelt-macro.melt:6892:/ quasiblock"); /*^newclosure*/ /*newclosure*/ /*_.LAMBDA___V36*/ meltfptr[35] = (melt_ptr_t) meltgc_new_closure((meltobject_ptr_t)(((melt_ptr_t)(MELT_PREDEF(DISCR_CLOSURE)))), (meltroutine_ptr_t)((/*!konst_8*/ meltfrout->tabval[8])), (1)); ; /*^putclosedv*/ /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V36*/ meltfptr[35])) == MELTOBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 0>= 0 && 0< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V36*/ meltfptr[35]))); ((meltclosure_ptr_t)/*_.LAMBDA___V36*/ meltfptr[35])->tabval[0] = (melt_ptr_t)(/*_.LOC__V22*/ meltfptr[21]); ; /*_.LAMBDA___V35*/ meltfptr[34] = /*_.LAMBDA___V36*/ meltfptr[35];; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6889:/ apply"); /*apply*/ { union meltparam_un argtab[2]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_aptr = (melt_ptr_t*) &(/*!DISCR_MULTIPLE*/ meltfrout->tabval[6]); /*^apply.arg*/ argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.LAMBDA___V35*/ meltfptr[34]; /*_.RECBINDTUP__V37*/ meltfptr[36] = melt_apply ((meltclosure_ptr_t)((/*!PAIRLIST_TO_MULTIPLE*/ meltfrout->tabval[5])), (melt_ptr_t)(/*_.LIST_FIRST__V34*/ meltfptr[33]), (MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_#NBRECBIND__L9*/ meltfnum[8] = (melt_multiple_length((melt_ptr_t)(/*_.RECBINDTUP__V37*/ meltfptr[36])));; /*^compute*/ /*_.RECSEXPRTUP__V38*/ meltfptr[37] = (meltgc_new_multiple((meltobject_ptr_t)((/*!DISCR_MULTIPLE*/ meltfrout->tabval[6])), (/*_#NBRECBIND__L9*/ meltfnum[8])));; MELT_LOCATION("warmelt-macro.melt:6899:/ compute"); /*_#NBIND__L7*/ meltfnum[1] = /*_#SETQ___L10*/ meltfnum[9] = /*_#NBRECBIND__L9*/ meltfnum[8];; /*_.MAKE_MULTIPLE__V39*/ meltfptr[38] = (meltgc_new_multiple((meltobject_ptr_t)((/*!DISCR_MULTIPLE*/ meltfrout->tabval[6])), (/*_#NBIND__L7*/ meltfnum[1])));; MELT_LOCATION("warmelt-macro.melt:6900:/ compute"); /*_.BINDTUP__V28*/ meltfptr[27] = /*_.SETQ___V40*/ meltfptr[39] = /*_.MAKE_MULTIPLE__V39*/ meltfptr[38];; /*_.MAKE_MULTIPLE__V41*/ meltfptr[40] = (meltgc_new_multiple((meltobject_ptr_t)((/*!DISCR_MULTIPLE*/ meltfrout->tabval[6])), (/*_#NBIND__L7*/ meltfnum[1])));; MELT_LOCATION("warmelt-macro.melt:6901:/ compute"); /*_.SRCBINDTUP__V29*/ meltfptr[28] = /*_.SETQ___V42*/ meltfptr[41] = /*_.MAKE_MULTIPLE__V41*/ meltfptr[40];; /*_.MAKE_MULTIPLE__V43*/ meltfptr[42] = (meltgc_new_multiple((meltobject_ptr_t)((/*!DISCR_MULTIPLE*/ meltfrout->tabval[6])), (/*_#NBIND__L7*/ meltfnum[1])));; MELT_LOCATION("warmelt-macro.melt:6902:/ compute"); /*_.VARTUP__V30*/ meltfptr[29] = /*_.SETQ___V44*/ meltfptr[43] = /*_.MAKE_MULTIPLE__V43*/ meltfptr[42];; /*_.MAKE_MULTIPLE__V45*/ meltfptr[44] = (meltgc_new_multiple((meltobject_ptr_t)((/*!DISCR_MULTIPLE*/ meltfrout->tabval[6])), (/*_#NBIND__L7*/ meltfnum[1])));; MELT_LOCATION("warmelt-macro.melt:6903:/ compute"); /*_.EXPRTUP__V31*/ meltfptr[30] = /*_.SETQ___V46*/ meltfptr[45] = /*_.MAKE_MULTIPLE__V45*/ meltfptr[44];; /*citerblock FOREACH_IN_MULTIPLE*/ { /* start foreach_in_multiple meltcit1__EACHTUP */ long meltcit1__EACHTUP_ln = melt_multiple_length((melt_ptr_t)/*_.RECBINDTUP__V37*/ meltfptr[36]); for (/*_#BINDIX__L11*/ meltfnum[10] = 0; (/*_#BINDIX__L11*/ meltfnum[10] >= 0) && (/*_#BINDIX__L11*/ meltfnum[10] < meltcit1__EACHTUP_ln); /*_#BINDIX__L11*/ meltfnum[10]++) { /*_.CURBINDEXPR__V47*/ meltfptr[46] = melt_multiple_nth((melt_ptr_t)(/*_.RECBINDTUP__V37*/ meltfptr[36]), /*_#BINDIX__L11*/ meltfnum[10]); #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6908:/ cppif.then"); /*^block*/ /*anyblock*/ { { /*^locexp*/ /*melt_increment_dbgcounter*/ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL(); ; /*_#MELT_NEED_DBG__L12*/ meltfnum[11] = /*MELT_NEED_DBG*/ #if MELT_HAVE_DEBUG (/*melt_need_dbg*/ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG*/ ;; MELT_LOCATION("warmelt-macro.melt:6908:/ cond"); /*cond*/ if (/*_#MELT_NEED_DBG__L12*/ meltfnum[11]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { /*_#MELT_CALLCOUNT__L13*/ meltfnum[12] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6908:/ apply"); /*apply*/ { union meltparam_un argtab[5]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L13*/ meltfnum[12]; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6908; /*^apply.arg*/ argtab[3].meltbp_cstring = "mexpand_letrec firstloop curbindexpr"; /*^apply.arg*/ argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.CURBINDEXPR__V47*/ meltfptr[46]; /*_.MELT_DEBUG_FUN__V49*/ meltfptr[48] = melt_apply ((meltclosure_ptr_t)((/*!MELT_DEBUG_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IF___V48*/ meltfptr[47] = /*_.MELT_DEBUG_FUN__V49*/ meltfptr[48];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6908:/ clear"); /*clear*/ /*_#MELT_CALLCOUNT__L13*/ meltfnum[12] = 0 ; /*^clear*/ /*clear*/ /*_.MELT_DEBUG_FUN__V49*/ meltfptr[48] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V48*/ meltfptr[47] = /*reallynil*/ NULL ;; } ; { MELT_LOCATION("warmelt-macro.melt:6908:/ locexp"); /*void*/(void)0; } ; /*^quasiblock*/ /*epilog*/ /*^clear*/ /*clear*/ /*_#MELT_NEED_DBG__L12*/ meltfnum[11] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V48*/ meltfptr[47] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*^block*/ /*anyblock*/ { { /*^locexp*/ /*void*/(void)0; } ; /*epilog*/ } #endif /*MELT_HAVE_DEBUG*/ ; MELT_CHECK_SIGNAL(); ; /*_#IS_NOT_A__L14*/ meltfnum[12] = !melt_is_instance_of((melt_ptr_t)(/*_.CURBINDEXPR__V47*/ meltfptr[46]), (melt_ptr_t)((/*!CLASS_SEXPR*/ meltfrout->tabval[1])));; MELT_LOCATION("warmelt-macro.melt:6909:/ cond"); /*cond*/ if (/*_#IS_NOT_A__L14*/ meltfnum[12]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { MELT_LOCATION("warmelt-macro.melt:6911:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*reallynil*/ NULL ;; { MELT_LOCATION("warmelt-macro.melt:6911:/ locexp"); /*ochecknores compilobj_nrep_return*/ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results(); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG*/ ; } ; /*^finalreturn*/ ; /*finalret*/ goto meltlabend_rout ; /*_._IF___V50*/ meltfptr[48] = /*_.RETURN___V51*/ meltfptr[47];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6909:/ clear"); /*clear*/ /*_.RETURN___V51*/ meltfptr[47] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V50*/ meltfptr[48] = /*reallynil*/ NULL ;; } ; MELT_LOCATION("warmelt-macro.melt:6912:/ quasiblock"); /*^cond*/ /*cond*/ if ( /*ifisa*/ melt_is_instance_of((melt_ptr_t)(/*_.CURBINDEXPR__V47*/ meltfptr[46]), (melt_ptr_t)((/*!CLASS_SEXPR*/ meltfrout->tabval[1]))) ) /*then*/ { /*^cond.then*/ /*^getslot*/ { melt_ptr_t slot=NULL, obj=NULL; obj = (melt_ptr_t)(/*_.CURBINDEXPR__V47*/ meltfptr[46]) /*=obj*/; melt_object_get_field(slot,obj, 2, "SEXP_CONTENTS"); /*_.CURCONT__V52*/ meltfptr[47] = slot; }; ; } else /*^cond.else*/ { /*_.CURCONT__V52*/ meltfptr[47] = /*reallynil*/ NULL ;; } ; MELT_LOCATION("warmelt-macro.melt:6913:/ cond"); /*cond*/ if ( /*ifisa*/ melt_is_instance_of((melt_ptr_t)(/*_.CURBINDEXPR__V47*/ meltfptr[46]), (melt_ptr_t)((/*!CLASS_LOCATED*/ meltfrout->tabval[9]))) ) /*then*/ { /*^cond.then*/ /*^getslot*/ { melt_ptr_t slot=NULL, obj=NULL; obj = (melt_ptr_t)(/*_.CURBINDEXPR__V47*/ meltfptr[46]) /*=obj*/; melt_object_get_field(slot,obj, 1, "LOCA_LOCATION"); /*_.CURLOC__V53*/ meltfptr[52] = slot; }; ; } else /*^cond.else*/ { /*_.CURLOC__V53*/ meltfptr[52] = /*reallynil*/ NULL ;; } ; /*^compute*/ /*_.CURPAIR__V54*/ meltfptr[53] = (melt_list_first((melt_ptr_t)(/*_.CURCONT__V52*/ meltfptr[47])));; /*^compute*/ /*_.CURCOMP__V55*/ meltfptr[54] = (melt_pair_head((melt_ptr_t)(/*_.CURPAIR__V54*/ meltfptr[53])));; /*^compute*/ /*_.CURSYMB__V56*/ meltfptr[55] = (/*nil*/NULL);; /*^compute*/ /*_.CURSEXPR__V57*/ meltfptr[56] = (/*nil*/NULL);; MELT_CHECK_SIGNAL(); ; /*^compute*/ /*_#IS_A__L15*/ meltfnum[11] = melt_is_instance_of((melt_ptr_t)(/*_.CURCOMP__V55*/ meltfptr[54]), (melt_ptr_t)((/*!CLASS_KEYWORD*/ meltfrout->tabval[10])));; MELT_LOCATION("warmelt-macro.melt:6919:/ cond"); /*cond*/ if (/*_#IS_A__L15*/ meltfnum[11]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { { MELT_LOCATION("warmelt-macro.melt:6920:/ locexp"); /* error_plain */ melt_error_str((melt_ptr_t)(/*_.CURLOC__V53*/ meltfptr[52]), ( "keyword invalid in LETREC binding"), (melt_ptr_t)0); } ; /*clear*/ /*_._IFELSE___V58*/ meltfptr[57] = 0 ; /*epilog*/ } ; } else { MELT_LOCATION("warmelt-macro.melt:6919:/ cond.else"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*_#IS_A__L16*/ meltfnum[15] = melt_is_instance_of((melt_ptr_t)(/*_.CURCOMP__V55*/ meltfptr[54]), (melt_ptr_t)((/*!CLASS_SYMBOL*/ meltfrout->tabval[11])));; MELT_LOCATION("warmelt-macro.melt:6922:/ cond"); /*cond*/ if (/*_#IS_A__L16*/ meltfnum[15]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { MELT_LOCATION("warmelt-macro.melt:6923:/ compute"); /*_.CURSYMB__V56*/ meltfptr[55] = /*_.SETQ___V60*/ meltfptr[59] = /*_.CURCOMP__V55*/ meltfptr[54];; /*_._IFELSE___V59*/ meltfptr[58] = /*_.SETQ___V60*/ meltfptr[59];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6922:/ clear"); /*clear*/ /*_.SETQ___V60*/ meltfptr[59] = 0 ; } ; } else /*^cond.else*/ { /*^block*/ /*anyblock*/ { { MELT_LOCATION("warmelt-macro.melt:6926:/ locexp"); /* error_plain */ melt_error_str((melt_ptr_t)(/*_.CURLOC__V53*/ meltfptr[52]), ( "invalid LETREC binding - expecting ( )"), (melt_ptr_t)0); } ; MELT_LOCATION("warmelt-macro.melt:6925:/ quasiblock"); /*epilog*/ } ; } ; /*_._IFELSE___V58*/ meltfptr[57] = /*_._IFELSE___V59*/ meltfptr[58];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6919:/ clear"); /*clear*/ /*_#IS_A__L16*/ meltfnum[15] = 0 ; /*^clear*/ /*clear*/ /*_._IFELSE___V59*/ meltfptr[58] = 0 ; } ; } ; /*_.PAIR_TAIL__V61*/ meltfptr[59] = (melt_pair_tail((melt_ptr_t)(/*_.CURPAIR__V54*/ meltfptr[53])));; MELT_LOCATION("warmelt-macro.melt:6928:/ compute"); /*_.CURPAIR__V54*/ meltfptr[53] = /*_.SETQ___V62*/ meltfptr[58] = /*_.PAIR_TAIL__V61*/ meltfptr[59];; /*_.PAIR_HEAD__V63*/ meltfptr[62] = (melt_pair_head((melt_ptr_t)(/*_.CURPAIR__V54*/ meltfptr[53])));; MELT_LOCATION("warmelt-macro.melt:6929:/ compute"); /*_.CURCOMP__V55*/ meltfptr[54] = /*_.SETQ___V64*/ meltfptr[63] = /*_.PAIR_HEAD__V63*/ meltfptr[62];; MELT_CHECK_SIGNAL(); ; /*_#IS_A__L17*/ meltfnum[15] = melt_is_instance_of((melt_ptr_t)(/*_.CURCOMP__V55*/ meltfptr[54]), (melt_ptr_t)((/*!CLASS_SEXPR*/ meltfrout->tabval[1])));; MELT_LOCATION("warmelt-macro.melt:6930:/ cond"); /*cond*/ if (/*_#IS_A__L17*/ meltfnum[15]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*_#IS_A__L18*/ meltfnum[17] = melt_is_instance_of((melt_ptr_t)(/*_.CURSYMB__V56*/ meltfptr[55]), (melt_ptr_t)((/*!CLASS_SYMBOL*/ meltfrout->tabval[11])));; MELT_LOCATION("warmelt-macro.melt:6931:/ cond"); /*cond*/ if (/*_#IS_A__L18*/ meltfnum[17]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { MELT_LOCATION("warmelt-macro.melt:6933:/ compute"); /*_.CURSEXPR__V57*/ meltfptr[56] = /*_.SETQ___V65*/ meltfptr[64] = /*_.CURCOMP__V55*/ meltfptr[54];; { MELT_LOCATION("warmelt-macro.melt:6934:/ locexp"); meltgc_multiple_put_nth((melt_ptr_t)(/*_.RECSEXPRTUP__V38*/ meltfptr[37]), (/*_#BINDIX__L11*/ meltfnum[10]), (melt_ptr_t)(/*_.CURSEXPR__V57*/ meltfptr[56])); } ; { MELT_LOCATION("warmelt-macro.melt:6935:/ locexp"); meltgc_multiple_put_nth((melt_ptr_t)(/*_.VARTUP__V30*/ meltfptr[29]), (/*_#BINDIX__L11*/ meltfnum[10]), (melt_ptr_t)(/*_.CURSYMB__V56*/ meltfptr[55])); } ; MELT_LOCATION("warmelt-macro.melt:6932:/ quasiblock"); /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6931:/ clear"); /*clear*/ /*_.SETQ___V65*/ meltfptr[64] = 0 ; } ; } /*noelse*/ ; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6930:/ clear"); /*clear*/ /*_#IS_A__L18*/ meltfnum[17] = 0 ; } ; } else /*^cond.else*/ { /*^block*/ /*anyblock*/ { { MELT_LOCATION("warmelt-macro.melt:6937:/ locexp"); /* error_plain */ melt_error_str((melt_ptr_t)(/*_.CURLOC__V53*/ meltfptr[52]), ( "invalid LETREC binding - missing constructive expression"), (melt_ptr_t)0); } ; /*epilog*/ } ; } ; MELT_CHECK_SIGNAL(); ; /*_.PAIR_TAIL__V66*/ meltfptr[64] = (melt_pair_tail((melt_ptr_t)(/*_.CURPAIR__V54*/ meltfptr[53])));; MELT_LOCATION("warmelt-macro.melt:6938:/ cond"); /*cond*/ if (/*_.PAIR_TAIL__V66*/ meltfptr[64]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { { MELT_LOCATION("warmelt-macro.melt:6939:/ locexp"); /* error_plain */ melt_error_str((melt_ptr_t)(/*_.CURLOC__V53*/ meltfptr[52]), ( "invalid LETREC binding - more than two components"), (melt_ptr_t)0); } ; /*epilog*/ } ; } /*noelse*/ ; MELT_LOCATION("warmelt-macro.melt:6912:/ clear"); /*clear*/ /*_.CURCONT__V52*/ meltfptr[47] = 0 ; /*^clear*/ /*clear*/ /*_.CURLOC__V53*/ meltfptr[52] = 0 ; /*^clear*/ /*clear*/ /*_.CURPAIR__V54*/ meltfptr[53] = 0 ; /*^clear*/ /*clear*/ /*_.CURCOMP__V55*/ meltfptr[54] = 0 ; /*^clear*/ /*clear*/ /*_.CURSYMB__V56*/ meltfptr[55] = 0 ; /*^clear*/ /*clear*/ /*_.CURSEXPR__V57*/ meltfptr[56] = 0 ; /*^clear*/ /*clear*/ /*_#IS_A__L15*/ meltfnum[11] = 0 ; /*^clear*/ /*clear*/ /*_._IFELSE___V58*/ meltfptr[57] = 0 ; /*^clear*/ /*clear*/ /*_.PAIR_TAIL__V61*/ meltfptr[59] = 0 ; /*^clear*/ /*clear*/ /*_.SETQ___V62*/ meltfptr[58] = 0 ; /*^clear*/ /*clear*/ /*_.PAIR_HEAD__V63*/ meltfptr[62] = 0 ; /*^clear*/ /*clear*/ /*_.SETQ___V64*/ meltfptr[63] = 0 ; /*^clear*/ /*clear*/ /*_#IS_A__L17*/ meltfnum[15] = 0 ; /*^clear*/ /*clear*/ /*_.PAIR_TAIL__V66*/ meltfptr[64] = 0 ; if (/*_#BINDIX__L11*/ meltfnum[10]<0) break; } /* end foreach_in_multiple meltcit1__EACHTUP */ /*citerepilog*/ MELT_LOCATION("warmelt-macro.melt:6905:/ clear"); /*clear*/ /*_.CURBINDEXPR__V47*/ meltfptr[46] = 0 ; /*^clear*/ /*clear*/ /*_#BINDIX__L11*/ meltfnum[10] = 0 ; /*^clear*/ /*clear*/ /*_#IS_NOT_A__L14*/ meltfnum[12] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V50*/ meltfptr[48] = 0 ; } /*endciterblock FOREACH_IN_MULTIPLE*/ ; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6941:/ cppif.then"); /*^block*/ /*anyblock*/ { { /*^locexp*/ /*melt_increment_dbgcounter*/ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL(); ; /*_#MELT_NEED_DBG__L19*/ meltfnum[17] = /*MELT_NEED_DBG*/ #if MELT_HAVE_DEBUG (/*melt_need_dbg*/ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG*/ ;; MELT_LOCATION("warmelt-macro.melt:6941:/ cond"); /*cond*/ if (/*_#MELT_NEED_DBG__L19*/ meltfnum[17]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { /*_#MELT_CALLCOUNT__L20*/ meltfnum[11] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6941:/ apply"); /*apply*/ { union meltparam_un argtab[5]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L20*/ meltfnum[11]; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6941; /*^apply.arg*/ argtab[3].meltbp_cstring = "mexpand_letrec recsexprtup after firstloop"; /*^apply.arg*/ argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.RECSEXPRTUP__V38*/ meltfptr[37]; /*_.MELT_DEBUG_FUN__V68*/ meltfptr[52] = melt_apply ((meltclosure_ptr_t)((/*!MELT_DEBUG_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IF___V67*/ meltfptr[47] = /*_.MELT_DEBUG_FUN__V68*/ meltfptr[52];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6941:/ clear"); /*clear*/ /*_#MELT_CALLCOUNT__L20*/ meltfnum[11] = 0 ; /*^clear*/ /*clear*/ /*_.MELT_DEBUG_FUN__V68*/ meltfptr[52] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V67*/ meltfptr[47] = /*reallynil*/ NULL ;; } ; { MELT_LOCATION("warmelt-macro.melt:6941:/ locexp"); /*void*/(void)0; } ; /*^quasiblock*/ /*epilog*/ /*^clear*/ /*clear*/ /*_#MELT_NEED_DBG__L19*/ meltfnum[17] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V67*/ meltfptr[47] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*^block*/ /*anyblock*/ { { /*^locexp*/ /*void*/(void)0; } ; /*epilog*/ } #endif /*MELT_HAVE_DEBUG*/ ; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6942:/ cppif.then"); /*^block*/ /*anyblock*/ { { /*^locexp*/ /*melt_increment_dbgcounter*/ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL(); ; /*_#MELT_NEED_DBG__L21*/ meltfnum[15] = /*MELT_NEED_DBG*/ #if MELT_HAVE_DEBUG (/*melt_need_dbg*/ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG*/ ;; MELT_LOCATION("warmelt-macro.melt:6942:/ cond"); /*cond*/ if (/*_#MELT_NEED_DBG__L21*/ meltfnum[15]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { /*_#MELT_CALLCOUNT__L22*/ meltfnum[11] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6942:/ apply"); /*apply*/ { union meltparam_un argtab[5]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L22*/ meltfnum[11]; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6942; /*^apply.arg*/ argtab[3].meltbp_cstring = "mexpand_letrec vartup after firstloop"; /*^apply.arg*/ argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.VARTUP__V30*/ meltfptr[29]; /*_.MELT_DEBUG_FUN__V70*/ meltfptr[54] = melt_apply ((meltclosure_ptr_t)((/*!MELT_DEBUG_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IF___V69*/ meltfptr[53] = /*_.MELT_DEBUG_FUN__V70*/ meltfptr[54];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6942:/ clear"); /*clear*/ /*_#MELT_CALLCOUNT__L22*/ meltfnum[11] = 0 ; /*^clear*/ /*clear*/ /*_.MELT_DEBUG_FUN__V70*/ meltfptr[54] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V69*/ meltfptr[53] = /*reallynil*/ NULL ;; } ; { MELT_LOCATION("warmelt-macro.melt:6942:/ locexp"); /*void*/(void)0; } ; /*^quasiblock*/ /*epilog*/ /*^clear*/ /*clear*/ /*_#MELT_NEED_DBG__L21*/ meltfnum[15] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V69*/ meltfptr[53] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*^block*/ /*anyblock*/ { { /*^locexp*/ /*void*/(void)0; } ; /*epilog*/ } #endif /*MELT_HAVE_DEBUG*/ ; MELT_LOCATION("warmelt-macro.melt:6945:/ quasiblock"); /*^cond*/ /*cond*/ if ( /*ifisa*/ melt_is_instance_of((melt_ptr_t)(/*_.NEWENV__V27*/ meltfptr[26]), (melt_ptr_t)((/*!CLASS_ENVIRONMENT*/ meltfrout->tabval[3]))) ) /*then*/ { /*^cond.then*/ /*^getslot*/ { melt_ptr_t slot=NULL, obj=NULL; obj = (melt_ptr_t)(/*_.NEWENV__V27*/ meltfptr[26]) /*=obj*/; melt_object_get_field(slot,obj, 0, "ENV_BIND"); /*_.ENVMAP__V71*/ meltfptr[55] = slot; }; ; } else /*^cond.else*/ { /*_.ENVMAP__V71*/ meltfptr[55] = /*reallynil*/ NULL ;; } ; /*citerblock FOREACH_IN_MULTIPLE*/ { /* start foreach_in_multiple meltcit2__EACHTUP */ long meltcit2__EACHTUP_ln = melt_multiple_length((melt_ptr_t)/*_.VARTUP__V30*/ meltfptr[29]); for (/*_#VARIX__L23*/ meltfnum[17] = 0; (/*_#VARIX__L23*/ meltfnum[17] >= 0) && (/*_#VARIX__L23*/ meltfnum[17] < meltcit2__EACHTUP_ln); /*_#VARIX__L23*/ meltfnum[17]++) { /*_.CURVAR__V72*/ meltfptr[56] = melt_multiple_nth((melt_ptr_t)(/*_.VARTUP__V30*/ meltfptr[29]), /*_#VARIX__L23*/ meltfnum[17]); #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6950:/ cppif.then"); /*^block*/ /*anyblock*/ { { /*^locexp*/ /*melt_increment_dbgcounter*/ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL(); ; /*_#MELT_NEED_DBG__L24*/ meltfnum[11] = /*MELT_NEED_DBG*/ #if MELT_HAVE_DEBUG (/*melt_need_dbg*/ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG*/ ;; MELT_LOCATION("warmelt-macro.melt:6950:/ cond"); /*cond*/ if (/*_#MELT_NEED_DBG__L24*/ meltfnum[11]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { /*_#MELT_CALLCOUNT__L25*/ meltfnum[15] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6950:/ apply"); /*apply*/ { union meltparam_un argtab[5]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L25*/ meltfnum[15]; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6950; /*^apply.arg*/ argtab[3].meltbp_cstring = "mexpand_letrec second loop curvar"; /*^apply.arg*/ argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.CURVAR__V72*/ meltfptr[56]; /*_.MELT_DEBUG_FUN__V74*/ meltfptr[59] = melt_apply ((meltclosure_ptr_t)((/*!MELT_DEBUG_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IF___V73*/ meltfptr[57] = /*_.MELT_DEBUG_FUN__V74*/ meltfptr[59];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6950:/ clear"); /*clear*/ /*_#MELT_CALLCOUNT__L25*/ meltfnum[15] = 0 ; /*^clear*/ /*clear*/ /*_.MELT_DEBUG_FUN__V74*/ meltfptr[59] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V73*/ meltfptr[57] = /*reallynil*/ NULL ;; } ; { MELT_LOCATION("warmelt-macro.melt:6950:/ locexp"); /*void*/(void)0; } ; /*^quasiblock*/ /*epilog*/ /*^clear*/ /*clear*/ /*_#MELT_NEED_DBG__L24*/ meltfnum[11] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V73*/ meltfptr[57] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*^block*/ /*anyblock*/ { { /*^locexp*/ /*void*/(void)0; } ; /*epilog*/ } #endif /*MELT_HAVE_DEBUG*/ ; MELT_CHECK_SIGNAL(); ; /*_.MAPOBJECT_GET__V75*/ meltfptr[58] = /*mapobject_get*/ melt_get_mapobjects((meltmapobjects_ptr_t)(/*_.ENVMAP__V71*/ meltfptr[55]), (meltobject_ptr_t)(/*_.CURVAR__V72*/ meltfptr[56]));; MELT_LOCATION("warmelt-macro.melt:6951:/ cond"); /*cond*/ if (/*_.MAPOBJECT_GET__V75*/ meltfptr[58]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { MELT_LOCATION("warmelt-macro.melt:6953:/ cond"); /*cond*/ if ( /*ifisa*/ melt_is_instance_of((melt_ptr_t)(/*_.CURVAR__V72*/ meltfptr[56]), (melt_ptr_t)((/*!CLASS_NAMED*/ meltfrout->tabval[13]))) ) /*then*/ { /*^cond.then*/ /*^getslot*/ { melt_ptr_t slot=NULL, obj=NULL; obj = (melt_ptr_t)(/*_.CURVAR__V72*/ meltfptr[56]) /*=obj*/; melt_object_get_field(slot,obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V77*/ meltfptr[63] = slot; }; ; } else /*^cond.else*/ { /*_.NAMED_NAME__V77*/ meltfptr[63] = /*reallynil*/ NULL ;; } ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6952:/ apply"); /*apply*/ { union meltparam_un argtab[2]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_cstring = "repeated variable $1 in LETREC binding"; /*^apply.arg*/ argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.NAMED_NAME__V77*/ meltfptr[63]; /*_.ERROR_AT__V78*/ meltfptr[64] = melt_apply ((meltclosure_ptr_t)((/*!ERROR_AT*/ meltfrout->tabval[12])), (melt_ptr_t)(/*_.LOC__V22*/ meltfptr[21]), (MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IF___V76*/ meltfptr[62] = /*_.ERROR_AT__V78*/ meltfptr[64];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6951:/ clear"); /*clear*/ /*_.NAMED_NAME__V77*/ meltfptr[63] = 0 ; /*^clear*/ /*clear*/ /*_.ERROR_AT__V78*/ meltfptr[64] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V76*/ meltfptr[62] = /*reallynil*/ NULL ;; } ; MELT_LOCATION("warmelt-macro.melt:6955:/ quasiblock"); MELT_CHECK_SIGNAL(); ; /*^quasiblock*/ /*^rawallocobj*/ /*rawallocobj*/ { melt_ptr_t newobj = 0; melt_raw_object_create(newobj,(melt_ptr_t)((/*!CLASS_LETREC_BINDING*/ meltfrout->tabval[14])), (4), "CLASS_LETREC_BINDING"); /*_.INST__V80*/ meltfptr[47] = newobj; }; ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @BINDER", melt_magic_discr((melt_ptr_t)(/*_.INST__V80*/ meltfptr[47])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V80*/ meltfptr[47]), (0), (/*_.CURVAR__V72*/ meltfptr[56]), "BINDER"); ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @LETBIND_TYPE", melt_magic_discr((melt_ptr_t)(/*_.INST__V80*/ meltfptr[47])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V80*/ meltfptr[47]), (1), ((/*!CTYPE_VALUE*/ meltfrout->tabval[15])), "LETBIND_TYPE"); ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @LETBIND_EXPR", melt_magic_discr((melt_ptr_t)(/*_.INST__V80*/ meltfptr[47])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V80*/ meltfptr[47]), (2), ((/*nil*/NULL)), "LETBIND_EXPR"); ; /*^touchobj*/ melt_dbgtrace_written_object (/*_.INST__V80*/ meltfptr[47], "newly made instance"); ; /*_.CURBIND__V79*/ meltfptr[52] = /*_.INST__V80*/ meltfptr[47];; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6961:/ apply"); /*apply*/ { union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_aptr = (melt_ptr_t*) &/*_.CURBIND__V79*/ meltfptr[52]; /*_.PUT_ENV__V81*/ meltfptr[54] = melt_apply ((meltclosure_ptr_t)((/*!PUT_ENV*/ meltfrout->tabval[16])), (melt_ptr_t)(/*_.NEWENV__V27*/ meltfptr[26]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-macro.melt:6962:/ locexp"); meltgc_multiple_put_nth((melt_ptr_t)(/*_.BINDTUP__V28*/ meltfptr[27]), (/*_#VARIX__L23*/ meltfnum[17]), (melt_ptr_t)(/*_.CURBIND__V79*/ meltfptr[52])); } ; MELT_LOCATION("warmelt-macro.melt:6955:/ clear"); /*clear*/ /*_.CURBIND__V79*/ meltfptr[52] = 0 ; /*^clear*/ /*clear*/ /*_.PUT_ENV__V81*/ meltfptr[54] = 0 ; if (/*_#VARIX__L23*/ meltfnum[17]<0) break; } /* end foreach_in_multiple meltcit2__EACHTUP */ /*citerepilog*/ MELT_LOCATION("warmelt-macro.melt:6947:/ clear"); /*clear*/ /*_.CURVAR__V72*/ meltfptr[56] = 0 ; /*^clear*/ /*clear*/ /*_#VARIX__L23*/ meltfnum[17] = 0 ; /*^clear*/ /*clear*/ /*_.MAPOBJECT_GET__V75*/ meltfptr[58] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V76*/ meltfptr[62] = 0 ; } /*endciterblock FOREACH_IN_MULTIPLE*/ ; MELT_LOCATION("warmelt-macro.melt:6945:/ clear"); /*clear*/ /*_.ENVMAP__V71*/ meltfptr[55] = 0 ; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6964:/ cppif.then"); /*^block*/ /*anyblock*/ { { /*^locexp*/ /*melt_increment_dbgcounter*/ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL(); ; /*_#MELT_NEED_DBG__L26*/ meltfnum[15] = /*MELT_NEED_DBG*/ #if MELT_HAVE_DEBUG (/*melt_need_dbg*/ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG*/ ;; MELT_LOCATION("warmelt-macro.melt:6964:/ cond"); /*cond*/ if (/*_#MELT_NEED_DBG__L26*/ meltfnum[15]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { /*_#MELT_CALLCOUNT__L27*/ meltfnum[11] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6964:/ apply"); /*apply*/ { union meltparam_un argtab[5]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L27*/ meltfnum[11]; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6964; /*^apply.arg*/ argtab[3].meltbp_cstring = "mexpand_letrec bindtup after secondloop"; /*^apply.arg*/ argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.BINDTUP__V28*/ meltfptr[27]; /*_.MELT_DEBUG_FUN__V83*/ meltfptr[59] = melt_apply ((meltclosure_ptr_t)((/*!MELT_DEBUG_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IF___V82*/ meltfptr[53] = /*_.MELT_DEBUG_FUN__V83*/ meltfptr[59];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6964:/ clear"); /*clear*/ /*_#MELT_CALLCOUNT__L27*/ meltfnum[11] = 0 ; /*^clear*/ /*clear*/ /*_.MELT_DEBUG_FUN__V83*/ meltfptr[59] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V82*/ meltfptr[53] = /*reallynil*/ NULL ;; } ; { MELT_LOCATION("warmelt-macro.melt:6964:/ locexp"); /*void*/(void)0; } ; /*^quasiblock*/ /*epilog*/ /*^clear*/ /*clear*/ /*_#MELT_NEED_DBG__L26*/ meltfnum[15] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V82*/ meltfptr[53] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*^block*/ /*anyblock*/ { { /*^locexp*/ /*void*/(void)0; } ; /*epilog*/ } #endif /*MELT_HAVE_DEBUG*/ ; /*citerblock FOREACH_IN_MULTIPLE*/ { /* start foreach_in_multiple meltcit3__EACHTUP */ long meltcit3__EACHTUP_ln = melt_multiple_length((melt_ptr_t)/*_.RECSEXPRTUP__V38*/ meltfptr[37]); for (/*_#EXPIX__L28*/ meltfnum[11] = 0; (/*_#EXPIX__L28*/ meltfnum[11] >= 0) && (/*_#EXPIX__L28*/ meltfnum[11] < meltcit3__EACHTUP_ln); /*_#EXPIX__L28*/ meltfnum[11]++) { /*_.CURSEXPR__V84*/ meltfptr[57] = melt_multiple_nth((melt_ptr_t)(/*_.RECSEXPRTUP__V38*/ meltfptr[37]), /*_#EXPIX__L28*/ meltfnum[11]); MELT_LOCATION("warmelt-macro.melt:6970:/ quasiblock"); MELT_LOCATION("warmelt-macro.melt:6971:/ cond"); /*cond*/ if ( /*ifisa*/ melt_is_instance_of((melt_ptr_t)(/*_.CURSEXPR__V84*/ meltfptr[57]), (melt_ptr_t)((/*!CLASS_LOCATED*/ meltfrout->tabval[9]))) ) /*then*/ { /*^cond.then*/ /*^getslot*/ { melt_ptr_t slot=NULL, obj=NULL; obj = (melt_ptr_t)(/*_.CURSEXPR__V84*/ meltfptr[57]) /*=obj*/; melt_object_get_field(slot,obj, 1, "LOCA_LOCATION"); /*_.LOCA_LOCATION__V85*/ meltfptr[63] = slot; }; ; } else /*^cond.else*/ { /*_.LOCA_LOCATION__V85*/ meltfptr[63] = /*reallynil*/ NULL ;; } ; MELT_LOCATION("warmelt-macro.melt:6971:/ cond"); /*cond*/ if (/*_.LOCA_LOCATION__V85*/ meltfptr[63]) /*then*/ { /*^cond.then*/ /*_.CURLOC__V86*/ meltfptr[64] = /*_.LOCA_LOCATION__V85*/ meltfptr[63];; } else { MELT_LOCATION("warmelt-macro.melt:6971:/ cond.else"); /*_.CURLOC__V86*/ meltfptr[64] = /*_.LOC__V22*/ meltfptr[21];; } ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6972:/ apply"); /*apply*/ { union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_aptr = (melt_ptr_t*) &/*_.NEWENV__V27*/ meltfptr[26]; /*^apply.arg*/ argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.MEXPANDER__V4*/ meltfptr[3]; /*^apply.arg*/ argtab[2].meltbp_aptr = (melt_ptr_t*) &/*_.MODCTX__V5*/ meltfptr[4]; /*_.CUREXP__V87*/ meltfptr[52] = melt_apply ((meltclosure_ptr_t)(/*_.MEXPANDER__V4*/ meltfptr[3]), (melt_ptr_t)(/*_.CURSEXPR__V84*/ meltfptr[57]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_.CURBIND__V88*/ meltfptr[54] = (melt_multiple_nth((melt_ptr_t)(/*_.BINDTUP__V28*/ meltfptr[27]), (/*_#EXPIX__L28*/ meltfnum[11])));; MELT_CHECK_SIGNAL(); ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6975:/ msend"); /*msend*/ { /*_.IS_RECURSIVELY_CONSTRUCTIBLE__V89*/ meltfptr[55] = meltgc_send((melt_ptr_t)(/*_.CUREXP__V87*/ meltfptr[52]), (melt_ptr_t)((/*!IS_RECURSIVELY_CONSTRUCTIBLE*/ meltfrout->tabval[17])), (""), (union meltparam_un*)0, "", (union meltparam_un*)0); } ; /*_#NULL__L29*/ meltfnum[15] = ((/*_.IS_RECURSIVELY_CONSTRUCTIBLE__V89*/ meltfptr[55]) == NULL);; MELT_LOCATION("warmelt-macro.melt:6975:/ cond"); /*cond*/ if (/*_#NULL__L29*/ meltfnum[15]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { { MELT_LOCATION("warmelt-macro.melt:6977:/ locexp"); /* error_plain */ melt_error_str((melt_ptr_t)(/*_.CURLOC__V86*/ meltfptr[64]), ( "invalid expression in LETREC binding [not recursively constructible]"), (melt_ptr_t)0); } ; MELT_LOCATION("warmelt-macro.melt:6978:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*reallynil*/ NULL ;; { MELT_LOCATION("warmelt-macro.melt:6978:/ locexp"); /*ochecknores compilobj_nrep_return*/ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results(); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG*/ ; } ; /*^finalreturn*/ ; /*finalret*/ goto meltlabend_rout ; MELT_LOCATION("warmelt-macro.melt:6976:/ quasiblock"); /*_.PROGN___V92*/ meltfptr[91] = /*_.RETURN___V91*/ meltfptr[53];; /*^compute*/ /*_._IF___V90*/ meltfptr[59] = /*_.PROGN___V92*/ meltfptr[91];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6975:/ clear"); /*clear*/ /*_.RETURN___V91*/ meltfptr[53] = 0 ; /*^clear*/ /*clear*/ /*_.PROGN___V92*/ meltfptr[91] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V90*/ meltfptr[59] = /*reallynil*/ NULL ;; } ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6979:/ cond"); /*cond*/ if ( /*ifisa*/ melt_is_instance_of((melt_ptr_t)(/*_.CURBIND__V88*/ meltfptr[54]), (melt_ptr_t)((/*!CLASS_LET_BINDING*/ meltfrout->tabval[18]))) ) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @LETBIND_EXPR", melt_magic_discr((melt_ptr_t)(/*_.CURBIND__V88*/ meltfptr[54])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.CURBIND__V88*/ meltfptr[54]), (2), (/*_.CUREXP__V87*/ meltfptr[52]), "LETBIND_EXPR"); ; /*^touch*/ meltgc_touch(/*_.CURBIND__V88*/ meltfptr[54]); ; /*^touchobj*/ melt_dbgtrace_written_object (/*_.CURBIND__V88*/ meltfptr[54], "put-fields"); ; /*epilog*/ } ; } /*noelse*/ ; { MELT_LOCATION("warmelt-macro.melt:6980:/ locexp"); meltgc_multiple_put_nth((melt_ptr_t)(/*_.EXPRTUP__V31*/ meltfptr[30]), (/*_#EXPIX__L28*/ meltfnum[11]), (melt_ptr_t)(/*_.CUREXP__V87*/ meltfptr[52])); } ; MELT_LOCATION("warmelt-macro.melt:6981:/ quasiblock"); MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6983:/ cond"); /*cond*/ if ( /*ifisa*/ melt_is_instance_of((melt_ptr_t)(/*_.CUREXP__V87*/ meltfptr[52]), (melt_ptr_t)((/*!CLASS_LOCATED*/ meltfrout->tabval[9]))) ) /*then*/ { /*^cond.then*/ /*^getslot*/ { melt_ptr_t slot=NULL, obj=NULL; obj = (melt_ptr_t)(/*_.CUREXP__V87*/ meltfptr[52]) /*=obj*/; melt_object_get_field(slot,obj, 1, "LOCA_LOCATION"); /*_.LOCA_LOCATION__V93*/ meltfptr[53] = slot; }; ; } else /*^cond.else*/ { /*_.LOCA_LOCATION__V93*/ meltfptr[53] = /*reallynil*/ NULL ;; } ; MELT_LOCATION("warmelt-macro.melt:6983:/ cond"); /*cond*/ if (/*_.LOCA_LOCATION__V93*/ meltfptr[53]) /*then*/ { /*^cond.then*/ /*_.OR___V94*/ meltfptr[91] = /*_.LOCA_LOCATION__V93*/ meltfptr[53];; } else { MELT_LOCATION("warmelt-macro.melt:6983:/ cond.else"); /*_.OR___V94*/ meltfptr[91] = /*_.LOC__V22*/ meltfptr[21];; } ; /*^compute*/ /*_.MULTIPLE_NTH__V95*/ meltfptr[94] = (melt_multiple_nth((melt_ptr_t)(/*_.VARTUP__V30*/ meltfptr[29]), (/*_#EXPIX__L28*/ meltfnum[11])));; MELT_LOCATION("warmelt-macro.melt:6982:/ quasiblock"); /*^rawallocobj*/ /*rawallocobj*/ { melt_ptr_t newobj = 0; melt_raw_object_create(newobj,(melt_ptr_t)((/*!CLASS_SOURCE_LETREC_BINDING*/ meltfrout->tabval[19])), (5), "CLASS_SOURCE_LETREC_BINDING"); /*_.INST__V97*/ meltfptr[96] = newobj; }; ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @LOCA_LOCATION", melt_magic_discr((melt_ptr_t)(/*_.INST__V97*/ meltfptr[96])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V97*/ meltfptr[96]), (1), (/*_.OR___V94*/ meltfptr[91]), "LOCA_LOCATION"); ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @SLETB_TYPE", melt_magic_discr((melt_ptr_t)(/*_.INST__V97*/ meltfptr[96])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V97*/ meltfptr[96]), (3), ((/*!CTYPE_VALUE*/ meltfrout->tabval[15])), "SLETB_TYPE"); ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @SLETB_BINDER", melt_magic_discr((melt_ptr_t)(/*_.INST__V97*/ meltfptr[96])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V97*/ meltfptr[96]), (2), (/*_.MULTIPLE_NTH__V95*/ meltfptr[94]), "SLETB_BINDER"); ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @SLETB_EXPR", melt_magic_discr((melt_ptr_t)(/*_.INST__V97*/ meltfptr[96])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V97*/ meltfptr[96]), (4), (/*_.CUREXP__V87*/ meltfptr[52]), "SLETB_EXPR"); ; /*^touchobj*/ melt_dbgtrace_written_object (/*_.INST__V97*/ meltfptr[96], "newly made instance"); ; /*_.SBIND__V96*/ meltfptr[95] = /*_.INST__V97*/ meltfptr[96];; { MELT_LOCATION("warmelt-macro.melt:6989:/ locexp"); meltgc_multiple_put_nth((melt_ptr_t)(/*_.SRCBINDTUP__V29*/ meltfptr[28]), (/*_#EXPIX__L28*/ meltfnum[11]), (melt_ptr_t)(/*_.SBIND__V96*/ meltfptr[95])); } ; MELT_LOCATION("warmelt-macro.melt:6981:/ clear"); /*clear*/ /*_.LOCA_LOCATION__V93*/ meltfptr[53] = 0 ; /*^clear*/ /*clear*/ /*_.OR___V94*/ meltfptr[91] = 0 ; /*^clear*/ /*clear*/ /*_.MULTIPLE_NTH__V95*/ meltfptr[94] = 0 ; /*^clear*/ /*clear*/ /*_.SBIND__V96*/ meltfptr[95] = 0 ; MELT_LOCATION("warmelt-macro.melt:6970:/ clear"); /*clear*/ /*_.LOCA_LOCATION__V85*/ meltfptr[63] = 0 ; /*^clear*/ /*clear*/ /*_.CURLOC__V86*/ meltfptr[64] = 0 ; /*^clear*/ /*clear*/ /*_.CUREXP__V87*/ meltfptr[52] = 0 ; /*^clear*/ /*clear*/ /*_.CURBIND__V88*/ meltfptr[54] = 0 ; /*^clear*/ /*clear*/ /*_.IS_RECURSIVELY_CONSTRUCTIBLE__V89*/ meltfptr[55] = 0 ; /*^clear*/ /*clear*/ /*_#NULL__L29*/ meltfnum[15] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V90*/ meltfptr[59] = 0 ; if (/*_#EXPIX__L28*/ meltfnum[11]<0) break; } /* end foreach_in_multiple meltcit3__EACHTUP */ /*citerepilog*/ MELT_LOCATION("warmelt-macro.melt:6967:/ clear"); /*clear*/ /*_.CURSEXPR__V84*/ meltfptr[57] = 0 ; /*^clear*/ /*clear*/ /*_#EXPIX__L28*/ meltfnum[11] = 0 ; } /*endciterblock FOREACH_IN_MULTIPLE*/ ; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6991:/ cppif.then"); /*^block*/ /*anyblock*/ { { /*^locexp*/ /*melt_increment_dbgcounter*/ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL(); ; /*_#MELT_NEED_DBG__L30*/ meltfnum[15] = /*MELT_NEED_DBG*/ #if MELT_HAVE_DEBUG (/*melt_need_dbg*/ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG*/ ;; MELT_LOCATION("warmelt-macro.melt:6991:/ cond"); /*cond*/ if (/*_#MELT_NEED_DBG__L30*/ meltfnum[15]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { /*_#MELT_CALLCOUNT__L31*/ meltfnum[30] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6991:/ apply"); /*apply*/ { union meltparam_un argtab[5]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L31*/ meltfnum[30]; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6991; /*^apply.arg*/ argtab[3].meltbp_cstring = "mexpand_letrec exprtup after thirdloop"; /*^apply.arg*/ argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.EXPRTUP__V31*/ meltfptr[30]; /*_.MELT_DEBUG_FUN__V99*/ meltfptr[91] = melt_apply ((meltclosure_ptr_t)((/*!MELT_DEBUG_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IF___V98*/ meltfptr[53] = /*_.MELT_DEBUG_FUN__V99*/ meltfptr[91];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6991:/ clear"); /*clear*/ /*_#MELT_CALLCOUNT__L31*/ meltfnum[30] = 0 ; /*^clear*/ /*clear*/ /*_.MELT_DEBUG_FUN__V99*/ meltfptr[91] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V98*/ meltfptr[53] = /*reallynil*/ NULL ;; } ; { MELT_LOCATION("warmelt-macro.melt:6991:/ locexp"); /*void*/(void)0; } ; /*^quasiblock*/ /*epilog*/ /*^clear*/ /*clear*/ /*_#MELT_NEED_DBG__L30*/ meltfnum[15] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V98*/ meltfptr[53] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*^block*/ /*anyblock*/ { { /*^locexp*/ /*void*/(void)0; } ; /*epilog*/ } #endif /*MELT_HAVE_DEBUG*/ ; MELT_LOCATION("warmelt-macro.melt:6888:/ clear"); /*clear*/ /*_.SEXP_CONTENTS__V33*/ meltfptr[32] = 0 ; /*^clear*/ /*clear*/ /*_.LIST_FIRST__V34*/ meltfptr[33] = 0 ; /*^clear*/ /*clear*/ /*_.LAMBDA___V35*/ meltfptr[34] = 0 ; /*^clear*/ /*clear*/ /*_.RECBINDTUP__V37*/ meltfptr[36] = 0 ; /*^clear*/ /*clear*/ /*_#NBRECBIND__L9*/ meltfnum[8] = 0 ; /*^clear*/ /*clear*/ /*_.RECSEXPRTUP__V38*/ meltfptr[37] = 0 ; /*^clear*/ /*clear*/ /*_#SETQ___L10*/ meltfnum[9] = 0 ; /*^clear*/ /*clear*/ /*_.MAKE_MULTIPLE__V39*/ meltfptr[38] = 0 ; /*^clear*/ /*clear*/ /*_.SETQ___V40*/ meltfptr[39] = 0 ; /*^clear*/ /*clear*/ /*_.MAKE_MULTIPLE__V41*/ meltfptr[40] = 0 ; /*^clear*/ /*clear*/ /*_.SETQ___V42*/ meltfptr[41] = 0 ; /*^clear*/ /*clear*/ /*_.MAKE_MULTIPLE__V43*/ meltfptr[42] = 0 ; /*^clear*/ /*clear*/ /*_.SETQ___V44*/ meltfptr[43] = 0 ; /*^clear*/ /*clear*/ /*_.MAKE_MULTIPLE__V45*/ meltfptr[44] = 0 ; /*^clear*/ /*clear*/ /*_.SETQ___V46*/ meltfptr[45] = 0 ; /*epilog*/ } ; } else { MELT_LOCATION("warmelt-macro.melt:6887:/ cond.else"); /*^block*/ /*anyblock*/ { { MELT_LOCATION("warmelt-macro.melt:6993:/ locexp"); /* error_plain */ melt_error_str((melt_ptr_t)(/*_.LOC__V22*/ meltfptr[21]), ( "missing letbinding-s in LETREC"), (melt_ptr_t)0); } ; /*epilog*/ } ; } ; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6886:/ clear"); /*clear*/ /*_#IS_A__L8*/ meltfnum[0] = 0 ; } ; } /*noelse*/ ; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:6995:/ cppif.then"); /*^block*/ /*anyblock*/ { { /*^locexp*/ /*melt_increment_dbgcounter*/ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL(); ; /*_#MELT_NEED_DBG__L32*/ meltfnum[30] = /*MELT_NEED_DBG*/ #if MELT_HAVE_DEBUG (/*melt_need_dbg*/ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG*/ ;; MELT_LOCATION("warmelt-macro.melt:6995:/ cond"); /*cond*/ if (/*_#MELT_NEED_DBG__L32*/ meltfnum[30]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { /*_#MELT_CALLCOUNT__L33*/ meltfnum[15] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6995:/ apply"); /*apply*/ { union meltparam_un argtab[5]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L33*/ meltfnum[15]; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 6995; /*^apply.arg*/ argtab[3].meltbp_cstring = "mexpand_letrec srcbindtup"; /*^apply.arg*/ argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.SRCBINDTUP__V29*/ meltfptr[28]; /*_.MELT_DEBUG_FUN__V101*/ meltfptr[95] = melt_apply ((meltclosure_ptr_t)((/*!MELT_DEBUG_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IF___V100*/ meltfptr[94] = /*_.MELT_DEBUG_FUN__V101*/ meltfptr[95];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:6995:/ clear"); /*clear*/ /*_#MELT_CALLCOUNT__L33*/ meltfnum[15] = 0 ; /*^clear*/ /*clear*/ /*_.MELT_DEBUG_FUN__V101*/ meltfptr[95] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V100*/ meltfptr[94] = /*reallynil*/ NULL ;; } ; { MELT_LOCATION("warmelt-macro.melt:6995:/ locexp"); /*void*/(void)0; } ; /*^quasiblock*/ /*epilog*/ /*^clear*/ /*clear*/ /*_#MELT_NEED_DBG__L32*/ meltfnum[30] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V100*/ meltfptr[94] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*^block*/ /*anyblock*/ { { /*^locexp*/ /*void*/(void)0; } ; /*epilog*/ } #endif /*MELT_HAVE_DEBUG*/ ; MELT_LOCATION("warmelt-macro.melt:6998:/ quasiblock"); /*^newclosure*/ /*newclosure*/ /*_.LAMBDA___V103*/ meltfptr[64] = (melt_ptr_t) meltgc_new_closure((meltobject_ptr_t)(((melt_ptr_t)(MELT_PREDEF(DISCR_CLOSURE)))), (meltroutine_ptr_t)((/*!konst_20*/ meltfrout->tabval[20])), (3)); ; /*^putclosedv*/ /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V103*/ meltfptr[64])) == MELTOBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 0>= 0 && 0< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V103*/ meltfptr[64]))); ((meltclosure_ptr_t)/*_.LAMBDA___V103*/ meltfptr[64])->tabval[0] = (melt_ptr_t)(/*_.MEXPANDER__V4*/ meltfptr[3]); ; /*^putclosedv*/ /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V103*/ meltfptr[64])) == MELTOBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 1>= 0 && 1< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V103*/ meltfptr[64]))); ((meltclosure_ptr_t)/*_.LAMBDA___V103*/ meltfptr[64])->tabval[1] = (melt_ptr_t)(/*_.NEWENV__V27*/ meltfptr[26]); ; /*^putclosedv*/ /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V103*/ meltfptr[64])) == MELTOBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 2>= 0 && 2< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V103*/ meltfptr[64]))); ((meltclosure_ptr_t)/*_.LAMBDA___V103*/ meltfptr[64])->tabval[2] = (melt_ptr_t)(/*_.MODCTX__V5*/ meltfptr[4]); ; /*_.LAMBDA___V102*/ meltfptr[63] = /*_.LAMBDA___V103*/ meltfptr[64];; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6996:/ apply"); /*apply*/ { union meltparam_un argtab[2]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_aptr = (melt_ptr_t*) &(/*!DISCR_MULTIPLE*/ meltfrout->tabval[6]); /*^apply.arg*/ argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.LAMBDA___V102*/ meltfptr[63]; /*_.PAIRLIST_TO_MULTIPLE__V104*/ meltfptr[52] = melt_apply ((meltclosure_ptr_t)((/*!PAIRLIST_TO_MULTIPLE*/ meltfrout->tabval[5])), (melt_ptr_t)(/*_.RESTPAIR__V25*/ meltfptr[24]), (MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*^compute*/ /*_.BODYTUP__V32*/ meltfptr[31] = /*_.SETQ___V105*/ meltfptr[54] = /*_.PAIRLIST_TO_MULTIPLE__V104*/ meltfptr[52];; MELT_CHECK_SIGNAL(); ; /*_#MULTIPLE_LENGTH__L34*/ meltfnum[8] = (melt_multiple_length((melt_ptr_t)(/*_.BODYTUP__V32*/ meltfptr[31])));; /*^compute*/ /*_#lteqI__L35*/ meltfnum[9] = ((/*_#MULTIPLE_LENGTH__L34*/ meltfnum[8]) <= (0));; MELT_LOCATION("warmelt-macro.melt:6999:/ cond"); /*cond*/ if (/*_#lteqI__L35*/ meltfnum[9]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { { MELT_LOCATION("warmelt-macro.melt:7000:/ locexp"); /* error_plain */ melt_error_str((melt_ptr_t)(/*_.LOC__V22*/ meltfptr[21]), ( "emptyy body in LETREC"), (melt_ptr_t)0); } ; /*epilog*/ } ; } /*noelse*/ ; MELT_LOCATION("warmelt-macro.melt:7001:/ quasiblock"); MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:7002:/ quasiblock"); /*^rawallocobj*/ /*rawallocobj*/ { melt_ptr_t newobj = 0; melt_raw_object_create(newobj,(melt_ptr_t)((/*!CLASS_SOURCE_LETREC*/ meltfrout->tabval[21])), (4), "CLASS_SOURCE_LETREC"); /*_.INST__V108*/ meltfptr[91] = newobj; }; ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @LOCA_LOCATION", melt_magic_discr((melt_ptr_t)(/*_.INST__V108*/ meltfptr[91])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V108*/ meltfptr[91]), (1), (/*_.LOC__V22*/ meltfptr[21]), "LOCA_LOCATION"); ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @SLET_BINDINGS", melt_magic_discr((melt_ptr_t)(/*_.INST__V108*/ meltfptr[91])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V108*/ meltfptr[91]), (2), (/*_.SRCBINDTUP__V29*/ meltfptr[28]), "SLET_BINDINGS"); ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @SLET_BODY", melt_magic_discr((melt_ptr_t)(/*_.INST__V108*/ meltfptr[91])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V108*/ meltfptr[91]), (3), (/*_.BODYTUP__V32*/ meltfptr[31]), "SLET_BODY"); ; /*^touchobj*/ melt_dbgtrace_written_object (/*_.INST__V108*/ meltfptr[91], "newly made instance"); ; /*_.LETR__V107*/ meltfptr[59] = /*_.INST__V108*/ meltfptr[91];; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:7006:/ cppif.then"); /*^block*/ /*anyblock*/ { { /*^locexp*/ /*melt_increment_dbgcounter*/ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL(); ; /*_#MELT_NEED_DBG__L36*/ meltfnum[0] = /*MELT_NEED_DBG*/ #if MELT_HAVE_DEBUG (/*melt_need_dbg*/ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG*/ ;; MELT_LOCATION("warmelt-macro.melt:7006:/ cond"); /*cond*/ if (/*_#MELT_NEED_DBG__L36*/ meltfnum[0]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { /*_#MELT_CALLCOUNT__L37*/ meltfnum[15] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:7006:/ apply"); /*apply*/ { union meltparam_un argtab[5]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L37*/ meltfnum[15]; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 7006; /*^apply.arg*/ argtab[3].meltbp_cstring = "mexpand_letrec result"; /*^apply.arg*/ argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.LETR__V107*/ meltfptr[59]; /*_.MELT_DEBUG_FUN__V110*/ meltfptr[32] = melt_apply ((meltclosure_ptr_t)((/*!MELT_DEBUG_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IF___V109*/ meltfptr[53] = /*_.MELT_DEBUG_FUN__V110*/ meltfptr[32];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:7006:/ clear"); /*clear*/ /*_#MELT_CALLCOUNT__L37*/ meltfnum[15] = 0 ; /*^clear*/ /*clear*/ /*_.MELT_DEBUG_FUN__V110*/ meltfptr[32] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V109*/ meltfptr[53] = /*reallynil*/ NULL ;; } ; { MELT_LOCATION("warmelt-macro.melt:7006:/ locexp"); /*void*/(void)0; } ; /*^quasiblock*/ /*epilog*/ /*^clear*/ /*clear*/ /*_#MELT_NEED_DBG__L36*/ meltfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V109*/ meltfptr[53] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*^block*/ /*anyblock*/ { { /*^locexp*/ /*void*/(void)0; } ; /*epilog*/ } #endif /*MELT_HAVE_DEBUG*/ ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:7007:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.LETR__V107*/ meltfptr[59];; { MELT_LOCATION("warmelt-macro.melt:7007:/ locexp"); /*ochecknores compilobj_nrep_return*/ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results(); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG*/ ; } ; /*^finalreturn*/ ; /*finalret*/ goto meltlabend_rout ; /*_.LET___V106*/ meltfptr[55] = /*_.RETURN___V111*/ meltfptr[33];; MELT_LOCATION("warmelt-macro.melt:7001:/ clear"); /*clear*/ /*_.LETR__V107*/ meltfptr[59] = 0 ; /*^clear*/ /*clear*/ /*_.RETURN___V111*/ meltfptr[33] = 0 ; /*_.LET___V20*/ meltfptr[18] = /*_.LET___V106*/ meltfptr[55];; MELT_LOCATION("warmelt-macro.melt:6871:/ clear"); /*clear*/ /*_.CONT__V21*/ meltfptr[5] = 0 ; /*^clear*/ /*clear*/ /*_.LOC__V22*/ meltfptr[21] = 0 ; /*^clear*/ /*clear*/ /*_.LIST_FIRST__V23*/ meltfptr[22] = 0 ; /*^clear*/ /*clear*/ /*_.SECPAIR__V24*/ meltfptr[23] = 0 ; /*^clear*/ /*clear*/ /*_.RESTPAIR__V25*/ meltfptr[24] = 0 ; /*^clear*/ /*clear*/ /*_.BINDEXPR__V26*/ meltfptr[25] = 0 ; /*^clear*/ /*clear*/ /*_.NEWENV__V27*/ meltfptr[26] = 0 ; /*^clear*/ /*clear*/ /*_#NBIND__L7*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_.BINDTUP__V28*/ meltfptr[27] = 0 ; /*^clear*/ /*clear*/ /*_.SRCBINDTUP__V29*/ meltfptr[28] = 0 ; /*^clear*/ /*clear*/ /*_.VARTUP__V30*/ meltfptr[29] = 0 ; /*^clear*/ /*clear*/ /*_.EXPRTUP__V31*/ meltfptr[30] = 0 ; /*^clear*/ /*clear*/ /*_.BODYTUP__V32*/ meltfptr[31] = 0 ; /*^clear*/ /*clear*/ /*_.LAMBDA___V102*/ meltfptr[63] = 0 ; /*^clear*/ /*clear*/ /*_.PAIRLIST_TO_MULTIPLE__V104*/ meltfptr[52] = 0 ; /*^clear*/ /*clear*/ /*_.SETQ___V105*/ meltfptr[54] = 0 ; /*^clear*/ /*clear*/ /*_#MULTIPLE_LENGTH__L34*/ meltfnum[8] = 0 ; /*^clear*/ /*clear*/ /*_#lteqI__L35*/ meltfnum[9] = 0 ; /*^clear*/ /*clear*/ /*_.LET___V106*/ meltfptr[55] = 0 ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6865:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.LET___V20*/ meltfptr[18];; { MELT_LOCATION("warmelt-macro.melt:6865:/ locexp"); /*ochecknores compilobj_nrep_return*/ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results(); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG*/ ; } ; /*^finalreturn*/ ; /*finalret*/ goto meltlabend_rout ; /*epilog*/ /*^clear*/ /*clear*/ /*_.IFCPP___V8*/ meltfptr[6] = 0 ; /*^clear*/ /*clear*/ /*_.IFCPP___V11*/ meltfptr[9] = 0 ; /*^clear*/ /*clear*/ /*_.IFCPP___V14*/ meltfptr[12] = 0 ; /*^clear*/ /*clear*/ /*_.IFCPP___V17*/ meltfptr[15] = 0 ; /*^clear*/ /*clear*/ /*_.LET___V20*/ meltfptr[18] = 0 ; } ; goto meltlabend_rout; meltlabend_rout: melt_trace_end("MEXPAND_LETREC", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_127_WARMELTmiMACRO_MEXPAND_LETREC_melt; return (melt_ptr_t)(/*_._RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_127_WARMELTmiMACRO_MEXPAND_LETREC*/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_128_WARMELTmiMACRO_LAMBDA_cl22(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_) { long current_blocklevel_signals_meltrout_128_WARMELTmiMACRO_LAMBDA_cl22_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long melt_call_counter__; long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__; #undef meltcallcount #define meltcallcount melt_thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1490 /* start of frame for routine meltrout_128_WARMELTmiMACRO_LAMBDA_cl22 fromline 1704 */ /** start of frame for meltrout_128_WARMELTmiMACRO_LAMBDA_cl22 of CLASS_PROCROUTINEOBJ from 1507**/ /*curframdeclclassy*/ class MeltFrame_meltrout_128_WARMELTmiMACRO_LAMBDA_cl22// fromline 1520 : public Melt_CallFrameWithValues<2> { public: /* fromline 1524*/ long mcfr_varnum[1]; /*classy others*/ long _meltsparel; void melt_mark_stuff (void) { } /*end melt_mark_stuff*/ virtual void melt_mark_ggc_data (void) { melt_mark_values (); melt_mark_stuff (); }; /*end melt_mark_ggc_data*/ MeltFrame_meltrout_128_WARMELTmiMACRO_LAMBDA_cl22(meltclosure_ptr_t clos) //the closure constructor fromline 1582 : Melt_CallFrameWithValues<2> ( #if ENABLE_CHECKING /*fromline 1586*/ __FILE__, __LINE__, #endif /* ENABLE_CHECKING fromline 1590*/ sizeof(MeltFrame_meltrout_128_WARMELTmiMACRO_LAMBDA_cl22), clos) {}; MeltFrame_meltrout_128_WARMELTmiMACRO_LAMBDA_cl22() //the constructor fromline 1594 : Melt_CallFrameWithValues<2> ( #if ENABLE_CHECKING /*fromline 1598*/ __FILE__, __LINE__, #endif /* ENABLE_CHECKING fromline 1602*/ sizeof(MeltFrame_meltrout_128_WARMELTmiMACRO_LAMBDA_cl22)) {}; #if ENABLE_CHECKING /*fromline 1606*/ MeltFrame_meltrout_128_WARMELTmiMACRO_LAMBDA_cl22(const char*fil, int lin) //the constructor fromline 1608 : Melt_CallFrameWithValues<2> (fil,lin, sizeof(MeltFrame_meltrout_128_WARMELTmiMACRO_LAMBDA_cl22)) {}; MeltFrame_meltrout_128_WARMELTmiMACRO_LAMBDA_cl22(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1613 : Melt_CallFrameWithValues<2> (fil,lin, sizeof(MeltFrame_meltrout_128_WARMELTmiMACRO_LAMBDA_cl22), clos) {}; #endif /* ENABLE_CHECKING fromline 1618*/ }; // end class MeltFrame_meltrout_128_WARMELTmiMACRO_LAMBDA_cl22 /** end of frame for meltrout_128_WARMELTmiMACRO_LAMBDA_cl22 fromline 1649**/ /* end of frame for routine meltrout_128_WARMELTmiMACRO_LAMBDA_cl22 fromline 1708 */ /* classy proc frame meltrout_128_WARMELTmiMACRO_LAMBDA_cl22 */ MeltFrame_meltrout_128_WARMELTmiMACRO_LAMBDA_cl22 meltfram__ /*declfrastruct fromline 1732*/ /*classyprocarg meltrout_128_WARMELTmiMACRO_LAMBDA_cl22 fromline 1737*/ #if ENABLE_CHECKING (__FILE__, __LINE__, meltclosp_) /* fromline 1741*/ #else /*ENABLE_CHECKING */ (meltclosp_) /* fromline 1745*/ #endif /*ENABLE_CHECKING */ ; #define meltframe meltfram__ melt_trace_start("LAMBDA_cl22", meltcallcount); /*use arguments*/ (void) meltclosp_; (void)meltfirstargp_; (void)meltxargdescr_; (void)meltxargtab_; (void)meltxresdescr_; (void)meltxrestab_; /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-macro.melt:6892:/ getarg"); /*_.BX__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; ; goto meltlab_endgetargs; meltlab_endgetargs: ; /*body*/ /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*_#IS_NOT_A__L1*/ meltfnum[0] = !melt_is_instance_of((melt_ptr_t)(/*_.BX__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_SEXPR*/ meltfrout->tabval[0])));; MELT_LOCATION("warmelt-macro.melt:6893:/ cond"); /*cond*/ if (/*_#IS_NOT_A__L1*/ meltfnum[0]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { { MELT_LOCATION("warmelt-macro.melt:6894:/ locexp"); /* error_plain */ melt_error_str((melt_ptr_t)((/*~LOC*/ meltfclos->tabval[0])), ( "sexpr expected in LETREC binding"), (melt_ptr_t)0); } ; /*epilog*/ } ; } /*noelse*/ ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:6892:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.BX__V2*/ meltfptr[1];; { MELT_LOCATION("warmelt-macro.melt:6892:/ locexp"); /*ochecknores compilobj_nrep_return*/ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results(); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG*/ ; } ; /*^finalreturn*/ ; /*finalret*/ goto meltlabend_rout ; /*epilog*/ /*^clear*/ /*clear*/ /*_#IS_NOT_A__L1*/ meltfnum[0] = 0 ; } ; goto meltlabend_rout; meltlabend_rout: melt_trace_end("LAMBDA_cl22", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_128_WARMELTmiMACRO_LAMBDA_cl22_melt; return (melt_ptr_t)(/*_._RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_128_WARMELTmiMACRO_LAMBDA_cl22*/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_129_WARMELTmiMACRO_LAMBDA_cl23(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_) { long current_blocklevel_signals_meltrout_129_WARMELTmiMACRO_LAMBDA_cl23_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long melt_call_counter__; long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__; #undef meltcallcount #define meltcallcount melt_thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1490 /* start of frame for routine meltrout_129_WARMELTmiMACRO_LAMBDA_cl23 fromline 1704 */ /** start of frame for meltrout_129_WARMELTmiMACRO_LAMBDA_cl23 of CLASS_PROCROUTINEOBJ from 1507**/ /*curframdeclclassy*/ class MeltFrame_meltrout_129_WARMELTmiMACRO_LAMBDA_cl23// fromline 1520 : public Melt_CallFrameWithValues<3> { public: /* fromline 1524*/ // no classy longs /*classy others*/ long _meltsparel; void melt_mark_stuff (void) { } /*end melt_mark_stuff*/ virtual void melt_mark_ggc_data (void) { melt_mark_values (); melt_mark_stuff (); }; /*end melt_mark_ggc_data*/ MeltFrame_meltrout_129_WARMELTmiMACRO_LAMBDA_cl23(meltclosure_ptr_t clos) //the closure constructor fromline 1582 : Melt_CallFrameWithValues<3> ( #if ENABLE_CHECKING /*fromline 1586*/ __FILE__, __LINE__, #endif /* ENABLE_CHECKING fromline 1590*/ sizeof(MeltFrame_meltrout_129_WARMELTmiMACRO_LAMBDA_cl23), clos) {}; MeltFrame_meltrout_129_WARMELTmiMACRO_LAMBDA_cl23() //the constructor fromline 1594 : Melt_CallFrameWithValues<3> ( #if ENABLE_CHECKING /*fromline 1598*/ __FILE__, __LINE__, #endif /* ENABLE_CHECKING fromline 1602*/ sizeof(MeltFrame_meltrout_129_WARMELTmiMACRO_LAMBDA_cl23)) {}; #if ENABLE_CHECKING /*fromline 1606*/ MeltFrame_meltrout_129_WARMELTmiMACRO_LAMBDA_cl23(const char*fil, int lin) //the constructor fromline 1608 : Melt_CallFrameWithValues<3> (fil,lin, sizeof(MeltFrame_meltrout_129_WARMELTmiMACRO_LAMBDA_cl23)) {}; MeltFrame_meltrout_129_WARMELTmiMACRO_LAMBDA_cl23(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1613 : Melt_CallFrameWithValues<3> (fil,lin, sizeof(MeltFrame_meltrout_129_WARMELTmiMACRO_LAMBDA_cl23), clos) {}; #endif /* ENABLE_CHECKING fromline 1618*/ }; // end class MeltFrame_meltrout_129_WARMELTmiMACRO_LAMBDA_cl23 /** end of frame for meltrout_129_WARMELTmiMACRO_LAMBDA_cl23 fromline 1649**/ /* end of frame for routine meltrout_129_WARMELTmiMACRO_LAMBDA_cl23 fromline 1708 */ /* classy proc frame meltrout_129_WARMELTmiMACRO_LAMBDA_cl23 */ MeltFrame_meltrout_129_WARMELTmiMACRO_LAMBDA_cl23 meltfram__ /*declfrastruct fromline 1732*/ /*classyprocarg meltrout_129_WARMELTmiMACRO_LAMBDA_cl23 fromline 1737*/ #if ENABLE_CHECKING (__FILE__, __LINE__, meltclosp_) /* fromline 1741*/ #else /*ENABLE_CHECKING */ (meltclosp_) /* fromline 1745*/ #endif /*ENABLE_CHECKING */ ; #define meltframe meltfram__ melt_trace_start("LAMBDA_cl23", meltcallcount); /*use arguments*/ (void) meltclosp_; (void)meltfirstargp_; (void)meltxargdescr_; (void)meltxargtab_; (void)meltxresdescr_; (void)meltxrestab_; /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-macro.melt:6998:/ getarg"); /*_.E__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; ; goto meltlab_endgetargs; meltlab_endgetargs: ; /*body*/ /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*^apply*/ /*apply*/ { union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_aptr = (melt_ptr_t*) &(/*~NEWENV*/ meltfclos->tabval[1]); /*^apply.arg*/ argtab[1].meltbp_aptr = (melt_ptr_t*) &(/*~MEXPANDER*/ meltfclos->tabval[0]); /*^apply.arg*/ argtab[2].meltbp_aptr = (melt_ptr_t*) &(/*~MODCTX*/ meltfclos->tabval[2]); /*_.MEXPANDER__V3*/ meltfptr[2] = melt_apply ((meltclosure_ptr_t)((/*~MEXPANDER*/ meltfclos->tabval[0])), (melt_ptr_t)(/*_.E__V2*/ meltfptr[1]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*^quasiblock*/ /*_._RETVAL___V1*/ meltfptr[0] = /*_.MEXPANDER__V3*/ meltfptr[2];; { MELT_LOCATION("warmelt-macro.melt:6998:/ locexp"); /*ochecknores compilobj_nrep_return*/ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results(); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG*/ ; } ; /*^finalreturn*/ ; /*finalret*/ goto meltlabend_rout ; /*epilog*/ /*^clear*/ /*clear*/ /*_.MEXPANDER__V3*/ meltfptr[2] = 0 ; } ; goto meltlabend_rout; meltlabend_rout: melt_trace_end("LAMBDA_cl23", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_129_WARMELTmiMACRO_LAMBDA_cl23_melt; return (melt_ptr_t)(/*_._RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_129_WARMELTmiMACRO_LAMBDA_cl23*/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_130_WARMELTmiMACRO_MEXPAND_LAMBDA(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_) { long current_blocklevel_signals_meltrout_130_WARMELTmiMACRO_MEXPAND_LAMBDA_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long melt_call_counter__; long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__; #undef meltcallcount #define meltcallcount melt_thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1490 /* start of frame for routine meltrout_130_WARMELTmiMACRO_MEXPAND_LAMBDA fromline 1704 */ /** start of frame for meltrout_130_WARMELTmiMACRO_MEXPAND_LAMBDA of CLASS_PROCROUTINEOBJ from 1507**/ /*curframdeclclassy*/ class MeltFrame_meltrout_130_WARMELTmiMACRO_MEXPAND_LAMBDA// fromline 1520 : public Melt_CallFrameWithValues<42> { public: /* fromline 1524*/ long mcfr_varnum[11]; /*classy others*/ long _meltsparel; void melt_mark_stuff (void) { } /*end melt_mark_stuff*/ virtual void melt_mark_ggc_data (void) { melt_mark_values (); melt_mark_stuff (); }; /*end melt_mark_ggc_data*/ MeltFrame_meltrout_130_WARMELTmiMACRO_MEXPAND_LAMBDA(meltclosure_ptr_t clos) //the closure constructor fromline 1582 : Melt_CallFrameWithValues<42> ( #if ENABLE_CHECKING /*fromline 1586*/ __FILE__, __LINE__, #endif /* ENABLE_CHECKING fromline 1590*/ sizeof(MeltFrame_meltrout_130_WARMELTmiMACRO_MEXPAND_LAMBDA), clos) {}; MeltFrame_meltrout_130_WARMELTmiMACRO_MEXPAND_LAMBDA() //the constructor fromline 1594 : Melt_CallFrameWithValues<42> ( #if ENABLE_CHECKING /*fromline 1598*/ __FILE__, __LINE__, #endif /* ENABLE_CHECKING fromline 1602*/ sizeof(MeltFrame_meltrout_130_WARMELTmiMACRO_MEXPAND_LAMBDA)) {}; #if ENABLE_CHECKING /*fromline 1606*/ MeltFrame_meltrout_130_WARMELTmiMACRO_MEXPAND_LAMBDA(const char*fil, int lin) //the constructor fromline 1608 : Melt_CallFrameWithValues<42> (fil,lin, sizeof(MeltFrame_meltrout_130_WARMELTmiMACRO_MEXPAND_LAMBDA)) {}; MeltFrame_meltrout_130_WARMELTmiMACRO_MEXPAND_LAMBDA(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1613 : Melt_CallFrameWithValues<42> (fil,lin, sizeof(MeltFrame_meltrout_130_WARMELTmiMACRO_MEXPAND_LAMBDA), clos) {}; #endif /* ENABLE_CHECKING fromline 1618*/ }; // end class MeltFrame_meltrout_130_WARMELTmiMACRO_MEXPAND_LAMBDA /** end of frame for meltrout_130_WARMELTmiMACRO_MEXPAND_LAMBDA fromline 1649**/ /* end of frame for routine meltrout_130_WARMELTmiMACRO_MEXPAND_LAMBDA fromline 1708 */ /* classy proc frame meltrout_130_WARMELTmiMACRO_MEXPAND_LAMBDA */ MeltFrame_meltrout_130_WARMELTmiMACRO_MEXPAND_LAMBDA meltfram__ /*declfrastruct fromline 1732*/ /*classyprocarg meltrout_130_WARMELTmiMACRO_MEXPAND_LAMBDA fromline 1737*/ #if ENABLE_CHECKING (__FILE__, __LINE__, meltclosp_) /* fromline 1741*/ #else /*ENABLE_CHECKING */ (meltclosp_) /* fromline 1745*/ #endif /*ENABLE_CHECKING */ ; #define meltframe meltfram__ melt_trace_start("MEXPAND_LAMBDA", meltcallcount); /*use arguments*/ (void) meltclosp_; (void)meltfirstargp_; (void)meltxargdescr_; (void)meltxargtab_; (void)meltxresdescr_; (void)meltxrestab_; /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-macro.melt:7020:/ getarg"); /*_.SEXPR__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1*/ /*^getarg*/ if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_endgetargs; /*_.ENV__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2])) != NULL); /*getarg#2*/ /*^getarg*/ if (meltxargdescr_[1] != MELTBPAR_PTR) goto meltlab_endgetargs; /*_.MEXPANDER__V4*/ meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.MEXPANDER__V4*/ meltfptr[3])) != NULL); /*getarg#3*/ /*^getarg*/ if (meltxargdescr_[2] != MELTBPAR_PTR) goto meltlab_endgetargs; /*_.MODCTX__V5*/ meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.MODCTX__V5*/ meltfptr[4])) != NULL); ; goto meltlab_endgetargs; meltlab_endgetargs: ; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:7021:/ cppif.then"); /*^block*/ /*anyblock*/ { { /*^locexp*/ /*melt_increment_dbgcounter*/ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL(); ; /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = /*MELT_NEED_DBG*/ #if MELT_HAVE_DEBUG (/*melt_need_dbg*/ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG*/ ;; MELT_LOCATION("warmelt-macro.melt:7021:/ cond"); /*cond*/ if (/*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { /*_#MELT_CALLCOUNT__L2*/ meltfnum[1] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:7021:/ apply"); /*apply*/ { union meltparam_un argtab[5]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 7021; /*^apply.arg*/ argtab[3].meltbp_cstring = "mexpand_lambda sexpr="; /*^apply.arg*/ argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.SEXPR__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V7*/ meltfptr[6] = melt_apply ((meltclosure_ptr_t)((/*!MELT_DEBUG_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IF___V6*/ meltfptr[5] = /*_.MELT_DEBUG_FUN__V7*/ meltfptr[6];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:7021:/ clear"); /*clear*/ /*_#MELT_CALLCOUNT__L2*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_.MELT_DEBUG_FUN__V7*/ meltfptr[6] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V6*/ meltfptr[5] = /*reallynil*/ NULL ;; } ; { MELT_LOCATION("warmelt-macro.melt:7021:/ locexp"); /*void*/(void)0; } ; /*^quasiblock*/ /*epilog*/ /*^clear*/ /*clear*/ /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V6*/ meltfptr[5] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*^block*/ /*anyblock*/ { { /*^locexp*/ /*void*/(void)0; } ; /*epilog*/ } #endif /*MELT_HAVE_DEBUG*/ ; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:7022:/ cppif.then"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*_#IS_A__L3*/ meltfnum[1] = melt_is_instance_of((melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_SEXPR*/ meltfrout->tabval[1])));; MELT_LOCATION("warmelt-macro.melt:7022:/ cond"); /*cond*/ if (/*_#IS_A__L3*/ meltfnum[1]) /*then*/ { /*^cond.then*/ /*_._IFELSE___V9*/ meltfptr[5] = (/*nil*/NULL);; } else { MELT_LOCATION("warmelt-macro.melt:7022:/ cond.else"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*^apply*/ /*apply*/ { union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_cstring = "check sexpr"; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 7022; /*^apply.arg*/ argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.SEXPR__V2*/ meltfptr[1]; /*_.MELT_ASSERT_FAILURE_FUN__V10*/ meltfptr[9] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[2])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IFELSE___V9*/ meltfptr[5] = /*_.MELT_ASSERT_FAILURE_FUN__V10*/ meltfptr[9];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:7022:/ clear"); /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V10*/ meltfptr[9] = 0 ; } ; } ; /*_.IFCPP___V8*/ meltfptr[6] = /*_._IFELSE___V9*/ meltfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:7022:/ clear"); /*clear*/ /*_#IS_A__L3*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_._IFELSE___V9*/ meltfptr[5] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*_.IFCPP___V8*/ meltfptr[6] = (/*nil*/NULL); #endif /*MELT_HAVE_DEBUG*/ ; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:7023:/ cppif.then"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*_#IS_A__L4*/ meltfnum[0] = melt_is_instance_of((melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2]), (melt_ptr_t)((/*!CLASS_ENVIRONMENT*/ meltfrout->tabval[3])));; MELT_LOCATION("warmelt-macro.melt:7023:/ cond"); /*cond*/ if (/*_#IS_A__L4*/ meltfnum[0]) /*then*/ { /*^cond.then*/ /*_._IFELSE___V12*/ meltfptr[5] = (/*nil*/NULL);; } else { MELT_LOCATION("warmelt-macro.melt:7023:/ cond.else"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*^apply*/ /*apply*/ { union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_cstring = "check env"; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 7023; /*^apply.arg*/ argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.ENV__V3*/ meltfptr[2]; /*_.MELT_ASSERT_FAILURE_FUN__V13*/ meltfptr[12] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[2])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IFELSE___V12*/ meltfptr[5] = /*_.MELT_ASSERT_FAILURE_FUN__V13*/ meltfptr[12];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:7023:/ clear"); /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V13*/ meltfptr[12] = 0 ; } ; } ; /*_.IFCPP___V11*/ meltfptr[9] = /*_._IFELSE___V12*/ meltfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:7023:/ clear"); /*clear*/ /*_#IS_A__L4*/ meltfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_._IFELSE___V12*/ meltfptr[5] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*_.IFCPP___V11*/ meltfptr[9] = (/*nil*/NULL); #endif /*MELT_HAVE_DEBUG*/ ; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:7024:/ cppif.then"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*_#IS_OBJECT__L5*/ meltfnum[1] = (melt_magic_discr((melt_ptr_t)(/*_.MODCTX__V5*/ meltfptr[4])) == MELTOBMAG_OBJECT);; MELT_LOCATION("warmelt-macro.melt:7024:/ cond"); /*cond*/ if (/*_#IS_OBJECT__L5*/ meltfnum[1]) /*then*/ { /*^cond.then*/ /*_._IFELSE___V15*/ meltfptr[5] = (/*nil*/NULL);; } else { MELT_LOCATION("warmelt-macro.melt:7024:/ cond.else"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*^apply*/ /*apply*/ { union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_cstring = "check modctx"; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 7024; /*^apply.arg*/ argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.MODCTX__V5*/ meltfptr[4]; /*_.MELT_ASSERT_FAILURE_FUN__V16*/ meltfptr[15] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[2])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IFELSE___V15*/ meltfptr[5] = /*_.MELT_ASSERT_FAILURE_FUN__V16*/ meltfptr[15];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:7024:/ clear"); /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V16*/ meltfptr[15] = 0 ; } ; } ; /*_.IFCPP___V14*/ meltfptr[12] = /*_._IFELSE___V15*/ meltfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:7024:/ clear"); /*clear*/ /*_#IS_OBJECT__L5*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_._IFELSE___V15*/ meltfptr[5] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*_.IFCPP___V14*/ meltfptr[12] = (/*nil*/NULL); #endif /*MELT_HAVE_DEBUG*/ ; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:7025:/ cppif.then"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*_#IS_CLOSURE__L6*/ meltfnum[0] = (melt_magic_discr((melt_ptr_t)(/*_.MEXPANDER__V4*/ meltfptr[3])) == MELTOBMAG_CLOSURE);; MELT_LOCATION("warmelt-macro.melt:7025:/ cond"); /*cond*/ if (/*_#IS_CLOSURE__L6*/ meltfnum[0]) /*then*/ { /*^cond.then*/ /*_._IFELSE___V18*/ meltfptr[5] = (/*nil*/NULL);; } else { MELT_LOCATION("warmelt-macro.melt:7025:/ cond.else"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*^apply*/ /*apply*/ { union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_cstring = "check mexpander"; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 7025; /*^apply.arg*/ argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.MEXPANDER__V4*/ meltfptr[3]; /*_.MELT_ASSERT_FAILURE_FUN__V19*/ meltfptr[18] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[2])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IFELSE___V18*/ meltfptr[5] = /*_.MELT_ASSERT_FAILURE_FUN__V19*/ meltfptr[18];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:7025:/ clear"); /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V19*/ meltfptr[18] = 0 ; } ; } ; /*_.IFCPP___V17*/ meltfptr[15] = /*_._IFELSE___V18*/ meltfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:7025:/ clear"); /*clear*/ /*_#IS_CLOSURE__L6*/ meltfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_._IFELSE___V18*/ meltfptr[5] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*_.IFCPP___V17*/ meltfptr[15] = (/*nil*/NULL); #endif /*MELT_HAVE_DEBUG*/ ; MELT_LOCATION("warmelt-macro.melt:7026:/ quasiblock"); /*^getslot*/ { melt_ptr_t slot=NULL, obj=NULL; obj = (melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/; melt_object_get_field(slot,obj, 2, "SEXP_CONTENTS"); /*_.CONT__V21*/ meltfptr[5] = slot; }; ; MELT_LOCATION("warmelt-macro.melt:7027:/ getslot"); { melt_ptr_t slot=NULL, obj=NULL; obj = (melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/; melt_object_get_field(slot,obj, 1, "LOCA_LOCATION"); /*_.LOC__V22*/ meltfptr[21] = slot; }; ; /*_.LIST_FIRST__V23*/ meltfptr[22] = (melt_list_first((melt_ptr_t)(/*_.CONT__V21*/ meltfptr[5])));; /*^compute*/ /*_.CURPAIR__V24*/ meltfptr[23] = (melt_pair_tail((melt_ptr_t)(/*_.LIST_FIRST__V23*/ meltfptr[22])));; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:7029:/ apply"); /*apply*/ { /*_.NEWENV__V25*/ meltfptr[24] = melt_apply ((meltclosure_ptr_t)((/*!FRESH_ENV*/ meltfrout->tabval[4])), (melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2]), (""), (union meltparam_un*)0, "", (union meltparam_un*)0); } ; /*_.FORMALS__V26*/ meltfptr[25] = (melt_pair_head((melt_ptr_t)(/*_.CURPAIR__V24*/ meltfptr[23])));; MELT_CHECK_SIGNAL(); ; MELT_CHECK_SIGNAL(); ; /*^compute*/ /*_#NOTNULL__L7*/ meltfnum[1] = ((/*_.FORMALS__V26*/ meltfptr[25]) != NULL);; MELT_LOCATION("warmelt-macro.melt:7033:/ cond"); /*cond*/ if (/*_#NOTNULL__L7*/ meltfnum[1]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { /*_#IS_NOT_A__L9*/ meltfnum[8] = !melt_is_instance_of((melt_ptr_t)(/*_.FORMALS__V26*/ meltfptr[25]), (melt_ptr_t)((/*!CLASS_SEXPR*/ meltfrout->tabval[1])));; /*^compute*/ /*_#_IF___L8*/ meltfnum[0] = /*_#IS_NOT_A__L9*/ meltfnum[8];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:7033:/ clear"); /*clear*/ /*_#IS_NOT_A__L9*/ meltfnum[8] = 0 ; } ; } else /*^cond.else*/ { /*_#_IF___L8*/ meltfnum[0] = 0;; } ; MELT_LOCATION("warmelt-macro.melt:7033:/ cond"); /*cond*/ if (/*_#_IF___L8*/ meltfnum[0]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { { MELT_LOCATION("warmelt-macro.melt:7034:/ locexp"); /* error_plain */ melt_error_str((melt_ptr_t)(/*_.LOC__V22*/ meltfptr[21]), ( "missing formal argument list in (LAMBDA (arglist...) body...)"), (melt_ptr_t)0); } ; /*epilog*/ } ; } /*noelse*/ ; MELT_LOCATION("warmelt-macro.melt:7035:/ quasiblock"); MELT_CHECK_SIGNAL(); ; /*^apply*/ /*apply*/ { union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_aptr = (melt_ptr_t*) &/*_.SEXPR__V2*/ meltfptr[1]; /*_.ARGTUP__V28*/ meltfptr[27] = melt_apply ((meltclosure_ptr_t)((/*!LAMBDA_ARG_BINDINGS*/ meltfrout->tabval[5])), (melt_ptr_t)(/*_.FORMALS__V26*/ meltfptr[25]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_.PAIR_TAIL__V29*/ meltfptr[28] = (melt_pair_tail((melt_ptr_t)(/*_.CURPAIR__V24*/ meltfptr[23])));; MELT_LOCATION("warmelt-macro.melt:7036:/ compute"); /*_.CURPAIR__V24*/ meltfptr[23] = /*_.SETQ___V30*/ meltfptr[29] = /*_.PAIR_TAIL__V29*/ meltfptr[28];; /*citerblock FOREACH_IN_MULTIPLE*/ { /* start foreach_in_multiple meltcit1__EACHTUP */ long meltcit1__EACHTUP_ln = melt_multiple_length((melt_ptr_t)/*_.ARGTUP__V28*/ meltfptr[27]); for (/*_#IX__L10*/ meltfnum[8] = 0; (/*_#IX__L10*/ meltfnum[8] >= 0) && (/*_#IX__L10*/ meltfnum[8] < meltcit1__EACHTUP_ln); /*_#IX__L10*/ meltfnum[8]++) { /*_.LB__V31*/ meltfptr[30] = melt_multiple_nth((melt_ptr_t)(/*_.ARGTUP__V28*/ meltfptr[27]), /*_#IX__L10*/ meltfnum[8]); #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:7040:/ cppif.then"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*_#IS_A__L11*/ meltfnum[10] = melt_is_instance_of((melt_ptr_t)(/*_.LB__V31*/ meltfptr[30]), (melt_ptr_t)((/*!CLASS_FORMAL_BINDING*/ meltfrout->tabval[6])));; MELT_LOCATION("warmelt-macro.melt:7040:/ cond"); /*cond*/ if (/*_#IS_A__L11*/ meltfnum[10]) /*then*/ { /*^cond.then*/ /*_._IFELSE___V33*/ meltfptr[32] = (/*nil*/NULL);; } else { MELT_LOCATION("warmelt-macro.melt:7040:/ cond.else"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*^apply*/ /*apply*/ { union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_cstring = "check lb"; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 7040; /*^apply.arg*/ argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.LB__V31*/ meltfptr[30]; /*_.MELT_ASSERT_FAILURE_FUN__V34*/ meltfptr[33] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[2])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IFELSE___V33*/ meltfptr[32] = /*_.MELT_ASSERT_FAILURE_FUN__V34*/ meltfptr[33];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:7040:/ clear"); /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V34*/ meltfptr[33] = 0 ; } ; } ; /*_.IFCPP___V32*/ meltfptr[31] = /*_._IFELSE___V33*/ meltfptr[32];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:7040:/ clear"); /*clear*/ /*_#IS_A__L11*/ meltfnum[10] = 0 ; /*^clear*/ /*clear*/ /*_._IFELSE___V33*/ meltfptr[32] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*_.IFCPP___V32*/ meltfptr[31] = (/*nil*/NULL); #endif /*MELT_HAVE_DEBUG*/ ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:7041:/ apply"); /*apply*/ { union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_aptr = (melt_ptr_t*) &/*_.LB__V31*/ meltfptr[30]; /*_.PUT_ENV__V35*/ meltfptr[33] = melt_apply ((meltclosure_ptr_t)((/*!PUT_ENV*/ meltfrout->tabval[7])), (melt_ptr_t)(/*_.NEWENV__V25*/ meltfptr[24]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; if (/*_#IX__L10*/ meltfnum[8]<0) break; } /* end foreach_in_multiple meltcit1__EACHTUP */ /*citerepilog*/ MELT_LOCATION("warmelt-macro.melt:7037:/ clear"); /*clear*/ /*_.LB__V31*/ meltfptr[30] = 0 ; /*^clear*/ /*clear*/ /*_#IX__L10*/ meltfnum[8] = 0 ; /*^clear*/ /*clear*/ /*_.IFCPP___V32*/ meltfptr[31] = 0 ; /*^clear*/ /*clear*/ /*_.PUT_ENV__V35*/ meltfptr[33] = 0 ; } /*endciterblock FOREACH_IN_MULTIPLE*/ ; MELT_LOCATION("warmelt-macro.melt:7042:/ quasiblock"); MELT_LOCATION("warmelt-macro.melt:7044:/ quasiblock"); /*^newclosure*/ /*newclosure*/ /*_.LAMBDA___V38*/ meltfptr[37] = (melt_ptr_t) meltgc_new_closure((meltobject_ptr_t)(((melt_ptr_t)(MELT_PREDEF(DISCR_CLOSURE)))), (meltroutine_ptr_t)((/*!konst_10*/ meltfrout->tabval[10])), (3)); ; /*^putclosedv*/ /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V38*/ meltfptr[37])) == MELTOBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 0>= 0 && 0< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V38*/ meltfptr[37]))); ((meltclosure_ptr_t)/*_.LAMBDA___V38*/ meltfptr[37])->tabval[0] = (melt_ptr_t)(/*_.MEXPANDER__V4*/ meltfptr[3]); ; /*^putclosedv*/ /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V38*/ meltfptr[37])) == MELTOBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 1>= 0 && 1< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V38*/ meltfptr[37]))); ((meltclosure_ptr_t)/*_.LAMBDA___V38*/ meltfptr[37])->tabval[1] = (melt_ptr_t)(/*_.NEWENV__V25*/ meltfptr[24]); ; /*^putclosedv*/ /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V38*/ meltfptr[37])) == MELTOBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 2>= 0 && 2< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V38*/ meltfptr[37]))); ((meltclosure_ptr_t)/*_.LAMBDA___V38*/ meltfptr[37])->tabval[2] = (melt_ptr_t)(/*_.MODCTX__V5*/ meltfptr[4]); ; /*_.LAMBDA___V37*/ meltfptr[36] = /*_.LAMBDA___V38*/ meltfptr[37];; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:7042:/ apply"); /*apply*/ { union meltparam_un argtab[2]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_aptr = (melt_ptr_t*) &(/*!DISCR_MULTIPLE*/ meltfrout->tabval[9]); /*^apply.arg*/ argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.LAMBDA___V37*/ meltfptr[36]; /*_.BODYTUP__V39*/ meltfptr[38] = melt_apply ((meltclosure_ptr_t)((/*!PAIRLIST_TO_MULTIPLE*/ meltfrout->tabval[8])), (melt_ptr_t)(/*_.CURPAIR__V24*/ meltfptr[23]), (MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:7046:/ quasiblock"); /*^rawallocobj*/ /*rawallocobj*/ { melt_ptr_t newobj = 0; melt_raw_object_create(newobj,(melt_ptr_t)((/*!CLASS_SOURCE_LAMBDA*/ meltfrout->tabval[11])), (4), "CLASS_SOURCE_LAMBDA"); /*_.INST__V41*/ meltfptr[40] = newobj; }; ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @LOCA_LOCATION", melt_magic_discr((melt_ptr_t)(/*_.INST__V41*/ meltfptr[40])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V41*/ meltfptr[40]), (1), (/*_.LOC__V22*/ meltfptr[21]), "LOCA_LOCATION"); ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @SLAM_ARGBIND", melt_magic_discr((melt_ptr_t)(/*_.INST__V41*/ meltfptr[40])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V41*/ meltfptr[40]), (2), (/*_.ARGTUP__V28*/ meltfptr[27]), "SLAM_ARGBIND"); ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @SLAM_BODY", melt_magic_discr((melt_ptr_t)(/*_.INST__V41*/ meltfptr[40])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V41*/ meltfptr[40]), (3), (/*_.BODYTUP__V39*/ meltfptr[38]), "SLAM_BODY"); ; /*^touchobj*/ melt_dbgtrace_written_object (/*_.INST__V41*/ meltfptr[40], "newly made instance"); ; /*_.LAMBR__V40*/ meltfptr[39] = /*_.INST__V41*/ meltfptr[40];; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:7051:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.LAMBR__V40*/ meltfptr[39];; { MELT_LOCATION("warmelt-macro.melt:7051:/ locexp"); /*ochecknores compilobj_nrep_return*/ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results(); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG*/ ; } ; /*^finalreturn*/ ; /*finalret*/ goto meltlabend_rout ; /*_.LET___V36*/ meltfptr[32] = /*_.RETURN___V42*/ meltfptr[41];; MELT_LOCATION("warmelt-macro.melt:7042:/ clear"); /*clear*/ /*_.LAMBDA___V37*/ meltfptr[36] = 0 ; /*^clear*/ /*clear*/ /*_.BODYTUP__V39*/ meltfptr[38] = 0 ; /*^clear*/ /*clear*/ /*_.LAMBR__V40*/ meltfptr[39] = 0 ; /*^clear*/ /*clear*/ /*_.RETURN___V42*/ meltfptr[41] = 0 ; /*_.LET___V27*/ meltfptr[26] = /*_.LET___V36*/ meltfptr[32];; MELT_LOCATION("warmelt-macro.melt:7035:/ clear"); /*clear*/ /*_.ARGTUP__V28*/ meltfptr[27] = 0 ; /*^clear*/ /*clear*/ /*_.PAIR_TAIL__V29*/ meltfptr[28] = 0 ; /*^clear*/ /*clear*/ /*_.SETQ___V30*/ meltfptr[29] = 0 ; /*^clear*/ /*clear*/ /*_.LET___V36*/ meltfptr[32] = 0 ; /*_.LET___V20*/ meltfptr[18] = /*_.LET___V27*/ meltfptr[26];; MELT_LOCATION("warmelt-macro.melt:7026:/ clear"); /*clear*/ /*_.CONT__V21*/ meltfptr[5] = 0 ; /*^clear*/ /*clear*/ /*_.LOC__V22*/ meltfptr[21] = 0 ; /*^clear*/ /*clear*/ /*_.LIST_FIRST__V23*/ meltfptr[22] = 0 ; /*^clear*/ /*clear*/ /*_.CURPAIR__V24*/ meltfptr[23] = 0 ; /*^clear*/ /*clear*/ /*_.NEWENV__V25*/ meltfptr[24] = 0 ; /*^clear*/ /*clear*/ /*_.FORMALS__V26*/ meltfptr[25] = 0 ; /*^clear*/ /*clear*/ /*_#NOTNULL__L7*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_#_IF___L8*/ meltfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_.LET___V27*/ meltfptr[26] = 0 ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:7020:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.LET___V20*/ meltfptr[18];; { MELT_LOCATION("warmelt-macro.melt:7020:/ locexp"); /*ochecknores compilobj_nrep_return*/ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results(); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG*/ ; } ; /*^finalreturn*/ ; /*finalret*/ goto meltlabend_rout ; /*epilog*/ /*^clear*/ /*clear*/ /*_.IFCPP___V8*/ meltfptr[6] = 0 ; /*^clear*/ /*clear*/ /*_.IFCPP___V11*/ meltfptr[9] = 0 ; /*^clear*/ /*clear*/ /*_.IFCPP___V14*/ meltfptr[12] = 0 ; /*^clear*/ /*clear*/ /*_.IFCPP___V17*/ meltfptr[15] = 0 ; /*^clear*/ /*clear*/ /*_.LET___V20*/ meltfptr[18] = 0 ; } ; goto meltlabend_rout; meltlabend_rout: melt_trace_end("MEXPAND_LAMBDA", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_130_WARMELTmiMACRO_MEXPAND_LAMBDA_melt; return (melt_ptr_t)(/*_._RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_130_WARMELTmiMACRO_MEXPAND_LAMBDA*/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_131_WARMELTmiMACRO_LAMBDA_cl24(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_) { long current_blocklevel_signals_meltrout_131_WARMELTmiMACRO_LAMBDA_cl24_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long melt_call_counter__; long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__; #undef meltcallcount #define meltcallcount melt_thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1490 /* start of frame for routine meltrout_131_WARMELTmiMACRO_LAMBDA_cl24 fromline 1704 */ /** start of frame for meltrout_131_WARMELTmiMACRO_LAMBDA_cl24 of CLASS_PROCROUTINEOBJ from 1507**/ /*curframdeclclassy*/ class MeltFrame_meltrout_131_WARMELTmiMACRO_LAMBDA_cl24// fromline 1520 : public Melt_CallFrameWithValues<3> { public: /* fromline 1524*/ // no classy longs /*classy others*/ long _meltsparel; void melt_mark_stuff (void) { } /*end melt_mark_stuff*/ virtual void melt_mark_ggc_data (void) { melt_mark_values (); melt_mark_stuff (); }; /*end melt_mark_ggc_data*/ MeltFrame_meltrout_131_WARMELTmiMACRO_LAMBDA_cl24(meltclosure_ptr_t clos) //the closure constructor fromline 1582 : Melt_CallFrameWithValues<3> ( #if ENABLE_CHECKING /*fromline 1586*/ __FILE__, __LINE__, #endif /* ENABLE_CHECKING fromline 1590*/ sizeof(MeltFrame_meltrout_131_WARMELTmiMACRO_LAMBDA_cl24), clos) {}; MeltFrame_meltrout_131_WARMELTmiMACRO_LAMBDA_cl24() //the constructor fromline 1594 : Melt_CallFrameWithValues<3> ( #if ENABLE_CHECKING /*fromline 1598*/ __FILE__, __LINE__, #endif /* ENABLE_CHECKING fromline 1602*/ sizeof(MeltFrame_meltrout_131_WARMELTmiMACRO_LAMBDA_cl24)) {}; #if ENABLE_CHECKING /*fromline 1606*/ MeltFrame_meltrout_131_WARMELTmiMACRO_LAMBDA_cl24(const char*fil, int lin) //the constructor fromline 1608 : Melt_CallFrameWithValues<3> (fil,lin, sizeof(MeltFrame_meltrout_131_WARMELTmiMACRO_LAMBDA_cl24)) {}; MeltFrame_meltrout_131_WARMELTmiMACRO_LAMBDA_cl24(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1613 : Melt_CallFrameWithValues<3> (fil,lin, sizeof(MeltFrame_meltrout_131_WARMELTmiMACRO_LAMBDA_cl24), clos) {}; #endif /* ENABLE_CHECKING fromline 1618*/ }; // end class MeltFrame_meltrout_131_WARMELTmiMACRO_LAMBDA_cl24 /** end of frame for meltrout_131_WARMELTmiMACRO_LAMBDA_cl24 fromline 1649**/ /* end of frame for routine meltrout_131_WARMELTmiMACRO_LAMBDA_cl24 fromline 1708 */ /* classy proc frame meltrout_131_WARMELTmiMACRO_LAMBDA_cl24 */ MeltFrame_meltrout_131_WARMELTmiMACRO_LAMBDA_cl24 meltfram__ /*declfrastruct fromline 1732*/ /*classyprocarg meltrout_131_WARMELTmiMACRO_LAMBDA_cl24 fromline 1737*/ #if ENABLE_CHECKING (__FILE__, __LINE__, meltclosp_) /* fromline 1741*/ #else /*ENABLE_CHECKING */ (meltclosp_) /* fromline 1745*/ #endif /*ENABLE_CHECKING */ ; #define meltframe meltfram__ melt_trace_start("LAMBDA_cl24", meltcallcount); /*use arguments*/ (void) meltclosp_; (void)meltfirstargp_; (void)meltxargdescr_; (void)meltxargtab_; (void)meltxresdescr_; (void)meltxrestab_; /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-macro.melt:7044:/ getarg"); /*_.E__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; ; goto meltlab_endgetargs; meltlab_endgetargs: ; /*body*/ /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*^apply*/ /*apply*/ { union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_aptr = (melt_ptr_t*) &(/*~NEWENV*/ meltfclos->tabval[1]); /*^apply.arg*/ argtab[1].meltbp_aptr = (melt_ptr_t*) &(/*~MEXPANDER*/ meltfclos->tabval[0]); /*^apply.arg*/ argtab[2].meltbp_aptr = (melt_ptr_t*) &(/*~MODCTX*/ meltfclos->tabval[2]); /*_.MEXPANDER__V3*/ meltfptr[2] = melt_apply ((meltclosure_ptr_t)((/*~MEXPANDER*/ meltfclos->tabval[0])), (melt_ptr_t)(/*_.E__V2*/ meltfptr[1]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*^quasiblock*/ /*_._RETVAL___V1*/ meltfptr[0] = /*_.MEXPANDER__V3*/ meltfptr[2];; { MELT_LOCATION("warmelt-macro.melt:7044:/ locexp"); /*ochecknores compilobj_nrep_return*/ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results(); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG*/ ; } ; /*^finalreturn*/ ; /*finalret*/ goto meltlabend_rout ; /*epilog*/ /*^clear*/ /*clear*/ /*_.MEXPANDER__V3*/ meltfptr[2] = 0 ; } ; goto meltlabend_rout; meltlabend_rout: melt_trace_end("LAMBDA_cl24", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_131_WARMELTmiMACRO_LAMBDA_cl24_melt; return (melt_ptr_t)(/*_._RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_131_WARMELTmiMACRO_LAMBDA_cl24*/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_132_WARMELTmiMACRO_MEXPAND_VARIADIC(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_) { long current_blocklevel_signals_meltrout_132_WARMELTmiMACRO_MEXPAND_VARIADIC_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long melt_call_counter__; long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__; #undef meltcallcount #define meltcallcount melt_thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1490 /* start of frame for routine meltrout_132_WARMELTmiMACRO_MEXPAND_VARIADIC fromline 1704 */ /** start of frame for meltrout_132_WARMELTmiMACRO_MEXPAND_VARIADIC of CLASS_PROCROUTINEOBJ from 1507**/ /*curframdeclclassy*/ class MeltFrame_meltrout_132_WARMELTmiMACRO_MEXPAND_VARIADIC// fromline 1520 : public Melt_CallFrameWithValues<102> { public: /* fromline 1524*/ long mcfr_varnum[37]; /*classy others*/ long _meltsparel; void melt_mark_stuff (void) { } /*end melt_mark_stuff*/ virtual void melt_mark_ggc_data (void) { melt_mark_values (); melt_mark_stuff (); }; /*end melt_mark_ggc_data*/ MeltFrame_meltrout_132_WARMELTmiMACRO_MEXPAND_VARIADIC(meltclosure_ptr_t clos) //the closure constructor fromline 1582 : Melt_CallFrameWithValues<102> ( #if ENABLE_CHECKING /*fromline 1586*/ __FILE__, __LINE__, #endif /* ENABLE_CHECKING fromline 1590*/ sizeof(MeltFrame_meltrout_132_WARMELTmiMACRO_MEXPAND_VARIADIC), clos) {}; MeltFrame_meltrout_132_WARMELTmiMACRO_MEXPAND_VARIADIC() //the constructor fromline 1594 : Melt_CallFrameWithValues<102> ( #if ENABLE_CHECKING /*fromline 1598*/ __FILE__, __LINE__, #endif /* ENABLE_CHECKING fromline 1602*/ sizeof(MeltFrame_meltrout_132_WARMELTmiMACRO_MEXPAND_VARIADIC)) {}; #if ENABLE_CHECKING /*fromline 1606*/ MeltFrame_meltrout_132_WARMELTmiMACRO_MEXPAND_VARIADIC(const char*fil, int lin) //the constructor fromline 1608 : Melt_CallFrameWithValues<102> (fil,lin, sizeof(MeltFrame_meltrout_132_WARMELTmiMACRO_MEXPAND_VARIADIC)) {}; MeltFrame_meltrout_132_WARMELTmiMACRO_MEXPAND_VARIADIC(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1613 : Melt_CallFrameWithValues<102> (fil,lin, sizeof(MeltFrame_meltrout_132_WARMELTmiMACRO_MEXPAND_VARIADIC), clos) {}; #endif /* ENABLE_CHECKING fromline 1618*/ }; // end class MeltFrame_meltrout_132_WARMELTmiMACRO_MEXPAND_VARIADIC /** end of frame for meltrout_132_WARMELTmiMACRO_MEXPAND_VARIADIC fromline 1649**/ /* end of frame for routine meltrout_132_WARMELTmiMACRO_MEXPAND_VARIADIC fromline 1708 */ /* classy proc frame meltrout_132_WARMELTmiMACRO_MEXPAND_VARIADIC */ MeltFrame_meltrout_132_WARMELTmiMACRO_MEXPAND_VARIADIC meltfram__ /*declfrastruct fromline 1732*/ /*classyprocarg meltrout_132_WARMELTmiMACRO_MEXPAND_VARIADIC fromline 1737*/ #if ENABLE_CHECKING (__FILE__, __LINE__, meltclosp_) /* fromline 1741*/ #else /*ENABLE_CHECKING */ (meltclosp_) /* fromline 1745*/ #endif /*ENABLE_CHECKING */ ; #define meltframe meltfram__ melt_trace_start("MEXPAND_VARIADIC", meltcallcount); /*use arguments*/ (void) meltclosp_; (void)meltfirstargp_; (void)meltxargdescr_; (void)meltxargtab_; (void)meltxresdescr_; (void)meltxrestab_; /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-macro.melt:7072:/ getarg"); /*_.SEXPR__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1*/ /*^getarg*/ if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_endgetargs; /*_.ENV__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2])) != NULL); /*getarg#2*/ /*^getarg*/ if (meltxargdescr_[1] != MELTBPAR_PTR) goto meltlab_endgetargs; /*_.MEXPANDER__V4*/ meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.MEXPANDER__V4*/ meltfptr[3])) != NULL); /*getarg#3*/ /*^getarg*/ if (meltxargdescr_[2] != MELTBPAR_PTR) goto meltlab_endgetargs; /*_.MODCTX__V5*/ meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.MODCTX__V5*/ meltfptr[4])) != NULL); ; goto meltlab_endgetargs; meltlab_endgetargs: ; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:7073:/ cppif.then"); /*^block*/ /*anyblock*/ { { /*^locexp*/ /*melt_increment_dbgcounter*/ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL(); ; /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = /*MELT_NEED_DBG*/ #if MELT_HAVE_DEBUG (/*melt_need_dbg*/ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG*/ ;; MELT_LOCATION("warmelt-macro.melt:7073:/ cond"); /*cond*/ if (/*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { /*_#MELT_CALLCOUNT__L2*/ meltfnum[1] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:7073:/ apply"); /*apply*/ { union meltparam_un argtab[5]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 7073; /*^apply.arg*/ argtab[3].meltbp_cstring = "mexpand_variadic sexpr="; /*^apply.arg*/ argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.SEXPR__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V7*/ meltfptr[6] = melt_apply ((meltclosure_ptr_t)((/*!MELT_DEBUG_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IF___V6*/ meltfptr[5] = /*_.MELT_DEBUG_FUN__V7*/ meltfptr[6];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:7073:/ clear"); /*clear*/ /*_#MELT_CALLCOUNT__L2*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_.MELT_DEBUG_FUN__V7*/ meltfptr[6] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V6*/ meltfptr[5] = /*reallynil*/ NULL ;; } ; { MELT_LOCATION("warmelt-macro.melt:7073:/ locexp"); /*void*/(void)0; } ; /*^quasiblock*/ /*epilog*/ /*^clear*/ /*clear*/ /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V6*/ meltfptr[5] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*^block*/ /*anyblock*/ { { /*^locexp*/ /*void*/(void)0; } ; /*epilog*/ } #endif /*MELT_HAVE_DEBUG*/ ; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:7074:/ cppif.then"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*_#IS_A__L3*/ meltfnum[1] = melt_is_instance_of((melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_SEXPR*/ meltfrout->tabval[1])));; MELT_LOCATION("warmelt-macro.melt:7074:/ cond"); /*cond*/ if (/*_#IS_A__L3*/ meltfnum[1]) /*then*/ { /*^cond.then*/ /*_._IFELSE___V9*/ meltfptr[5] = (/*nil*/NULL);; } else { MELT_LOCATION("warmelt-macro.melt:7074:/ cond.else"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*^apply*/ /*apply*/ { union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_cstring = "check sexpr"; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 7074; /*^apply.arg*/ argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.SEXPR__V2*/ meltfptr[1]; /*_.MELT_ASSERT_FAILURE_FUN__V10*/ meltfptr[9] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[2])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IFELSE___V9*/ meltfptr[5] = /*_.MELT_ASSERT_FAILURE_FUN__V10*/ meltfptr[9];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:7074:/ clear"); /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V10*/ meltfptr[9] = 0 ; } ; } ; /*_.IFCPP___V8*/ meltfptr[6] = /*_._IFELSE___V9*/ meltfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:7074:/ clear"); /*clear*/ /*_#IS_A__L3*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_._IFELSE___V9*/ meltfptr[5] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*_.IFCPP___V8*/ meltfptr[6] = (/*nil*/NULL); #endif /*MELT_HAVE_DEBUG*/ ; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:7075:/ cppif.then"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*_#IS_A__L4*/ meltfnum[0] = melt_is_instance_of((melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2]), (melt_ptr_t)((/*!CLASS_ENVIRONMENT*/ meltfrout->tabval[3])));; MELT_LOCATION("warmelt-macro.melt:7075:/ cond"); /*cond*/ if (/*_#IS_A__L4*/ meltfnum[0]) /*then*/ { /*^cond.then*/ /*_._IFELSE___V12*/ meltfptr[5] = (/*nil*/NULL);; } else { MELT_LOCATION("warmelt-macro.melt:7075:/ cond.else"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*^apply*/ /*apply*/ { union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_cstring = "check env"; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 7075; /*^apply.arg*/ argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.ENV__V3*/ meltfptr[2]; /*_.MELT_ASSERT_FAILURE_FUN__V13*/ meltfptr[12] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[2])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IFELSE___V12*/ meltfptr[5] = /*_.MELT_ASSERT_FAILURE_FUN__V13*/ meltfptr[12];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:7075:/ clear"); /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V13*/ meltfptr[12] = 0 ; } ; } ; /*_.IFCPP___V11*/ meltfptr[9] = /*_._IFELSE___V12*/ meltfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:7075:/ clear"); /*clear*/ /*_#IS_A__L4*/ meltfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_._IFELSE___V12*/ meltfptr[5] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*_.IFCPP___V11*/ meltfptr[9] = (/*nil*/NULL); #endif /*MELT_HAVE_DEBUG*/ ; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:7076:/ cppif.then"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*_#IS_OBJECT__L5*/ meltfnum[1] = (melt_magic_discr((melt_ptr_t)(/*_.MODCTX__V5*/ meltfptr[4])) == MELTOBMAG_OBJECT);; MELT_LOCATION("warmelt-macro.melt:7076:/ cond"); /*cond*/ if (/*_#IS_OBJECT__L5*/ meltfnum[1]) /*then*/ { /*^cond.then*/ /*_._IFELSE___V15*/ meltfptr[5] = (/*nil*/NULL);; } else { MELT_LOCATION("warmelt-macro.melt:7076:/ cond.else"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*^apply*/ /*apply*/ { union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_cstring = "check modctx"; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 7076; /*^apply.arg*/ argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.MODCTX__V5*/ meltfptr[4]; /*_.MELT_ASSERT_FAILURE_FUN__V16*/ meltfptr[15] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[2])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IFELSE___V15*/ meltfptr[5] = /*_.MELT_ASSERT_FAILURE_FUN__V16*/ meltfptr[15];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:7076:/ clear"); /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V16*/ meltfptr[15] = 0 ; } ; } ; /*_.IFCPP___V14*/ meltfptr[12] = /*_._IFELSE___V15*/ meltfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:7076:/ clear"); /*clear*/ /*_#IS_OBJECT__L5*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_._IFELSE___V15*/ meltfptr[5] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*_.IFCPP___V14*/ meltfptr[12] = (/*nil*/NULL); #endif /*MELT_HAVE_DEBUG*/ ; MELT_LOCATION("warmelt-macro.melt:7077:/ quasiblock"); /*^getslot*/ { melt_ptr_t slot=NULL, obj=NULL; obj = (melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/; melt_object_get_field(slot,obj, 2, "SEXP_CONTENTS"); /*_.CONT__V18*/ meltfptr[5] = slot; }; ; MELT_LOCATION("warmelt-macro.melt:7078:/ getslot"); { melt_ptr_t slot=NULL, obj=NULL; obj = (melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/; melt_object_get_field(slot,obj, 1, "LOCA_LOCATION"); /*_.LOC__V19*/ meltfptr[18] = slot; }; ; /*_.LIST_FIRST__V20*/ meltfptr[19] = (melt_list_first((melt_ptr_t)(/*_.CONT__V18*/ meltfptr[5])));; /*^compute*/ /*_.FIRSTPAIR__V21*/ meltfptr[20] = (melt_pair_tail((melt_ptr_t)(/*_.LIST_FIRST__V20*/ meltfptr[19])));; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:7080:/ quasiblock"); /*^rawallocobj*/ /*rawallocobj*/ { melt_ptr_t newobj = 0; melt_raw_object_create(newobj,(melt_ptr_t)((/*!CLASS_REFERENCE*/ meltfrout->tabval[4])), (1), "CLASS_REFERENCE"); /*_.INST__V23*/ meltfptr[22] = newobj; }; ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @REFERENCED_VALUE", melt_magic_discr((melt_ptr_t)(/*_.INST__V23*/ meltfptr[22])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V23*/ meltfptr[22]), (0), ((/*nil*/NULL)), "REFERENCED_VALUE"); ; /*^touchobj*/ melt_dbgtrace_written_object (/*_.INST__V23*/ meltfptr[22], "newly made instance"); ; /*_.RESCONT__V22*/ meltfptr[21] = /*_.INST__V23*/ meltfptr[22];; /*^compute*/ /*_#LIST_LENGTH__L6*/ meltfnum[0] = (melt_list_length((melt_ptr_t)(/*_.CONT__V18*/ meltfptr[5])));; /*^compute*/ /*_#stI__L7*/ meltfnum[1] = ((3) * (/*_#LIST_LENGTH__L6*/ meltfnum[0]));; /*^compute*/ /*_#plI__L8*/ meltfnum[7] = ((7) + (/*_#stI__L7*/ meltfnum[1]));; /*^compute*/ /*_.VARBINDMAP__V24*/ meltfptr[23] = (meltgc_new_mapobjects( (meltobject_ptr_t) ((/*!DISCR_MAP_OBJECTS*/ meltfrout->tabval[5])), (/*_#plI__L8*/ meltfnum[7])));; MELT_LOCATION("warmelt-macro.melt:7082:/ quasiblock"); /*^newclosure*/ /*newclosure*/ /*_.LAMBDA___V26*/ meltfptr[25] = (melt_ptr_t) meltgc_new_closure((meltobject_ptr_t)(((melt_ptr_t)(MELT_PREDEF(DISCR_CLOSURE)))), (meltroutine_ptr_t)((/*!konst_8*/ meltfrout->tabval[8])), (1)); ; /*^putclosedv*/ /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V26*/ meltfptr[25])) == MELTOBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 0>= 0 && 0< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V26*/ meltfptr[25]))); ((meltclosure_ptr_t)/*_.LAMBDA___V26*/ meltfptr[25])->tabval[0] = (melt_ptr_t)(/*_.RESCONT__V22*/ meltfptr[21]); ; /*_.HOOKFUN__V25*/ meltfptr[24] = /*_.LAMBDA___V26*/ meltfptr[25];; /*citerblock FOREACH_PAIR*/ { /* start foreach_pair meltcit1__EACHPAIR */ for (/*_.CURPAIRCASE__V27*/ meltfptr[26] = /*_.FIRSTPAIR__V21*/ meltfptr[20]; melt_magic_discr((melt_ptr_t) /*_.CURPAIRCASE__V27*/ meltfptr[26]) == MELTOBMAG_PAIR; /*_.CURPAIRCASE__V27*/ meltfptr[26] = melt_pair_tail((melt_ptr_t) /*_.CURPAIRCASE__V27*/ meltfptr[26])) { /*_.CURCASE__V28*/ meltfptr[27] = melt_pair_head((melt_ptr_t) /*_.CURPAIRCASE__V27*/ meltfptr[26]); #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:7089:/ cppif.then"); /*^block*/ /*anyblock*/ { { /*^locexp*/ /*melt_increment_dbgcounter*/ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL(); ; /*_#MELT_NEED_DBG__L9*/ meltfnum[8] = /*MELT_NEED_DBG*/ #if MELT_HAVE_DEBUG (/*melt_need_dbg*/ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG*/ ;; MELT_LOCATION("warmelt-macro.melt:7089:/ cond"); /*cond*/ if (/*_#MELT_NEED_DBG__L9*/ meltfnum[8]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { /*_#MELT_CALLCOUNT__L10*/ meltfnum[9] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:7089:/ apply"); /*apply*/ { union meltparam_un argtab[5]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L10*/ meltfnum[9]; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 7089; /*^apply.arg*/ argtab[3].meltbp_cstring = "mexpand_variadic curcase"; /*^apply.arg*/ argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.CURCASE__V28*/ meltfptr[27]; /*_.MELT_DEBUG_FUN__V30*/ meltfptr[29] = melt_apply ((meltclosure_ptr_t)((/*!MELT_DEBUG_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IF___V29*/ meltfptr[28] = /*_.MELT_DEBUG_FUN__V30*/ meltfptr[29];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:7089:/ clear"); /*clear*/ /*_#MELT_CALLCOUNT__L10*/ meltfnum[9] = 0 ; /*^clear*/ /*clear*/ /*_.MELT_DEBUG_FUN__V30*/ meltfptr[29] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V29*/ meltfptr[28] = /*reallynil*/ NULL ;; } ; { MELT_LOCATION("warmelt-macro.melt:7089:/ locexp"); /*void*/(void)0; } ; /*^quasiblock*/ /*epilog*/ /*^clear*/ /*clear*/ /*_#MELT_NEED_DBG__L9*/ meltfnum[8] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V29*/ meltfptr[28] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*^block*/ /*anyblock*/ { { /*^locexp*/ /*void*/(void)0; } ; /*epilog*/ } #endif /*MELT_HAVE_DEBUG*/ ; MELT_CHECK_SIGNAL(); ; /*_#IS_NOT_A__L11*/ meltfnum[9] = !melt_is_instance_of((melt_ptr_t)(/*_.CURCASE__V28*/ meltfptr[27]), (melt_ptr_t)((/*!CLASS_SEXPR*/ meltfrout->tabval[1])));; MELT_LOCATION("warmelt-macro.melt:7090:/ cond"); /*cond*/ if (/*_#IS_NOT_A__L11*/ meltfnum[9]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { { MELT_LOCATION("warmelt-macro.melt:7092:/ locexp"); /* error_plain */ melt_error_str((melt_ptr_t)(/*_.LOC__V19*/ meltfptr[18]), ( "(VARIADIC variadic-case...) expects a list, so cannot have non-list\ components."), (melt_ptr_t)0); } ; MELT_LOCATION("warmelt-macro.melt:7093:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*reallynil*/ NULL ;; { MELT_LOCATION("warmelt-macro.melt:7093:/ locexp"); /*ochecknores compilobj_nrep_return*/ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results(); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG*/ ; } ; /*^finalreturn*/ ; /*finalret*/ goto meltlabend_rout ; MELT_LOCATION("warmelt-macro.melt:7091:/ quasiblock"); /*_.PROGN___V33*/ meltfptr[32] = /*_.RETURN___V32*/ meltfptr[28];; /*^compute*/ /*_._IF___V31*/ meltfptr[29] = /*_.PROGN___V33*/ meltfptr[32];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:7090:/ clear"); /*clear*/ /*_.RETURN___V32*/ meltfptr[28] = 0 ; /*^clear*/ /*clear*/ /*_.PROGN___V33*/ meltfptr[32] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V31*/ meltfptr[29] = /*reallynil*/ NULL ;; } ; MELT_LOCATION("warmelt-macro.melt:7094:/ quasiblock"); MELT_LOCATION("warmelt-macro.melt:7095:/ getslot"); { melt_ptr_t slot=NULL, obj=NULL; obj = (melt_ptr_t)(/*_.CURCASE__V28*/ meltfptr[27]) /*=obj*/; melt_object_get_field(slot,obj, 1, "LOCA_LOCATION"); /*_.CURCASELOC__V35*/ meltfptr[32] = slot; }; ; MELT_LOCATION("warmelt-macro.melt:7096:/ getslot"); { melt_ptr_t slot=NULL, obj=NULL; obj = (melt_ptr_t)(/*_.CURCASE__V28*/ meltfptr[27]) /*=obj*/; melt_object_get_field(slot,obj, 2, "SEXP_CONTENTS"); /*_.CURCASECONT__V36*/ meltfptr[35] = slot; }; ; /*_.CURCASEPAIR__V37*/ meltfptr[36] = (melt_list_first((melt_ptr_t)(/*_.CURCASECONT__V36*/ meltfptr[35])));; /*^compute*/ /*_.CASEFIRST__V38*/ meltfptr[37] = (melt_pair_head((melt_ptr_t)(/*_.CURCASEPAIR__V37*/ meltfptr[36])));; /*^compute*/ /*_.CASEREST__V39*/ meltfptr[38] = (melt_pair_tail((melt_ptr_t)(/*_.CURCASEPAIR__V37*/ meltfptr[36])));; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:7101:/ cppif.then"); /*^block*/ /*anyblock*/ { { /*^locexp*/ /*melt_increment_dbgcounter*/ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL(); ; /*_#MELT_NEED_DBG__L12*/ meltfnum[8] = /*MELT_NEED_DBG*/ #if MELT_HAVE_DEBUG (/*melt_need_dbg*/ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG*/ ;; MELT_LOCATION("warmelt-macro.melt:7101:/ cond"); /*cond*/ if (/*_#MELT_NEED_DBG__L12*/ meltfnum[8]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { /*_#MELT_CALLCOUNT__L13*/ meltfnum[12] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:7101:/ apply"); /*apply*/ { union meltparam_un argtab[7]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L13*/ meltfnum[12]; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 7101; /*^apply.arg*/ argtab[3].meltbp_cstring = "mexpand_variadic casefirst="; /*^apply.arg*/ argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.CASEFIRST__V38*/ meltfptr[37]; /*^apply.arg*/ argtab[5].meltbp_cstring = " curcase="; /*^apply.arg*/ argtab[6].meltbp_aptr = (melt_ptr_t*) &/*_.CURCASE__V28*/ meltfptr[27]; /*_.MELT_DEBUG_FUN__V41*/ meltfptr[40] = melt_apply ((meltclosure_ptr_t)((/*!MELT_DEBUG_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IF___V40*/ meltfptr[39] = /*_.MELT_DEBUG_FUN__V41*/ meltfptr[40];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:7101:/ clear"); /*clear*/ /*_#MELT_CALLCOUNT__L13*/ meltfnum[12] = 0 ; /*^clear*/ /*clear*/ /*_.MELT_DEBUG_FUN__V41*/ meltfptr[40] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V40*/ meltfptr[39] = /*reallynil*/ NULL ;; } ; { MELT_LOCATION("warmelt-macro.melt:7101:/ locexp"); /*void*/(void)0; } ; /*^quasiblock*/ /*epilog*/ /*^clear*/ /*clear*/ /*_#MELT_NEED_DBG__L12*/ meltfnum[8] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V40*/ meltfptr[39] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*^block*/ /*anyblock*/ { { /*^locexp*/ /*void*/(void)0; } ; /*epilog*/ } #endif /*MELT_HAVE_DEBUG*/ ; MELT_CHECK_SIGNAL(); ; /*_#eqeq__L14*/ meltfnum[12] = ((/*_.CASEFIRST__V38*/ meltfptr[37]) == ((/*!konst_9_ELSE*/ meltfrout->tabval[9])));; MELT_LOCATION("warmelt-macro.melt:7103:/ cond"); /*cond*/ if (/*_#eqeq__L14*/ meltfnum[12]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*_.PAIR_TAIL__V43*/ meltfptr[39] = (melt_pair_tail((melt_ptr_t)(/*_.CURPAIRCASE__V27*/ meltfptr[26])));; MELT_LOCATION("warmelt-macro.melt:7104:/ cond"); /*cond*/ if (/*_.PAIR_TAIL__V43*/ meltfptr[39]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { { MELT_LOCATION("warmelt-macro.melt:7106:/ locexp"); /* error_plain */ melt_error_str((melt_ptr_t)(/*_.CURCASELOC__V35*/ meltfptr[32]), ( "case (:ELSE ...) should be last in (VARIADIC ...)"), (melt_ptr_t)0); } ; { MELT_LOCATION("warmelt-macro.melt:7107:/ locexp"); melt_warning_str(0, (melt_ptr_t)(/*_.LOC__V19*/ meltfptr[18]), ( "This (VARIADIC ...) should have (:ELSE ...) case at last"), (melt_ptr_t)0); } ; MELT_LOCATION("warmelt-macro.melt:7108:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*reallynil*/ NULL ;; { MELT_LOCATION("warmelt-macro.melt:7108:/ locexp"); /*ochecknores compilobj_nrep_return*/ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results(); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG*/ ; } ; /*^finalreturn*/ ; /*finalret*/ goto meltlabend_rout ; MELT_LOCATION("warmelt-macro.melt:7105:/ quasiblock"); /*_.PROGN___V46*/ meltfptr[45] = /*_.RETURN___V45*/ meltfptr[44];; /*^compute*/ /*_._IF___V44*/ meltfptr[43] = /*_.PROGN___V46*/ meltfptr[45];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:7104:/ clear"); /*clear*/ /*_.RETURN___V45*/ meltfptr[44] = 0 ; /*^clear*/ /*clear*/ /*_.PROGN___V46*/ meltfptr[45] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V44*/ meltfptr[43] = /*reallynil*/ NULL ;; } ; MELT_LOCATION("warmelt-macro.melt:7109:/ quasiblock"); MELT_LOCATION("warmelt-macro.melt:7112:/ quasiblock"); /*^newclosure*/ /*newclosure*/ /*_.LAMBDA___V49*/ meltfptr[48] = (melt_ptr_t) meltgc_new_closure((meltobject_ptr_t)(((melt_ptr_t)(MELT_PREDEF(DISCR_CLOSURE)))), (meltroutine_ptr_t)((/*!konst_12*/ meltfrout->tabval[12])), (3)); ; /*^putclosedv*/ /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V49*/ meltfptr[48])) == MELTOBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 0>= 0 && 0< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V49*/ meltfptr[48]))); ((meltclosure_ptr_t)/*_.LAMBDA___V49*/ meltfptr[48])->tabval[0] = (melt_ptr_t)(/*_.MEXPANDER__V4*/ meltfptr[3]); ; /*^putclosedv*/ /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V49*/ meltfptr[48])) == MELTOBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 1>= 0 && 1< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V49*/ meltfptr[48]))); ((meltclosure_ptr_t)/*_.LAMBDA___V49*/ meltfptr[48])->tabval[1] = (melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2]); ; /*^putclosedv*/ /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V49*/ meltfptr[48])) == MELTOBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 2>= 0 && 2< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V49*/ meltfptr[48]))); ((meltclosure_ptr_t)/*_.LAMBDA___V49*/ meltfptr[48])->tabval[2] = (melt_ptr_t)(/*_.MODCTX__V5*/ meltfptr[4]); ; /*_.LAMBDA___V48*/ meltfptr[45] = /*_.LAMBDA___V49*/ meltfptr[48];; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:7109:/ apply"); /*apply*/ { union meltparam_un argtab[2]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_aptr = (melt_ptr_t*) &(/*!DISCR_MULTIPLE*/ meltfrout->tabval[11]); /*^apply.arg*/ argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.LAMBDA___V48*/ meltfptr[45]; /*_.BODYTUP__V50*/ meltfptr[49] = melt_apply ((meltclosure_ptr_t)((/*!PAIRLIST_TO_MULTIPLE*/ meltfrout->tabval[10])), (melt_ptr_t)(/*_.CASEREST__V39*/ meltfptr[38]), (MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:7114:/ cppif.then"); /*^block*/ /*anyblock*/ { { /*^locexp*/ /*melt_increment_dbgcounter*/ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL(); ; /*_#MELT_NEED_DBG__L15*/ meltfnum[8] = /*MELT_NEED_DBG*/ #if MELT_HAVE_DEBUG (/*melt_need_dbg*/ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG*/ ;; MELT_LOCATION("warmelt-macro.melt:7114:/ cond"); /*cond*/ if (/*_#MELT_NEED_DBG__L15*/ meltfnum[8]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { /*_#MELT_CALLCOUNT__L16*/ meltfnum[15] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:7114:/ apply"); /*apply*/ { union meltparam_un argtab[5]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L16*/ meltfnum[15]; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 7114; /*^apply.arg*/ argtab[3].meltbp_cstring = "mexpand_variadic else bodytup before hookfun"; /*^apply.arg*/ argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.BODYTUP__V50*/ meltfptr[49]; /*_.MELT_DEBUG_FUN__V52*/ meltfptr[51] = melt_apply ((meltclosure_ptr_t)((/*!MELT_DEBUG_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IF___V51*/ meltfptr[50] = /*_.MELT_DEBUG_FUN__V52*/ meltfptr[51];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:7114:/ clear"); /*clear*/ /*_#MELT_CALLCOUNT__L16*/ meltfnum[15] = 0 ; /*^clear*/ /*clear*/ /*_.MELT_DEBUG_FUN__V52*/ meltfptr[51] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V51*/ meltfptr[50] = /*reallynil*/ NULL ;; } ; { MELT_LOCATION("warmelt-macro.melt:7114:/ locexp"); /*void*/(void)0; } ; /*^quasiblock*/ /*epilog*/ /*^clear*/ /*clear*/ /*_#MELT_NEED_DBG__L15*/ meltfnum[8] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V51*/ meltfptr[50] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*^block*/ /*anyblock*/ { { /*^locexp*/ /*void*/(void)0; } ; /*epilog*/ } #endif /*MELT_HAVE_DEBUG*/ ; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:7115:/ cppif.then"); /*^block*/ /*anyblock*/ { { /*^locexp*/ /*melt_increment_dbgcounter*/ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL(); ; /*_#MELT_NEED_DBG__L17*/ meltfnum[15] = /*MELT_NEED_DBG*/ #if MELT_HAVE_DEBUG (/*melt_need_dbg*/ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG*/ ;; MELT_LOCATION("warmelt-macro.melt:7115:/ cond"); /*cond*/ if (/*_#MELT_NEED_DBG__L17*/ meltfnum[15]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { /*_#MELT_CALLCOUNT__L18*/ meltfnum[8] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:7115:/ apply"); /*apply*/ { union meltparam_un argtab[5]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L18*/ meltfnum[8]; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 7115; /*^apply.arg*/ argtab[3].meltbp_cstring = "mexpand_variadic hookfun before"; /*^apply.arg*/ argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.HOOKFUN__V25*/ meltfptr[24]; /*_.MELT_DEBUG_FUN__V54*/ meltfptr[50] = melt_apply ((meltclosure_ptr_t)((/*!MELT_DEBUG_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IF___V53*/ meltfptr[51] = /*_.MELT_DEBUG_FUN__V54*/ meltfptr[50];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:7115:/ clear"); /*clear*/ /*_#MELT_CALLCOUNT__L18*/ meltfnum[8] = 0 ; /*^clear*/ /*clear*/ /*_.MELT_DEBUG_FUN__V54*/ meltfptr[50] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V53*/ meltfptr[51] = /*reallynil*/ NULL ;; } ; { MELT_LOCATION("warmelt-macro.melt:7115:/ locexp"); /*void*/(void)0; } ; /*^quasiblock*/ /*epilog*/ /*^clear*/ /*clear*/ /*_#MELT_NEED_DBG__L17*/ meltfnum[15] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V53*/ meltfptr[51] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*^block*/ /*anyblock*/ { { /*^locexp*/ /*void*/(void)0; } ; /*epilog*/ } #endif /*MELT_HAVE_DEBUG*/ ; { MELT_LOCATION("warmelt-macro.melt:7116:/ locexp"); #if MELT_HAVE_DEBUG if (melt_need_debug (0)) melt_dbgshortbacktrace(( "mexpand_variadic before calling hookfun for else"), (15)); #endif ; } ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:7117:/ apply"); /*apply*/ { /*_.HOOKFUN__V55*/ meltfptr[50] = melt_apply ((meltclosure_ptr_t)(/*_.HOOKFUN__V25*/ meltfptr[24]), (melt_ptr_t)(/*_.BODYTUP__V50*/ meltfptr[49]), (""), (union meltparam_un*)0, "", (union meltparam_un*)0); } ; /*_.LET___V47*/ meltfptr[44] = /*_.HOOKFUN__V55*/ meltfptr[50];; MELT_LOCATION("warmelt-macro.melt:7109:/ clear"); /*clear*/ /*_.LAMBDA___V48*/ meltfptr[45] = 0 ; /*^clear*/ /*clear*/ /*_.BODYTUP__V50*/ meltfptr[49] = 0 ; /*^clear*/ /*clear*/ /*_.HOOKFUN__V55*/ meltfptr[50] = 0 ; MELT_LOCATION("warmelt-macro.melt:7103:/ quasiblock"); /*_.PROGN___V56*/ meltfptr[51] = /*_.LET___V47*/ meltfptr[44];; /*^compute*/ /*_._IFELSE___V42*/ meltfptr[40] = /*_.PROGN___V56*/ meltfptr[51];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:7103:/ clear"); /*clear*/ /*_.PAIR_TAIL__V43*/ meltfptr[39] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V44*/ meltfptr[43] = 0 ; /*^clear*/ /*clear*/ /*_.LET___V47*/ meltfptr[44] = 0 ; /*^clear*/ /*clear*/ /*_.PROGN___V56*/ meltfptr[51] = 0 ; } ; } else /*^cond.else*/ { /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*_#NULL__L19*/ meltfnum[8] = ((/*_.CASEFIRST__V38*/ meltfptr[37]) == NULL);; MELT_LOCATION("warmelt-macro.melt:7120:/ cond"); /*cond*/ if (/*_#NULL__L19*/ meltfnum[8]) /*then*/ { /*^cond.then*/ /*_#OR___L20*/ meltfnum[15] = /*_#NULL__L19*/ meltfnum[8];; } else { MELT_LOCATION("warmelt-macro.melt:7120:/ cond.else"); /*^block*/ /*anyblock*/ { /*_#IS_A__L21*/ meltfnum[20] = melt_is_instance_of((melt_ptr_t)(/*_.CASEFIRST__V38*/ meltfptr[37]), (melt_ptr_t)((/*!CLASS_SEXPR*/ meltfrout->tabval[1])));; /*^compute*/ /*_#OR___L20*/ meltfnum[15] = /*_#IS_A__L21*/ meltfnum[20];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:7120:/ clear"); /*clear*/ /*_#IS_A__L21*/ meltfnum[20] = 0 ; } ; } ; /*^cond*/ /*cond*/ if (/*_#OR___L20*/ meltfnum[15]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:7122:/ cppif.then"); /*^block*/ /*anyblock*/ { { /*^locexp*/ /*melt_increment_dbgcounter*/ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL(); ; /*_#MELT_NEED_DBG__L22*/ meltfnum[20] = /*MELT_NEED_DBG*/ #if MELT_HAVE_DEBUG (/*melt_need_dbg*/ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG*/ ;; MELT_LOCATION("warmelt-macro.melt:7122:/ cond"); /*cond*/ if (/*_#MELT_NEED_DBG__L22*/ meltfnum[20]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { /*_#MELT_CALLCOUNT__L23*/ meltfnum[22] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:7122:/ apply"); /*apply*/ { union meltparam_un argtab[5]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L23*/ meltfnum[22]; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 7122; /*^apply.arg*/ argtab[3].meltbp_cstring = "mexpand_variadic casefirst="; /*^apply.arg*/ argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.CASEFIRST__V38*/ meltfptr[37]; /*_.MELT_DEBUG_FUN__V59*/ meltfptr[50] = melt_apply ((meltclosure_ptr_t)((/*!MELT_DEBUG_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IF___V58*/ meltfptr[49] = /*_.MELT_DEBUG_FUN__V59*/ meltfptr[50];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:7122:/ clear"); /*clear*/ /*_#MELT_CALLCOUNT__L23*/ meltfnum[22] = 0 ; /*^clear*/ /*clear*/ /*_.MELT_DEBUG_FUN__V59*/ meltfptr[50] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V58*/ meltfptr[49] = /*reallynil*/ NULL ;; } ; { MELT_LOCATION("warmelt-macro.melt:7122:/ locexp"); /*void*/(void)0; } ; /*^quasiblock*/ /*epilog*/ /*^clear*/ /*clear*/ /*_#MELT_NEED_DBG__L22*/ meltfnum[20] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V58*/ meltfptr[49] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*^block*/ /*anyblock*/ { { /*^locexp*/ /*void*/(void)0; } ; /*epilog*/ } #endif /*MELT_HAVE_DEBUG*/ ; MELT_LOCATION("warmelt-macro.melt:7123:/ quasiblock"); MELT_CHECK_SIGNAL(); ; /*^apply*/ /*apply*/ { union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_aptr = (melt_ptr_t*) &(/*!konst_14_TRUE*/ meltfrout->tabval[14]); /*_.ARGS__V61*/ meltfptr[43] = melt_apply ((meltclosure_ptr_t)((/*!LAMBDA_ARG_BINDINGS*/ meltfrout->tabval[13])), (melt_ptr_t)(/*_.CASEFIRST__V38*/ meltfptr[37]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:7124:/ apply"); /*apply*/ { /*_.NEWENV__V62*/ meltfptr[44] = melt_apply ((meltclosure_ptr_t)((/*!FRESH_ENV*/ meltfrout->tabval[15])), (melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2]), (""), (union meltparam_un*)0, "", (union meltparam_un*)0); } ; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:7126:/ cppif.then"); /*^block*/ /*anyblock*/ { { /*^locexp*/ /*melt_increment_dbgcounter*/ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL(); ; /*_#MELT_NEED_DBG__L24*/ meltfnum[22] = /*MELT_NEED_DBG*/ #if MELT_HAVE_DEBUG (/*melt_need_dbg*/ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG*/ ;; MELT_LOCATION("warmelt-macro.melt:7126:/ cond"); /*cond*/ if (/*_#MELT_NEED_DBG__L24*/ meltfnum[22]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { /*_#MELT_CALLCOUNT__L25*/ meltfnum[20] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:7126:/ apply"); /*apply*/ { union meltparam_un argtab[5]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L25*/ meltfnum[20]; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 7126; /*^apply.arg*/ argtab[3].meltbp_cstring = "mexpand_variadic args"; /*^apply.arg*/ argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.ARGS__V61*/ meltfptr[43]; /*_.MELT_DEBUG_FUN__V64*/ meltfptr[50] = melt_apply ((meltclosure_ptr_t)((/*!MELT_DEBUG_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IF___V63*/ meltfptr[51] = /*_.MELT_DEBUG_FUN__V64*/ meltfptr[50];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:7126:/ clear"); /*clear*/ /*_#MELT_CALLCOUNT__L25*/ meltfnum[20] = 0 ; /*^clear*/ /*clear*/ /*_.MELT_DEBUG_FUN__V64*/ meltfptr[50] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V63*/ meltfptr[51] = /*reallynil*/ NULL ;; } ; { MELT_LOCATION("warmelt-macro.melt:7126:/ locexp"); /*void*/(void)0; } ; /*^quasiblock*/ /*epilog*/ /*^clear*/ /*clear*/ /*_#MELT_NEED_DBG__L24*/ meltfnum[22] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V63*/ meltfptr[51] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*^block*/ /*anyblock*/ { { /*^locexp*/ /*void*/(void)0; } ; /*epilog*/ } #endif /*MELT_HAVE_DEBUG*/ ; /*citerblock FOREACH_IN_MULTIPLE*/ { /* start foreach_in_multiple meltcit2__EACHTUP */ long meltcit2__EACHTUP_ln = melt_multiple_length((melt_ptr_t)/*_.ARGS__V61*/ meltfptr[43]); for (/*_#FIX__L26*/ meltfnum[20] = 0; (/*_#FIX__L26*/ meltfnum[20] >= 0) && (/*_#FIX__L26*/ meltfnum[20] < meltcit2__EACHTUP_ln); /*_#FIX__L26*/ meltfnum[20]++) { /*_.FBI__V65*/ meltfptr[49] = melt_multiple_nth((melt_ptr_t)(/*_.ARGS__V61*/ meltfptr[43]), /*_#FIX__L26*/ meltfnum[20]); #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:7130:/ cppif.then"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*_#IS_A__L27*/ meltfnum[22] = melt_is_instance_of((melt_ptr_t)(/*_.FBI__V65*/ meltfptr[49]), (melt_ptr_t)((/*!CLASS_FORMAL_BINDING*/ meltfrout->tabval[16])));; MELT_LOCATION("warmelt-macro.melt:7130:/ cond"); /*cond*/ if (/*_#IS_A__L27*/ meltfnum[22]) /*then*/ { /*^cond.then*/ /*_._IFELSE___V67*/ meltfptr[51] = (/*nil*/NULL);; } else { MELT_LOCATION("warmelt-macro.melt:7130:/ cond.else"); /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL(); ; /*^apply*/ /*apply*/ { union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_cstring = "check fbi"; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 7130; /*^apply.arg*/ argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.FBI__V65*/ meltfptr[49]; /*_.MELT_ASSERT_FAILURE_FUN__V68*/ meltfptr[67] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[2])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IFELSE___V67*/ meltfptr[51] = /*_.MELT_ASSERT_FAILURE_FUN__V68*/ meltfptr[67];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:7130:/ clear"); /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V68*/ meltfptr[67] = 0 ; } ; } ; /*_.IFCPP___V66*/ meltfptr[50] = /*_._IFELSE___V67*/ meltfptr[51];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:7130:/ clear"); /*clear*/ /*_#IS_A__L27*/ meltfnum[22] = 0 ; /*^clear*/ /*clear*/ /*_._IFELSE___V67*/ meltfptr[51] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*_.IFCPP___V66*/ meltfptr[50] = (/*nil*/NULL); #endif /*MELT_HAVE_DEBUG*/ ; MELT_LOCATION("warmelt-macro.melt:7131:/ quasiblock"); /*^cond*/ /*cond*/ if ( /*ifisa*/ melt_is_instance_of((melt_ptr_t)(/*_.FBI__V65*/ meltfptr[49]), (melt_ptr_t)((/*!CLASS_ANY_BINDING*/ meltfrout->tabval[17]))) ) /*then*/ { /*^cond.then*/ /*^getslot*/ { melt_ptr_t slot=NULL, obj=NULL; obj = (melt_ptr_t)(/*_.FBI__V65*/ meltfptr[49]) /*=obj*/; melt_object_get_field(slot,obj, 0, "BINDER"); /*_.FBISYMB__V70*/ meltfptr[51] = slot; }; ; } else /*^cond.else*/ { /*_.FBISYMB__V70*/ meltfptr[51] = /*reallynil*/ NULL ;; } ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:7133:/ apply"); /*apply*/ { union meltparam_un argtab[2]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_aptr = (melt_ptr_t*) &/*_.NEWENV__V62*/ meltfptr[44]; /*^apply.arg*/ argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.LOC__V19*/ meltfptr[18]; /*_.WARN_IF_REDEFINED__V71*/ meltfptr[70] = melt_apply ((meltclosure_ptr_t)((/*!WARN_IF_REDEFINED*/ meltfrout->tabval[18])), (melt_ptr_t)(/*_.FBISYMB__V70*/ meltfptr[51]), (MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; MELT_CHECK_SIGNAL(); ; /*_.MAPOBJECT_GET__V72*/ meltfptr[71] = /*mapobject_get*/ melt_get_mapobjects((meltmapobjects_ptr_t)(/*_.VARBINDMAP__V24*/ meltfptr[23]), (meltobject_ptr_t)(/*_.FBISYMB__V70*/ meltfptr[51]));; MELT_LOCATION("warmelt-macro.melt:7134:/ cond"); /*cond*/ if (/*_.MAPOBJECT_GET__V72*/ meltfptr[71]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { MELT_LOCATION("warmelt-macro.melt:7137:/ cond"); /*cond*/ if ( /*ifisa*/ melt_is_instance_of((melt_ptr_t)(/*_.FBISYMB__V70*/ meltfptr[51]), (melt_ptr_t)((/*!CLASS_NAMED*/ meltfrout->tabval[20]))) ) /*then*/ { /*^cond.then*/ /*^getslot*/ { melt_ptr_t slot=NULL, obj=NULL; obj = (melt_ptr_t)(/*_.FBISYMB__V70*/ meltfptr[51]) /*=obj*/; melt_object_get_field(slot,obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V74*/ meltfptr[73] = slot; }; ; } else /*^cond.else*/ { /*_.NAMED_NAME__V74*/ meltfptr[73] = /*reallynil*/ NULL ;; } ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:7136:/ apply"); /*apply*/ { union meltparam_un argtab[2]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_cstring = "formals should all be distinct in (VARIADIC ...) but $1 is repeated"; /*^apply.arg*/ argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.NAMED_NAME__V74*/ meltfptr[73]; /*_.ERROR_AT__V75*/ meltfptr[74] = melt_apply ((meltclosure_ptr_t)((/*!ERROR_AT*/ meltfrout->tabval[19])), (melt_ptr_t)(/*_.CURCASELOC__V35*/ meltfptr[32]), (MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IF___V73*/ meltfptr[72] = /*_.ERROR_AT__V75*/ meltfptr[74];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:7134:/ clear"); /*clear*/ /*_.NAMED_NAME__V74*/ meltfptr[73] = 0 ; /*^clear*/ /*clear*/ /*_.ERROR_AT__V75*/ meltfptr[74] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V73*/ meltfptr[72] = /*reallynil*/ NULL ;; } ; { MELT_LOCATION("warmelt-macro.melt:7139:/ locexp"); meltgc_put_mapobjects( (meltmapobjects_ptr_t) (/*_.VARBINDMAP__V24*/ meltfptr[23]), (meltobject_ptr_t) (/*_.FBISYMB__V70*/ meltfptr[51]), (melt_ptr_t)(/*_.FBI__V65*/ meltfptr[49])); } ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:7140:/ apply"); /*apply*/ { union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_aptr = (melt_ptr_t*) &/*_.FBI__V65*/ meltfptr[49]; /*_.PUT_ENV__V76*/ meltfptr[73] = melt_apply ((meltclosure_ptr_t)((/*!PUT_ENV*/ meltfrout->tabval[21])), (melt_ptr_t)(/*_.NEWENV__V62*/ meltfptr[44]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_.LET___V69*/ meltfptr[67] = /*_.PUT_ENV__V76*/ meltfptr[73];; MELT_LOCATION("warmelt-macro.melt:7131:/ clear"); /*clear*/ /*_.FBISYMB__V70*/ meltfptr[51] = 0 ; /*^clear*/ /*clear*/ /*_.WARN_IF_REDEFINED__V71*/ meltfptr[70] = 0 ; /*^clear*/ /*clear*/ /*_.MAPOBJECT_GET__V72*/ meltfptr[71] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V73*/ meltfptr[72] = 0 ; /*^clear*/ /*clear*/ /*_.PUT_ENV__V76*/ meltfptr[73] = 0 ; if (/*_#FIX__L26*/ meltfnum[20]<0) break; } /* end foreach_in_multiple meltcit2__EACHTUP */ /*citerepilog*/ MELT_LOCATION("warmelt-macro.melt:7127:/ clear"); /*clear*/ /*_.FBI__V65*/ meltfptr[49] = 0 ; /*^clear*/ /*clear*/ /*_#FIX__L26*/ meltfnum[20] = 0 ; /*^clear*/ /*clear*/ /*_.IFCPP___V66*/ meltfptr[50] = 0 ; /*^clear*/ /*clear*/ /*_.LET___V69*/ meltfptr[67] = 0 ; } /*endciterblock FOREACH_IN_MULTIPLE*/ ; MELT_LOCATION("warmelt-macro.melt:7142:/ quasiblock"); MELT_LOCATION("warmelt-macro.melt:7144:/ quasiblock"); /*^newclosure*/ /*newclosure*/ /*_.LAMBDA___V79*/ meltfptr[70] = (melt_ptr_t) meltgc_new_closure((meltobject_ptr_t)(((melt_ptr_t)(MELT_PREDEF(DISCR_CLOSURE)))), (meltroutine_ptr_t)((/*!konst_22*/ meltfrout->tabval[22])), (3)); ; /*^putclosedv*/ /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V79*/ meltfptr[70])) == MELTOBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 0>= 0 && 0< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V79*/ meltfptr[70]))); ((meltclosure_ptr_t)/*_.LAMBDA___V79*/ meltfptr[70])->tabval[0] = (melt_ptr_t)(/*_.MEXPANDER__V4*/ meltfptr[3]); ; /*^putclosedv*/ /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V79*/ meltfptr[70])) == MELTOBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 1>= 0 && 1< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V79*/ meltfptr[70]))); ((meltclosure_ptr_t)/*_.LAMBDA___V79*/ meltfptr[70])->tabval[1] = (melt_ptr_t)(/*_.NEWENV__V62*/ meltfptr[44]); ; /*^putclosedv*/ /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V79*/ meltfptr[70])) == MELTOBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 2>= 0 && 2< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V79*/ meltfptr[70]))); ((meltclosure_ptr_t)/*_.LAMBDA___V79*/ meltfptr[70])->tabval[2] = (melt_ptr_t)(/*_.MODCTX__V5*/ meltfptr[4]); ; /*_.LAMBDA___V78*/ meltfptr[51] = /*_.LAMBDA___V79*/ meltfptr[70];; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:7142:/ apply"); /*apply*/ { union meltparam_un argtab[2]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_aptr = (melt_ptr_t*) &(/*!DISCR_MULTIPLE*/ meltfrout->tabval[11]); /*^apply.arg*/ argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.LAMBDA___V78*/ meltfptr[51]; /*_.BODYTUP__V80*/ meltfptr[71] = melt_apply ((meltclosure_ptr_t)((/*!PAIRLIST_TO_MULTIPLE*/ meltfrout->tabval[10])), (melt_ptr_t)(/*_.CASEREST__V39*/ meltfptr[38]), (MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:7145:/ quasiblock"); /*^rawallocobj*/ /*rawallocobj*/ { melt_ptr_t newobj = 0; melt_raw_object_create(newobj,(melt_ptr_t)((/*!CLASS_SOURCE_IFVARIADIC*/ meltfrout->tabval[23])), (5), "CLASS_SOURCE_IFVARIADIC"); /*_.INST__V82*/ meltfptr[73] = newobj; }; ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @LOCA_LOCATION", melt_magic_discr((melt_ptr_t)(/*_.INST__V82*/ meltfptr[73])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V82*/ meltfptr[73]), (1), (/*_.LOC__V19*/ meltfptr[18]), "LOCA_LOCATION"); ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @SIFVARIADIC_ARGBIND", melt_magic_discr((melt_ptr_t)(/*_.INST__V82*/ meltfptr[73])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V82*/ meltfptr[73]), (2), (/*_.ARGS__V61*/ meltfptr[43]), "SIFVARIADIC_ARGBIND"); ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @SIFVARIADIC_THEN", melt_magic_discr((melt_ptr_t)(/*_.INST__V82*/ meltfptr[73])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V82*/ meltfptr[73]), (3), (/*_.BODYTUP__V80*/ meltfptr[71]), "SIFVARIADIC_THEN"); ; /*^putslot*/ /*putslot*/ melt_assertmsg("checkobj putslot _ @SIFVARIADIC_ELSE", melt_magic_discr((melt_ptr_t)(/*_.INST__V82*/ meltfptr[73])) == MELTOBMAG_OBJECT); melt_putfield_object((/*_.INST__V82*/ meltfptr[73]), (4), ((/*nil*/NULL)), "SIFVARIADIC_ELSE"); ; /*^touchobj*/ melt_dbgtrace_written_object (/*_.INST__V82*/ meltfptr[73], "newly made instance"); ; /*_.SIFVARIADIC__V81*/ meltfptr[72] = /*_.INST__V82*/ meltfptr[73];; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:7151:/ cppif.then"); /*^block*/ /*anyblock*/ { { /*^locexp*/ /*melt_increment_dbgcounter*/ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL(); ; /*_#MELT_NEED_DBG__L28*/ meltfnum[22] = /*MELT_NEED_DBG*/ #if MELT_HAVE_DEBUG (/*melt_need_dbg*/ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG*/ ;; MELT_LOCATION("warmelt-macro.melt:7151:/ cond"); /*cond*/ if (/*_#MELT_NEED_DBG__L28*/ meltfnum[22]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { /*_#MELT_CALLCOUNT__L29*/ meltfnum[28] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:7151:/ apply"); /*apply*/ { union meltparam_un argtab[5]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L29*/ meltfnum[28]; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 7151; /*^apply.arg*/ argtab[3].meltbp_cstring = "mexpand_variadic bodytup"; /*^apply.arg*/ argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.BODYTUP__V80*/ meltfptr[71]; /*_.MELT_DEBUG_FUN__V84*/ meltfptr[83] = melt_apply ((meltclosure_ptr_t)((/*!MELT_DEBUG_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IF___V83*/ meltfptr[82] = /*_.MELT_DEBUG_FUN__V84*/ meltfptr[83];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:7151:/ clear"); /*clear*/ /*_#MELT_CALLCOUNT__L29*/ meltfnum[28] = 0 ; /*^clear*/ /*clear*/ /*_.MELT_DEBUG_FUN__V84*/ meltfptr[83] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V83*/ meltfptr[82] = /*reallynil*/ NULL ;; } ; { MELT_LOCATION("warmelt-macro.melt:7151:/ locexp"); /*void*/(void)0; } ; /*^quasiblock*/ /*epilog*/ /*^clear*/ /*clear*/ /*_#MELT_NEED_DBG__L28*/ meltfnum[22] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V83*/ meltfptr[82] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*^block*/ /*anyblock*/ { { /*^locexp*/ /*void*/(void)0; } ; /*epilog*/ } #endif /*MELT_HAVE_DEBUG*/ ; { MELT_LOCATION("warmelt-macro.melt:7152:/ locexp"); #if MELT_HAVE_DEBUG if (melt_need_debug (0)) melt_dbgshortbacktrace(( "mexpand_variadic before calling hookfun for casefirst"), (15)); #endif ; } ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:7153:/ apply"); /*apply*/ { /*_.HOOKFUN__V85*/ meltfptr[83] = melt_apply ((meltclosure_ptr_t)(/*_.HOOKFUN__V25*/ meltfptr[24]), (melt_ptr_t)(/*_.SIFVARIADIC__V81*/ meltfptr[72]), (""), (union meltparam_un*)0, "", (union meltparam_un*)0); } ; MELT_LOCATION("warmelt-macro.melt:7155:/ quasiblock"); /*^newclosure*/ /*newclosure*/ /*_.LAMBDA___V87*/ meltfptr[86] = (melt_ptr_t) meltgc_new_closure((meltobject_ptr_t)(((melt_ptr_t)(MELT_PREDEF(DISCR_CLOSURE)))), (meltroutine_ptr_t)((/*!konst_26*/ meltfrout->tabval[26])), (1)); ; /*^putclosedv*/ /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V87*/ meltfptr[86])) == MELTOBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 0>= 0 && 0< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V87*/ meltfptr[86]))); ((meltclosure_ptr_t)/*_.LAMBDA___V87*/ meltfptr[86])->tabval[0] = (melt_ptr_t)(/*_.SIFVARIADIC__V81*/ meltfptr[72]); ; /*_.LAMBDA___V86*/ meltfptr[82] = /*_.LAMBDA___V87*/ meltfptr[86];; MELT_LOCATION("warmelt-macro.melt:7154:/ compute"); /*_.HOOKFUN__V25*/ meltfptr[24] = /*_.SETQ___V88*/ meltfptr[87] = /*_.LAMBDA___V86*/ meltfptr[82];; /*_.LET___V77*/ meltfptr[74] = /*_.SETQ___V88*/ meltfptr[87];; MELT_LOCATION("warmelt-macro.melt:7142:/ clear"); /*clear*/ /*_.LAMBDA___V78*/ meltfptr[51] = 0 ; /*^clear*/ /*clear*/ /*_.BODYTUP__V80*/ meltfptr[71] = 0 ; /*^clear*/ /*clear*/ /*_.SIFVARIADIC__V81*/ meltfptr[72] = 0 ; /*^clear*/ /*clear*/ /*_.HOOKFUN__V85*/ meltfptr[83] = 0 ; /*^clear*/ /*clear*/ /*_.LAMBDA___V86*/ meltfptr[82] = 0 ; /*^clear*/ /*clear*/ /*_.SETQ___V88*/ meltfptr[87] = 0 ; /*_.LET___V60*/ meltfptr[39] = /*_.LET___V77*/ meltfptr[74];; MELT_LOCATION("warmelt-macro.melt:7123:/ clear"); /*clear*/ /*_.ARGS__V61*/ meltfptr[43] = 0 ; /*^clear*/ /*clear*/ /*_.NEWENV__V62*/ meltfptr[44] = 0 ; /*^clear*/ /*clear*/ /*_.LET___V77*/ meltfptr[74] = 0 ; MELT_LOCATION("warmelt-macro.melt:7120:/ quasiblock"); /*_.PROGN___V89*/ meltfptr[51] = /*_.LET___V60*/ meltfptr[39];; /*^compute*/ /*_._IFELSE___V57*/ meltfptr[45] = /*_.PROGN___V89*/ meltfptr[51];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:7120:/ clear"); /*clear*/ /*_.LET___V60*/ meltfptr[39] = 0 ; /*^clear*/ /*clear*/ /*_.PROGN___V89*/ meltfptr[51] = 0 ; } ; } else /*^cond.else*/ { /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:7165:/ cppif.then"); /*^block*/ /*anyblock*/ { { /*^locexp*/ /*melt_increment_dbgcounter*/ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL(); ; /*_#MELT_NEED_DBG__L30*/ meltfnum[28] = /*MELT_NEED_DBG*/ #if MELT_HAVE_DEBUG (/*melt_need_dbg*/ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG*/ ;; MELT_LOCATION("warmelt-macro.melt:7165:/ cond"); /*cond*/ if (/*_#MELT_NEED_DBG__L30*/ meltfnum[28]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { /*_#MELT_CALLCOUNT__L31*/ meltfnum[22] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:7165:/ apply"); /*apply*/ { union meltparam_un argtab[5]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L31*/ meltfnum[22]; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 7165; /*^apply.arg*/ argtab[3].meltbp_cstring = "mexpand_variadic invalid casefirst"; /*^apply.arg*/ argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.CASEFIRST__V38*/ meltfptr[37]; /*_.MELT_DEBUG_FUN__V91*/ meltfptr[72] = melt_apply ((meltclosure_ptr_t)((/*!MELT_DEBUG_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IF___V90*/ meltfptr[71] = /*_.MELT_DEBUG_FUN__V91*/ meltfptr[72];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:7165:/ clear"); /*clear*/ /*_#MELT_CALLCOUNT__L31*/ meltfnum[22] = 0 ; /*^clear*/ /*clear*/ /*_.MELT_DEBUG_FUN__V91*/ meltfptr[72] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V90*/ meltfptr[71] = /*reallynil*/ NULL ;; } ; { MELT_LOCATION("warmelt-macro.melt:7165:/ locexp"); /*void*/(void)0; } ; /*^quasiblock*/ /*epilog*/ /*^clear*/ /*clear*/ /*_#MELT_NEED_DBG__L30*/ meltfnum[28] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V90*/ meltfptr[71] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*^block*/ /*anyblock*/ { { /*^locexp*/ /*void*/(void)0; } ; /*epilog*/ } #endif /*MELT_HAVE_DEBUG*/ ; { MELT_LOCATION("warmelt-macro.melt:7166:/ locexp"); /* error_plain */ melt_error_str((melt_ptr_t)(/*_.CURCASELOC__V35*/ meltfptr[32]), ( "invalid case in (VARIADIC ...), should start with formals"), (melt_ptr_t)0); } ; MELT_LOCATION("warmelt-macro.melt:7167:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*reallynil*/ NULL ;; { MELT_LOCATION("warmelt-macro.melt:7167:/ locexp"); /*ochecknores compilobj_nrep_return*/ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results(); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG*/ ; } ; /*^finalreturn*/ ; /*finalret*/ goto meltlabend_rout ; MELT_LOCATION("warmelt-macro.melt:7164:/ quasiblock"); /*_.PROGN___V93*/ meltfptr[82] = /*_.RETURN___V92*/ meltfptr[83];; /*^compute*/ /*_._IFELSE___V57*/ meltfptr[45] = /*_.PROGN___V93*/ meltfptr[82];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:7120:/ clear"); /*clear*/ /*_.RETURN___V92*/ meltfptr[83] = 0 ; /*^clear*/ /*clear*/ /*_.PROGN___V93*/ meltfptr[82] = 0 ; } ; } ; /*_._IFELSE___V42*/ meltfptr[40] = /*_._IFELSE___V57*/ meltfptr[45];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:7103:/ clear"); /*clear*/ /*_#NULL__L19*/ meltfnum[8] = 0 ; /*^clear*/ /*clear*/ /*_#OR___L20*/ meltfnum[15] = 0 ; /*^clear*/ /*clear*/ /*_._IFELSE___V57*/ meltfptr[45] = 0 ; } ; } ; /*_.LET___V34*/ meltfptr[28] = /*_._IFELSE___V42*/ meltfptr[40];; MELT_LOCATION("warmelt-macro.melt:7094:/ clear"); /*clear*/ /*_.CURCASELOC__V35*/ meltfptr[32] = 0 ; /*^clear*/ /*clear*/ /*_.CURCASECONT__V36*/ meltfptr[35] = 0 ; /*^clear*/ /*clear*/ /*_.CURCASEPAIR__V37*/ meltfptr[36] = 0 ; /*^clear*/ /*clear*/ /*_.CASEFIRST__V38*/ meltfptr[37] = 0 ; /*^clear*/ /*clear*/ /*_.CASEREST__V39*/ meltfptr[38] = 0 ; /*^clear*/ /*clear*/ /*_#eqeq__L14*/ meltfnum[12] = 0 ; /*^clear*/ /*clear*/ /*_._IFELSE___V42*/ meltfptr[40] = 0 ; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:7171:/ cppif.then"); /*^block*/ /*anyblock*/ { { /*^locexp*/ /*melt_increment_dbgcounter*/ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL(); ; /*_#MELT_NEED_DBG__L32*/ meltfnum[22] = /*MELT_NEED_DBG*/ #if MELT_HAVE_DEBUG (/*melt_need_dbg*/ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG*/ ;; MELT_LOCATION("warmelt-macro.melt:7171:/ cond"); /*cond*/ if (/*_#MELT_NEED_DBG__L32*/ meltfnum[22]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { /*_#MELT_CALLCOUNT__L33*/ meltfnum[28] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:7171:/ apply"); /*apply*/ { union meltparam_un argtab[5]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L33*/ meltfnum[28]; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 7171; /*^apply.arg*/ argtab[3].meltbp_cstring = "mexpand_variadic done curcase"; /*^apply.arg*/ argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.CURCASE__V28*/ meltfptr[27]; /*_.MELT_DEBUG_FUN__V95*/ meltfptr[43] = melt_apply ((meltclosure_ptr_t)((/*!MELT_DEBUG_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IF___V94*/ meltfptr[87] = /*_.MELT_DEBUG_FUN__V95*/ meltfptr[43];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:7171:/ clear"); /*clear*/ /*_#MELT_CALLCOUNT__L33*/ meltfnum[28] = 0 ; /*^clear*/ /*clear*/ /*_.MELT_DEBUG_FUN__V95*/ meltfptr[43] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V94*/ meltfptr[87] = /*reallynil*/ NULL ;; } ; { MELT_LOCATION("warmelt-macro.melt:7171:/ locexp"); /*void*/(void)0; } ; /*^quasiblock*/ /*epilog*/ /*^clear*/ /*clear*/ /*_#MELT_NEED_DBG__L32*/ meltfnum[22] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V94*/ meltfptr[87] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*^block*/ /*anyblock*/ { { /*^locexp*/ /*void*/(void)0; } ; /*epilog*/ } #endif /*MELT_HAVE_DEBUG*/ ; } /* ending foreach_pair meltcit1__EACHPAIR */ /*_.CURPAIRCASE__V27*/ meltfptr[26] = NULL; /*_.CURCASE__V28*/ meltfptr[27] = NULL; /*citerepilog*/ MELT_LOCATION("warmelt-macro.melt:7086:/ clear"); /*clear*/ /*_.CURPAIRCASE__V27*/ meltfptr[26] = 0 ; /*^clear*/ /*clear*/ /*_.CURCASE__V28*/ meltfptr[27] = 0 ; /*^clear*/ /*clear*/ /*_#IS_NOT_A__L11*/ meltfnum[9] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V31*/ meltfptr[29] = 0 ; /*^clear*/ /*clear*/ /*_.LET___V34*/ meltfptr[28] = 0 ; } /*endciterblock FOREACH_PAIR*/ ; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:7173:/ cppif.then"); /*^block*/ /*anyblock*/ { { /*^locexp*/ /*melt_increment_dbgcounter*/ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL(); ; /*_#MELT_NEED_DBG__L34*/ meltfnum[8] = /*MELT_NEED_DBG*/ #if MELT_HAVE_DEBUG (/*melt_need_dbg*/ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG*/ ;; MELT_LOCATION("warmelt-macro.melt:7173:/ cond"); /*cond*/ if (/*_#MELT_NEED_DBG__L34*/ meltfnum[8]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { /*_#MELT_CALLCOUNT__L35*/ meltfnum[15] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:7173:/ apply"); /*apply*/ { union meltparam_un argtab[5]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L35*/ meltfnum[15]; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 7173; /*^apply.arg*/ argtab[3].meltbp_cstring = "mexpand_variadic rescont"; /*^apply.arg*/ argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.RESCONT__V22*/ meltfptr[21]; /*_.MELT_DEBUG_FUN__V97*/ meltfptr[74] = melt_apply ((meltclosure_ptr_t)((/*!MELT_DEBUG_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IF___V96*/ meltfptr[44] = /*_.MELT_DEBUG_FUN__V97*/ meltfptr[74];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:7173:/ clear"); /*clear*/ /*_#MELT_CALLCOUNT__L35*/ meltfnum[15] = 0 ; /*^clear*/ /*clear*/ /*_.MELT_DEBUG_FUN__V97*/ meltfptr[74] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V96*/ meltfptr[44] = /*reallynil*/ NULL ;; } ; { MELT_LOCATION("warmelt-macro.melt:7173:/ locexp"); /*void*/(void)0; } ; /*^quasiblock*/ /*epilog*/ /*^clear*/ /*clear*/ /*_#MELT_NEED_DBG__L34*/ meltfnum[8] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V96*/ meltfptr[44] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*^block*/ /*anyblock*/ { { /*^locexp*/ /*void*/(void)0; } ; /*epilog*/ } #endif /*MELT_HAVE_DEBUG*/ ; MELT_LOCATION("warmelt-macro.melt:7174:/ quasiblock"); /*^cond*/ /*cond*/ if ( /*ifisa*/ melt_is_instance_of((melt_ptr_t)(/*_.RESCONT__V22*/ meltfptr[21]), (melt_ptr_t)((/*!CLASS_REFERENCE*/ meltfrout->tabval[4]))) ) /*then*/ { /*^cond.then*/ /*^getslot*/ { melt_ptr_t slot=NULL, obj=NULL; obj = (melt_ptr_t)(/*_.RESCONT__V22*/ meltfptr[21]) /*=obj*/; melt_object_get_field(slot,obj, 0, "REFERENCED_VALUE"); /*_.RES__V99*/ meltfptr[51] = slot; }; ; } else /*^cond.else*/ { /*_.RES__V99*/ meltfptr[51] = /*reallynil*/ NULL ;; } ; #if MELT_HAVE_DEBUG MELT_LOCATION("warmelt-macro.melt:7176:/ cppif.then"); /*^block*/ /*anyblock*/ { { /*^locexp*/ /*melt_increment_dbgcounter*/ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL(); ; /*_#MELT_NEED_DBG__L36*/ meltfnum[12] = /*MELT_NEED_DBG*/ #if MELT_HAVE_DEBUG (/*melt_need_dbg*/ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG*/ ;; MELT_LOCATION("warmelt-macro.melt:7176:/ cond"); /*cond*/ if (/*_#MELT_NEED_DBG__L36*/ meltfnum[12]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/ { /*_#MELT_CALLCOUNT__L37*/ meltfnum[28] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:7176:/ apply"); /*apply*/ { union meltparam_un argtab[5]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L37*/ meltfnum[28]; /*^apply.arg*/ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg*/ argtab[2].meltbp_long = 7176; /*^apply.arg*/ argtab[3].meltbp_cstring = "mexpand_variadic result"; /*^apply.arg*/ argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.RES__V99*/ meltfptr[51]; /*_.MELT_DEBUG_FUN__V101*/ meltfptr[71] = melt_apply ((meltclosure_ptr_t)((/*!MELT_DEBUG_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_._IF___V100*/ meltfptr[72] = /*_.MELT_DEBUG_FUN__V101*/ meltfptr[71];; /*epilog*/ MELT_LOCATION("warmelt-macro.melt:7176:/ clear"); /*clear*/ /*_#MELT_CALLCOUNT__L37*/ meltfnum[28] = 0 ; /*^clear*/ /*clear*/ /*_.MELT_DEBUG_FUN__V101*/ meltfptr[71] = 0 ; } ; } else /*^cond.else*/ { /*_._IF___V100*/ meltfptr[72] = /*reallynil*/ NULL ;; } ; { MELT_LOCATION("warmelt-macro.melt:7176:/ locexp"); /*void*/(void)0; } ; /*^quasiblock*/ /*epilog*/ /*^clear*/ /*clear*/ /*_#MELT_NEED_DBG__L36*/ meltfnum[12] = 0 ; /*^clear*/ /*clear*/ /*_._IF___V100*/ meltfptr[72] = 0 ; } #else /*MELT_HAVE_DEBUG*/ /*^cppif.else*/ /*^block*/ /*anyblock*/ { { /*^locexp*/ /*void*/(void)0; } ; /*epilog*/ } #endif /*MELT_HAVE_DEBUG*/ ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:7177:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.RES__V99*/ meltfptr[51];; { MELT_LOCATION("warmelt-macro.melt:7177:/ locexp"); /*ochecknores compilobj_nrep_return*/ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results(); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG*/ ; } ; /*^finalreturn*/ ; /*finalret*/ goto meltlabend_rout ; /*_.LET___V98*/ meltfptr[39] = /*_.RETURN___V102*/ meltfptr[83];; MELT_LOCATION("warmelt-macro.melt:7174:/ clear"); /*clear*/ /*_.RES__V99*/ meltfptr[51] = 0 ; /*^clear*/ /*clear*/ /*_.RETURN___V102*/ meltfptr[83] = 0 ; /*_.LET___V17*/ meltfptr[15] = /*_.LET___V98*/ meltfptr[39];; MELT_LOCATION("warmelt-macro.melt:7077:/ clear"); /*clear*/ /*_.CONT__V18*/ meltfptr[5] = 0 ; /*^clear*/ /*clear*/ /*_.LOC__V19*/ meltfptr[18] = 0 ; /*^clear*/ /*clear*/ /*_.LIST_FIRST__V20*/ meltfptr[19] = 0 ; /*^clear*/ /*clear*/ /*_.FIRSTPAIR__V21*/ meltfptr[20] = 0 ; /*^clear*/ /*clear*/ /*_.RESCONT__V22*/ meltfptr[21] = 0 ; /*^clear*/ /*clear*/ /*_#LIST_LENGTH__L6*/ meltfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_#stI__L7*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_#plI__L8*/ meltfnum[7] = 0 ; /*^clear*/ /*clear*/ /*_.VARBINDMAP__V24*/ meltfptr[23] = 0 ; /*^clear*/ /*clear*/ /*_.HOOKFUN__V25*/ meltfptr[24] = 0 ; /*^clear*/ /*clear*/ /*_.LET___V98*/ meltfptr[39] = 0 ; MELT_CHECK_SIGNAL(); ; MELT_LOCATION("warmelt-macro.melt:7072:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.LET___V17*/ meltfptr[15];; { MELT_LOCATION("warmelt-macro.melt:7072:/ locexp"); /*ochecknores compilobj_nrep_return*/ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results(); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG*/ ; } ; /*^finalreturn*/ ; /*finalret*/ goto meltlabend_rout ; /*epilog*/ /*^clear*/ /*clear*/ /*_.IFCPP___V8*/ meltfptr[6] = 0 ; /*^clear*/ /*clear*/ /*_.IFCPP___V11*/ meltfptr[9] = 0 ; /*^clear*/ /*clear*/ /*_.IFCPP___V14*/ meltfptr[12] = 0 ; /*^clear*/ /*clear*/ /*_.LET___V17*/ meltfptr[15] = 0 ; } ; goto meltlabend_rout; meltlabend_rout: melt_trace_end("MEXPAND_VARIADIC", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_132_WARMELTmiMACRO_MEXPAND_VARIADIC_melt; return (melt_ptr_t)(/*_._RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_132_WARMELTmiMACRO_MEXPAND_VARIADIC*/ /**** end of warmelt-macro+05.cc ****/