2015-06-12 Basile Starynkevitch <basile@starynkevitch.net>
[official-gcc.git] / gcc / melt / generated / warmelt-macro+05.cc
blob6f1cf654ffda3f5bf9892cd26273a6ebd2aed06f
1 /* GCC MELT GENERATED C++ FILE warmelt-macro+05.cc - DO NOT EDIT - see http://gcc-melt.org/ */
2 /* secondary MELT generated C++ file of rank #5 */
3 #include "melt-run.h"
6 /* used hash from melt-run.h when compiling this file: */
7 MELT_EXTERN const char meltrun_used_md5_melt_f5[] = MELT_RUN_HASHMD5 /* from melt-run.h */;
10 /**** warmelt-macro+05.cc declarations ****/
11 /**** MELT GENERATED DECLARATIONS for warmelt-macro ** DO NOT EDIT ; see gcc-melt.org ****/
13 /****++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
14 ***
15 Copyright 2008 - 2014 Free Software Foundation, Inc.
16 Contributed by Basile Starynkevitch <basile@starynkevitch.net>
18 This file is part of GCC.
20 GCC is free software; you can redistribute it and/or modify
21 it under the terms of the GNU General Public License as published by
22 the Free Software Foundation; either version 3, or (at your option)
23 any later version.
25 GCC is distributed in the hope that it will be useful,
26 but WITHOUT ANY WARRANTY; without even the implied warranty of
27 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
28 GNU General Public License for more details.
30 You should have received a copy of the GNU General Public License
31 along with GCC; see the file COPYING3. If not see
32 <http://www.gnu.org/licenses/>.
33 ***
34 ----------------------------------------------------------------****/
37 /** ordinary MELT module meltbuild-sources/warmelt-macro**/
38 #define MELT_HAS_INITIAL_ENVIRONMENT 1 /*usualmodule*/
42 class Melt_InitialClassyFrame_WARMELTmiMACRO_h572392502; // forward declaration fromline 6691
43 typedef Melt_InitialClassyFrame_WARMELTmiMACRO_h572392502 Melt_InitialFrame;
44 /*** 6 MELT module variables declarations ****/
45 MELT_EXTERN void melt_forwarding_module_data (void);
46 MELT_EXTERN void melt_marking_module_data (void);
48 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY melt_WARMELTmiMACRO_module_var_ptr_tab[16];
49 MELT_EXTERN bool MELT_MODULE_VISIBILITY melt_WARMELTmiMACRO_module_var_flags[1];
51 static inline melt_ptr_t
52 melt_module_var_fetch (int ix)
54 return (ix > 0 && ix <= 6)?melt_WARMELTmiMACRO_module_var_ptr_tab[ix]:NULL;
57 static inline void
58 melt_module_var_put (int ix, melt_ptr_t val)
60 if (ix > 0 && ix <= 6)
62 melt_WARMELTmiMACRO_module_var_ptr_tab[ix]= val;
63 melt_WARMELTmiMACRO_module_var_flags[ix/16] = true;
67 /* MELT module variables indexes */
68 enum
70 meltmodatix_none,
71 meltmodvarix_DIAGV_GIMPLE_symb = 1,
72 meltmodvarix_DIAGV_GIMPLE_SEQ_symb = 2,
73 meltmodvarix_DIAGV_TREE_symb = 3,
74 meltmodvarix_DIAGV_BASIC_BLOCK_symb = 4,
75 meltmodvarix_DIAGV_EDGE_symb = 5,
76 meltmodvarix_MELT_TRANSRUNMACRO_CLOS_symb = 6,
77 meltmodatix_last
78 }; /* end MELT module variables indexes */
80 /*** 6 MELT called hook declarations ***/
82 /*declare MELT called hook #0 HOOK_FRESH_ENVIRONMENT_REFERENCE_MAKER **/
83 MELT_EXTERN melt_ptr_t melthook_HOOK_FRESH_ENVIRONMENT_REFERENCE_MAKER (melt_ptr_t melthookdatap, melt_ptr_t meltinp0_PREVENV, const char* meltinp1_MODULNAME);
85 /*declare MELT called hook #1 HOOK_MACRO_EXPORTER **/
86 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);
88 /*declare MELT called hook #2 HOOK_MELT_MAKE_LOCATION **/
89 MELT_EXTERN melt_ptr_t melthook_HOOK_MELT_MAKE_LOCATION (melt_ptr_t melthookdatap, const char* meltinp0_FILENAME, long meltinp1_LINENO);
91 /*declare MELT called hook #3 HOOK_PATMACRO_EXPORTER **/
92 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);
94 /*declare MELT called hook #4 HOOK_SYMBOL_IMPORTER **/
95 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);
97 /*declare MELT called hook #5 HOOK_VALUE_EXPORTER **/
98 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);
100 /*** end of 6 MELT called hook declarations ***/
102 /*** no extra MELT c-headers ***/
107 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_);
112 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_);
117 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_);
122 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_);
127 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_);
132 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_);
137 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_);
142 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_);
147 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_9_WARMELTmiMACRO_FATAL_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_);
152 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_10_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_);
157 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_11_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_);
162 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_12_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_);
167 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_13_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_);
172 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_14_WARMELTmiMACRO_INSTALL_GLOBAL_DEFINITION_BINDING(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_);
177 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_15_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_);
182 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_16_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_);
187 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_17_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_);
192 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_18_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_);
197 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_19_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_);
202 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_20_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_);
207 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_21_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_);
212 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_22_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_);
217 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_23_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_);
222 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_24_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_);
227 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_25_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_);
232 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_26_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_);
237 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_27_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_);
242 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_28_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_);
247 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_29_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_);
252 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_30_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_);
257 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_31_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_);
262 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_32_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_);
267 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_33_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_);
272 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_34_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_);
277 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_35_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_);
282 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_36_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_);
287 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_37_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_);
292 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_38_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_);
297 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_39_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_);
302 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_40_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_);
307 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_41_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_);
312 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_42_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_);
317 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_43_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_);
322 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_44_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_);
327 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_45_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_);
332 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_46_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_);
337 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_47_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_);
342 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_48_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_);
347 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_49_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_);
352 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_50_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_);
357 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_51_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_);
362 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_52_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_);
367 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_53_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_);
372 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_54_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_);
377 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_55_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_);
382 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_56_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_);
387 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_57_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_);
392 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_58_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_);
394 /** start of declaration for hook melthook_HOOK_MACRO_INSTALLER**/
396 /** declaration of hook melthook_HOOK_MACRO_INSTALLER */
397 MELT_EXTERN
398 void melthook_HOOK_MACRO_INSTALLER(melt_ptr_t melthookdatap,
399 melt_ptr_t meltinp0_MBIND,
400 melt_ptr_t meltinp1_MEXPCLOS)
405 /** end of declaration for hook melthook_HOOK_MACRO_INSTALLER**/
412 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_60_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_);
417 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_61_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_);
422 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_62_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_);
427 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_63_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_);
432 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_64_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_);
437 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_65_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_);
442 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_66_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_);
447 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_67_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_);
452 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_68_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_);
457 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_69_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_);
462 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_70_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_);
467 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_71_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_);
472 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_72_WARMELTmiMACRO_MEXPAND_SKIP_NIL(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_);
477 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_73_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_);
482 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_74_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_);
487 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_75_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_);
492 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_76_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_);
497 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_77_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_);
502 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_78_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_);
507 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_79_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_);
512 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_80_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_);
517 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_81_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_);
522 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_82_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_);
527 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_83_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_);
532 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_84_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_);
537 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_85_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_);
542 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_86_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_);
547 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_87_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_);
552 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_88_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_);
557 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_89_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_);
562 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_90_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_);
567 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_91_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_);
572 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_92_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_);
577 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_93_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_);
582 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_94_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_);
587 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_95_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_);
592 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_96_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_);
597 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_97_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_);
602 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_98_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_);
607 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_99_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_);
612 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_100_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_);
617 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_101_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_);
622 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_102_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_);
627 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_103_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_);
632 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_);
637 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_);
642 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_);
647 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_);
652 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_);
657 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_);
662 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_);
667 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_);
672 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_);
677 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_);
682 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_);
687 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_);
692 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_);
697 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_);
702 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_);
707 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_119_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_);
712 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_);
717 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_121_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_);
722 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_);
727 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_);
732 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_124_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_);
737 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_125_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_);
742 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_126_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_);
747 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_127_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_);
752 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_128_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_);
757 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_129_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_);
762 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_130_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_);
767 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_131_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_);
772 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_132_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_);
777 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_133_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_);
782 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_134_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_);
787 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_135_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_);
792 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_136_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_);
797 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_137_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_);
802 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_138_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_);
807 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_139_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_);
812 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_140_WARMELTmiMACRO_MEXPAND_MODULE_IS_GPL_COMPATIBLE(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_);
817 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_141_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_);
822 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_142_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_);
827 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_143_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_);
832 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_144_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_);
837 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_145_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_);
842 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_146_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_);
847 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_147_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_);
852 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_148_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_);
857 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_149_WARMELTmiMACRO_MEXPAND_COMPILE_ERROR(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_);
862 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_150_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_);
867 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_151_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_);
872 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_152_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_);
877 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_153_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_);
882 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_154_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_);
887 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_155_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_);
892 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_156_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_);
897 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_157_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_);
902 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_158_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_);
907 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_159_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_);
912 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_160_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_);
917 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_161_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_);
922 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_162_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_);
927 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_163_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_);
930 MELT_EXTERN MELT_LOW_OPTIMIZATION void* melt_start_this_module (void*); /*mandatory start of module*/
932 MELT_EXTERN const char melt_module_is_gpl_compatible[];
934 /*declare opaque initial frame: */
936 typedef Melt_InitialClassyFrame_WARMELTmiMACRO_h572392502 /*opaqueinitialclassy*/ meltinitial_frame_t;
939 /* define different names when debugging or not */
940 #if MELT_HAVE_DEBUG
941 MELT_EXTERN const char meltmodule_WARMELTmiMACRO__melt_have_debug_enabled[];
942 #define melt_have_debug_string meltmodule_WARMELTmiMACRO__melt_have_debug_enabled
943 #else /*!MELT_HAVE_DEBUG*/
944 MELT_EXTERN const char meltmodule_WARMELTmiMACRO__melt_have_debug_disabled[];
945 #define melt_have_debug_string meltmodule_WARMELTmiMACRO__melt_have_debug_disabled
946 #endif /*!MELT_HAVE_DEBUG*/
950 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiMACRO__initialmeltchunk_0 (meltinitial_frame_t*, char*); //declare
952 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiMACRO__initialmeltchunk_1 (meltinitial_frame_t*, char*); //declare
954 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiMACRO__initialmeltchunk_2 (meltinitial_frame_t*, char*); //declare
956 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiMACRO__initialmeltchunk_3 (meltinitial_frame_t*, char*); //declare
958 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiMACRO__initialmeltchunk_4 (meltinitial_frame_t*, char*); //declare
960 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiMACRO__initialmeltchunk_5 (meltinitial_frame_t*, char*); //declare
962 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiMACRO__initialmeltchunk_6 (meltinitial_frame_t*, char*); //declare
964 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiMACRO__initialmeltchunk_7 (meltinitial_frame_t*, char*); //declare
966 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiMACRO__initialmeltchunk_8 (meltinitial_frame_t*, char*); //declare
968 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiMACRO__initialmeltchunk_9 (meltinitial_frame_t*, char*); //declare
970 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiMACRO__initialmeltchunk_10 (meltinitial_frame_t*, char*); //declare
972 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiMACRO__initialmeltchunk_11 (meltinitial_frame_t*, char*); //declare
974 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiMACRO__initialmeltchunk_12 (meltinitial_frame_t*, char*); //declare
976 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiMACRO__initialmeltchunk_13 (meltinitial_frame_t*, char*); //declare
978 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiMACRO__initialmeltchunk_14 (meltinitial_frame_t*, char*); //declare
980 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiMACRO__initialmeltchunk_15 (meltinitial_frame_t*, char*); //declare
982 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiMACRO__initialmeltchunk_16 (meltinitial_frame_t*, char*); //declare
984 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiMACRO__initialmeltchunk_17 (meltinitial_frame_t*, char*); //declare
986 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiMACRO__initialmeltchunk_18 (meltinitial_frame_t*, char*); //declare
988 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiMACRO__initialmeltchunk_19 (meltinitial_frame_t*, char*); //declare
990 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiMACRO__initialmeltchunk_20 (meltinitial_frame_t*, char*); //declare
992 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiMACRO__initialmeltchunk_21 (meltinitial_frame_t*, char*); //declare
994 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiMACRO__initialmeltchunk_22 (meltinitial_frame_t*, char*); //declare
996 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiMACRO__initialmeltchunk_23 (meltinitial_frame_t*, char*); //declare
998 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiMACRO__initialmeltchunk_24 (meltinitial_frame_t*, char*); //declare
1000 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiMACRO__initialmeltchunk_25 (meltinitial_frame_t*, char*); //declare
1002 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiMACRO__initialmeltchunk_26 (meltinitial_frame_t*, char*); //declare
1004 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiMACRO__initialmeltchunk_27 (meltinitial_frame_t*, char*); //declare
1006 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiMACRO__initialmeltchunk_28 (meltinitial_frame_t*, char*); //declare
1008 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiMACRO__initialmeltchunk_29 (meltinitial_frame_t*, char*); //declare
1010 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiMACRO__initialmeltchunk_30 (meltinitial_frame_t*, char*); //declare
1012 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiMACRO__initialmeltchunk_31 (meltinitial_frame_t*, char*); //declare
1014 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiMACRO__initialmeltchunk_32 (meltinitial_frame_t*, char*); //declare
1016 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiMACRO__initialmeltchunk_33 (meltinitial_frame_t*, char*); //declare
1018 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiMACRO__initialmeltchunk_34 (meltinitial_frame_t*, char*); //declare
1020 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiMACRO__initialmeltchunk_35 (meltinitial_frame_t*, char*); //declare
1022 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiMACRO__initialmeltchunk_36 (meltinitial_frame_t*, char*); //declare
1024 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiMACRO__initialmeltchunk_37 (meltinitial_frame_t*, char*); //declare
1026 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiMACRO__initialmeltchunk_38 (meltinitial_frame_t*, char*); //declare
1028 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiMACRO__initialmeltchunk_39 (meltinitial_frame_t*, char*); //declare
1030 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiMACRO__initialmeltchunk_40 (meltinitial_frame_t*, char*); //declare
1032 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiMACRO__initialmeltchunk_41 (meltinitial_frame_t*, char*); //declare
1034 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiMACRO__initialmeltchunk_42 (meltinitial_frame_t*, char*); //declare
1036 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiMACRO__initialmeltchunk_43 (meltinitial_frame_t*, char*); //declare
1038 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiMACRO__initialmeltchunk_44 (meltinitial_frame_t*, char*); //declare
1040 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiMACRO__initialmeltchunk_45 (meltinitial_frame_t*, char*); //declare
1042 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiMACRO__initialmeltchunk_46 (meltinitial_frame_t*, char*); //declare
1044 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiMACRO__initialmeltchunk_47 (meltinitial_frame_t*, char*); //declare
1046 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiMACRO__initialmeltchunk_48 (meltinitial_frame_t*, char*); //declare
1048 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiMACRO__initialmeltchunk_49 (meltinitial_frame_t*, char*); //declare
1050 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiMACRO__initialmeltchunk_50 (meltinitial_frame_t*, char*); //declare
1052 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiMACRO__initialmeltchunk_51 (meltinitial_frame_t*, char*); //declare
1054 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiMACRO__initialmeltchunk_52 (meltinitial_frame_t*, char*); //declare
1056 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiMACRO__initialmeltchunk_53 (meltinitial_frame_t*, char*); //declare
1058 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiMACRO__initialmeltchunk_54 (meltinitial_frame_t*, char*); //declare
1060 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiMACRO__initialmeltchunk_55 (meltinitial_frame_t*, char*); //declare
1062 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiMACRO__initialmeltchunk_56 (meltinitial_frame_t*, char*); //declare
1066 /**** warmelt-macro+05.cc implementations ****/
1071 melt_ptr_t MELT_MODULE_VISIBILITY
1072 meltrout_103_WARMELTmiMACRO_MEXPAND_OR(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_,
1073 const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_)
1075 long current_blocklevel_signals_meltrout_103_WARMELTmiMACRO_MEXPAND_OR_melt = melt_blocklevel_signals;
1077 #if MELT_HAVE_DEBUG
1078 static long melt_call_counter__;
1079 long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__;
1080 #undef meltcallcount
1081 #define meltcallcount melt_thiscallcounter__
1082 #else
1083 #undef meltcallcount
1084 #define meltcallcount 0L
1085 #endif
1086 //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1538
1088 /* start of frame for routine meltrout_103_WARMELTmiMACRO_MEXPAND_OR fromline 1752 */
1090 /** start of frame for meltrout_103_WARMELTmiMACRO_MEXPAND_OR of CLASS_PROCROUTINEOBJ from 1555**/
1092 /*curframdeclclassy*/ class MeltFrame_meltrout_103_WARMELTmiMACRO_MEXPAND_OR// fromline 1568
1093 : public Melt_CallFrameWithValues<33>
1095 public: /* fromline 1572*/
1096 long mcfr_varnum[10];
1097 /*classy others*/
1098 long _meltsparel;
1099 void melt_mark_stuff (void)
1101 } /*end melt_mark_stuff*/
1102 virtual void melt_mark_ggc_data (void)
1104 melt_mark_values ();
1105 melt_mark_stuff ();
1106 }; /*end melt_mark_ggc_data*/
1107 MeltFrame_meltrout_103_WARMELTmiMACRO_MEXPAND_OR(meltclosure_ptr_t clos) //the closure constructor fromline 1630
1108 : Melt_CallFrameWithValues<33> (
1109 #if ENABLE_CHECKING /*fromline 1634*/
1110 __FILE__, __LINE__,
1111 #endif /* ENABLE_CHECKING fromline 1638*/
1112 sizeof(MeltFrame_meltrout_103_WARMELTmiMACRO_MEXPAND_OR), clos) {};
1113 MeltFrame_meltrout_103_WARMELTmiMACRO_MEXPAND_OR() //the constructor fromline 1642
1114 : Melt_CallFrameWithValues<33> (
1115 #if ENABLE_CHECKING /*fromline 1646*/
1116 __FILE__, __LINE__,
1117 #endif /* ENABLE_CHECKING fromline 1650*/
1118 sizeof(MeltFrame_meltrout_103_WARMELTmiMACRO_MEXPAND_OR)) {};
1119 #if ENABLE_CHECKING /*fromline 1654*/
1120 MeltFrame_meltrout_103_WARMELTmiMACRO_MEXPAND_OR(const char*fil, int lin) //the constructor fromline 1656
1121 : Melt_CallFrameWithValues<33> (fil,lin, sizeof(MeltFrame_meltrout_103_WARMELTmiMACRO_MEXPAND_OR)) {};
1122 MeltFrame_meltrout_103_WARMELTmiMACRO_MEXPAND_OR(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1661
1123 : Melt_CallFrameWithValues<33> (fil,lin, sizeof(MeltFrame_meltrout_103_WARMELTmiMACRO_MEXPAND_OR), clos) {};
1124 #endif /* ENABLE_CHECKING fromline 1666*/
1126 }; // end class MeltFrame_meltrout_103_WARMELTmiMACRO_MEXPAND_OR
1129 /** end of frame for meltrout_103_WARMELTmiMACRO_MEXPAND_OR fromline 1697**/
1131 /* end of frame for routine meltrout_103_WARMELTmiMACRO_MEXPAND_OR fromline 1756 */
1133 /* classy proc frame meltrout_103_WARMELTmiMACRO_MEXPAND_OR */
1134 MeltFrame_meltrout_103_WARMELTmiMACRO_MEXPAND_OR
1135 meltfram__ /*declfrastruct fromline 1780*/
1136 /*classyprocarg meltrout_103_WARMELTmiMACRO_MEXPAND_OR fromline 1785*/
1137 #if ENABLE_CHECKING
1138 (__FILE__, __LINE__, meltclosp_) /* fromline 1789*/
1139 #else /*ENABLE_CHECKING */
1140 (meltclosp_) /* fromline 1793*/
1141 #endif /*ENABLE_CHECKING */
1144 #define meltframe meltfram__
1146 melt_trace_start("MEXPAND_OR", meltcallcount);
1147 /*use arguments*/
1148 (void) meltclosp_;
1149 (void)meltfirstargp_;
1150 (void)meltxargdescr_;
1151 (void)meltxargtab_;
1152 (void)meltxresdescr_;
1153 (void)meltxrestab_;
1154 /*getargs*/
1156 /*getarg#0*/
1157 MELT_LOCATION("warmelt-macro.melt:6296:/ getarg");
1158 /*_.SEXPR__V2*/
1159 meltfptr[1] = (melt_ptr_t) meltfirstargp_;
1161 /*getarg#1*/
1162 /*^getarg*/
1163 if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_endgetargs;
1164 /*_.ENV__V3*/
1165 meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL;
1166 gcc_assert(melt_discr((melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2])) != NULL);
1169 /*getarg#2*/
1170 /*^getarg*/
1171 if (meltxargdescr_[1] != MELTBPAR_PTR) goto meltlab_endgetargs;
1172 /*_.MEXPANDER__V4*/
1173 meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL;
1174 gcc_assert(melt_discr((melt_ptr_t)(/*_.MEXPANDER__V4*/ meltfptr[3])) != NULL);
1177 /*getarg#3*/
1178 /*^getarg*/
1179 if (meltxargdescr_[2] != MELTBPAR_PTR) goto meltlab_endgetargs;
1180 /*_.MODCTX__V5*/
1181 meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL;
1182 gcc_assert(melt_discr((melt_ptr_t)(/*_.MODCTX__V5*/ meltfptr[4])) != NULL);
1185 goto meltlab_endgetargs;
1186 meltlab_endgetargs:
1188 /*body*/
1189 /*^block*/
1190 /*anyblock*/
1194 #if MELT_HAVE_DEBUG
1195 MELT_LOCATION("warmelt-macro.melt:6297:/ cppif.then");
1196 /*^block*/
1197 /*anyblock*/
1202 /*^locexp*/
1203 /*melt_increment_dbgcounter*/
1204 #if MELT_HAVE_DEBUG
1205 melt_dbgcounter++;
1206 #endif
1211 MELT_CHECK_SIGNAL();
1213 /*_#MELT_NEED_DBG__L1*/
1214 meltfnum[0] =
1215 /*MELT_NEED_DBG*/
1216 #if MELT_HAVE_DEBUG
1217 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
1218 #else
1219 0 /* no melt_need_dbg */
1220 #endif /*MELT_HAVE_DEBUG*/
1222 MELT_LOCATION("warmelt-macro.melt:6297:/ cond");
1223 /*cond*/
1224 if (/*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then*/
1226 /*^cond.then*/
1227 /*^block*/
1228 /*anyblock*/
1231 /*_#MELT_CALLCOUNT__L2*/ meltfnum[1] =
1232 /* for melt_callcount */
1233 #if MELT_HAVE_DEBUG && defined (meltcallcount)
1234 meltcallcount /* melt_callcount debugging */
1235 #else
1236 0L /* melt_callcount without debug */
1237 #endif /* MELT_HAVE_DEBUG melt_callcount */
1240 MELT_CHECK_SIGNAL();
1242 MELT_LOCATION("warmelt-macro.melt:6297:/ apply");
1243 /*apply*/
1245 union meltparam_un argtab[5];
1246 memset(&argtab, 0, sizeof(argtab));
1247 /*^apply.arg*/
1248 argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L2*/ meltfnum[1];
1249 /*^apply.arg*/
1250 argtab[1].meltbp_cstring = "warmelt-macro.melt";
1251 /*^apply.arg*/
1252 argtab[2].meltbp_long = 6297;
1253 /*^apply.arg*/
1254 argtab[3].meltbp_cstring = "mexpand_or sexpr";
1255 /*^apply.arg*/
1256 argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.SEXPR__V2*/ meltfptr[1];
1257 /*_.MELT_DEBUG_FUN__V7*/
1258 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);
1261 /*_._IF___V6*/
1262 meltfptr[5] = /*_.MELT_DEBUG_FUN__V7*/ meltfptr[6];;
1263 /*epilog*/
1265 MELT_LOCATION("warmelt-macro.melt:6297:/ clear");
1266 /*clear*/ /*_#MELT_CALLCOUNT__L2*/
1267 meltfnum[1] = 0 ;
1268 /*^clear*/
1269 /*clear*/ /*_.MELT_DEBUG_FUN__V7*/
1270 meltfptr[6] = 0 ;
1274 else /*^cond.else*/
1277 /*_._IF___V6*/ meltfptr[5] = /*reallynil*/ NULL ;;
1282 MELT_LOCATION("warmelt-macro.melt:6297:/ locexp");
1283 /*void*/
1284 (void)0;
1287 /*^quasiblock*/
1290 /*epilog*/
1292 /*^clear*/
1293 /*clear*/ /*_#MELT_NEED_DBG__L1*/
1294 meltfnum[0] = 0 ;
1295 /*^clear*/
1296 /*clear*/ /*_._IF___V6*/
1297 meltfptr[5] = 0 ;
1300 #else /*MELT_HAVE_DEBUG*/
1301 /*^cppif.else*/
1302 /*^block*/
1303 /*anyblock*/
1308 /*^locexp*/
1309 /*void*/(void)0;
1312 /*epilog*/
1315 #endif /*MELT_HAVE_DEBUG*/
1318 #if MELT_HAVE_DEBUG
1319 MELT_LOCATION("warmelt-macro.melt:6298:/ cppif.then");
1320 /*^block*/
1321 /*anyblock*/
1325 MELT_CHECK_SIGNAL();
1327 /*_#IS_A__L3*/
1328 meltfnum[1] =
1329 melt_is_instance_of((melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_SEXPR*/ meltfrout->tabval[1])));;
1330 MELT_LOCATION("warmelt-macro.melt:6298:/ cond");
1331 /*cond*/
1332 if (/*_#IS_A__L3*/ meltfnum[1]) /*then*/
1334 /*^cond.then*/
1335 /*_._IFELSE___V9*/ meltfptr[5] = (/*nil*/NULL);;
1337 else
1339 MELT_LOCATION("warmelt-macro.melt:6298:/ cond.else");
1341 /*^block*/
1342 /*anyblock*/
1346 MELT_CHECK_SIGNAL();
1348 /*^apply*/
1349 /*apply*/
1351 union meltparam_un argtab[4];
1352 memset(&argtab, 0, sizeof(argtab));
1353 /*^apply.arg*/
1354 argtab[0].meltbp_cstring = "check sexpr";
1355 /*^apply.arg*/
1356 argtab[1].meltbp_cstring = "warmelt-macro.melt";
1357 /*^apply.arg*/
1358 argtab[2].meltbp_long = 6298;
1359 /*^apply.arg*/
1360 argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.SEXPR__V2*/ meltfptr[1];
1361 /*_.MELT_ASSERT_FAILURE_FUN__V10*/
1362 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);
1365 /*_._IFELSE___V9*/
1366 meltfptr[5] = /*_.MELT_ASSERT_FAILURE_FUN__V10*/ meltfptr[9];;
1367 /*epilog*/
1369 MELT_LOCATION("warmelt-macro.melt:6298:/ clear");
1370 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V10*/
1371 meltfptr[9] = 0 ;
1376 /*_.IFCPP___V8*/
1377 meltfptr[6] = /*_._IFELSE___V9*/ meltfptr[5];;
1378 /*epilog*/
1380 MELT_LOCATION("warmelt-macro.melt:6298:/ clear");
1381 /*clear*/ /*_#IS_A__L3*/
1382 meltfnum[1] = 0 ;
1383 /*^clear*/
1384 /*clear*/ /*_._IFELSE___V9*/
1385 meltfptr[5] = 0 ;
1388 #else /*MELT_HAVE_DEBUG*/
1389 /*^cppif.else*/
1390 /*_.IFCPP___V8*/ meltfptr[6] = (/*nil*/NULL);
1391 #endif /*MELT_HAVE_DEBUG*/
1394 #if MELT_HAVE_DEBUG
1395 MELT_LOCATION("warmelt-macro.melt:6299:/ cppif.then");
1396 /*^block*/
1397 /*anyblock*/
1401 MELT_CHECK_SIGNAL();
1403 /*_#IS_A__L4*/
1404 meltfnum[0] =
1405 melt_is_instance_of((melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2]), (melt_ptr_t)((/*!CLASS_ENVIRONMENT*/ meltfrout->tabval[3])));;
1406 MELT_LOCATION("warmelt-macro.melt:6299:/ cond");
1407 /*cond*/
1408 if (/*_#IS_A__L4*/ meltfnum[0]) /*then*/
1410 /*^cond.then*/
1411 /*_._IFELSE___V12*/ meltfptr[5] = (/*nil*/NULL);;
1413 else
1415 MELT_LOCATION("warmelt-macro.melt:6299:/ cond.else");
1417 /*^block*/
1418 /*anyblock*/
1422 MELT_CHECK_SIGNAL();
1424 /*^apply*/
1425 /*apply*/
1427 union meltparam_un argtab[4];
1428 memset(&argtab, 0, sizeof(argtab));
1429 /*^apply.arg*/
1430 argtab[0].meltbp_cstring = "check env";
1431 /*^apply.arg*/
1432 argtab[1].meltbp_cstring = "warmelt-macro.melt";
1433 /*^apply.arg*/
1434 argtab[2].meltbp_long = 6299;
1435 /*^apply.arg*/
1436 argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.ENV__V3*/ meltfptr[2];
1437 /*_.MELT_ASSERT_FAILURE_FUN__V13*/
1438 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);
1441 /*_._IFELSE___V12*/
1442 meltfptr[5] = /*_.MELT_ASSERT_FAILURE_FUN__V13*/ meltfptr[12];;
1443 /*epilog*/
1445 MELT_LOCATION("warmelt-macro.melt:6299:/ clear");
1446 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V13*/
1447 meltfptr[12] = 0 ;
1452 /*_.IFCPP___V11*/
1453 meltfptr[9] = /*_._IFELSE___V12*/ meltfptr[5];;
1454 /*epilog*/
1456 MELT_LOCATION("warmelt-macro.melt:6299:/ clear");
1457 /*clear*/ /*_#IS_A__L4*/
1458 meltfnum[0] = 0 ;
1459 /*^clear*/
1460 /*clear*/ /*_._IFELSE___V12*/
1461 meltfptr[5] = 0 ;
1464 #else /*MELT_HAVE_DEBUG*/
1465 /*^cppif.else*/
1466 /*_.IFCPP___V11*/ meltfptr[9] = (/*nil*/NULL);
1467 #endif /*MELT_HAVE_DEBUG*/
1470 MELT_CHECK_SIGNAL();
1472 /*^compute*/
1473 /*_#NULL__L5*/
1474 meltfnum[1] =
1475 (/*null*/(/*_.MEXPANDER__V4*/ meltfptr[3]) == NULL);;
1476 MELT_LOCATION("warmelt-macro.melt:6300:/ cond");
1477 /*cond*/
1478 if (/*_#NULL__L5*/ meltfnum[1]) /*then*/
1480 /*^cond.then*/
1481 /*^block*/
1482 /*anyblock*/
1485 /*^compute*/
1486 /*_.MEXPANDER__V4*/ meltfptr[3] = /*_.SETQ___V15*/ meltfptr[5] = (/*!MACROEXPAND_1*/ meltfrout->tabval[4]);;
1487 /*_._IF___V14*/
1488 meltfptr[12] = /*_.SETQ___V15*/ meltfptr[5];;
1489 /*epilog*/
1491 MELT_LOCATION("warmelt-macro.melt:6300:/ clear");
1492 /*clear*/ /*_.SETQ___V15*/
1493 meltfptr[5] = 0 ;
1497 else /*^cond.else*/
1500 /*_._IF___V14*/ meltfptr[12] = /*reallynil*/ NULL ;;
1504 #if MELT_HAVE_DEBUG
1505 MELT_LOCATION("warmelt-macro.melt:6301:/ cppif.then");
1506 /*^block*/
1507 /*anyblock*/
1511 MELT_CHECK_SIGNAL();
1513 /*_#IS_OBJECT__L6*/
1514 meltfnum[0] =
1515 (melt_magic_discr((melt_ptr_t)(/*_.MODCTX__V5*/ meltfptr[4])) == MELTOBMAG_OBJECT);;
1516 MELT_LOCATION("warmelt-macro.melt:6301:/ cond");
1517 /*cond*/
1518 if (/*_#IS_OBJECT__L6*/ meltfnum[0]) /*then*/
1520 /*^cond.then*/
1521 /*_._IFELSE___V17*/ meltfptr[16] = (/*nil*/NULL);;
1523 else
1525 MELT_LOCATION("warmelt-macro.melt:6301:/ cond.else");
1527 /*^block*/
1528 /*anyblock*/
1532 MELT_CHECK_SIGNAL();
1534 /*^apply*/
1535 /*apply*/
1537 union meltparam_un argtab[4];
1538 memset(&argtab, 0, sizeof(argtab));
1539 /*^apply.arg*/
1540 argtab[0].meltbp_cstring = "check modctx";
1541 /*^apply.arg*/
1542 argtab[1].meltbp_cstring = "warmelt-macro.melt";
1543 /*^apply.arg*/
1544 argtab[2].meltbp_long = 6301;
1545 /*^apply.arg*/
1546 argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.MODCTX__V5*/ meltfptr[4];
1547 /*_.MELT_ASSERT_FAILURE_FUN__V18*/
1548 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);
1551 /*_._IFELSE___V17*/
1552 meltfptr[16] = /*_.MELT_ASSERT_FAILURE_FUN__V18*/ meltfptr[17];;
1553 /*epilog*/
1555 MELT_LOCATION("warmelt-macro.melt:6301:/ clear");
1556 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V18*/
1557 meltfptr[17] = 0 ;
1562 /*_.IFCPP___V16*/
1563 meltfptr[5] = /*_._IFELSE___V17*/ meltfptr[16];;
1564 /*epilog*/
1566 MELT_LOCATION("warmelt-macro.melt:6301:/ clear");
1567 /*clear*/ /*_#IS_OBJECT__L6*/
1568 meltfnum[0] = 0 ;
1569 /*^clear*/
1570 /*clear*/ /*_._IFELSE___V17*/
1571 meltfptr[16] = 0 ;
1574 #else /*MELT_HAVE_DEBUG*/
1575 /*^cppif.else*/
1576 /*_.IFCPP___V16*/ meltfptr[5] = (/*nil*/NULL);
1577 #endif /*MELT_HAVE_DEBUG*/
1579 MELT_LOCATION("warmelt-macro.melt:6302:/ quasiblock");
1582 MELT_LOCATION("warmelt-macro.melt:6303:/ getslot");
1584 melt_ptr_t slot=NULL, obj=NULL;
1585 obj = (melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/;
1586 melt_object_get_field(slot,obj, 2, "SEXP_CONTENTS");
1587 /*_.CONT__V20*/
1588 meltfptr[16] = slot;
1591 MELT_LOCATION("warmelt-macro.melt:6304:/ getslot");
1593 melt_ptr_t slot=NULL, obj=NULL;
1594 obj = (melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/;
1595 melt_object_get_field(slot,obj, 1, "LOCA_LOCATION");
1596 /*_.LOC__V21*/
1597 meltfptr[20] = slot;
1600 /*_.LIST_FIRST__V22*/
1601 meltfptr[21] =
1602 (melt_list_first((melt_ptr_t)(/*_.CONT__V20*/ meltfptr[16])));;
1603 /*^compute*/
1604 /*_.PAIR_TAIL__V23*/
1605 meltfptr[22] =
1606 (melt_pair_tail((melt_ptr_t)(/*_.LIST_FIRST__V22*/ meltfptr[21])));;
1608 MELT_CHECK_SIGNAL();
1610 MELT_LOCATION("warmelt-macro.melt:6305:/ apply");
1611 /*apply*/
1613 union meltparam_un argtab[3];
1614 memset(&argtab, 0, sizeof(argtab));
1615 /*^apply.arg*/
1616 argtab[0].meltbp_aptr = (melt_ptr_t*) &/*_.ENV__V3*/ meltfptr[2];
1617 /*^apply.arg*/
1618 argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.MEXPANDER__V4*/ meltfptr[3];
1619 /*^apply.arg*/
1620 argtab[2].meltbp_aptr = (melt_ptr_t*) &/*_.MODCTX__V5*/ meltfptr[4];
1621 /*_.CXTUP__V24*/
1622 meltfptr[23] = melt_apply ((meltclosure_ptr_t)((/*!EXPAND_PAIRLIST_AS_TUPLE*/ meltfrout->tabval[5])), (melt_ptr_t)(/*_.PAIR_TAIL__V23*/ meltfptr[22]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
1625 /*_#NBCOMP__L7*/
1626 meltfnum[0] =
1627 (melt_multiple_length((melt_ptr_t)(/*_.CXTUP__V24*/ meltfptr[23])));;
1629 MELT_CHECK_SIGNAL();
1631 /*^compute*/
1632 /*_#ltI__L8*/
1633 meltfnum[7] =
1634 ((/*_#NBCOMP__L7*/ meltfnum[0]) < (1));;
1635 MELT_LOCATION("warmelt-macro.melt:6308:/ cond");
1636 /*cond*/
1637 if (/*_#ltI__L8*/ meltfnum[7]) /*then*/
1639 /*^cond.then*/
1640 /*^block*/
1641 /*anyblock*/
1646 MELT_LOCATION("warmelt-macro.melt:6310:/ locexp");
1647 /* error_plain */
1648 melt_error_str((melt_ptr_t)(/*_.LOC__V21*/ meltfptr[20]), ( "OR without sons"), (melt_ptr_t)0);
1652 MELT_CHECK_SIGNAL();
1654 MELT_LOCATION("warmelt-macro.melt:6311:/ quasiblock");
1657 /*_._RETVAL___V1*/
1658 meltfptr[0] = (/*nil*/NULL);;
1661 MELT_LOCATION("warmelt-macro.melt:6311:/ locexp");
1662 /*ochecknores compilobj_nrep_return*/
1663 #if MELT_HAVE_DEBUG
1664 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
1665 melt_warn_for_no_expected_secondary_results();
1666 /* we warned when secondary results are expected but not returned. */
1667 #endif /*MELT_HAVE_DEBUG*/
1671 /*^finalreturn*/
1673 /*finalret*/
1674 goto meltlabend_rout ;
1675 MELT_LOCATION("warmelt-macro.melt:6309:/ quasiblock");
1678 /*_.PROGN___V27*/
1679 meltfptr[26] = /*_.RETURN___V26*/ meltfptr[25];;
1680 /*^compute*/
1681 /*_._IFELSE___V25*/
1682 meltfptr[24] = /*_.PROGN___V27*/ meltfptr[26];;
1683 /*epilog*/
1685 MELT_LOCATION("warmelt-macro.melt:6308:/ clear");
1686 /*clear*/ /*_.RETURN___V26*/
1687 meltfptr[25] = 0 ;
1688 /*^clear*/
1689 /*clear*/ /*_.PROGN___V27*/
1690 meltfptr[26] = 0 ;
1694 else /*^cond.else*/
1697 /*^block*/
1698 /*anyblock*/
1701 MELT_LOCATION("warmelt-macro.melt:6312:/ quasiblock");
1705 MELT_CHECK_SIGNAL();
1707 MELT_LOCATION("warmelt-macro.melt:6313:/ quasiblock");
1710 /*^rawallocobj*/
1711 /*rawallocobj*/
1713 melt_ptr_t newobj = 0;
1714 melt_raw_object_create(newobj,(melt_ptr_t)((/*!CLASS_SOURCE_OR*/ meltfrout->tabval[6])), (3), "CLASS_SOURCE_OR");
1715 /*_.INST__V30*/
1716 meltfptr[29] =
1717 newobj;
1720 /*^putslot*/
1721 /*putslot*/
1722 melt_assertmsg("checkobj putslot _ @LOCA_LOCATION", melt_magic_discr((melt_ptr_t)(/*_.INST__V30*/ meltfptr[29])) == MELTOBMAG_OBJECT);
1723 melt_putfield_object((/*_.INST__V30*/ meltfptr[29]), (1), (/*_.LOC__V21*/ meltfptr[20]), "LOCA_LOCATION");
1725 /*^putslot*/
1726 /*putslot*/
1727 melt_assertmsg("checkobj putslot _ @SOR_DISJ", melt_magic_discr((melt_ptr_t)(/*_.INST__V30*/ meltfptr[29])) == MELTOBMAG_OBJECT);
1728 melt_putfield_object((/*_.INST__V30*/ meltfptr[29]), (2), (/*_.CXTUP__V24*/ meltfptr[23]), "SOR_DISJ");
1730 /*^touchobj*/
1732 melt_dbgtrace_written_object (/*_.INST__V30*/ meltfptr[29], "newly made instance");
1734 /*_.RES__V29*/
1735 meltfptr[26] = /*_.INST__V30*/ meltfptr[29];;
1737 #if MELT_HAVE_DEBUG
1738 MELT_LOCATION("warmelt-macro.melt:6316:/ cppif.then");
1739 /*^block*/
1740 /*anyblock*/
1745 /*^locexp*/
1746 /*melt_increment_dbgcounter*/
1747 #if MELT_HAVE_DEBUG
1748 melt_dbgcounter++;
1749 #endif
1754 MELT_CHECK_SIGNAL();
1756 /*_#MELT_NEED_DBG__L9*/
1757 meltfnum[8] =
1758 /*MELT_NEED_DBG*/
1759 #if MELT_HAVE_DEBUG
1760 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
1761 #else
1762 0 /* no melt_need_dbg */
1763 #endif /*MELT_HAVE_DEBUG*/
1765 MELT_LOCATION("warmelt-macro.melt:6316:/ cond");
1766 /*cond*/
1767 if (/*_#MELT_NEED_DBG__L9*/ meltfnum[8]) /*then*/
1769 /*^cond.then*/
1770 /*^block*/
1771 /*anyblock*/
1774 /*_#MELT_CALLCOUNT__L10*/ meltfnum[9] =
1775 /* for melt_callcount */
1776 #if MELT_HAVE_DEBUG && defined (meltcallcount)
1777 meltcallcount /* melt_callcount debugging */
1778 #else
1779 0L /* melt_callcount without debug */
1780 #endif /* MELT_HAVE_DEBUG melt_callcount */
1783 MELT_CHECK_SIGNAL();
1785 MELT_LOCATION("warmelt-macro.melt:6316:/ apply");
1786 /*apply*/
1788 union meltparam_un argtab[5];
1789 memset(&argtab, 0, sizeof(argtab));
1790 /*^apply.arg*/
1791 argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L10*/ meltfnum[9];
1792 /*^apply.arg*/
1793 argtab[1].meltbp_cstring = "warmelt-macro.melt";
1794 /*^apply.arg*/
1795 argtab[2].meltbp_long = 6316;
1796 /*^apply.arg*/
1797 argtab[3].meltbp_cstring = "mexpand_or res";
1798 /*^apply.arg*/
1799 argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.RES__V29*/ meltfptr[26];
1800 /*_.MELT_DEBUG_FUN__V32*/
1801 meltfptr[31] = 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);
1804 /*_._IF___V31*/
1805 meltfptr[30] = /*_.MELT_DEBUG_FUN__V32*/ meltfptr[31];;
1806 /*epilog*/
1808 MELT_LOCATION("warmelt-macro.melt:6316:/ clear");
1809 /*clear*/ /*_#MELT_CALLCOUNT__L10*/
1810 meltfnum[9] = 0 ;
1811 /*^clear*/
1812 /*clear*/ /*_.MELT_DEBUG_FUN__V32*/
1813 meltfptr[31] = 0 ;
1817 else /*^cond.else*/
1820 /*_._IF___V31*/ meltfptr[30] = /*reallynil*/ NULL ;;
1825 MELT_LOCATION("warmelt-macro.melt:6316:/ locexp");
1826 /*void*/
1827 (void)0;
1830 /*^quasiblock*/
1833 /*epilog*/
1835 /*^clear*/
1836 /*clear*/ /*_#MELT_NEED_DBG__L9*/
1837 meltfnum[8] = 0 ;
1838 /*^clear*/
1839 /*clear*/ /*_._IF___V31*/
1840 meltfptr[30] = 0 ;
1843 #else /*MELT_HAVE_DEBUG*/
1844 /*^cppif.else*/
1845 /*^block*/
1846 /*anyblock*/
1851 /*^locexp*/
1852 /*void*/(void)0;
1855 /*epilog*/
1858 #endif /*MELT_HAVE_DEBUG*/
1861 MELT_CHECK_SIGNAL();
1863 MELT_LOCATION("warmelt-macro.melt:6317:/ quasiblock");
1866 /*_._RETVAL___V1*/
1867 meltfptr[0] = /*_.RES__V29*/ meltfptr[26];;
1870 MELT_LOCATION("warmelt-macro.melt:6317:/ locexp");
1871 /*ochecknores compilobj_nrep_return*/
1872 #if MELT_HAVE_DEBUG
1873 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
1874 melt_warn_for_no_expected_secondary_results();
1875 /* we warned when secondary results are expected but not returned. */
1876 #endif /*MELT_HAVE_DEBUG*/
1880 /*^finalreturn*/
1882 /*finalret*/
1883 goto meltlabend_rout ;
1884 /*_.LET___V28*/
1885 meltfptr[25] = /*_.RETURN___V33*/ meltfptr[31];;
1887 MELT_LOCATION("warmelt-macro.melt:6312:/ clear");
1888 /*clear*/ /*_.RES__V29*/
1889 meltfptr[26] = 0 ;
1890 /*^clear*/
1891 /*clear*/ /*_.RETURN___V33*/
1892 meltfptr[31] = 0 ;
1893 /*_._IFELSE___V25*/
1894 meltfptr[24] = /*_.LET___V28*/ meltfptr[25];;
1895 /*epilog*/
1897 MELT_LOCATION("warmelt-macro.melt:6308:/ clear");
1898 /*clear*/ /*_.LET___V28*/
1899 meltfptr[25] = 0 ;
1904 /*_.LET___V19*/
1905 meltfptr[17] = /*_._IFELSE___V25*/ meltfptr[24];;
1907 MELT_LOCATION("warmelt-macro.melt:6302:/ clear");
1908 /*clear*/ /*_.CONT__V20*/
1909 meltfptr[16] = 0 ;
1910 /*^clear*/
1911 /*clear*/ /*_.LOC__V21*/
1912 meltfptr[20] = 0 ;
1913 /*^clear*/
1914 /*clear*/ /*_.LIST_FIRST__V22*/
1915 meltfptr[21] = 0 ;
1916 /*^clear*/
1917 /*clear*/ /*_.PAIR_TAIL__V23*/
1918 meltfptr[22] = 0 ;
1919 /*^clear*/
1920 /*clear*/ /*_.CXTUP__V24*/
1921 meltfptr[23] = 0 ;
1922 /*^clear*/
1923 /*clear*/ /*_#NBCOMP__L7*/
1924 meltfnum[0] = 0 ;
1925 /*^clear*/
1926 /*clear*/ /*_#ltI__L8*/
1927 meltfnum[7] = 0 ;
1928 /*^clear*/
1929 /*clear*/ /*_._IFELSE___V25*/
1930 meltfptr[24] = 0 ;
1932 MELT_CHECK_SIGNAL();
1934 MELT_LOCATION("warmelt-macro.melt:6296:/ quasiblock");
1937 /*_._RETVAL___V1*/
1938 meltfptr[0] = /*_.LET___V19*/ meltfptr[17];;
1941 MELT_LOCATION("warmelt-macro.melt:6296:/ locexp");
1942 /*ochecknores compilobj_nrep_return*/
1943 #if MELT_HAVE_DEBUG
1944 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
1945 melt_warn_for_no_expected_secondary_results();
1946 /* we warned when secondary results are expected but not returned. */
1947 #endif /*MELT_HAVE_DEBUG*/
1951 /*^finalreturn*/
1953 /*finalret*/
1954 goto meltlabend_rout ;
1955 /*epilog*/
1957 /*^clear*/
1958 /*clear*/ /*_.IFCPP___V8*/
1959 meltfptr[6] = 0 ;
1960 /*^clear*/
1961 /*clear*/ /*_.IFCPP___V11*/
1962 meltfptr[9] = 0 ;
1963 /*^clear*/
1964 /*clear*/ /*_#NULL__L5*/
1965 meltfnum[1] = 0 ;
1966 /*^clear*/
1967 /*clear*/ /*_._IF___V14*/
1968 meltfptr[12] = 0 ;
1969 /*^clear*/
1970 /*clear*/ /*_.IFCPP___V16*/
1971 meltfptr[5] = 0 ;
1972 /*^clear*/
1973 /*clear*/ /*_.LET___V19*/
1974 meltfptr[17] = 0 ;
1978 goto meltlabend_rout;
1979 meltlabend_rout:
1980 melt_trace_end("MEXPAND_OR", meltcallcount);
1981 melt_blocklevel_signals = current_blocklevel_signals_meltrout_103_WARMELTmiMACRO_MEXPAND_OR_melt;
1982 return (melt_ptr_t)(/*_._RETVAL___V1*/ meltfptr[0]);
1983 #undef meltcallcount
1984 #undef meltfram__
1985 #undef MELTFRAM_NBVARNUM
1986 #undef MELTFRAM_NBVARPTR
1987 } /*end meltrout_103_WARMELTmiMACRO_MEXPAND_OR*/
1994 melt_ptr_t MELT_MODULE_VISIBILITY
1995 meltrout_104_WARMELTmiMACRO_PATEXPAND_OR(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_,
1996 const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_)
1998 long current_blocklevel_signals_meltrout_104_WARMELTmiMACRO_PATEXPAND_OR_melt = melt_blocklevel_signals;
2000 #if MELT_HAVE_DEBUG
2001 static long melt_call_counter__;
2002 long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__;
2003 #undef meltcallcount
2004 #define meltcallcount melt_thiscallcounter__
2005 #else
2006 #undef meltcallcount
2007 #define meltcallcount 0L
2008 #endif
2009 //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1538
2011 /* start of frame for routine meltrout_104_WARMELTmiMACRO_PATEXPAND_OR fromline 1752 */
2013 /** start of frame for meltrout_104_WARMELTmiMACRO_PATEXPAND_OR of CLASS_PROCROUTINEOBJ from 1555**/
2015 /*curframdeclclassy*/ class MeltFrame_meltrout_104_WARMELTmiMACRO_PATEXPAND_OR// fromline 1568
2016 : public Melt_CallFrameWithValues<29>
2018 public: /* fromline 1572*/
2019 long mcfr_varnum[11];
2020 /*classy others*/
2021 long _meltsparel;
2022 void melt_mark_stuff (void)
2024 } /*end melt_mark_stuff*/
2025 virtual void melt_mark_ggc_data (void)
2027 melt_mark_values ();
2028 melt_mark_stuff ();
2029 }; /*end melt_mark_ggc_data*/
2030 MeltFrame_meltrout_104_WARMELTmiMACRO_PATEXPAND_OR(meltclosure_ptr_t clos) //the closure constructor fromline 1630
2031 : Melt_CallFrameWithValues<29> (
2032 #if ENABLE_CHECKING /*fromline 1634*/
2033 __FILE__, __LINE__,
2034 #endif /* ENABLE_CHECKING fromline 1638*/
2035 sizeof(MeltFrame_meltrout_104_WARMELTmiMACRO_PATEXPAND_OR), clos) {};
2036 MeltFrame_meltrout_104_WARMELTmiMACRO_PATEXPAND_OR() //the constructor fromline 1642
2037 : Melt_CallFrameWithValues<29> (
2038 #if ENABLE_CHECKING /*fromline 1646*/
2039 __FILE__, __LINE__,
2040 #endif /* ENABLE_CHECKING fromline 1650*/
2041 sizeof(MeltFrame_meltrout_104_WARMELTmiMACRO_PATEXPAND_OR)) {};
2042 #if ENABLE_CHECKING /*fromline 1654*/
2043 MeltFrame_meltrout_104_WARMELTmiMACRO_PATEXPAND_OR(const char*fil, int lin) //the constructor fromline 1656
2044 : Melt_CallFrameWithValues<29> (fil,lin, sizeof(MeltFrame_meltrout_104_WARMELTmiMACRO_PATEXPAND_OR)) {};
2045 MeltFrame_meltrout_104_WARMELTmiMACRO_PATEXPAND_OR(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1661
2046 : Melt_CallFrameWithValues<29> (fil,lin, sizeof(MeltFrame_meltrout_104_WARMELTmiMACRO_PATEXPAND_OR), clos) {};
2047 #endif /* ENABLE_CHECKING fromline 1666*/
2049 }; // end class MeltFrame_meltrout_104_WARMELTmiMACRO_PATEXPAND_OR
2052 /** end of frame for meltrout_104_WARMELTmiMACRO_PATEXPAND_OR fromline 1697**/
2054 /* end of frame for routine meltrout_104_WARMELTmiMACRO_PATEXPAND_OR fromline 1756 */
2056 /* classy proc frame meltrout_104_WARMELTmiMACRO_PATEXPAND_OR */
2057 MeltFrame_meltrout_104_WARMELTmiMACRO_PATEXPAND_OR
2058 meltfram__ /*declfrastruct fromline 1780*/
2059 /*classyprocarg meltrout_104_WARMELTmiMACRO_PATEXPAND_OR fromline 1785*/
2060 #if ENABLE_CHECKING
2061 (__FILE__, __LINE__, meltclosp_) /* fromline 1789*/
2062 #else /*ENABLE_CHECKING */
2063 (meltclosp_) /* fromline 1793*/
2064 #endif /*ENABLE_CHECKING */
2067 #define meltframe meltfram__
2069 melt_trace_start("PATEXPAND_OR", meltcallcount);
2070 /*use arguments*/
2071 (void) meltclosp_;
2072 (void)meltfirstargp_;
2073 (void)meltxargdescr_;
2074 (void)meltxargtab_;
2075 (void)meltxresdescr_;
2076 (void)meltxrestab_;
2077 /*getargs*/
2079 /*getarg#0*/
2080 MELT_LOCATION("warmelt-macro.melt:6321:/ getarg");
2081 /*_.SEXPR__V2*/
2082 meltfptr[1] = (melt_ptr_t) meltfirstargp_;
2084 /*getarg#1*/
2085 /*^getarg*/
2086 if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_endgetargs;
2087 /*_.ENV__V3*/
2088 meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL;
2089 gcc_assert(melt_discr((melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2])) != NULL);
2092 /*getarg#2*/
2093 /*^getarg*/
2094 if (meltxargdescr_[1] != MELTBPAR_PTR) goto meltlab_endgetargs;
2095 /*_.PCTX__V4*/
2096 meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL;
2097 gcc_assert(melt_discr((melt_ptr_t)(/*_.PCTX__V4*/ meltfptr[3])) != NULL);
2100 goto meltlab_endgetargs;
2101 meltlab_endgetargs:
2103 /*body*/
2104 /*^block*/
2105 /*anyblock*/
2109 #if MELT_HAVE_DEBUG
2110 MELT_LOCATION("warmelt-macro.melt:6322:/ cppif.then");
2111 /*^block*/
2112 /*anyblock*/
2117 /*^locexp*/
2118 /*melt_increment_dbgcounter*/
2119 #if MELT_HAVE_DEBUG
2120 melt_dbgcounter++;
2121 #endif
2126 MELT_CHECK_SIGNAL();
2128 /*_#MELT_NEED_DBG__L1*/
2129 meltfnum[0] =
2130 /*MELT_NEED_DBG*/
2131 #if MELT_HAVE_DEBUG
2132 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
2133 #else
2134 0 /* no melt_need_dbg */
2135 #endif /*MELT_HAVE_DEBUG*/
2137 MELT_LOCATION("warmelt-macro.melt:6322:/ cond");
2138 /*cond*/
2139 if (/*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then*/
2141 /*^cond.then*/
2142 /*^block*/
2143 /*anyblock*/
2146 /*_#MELT_CALLCOUNT__L2*/ meltfnum[1] =
2147 /* for melt_callcount */
2148 #if MELT_HAVE_DEBUG && defined (meltcallcount)
2149 meltcallcount /* melt_callcount debugging */
2150 #else
2151 0L /* melt_callcount without debug */
2152 #endif /* MELT_HAVE_DEBUG melt_callcount */
2155 MELT_CHECK_SIGNAL();
2157 MELT_LOCATION("warmelt-macro.melt:6322:/ apply");
2158 /*apply*/
2160 union meltparam_un argtab[5];
2161 memset(&argtab, 0, sizeof(argtab));
2162 /*^apply.arg*/
2163 argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L2*/ meltfnum[1];
2164 /*^apply.arg*/
2165 argtab[1].meltbp_cstring = "warmelt-macro.melt";
2166 /*^apply.arg*/
2167 argtab[2].meltbp_long = 6322;
2168 /*^apply.arg*/
2169 argtab[3].meltbp_cstring = "patexpand_or sexpr=";
2170 /*^apply.arg*/
2171 argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.SEXPR__V2*/ meltfptr[1];
2172 /*_.MELT_DEBUG_FUN__V6*/
2173 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);
2176 /*_._IF___V5*/
2177 meltfptr[4] = /*_.MELT_DEBUG_FUN__V6*/ meltfptr[5];;
2178 /*epilog*/
2180 MELT_LOCATION("warmelt-macro.melt:6322:/ clear");
2181 /*clear*/ /*_#MELT_CALLCOUNT__L2*/
2182 meltfnum[1] = 0 ;
2183 /*^clear*/
2184 /*clear*/ /*_.MELT_DEBUG_FUN__V6*/
2185 meltfptr[5] = 0 ;
2189 else /*^cond.else*/
2192 /*_._IF___V5*/ meltfptr[4] = /*reallynil*/ NULL ;;
2197 MELT_LOCATION("warmelt-macro.melt:6322:/ locexp");
2198 /*void*/
2199 (void)0;
2202 /*^quasiblock*/
2205 /*epilog*/
2207 /*^clear*/
2208 /*clear*/ /*_#MELT_NEED_DBG__L1*/
2209 meltfnum[0] = 0 ;
2210 /*^clear*/
2211 /*clear*/ /*_._IF___V5*/
2212 meltfptr[4] = 0 ;
2215 #else /*MELT_HAVE_DEBUG*/
2216 /*^cppif.else*/
2217 /*^block*/
2218 /*anyblock*/
2223 /*^locexp*/
2224 /*void*/(void)0;
2227 /*epilog*/
2230 #endif /*MELT_HAVE_DEBUG*/
2233 #if MELT_HAVE_DEBUG
2234 MELT_LOCATION("warmelt-macro.melt:6323:/ cppif.then");
2235 /*^block*/
2236 /*anyblock*/
2240 MELT_CHECK_SIGNAL();
2242 /*_#IS_A__L3*/
2243 meltfnum[1] =
2244 melt_is_instance_of((melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_SEXPR*/ meltfrout->tabval[1])));;
2245 MELT_LOCATION("warmelt-macro.melt:6323:/ cond");
2246 /*cond*/
2247 if (/*_#IS_A__L3*/ meltfnum[1]) /*then*/
2249 /*^cond.then*/
2250 /*_._IFELSE___V8*/ meltfptr[4] = (/*nil*/NULL);;
2252 else
2254 MELT_LOCATION("warmelt-macro.melt:6323:/ cond.else");
2256 /*^block*/
2257 /*anyblock*/
2261 MELT_CHECK_SIGNAL();
2263 /*^apply*/
2264 /*apply*/
2266 union meltparam_un argtab[4];
2267 memset(&argtab, 0, sizeof(argtab));
2268 /*^apply.arg*/
2269 argtab[0].meltbp_cstring = "check sexpr";
2270 /*^apply.arg*/
2271 argtab[1].meltbp_cstring = "warmelt-macro.melt";
2272 /*^apply.arg*/
2273 argtab[2].meltbp_long = 6323;
2274 /*^apply.arg*/
2275 argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.SEXPR__V2*/ meltfptr[1];
2276 /*_.MELT_ASSERT_FAILURE_FUN__V9*/
2277 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);
2280 /*_._IFELSE___V8*/
2281 meltfptr[4] = /*_.MELT_ASSERT_FAILURE_FUN__V9*/ meltfptr[8];;
2282 /*epilog*/
2284 MELT_LOCATION("warmelt-macro.melt:6323:/ clear");
2285 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V9*/
2286 meltfptr[8] = 0 ;
2291 /*_.IFCPP___V7*/
2292 meltfptr[5] = /*_._IFELSE___V8*/ meltfptr[4];;
2293 /*epilog*/
2295 MELT_LOCATION("warmelt-macro.melt:6323:/ clear");
2296 /*clear*/ /*_#IS_A__L3*/
2297 meltfnum[1] = 0 ;
2298 /*^clear*/
2299 /*clear*/ /*_._IFELSE___V8*/
2300 meltfptr[4] = 0 ;
2303 #else /*MELT_HAVE_DEBUG*/
2304 /*^cppif.else*/
2305 /*_.IFCPP___V7*/ meltfptr[5] = (/*nil*/NULL);
2306 #endif /*MELT_HAVE_DEBUG*/
2309 #if MELT_HAVE_DEBUG
2310 MELT_LOCATION("warmelt-macro.melt:6324:/ cppif.then");
2311 /*^block*/
2312 /*anyblock*/
2316 MELT_CHECK_SIGNAL();
2318 /*_#IS_A__L4*/
2319 meltfnum[0] =
2320 melt_is_instance_of((melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2]), (melt_ptr_t)((/*!CLASS_ENVIRONMENT*/ meltfrout->tabval[3])));;
2321 MELT_LOCATION("warmelt-macro.melt:6324:/ cond");
2322 /*cond*/
2323 if (/*_#IS_A__L4*/ meltfnum[0]) /*then*/
2325 /*^cond.then*/
2326 /*_._IFELSE___V11*/ meltfptr[4] = (/*nil*/NULL);;
2328 else
2330 MELT_LOCATION("warmelt-macro.melt:6324:/ cond.else");
2332 /*^block*/
2333 /*anyblock*/
2337 MELT_CHECK_SIGNAL();
2339 /*^apply*/
2340 /*apply*/
2342 union meltparam_un argtab[4];
2343 memset(&argtab, 0, sizeof(argtab));
2344 /*^apply.arg*/
2345 argtab[0].meltbp_cstring = "check env";
2346 /*^apply.arg*/
2347 argtab[1].meltbp_cstring = "warmelt-macro.melt";
2348 /*^apply.arg*/
2349 argtab[2].meltbp_long = 6324;
2350 /*^apply.arg*/
2351 argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.ENV__V3*/ meltfptr[2];
2352 /*_.MELT_ASSERT_FAILURE_FUN__V12*/
2353 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);
2356 /*_._IFELSE___V11*/
2357 meltfptr[4] = /*_.MELT_ASSERT_FAILURE_FUN__V12*/ meltfptr[11];;
2358 /*epilog*/
2360 MELT_LOCATION("warmelt-macro.melt:6324:/ clear");
2361 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V12*/
2362 meltfptr[11] = 0 ;
2367 /*_.IFCPP___V10*/
2368 meltfptr[8] = /*_._IFELSE___V11*/ meltfptr[4];;
2369 /*epilog*/
2371 MELT_LOCATION("warmelt-macro.melt:6324:/ clear");
2372 /*clear*/ /*_#IS_A__L4*/
2373 meltfnum[0] = 0 ;
2374 /*^clear*/
2375 /*clear*/ /*_._IFELSE___V11*/
2376 meltfptr[4] = 0 ;
2379 #else /*MELT_HAVE_DEBUG*/
2380 /*^cppif.else*/
2381 /*_.IFCPP___V10*/ meltfptr[8] = (/*nil*/NULL);
2382 #endif /*MELT_HAVE_DEBUG*/
2385 #if MELT_HAVE_DEBUG
2386 MELT_LOCATION("warmelt-macro.melt:6325:/ cppif.then");
2387 /*^block*/
2388 /*anyblock*/
2392 MELT_CHECK_SIGNAL();
2394 /*_#IS_A__L5*/
2395 meltfnum[1] =
2396 melt_is_instance_of((melt_ptr_t)(/*_.PCTX__V4*/ meltfptr[3]), (melt_ptr_t)((/*!CLASS_PATTERN_EXPANSION_CONTEXT*/ meltfrout->tabval[4])));;
2397 MELT_LOCATION("warmelt-macro.melt:6325:/ cond");
2398 /*cond*/
2399 if (/*_#IS_A__L5*/ meltfnum[1]) /*then*/
2401 /*^cond.then*/
2402 /*_._IFELSE___V14*/ meltfptr[4] = (/*nil*/NULL);;
2404 else
2406 MELT_LOCATION("warmelt-macro.melt:6325:/ cond.else");
2408 /*^block*/
2409 /*anyblock*/
2413 MELT_CHECK_SIGNAL();
2415 /*^apply*/
2416 /*apply*/
2418 union meltparam_un argtab[4];
2419 memset(&argtab, 0, sizeof(argtab));
2420 /*^apply.arg*/
2421 argtab[0].meltbp_cstring = "check pctx";
2422 /*^apply.arg*/
2423 argtab[1].meltbp_cstring = "warmelt-macro.melt";
2424 /*^apply.arg*/
2425 argtab[2].meltbp_long = 6325;
2426 /*^apply.arg*/
2427 argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.PCTX__V4*/ meltfptr[3];
2428 /*_.MELT_ASSERT_FAILURE_FUN__V15*/
2429 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);
2432 /*_._IFELSE___V14*/
2433 meltfptr[4] = /*_.MELT_ASSERT_FAILURE_FUN__V15*/ meltfptr[14];;
2434 /*epilog*/
2436 MELT_LOCATION("warmelt-macro.melt:6325:/ clear");
2437 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V15*/
2438 meltfptr[14] = 0 ;
2443 /*_.IFCPP___V13*/
2444 meltfptr[11] = /*_._IFELSE___V14*/ meltfptr[4];;
2445 /*epilog*/
2447 MELT_LOCATION("warmelt-macro.melt:6325:/ clear");
2448 /*clear*/ /*_#IS_A__L5*/
2449 meltfnum[1] = 0 ;
2450 /*^clear*/
2451 /*clear*/ /*_._IFELSE___V14*/
2452 meltfptr[4] = 0 ;
2455 #else /*MELT_HAVE_DEBUG*/
2456 /*^cppif.else*/
2457 /*_.IFCPP___V13*/ meltfptr[11] = (/*nil*/NULL);
2458 #endif /*MELT_HAVE_DEBUG*/
2460 MELT_LOCATION("warmelt-macro.melt:6326:/ quasiblock");
2463 MELT_LOCATION("warmelt-macro.melt:6327:/ getslot");
2465 melt_ptr_t slot=NULL, obj=NULL;
2466 obj = (melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/;
2467 melt_object_get_field(slot,obj, 2, "SEXP_CONTENTS");
2468 /*_.CONT__V17*/
2469 meltfptr[4] = slot;
2472 MELT_LOCATION("warmelt-macro.melt:6328:/ getslot");
2474 melt_ptr_t slot=NULL, obj=NULL;
2475 obj = (melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/;
2476 melt_object_get_field(slot,obj, 1, "LOCA_LOCATION");
2477 /*_.LOC__V18*/
2478 meltfptr[17] = slot;
2481 /*_.LIST_FIRST__V19*/
2482 meltfptr[18] =
2483 (melt_list_first((melt_ptr_t)(/*_.CONT__V17*/ meltfptr[4])));;
2484 /*^compute*/
2485 /*_.CURPAIR__V20*/
2486 meltfptr[19] =
2487 (melt_pair_tail((melt_ptr_t)(/*_.LIST_FIRST__V19*/ meltfptr[18])));;
2489 MELT_CHECK_SIGNAL();
2491 MELT_LOCATION("warmelt-macro.melt:6330:/ apply");
2492 /*apply*/
2494 union meltparam_un argtab[3];
2495 memset(&argtab, 0, sizeof(argtab));
2496 /*^apply.arg*/
2497 argtab[0].meltbp_aptr = (melt_ptr_t*) &/*_.ENV__V3*/ meltfptr[2];
2498 /*^apply.arg*/
2499 argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.PCTX__V4*/ meltfptr[3];
2500 /*^apply.arg*/
2501 argtab[2].meltbp_aptr = (melt_ptr_t*) &/*_.LOC__V18*/ meltfptr[17];
2502 /*_.ARGSP__V21*/
2503 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);
2507 MELT_CHECK_SIGNAL();
2509 MELT_LOCATION("warmelt-macro.melt:6331:/ quasiblock");
2512 /*^rawallocobj*/
2513 /*rawallocobj*/
2515 melt_ptr_t newobj = 0;
2516 melt_raw_object_create(newobj,(melt_ptr_t)((/*!CLASS_SOURCE_PATTERN_OR*/ meltfrout->tabval[6])), (4), "CLASS_SOURCE_PATTERN_OR");
2517 /*_.INST__V23*/
2518 meltfptr[22] =
2519 newobj;
2522 /*^putslot*/
2523 /*putslot*/
2524 melt_assertmsg("checkobj putslot _ @LOCA_LOCATION", melt_magic_discr((melt_ptr_t)(/*_.INST__V23*/ meltfptr[22])) == MELTOBMAG_OBJECT);
2525 melt_putfield_object((/*_.INST__V23*/ meltfptr[22]), (1), (/*_.LOC__V18*/ meltfptr[17]), "LOCA_LOCATION");
2527 /*^putslot*/
2528 /*putslot*/
2529 melt_assertmsg("checkobj putslot _ @ORPAT_DISJ", melt_magic_discr((melt_ptr_t)(/*_.INST__V23*/ meltfptr[22])) == MELTOBMAG_OBJECT);
2530 melt_putfield_object((/*_.INST__V23*/ meltfptr[22]), (3), (/*_.ARGSP__V21*/ meltfptr[20]), "ORPAT_DISJ");
2532 /*^touchobj*/
2534 melt_dbgtrace_written_object (/*_.INST__V23*/ meltfptr[22], "newly made instance");
2536 /*_.RES__V22*/
2537 meltfptr[21] = /*_.INST__V23*/ meltfptr[22];;
2539 MELT_CHECK_SIGNAL();
2541 MELT_LOCATION("warmelt-macro.melt:6335:/ quasiblock");
2544 /*^multiapply*/
2545 /*multiapply 1args, 3x.res*/
2548 union meltparam_un restab[3];
2549 memset(&restab, 0, sizeof(restab));
2550 /*^multiapply.xres*/
2551 restab[0].meltbp_longptr = & /*_#IMAX__L6*/ meltfnum[0];
2552 /*^multiapply.xres*/
2553 restab[1].meltbp_longptr = & /*_#IMIN__L7*/ meltfnum[1];
2554 /*^multiapply.xres*/
2555 restab[2].meltbp_longptr = & /*_#ISUM__L8*/ meltfnum[7];
2556 /*^multiapply.appl*/
2557 /*_.SUBPATW__V25*/
2558 meltfptr[24] = melt_apply ((meltclosure_ptr_t)((/*!PATTERN_WEIGHT_TUPLE*/ meltfrout->tabval[7])), (melt_ptr_t)(/*_.ARGSP__V21*/ meltfptr[20]), (""), (union meltparam_un*)0, (MELTBPARSTR_LONG MELTBPARSTR_LONG MELTBPARSTR_LONG ""), restab);
2561 /*^quasiblock*/
2565 MELT_CHECK_SIGNAL();
2567 /*_#plI__L9*/
2568 meltfnum[8] =
2569 ((1) + (/*_#IMIN__L7*/ meltfnum[1]));;
2570 /*^compute*/
2571 /*_.MAKE_INTEGERBOX__V26*/
2572 meltfptr[25] =
2573 (meltgc_new_int((meltobject_ptr_t)((/*!DISCR_CONSTANT_INTEGER*/ meltfrout->tabval[8])), (/*_#plI__L9*/ meltfnum[8])));;
2574 MELT_LOCATION("warmelt-macro.melt:6338:/ quasiblock");
2577 /*^putslot*/
2578 /*putslot*/
2579 melt_assertmsg("checkobj putslot _ @PAT_WEIGHT", melt_magic_discr((melt_ptr_t)(/*_.RES__V22*/ meltfptr[21])) == MELTOBMAG_OBJECT);
2580 melt_putfield_object((/*_.RES__V22*/ meltfptr[21]), (2), (/*_.MAKE_INTEGERBOX__V26*/ meltfptr[25]), "PAT_WEIGHT");
2582 /*^touch*/
2583 meltgc_touch(/*_.RES__V22*/ meltfptr[21]);
2585 /*^touchobj*/
2587 melt_dbgtrace_written_object (/*_.RES__V22*/ meltfptr[21], "put-fields");
2591 #if MELT_HAVE_DEBUG
2592 MELT_LOCATION("warmelt-macro.melt:6341:/ cppif.then");
2593 /*^block*/
2594 /*anyblock*/
2599 /*^locexp*/
2600 /*melt_increment_dbgcounter*/
2601 #if MELT_HAVE_DEBUG
2602 melt_dbgcounter++;
2603 #endif
2608 MELT_CHECK_SIGNAL();
2610 /*_#MELT_NEED_DBG__L10*/
2611 meltfnum[9] =
2612 /*MELT_NEED_DBG*/
2613 #if MELT_HAVE_DEBUG
2614 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
2615 #else
2616 0 /* no melt_need_dbg */
2617 #endif /*MELT_HAVE_DEBUG*/
2619 MELT_LOCATION("warmelt-macro.melt:6341:/ cond");
2620 /*cond*/
2621 if (/*_#MELT_NEED_DBG__L10*/ meltfnum[9]) /*then*/
2623 /*^cond.then*/
2624 /*^block*/
2625 /*anyblock*/
2628 /*_#MELT_CALLCOUNT__L11*/ meltfnum[10] =
2629 /* for melt_callcount */
2630 #if MELT_HAVE_DEBUG && defined (meltcallcount)
2631 meltcallcount /* melt_callcount debugging */
2632 #else
2633 0L /* melt_callcount without debug */
2634 #endif /* MELT_HAVE_DEBUG melt_callcount */
2637 MELT_CHECK_SIGNAL();
2639 MELT_LOCATION("warmelt-macro.melt:6341:/ apply");
2640 /*apply*/
2642 union meltparam_un argtab[5];
2643 memset(&argtab, 0, sizeof(argtab));
2644 /*^apply.arg*/
2645 argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L11*/ meltfnum[10];
2646 /*^apply.arg*/
2647 argtab[1].meltbp_cstring = "warmelt-macro.melt";
2648 /*^apply.arg*/
2649 argtab[2].meltbp_long = 6341;
2650 /*^apply.arg*/
2651 argtab[3].meltbp_cstring = "patexpand_or res";
2652 /*^apply.arg*/
2653 argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.RES__V22*/ meltfptr[21];
2654 /*_.MELT_DEBUG_FUN__V28*/
2655 meltfptr[27] = 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);
2658 /*_._IF___V27*/
2659 meltfptr[26] = /*_.MELT_DEBUG_FUN__V28*/ meltfptr[27];;
2660 /*epilog*/
2662 MELT_LOCATION("warmelt-macro.melt:6341:/ clear");
2663 /*clear*/ /*_#MELT_CALLCOUNT__L11*/
2664 meltfnum[10] = 0 ;
2665 /*^clear*/
2666 /*clear*/ /*_.MELT_DEBUG_FUN__V28*/
2667 meltfptr[27] = 0 ;
2671 else /*^cond.else*/
2674 /*_._IF___V27*/ meltfptr[26] = /*reallynil*/ NULL ;;
2679 MELT_LOCATION("warmelt-macro.melt:6341:/ locexp");
2680 /*void*/
2681 (void)0;
2684 /*^quasiblock*/
2687 /*epilog*/
2689 /*^clear*/
2690 /*clear*/ /*_#MELT_NEED_DBG__L10*/
2691 meltfnum[9] = 0 ;
2692 /*^clear*/
2693 /*clear*/ /*_._IF___V27*/
2694 meltfptr[26] = 0 ;
2697 #else /*MELT_HAVE_DEBUG*/
2698 /*^cppif.else*/
2699 /*^block*/
2700 /*anyblock*/
2705 /*^locexp*/
2706 /*void*/(void)0;
2709 /*epilog*/
2712 #endif /*MELT_HAVE_DEBUG*/
2715 MELT_CHECK_SIGNAL();
2717 MELT_LOCATION("warmelt-macro.melt:6342:/ quasiblock");
2720 /*_._RETVAL___V1*/
2721 meltfptr[0] = /*_.RES__V22*/ meltfptr[21];;
2724 MELT_LOCATION("warmelt-macro.melt:6342:/ locexp");
2725 /*ochecknores compilobj_nrep_return*/
2726 #if MELT_HAVE_DEBUG
2727 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
2728 melt_warn_for_no_expected_secondary_results();
2729 /* we warned when secondary results are expected but not returned. */
2730 #endif /*MELT_HAVE_DEBUG*/
2734 /*^finalreturn*/
2736 /*finalret*/
2737 goto meltlabend_rout ;
2739 MELT_CHECK_SIGNAL();
2741 /*_.MULTI___V24*/
2742 meltfptr[23] = /*_.RETURN___V29*/ meltfptr[27];;
2744 MELT_LOCATION("warmelt-macro.melt:6335:/ clear");
2745 /*clear*/ /*_#plI__L9*/
2746 meltfnum[8] = 0 ;
2747 /*^clear*/
2748 /*clear*/ /*_.MAKE_INTEGERBOX__V26*/
2749 meltfptr[25] = 0 ;
2750 /*^clear*/
2751 /*clear*/ /*_.RETURN___V29*/
2752 meltfptr[27] = 0 ;
2754 /*^clear*/
2755 /*clear*/ /*_#IMAX__L6*/
2756 meltfnum[0] = 0 ;
2757 /*^clear*/
2758 /*clear*/ /*_#IMIN__L7*/
2759 meltfnum[1] = 0 ;
2760 /*^clear*/
2761 /*clear*/ /*_#ISUM__L8*/
2762 meltfnum[7] = 0 ;
2763 /*_.LET___V16*/
2764 meltfptr[14] = /*_.MULTI___V24*/ meltfptr[23];;
2766 MELT_LOCATION("warmelt-macro.melt:6326:/ clear");
2767 /*clear*/ /*_.CONT__V17*/
2768 meltfptr[4] = 0 ;
2769 /*^clear*/
2770 /*clear*/ /*_.LOC__V18*/
2771 meltfptr[17] = 0 ;
2772 /*^clear*/
2773 /*clear*/ /*_.LIST_FIRST__V19*/
2774 meltfptr[18] = 0 ;
2775 /*^clear*/
2776 /*clear*/ /*_.CURPAIR__V20*/
2777 meltfptr[19] = 0 ;
2778 /*^clear*/
2779 /*clear*/ /*_.ARGSP__V21*/
2780 meltfptr[20] = 0 ;
2781 /*^clear*/
2782 /*clear*/ /*_.RES__V22*/
2783 meltfptr[21] = 0 ;
2784 /*^clear*/
2785 /*clear*/ /*_.MULTI___V24*/
2786 meltfptr[23] = 0 ;
2788 MELT_CHECK_SIGNAL();
2790 MELT_LOCATION("warmelt-macro.melt:6321:/ quasiblock");
2793 /*_._RETVAL___V1*/
2794 meltfptr[0] = /*_.LET___V16*/ meltfptr[14];;
2797 MELT_LOCATION("warmelt-macro.melt:6321:/ locexp");
2798 /*ochecknores compilobj_nrep_return*/
2799 #if MELT_HAVE_DEBUG
2800 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
2801 melt_warn_for_no_expected_secondary_results();
2802 /* we warned when secondary results are expected but not returned. */
2803 #endif /*MELT_HAVE_DEBUG*/
2807 /*^finalreturn*/
2809 /*finalret*/
2810 goto meltlabend_rout ;
2811 /*epilog*/
2813 /*^clear*/
2814 /*clear*/ /*_.IFCPP___V7*/
2815 meltfptr[5] = 0 ;
2816 /*^clear*/
2817 /*clear*/ /*_.IFCPP___V10*/
2818 meltfptr[8] = 0 ;
2819 /*^clear*/
2820 /*clear*/ /*_.IFCPP___V13*/
2821 meltfptr[11] = 0 ;
2822 /*^clear*/
2823 /*clear*/ /*_.LET___V16*/
2824 meltfptr[14] = 0 ;
2828 goto meltlabend_rout;
2829 meltlabend_rout:
2830 melt_trace_end("PATEXPAND_OR", meltcallcount);
2831 melt_blocklevel_signals = current_blocklevel_signals_meltrout_104_WARMELTmiMACRO_PATEXPAND_OR_melt;
2832 return (melt_ptr_t)(/*_._RETVAL___V1*/ meltfptr[0]);
2833 #undef meltcallcount
2834 #undef meltfram__
2835 #undef MELTFRAM_NBVARNUM
2836 #undef MELTFRAM_NBVARPTR
2837 } /*end meltrout_104_WARMELTmiMACRO_PATEXPAND_OR*/
2844 melt_ptr_t MELT_MODULE_VISIBILITY
2845 meltrout_105_WARMELTmiMACRO_MEXPAND_REFERENCE(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_,
2846 const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_)
2848 long current_blocklevel_signals_meltrout_105_WARMELTmiMACRO_MEXPAND_REFERENCE_melt = melt_blocklevel_signals;
2850 #if MELT_HAVE_DEBUG
2851 static long melt_call_counter__;
2852 long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__;
2853 #undef meltcallcount
2854 #define meltcallcount melt_thiscallcounter__
2855 #else
2856 #undef meltcallcount
2857 #define meltcallcount 0L
2858 #endif
2859 //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1538
2861 /* start of frame for routine meltrout_105_WARMELTmiMACRO_MEXPAND_REFERENCE fromline 1752 */
2863 /** start of frame for meltrout_105_WARMELTmiMACRO_MEXPAND_REFERENCE of CLASS_PROCROUTINEOBJ from 1555**/
2865 /*curframdeclclassy*/ class MeltFrame_meltrout_105_WARMELTmiMACRO_MEXPAND_REFERENCE// fromline 1568
2866 : public Melt_CallFrameWithValues<41>
2868 public: /* fromline 1572*/
2869 long mcfr_varnum[13];
2870 /*classy others*/
2871 long _meltsparel;
2872 void melt_mark_stuff (void)
2874 } /*end melt_mark_stuff*/
2875 virtual void melt_mark_ggc_data (void)
2877 melt_mark_values ();
2878 melt_mark_stuff ();
2879 }; /*end melt_mark_ggc_data*/
2880 MeltFrame_meltrout_105_WARMELTmiMACRO_MEXPAND_REFERENCE(meltclosure_ptr_t clos) //the closure constructor fromline 1630
2881 : Melt_CallFrameWithValues<41> (
2882 #if ENABLE_CHECKING /*fromline 1634*/
2883 __FILE__, __LINE__,
2884 #endif /* ENABLE_CHECKING fromline 1638*/
2885 sizeof(MeltFrame_meltrout_105_WARMELTmiMACRO_MEXPAND_REFERENCE), clos) {};
2886 MeltFrame_meltrout_105_WARMELTmiMACRO_MEXPAND_REFERENCE() //the constructor fromline 1642
2887 : Melt_CallFrameWithValues<41> (
2888 #if ENABLE_CHECKING /*fromline 1646*/
2889 __FILE__, __LINE__,
2890 #endif /* ENABLE_CHECKING fromline 1650*/
2891 sizeof(MeltFrame_meltrout_105_WARMELTmiMACRO_MEXPAND_REFERENCE)) {};
2892 #if ENABLE_CHECKING /*fromline 1654*/
2893 MeltFrame_meltrout_105_WARMELTmiMACRO_MEXPAND_REFERENCE(const char*fil, int lin) //the constructor fromline 1656
2894 : Melt_CallFrameWithValues<41> (fil,lin, sizeof(MeltFrame_meltrout_105_WARMELTmiMACRO_MEXPAND_REFERENCE)) {};
2895 MeltFrame_meltrout_105_WARMELTmiMACRO_MEXPAND_REFERENCE(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1661
2896 : Melt_CallFrameWithValues<41> (fil,lin, sizeof(MeltFrame_meltrout_105_WARMELTmiMACRO_MEXPAND_REFERENCE), clos) {};
2897 #endif /* ENABLE_CHECKING fromline 1666*/
2899 }; // end class MeltFrame_meltrout_105_WARMELTmiMACRO_MEXPAND_REFERENCE
2902 /** end of frame for meltrout_105_WARMELTmiMACRO_MEXPAND_REFERENCE fromline 1697**/
2904 /* end of frame for routine meltrout_105_WARMELTmiMACRO_MEXPAND_REFERENCE fromline 1756 */
2906 /* classy proc frame meltrout_105_WARMELTmiMACRO_MEXPAND_REFERENCE */
2907 MeltFrame_meltrout_105_WARMELTmiMACRO_MEXPAND_REFERENCE
2908 meltfram__ /*declfrastruct fromline 1780*/
2909 /*classyprocarg meltrout_105_WARMELTmiMACRO_MEXPAND_REFERENCE fromline 1785*/
2910 #if ENABLE_CHECKING
2911 (__FILE__, __LINE__, meltclosp_) /* fromline 1789*/
2912 #else /*ENABLE_CHECKING */
2913 (meltclosp_) /* fromline 1793*/
2914 #endif /*ENABLE_CHECKING */
2917 #define meltframe meltfram__
2919 melt_trace_start("MEXPAND_REFERENCE", meltcallcount);
2920 /*use arguments*/
2921 (void) meltclosp_;
2922 (void)meltfirstargp_;
2923 (void)meltxargdescr_;
2924 (void)meltxargtab_;
2925 (void)meltxresdescr_;
2926 (void)meltxrestab_;
2927 /*getargs*/
2929 /*getarg#0*/
2930 MELT_LOCATION("warmelt-macro.melt:6358:/ getarg");
2931 /*_.SEXPR__V2*/
2932 meltfptr[1] = (melt_ptr_t) meltfirstargp_;
2934 /*getarg#1*/
2935 /*^getarg*/
2936 if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_endgetargs;
2937 /*_.ENV__V3*/
2938 meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL;
2939 gcc_assert(melt_discr((melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2])) != NULL);
2942 /*getarg#2*/
2943 /*^getarg*/
2944 if (meltxargdescr_[1] != MELTBPAR_PTR) goto meltlab_endgetargs;
2945 /*_.MEXPANDER__V4*/
2946 meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL;
2947 gcc_assert(melt_discr((melt_ptr_t)(/*_.MEXPANDER__V4*/ meltfptr[3])) != NULL);
2950 /*getarg#3*/
2951 /*^getarg*/
2952 if (meltxargdescr_[2] != MELTBPAR_PTR) goto meltlab_endgetargs;
2953 /*_.MODCTX__V5*/
2954 meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL;
2955 gcc_assert(melt_discr((melt_ptr_t)(/*_.MODCTX__V5*/ meltfptr[4])) != NULL);
2958 goto meltlab_endgetargs;
2959 meltlab_endgetargs:
2961 /*body*/
2962 /*^block*/
2963 /*anyblock*/
2967 #if MELT_HAVE_DEBUG
2968 MELT_LOCATION("warmelt-macro.melt:6359:/ cppif.then");
2969 /*^block*/
2970 /*anyblock*/
2975 /*^locexp*/
2976 /*melt_increment_dbgcounter*/
2977 #if MELT_HAVE_DEBUG
2978 melt_dbgcounter++;
2979 #endif
2984 MELT_CHECK_SIGNAL();
2986 /*_#MELT_NEED_DBG__L1*/
2987 meltfnum[0] =
2988 /*MELT_NEED_DBG*/
2989 #if MELT_HAVE_DEBUG
2990 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
2991 #else
2992 0 /* no melt_need_dbg */
2993 #endif /*MELT_HAVE_DEBUG*/
2995 MELT_LOCATION("warmelt-macro.melt:6359:/ cond");
2996 /*cond*/
2997 if (/*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then*/
2999 /*^cond.then*/
3000 /*^block*/
3001 /*anyblock*/
3004 /*_#MELT_CALLCOUNT__L2*/ meltfnum[1] =
3005 /* for melt_callcount */
3006 #if MELT_HAVE_DEBUG && defined (meltcallcount)
3007 meltcallcount /* melt_callcount debugging */
3008 #else
3009 0L /* melt_callcount without debug */
3010 #endif /* MELT_HAVE_DEBUG melt_callcount */
3013 MELT_CHECK_SIGNAL();
3015 MELT_LOCATION("warmelt-macro.melt:6359:/ apply");
3016 /*apply*/
3018 union meltparam_un argtab[5];
3019 memset(&argtab, 0, sizeof(argtab));
3020 /*^apply.arg*/
3021 argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L2*/ meltfnum[1];
3022 /*^apply.arg*/
3023 argtab[1].meltbp_cstring = "warmelt-macro.melt";
3024 /*^apply.arg*/
3025 argtab[2].meltbp_long = 6359;
3026 /*^apply.arg*/
3027 argtab[3].meltbp_cstring = "mexpand_reference sexpr=";
3028 /*^apply.arg*/
3029 argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.SEXPR__V2*/ meltfptr[1];
3030 /*_.MELT_DEBUG_FUN__V7*/
3031 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);
3034 /*_._IF___V6*/
3035 meltfptr[5] = /*_.MELT_DEBUG_FUN__V7*/ meltfptr[6];;
3036 /*epilog*/
3038 MELT_LOCATION("warmelt-macro.melt:6359:/ clear");
3039 /*clear*/ /*_#MELT_CALLCOUNT__L2*/
3040 meltfnum[1] = 0 ;
3041 /*^clear*/
3042 /*clear*/ /*_.MELT_DEBUG_FUN__V7*/
3043 meltfptr[6] = 0 ;
3047 else /*^cond.else*/
3050 /*_._IF___V6*/ meltfptr[5] = /*reallynil*/ NULL ;;
3055 MELT_LOCATION("warmelt-macro.melt:6359:/ locexp");
3056 /*void*/
3057 (void)0;
3060 /*^quasiblock*/
3063 /*epilog*/
3065 /*^clear*/
3066 /*clear*/ /*_#MELT_NEED_DBG__L1*/
3067 meltfnum[0] = 0 ;
3068 /*^clear*/
3069 /*clear*/ /*_._IF___V6*/
3070 meltfptr[5] = 0 ;
3073 #else /*MELT_HAVE_DEBUG*/
3074 /*^cppif.else*/
3075 /*^block*/
3076 /*anyblock*/
3081 /*^locexp*/
3082 /*void*/(void)0;
3085 /*epilog*/
3088 #endif /*MELT_HAVE_DEBUG*/
3091 #if MELT_HAVE_DEBUG
3092 MELT_LOCATION("warmelt-macro.melt:6360:/ cppif.then");
3093 /*^block*/
3094 /*anyblock*/
3098 MELT_CHECK_SIGNAL();
3100 /*_#IS_A__L3*/
3101 meltfnum[1] =
3102 melt_is_instance_of((melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_SEXPR*/ meltfrout->tabval[1])));;
3103 MELT_LOCATION("warmelt-macro.melt:6360:/ cond");
3104 /*cond*/
3105 if (/*_#IS_A__L3*/ meltfnum[1]) /*then*/
3107 /*^cond.then*/
3108 /*_._IFELSE___V9*/ meltfptr[5] = (/*nil*/NULL);;
3110 else
3112 MELT_LOCATION("warmelt-macro.melt:6360:/ cond.else");
3114 /*^block*/
3115 /*anyblock*/
3119 MELT_CHECK_SIGNAL();
3121 /*^apply*/
3122 /*apply*/
3124 union meltparam_un argtab[4];
3125 memset(&argtab, 0, sizeof(argtab));
3126 /*^apply.arg*/
3127 argtab[0].meltbp_cstring = "check sexpr";
3128 /*^apply.arg*/
3129 argtab[1].meltbp_cstring = "warmelt-macro.melt";
3130 /*^apply.arg*/
3131 argtab[2].meltbp_long = 6360;
3132 /*^apply.arg*/
3133 argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.SEXPR__V2*/ meltfptr[1];
3134 /*_.MELT_ASSERT_FAILURE_FUN__V10*/
3135 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);
3138 /*_._IFELSE___V9*/
3139 meltfptr[5] = /*_.MELT_ASSERT_FAILURE_FUN__V10*/ meltfptr[9];;
3140 /*epilog*/
3142 MELT_LOCATION("warmelt-macro.melt:6360:/ clear");
3143 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V10*/
3144 meltfptr[9] = 0 ;
3149 /*_.IFCPP___V8*/
3150 meltfptr[6] = /*_._IFELSE___V9*/ meltfptr[5];;
3151 /*epilog*/
3153 MELT_LOCATION("warmelt-macro.melt:6360:/ clear");
3154 /*clear*/ /*_#IS_A__L3*/
3155 meltfnum[1] = 0 ;
3156 /*^clear*/
3157 /*clear*/ /*_._IFELSE___V9*/
3158 meltfptr[5] = 0 ;
3161 #else /*MELT_HAVE_DEBUG*/
3162 /*^cppif.else*/
3163 /*_.IFCPP___V8*/ meltfptr[6] = (/*nil*/NULL);
3164 #endif /*MELT_HAVE_DEBUG*/
3167 #if MELT_HAVE_DEBUG
3168 MELT_LOCATION("warmelt-macro.melt:6361:/ cppif.then");
3169 /*^block*/
3170 /*anyblock*/
3174 MELT_CHECK_SIGNAL();
3176 /*_#IS_A__L4*/
3177 meltfnum[0] =
3178 melt_is_instance_of((melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2]), (melt_ptr_t)((/*!CLASS_ENVIRONMENT*/ meltfrout->tabval[3])));;
3179 MELT_LOCATION("warmelt-macro.melt:6361:/ cond");
3180 /*cond*/
3181 if (/*_#IS_A__L4*/ meltfnum[0]) /*then*/
3183 /*^cond.then*/
3184 /*_._IFELSE___V12*/ meltfptr[5] = (/*nil*/NULL);;
3186 else
3188 MELT_LOCATION("warmelt-macro.melt:6361:/ cond.else");
3190 /*^block*/
3191 /*anyblock*/
3195 MELT_CHECK_SIGNAL();
3197 /*^apply*/
3198 /*apply*/
3200 union meltparam_un argtab[4];
3201 memset(&argtab, 0, sizeof(argtab));
3202 /*^apply.arg*/
3203 argtab[0].meltbp_cstring = "check env";
3204 /*^apply.arg*/
3205 argtab[1].meltbp_cstring = "warmelt-macro.melt";
3206 /*^apply.arg*/
3207 argtab[2].meltbp_long = 6361;
3208 /*^apply.arg*/
3209 argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.ENV__V3*/ meltfptr[2];
3210 /*_.MELT_ASSERT_FAILURE_FUN__V13*/
3211 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);
3214 /*_._IFELSE___V12*/
3215 meltfptr[5] = /*_.MELT_ASSERT_FAILURE_FUN__V13*/ meltfptr[12];;
3216 /*epilog*/
3218 MELT_LOCATION("warmelt-macro.melt:6361:/ clear");
3219 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V13*/
3220 meltfptr[12] = 0 ;
3225 /*_.IFCPP___V11*/
3226 meltfptr[9] = /*_._IFELSE___V12*/ meltfptr[5];;
3227 /*epilog*/
3229 MELT_LOCATION("warmelt-macro.melt:6361:/ clear");
3230 /*clear*/ /*_#IS_A__L4*/
3231 meltfnum[0] = 0 ;
3232 /*^clear*/
3233 /*clear*/ /*_._IFELSE___V12*/
3234 meltfptr[5] = 0 ;
3237 #else /*MELT_HAVE_DEBUG*/
3238 /*^cppif.else*/
3239 /*_.IFCPP___V11*/ meltfptr[9] = (/*nil*/NULL);
3240 #endif /*MELT_HAVE_DEBUG*/
3243 MELT_CHECK_SIGNAL();
3245 /*^compute*/
3246 /*_#NULL__L5*/
3247 meltfnum[1] =
3248 (/*null*/(/*_.MEXPANDER__V4*/ meltfptr[3]) == NULL);;
3249 MELT_LOCATION("warmelt-macro.melt:6362:/ cond");
3250 /*cond*/
3251 if (/*_#NULL__L5*/ meltfnum[1]) /*then*/
3253 /*^cond.then*/
3254 /*^block*/
3255 /*anyblock*/
3258 /*^compute*/
3259 /*_.MEXPANDER__V4*/ meltfptr[3] = /*_.SETQ___V15*/ meltfptr[5] = (/*!MACROEXPAND_1*/ meltfrout->tabval[4]);;
3260 /*_._IF___V14*/
3261 meltfptr[12] = /*_.SETQ___V15*/ meltfptr[5];;
3262 /*epilog*/
3264 MELT_LOCATION("warmelt-macro.melt:6362:/ clear");
3265 /*clear*/ /*_.SETQ___V15*/
3266 meltfptr[5] = 0 ;
3270 else /*^cond.else*/
3273 /*_._IF___V14*/ meltfptr[12] = /*reallynil*/ NULL ;;
3277 #if MELT_HAVE_DEBUG
3278 MELT_LOCATION("warmelt-macro.melt:6363:/ cppif.then");
3279 /*^block*/
3280 /*anyblock*/
3284 MELT_CHECK_SIGNAL();
3286 /*_#IS_OBJECT__L6*/
3287 meltfnum[0] =
3288 (melt_magic_discr((melt_ptr_t)(/*_.MODCTX__V5*/ meltfptr[4])) == MELTOBMAG_OBJECT);;
3289 MELT_LOCATION("warmelt-macro.melt:6363:/ cond");
3290 /*cond*/
3291 if (/*_#IS_OBJECT__L6*/ meltfnum[0]) /*then*/
3293 /*^cond.then*/
3294 /*_._IFELSE___V17*/ meltfptr[16] = (/*nil*/NULL);;
3296 else
3298 MELT_LOCATION("warmelt-macro.melt:6363:/ cond.else");
3300 /*^block*/
3301 /*anyblock*/
3305 MELT_CHECK_SIGNAL();
3307 /*^apply*/
3308 /*apply*/
3310 union meltparam_un argtab[4];
3311 memset(&argtab, 0, sizeof(argtab));
3312 /*^apply.arg*/
3313 argtab[0].meltbp_cstring = "check modctx";
3314 /*^apply.arg*/
3315 argtab[1].meltbp_cstring = "warmelt-macro.melt";
3316 /*^apply.arg*/
3317 argtab[2].meltbp_long = 6363;
3318 /*^apply.arg*/
3319 argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.MODCTX__V5*/ meltfptr[4];
3320 /*_.MELT_ASSERT_FAILURE_FUN__V18*/
3321 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);
3324 /*_._IFELSE___V17*/
3325 meltfptr[16] = /*_.MELT_ASSERT_FAILURE_FUN__V18*/ meltfptr[17];;
3326 /*epilog*/
3328 MELT_LOCATION("warmelt-macro.melt:6363:/ clear");
3329 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V18*/
3330 meltfptr[17] = 0 ;
3335 /*_.IFCPP___V16*/
3336 meltfptr[5] = /*_._IFELSE___V17*/ meltfptr[16];;
3337 /*epilog*/
3339 MELT_LOCATION("warmelt-macro.melt:6363:/ clear");
3340 /*clear*/ /*_#IS_OBJECT__L6*/
3341 meltfnum[0] = 0 ;
3342 /*^clear*/
3343 /*clear*/ /*_._IFELSE___V17*/
3344 meltfptr[16] = 0 ;
3347 #else /*MELT_HAVE_DEBUG*/
3348 /*^cppif.else*/
3349 /*_.IFCPP___V16*/ meltfptr[5] = (/*nil*/NULL);
3350 #endif /*MELT_HAVE_DEBUG*/
3353 #if MELT_HAVE_DEBUG
3354 MELT_LOCATION("warmelt-macro.melt:6364:/ cppif.then");
3355 /*^block*/
3356 /*anyblock*/
3360 MELT_CHECK_SIGNAL();
3362 MELT_LOCATION("warmelt-macro.melt:6366:/ cond");
3363 /*cond*/
3364 if (
3365 /*ifisa*/ melt_is_instance_of((melt_ptr_t)((/*!CLASS_REFERENCE*/ meltfrout->tabval[5])),
3366 (melt_ptr_t)((/*!CLASS_CLASS*/ meltfrout->tabval[6])))
3367 ) /*then*/
3369 /*^cond.then*/
3370 /*^getslot*/
3372 melt_ptr_t slot=NULL, obj=NULL;
3373 obj = (melt_ptr_t)((/*!CLASS_REFERENCE*/ meltfrout->tabval[5])) /*=obj*/;
3374 melt_object_get_field(slot,obj, 6, "CLASS_FIELDS");
3375 /*_.CLASS_FIELDS__V20*/
3376 meltfptr[16] = slot;
3380 else /*^cond.else*/
3383 /*_.CLASS_FIELDS__V20*/ meltfptr[16] = /*reallynil*/ NULL ;;
3386 /*^compute*/
3387 /*_#MULTIPLE_LENGTH__L7*/
3388 meltfnum[0] =
3389 (melt_multiple_length((melt_ptr_t)(/*_.CLASS_FIELDS__V20*/ meltfptr[16])));;
3390 /*^compute*/
3391 /*_#eqeqI__L8*/
3392 meltfnum[7] =
3393 ((1) == (/*_#MULTIPLE_LENGTH__L7*/ meltfnum[0]));;
3394 MELT_LOCATION("warmelt-macro.melt:6364:/ cond");
3395 /*cond*/
3396 if (/*_#eqeqI__L8*/ meltfnum[7]) /*then*/
3398 /*^cond.then*/
3399 /*_._IFELSE___V21*/ meltfptr[20] = (/*nil*/NULL);;
3401 else
3403 MELT_LOCATION("warmelt-macro.melt:6364:/ cond.else");
3405 /*^block*/
3406 /*anyblock*/
3410 MELT_CHECK_SIGNAL();
3412 /*^apply*/
3413 /*apply*/
3415 union meltparam_un argtab[4];
3416 memset(&argtab, 0, sizeof(argtab));
3417 /*^apply.arg*/
3418 argtab[0].meltbp_cstring = "check class_reference has one field";
3419 /*^apply.arg*/
3420 argtab[1].meltbp_cstring = "warmelt-macro.melt";
3421 /*^apply.arg*/
3422 argtab[2].meltbp_long = 6364;
3423 /*^apply.arg*/
3424 argtab[3].meltbp_aptr = (melt_ptr_t*) &(/*!CLASS_FIELDS*/ meltfrout->tabval[7]);
3425 /*_.MELT_ASSERT_FAILURE_FUN__V22*/
3426 meltfptr[21] = 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);
3429 /*_._IFELSE___V21*/
3430 meltfptr[20] = /*_.MELT_ASSERT_FAILURE_FUN__V22*/ meltfptr[21];;
3431 /*epilog*/
3433 MELT_LOCATION("warmelt-macro.melt:6364:/ clear");
3434 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V22*/
3435 meltfptr[21] = 0 ;
3440 /*_.IFCPP___V19*/
3441 meltfptr[17] = /*_._IFELSE___V21*/ meltfptr[20];;
3442 /*epilog*/
3444 MELT_LOCATION("warmelt-macro.melt:6364:/ clear");
3445 /*clear*/ /*_.CLASS_FIELDS__V20*/
3446 meltfptr[16] = 0 ;
3447 /*^clear*/
3448 /*clear*/ /*_#MULTIPLE_LENGTH__L7*/
3449 meltfnum[0] = 0 ;
3450 /*^clear*/
3451 /*clear*/ /*_#eqeqI__L8*/
3452 meltfnum[7] = 0 ;
3453 /*^clear*/
3454 /*clear*/ /*_._IFELSE___V21*/
3455 meltfptr[20] = 0 ;
3458 #else /*MELT_HAVE_DEBUG*/
3459 /*^cppif.else*/
3460 /*_.IFCPP___V19*/ meltfptr[17] = (/*nil*/NULL);
3461 #endif /*MELT_HAVE_DEBUG*/
3463 MELT_LOCATION("warmelt-macro.melt:6369:/ quasiblock");
3466 MELT_LOCATION("warmelt-macro.melt:6370:/ getslot");
3468 melt_ptr_t slot=NULL, obj=NULL;
3469 obj = (melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/;
3470 melt_object_get_field(slot,obj, 2, "SEXP_CONTENTS");
3471 /*_.CONT__V24*/
3472 meltfptr[16] = slot;
3475 MELT_LOCATION("warmelt-macro.melt:6371:/ getslot");
3477 melt_ptr_t slot=NULL, obj=NULL;
3478 obj = (melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/;
3479 melt_object_get_field(slot,obj, 1, "LOCA_LOCATION");
3480 /*_.LOC__V25*/
3481 meltfptr[20] = slot;
3485 MELT_CHECK_SIGNAL();
3487 MELT_LOCATION("warmelt-macro.melt:6372:/ apply");
3488 /*apply*/
3490 union meltparam_un argtab[3];
3491 memset(&argtab, 0, sizeof(argtab));
3492 /*^apply.arg*/
3493 argtab[0].meltbp_aptr = (melt_ptr_t*) &/*_.ENV__V3*/ meltfptr[2];
3494 /*^apply.arg*/
3495 argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.MEXPANDER__V4*/ meltfptr[3];
3496 /*^apply.arg*/
3497 argtab[2].meltbp_aptr = (melt_ptr_t*) &/*_.MODCTX__V5*/ meltfptr[4];
3498 /*_.XARGTUP__V26*/
3499 meltfptr[25] = melt_apply ((meltclosure_ptr_t)((/*!EXPAND_RESTLIST_AS_TUPLE*/ meltfrout->tabval[8])), (melt_ptr_t)(/*_.CONT__V24*/ meltfptr[16]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
3502 /*_#NBARG__L9*/
3503 meltfnum[0] =
3504 (melt_multiple_length((melt_ptr_t)(/*_.XARGTUP__V26*/ meltfptr[25])));;
3505 /*^compute*/
3506 /*_.ARG1__V27*/
3507 meltfptr[26] =
3508 (melt_multiple_nth((melt_ptr_t)(/*_.XARGTUP__V26*/ meltfptr[25]), (0)));;
3510 MELT_CHECK_SIGNAL();
3512 MELT_LOCATION("warmelt-macro.melt:6375:/ quasiblock");
3515 /*^rawallocobj*/
3516 /*rawallocobj*/
3518 melt_ptr_t newobj = 0;
3519 melt_raw_object_create(newobj,(melt_ptr_t)((/*!CLASS_SOURCE_FETCH_PREDEFINED*/ meltfrout->tabval[9])), (3), "CLASS_SOURCE_FETCH_PREDEFINED");
3520 /*_.INST__V29*/
3521 meltfptr[28] =
3522 newobj;
3525 /*^putslot*/
3526 /*putslot*/
3527 melt_assertmsg("checkobj putslot _ @LOCA_LOCATION", melt_magic_discr((melt_ptr_t)(/*_.INST__V29*/ meltfptr[28])) == MELTOBMAG_OBJECT);
3528 melt_putfield_object((/*_.INST__V29*/ meltfptr[28]), (1), (/*_.LOC__V25*/ meltfptr[20]), "LOCA_LOCATION");
3530 /*^putslot*/
3531 /*putslot*/
3532 melt_assertmsg("checkobj putslot _ @SFEPD_PREDEF", melt_magic_discr((melt_ptr_t)(/*_.INST__V29*/ meltfptr[28])) == MELTOBMAG_OBJECT);
3533 melt_putfield_object((/*_.INST__V29*/ meltfptr[28]), (2), ((/*!konst_10_CLASS_REFERENCE*/ meltfrout->tabval[10])), "SFEPD_PREDEF");
3535 /*^touchobj*/
3537 melt_dbgtrace_written_object (/*_.INST__V29*/ meltfptr[28], "newly made instance");
3539 /*_.SPREDCLASSCONT__V28*/
3540 meltfptr[27] = /*_.INST__V29*/ meltfptr[28];;
3542 MELT_CHECK_SIGNAL();
3544 MELT_LOCATION("warmelt-macro.melt:6378:/ apply");
3545 /*apply*/
3547 union meltparam_un argtab[1];
3548 memset(&argtab, 0, sizeof(argtab));
3549 /*^apply.arg*/
3550 argtab[0].meltbp_aptr = (melt_ptr_t*) &(/*!konst_10_CLASS_REFERENCE*/ meltfrout->tabval[10]);
3551 /*_.CLABIND__V30*/
3552 meltfptr[29] = melt_apply ((meltclosure_ptr_t)((/*!FIND_ENV*/ meltfrout->tabval[11])), (melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
3556 MELT_CHECK_SIGNAL();
3558 MELT_LOCATION("warmelt-macro.melt:6379:/ apply");
3559 /*apply*/
3561 union meltparam_un argtab[6];
3562 memset(&argtab, 0, sizeof(argtab));
3563 /*^apply.arg*/
3564 argtab[0].meltbp_aptr = (melt_ptr_t*) &/*_.LOC__V25*/ meltfptr[20];
3565 /*^apply.arg*/
3566 argtab[1].meltbp_aptr = (melt_ptr_t*) &(/*!konst_14_REFERENCED_VALUE*/ meltfrout->tabval[14]);
3567 /*^apply.arg*/
3568 argtab[2].meltbp_aptr = (melt_ptr_t*) &/*_.ARG1__V27*/ meltfptr[26];
3569 /*^apply.arg*/
3570 argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.ENV__V3*/ meltfptr[2];
3571 /*^apply.arg*/
3572 argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.MEXPANDER__V4*/ meltfptr[3];
3573 /*^apply.arg*/
3574 argtab[5].meltbp_aptr = (melt_ptr_t*) &/*_.MODCTX__V5*/ meltfptr[4];
3575 /*_.FLDA__V31*/
3576 meltfptr[30] = melt_apply ((meltclosure_ptr_t)((/*!PARSE_FIELD_ASSIGNMENT*/ meltfrout->tabval[13])), (melt_ptr_t)((/*!CLASS_REFERENCE*/ meltfrout->tabval[5])), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
3580 MELT_CHECK_SIGNAL();
3582 MELT_LOCATION("warmelt-macro.melt:6386:/ blockmultialloc");
3583 /*multiallocblock*/
3585 struct meltletrec_1_st
3587 struct MELT_MULTIPLE_STRUCT(1) rtup_0__TUPLREC__x6;
3588 long meltletrec_1_endgap;
3589 } *meltletrec_1_ptr = 0;
3590 meltletrec_1_ptr = (struct meltletrec_1_st *) meltgc_allocate (sizeof (struct meltletrec_1_st), 0);
3591 /*^blockmultialloc.initfill*/
3592 /*inimult rtup_0__TUPLREC__x6*/
3593 /*_.TUPLREC___V33*/
3594 meltfptr[32] = (melt_ptr_t) &meltletrec_1_ptr->rtup_0__TUPLREC__x6;
3595 meltletrec_1_ptr->rtup_0__TUPLREC__x6.discr = (meltobject_ptr_t)(((melt_ptr_t)(MELT_PREDEF(DISCR_MULTIPLE))));
3596 meltletrec_1_ptr->rtup_0__TUPLREC__x6.nbval = 1;
3599 /*^putuple*/
3600 /*putupl#9*/
3601 melt_assertmsg("putupl [:6386] #9 checktup", melt_magic_discr((melt_ptr_t)(/*_.TUPLREC___V33*/ meltfptr[32]))== MELTOBMAG_MULTIPLE);
3602 melt_assertmsg("putupl [:6386] #9 checkoff", (0>=0 && 0< melt_multiple_length((melt_ptr_t)(/*_.TUPLREC___V33*/ meltfptr[32]))));
3603 ((meltmultiple_ptr_t)(/*_.TUPLREC___V33*/ meltfptr[32]))->tabval[0] = (melt_ptr_t)(/*_.FLDA__V31*/ meltfptr[30]);
3605 /*^touch*/
3606 meltgc_touch(/*_.TUPLREC___V33*/ meltfptr[32]);
3608 /*_.TUPLE___V32*/
3609 meltfptr[31] = /*_.TUPLREC___V33*/ meltfptr[32];;
3610 /*epilog*/
3612 MELT_LOCATION("warmelt-macro.melt:6386:/ clear");
3613 /*clear*/ /*_.TUPLREC___V33*/
3614 meltfptr[32] = 0 ;
3615 /*^clear*/
3616 /*clear*/ /*_.TUPLREC___V33*/
3617 meltfptr[32] = 0 ;
3618 } /*end multiallocblock*/
3620 MELT_LOCATION("warmelt-macro.melt:6381:/ quasiblock");
3623 /*^rawallocobj*/
3624 /*rawallocobj*/
3626 melt_ptr_t newobj = 0;
3627 melt_raw_object_create(newobj,(melt_ptr_t)((/*!CLASS_SOURCE_INSTANCE*/ meltfrout->tabval[15])), (5), "CLASS_SOURCE_INSTANCE");
3628 /*_.INST__V35*/
3629 meltfptr[34] =
3630 newobj;
3633 /*^putslot*/
3634 /*putslot*/
3635 melt_assertmsg("checkobj putslot _ @LOCA_LOCATION", melt_magic_discr((melt_ptr_t)(/*_.INST__V35*/ meltfptr[34])) == MELTOBMAG_OBJECT);
3636 melt_putfield_object((/*_.INST__V35*/ meltfptr[34]), (1), (/*_.LOC__V25*/ meltfptr[20]), "LOCA_LOCATION");
3638 /*^putslot*/
3639 /*putslot*/
3640 melt_assertmsg("checkobj putslot _ @SMINS_CLASS", melt_magic_discr((melt_ptr_t)(/*_.INST__V35*/ meltfptr[34])) == MELTOBMAG_OBJECT);
3641 melt_putfield_object((/*_.INST__V35*/ meltfptr[34]), (2), ((/*!CLASS_REFERENCE*/ meltfrout->tabval[5])), "SMINS_CLASS");
3643 /*^putslot*/
3644 /*putslot*/
3645 melt_assertmsg("checkobj putslot _ @SMINS_CLABIND", melt_magic_discr((melt_ptr_t)(/*_.INST__V35*/ meltfptr[34])) == MELTOBMAG_OBJECT);
3646 melt_putfield_object((/*_.INST__V35*/ meltfptr[34]), (3), (/*_.CLABIND__V30*/ meltfptr[29]), "SMINS_CLABIND");
3648 /*^putslot*/
3649 /*putslot*/
3650 melt_assertmsg("checkobj putslot _ @SMINS_FIELDS", melt_magic_discr((melt_ptr_t)(/*_.INST__V35*/ meltfptr[34])) == MELTOBMAG_OBJECT);
3651 melt_putfield_object((/*_.INST__V35*/ meltfptr[34]), (4), (/*_.TUPLE___V32*/ meltfptr[31]), "SMINS_FIELDS");
3653 /*^touchobj*/
3655 melt_dbgtrace_written_object (/*_.INST__V35*/ meltfptr[34], "newly made instance");
3657 /*_.SINST__V34*/
3658 meltfptr[32] = /*_.INST__V35*/ meltfptr[34];;
3660 MELT_CHECK_SIGNAL();
3662 /*^compute*/
3663 /*_#exeqI__L10*/
3664 meltfnum[7] =
3665 ((/*_#NBARG__L9*/ meltfnum[0]) != (1));;
3666 MELT_LOCATION("warmelt-macro.melt:6388:/ cond");
3667 /*cond*/
3668 if (/*_#exeqI__L10*/ meltfnum[7]) /*then*/
3670 /*^cond.then*/
3671 /*^block*/
3672 /*anyblock*/
3677 MELT_LOCATION("warmelt-macro.melt:6390:/ locexp");
3678 /* error_plain */
3679 melt_error_str((melt_ptr_t)(/*_.LOC__V25*/ meltfptr[20]), ( "(REFERENCE <value>) needs exactly one argument"), (melt_ptr_t)0);
3682 MELT_LOCATION("warmelt-macro.melt:6391:/ quasiblock");
3685 /*_._RETVAL___V1*/
3686 meltfptr[0] = /*reallynil*/ NULL ;;
3689 MELT_LOCATION("warmelt-macro.melt:6391:/ locexp");
3690 /*ochecknores compilobj_nrep_return*/
3691 #if MELT_HAVE_DEBUG
3692 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
3693 melt_warn_for_no_expected_secondary_results();
3694 /* we warned when secondary results are expected but not returned. */
3695 #endif /*MELT_HAVE_DEBUG*/
3699 /*^finalreturn*/
3701 /*finalret*/
3702 goto meltlabend_rout ;
3703 MELT_LOCATION("warmelt-macro.melt:6389:/ quasiblock");
3706 /*_.PROGN___V38*/
3707 meltfptr[37] = /*_.RETURN___V37*/ meltfptr[36];;
3708 /*^compute*/
3709 /*_._IF___V36*/
3710 meltfptr[35] = /*_.PROGN___V38*/ meltfptr[37];;
3711 /*epilog*/
3713 MELT_LOCATION("warmelt-macro.melt:6388:/ clear");
3714 /*clear*/ /*_.RETURN___V37*/
3715 meltfptr[36] = 0 ;
3716 /*^clear*/
3717 /*clear*/ /*_.PROGN___V38*/
3718 meltfptr[37] = 0 ;
3722 else /*^cond.else*/
3725 /*_._IF___V36*/ meltfptr[35] = /*reallynil*/ NULL ;;
3729 MELT_CHECK_SIGNAL();
3731 /*^compute*/
3732 /*_#NULL__L11*/
3733 meltfnum[10] =
3734 (/*null*/(/*_.CLABIND__V30*/ meltfptr[29]) == NULL);;
3735 MELT_LOCATION("warmelt-macro.melt:6394:/ cond");
3736 /*cond*/
3737 if (/*_#NULL__L11*/ meltfnum[10]) /*then*/
3739 /*^cond.then*/
3740 /*^block*/
3741 /*anyblock*/
3746 MELT_LOCATION("warmelt-macro.melt:6395:/ locexp");
3747 melt_warning_str(0, (melt_ptr_t)(/*_.LOC__V25*/ meltfptr[20]), ( "(REFERENCE <value>) where CLASS_REFERENCE is not visible"), (melt_ptr_t)0);
3750 /*epilog*/
3753 } /*noelse*/
3756 #if MELT_HAVE_DEBUG
3757 MELT_LOCATION("warmelt-macro.melt:6397:/ cppif.then");
3758 /*^block*/
3759 /*anyblock*/
3764 /*^locexp*/
3765 /*melt_increment_dbgcounter*/
3766 #if MELT_HAVE_DEBUG
3767 melt_dbgcounter++;
3768 #endif
3773 MELT_CHECK_SIGNAL();
3775 /*_#MELT_NEED_DBG__L12*/
3776 meltfnum[11] =
3777 /*MELT_NEED_DBG*/
3778 #if MELT_HAVE_DEBUG
3779 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
3780 #else
3781 0 /* no melt_need_dbg */
3782 #endif /*MELT_HAVE_DEBUG*/
3784 MELT_LOCATION("warmelt-macro.melt:6397:/ cond");
3785 /*cond*/
3786 if (/*_#MELT_NEED_DBG__L12*/ meltfnum[11]) /*then*/
3788 /*^cond.then*/
3789 /*^block*/
3790 /*anyblock*/
3793 /*_#MELT_CALLCOUNT__L13*/ meltfnum[12] =
3794 /* for melt_callcount */
3795 #if MELT_HAVE_DEBUG && defined (meltcallcount)
3796 meltcallcount /* melt_callcount debugging */
3797 #else
3798 0L /* melt_callcount without debug */
3799 #endif /* MELT_HAVE_DEBUG melt_callcount */
3802 MELT_CHECK_SIGNAL();
3804 MELT_LOCATION("warmelt-macro.melt:6397:/ apply");
3805 /*apply*/
3807 union meltparam_un argtab[5];
3808 memset(&argtab, 0, sizeof(argtab));
3809 /*^apply.arg*/
3810 argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L13*/ meltfnum[12];
3811 /*^apply.arg*/
3812 argtab[1].meltbp_cstring = "warmelt-macro.melt";
3813 /*^apply.arg*/
3814 argtab[2].meltbp_long = 6397;
3815 /*^apply.arg*/
3816 argtab[3].meltbp_cstring = "mexpand_reference returns sinst";
3817 /*^apply.arg*/
3818 argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.SINST__V34*/ meltfptr[32];
3819 /*_.MELT_DEBUG_FUN__V40*/
3820 meltfptr[37] = 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);
3823 /*_._IF___V39*/
3824 meltfptr[36] = /*_.MELT_DEBUG_FUN__V40*/ meltfptr[37];;
3825 /*epilog*/
3827 MELT_LOCATION("warmelt-macro.melt:6397:/ clear");
3828 /*clear*/ /*_#MELT_CALLCOUNT__L13*/
3829 meltfnum[12] = 0 ;
3830 /*^clear*/
3831 /*clear*/ /*_.MELT_DEBUG_FUN__V40*/
3832 meltfptr[37] = 0 ;
3836 else /*^cond.else*/
3839 /*_._IF___V39*/ meltfptr[36] = /*reallynil*/ NULL ;;
3844 MELT_LOCATION("warmelt-macro.melt:6397:/ locexp");
3845 /*void*/
3846 (void)0;
3849 /*^quasiblock*/
3852 /*epilog*/
3854 /*^clear*/
3855 /*clear*/ /*_#MELT_NEED_DBG__L12*/
3856 meltfnum[11] = 0 ;
3857 /*^clear*/
3858 /*clear*/ /*_._IF___V39*/
3859 meltfptr[36] = 0 ;
3862 #else /*MELT_HAVE_DEBUG*/
3863 /*^cppif.else*/
3864 /*^block*/
3865 /*anyblock*/
3870 /*^locexp*/
3871 /*void*/(void)0;
3874 /*epilog*/
3877 #endif /*MELT_HAVE_DEBUG*/
3880 MELT_CHECK_SIGNAL();
3882 MELT_LOCATION("warmelt-macro.melt:6398:/ quasiblock");
3885 /*_._RETVAL___V1*/
3886 meltfptr[0] = /*_.SINST__V34*/ meltfptr[32];;
3889 MELT_LOCATION("warmelt-macro.melt:6398:/ locexp");
3890 /*ochecknores compilobj_nrep_return*/
3891 #if MELT_HAVE_DEBUG
3892 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
3893 melt_warn_for_no_expected_secondary_results();
3894 /* we warned when secondary results are expected but not returned. */
3895 #endif /*MELT_HAVE_DEBUG*/
3899 /*^finalreturn*/
3901 /*finalret*/
3902 goto meltlabend_rout ;
3903 /*_.LET___V23*/
3904 meltfptr[21] = /*_.RETURN___V41*/ meltfptr[37];;
3906 MELT_LOCATION("warmelt-macro.melt:6369:/ clear");
3907 /*clear*/ /*_.CONT__V24*/
3908 meltfptr[16] = 0 ;
3909 /*^clear*/
3910 /*clear*/ /*_.LOC__V25*/
3911 meltfptr[20] = 0 ;
3912 /*^clear*/
3913 /*clear*/ /*_.XARGTUP__V26*/
3914 meltfptr[25] = 0 ;
3915 /*^clear*/
3916 /*clear*/ /*_#NBARG__L9*/
3917 meltfnum[0] = 0 ;
3918 /*^clear*/
3919 /*clear*/ /*_.ARG1__V27*/
3920 meltfptr[26] = 0 ;
3921 /*^clear*/
3922 /*clear*/ /*_.SPREDCLASSCONT__V28*/
3923 meltfptr[27] = 0 ;
3924 /*^clear*/
3925 /*clear*/ /*_.CLABIND__V30*/
3926 meltfptr[29] = 0 ;
3927 /*^clear*/
3928 /*clear*/ /*_.FLDA__V31*/
3929 meltfptr[30] = 0 ;
3930 /*^clear*/
3931 /*clear*/ /*_.TUPLE___V32*/
3932 meltfptr[31] = 0 ;
3933 /*^clear*/
3934 /*clear*/ /*_.SINST__V34*/
3935 meltfptr[32] = 0 ;
3936 /*^clear*/
3937 /*clear*/ /*_#exeqI__L10*/
3938 meltfnum[7] = 0 ;
3939 /*^clear*/
3940 /*clear*/ /*_._IF___V36*/
3941 meltfptr[35] = 0 ;
3942 /*^clear*/
3943 /*clear*/ /*_#NULL__L11*/
3944 meltfnum[10] = 0 ;
3945 /*^clear*/
3946 /*clear*/ /*_.RETURN___V41*/
3947 meltfptr[37] = 0 ;
3949 MELT_CHECK_SIGNAL();
3951 MELT_LOCATION("warmelt-macro.melt:6358:/ quasiblock");
3954 /*_._RETVAL___V1*/
3955 meltfptr[0] = /*_.LET___V23*/ meltfptr[21];;
3958 MELT_LOCATION("warmelt-macro.melt:6358:/ locexp");
3959 /*ochecknores compilobj_nrep_return*/
3960 #if MELT_HAVE_DEBUG
3961 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
3962 melt_warn_for_no_expected_secondary_results();
3963 /* we warned when secondary results are expected but not returned. */
3964 #endif /*MELT_HAVE_DEBUG*/
3968 /*^finalreturn*/
3970 /*finalret*/
3971 goto meltlabend_rout ;
3972 /*epilog*/
3974 /*^clear*/
3975 /*clear*/ /*_.IFCPP___V8*/
3976 meltfptr[6] = 0 ;
3977 /*^clear*/
3978 /*clear*/ /*_.IFCPP___V11*/
3979 meltfptr[9] = 0 ;
3980 /*^clear*/
3981 /*clear*/ /*_#NULL__L5*/
3982 meltfnum[1] = 0 ;
3983 /*^clear*/
3984 /*clear*/ /*_._IF___V14*/
3985 meltfptr[12] = 0 ;
3986 /*^clear*/
3987 /*clear*/ /*_.IFCPP___V16*/
3988 meltfptr[5] = 0 ;
3989 /*^clear*/
3990 /*clear*/ /*_.IFCPP___V19*/
3991 meltfptr[17] = 0 ;
3992 /*^clear*/
3993 /*clear*/ /*_.LET___V23*/
3994 meltfptr[21] = 0 ;
3998 goto meltlabend_rout;
3999 meltlabend_rout:
4000 melt_trace_end("MEXPAND_REFERENCE", meltcallcount);
4001 melt_blocklevel_signals = current_blocklevel_signals_meltrout_105_WARMELTmiMACRO_MEXPAND_REFERENCE_melt;
4002 return (melt_ptr_t)(/*_._RETVAL___V1*/ meltfptr[0]);
4003 #undef meltcallcount
4004 #undef meltfram__
4005 #undef MELTFRAM_NBVARNUM
4006 #undef MELTFRAM_NBVARPTR
4007 } /*end meltrout_105_WARMELTmiMACRO_MEXPAND_REFERENCE*/
4014 melt_ptr_t MELT_MODULE_VISIBILITY
4015 meltrout_106_WARMELTmiMACRO_PATEXPAND_REFERENCE(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_,
4016 const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_)
4018 long current_blocklevel_signals_meltrout_106_WARMELTmiMACRO_PATEXPAND_REFERENCE_melt = melt_blocklevel_signals;
4020 #if MELT_HAVE_DEBUG
4021 static long melt_call_counter__;
4022 long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__;
4023 #undef meltcallcount
4024 #define meltcallcount melt_thiscallcounter__
4025 #else
4026 #undef meltcallcount
4027 #define meltcallcount 0L
4028 #endif
4029 //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1538
4031 /* start of frame for routine meltrout_106_WARMELTmiMACRO_PATEXPAND_REFERENCE fromline 1752 */
4033 /** start of frame for meltrout_106_WARMELTmiMACRO_PATEXPAND_REFERENCE of CLASS_PROCROUTINEOBJ from 1555**/
4035 /*curframdeclclassy*/ class MeltFrame_meltrout_106_WARMELTmiMACRO_PATEXPAND_REFERENCE// fromline 1568
4036 : public Melt_CallFrameWithValues<33>
4038 public: /* fromline 1572*/
4039 long mcfr_varnum[9];
4040 /*classy others*/
4041 long _meltsparel;
4042 void melt_mark_stuff (void)
4044 } /*end melt_mark_stuff*/
4045 virtual void melt_mark_ggc_data (void)
4047 melt_mark_values ();
4048 melt_mark_stuff ();
4049 }; /*end melt_mark_ggc_data*/
4050 MeltFrame_meltrout_106_WARMELTmiMACRO_PATEXPAND_REFERENCE(meltclosure_ptr_t clos) //the closure constructor fromline 1630
4051 : Melt_CallFrameWithValues<33> (
4052 #if ENABLE_CHECKING /*fromline 1634*/
4053 __FILE__, __LINE__,
4054 #endif /* ENABLE_CHECKING fromline 1638*/
4055 sizeof(MeltFrame_meltrout_106_WARMELTmiMACRO_PATEXPAND_REFERENCE), clos) {};
4056 MeltFrame_meltrout_106_WARMELTmiMACRO_PATEXPAND_REFERENCE() //the constructor fromline 1642
4057 : Melt_CallFrameWithValues<33> (
4058 #if ENABLE_CHECKING /*fromline 1646*/
4059 __FILE__, __LINE__,
4060 #endif /* ENABLE_CHECKING fromline 1650*/
4061 sizeof(MeltFrame_meltrout_106_WARMELTmiMACRO_PATEXPAND_REFERENCE)) {};
4062 #if ENABLE_CHECKING /*fromline 1654*/
4063 MeltFrame_meltrout_106_WARMELTmiMACRO_PATEXPAND_REFERENCE(const char*fil, int lin) //the constructor fromline 1656
4064 : Melt_CallFrameWithValues<33> (fil,lin, sizeof(MeltFrame_meltrout_106_WARMELTmiMACRO_PATEXPAND_REFERENCE)) {};
4065 MeltFrame_meltrout_106_WARMELTmiMACRO_PATEXPAND_REFERENCE(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1661
4066 : Melt_CallFrameWithValues<33> (fil,lin, sizeof(MeltFrame_meltrout_106_WARMELTmiMACRO_PATEXPAND_REFERENCE), clos) {};
4067 #endif /* ENABLE_CHECKING fromline 1666*/
4069 }; // end class MeltFrame_meltrout_106_WARMELTmiMACRO_PATEXPAND_REFERENCE
4072 /** end of frame for meltrout_106_WARMELTmiMACRO_PATEXPAND_REFERENCE fromline 1697**/
4074 /* end of frame for routine meltrout_106_WARMELTmiMACRO_PATEXPAND_REFERENCE fromline 1756 */
4076 /* classy proc frame meltrout_106_WARMELTmiMACRO_PATEXPAND_REFERENCE */
4077 MeltFrame_meltrout_106_WARMELTmiMACRO_PATEXPAND_REFERENCE
4078 meltfram__ /*declfrastruct fromline 1780*/
4079 /*classyprocarg meltrout_106_WARMELTmiMACRO_PATEXPAND_REFERENCE fromline 1785*/
4080 #if ENABLE_CHECKING
4081 (__FILE__, __LINE__, meltclosp_) /* fromline 1789*/
4082 #else /*ENABLE_CHECKING */
4083 (meltclosp_) /* fromline 1793*/
4084 #endif /*ENABLE_CHECKING */
4087 #define meltframe meltfram__
4089 melt_trace_start("PATEXPAND_REFERENCE", meltcallcount);
4090 /*use arguments*/
4091 (void) meltclosp_;
4092 (void)meltfirstargp_;
4093 (void)meltxargdescr_;
4094 (void)meltxargtab_;
4095 (void)meltxresdescr_;
4096 (void)meltxrestab_;
4097 /*getargs*/
4099 /*getarg#0*/
4100 MELT_LOCATION("warmelt-macro.melt:6402:/ getarg");
4101 /*_.SEXPR__V2*/
4102 meltfptr[1] = (melt_ptr_t) meltfirstargp_;
4104 /*getarg#1*/
4105 /*^getarg*/
4106 if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_endgetargs;
4107 /*_.ENV__V3*/
4108 meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL;
4109 gcc_assert(melt_discr((melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2])) != NULL);
4112 /*getarg#2*/
4113 /*^getarg*/
4114 if (meltxargdescr_[1] != MELTBPAR_PTR) goto meltlab_endgetargs;
4115 /*_.PCTX__V4*/
4116 meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL;
4117 gcc_assert(melt_discr((melt_ptr_t)(/*_.PCTX__V4*/ meltfptr[3])) != NULL);
4120 goto meltlab_endgetargs;
4121 meltlab_endgetargs:
4123 /*body*/
4124 /*^block*/
4125 /*anyblock*/
4129 #if MELT_HAVE_DEBUG
4130 MELT_LOCATION("warmelt-macro.melt:6403:/ cppif.then");
4131 /*^block*/
4132 /*anyblock*/
4137 /*^locexp*/
4138 /*melt_increment_dbgcounter*/
4139 #if MELT_HAVE_DEBUG
4140 melt_dbgcounter++;
4141 #endif
4146 MELT_CHECK_SIGNAL();
4148 /*_#MELT_NEED_DBG__L1*/
4149 meltfnum[0] =
4150 /*MELT_NEED_DBG*/
4151 #if MELT_HAVE_DEBUG
4152 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
4153 #else
4154 0 /* no melt_need_dbg */
4155 #endif /*MELT_HAVE_DEBUG*/
4157 MELT_LOCATION("warmelt-macro.melt:6403:/ cond");
4158 /*cond*/
4159 if (/*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then*/
4161 /*^cond.then*/
4162 /*^block*/
4163 /*anyblock*/
4166 /*_#MELT_CALLCOUNT__L2*/ meltfnum[1] =
4167 /* for melt_callcount */
4168 #if MELT_HAVE_DEBUG && defined (meltcallcount)
4169 meltcallcount /* melt_callcount debugging */
4170 #else
4171 0L /* melt_callcount without debug */
4172 #endif /* MELT_HAVE_DEBUG melt_callcount */
4175 MELT_CHECK_SIGNAL();
4177 MELT_LOCATION("warmelt-macro.melt:6403:/ apply");
4178 /*apply*/
4180 union meltparam_un argtab[5];
4181 memset(&argtab, 0, sizeof(argtab));
4182 /*^apply.arg*/
4183 argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L2*/ meltfnum[1];
4184 /*^apply.arg*/
4185 argtab[1].meltbp_cstring = "warmelt-macro.melt";
4186 /*^apply.arg*/
4187 argtab[2].meltbp_long = 6403;
4188 /*^apply.arg*/
4189 argtab[3].meltbp_cstring = "patexpand_reference sexpr=";
4190 /*^apply.arg*/
4191 argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.SEXPR__V2*/ meltfptr[1];
4192 /*_.MELT_DEBUG_FUN__V6*/
4193 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);
4196 /*_._IF___V5*/
4197 meltfptr[4] = /*_.MELT_DEBUG_FUN__V6*/ meltfptr[5];;
4198 /*epilog*/
4200 MELT_LOCATION("warmelt-macro.melt:6403:/ clear");
4201 /*clear*/ /*_#MELT_CALLCOUNT__L2*/
4202 meltfnum[1] = 0 ;
4203 /*^clear*/
4204 /*clear*/ /*_.MELT_DEBUG_FUN__V6*/
4205 meltfptr[5] = 0 ;
4209 else /*^cond.else*/
4212 /*_._IF___V5*/ meltfptr[4] = /*reallynil*/ NULL ;;
4217 MELT_LOCATION("warmelt-macro.melt:6403:/ locexp");
4218 /*void*/
4219 (void)0;
4222 /*^quasiblock*/
4225 /*epilog*/
4227 /*^clear*/
4228 /*clear*/ /*_#MELT_NEED_DBG__L1*/
4229 meltfnum[0] = 0 ;
4230 /*^clear*/
4231 /*clear*/ /*_._IF___V5*/
4232 meltfptr[4] = 0 ;
4235 #else /*MELT_HAVE_DEBUG*/
4236 /*^cppif.else*/
4237 /*^block*/
4238 /*anyblock*/
4243 /*^locexp*/
4244 /*void*/(void)0;
4247 /*epilog*/
4250 #endif /*MELT_HAVE_DEBUG*/
4253 #if MELT_HAVE_DEBUG
4254 MELT_LOCATION("warmelt-macro.melt:6404:/ cppif.then");
4255 /*^block*/
4256 /*anyblock*/
4260 MELT_CHECK_SIGNAL();
4262 /*_#IS_A__L3*/
4263 meltfnum[1] =
4264 melt_is_instance_of((melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_SEXPR*/ meltfrout->tabval[1])));;
4265 MELT_LOCATION("warmelt-macro.melt:6404:/ cond");
4266 /*cond*/
4267 if (/*_#IS_A__L3*/ meltfnum[1]) /*then*/
4269 /*^cond.then*/
4270 /*_._IFELSE___V8*/ meltfptr[4] = (/*nil*/NULL);;
4272 else
4274 MELT_LOCATION("warmelt-macro.melt:6404:/ cond.else");
4276 /*^block*/
4277 /*anyblock*/
4281 MELT_CHECK_SIGNAL();
4283 /*^apply*/
4284 /*apply*/
4286 union meltparam_un argtab[4];
4287 memset(&argtab, 0, sizeof(argtab));
4288 /*^apply.arg*/
4289 argtab[0].meltbp_cstring = "check sexpr";
4290 /*^apply.arg*/
4291 argtab[1].meltbp_cstring = "warmelt-macro.melt";
4292 /*^apply.arg*/
4293 argtab[2].meltbp_long = 6404;
4294 /*^apply.arg*/
4295 argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.SEXPR__V2*/ meltfptr[1];
4296 /*_.MELT_ASSERT_FAILURE_FUN__V9*/
4297 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);
4300 /*_._IFELSE___V8*/
4301 meltfptr[4] = /*_.MELT_ASSERT_FAILURE_FUN__V9*/ meltfptr[8];;
4302 /*epilog*/
4304 MELT_LOCATION("warmelt-macro.melt:6404:/ clear");
4305 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V9*/
4306 meltfptr[8] = 0 ;
4311 /*_.IFCPP___V7*/
4312 meltfptr[5] = /*_._IFELSE___V8*/ meltfptr[4];;
4313 /*epilog*/
4315 MELT_LOCATION("warmelt-macro.melt:6404:/ clear");
4316 /*clear*/ /*_#IS_A__L3*/
4317 meltfnum[1] = 0 ;
4318 /*^clear*/
4319 /*clear*/ /*_._IFELSE___V8*/
4320 meltfptr[4] = 0 ;
4323 #else /*MELT_HAVE_DEBUG*/
4324 /*^cppif.else*/
4325 /*_.IFCPP___V7*/ meltfptr[5] = (/*nil*/NULL);
4326 #endif /*MELT_HAVE_DEBUG*/
4329 #if MELT_HAVE_DEBUG
4330 MELT_LOCATION("warmelt-macro.melt:6405:/ cppif.then");
4331 /*^block*/
4332 /*anyblock*/
4336 MELT_CHECK_SIGNAL();
4338 /*_#IS_A__L4*/
4339 meltfnum[0] =
4340 melt_is_instance_of((melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2]), (melt_ptr_t)((/*!CLASS_ENVIRONMENT*/ meltfrout->tabval[3])));;
4341 MELT_LOCATION("warmelt-macro.melt:6405:/ cond");
4342 /*cond*/
4343 if (/*_#IS_A__L4*/ meltfnum[0]) /*then*/
4345 /*^cond.then*/
4346 /*_._IFELSE___V11*/ meltfptr[4] = (/*nil*/NULL);;
4348 else
4350 MELT_LOCATION("warmelt-macro.melt:6405:/ cond.else");
4352 /*^block*/
4353 /*anyblock*/
4357 MELT_CHECK_SIGNAL();
4359 /*^apply*/
4360 /*apply*/
4362 union meltparam_un argtab[4];
4363 memset(&argtab, 0, sizeof(argtab));
4364 /*^apply.arg*/
4365 argtab[0].meltbp_cstring = "check env";
4366 /*^apply.arg*/
4367 argtab[1].meltbp_cstring = "warmelt-macro.melt";
4368 /*^apply.arg*/
4369 argtab[2].meltbp_long = 6405;
4370 /*^apply.arg*/
4371 argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.ENV__V3*/ meltfptr[2];
4372 /*_.MELT_ASSERT_FAILURE_FUN__V12*/
4373 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);
4376 /*_._IFELSE___V11*/
4377 meltfptr[4] = /*_.MELT_ASSERT_FAILURE_FUN__V12*/ meltfptr[11];;
4378 /*epilog*/
4380 MELT_LOCATION("warmelt-macro.melt:6405:/ clear");
4381 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V12*/
4382 meltfptr[11] = 0 ;
4387 /*_.IFCPP___V10*/
4388 meltfptr[8] = /*_._IFELSE___V11*/ meltfptr[4];;
4389 /*epilog*/
4391 MELT_LOCATION("warmelt-macro.melt:6405:/ clear");
4392 /*clear*/ /*_#IS_A__L4*/
4393 meltfnum[0] = 0 ;
4394 /*^clear*/
4395 /*clear*/ /*_._IFELSE___V11*/
4396 meltfptr[4] = 0 ;
4399 #else /*MELT_HAVE_DEBUG*/
4400 /*^cppif.else*/
4401 /*_.IFCPP___V10*/ meltfptr[8] = (/*nil*/NULL);
4402 #endif /*MELT_HAVE_DEBUG*/
4405 #if MELT_HAVE_DEBUG
4406 MELT_LOCATION("warmelt-macro.melt:6406:/ cppif.then");
4407 /*^block*/
4408 /*anyblock*/
4412 MELT_CHECK_SIGNAL();
4414 /*_#IS_A__L5*/
4415 meltfnum[1] =
4416 melt_is_instance_of((melt_ptr_t)(/*_.PCTX__V4*/ meltfptr[3]), (melt_ptr_t)((/*!CLASS_PATTERN_EXPANSION_CONTEXT*/ meltfrout->tabval[4])));;
4417 MELT_LOCATION("warmelt-macro.melt:6406:/ cond");
4418 /*cond*/
4419 if (/*_#IS_A__L5*/ meltfnum[1]) /*then*/
4421 /*^cond.then*/
4422 /*_._IFELSE___V14*/ meltfptr[4] = (/*nil*/NULL);;
4424 else
4426 MELT_LOCATION("warmelt-macro.melt:6406:/ cond.else");
4428 /*^block*/
4429 /*anyblock*/
4433 MELT_CHECK_SIGNAL();
4435 /*^apply*/
4436 /*apply*/
4438 union meltparam_un argtab[4];
4439 memset(&argtab, 0, sizeof(argtab));
4440 /*^apply.arg*/
4441 argtab[0].meltbp_cstring = "check pctx";
4442 /*^apply.arg*/
4443 argtab[1].meltbp_cstring = "warmelt-macro.melt";
4444 /*^apply.arg*/
4445 argtab[2].meltbp_long = 6406;
4446 /*^apply.arg*/
4447 argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.PCTX__V4*/ meltfptr[3];
4448 /*_.MELT_ASSERT_FAILURE_FUN__V15*/
4449 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);
4452 /*_._IFELSE___V14*/
4453 meltfptr[4] = /*_.MELT_ASSERT_FAILURE_FUN__V15*/ meltfptr[14];;
4454 /*epilog*/
4456 MELT_LOCATION("warmelt-macro.melt:6406:/ clear");
4457 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V15*/
4458 meltfptr[14] = 0 ;
4463 /*_.IFCPP___V13*/
4464 meltfptr[11] = /*_._IFELSE___V14*/ meltfptr[4];;
4465 /*epilog*/
4467 MELT_LOCATION("warmelt-macro.melt:6406:/ clear");
4468 /*clear*/ /*_#IS_A__L5*/
4469 meltfnum[1] = 0 ;
4470 /*^clear*/
4471 /*clear*/ /*_._IFELSE___V14*/
4472 meltfptr[4] = 0 ;
4475 #else /*MELT_HAVE_DEBUG*/
4476 /*^cppif.else*/
4477 /*_.IFCPP___V13*/ meltfptr[11] = (/*nil*/NULL);
4478 #endif /*MELT_HAVE_DEBUG*/
4480 MELT_LOCATION("warmelt-macro.melt:6407:/ quasiblock");
4483 MELT_LOCATION("warmelt-macro.melt:6408:/ getslot");
4485 melt_ptr_t slot=NULL, obj=NULL;
4486 obj = (melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/;
4487 melt_object_get_field(slot,obj, 2, "SEXP_CONTENTS");
4488 /*_.CONT__V17*/
4489 meltfptr[4] = slot;
4492 MELT_LOCATION("warmelt-macro.melt:6409:/ getslot");
4494 melt_ptr_t slot=NULL, obj=NULL;
4495 obj = (melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/;
4496 melt_object_get_field(slot,obj, 1, "LOCA_LOCATION");
4497 /*_.LOC__V18*/
4498 meltfptr[17] = slot;
4501 /*_.LIST_FIRST__V19*/
4502 meltfptr[18] =
4503 (melt_list_first((melt_ptr_t)(/*_.CONT__V17*/ meltfptr[4])));;
4504 /*^compute*/
4505 /*_.CURPAIR__V20*/
4506 meltfptr[19] =
4507 (melt_pair_tail((melt_ptr_t)(/*_.LIST_FIRST__V19*/ meltfptr[18])));;
4509 MELT_CHECK_SIGNAL();
4511 MELT_LOCATION("warmelt-macro.melt:6411:/ apply");
4512 /*apply*/
4514 union meltparam_un argtab[3];
4515 memset(&argtab, 0, sizeof(argtab));
4516 /*^apply.arg*/
4517 argtab[0].meltbp_aptr = (melt_ptr_t*) &/*_.ENV__V3*/ meltfptr[2];
4518 /*^apply.arg*/
4519 argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.PCTX__V4*/ meltfptr[3];
4520 /*^apply.arg*/
4521 argtab[2].meltbp_aptr = (melt_ptr_t*) &/*_.LOC__V18*/ meltfptr[17];
4522 /*_.ARGSP__V21*/
4523 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);
4526 /*_.ARG1__V22*/
4527 meltfptr[21] =
4528 (melt_multiple_nth((melt_ptr_t)(/*_.ARGSP__V21*/ meltfptr[20]), (0)));;
4530 MELT_CHECK_SIGNAL();
4532 MELT_LOCATION("warmelt-macro.melt:6413:/ apply");
4533 /*apply*/
4535 union meltparam_un argtab[5];
4536 memset(&argtab, 0, sizeof(argtab));
4537 /*^apply.arg*/
4538 argtab[0].meltbp_aptr = (melt_ptr_t*) &(/*!CLASS_REFERENCE*/ meltfrout->tabval[8]);
4539 /*^apply.arg*/
4540 argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.ARG1__V22*/ meltfptr[21];
4541 /*^apply.arg*/
4542 argtab[2].meltbp_aptr = (melt_ptr_t*) &/*_.ENV__V3*/ meltfptr[2];
4543 /*^apply.arg*/
4544 argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.PCTX__V4*/ meltfptr[3];
4545 /*^apply.arg*/
4546 argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.LOC__V18*/ meltfptr[17];
4547 /*_.FLDP__V23*/
4548 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);
4552 MELT_CHECK_SIGNAL();
4554 MELT_LOCATION("warmelt-macro.melt:6418:/ blockmultialloc");
4555 /*multiallocblock*/
4557 struct meltletrec_1_st
4559 struct MELT_MULTIPLE_STRUCT(1) rtup_0__TUPLREC__x7;
4560 long meltletrec_1_endgap;
4561 } *meltletrec_1_ptr = 0;
4562 meltletrec_1_ptr = (struct meltletrec_1_st *) meltgc_allocate (sizeof (struct meltletrec_1_st), 0);
4563 /*^blockmultialloc.initfill*/
4564 /*inimult rtup_0__TUPLREC__x7*/
4565 /*_.TUPLREC___V25*/
4566 meltfptr[24] = (melt_ptr_t) &meltletrec_1_ptr->rtup_0__TUPLREC__x7;
4567 meltletrec_1_ptr->rtup_0__TUPLREC__x7.discr = (meltobject_ptr_t)(((melt_ptr_t)(MELT_PREDEF(DISCR_MULTIPLE))));
4568 meltletrec_1_ptr->rtup_0__TUPLREC__x7.nbval = 1;
4571 /*^putuple*/
4572 /*putupl#10*/
4573 melt_assertmsg("putupl [:6418] #10 checktup", melt_magic_discr((melt_ptr_t)(/*_.TUPLREC___V25*/ meltfptr[24]))== MELTOBMAG_MULTIPLE);
4574 melt_assertmsg("putupl [:6418] #10 checkoff", (0>=0 && 0< melt_multiple_length((melt_ptr_t)(/*_.TUPLREC___V25*/ meltfptr[24]))));
4575 ((meltmultiple_ptr_t)(/*_.TUPLREC___V25*/ meltfptr[24]))->tabval[0] = (melt_ptr_t)(/*_.FLDP__V23*/ meltfptr[22]);
4577 /*^touch*/
4578 meltgc_touch(/*_.TUPLREC___V25*/ meltfptr[24]);
4580 /*_.TUPLE___V24*/
4581 meltfptr[23] = /*_.TUPLREC___V25*/ meltfptr[24];;
4582 /*epilog*/
4584 MELT_LOCATION("warmelt-macro.melt:6418:/ clear");
4585 /*clear*/ /*_.TUPLREC___V25*/
4586 meltfptr[24] = 0 ;
4587 /*^clear*/
4588 /*clear*/ /*_.TUPLREC___V25*/
4589 meltfptr[24] = 0 ;
4590 } /*end multiallocblock*/
4592 MELT_LOCATION("warmelt-macro.melt:6414:/ quasiblock");
4595 /*^rawallocobj*/
4596 /*rawallocobj*/
4598 melt_ptr_t newobj = 0;
4599 melt_raw_object_create(newobj,(melt_ptr_t)((/*!CLASS_SOURCE_PATTERN_INSTANCE*/ meltfrout->tabval[9])), (5), "CLASS_SOURCE_PATTERN_INSTANCE");
4600 /*_.INST__V27*/
4601 meltfptr[26] =
4602 newobj;
4605 /*^putslot*/
4606 /*putslot*/
4607 melt_assertmsg("checkobj putslot _ @LOCA_LOCATION", melt_magic_discr((melt_ptr_t)(/*_.INST__V27*/ meltfptr[26])) == MELTOBMAG_OBJECT);
4608 melt_putfield_object((/*_.INST__V27*/ meltfptr[26]), (1), (/*_.LOC__V18*/ meltfptr[17]), "LOCA_LOCATION");
4610 /*^putslot*/
4611 /*putslot*/
4612 melt_assertmsg("checkobj putslot _ @PAT_WEIGHT", melt_magic_discr((melt_ptr_t)(/*_.INST__V27*/ meltfptr[26])) == MELTOBMAG_OBJECT);
4613 melt_putfield_object((/*_.INST__V27*/ meltfptr[26]), (2), ((/*!konst_10*/ meltfrout->tabval[10])), "PAT_WEIGHT");
4615 /*^putslot*/
4616 /*putslot*/
4617 melt_assertmsg("checkobj putslot _ @SPAT_CLASS", melt_magic_discr((melt_ptr_t)(/*_.INST__V27*/ meltfptr[26])) == MELTOBMAG_OBJECT);
4618 melt_putfield_object((/*_.INST__V27*/ meltfptr[26]), (3), ((/*!CLASS_REFERENCE*/ meltfrout->tabval[8])), "SPAT_CLASS");
4620 /*^putslot*/
4621 /*putslot*/
4622 melt_assertmsg("checkobj putslot _ @SPAT_FIELDS", melt_magic_discr((melt_ptr_t)(/*_.INST__V27*/ meltfptr[26])) == MELTOBMAG_OBJECT);
4623 melt_putfield_object((/*_.INST__V27*/ meltfptr[26]), (4), (/*_.TUPLE___V24*/ meltfptr[23]), "SPAT_FIELDS");
4625 /*^touchobj*/
4627 melt_dbgtrace_written_object (/*_.INST__V27*/ meltfptr[26], "newly made instance");
4629 /*_.RES__V26*/
4630 meltfptr[24] = /*_.INST__V27*/ meltfptr[26];;
4632 MELT_CHECK_SIGNAL();
4634 /*^compute*/
4635 /*_#MULTIPLE_LENGTH__L6*/
4636 meltfnum[0] =
4637 (melt_multiple_length((melt_ptr_t)(/*_.ARGSP__V21*/ meltfptr[20])));;
4638 /*^compute*/
4639 /*_#exeqI__L7*/
4640 meltfnum[1] =
4641 ((/*_#MULTIPLE_LENGTH__L6*/ meltfnum[0]) != (1));;
4642 MELT_LOCATION("warmelt-macro.melt:6420:/ cond");
4643 /*cond*/
4644 if (/*_#exeqI__L7*/ meltfnum[1]) /*then*/
4646 /*^cond.then*/
4647 /*^block*/
4648 /*anyblock*/
4653 MELT_LOCATION("warmelt-macro.melt:6422:/ locexp");
4654 /* error_plain */
4655 melt_error_str((melt_ptr_t)(/*_.LOC__V18*/ meltfptr[17]), ( "(REFERENCE <subpattern>) pattern needs one argument"), (melt_ptr_t)0);
4658 MELT_LOCATION("warmelt-macro.melt:6423:/ quasiblock");
4661 /*_._RETVAL___V1*/
4662 meltfptr[0] = /*reallynil*/ NULL ;;
4665 MELT_LOCATION("warmelt-macro.melt:6423:/ locexp");
4666 /*ochecknores compilobj_nrep_return*/
4667 #if MELT_HAVE_DEBUG
4668 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
4669 melt_warn_for_no_expected_secondary_results();
4670 /* we warned when secondary results are expected but not returned. */
4671 #endif /*MELT_HAVE_DEBUG*/
4675 /*^finalreturn*/
4677 /*finalret*/
4678 goto meltlabend_rout ;
4679 MELT_LOCATION("warmelt-macro.melt:6421:/ quasiblock");
4682 /*_.PROGN___V30*/
4683 meltfptr[29] = /*_.RETURN___V29*/ meltfptr[28];;
4684 /*^compute*/
4685 /*_._IF___V28*/
4686 meltfptr[27] = /*_.PROGN___V30*/ meltfptr[29];;
4687 /*epilog*/
4689 MELT_LOCATION("warmelt-macro.melt:6420:/ clear");
4690 /*clear*/ /*_.RETURN___V29*/
4691 meltfptr[28] = 0 ;
4692 /*^clear*/
4693 /*clear*/ /*_.PROGN___V30*/
4694 meltfptr[29] = 0 ;
4698 else /*^cond.else*/
4701 /*_._IF___V28*/ meltfptr[27] = /*reallynil*/ NULL ;;
4705 #if MELT_HAVE_DEBUG
4706 MELT_LOCATION("warmelt-macro.melt:6424:/ cppif.then");
4707 /*^block*/
4708 /*anyblock*/
4713 /*^locexp*/
4714 /*melt_increment_dbgcounter*/
4715 #if MELT_HAVE_DEBUG
4716 melt_dbgcounter++;
4717 #endif
4722 MELT_CHECK_SIGNAL();
4724 /*_#MELT_NEED_DBG__L8*/
4725 meltfnum[7] =
4726 /*MELT_NEED_DBG*/
4727 #if MELT_HAVE_DEBUG
4728 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
4729 #else
4730 0 /* no melt_need_dbg */
4731 #endif /*MELT_HAVE_DEBUG*/
4733 MELT_LOCATION("warmelt-macro.melt:6424:/ cond");
4734 /*cond*/
4735 if (/*_#MELT_NEED_DBG__L8*/ meltfnum[7]) /*then*/
4737 /*^cond.then*/
4738 /*^block*/
4739 /*anyblock*/
4742 /*_#MELT_CALLCOUNT__L9*/ meltfnum[8] =
4743 /* for melt_callcount */
4744 #if MELT_HAVE_DEBUG && defined (meltcallcount)
4745 meltcallcount /* melt_callcount debugging */
4746 #else
4747 0L /* melt_callcount without debug */
4748 #endif /* MELT_HAVE_DEBUG melt_callcount */
4751 MELT_CHECK_SIGNAL();
4753 MELT_LOCATION("warmelt-macro.melt:6424:/ apply");
4754 /*apply*/
4756 union meltparam_un argtab[5];
4757 memset(&argtab, 0, sizeof(argtab));
4758 /*^apply.arg*/
4759 argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L9*/ meltfnum[8];
4760 /*^apply.arg*/
4761 argtab[1].meltbp_cstring = "warmelt-macro.melt";
4762 /*^apply.arg*/
4763 argtab[2].meltbp_long = 6424;
4764 /*^apply.arg*/
4765 argtab[3].meltbp_cstring = "patexpand_reference res";
4766 /*^apply.arg*/
4767 argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.RES__V26*/ meltfptr[24];
4768 /*_.MELT_DEBUG_FUN__V32*/
4769 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);
4772 /*_._IF___V31*/
4773 meltfptr[28] = /*_.MELT_DEBUG_FUN__V32*/ meltfptr[29];;
4774 /*epilog*/
4776 MELT_LOCATION("warmelt-macro.melt:6424:/ clear");
4777 /*clear*/ /*_#MELT_CALLCOUNT__L9*/
4778 meltfnum[8] = 0 ;
4779 /*^clear*/
4780 /*clear*/ /*_.MELT_DEBUG_FUN__V32*/
4781 meltfptr[29] = 0 ;
4785 else /*^cond.else*/
4788 /*_._IF___V31*/ meltfptr[28] = /*reallynil*/ NULL ;;
4793 MELT_LOCATION("warmelt-macro.melt:6424:/ locexp");
4794 /*void*/
4795 (void)0;
4798 /*^quasiblock*/
4801 /*epilog*/
4803 /*^clear*/
4804 /*clear*/ /*_#MELT_NEED_DBG__L8*/
4805 meltfnum[7] = 0 ;
4806 /*^clear*/
4807 /*clear*/ /*_._IF___V31*/
4808 meltfptr[28] = 0 ;
4811 #else /*MELT_HAVE_DEBUG*/
4812 /*^cppif.else*/
4813 /*^block*/
4814 /*anyblock*/
4819 /*^locexp*/
4820 /*void*/(void)0;
4823 /*epilog*/
4826 #endif /*MELT_HAVE_DEBUG*/
4829 MELT_CHECK_SIGNAL();
4831 MELT_LOCATION("warmelt-macro.melt:6425:/ quasiblock");
4834 /*_._RETVAL___V1*/
4835 meltfptr[0] = /*_.RES__V26*/ meltfptr[24];;
4838 MELT_LOCATION("warmelt-macro.melt:6425:/ locexp");
4839 /*ochecknores compilobj_nrep_return*/
4840 #if MELT_HAVE_DEBUG
4841 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
4842 melt_warn_for_no_expected_secondary_results();
4843 /* we warned when secondary results are expected but not returned. */
4844 #endif /*MELT_HAVE_DEBUG*/
4848 /*^finalreturn*/
4850 /*finalret*/
4851 goto meltlabend_rout ;
4852 /*_.LET___V16*/
4853 meltfptr[14] = /*_.RETURN___V33*/ meltfptr[29];;
4855 MELT_LOCATION("warmelt-macro.melt:6407:/ clear");
4856 /*clear*/ /*_.CONT__V17*/
4857 meltfptr[4] = 0 ;
4858 /*^clear*/
4859 /*clear*/ /*_.LOC__V18*/
4860 meltfptr[17] = 0 ;
4861 /*^clear*/
4862 /*clear*/ /*_.LIST_FIRST__V19*/
4863 meltfptr[18] = 0 ;
4864 /*^clear*/
4865 /*clear*/ /*_.CURPAIR__V20*/
4866 meltfptr[19] = 0 ;
4867 /*^clear*/
4868 /*clear*/ /*_.ARGSP__V21*/
4869 meltfptr[20] = 0 ;
4870 /*^clear*/
4871 /*clear*/ /*_.ARG1__V22*/
4872 meltfptr[21] = 0 ;
4873 /*^clear*/
4874 /*clear*/ /*_.FLDP__V23*/
4875 meltfptr[22] = 0 ;
4876 /*^clear*/
4877 /*clear*/ /*_.TUPLE___V24*/
4878 meltfptr[23] = 0 ;
4879 /*^clear*/
4880 /*clear*/ /*_.RES__V26*/
4881 meltfptr[24] = 0 ;
4882 /*^clear*/
4883 /*clear*/ /*_#MULTIPLE_LENGTH__L6*/
4884 meltfnum[0] = 0 ;
4885 /*^clear*/
4886 /*clear*/ /*_#exeqI__L7*/
4887 meltfnum[1] = 0 ;
4888 /*^clear*/
4889 /*clear*/ /*_._IF___V28*/
4890 meltfptr[27] = 0 ;
4891 /*^clear*/
4892 /*clear*/ /*_.RETURN___V33*/
4893 meltfptr[29] = 0 ;
4895 MELT_CHECK_SIGNAL();
4897 MELT_LOCATION("warmelt-macro.melt:6402:/ quasiblock");
4900 /*_._RETVAL___V1*/
4901 meltfptr[0] = /*_.LET___V16*/ meltfptr[14];;
4904 MELT_LOCATION("warmelt-macro.melt:6402:/ locexp");
4905 /*ochecknores compilobj_nrep_return*/
4906 #if MELT_HAVE_DEBUG
4907 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
4908 melt_warn_for_no_expected_secondary_results();
4909 /* we warned when secondary results are expected but not returned. */
4910 #endif /*MELT_HAVE_DEBUG*/
4914 /*^finalreturn*/
4916 /*finalret*/
4917 goto meltlabend_rout ;
4918 /*epilog*/
4920 /*^clear*/
4921 /*clear*/ /*_.IFCPP___V7*/
4922 meltfptr[5] = 0 ;
4923 /*^clear*/
4924 /*clear*/ /*_.IFCPP___V10*/
4925 meltfptr[8] = 0 ;
4926 /*^clear*/
4927 /*clear*/ /*_.IFCPP___V13*/
4928 meltfptr[11] = 0 ;
4929 /*^clear*/
4930 /*clear*/ /*_.LET___V16*/
4931 meltfptr[14] = 0 ;
4935 goto meltlabend_rout;
4936 meltlabend_rout:
4937 melt_trace_end("PATEXPAND_REFERENCE", meltcallcount);
4938 melt_blocklevel_signals = current_blocklevel_signals_meltrout_106_WARMELTmiMACRO_PATEXPAND_REFERENCE_melt;
4939 return (melt_ptr_t)(/*_._RETVAL___V1*/ meltfptr[0]);
4940 #undef meltcallcount
4941 #undef meltfram__
4942 #undef MELTFRAM_NBVARNUM
4943 #undef MELTFRAM_NBVARPTR
4944 } /*end meltrout_106_WARMELTmiMACRO_PATEXPAND_REFERENCE*/
4951 melt_ptr_t MELT_MODULE_VISIBILITY
4952 meltrout_107_WARMELTmiMACRO_MEXPAND_DEREF(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_,
4953 const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_)
4955 long current_blocklevel_signals_meltrout_107_WARMELTmiMACRO_MEXPAND_DEREF_melt = melt_blocklevel_signals;
4957 #if MELT_HAVE_DEBUG
4958 static long melt_call_counter__;
4959 long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__;
4960 #undef meltcallcount
4961 #define meltcallcount melt_thiscallcounter__
4962 #else
4963 #undef meltcallcount
4964 #define meltcallcount 0L
4965 #endif
4966 //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1538
4968 /* start of frame for routine meltrout_107_WARMELTmiMACRO_MEXPAND_DEREF fromline 1752 */
4970 /** start of frame for meltrout_107_WARMELTmiMACRO_MEXPAND_DEREF of CLASS_PROCROUTINEOBJ from 1555**/
4972 /*curframdeclclassy*/ class MeltFrame_meltrout_107_WARMELTmiMACRO_MEXPAND_DEREF// fromline 1568
4973 : public Melt_CallFrameWithValues<39>
4975 public: /* fromline 1572*/
4976 long mcfr_varnum[13];
4977 /*classy others*/
4978 long _meltsparel;
4979 void melt_mark_stuff (void)
4981 } /*end melt_mark_stuff*/
4982 virtual void melt_mark_ggc_data (void)
4984 melt_mark_values ();
4985 melt_mark_stuff ();
4986 }; /*end melt_mark_ggc_data*/
4987 MeltFrame_meltrout_107_WARMELTmiMACRO_MEXPAND_DEREF(meltclosure_ptr_t clos) //the closure constructor fromline 1630
4988 : Melt_CallFrameWithValues<39> (
4989 #if ENABLE_CHECKING /*fromline 1634*/
4990 __FILE__, __LINE__,
4991 #endif /* ENABLE_CHECKING fromline 1638*/
4992 sizeof(MeltFrame_meltrout_107_WARMELTmiMACRO_MEXPAND_DEREF), clos) {};
4993 MeltFrame_meltrout_107_WARMELTmiMACRO_MEXPAND_DEREF() //the constructor fromline 1642
4994 : Melt_CallFrameWithValues<39> (
4995 #if ENABLE_CHECKING /*fromline 1646*/
4996 __FILE__, __LINE__,
4997 #endif /* ENABLE_CHECKING fromline 1650*/
4998 sizeof(MeltFrame_meltrout_107_WARMELTmiMACRO_MEXPAND_DEREF)) {};
4999 #if ENABLE_CHECKING /*fromline 1654*/
5000 MeltFrame_meltrout_107_WARMELTmiMACRO_MEXPAND_DEREF(const char*fil, int lin) //the constructor fromline 1656
5001 : Melt_CallFrameWithValues<39> (fil,lin, sizeof(MeltFrame_meltrout_107_WARMELTmiMACRO_MEXPAND_DEREF)) {};
5002 MeltFrame_meltrout_107_WARMELTmiMACRO_MEXPAND_DEREF(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1661
5003 : Melt_CallFrameWithValues<39> (fil,lin, sizeof(MeltFrame_meltrout_107_WARMELTmiMACRO_MEXPAND_DEREF), clos) {};
5004 #endif /* ENABLE_CHECKING fromline 1666*/
5006 }; // end class MeltFrame_meltrout_107_WARMELTmiMACRO_MEXPAND_DEREF
5009 /** end of frame for meltrout_107_WARMELTmiMACRO_MEXPAND_DEREF fromline 1697**/
5011 /* end of frame for routine meltrout_107_WARMELTmiMACRO_MEXPAND_DEREF fromline 1756 */
5013 /* classy proc frame meltrout_107_WARMELTmiMACRO_MEXPAND_DEREF */
5014 MeltFrame_meltrout_107_WARMELTmiMACRO_MEXPAND_DEREF
5015 meltfram__ /*declfrastruct fromline 1780*/
5016 /*classyprocarg meltrout_107_WARMELTmiMACRO_MEXPAND_DEREF fromline 1785*/
5017 #if ENABLE_CHECKING
5018 (__FILE__, __LINE__, meltclosp_) /* fromline 1789*/
5019 #else /*ENABLE_CHECKING */
5020 (meltclosp_) /* fromline 1793*/
5021 #endif /*ENABLE_CHECKING */
5024 #define meltframe meltfram__
5026 melt_trace_start("MEXPAND_DEREF", meltcallcount);
5027 /*use arguments*/
5028 (void) meltclosp_;
5029 (void)meltfirstargp_;
5030 (void)meltxargdescr_;
5031 (void)meltxargtab_;
5032 (void)meltxresdescr_;
5033 (void)meltxrestab_;
5034 /*getargs*/
5036 /*getarg#0*/
5037 MELT_LOCATION("warmelt-macro.melt:6442:/ getarg");
5038 /*_.SEXPR__V2*/
5039 meltfptr[1] = (melt_ptr_t) meltfirstargp_;
5041 /*getarg#1*/
5042 /*^getarg*/
5043 if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_endgetargs;
5044 /*_.ENV__V3*/
5045 meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL;
5046 gcc_assert(melt_discr((melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2])) != NULL);
5049 /*getarg#2*/
5050 /*^getarg*/
5051 if (meltxargdescr_[1] != MELTBPAR_PTR) goto meltlab_endgetargs;
5052 /*_.MEXPANDER__V4*/
5053 meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL;
5054 gcc_assert(melt_discr((melt_ptr_t)(/*_.MEXPANDER__V4*/ meltfptr[3])) != NULL);
5057 /*getarg#3*/
5058 /*^getarg*/
5059 if (meltxargdescr_[2] != MELTBPAR_PTR) goto meltlab_endgetargs;
5060 /*_.MODCTX__V5*/
5061 meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL;
5062 gcc_assert(melt_discr((melt_ptr_t)(/*_.MODCTX__V5*/ meltfptr[4])) != NULL);
5065 goto meltlab_endgetargs;
5066 meltlab_endgetargs:
5068 /*body*/
5069 /*^block*/
5070 /*anyblock*/
5074 #if MELT_HAVE_DEBUG
5075 MELT_LOCATION("warmelt-macro.melt:6443:/ cppif.then");
5076 /*^block*/
5077 /*anyblock*/
5082 /*^locexp*/
5083 /*melt_increment_dbgcounter*/
5084 #if MELT_HAVE_DEBUG
5085 melt_dbgcounter++;
5086 #endif
5091 MELT_CHECK_SIGNAL();
5093 /*_#MELT_NEED_DBG__L1*/
5094 meltfnum[0] =
5095 /*MELT_NEED_DBG*/
5096 #if MELT_HAVE_DEBUG
5097 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
5098 #else
5099 0 /* no melt_need_dbg */
5100 #endif /*MELT_HAVE_DEBUG*/
5102 MELT_LOCATION("warmelt-macro.melt:6443:/ cond");
5103 /*cond*/
5104 if (/*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then*/
5106 /*^cond.then*/
5107 /*^block*/
5108 /*anyblock*/
5111 /*_#MELT_CALLCOUNT__L2*/ meltfnum[1] =
5112 /* for melt_callcount */
5113 #if MELT_HAVE_DEBUG && defined (meltcallcount)
5114 meltcallcount /* melt_callcount debugging */
5115 #else
5116 0L /* melt_callcount without debug */
5117 #endif /* MELT_HAVE_DEBUG melt_callcount */
5120 MELT_CHECK_SIGNAL();
5122 MELT_LOCATION("warmelt-macro.melt:6443:/ apply");
5123 /*apply*/
5125 union meltparam_un argtab[5];
5126 memset(&argtab, 0, sizeof(argtab));
5127 /*^apply.arg*/
5128 argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L2*/ meltfnum[1];
5129 /*^apply.arg*/
5130 argtab[1].meltbp_cstring = "warmelt-macro.melt";
5131 /*^apply.arg*/
5132 argtab[2].meltbp_long = 6443;
5133 /*^apply.arg*/
5134 argtab[3].meltbp_cstring = "mexpand_deref sexpr";
5135 /*^apply.arg*/
5136 argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.SEXPR__V2*/ meltfptr[1];
5137 /*_.MELT_DEBUG_FUN__V7*/
5138 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);
5141 /*_._IF___V6*/
5142 meltfptr[5] = /*_.MELT_DEBUG_FUN__V7*/ meltfptr[6];;
5143 /*epilog*/
5145 MELT_LOCATION("warmelt-macro.melt:6443:/ clear");
5146 /*clear*/ /*_#MELT_CALLCOUNT__L2*/
5147 meltfnum[1] = 0 ;
5148 /*^clear*/
5149 /*clear*/ /*_.MELT_DEBUG_FUN__V7*/
5150 meltfptr[6] = 0 ;
5154 else /*^cond.else*/
5157 /*_._IF___V6*/ meltfptr[5] = /*reallynil*/ NULL ;;
5162 MELT_LOCATION("warmelt-macro.melt:6443:/ locexp");
5163 /*void*/
5164 (void)0;
5167 /*^quasiblock*/
5170 /*epilog*/
5172 /*^clear*/
5173 /*clear*/ /*_#MELT_NEED_DBG__L1*/
5174 meltfnum[0] = 0 ;
5175 /*^clear*/
5176 /*clear*/ /*_._IF___V6*/
5177 meltfptr[5] = 0 ;
5180 #else /*MELT_HAVE_DEBUG*/
5181 /*^cppif.else*/
5182 /*^block*/
5183 /*anyblock*/
5188 /*^locexp*/
5189 /*void*/(void)0;
5192 /*epilog*/
5195 #endif /*MELT_HAVE_DEBUG*/
5198 #if MELT_HAVE_DEBUG
5199 MELT_LOCATION("warmelt-macro.melt:6444:/ cppif.then");
5200 /*^block*/
5201 /*anyblock*/
5205 MELT_CHECK_SIGNAL();
5207 /*_#IS_A__L3*/
5208 meltfnum[1] =
5209 melt_is_instance_of((melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_SEXPR*/ meltfrout->tabval[1])));;
5210 MELT_LOCATION("warmelt-macro.melt:6444:/ cond");
5211 /*cond*/
5212 if (/*_#IS_A__L3*/ meltfnum[1]) /*then*/
5214 /*^cond.then*/
5215 /*_._IFELSE___V9*/ meltfptr[5] = (/*nil*/NULL);;
5217 else
5219 MELT_LOCATION("warmelt-macro.melt:6444:/ cond.else");
5221 /*^block*/
5222 /*anyblock*/
5226 MELT_CHECK_SIGNAL();
5228 /*^apply*/
5229 /*apply*/
5231 union meltparam_un argtab[4];
5232 memset(&argtab, 0, sizeof(argtab));
5233 /*^apply.arg*/
5234 argtab[0].meltbp_cstring = "check sexpr";
5235 /*^apply.arg*/
5236 argtab[1].meltbp_cstring = "warmelt-macro.melt";
5237 /*^apply.arg*/
5238 argtab[2].meltbp_long = 6444;
5239 /*^apply.arg*/
5240 argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.SEXPR__V2*/ meltfptr[1];
5241 /*_.MELT_ASSERT_FAILURE_FUN__V10*/
5242 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);
5245 /*_._IFELSE___V9*/
5246 meltfptr[5] = /*_.MELT_ASSERT_FAILURE_FUN__V10*/ meltfptr[9];;
5247 /*epilog*/
5249 MELT_LOCATION("warmelt-macro.melt:6444:/ clear");
5250 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V10*/
5251 meltfptr[9] = 0 ;
5256 /*_.IFCPP___V8*/
5257 meltfptr[6] = /*_._IFELSE___V9*/ meltfptr[5];;
5258 /*epilog*/
5260 MELT_LOCATION("warmelt-macro.melt:6444:/ clear");
5261 /*clear*/ /*_#IS_A__L3*/
5262 meltfnum[1] = 0 ;
5263 /*^clear*/
5264 /*clear*/ /*_._IFELSE___V9*/
5265 meltfptr[5] = 0 ;
5268 #else /*MELT_HAVE_DEBUG*/
5269 /*^cppif.else*/
5270 /*_.IFCPP___V8*/ meltfptr[6] = (/*nil*/NULL);
5271 #endif /*MELT_HAVE_DEBUG*/
5274 #if MELT_HAVE_DEBUG
5275 MELT_LOCATION("warmelt-macro.melt:6445:/ cppif.then");
5276 /*^block*/
5277 /*anyblock*/
5281 MELT_CHECK_SIGNAL();
5283 /*_#IS_A__L4*/
5284 meltfnum[0] =
5285 melt_is_instance_of((melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2]), (melt_ptr_t)((/*!CLASS_ENVIRONMENT*/ meltfrout->tabval[3])));;
5286 MELT_LOCATION("warmelt-macro.melt:6445:/ cond");
5287 /*cond*/
5288 if (/*_#IS_A__L4*/ meltfnum[0]) /*then*/
5290 /*^cond.then*/
5291 /*_._IFELSE___V12*/ meltfptr[5] = (/*nil*/NULL);;
5293 else
5295 MELT_LOCATION("warmelt-macro.melt:6445:/ cond.else");
5297 /*^block*/
5298 /*anyblock*/
5302 MELT_CHECK_SIGNAL();
5304 /*^apply*/
5305 /*apply*/
5307 union meltparam_un argtab[4];
5308 memset(&argtab, 0, sizeof(argtab));
5309 /*^apply.arg*/
5310 argtab[0].meltbp_cstring = "check env";
5311 /*^apply.arg*/
5312 argtab[1].meltbp_cstring = "warmelt-macro.melt";
5313 /*^apply.arg*/
5314 argtab[2].meltbp_long = 6445;
5315 /*^apply.arg*/
5316 argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.ENV__V3*/ meltfptr[2];
5317 /*_.MELT_ASSERT_FAILURE_FUN__V13*/
5318 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);
5321 /*_._IFELSE___V12*/
5322 meltfptr[5] = /*_.MELT_ASSERT_FAILURE_FUN__V13*/ meltfptr[12];;
5323 /*epilog*/
5325 MELT_LOCATION("warmelt-macro.melt:6445:/ clear");
5326 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V13*/
5327 meltfptr[12] = 0 ;
5332 /*_.IFCPP___V11*/
5333 meltfptr[9] = /*_._IFELSE___V12*/ meltfptr[5];;
5334 /*epilog*/
5336 MELT_LOCATION("warmelt-macro.melt:6445:/ clear");
5337 /*clear*/ /*_#IS_A__L4*/
5338 meltfnum[0] = 0 ;
5339 /*^clear*/
5340 /*clear*/ /*_._IFELSE___V12*/
5341 meltfptr[5] = 0 ;
5344 #else /*MELT_HAVE_DEBUG*/
5345 /*^cppif.else*/
5346 /*_.IFCPP___V11*/ meltfptr[9] = (/*nil*/NULL);
5347 #endif /*MELT_HAVE_DEBUG*/
5350 #if MELT_HAVE_DEBUG
5351 MELT_LOCATION("warmelt-macro.melt:6446:/ cppif.then");
5352 /*^block*/
5353 /*anyblock*/
5357 MELT_CHECK_SIGNAL();
5359 /*_#IS_OBJECT__L5*/
5360 meltfnum[1] =
5361 (melt_magic_discr((melt_ptr_t)(/*_.MODCTX__V5*/ meltfptr[4])) == MELTOBMAG_OBJECT);;
5362 MELT_LOCATION("warmelt-macro.melt:6446:/ cond");
5363 /*cond*/
5364 if (/*_#IS_OBJECT__L5*/ meltfnum[1]) /*then*/
5366 /*^cond.then*/
5367 /*_._IFELSE___V15*/ meltfptr[5] = (/*nil*/NULL);;
5369 else
5371 MELT_LOCATION("warmelt-macro.melt:6446:/ cond.else");
5373 /*^block*/
5374 /*anyblock*/
5378 MELT_CHECK_SIGNAL();
5380 /*^apply*/
5381 /*apply*/
5383 union meltparam_un argtab[4];
5384 memset(&argtab, 0, sizeof(argtab));
5385 /*^apply.arg*/
5386 argtab[0].meltbp_cstring = "check modctx";
5387 /*^apply.arg*/
5388 argtab[1].meltbp_cstring = "warmelt-macro.melt";
5389 /*^apply.arg*/
5390 argtab[2].meltbp_long = 6446;
5391 /*^apply.arg*/
5392 argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.MODCTX__V5*/ meltfptr[4];
5393 /*_.MELT_ASSERT_FAILURE_FUN__V16*/
5394 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);
5397 /*_._IFELSE___V15*/
5398 meltfptr[5] = /*_.MELT_ASSERT_FAILURE_FUN__V16*/ meltfptr[15];;
5399 /*epilog*/
5401 MELT_LOCATION("warmelt-macro.melt:6446:/ clear");
5402 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V16*/
5403 meltfptr[15] = 0 ;
5408 /*_.IFCPP___V14*/
5409 meltfptr[12] = /*_._IFELSE___V15*/ meltfptr[5];;
5410 /*epilog*/
5412 MELT_LOCATION("warmelt-macro.melt:6446:/ clear");
5413 /*clear*/ /*_#IS_OBJECT__L5*/
5414 meltfnum[1] = 0 ;
5415 /*^clear*/
5416 /*clear*/ /*_._IFELSE___V15*/
5417 meltfptr[5] = 0 ;
5420 #else /*MELT_HAVE_DEBUG*/
5421 /*^cppif.else*/
5422 /*_.IFCPP___V14*/ meltfptr[12] = (/*nil*/NULL);
5423 #endif /*MELT_HAVE_DEBUG*/
5426 #if MELT_HAVE_DEBUG
5427 MELT_LOCATION("warmelt-macro.melt:6447:/ cppif.then");
5428 /*^block*/
5429 /*anyblock*/
5433 MELT_CHECK_SIGNAL();
5435 MELT_LOCATION("warmelt-macro.melt:6449:/ cond");
5436 /*cond*/
5437 if (
5438 /*ifisa*/ melt_is_instance_of((melt_ptr_t)((/*!CLASS_REFERENCE*/ meltfrout->tabval[4])),
5439 (melt_ptr_t)((/*!CLASS_CLASS*/ meltfrout->tabval[5])))
5440 ) /*then*/
5442 /*^cond.then*/
5443 /*^getslot*/
5445 melt_ptr_t slot=NULL, obj=NULL;
5446 obj = (melt_ptr_t)((/*!CLASS_REFERENCE*/ meltfrout->tabval[4])) /*=obj*/;
5447 melt_object_get_field(slot,obj, 6, "CLASS_FIELDS");
5448 /*_.CLASS_FIELDS__V18*/
5449 meltfptr[5] = slot;
5453 else /*^cond.else*/
5456 /*_.CLASS_FIELDS__V18*/ meltfptr[5] = /*reallynil*/ NULL ;;
5459 /*^compute*/
5460 /*_#MULTIPLE_LENGTH__L6*/
5461 meltfnum[0] =
5462 (melt_multiple_length((melt_ptr_t)(/*_.CLASS_FIELDS__V18*/ meltfptr[5])));;
5463 /*^compute*/
5464 /*_#eqeqI__L7*/
5465 meltfnum[1] =
5466 ((1) == (/*_#MULTIPLE_LENGTH__L6*/ meltfnum[0]));;
5467 MELT_LOCATION("warmelt-macro.melt:6447:/ cond");
5468 /*cond*/
5469 if (/*_#eqeqI__L7*/ meltfnum[1]) /*then*/
5471 /*^cond.then*/
5472 /*_._IFELSE___V19*/ meltfptr[18] = (/*nil*/NULL);;
5474 else
5476 MELT_LOCATION("warmelt-macro.melt:6447:/ cond.else");
5478 /*^block*/
5479 /*anyblock*/
5483 MELT_CHECK_SIGNAL();
5485 /*^apply*/
5486 /*apply*/
5488 union meltparam_un argtab[4];
5489 memset(&argtab, 0, sizeof(argtab));
5490 /*^apply.arg*/
5491 argtab[0].meltbp_cstring = "check class_reference has one field";
5492 /*^apply.arg*/
5493 argtab[1].meltbp_cstring = "warmelt-macro.melt";
5494 /*^apply.arg*/
5495 argtab[2].meltbp_long = 6447;
5496 /*^apply.arg*/
5497 argtab[3].meltbp_aptr = (melt_ptr_t*) &(/*!CLASS_REFERENCE*/ meltfrout->tabval[4]);
5498 /*_.MELT_ASSERT_FAILURE_FUN__V20*/
5499 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);
5502 /*_._IFELSE___V19*/
5503 meltfptr[18] = /*_.MELT_ASSERT_FAILURE_FUN__V20*/ meltfptr[19];;
5504 /*epilog*/
5506 MELT_LOCATION("warmelt-macro.melt:6447:/ clear");
5507 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V20*/
5508 meltfptr[19] = 0 ;
5513 /*_.IFCPP___V17*/
5514 meltfptr[15] = /*_._IFELSE___V19*/ meltfptr[18];;
5515 /*epilog*/
5517 MELT_LOCATION("warmelt-macro.melt:6447:/ clear");
5518 /*clear*/ /*_.CLASS_FIELDS__V18*/
5519 meltfptr[5] = 0 ;
5520 /*^clear*/
5521 /*clear*/ /*_#MULTIPLE_LENGTH__L6*/
5522 meltfnum[0] = 0 ;
5523 /*^clear*/
5524 /*clear*/ /*_#eqeqI__L7*/
5525 meltfnum[1] = 0 ;
5526 /*^clear*/
5527 /*clear*/ /*_._IFELSE___V19*/
5528 meltfptr[18] = 0 ;
5531 #else /*MELT_HAVE_DEBUG*/
5532 /*^cppif.else*/
5533 /*_.IFCPP___V17*/ meltfptr[15] = (/*nil*/NULL);
5534 #endif /*MELT_HAVE_DEBUG*/
5536 MELT_LOCATION("warmelt-macro.melt:6451:/ quasiblock");
5539 MELT_LOCATION("warmelt-macro.melt:6452:/ getslot");
5541 melt_ptr_t slot=NULL, obj=NULL;
5542 obj = (melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/;
5543 melt_object_get_field(slot,obj, 2, "SEXP_CONTENTS");
5544 /*_.CONT__V22*/
5545 meltfptr[5] = slot;
5548 MELT_LOCATION("warmelt-macro.melt:6453:/ getslot");
5550 melt_ptr_t slot=NULL, obj=NULL;
5551 obj = (melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/;
5552 melt_object_get_field(slot,obj, 1, "LOCA_LOCATION");
5553 /*_.LOC__V23*/
5554 meltfptr[18] = slot;
5558 MELT_CHECK_SIGNAL();
5560 MELT_LOCATION("warmelt-macro.melt:6454:/ apply");
5561 /*apply*/
5563 union meltparam_un argtab[3];
5564 memset(&argtab, 0, sizeof(argtab));
5565 /*^apply.arg*/
5566 argtab[0].meltbp_aptr = (melt_ptr_t*) &/*_.ENV__V3*/ meltfptr[2];
5567 /*^apply.arg*/
5568 argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.MEXPANDER__V4*/ meltfptr[3];
5569 /*^apply.arg*/
5570 argtab[2].meltbp_aptr = (melt_ptr_t*) &/*_.MODCTX__V5*/ meltfptr[4];
5571 /*_.XARGTUP__V24*/
5572 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);
5575 /*_#NBARG__L8*/
5576 meltfnum[0] =
5577 (melt_multiple_length((melt_ptr_t)(/*_.XARGTUP__V24*/ meltfptr[23])));;
5578 /*^compute*/
5579 /*_.ARG1__V25*/
5580 meltfptr[24] =
5581 (melt_multiple_nth((melt_ptr_t)(/*_.XARGTUP__V24*/ meltfptr[23]), (0)));;
5583 MELT_CHECK_SIGNAL();
5585 MELT_LOCATION("warmelt-macro.melt:6457:/ quasiblock");
5588 /*^rawallocobj*/
5589 /*rawallocobj*/
5591 melt_ptr_t newobj = 0;
5592 melt_raw_object_create(newobj,(melt_ptr_t)((/*!CLASS_SOURCE_FETCH_PREDEFINED*/ meltfrout->tabval[7])), (3), "CLASS_SOURCE_FETCH_PREDEFINED");
5593 /*_.INST__V27*/
5594 meltfptr[26] =
5595 newobj;
5598 /*^putslot*/
5599 /*putslot*/
5600 melt_assertmsg("checkobj putslot _ @LOCA_LOCATION", melt_magic_discr((melt_ptr_t)(/*_.INST__V27*/ meltfptr[26])) == MELTOBMAG_OBJECT);
5601 melt_putfield_object((/*_.INST__V27*/ meltfptr[26]), (1), (/*_.LOC__V23*/ meltfptr[18]), "LOCA_LOCATION");
5603 /*^putslot*/
5604 /*putslot*/
5605 melt_assertmsg("checkobj putslot _ @SFEPD_PREDEF", melt_magic_discr((melt_ptr_t)(/*_.INST__V27*/ meltfptr[26])) == MELTOBMAG_OBJECT);
5606 melt_putfield_object((/*_.INST__V27*/ meltfptr[26]), (2), ((/*!konst_8_CLASS_REFERENCE*/ meltfrout->tabval[8])), "SFEPD_PREDEF");
5608 /*^touchobj*/
5610 melt_dbgtrace_written_object (/*_.INST__V27*/ meltfptr[26], "newly made instance");
5612 /*_.SPREDCLASSCONT__V26*/
5613 meltfptr[25] = /*_.INST__V27*/ meltfptr[26];;
5615 MELT_CHECK_SIGNAL();
5617 MELT_LOCATION("warmelt-macro.melt:6460:/ apply");
5618 /*apply*/
5620 union meltparam_un argtab[1];
5621 memset(&argtab, 0, sizeof(argtab));
5622 /*^apply.arg*/
5623 argtab[0].meltbp_aptr = (melt_ptr_t*) &(/*!konst_8_CLASS_REFERENCE*/ meltfrout->tabval[8]);
5624 /*_.CLABIND__V28*/
5625 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);
5629 MELT_CHECK_SIGNAL();
5631 MELT_LOCATION("warmelt-macro.melt:6461:/ quasiblock");
5634 /*^rawallocobj*/
5635 /*rawallocobj*/
5637 melt_ptr_t newobj = 0;
5638 melt_raw_object_create(newobj,(melt_ptr_t)((/*!CLASS_SOURCE_GET_FIELD*/ meltfrout->tabval[11])), (4), "CLASS_SOURCE_GET_FIELD");
5639 /*_.INST__V30*/
5640 meltfptr[29] =
5641 newobj;
5644 /*^putslot*/
5645 /*putslot*/
5646 melt_assertmsg("checkobj putslot _ @LOCA_LOCATION", melt_magic_discr((melt_ptr_t)(/*_.INST__V30*/ meltfptr[29])) == MELTOBMAG_OBJECT);
5647 melt_putfield_object((/*_.INST__V30*/ meltfptr[29]), (1), (/*_.LOC__V23*/ meltfptr[18]), "LOCA_LOCATION");
5649 /*^putslot*/
5650 /*putslot*/
5651 melt_assertmsg("checkobj putslot _ @SUGET_OBJ", melt_magic_discr((melt_ptr_t)(/*_.INST__V30*/ meltfptr[29])) == MELTOBMAG_OBJECT);
5652 melt_putfield_object((/*_.INST__V30*/ meltfptr[29]), (2), (/*_.ARG1__V25*/ meltfptr[24]), "SUGET_OBJ");
5654 /*^putslot*/
5655 /*putslot*/
5656 melt_assertmsg("checkobj putslot _ @SUGET_FIELD", melt_magic_discr((melt_ptr_t)(/*_.INST__V30*/ meltfptr[29])) == MELTOBMAG_OBJECT);
5657 melt_putfield_object((/*_.INST__V30*/ meltfptr[29]), (3), ((/*!REFERENCED_VALUE*/ meltfrout->tabval[12])), "SUGET_FIELD");
5659 /*^touchobj*/
5661 melt_dbgtrace_written_object (/*_.INST__V30*/ meltfptr[29], "newly made instance");
5663 /*_.SGET__V29*/
5664 meltfptr[28] = /*_.INST__V30*/ meltfptr[29];;
5666 #if MELT_HAVE_DEBUG
5667 MELT_LOCATION("warmelt-macro.melt:6467:/ cppif.then");
5668 /*^block*/
5669 /*anyblock*/
5673 MELT_CHECK_SIGNAL();
5675 /*_#IS_A__L9*/
5676 meltfnum[1] =
5677 melt_is_instance_of((melt_ptr_t)((/*!REFERENCED_VALUE*/ meltfrout->tabval[12])), (melt_ptr_t)((/*!CLASS_FIELD*/ meltfrout->tabval[13])));;
5678 MELT_LOCATION("warmelt-macro.melt:6467:/ cond");
5679 /*cond*/
5680 if (/*_#IS_A__L9*/ meltfnum[1]) /*then*/
5682 /*^cond.then*/
5683 /*_._IFELSE___V32*/ meltfptr[31] = (/*nil*/NULL);;
5685 else
5687 MELT_LOCATION("warmelt-macro.melt:6467:/ cond.else");
5689 /*^block*/
5690 /*anyblock*/
5694 MELT_CHECK_SIGNAL();
5696 /*^apply*/
5697 /*apply*/
5699 union meltparam_un argtab[4];
5700 memset(&argtab, 0, sizeof(argtab));
5701 /*^apply.arg*/
5702 argtab[0].meltbp_cstring = "check referenced_value";
5703 /*^apply.arg*/
5704 argtab[1].meltbp_cstring = "warmelt-macro.melt";
5705 /*^apply.arg*/
5706 argtab[2].meltbp_long = 6467;
5707 /*^apply.arg*/
5708 argtab[3].meltbp_aptr = (melt_ptr_t*) &(/*!REFERENCED_VALUE*/ meltfrout->tabval[12]);
5709 /*_.MELT_ASSERT_FAILURE_FUN__V33*/
5710 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);
5713 /*_._IFELSE___V32*/
5714 meltfptr[31] = /*_.MELT_ASSERT_FAILURE_FUN__V33*/ meltfptr[32];;
5715 /*epilog*/
5717 MELT_LOCATION("warmelt-macro.melt:6467:/ clear");
5718 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V33*/
5719 meltfptr[32] = 0 ;
5724 /*_.IFCPP___V31*/
5725 meltfptr[30] = /*_._IFELSE___V32*/ meltfptr[31];;
5726 /*epilog*/
5728 MELT_LOCATION("warmelt-macro.melt:6467:/ clear");
5729 /*clear*/ /*_#IS_A__L9*/
5730 meltfnum[1] = 0 ;
5731 /*^clear*/
5732 /*clear*/ /*_._IFELSE___V32*/
5733 meltfptr[31] = 0 ;
5736 #else /*MELT_HAVE_DEBUG*/
5737 /*^cppif.else*/
5738 /*_.IFCPP___V31*/ meltfptr[30] = (/*nil*/NULL);
5739 #endif /*MELT_HAVE_DEBUG*/
5742 MELT_CHECK_SIGNAL();
5744 /*^compute*/
5745 /*_#exeqI__L10*/
5746 meltfnum[1] =
5747 ((/*_#NBARG__L8*/ meltfnum[0]) != (1));;
5748 MELT_LOCATION("warmelt-macro.melt:6468:/ cond");
5749 /*cond*/
5750 if (/*_#exeqI__L10*/ meltfnum[1]) /*then*/
5752 /*^cond.then*/
5753 /*^block*/
5754 /*anyblock*/
5759 MELT_LOCATION("warmelt-macro.melt:6470:/ locexp");
5760 /* error_plain */
5761 melt_error_str((melt_ptr_t)(/*_.LOC__V23*/ meltfptr[18]), ( "(DEREF <value>) needs exactly one argument"), (melt_ptr_t)0);
5764 MELT_LOCATION("warmelt-macro.melt:6471:/ quasiblock");
5767 /*_._RETVAL___V1*/
5768 meltfptr[0] = /*reallynil*/ NULL ;;
5771 MELT_LOCATION("warmelt-macro.melt:6471:/ locexp");
5772 /*ochecknores compilobj_nrep_return*/
5773 #if MELT_HAVE_DEBUG
5774 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
5775 melt_warn_for_no_expected_secondary_results();
5776 /* we warned when secondary results are expected but not returned. */
5777 #endif /*MELT_HAVE_DEBUG*/
5781 /*^finalreturn*/
5783 /*finalret*/
5784 goto meltlabend_rout ;
5785 MELT_LOCATION("warmelt-macro.melt:6469:/ quasiblock");
5788 /*_.PROGN___V36*/
5789 meltfptr[35] = /*_.RETURN___V35*/ meltfptr[31];;
5790 /*^compute*/
5791 /*_._IF___V34*/
5792 meltfptr[32] = /*_.PROGN___V36*/ meltfptr[35];;
5793 /*epilog*/
5795 MELT_LOCATION("warmelt-macro.melt:6468:/ clear");
5796 /*clear*/ /*_.RETURN___V35*/
5797 meltfptr[31] = 0 ;
5798 /*^clear*/
5799 /*clear*/ /*_.PROGN___V36*/
5800 meltfptr[35] = 0 ;
5804 else /*^cond.else*/
5807 /*_._IF___V34*/ meltfptr[32] = /*reallynil*/ NULL ;;
5811 MELT_CHECK_SIGNAL();
5813 /*^compute*/
5814 /*_#NULL__L11*/
5815 meltfnum[10] =
5816 (/*null*/(/*_.CLABIND__V28*/ meltfptr[27]) == NULL);;
5817 MELT_LOCATION("warmelt-macro.melt:6474:/ cond");
5818 /*cond*/
5819 if (/*_#NULL__L11*/ meltfnum[10]) /*then*/
5821 /*^cond.then*/
5822 /*^block*/
5823 /*anyblock*/
5828 MELT_LOCATION("warmelt-macro.melt:6475:/ locexp");
5829 melt_warning_str(0, (melt_ptr_t)(/*_.LOC__V23*/ meltfptr[18]), ( "(DEREF <value>) where CLASS_REFERENCE is not visible"), (melt_ptr_t)0);
5832 /*epilog*/
5835 } /*noelse*/
5838 #if MELT_HAVE_DEBUG
5839 MELT_LOCATION("warmelt-macro.melt:6476:/ cppif.then");
5840 /*^block*/
5841 /*anyblock*/
5846 /*^locexp*/
5847 /*melt_increment_dbgcounter*/
5848 #if MELT_HAVE_DEBUG
5849 melt_dbgcounter++;
5850 #endif
5855 MELT_CHECK_SIGNAL();
5857 /*_#MELT_NEED_DBG__L12*/
5858 meltfnum[11] =
5859 /*MELT_NEED_DBG*/
5860 #if MELT_HAVE_DEBUG
5861 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
5862 #else
5863 0 /* no melt_need_dbg */
5864 #endif /*MELT_HAVE_DEBUG*/
5866 MELT_LOCATION("warmelt-macro.melt:6476:/ cond");
5867 /*cond*/
5868 if (/*_#MELT_NEED_DBG__L12*/ meltfnum[11]) /*then*/
5870 /*^cond.then*/
5871 /*^block*/
5872 /*anyblock*/
5875 /*_#MELT_CALLCOUNT__L13*/ meltfnum[12] =
5876 /* for melt_callcount */
5877 #if MELT_HAVE_DEBUG && defined (meltcallcount)
5878 meltcallcount /* melt_callcount debugging */
5879 #else
5880 0L /* melt_callcount without debug */
5881 #endif /* MELT_HAVE_DEBUG melt_callcount */
5884 MELT_CHECK_SIGNAL();
5886 MELT_LOCATION("warmelt-macro.melt:6476:/ apply");
5887 /*apply*/
5889 union meltparam_un argtab[5];
5890 memset(&argtab, 0, sizeof(argtab));
5891 /*^apply.arg*/
5892 argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L13*/ meltfnum[12];
5893 /*^apply.arg*/
5894 argtab[1].meltbp_cstring = "warmelt-macro.melt";
5895 /*^apply.arg*/
5896 argtab[2].meltbp_long = 6476;
5897 /*^apply.arg*/
5898 argtab[3].meltbp_cstring = "mexpand_deref returns sget";
5899 /*^apply.arg*/
5900 argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.SGET__V29*/ meltfptr[28];
5901 /*_.MELT_DEBUG_FUN__V38*/
5902 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);
5905 /*_._IF___V37*/
5906 meltfptr[31] = /*_.MELT_DEBUG_FUN__V38*/ meltfptr[35];;
5907 /*epilog*/
5909 MELT_LOCATION("warmelt-macro.melt:6476:/ clear");
5910 /*clear*/ /*_#MELT_CALLCOUNT__L13*/
5911 meltfnum[12] = 0 ;
5912 /*^clear*/
5913 /*clear*/ /*_.MELT_DEBUG_FUN__V38*/
5914 meltfptr[35] = 0 ;
5918 else /*^cond.else*/
5921 /*_._IF___V37*/ meltfptr[31] = /*reallynil*/ NULL ;;
5926 MELT_LOCATION("warmelt-macro.melt:6476:/ locexp");
5927 /*void*/
5928 (void)0;
5931 /*^quasiblock*/
5934 /*epilog*/
5936 /*^clear*/
5937 /*clear*/ /*_#MELT_NEED_DBG__L12*/
5938 meltfnum[11] = 0 ;
5939 /*^clear*/
5940 /*clear*/ /*_._IF___V37*/
5941 meltfptr[31] = 0 ;
5944 #else /*MELT_HAVE_DEBUG*/
5945 /*^cppif.else*/
5946 /*^block*/
5947 /*anyblock*/
5952 /*^locexp*/
5953 /*void*/(void)0;
5956 /*epilog*/
5959 #endif /*MELT_HAVE_DEBUG*/
5962 MELT_CHECK_SIGNAL();
5964 MELT_LOCATION("warmelt-macro.melt:6477:/ quasiblock");
5967 /*_._RETVAL___V1*/
5968 meltfptr[0] = /*_.SGET__V29*/ meltfptr[28];;
5971 MELT_LOCATION("warmelt-macro.melt:6477:/ locexp");
5972 /*ochecknores compilobj_nrep_return*/
5973 #if MELT_HAVE_DEBUG
5974 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
5975 melt_warn_for_no_expected_secondary_results();
5976 /* we warned when secondary results are expected but not returned. */
5977 #endif /*MELT_HAVE_DEBUG*/
5981 /*^finalreturn*/
5983 /*finalret*/
5984 goto meltlabend_rout ;
5985 /*_.LET___V21*/
5986 meltfptr[19] = /*_.RETURN___V39*/ meltfptr[35];;
5988 MELT_LOCATION("warmelt-macro.melt:6451:/ clear");
5989 /*clear*/ /*_.CONT__V22*/
5990 meltfptr[5] = 0 ;
5991 /*^clear*/
5992 /*clear*/ /*_.LOC__V23*/
5993 meltfptr[18] = 0 ;
5994 /*^clear*/
5995 /*clear*/ /*_.XARGTUP__V24*/
5996 meltfptr[23] = 0 ;
5997 /*^clear*/
5998 /*clear*/ /*_#NBARG__L8*/
5999 meltfnum[0] = 0 ;
6000 /*^clear*/
6001 /*clear*/ /*_.ARG1__V25*/
6002 meltfptr[24] = 0 ;
6003 /*^clear*/
6004 /*clear*/ /*_.SPREDCLASSCONT__V26*/
6005 meltfptr[25] = 0 ;
6006 /*^clear*/
6007 /*clear*/ /*_.CLABIND__V28*/
6008 meltfptr[27] = 0 ;
6009 /*^clear*/
6010 /*clear*/ /*_.SGET__V29*/
6011 meltfptr[28] = 0 ;
6012 /*^clear*/
6013 /*clear*/ /*_.IFCPP___V31*/
6014 meltfptr[30] = 0 ;
6015 /*^clear*/
6016 /*clear*/ /*_#exeqI__L10*/
6017 meltfnum[1] = 0 ;
6018 /*^clear*/
6019 /*clear*/ /*_._IF___V34*/
6020 meltfptr[32] = 0 ;
6021 /*^clear*/
6022 /*clear*/ /*_#NULL__L11*/
6023 meltfnum[10] = 0 ;
6024 /*^clear*/
6025 /*clear*/ /*_.RETURN___V39*/
6026 meltfptr[35] = 0 ;
6028 MELT_CHECK_SIGNAL();
6030 MELT_LOCATION("warmelt-macro.melt:6442:/ quasiblock");
6033 /*_._RETVAL___V1*/
6034 meltfptr[0] = /*_.LET___V21*/ meltfptr[19];;
6037 MELT_LOCATION("warmelt-macro.melt:6442:/ locexp");
6038 /*ochecknores compilobj_nrep_return*/
6039 #if MELT_HAVE_DEBUG
6040 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
6041 melt_warn_for_no_expected_secondary_results();
6042 /* we warned when secondary results are expected but not returned. */
6043 #endif /*MELT_HAVE_DEBUG*/
6047 /*^finalreturn*/
6049 /*finalret*/
6050 goto meltlabend_rout ;
6051 /*epilog*/
6053 /*^clear*/
6054 /*clear*/ /*_.IFCPP___V8*/
6055 meltfptr[6] = 0 ;
6056 /*^clear*/
6057 /*clear*/ /*_.IFCPP___V11*/
6058 meltfptr[9] = 0 ;
6059 /*^clear*/
6060 /*clear*/ /*_.IFCPP___V14*/
6061 meltfptr[12] = 0 ;
6062 /*^clear*/
6063 /*clear*/ /*_.IFCPP___V17*/
6064 meltfptr[15] = 0 ;
6065 /*^clear*/
6066 /*clear*/ /*_.LET___V21*/
6067 meltfptr[19] = 0 ;
6071 goto meltlabend_rout;
6072 meltlabend_rout:
6073 melt_trace_end("MEXPAND_DEREF", meltcallcount);
6074 melt_blocklevel_signals = current_blocklevel_signals_meltrout_107_WARMELTmiMACRO_MEXPAND_DEREF_melt;
6075 return (melt_ptr_t)(/*_._RETVAL___V1*/ meltfptr[0]);
6076 #undef meltcallcount
6077 #undef meltfram__
6078 #undef MELTFRAM_NBVARNUM
6079 #undef MELTFRAM_NBVARPTR
6080 } /*end meltrout_107_WARMELTmiMACRO_MEXPAND_DEREF*/
6087 melt_ptr_t MELT_MODULE_VISIBILITY
6088 meltrout_108_WARMELTmiMACRO_MEXPANDOBSOLETE_CONTENT(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_,
6089 const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_)
6091 long current_blocklevel_signals_meltrout_108_WARMELTmiMACRO_MEXPANDOBSOLETE_CONTENT_melt = melt_blocklevel_signals;
6093 #if MELT_HAVE_DEBUG
6094 static long melt_call_counter__;
6095 long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__;
6096 #undef meltcallcount
6097 #define meltcallcount melt_thiscallcounter__
6098 #else
6099 #undef meltcallcount
6100 #define meltcallcount 0L
6101 #endif
6102 //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1538
6104 /* start of frame for routine meltrout_108_WARMELTmiMACRO_MEXPANDOBSOLETE_CONTENT fromline 1752 */
6106 /** start of frame for meltrout_108_WARMELTmiMACRO_MEXPANDOBSOLETE_CONTENT of CLASS_PROCROUTINEOBJ from 1555**/
6108 /*curframdeclclassy*/ class MeltFrame_meltrout_108_WARMELTmiMACRO_MEXPANDOBSOLETE_CONTENT// fromline 1568
6109 : public Melt_CallFrameWithValues<12>
6111 public: /* fromline 1572*/
6112 long mcfr_varnum[3];
6113 /*classy others*/
6114 long _meltsparel;
6115 void melt_mark_stuff (void)
6117 } /*end melt_mark_stuff*/
6118 virtual void melt_mark_ggc_data (void)
6120 melt_mark_values ();
6121 melt_mark_stuff ();
6122 }; /*end melt_mark_ggc_data*/
6123 MeltFrame_meltrout_108_WARMELTmiMACRO_MEXPANDOBSOLETE_CONTENT(meltclosure_ptr_t clos) //the closure constructor fromline 1630
6124 : Melt_CallFrameWithValues<12> (
6125 #if ENABLE_CHECKING /*fromline 1634*/
6126 __FILE__, __LINE__,
6127 #endif /* ENABLE_CHECKING fromline 1638*/
6128 sizeof(MeltFrame_meltrout_108_WARMELTmiMACRO_MEXPANDOBSOLETE_CONTENT), clos) {};
6129 MeltFrame_meltrout_108_WARMELTmiMACRO_MEXPANDOBSOLETE_CONTENT() //the constructor fromline 1642
6130 : Melt_CallFrameWithValues<12> (
6131 #if ENABLE_CHECKING /*fromline 1646*/
6132 __FILE__, __LINE__,
6133 #endif /* ENABLE_CHECKING fromline 1650*/
6134 sizeof(MeltFrame_meltrout_108_WARMELTmiMACRO_MEXPANDOBSOLETE_CONTENT)) {};
6135 #if ENABLE_CHECKING /*fromline 1654*/
6136 MeltFrame_meltrout_108_WARMELTmiMACRO_MEXPANDOBSOLETE_CONTENT(const char*fil, int lin) //the constructor fromline 1656
6137 : Melt_CallFrameWithValues<12> (fil,lin, sizeof(MeltFrame_meltrout_108_WARMELTmiMACRO_MEXPANDOBSOLETE_CONTENT)) {};
6138 MeltFrame_meltrout_108_WARMELTmiMACRO_MEXPANDOBSOLETE_CONTENT(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1661
6139 : Melt_CallFrameWithValues<12> (fil,lin, sizeof(MeltFrame_meltrout_108_WARMELTmiMACRO_MEXPANDOBSOLETE_CONTENT), clos) {};
6140 #endif /* ENABLE_CHECKING fromline 1666*/
6142 }; // end class MeltFrame_meltrout_108_WARMELTmiMACRO_MEXPANDOBSOLETE_CONTENT
6145 /** end of frame for meltrout_108_WARMELTmiMACRO_MEXPANDOBSOLETE_CONTENT fromline 1697**/
6147 /* end of frame for routine meltrout_108_WARMELTmiMACRO_MEXPANDOBSOLETE_CONTENT fromline 1756 */
6149 /* classy proc frame meltrout_108_WARMELTmiMACRO_MEXPANDOBSOLETE_CONTENT */
6150 MeltFrame_meltrout_108_WARMELTmiMACRO_MEXPANDOBSOLETE_CONTENT
6151 meltfram__ /*declfrastruct fromline 1780*/
6152 /*classyprocarg meltrout_108_WARMELTmiMACRO_MEXPANDOBSOLETE_CONTENT fromline 1785*/
6153 #if ENABLE_CHECKING
6154 (__FILE__, __LINE__, meltclosp_) /* fromline 1789*/
6155 #else /*ENABLE_CHECKING */
6156 (meltclosp_) /* fromline 1793*/
6157 #endif /*ENABLE_CHECKING */
6160 #define meltframe meltfram__
6162 melt_trace_start("MEXPANDOBSOLETE_CONTENT", meltcallcount);
6163 /*use arguments*/
6164 (void) meltclosp_;
6165 (void)meltfirstargp_;
6166 (void)meltxargdescr_;
6167 (void)meltxargtab_;
6168 (void)meltxresdescr_;
6169 (void)meltxrestab_;
6170 /*getargs*/
6172 /*getarg#0*/
6173 MELT_LOCATION("warmelt-macro.melt:6487:/ getarg");
6174 /*_.SEXPR__V2*/
6175 meltfptr[1] = (melt_ptr_t) meltfirstargp_;
6177 /*getarg#1*/
6178 /*^getarg*/
6179 if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_endgetargs;
6180 /*_.ENV__V3*/
6181 meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL;
6182 gcc_assert(melt_discr((melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2])) != NULL);
6185 /*getarg#2*/
6186 /*^getarg*/
6187 if (meltxargdescr_[1] != MELTBPAR_PTR) goto meltlab_endgetargs;
6188 /*_.MEXPANDER__V4*/
6189 meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL;
6190 gcc_assert(melt_discr((melt_ptr_t)(/*_.MEXPANDER__V4*/ meltfptr[3])) != NULL);
6193 /*getarg#3*/
6194 /*^getarg*/
6195 if (meltxargdescr_[2] != MELTBPAR_PTR) goto meltlab_endgetargs;
6196 /*_.MODCTX__V5*/
6197 meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL;
6198 gcc_assert(melt_discr((melt_ptr_t)(/*_.MODCTX__V5*/ meltfptr[4])) != NULL);
6201 goto meltlab_endgetargs;
6202 meltlab_endgetargs:
6204 /*body*/
6205 /*^block*/
6206 /*anyblock*/
6210 #if MELT_HAVE_DEBUG
6211 MELT_LOCATION("warmelt-macro.melt:6488:/ cppif.then");
6212 /*^block*/
6213 /*anyblock*/
6218 /*^locexp*/
6219 /*melt_increment_dbgcounter*/
6220 #if MELT_HAVE_DEBUG
6221 melt_dbgcounter++;
6222 #endif
6227 MELT_CHECK_SIGNAL();
6229 /*_#MELT_NEED_DBG__L1*/
6230 meltfnum[0] =
6231 /*MELT_NEED_DBG*/
6232 #if MELT_HAVE_DEBUG
6233 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
6234 #else
6235 0 /* no melt_need_dbg */
6236 #endif /*MELT_HAVE_DEBUG*/
6238 MELT_LOCATION("warmelt-macro.melt:6488:/ cond");
6239 /*cond*/
6240 if (/*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then*/
6242 /*^cond.then*/
6243 /*^block*/
6244 /*anyblock*/
6247 /*_#MELT_CALLCOUNT__L2*/ meltfnum[1] =
6248 /* for melt_callcount */
6249 #if MELT_HAVE_DEBUG && defined (meltcallcount)
6250 meltcallcount /* melt_callcount debugging */
6251 #else
6252 0L /* melt_callcount without debug */
6253 #endif /* MELT_HAVE_DEBUG melt_callcount */
6256 MELT_CHECK_SIGNAL();
6258 MELT_LOCATION("warmelt-macro.melt:6488:/ apply");
6259 /*apply*/
6261 union meltparam_un argtab[5];
6262 memset(&argtab, 0, sizeof(argtab));
6263 /*^apply.arg*/
6264 argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L2*/ meltfnum[1];
6265 /*^apply.arg*/
6266 argtab[1].meltbp_cstring = "warmelt-macro.melt";
6267 /*^apply.arg*/
6268 argtab[2].meltbp_long = 6488;
6269 /*^apply.arg*/
6270 argtab[3].meltbp_cstring = "mexpandobsolete_content sexpr";
6271 /*^apply.arg*/
6272 argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.SEXPR__V2*/ meltfptr[1];
6273 /*_.MELT_DEBUG_FUN__V7*/
6274 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);
6277 /*_._IF___V6*/
6278 meltfptr[5] = /*_.MELT_DEBUG_FUN__V7*/ meltfptr[6];;
6279 /*epilog*/
6281 MELT_LOCATION("warmelt-macro.melt:6488:/ clear");
6282 /*clear*/ /*_#MELT_CALLCOUNT__L2*/
6283 meltfnum[1] = 0 ;
6284 /*^clear*/
6285 /*clear*/ /*_.MELT_DEBUG_FUN__V7*/
6286 meltfptr[6] = 0 ;
6290 else /*^cond.else*/
6293 /*_._IF___V6*/ meltfptr[5] = /*reallynil*/ NULL ;;
6298 MELT_LOCATION("warmelt-macro.melt:6488:/ locexp");
6299 /*void*/
6300 (void)0;
6303 /*^quasiblock*/
6306 /*epilog*/
6308 /*^clear*/
6309 /*clear*/ /*_#MELT_NEED_DBG__L1*/
6310 meltfnum[0] = 0 ;
6311 /*^clear*/
6312 /*clear*/ /*_._IF___V6*/
6313 meltfptr[5] = 0 ;
6316 #else /*MELT_HAVE_DEBUG*/
6317 /*^cppif.else*/
6318 /*^block*/
6319 /*anyblock*/
6324 /*^locexp*/
6325 /*void*/(void)0;
6328 /*epilog*/
6331 #endif /*MELT_HAVE_DEBUG*/
6334 #if MELT_HAVE_DEBUG
6335 MELT_LOCATION("warmelt-macro.melt:6489:/ cppif.then");
6336 /*^block*/
6337 /*anyblock*/
6341 MELT_CHECK_SIGNAL();
6343 /*_#IS_A__L3*/
6344 meltfnum[1] =
6345 melt_is_instance_of((melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_SEXPR*/ meltfrout->tabval[1])));;
6346 MELT_LOCATION("warmelt-macro.melt:6489:/ cond");
6347 /*cond*/
6348 if (/*_#IS_A__L3*/ meltfnum[1]) /*then*/
6350 /*^cond.then*/
6351 /*_._IFELSE___V9*/ meltfptr[5] = (/*nil*/NULL);;
6353 else
6355 MELT_LOCATION("warmelt-macro.melt:6489:/ cond.else");
6357 /*^block*/
6358 /*anyblock*/
6362 MELT_CHECK_SIGNAL();
6364 /*^apply*/
6365 /*apply*/
6367 union meltparam_un argtab[4];
6368 memset(&argtab, 0, sizeof(argtab));
6369 /*^apply.arg*/
6370 argtab[0].meltbp_cstring = "check sexpr";
6371 /*^apply.arg*/
6372 argtab[1].meltbp_cstring = "warmelt-macro.melt";
6373 /*^apply.arg*/
6374 argtab[2].meltbp_long = 6489;
6375 /*^apply.arg*/
6376 argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.SEXPR__V2*/ meltfptr[1];
6377 /*_.MELT_ASSERT_FAILURE_FUN__V10*/
6378 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);
6381 /*_._IFELSE___V9*/
6382 meltfptr[5] = /*_.MELT_ASSERT_FAILURE_FUN__V10*/ meltfptr[9];;
6383 /*epilog*/
6385 MELT_LOCATION("warmelt-macro.melt:6489:/ clear");
6386 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V10*/
6387 meltfptr[9] = 0 ;
6392 /*_.IFCPP___V8*/
6393 meltfptr[6] = /*_._IFELSE___V9*/ meltfptr[5];;
6394 /*epilog*/
6396 MELT_LOCATION("warmelt-macro.melt:6489:/ clear");
6397 /*clear*/ /*_#IS_A__L3*/
6398 meltfnum[1] = 0 ;
6399 /*^clear*/
6400 /*clear*/ /*_._IFELSE___V9*/
6401 meltfptr[5] = 0 ;
6404 #else /*MELT_HAVE_DEBUG*/
6405 /*^cppif.else*/
6406 /*_.IFCPP___V8*/ meltfptr[6] = (/*nil*/NULL);
6407 #endif /*MELT_HAVE_DEBUG*/
6409 MELT_LOCATION("warmelt-macro.melt:6490:/ cond");
6410 /*cond*/
6411 if (
6412 /*ifisa*/ melt_is_instance_of((melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]),
6413 (melt_ptr_t)((/*!CLASS_LOCATED*/ meltfrout->tabval[3])))
6414 ) /*then*/
6416 /*^cond.then*/
6417 /*^getslot*/
6419 melt_ptr_t slot=NULL, obj=NULL;
6420 obj = (melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/;
6421 melt_object_get_field(slot,obj, 1, "LOCA_LOCATION");
6422 /*_.LOCA_LOCATION__V11*/
6423 meltfptr[9] = slot;
6427 else /*^cond.else*/
6430 /*_.LOCA_LOCATION__V11*/ meltfptr[9] = /*reallynil*/ NULL ;;
6435 MELT_LOCATION("warmelt-macro.melt:6490:/ locexp");
6436 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);
6440 MELT_CHECK_SIGNAL();
6442 MELT_LOCATION("warmelt-macro.melt:6492:/ apply");
6443 /*apply*/
6445 union meltparam_un argtab[3];
6446 memset(&argtab, 0, sizeof(argtab));
6447 /*^apply.arg*/
6448 argtab[0].meltbp_aptr = (melt_ptr_t*) &/*_.ENV__V3*/ meltfptr[2];
6449 /*^apply.arg*/
6450 argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.MEXPANDER__V4*/ meltfptr[3];
6451 /*^apply.arg*/
6452 argtab[2].meltbp_aptr = (melt_ptr_t*) &/*_.MODCTX__V5*/ meltfptr[4];
6453 /*_.MEXPAND_DEREF__V12*/
6454 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);
6458 MELT_CHECK_SIGNAL();
6460 MELT_LOCATION("warmelt-macro.melt:6487:/ quasiblock");
6463 /*_._RETVAL___V1*/
6464 meltfptr[0] = /*_.MEXPAND_DEREF__V12*/ meltfptr[5];;
6467 MELT_LOCATION("warmelt-macro.melt:6487:/ locexp");
6468 /*ochecknores compilobj_nrep_return*/
6469 #if MELT_HAVE_DEBUG
6470 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
6471 melt_warn_for_no_expected_secondary_results();
6472 /* we warned when secondary results are expected but not returned. */
6473 #endif /*MELT_HAVE_DEBUG*/
6477 /*^finalreturn*/
6479 /*finalret*/
6480 goto meltlabend_rout ;
6481 /*epilog*/
6483 /*^clear*/
6484 /*clear*/ /*_.IFCPP___V8*/
6485 meltfptr[6] = 0 ;
6486 /*^clear*/
6487 /*clear*/ /*_.LOCA_LOCATION__V11*/
6488 meltfptr[9] = 0 ;
6489 /*^clear*/
6490 /*clear*/ /*_.MEXPAND_DEREF__V12*/
6491 meltfptr[5] = 0 ;
6495 goto meltlabend_rout;
6496 meltlabend_rout:
6497 melt_trace_end("MEXPANDOBSOLETE_CONTENT", meltcallcount);
6498 melt_blocklevel_signals = current_blocklevel_signals_meltrout_108_WARMELTmiMACRO_MEXPANDOBSOLETE_CONTENT_melt;
6499 return (melt_ptr_t)(/*_._RETVAL___V1*/ meltfptr[0]);
6500 #undef meltcallcount
6501 #undef meltfram__
6502 #undef MELTFRAM_NBVARNUM
6503 #undef MELTFRAM_NBVARPTR
6504 } /*end meltrout_108_WARMELTmiMACRO_MEXPANDOBSOLETE_CONTENT*/
6511 melt_ptr_t MELT_MODULE_VISIBILITY
6512 meltrout_109_WARMELTmiMACRO_MEXPAND_SET_REF(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_,
6513 const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_)
6515 long current_blocklevel_signals_meltrout_109_WARMELTmiMACRO_MEXPAND_SET_REF_melt = melt_blocklevel_signals;
6517 #if MELT_HAVE_DEBUG
6518 static long melt_call_counter__;
6519 long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__;
6520 #undef meltcallcount
6521 #define meltcallcount melt_thiscallcounter__
6522 #else
6523 #undef meltcallcount
6524 #define meltcallcount 0L
6525 #endif
6526 //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1538
6528 /* start of frame for routine meltrout_109_WARMELTmiMACRO_MEXPAND_SET_REF fromline 1752 */
6530 /** start of frame for meltrout_109_WARMELTmiMACRO_MEXPAND_SET_REF of CLASS_PROCROUTINEOBJ from 1555**/
6532 /*curframdeclclassy*/ class MeltFrame_meltrout_109_WARMELTmiMACRO_MEXPAND_SET_REF// fromline 1568
6533 : public Melt_CallFrameWithValues<44>
6535 public: /* fromline 1572*/
6536 long mcfr_varnum[13];
6537 /*classy others*/
6538 long _meltsparel;
6539 void melt_mark_stuff (void)
6541 } /*end melt_mark_stuff*/
6542 virtual void melt_mark_ggc_data (void)
6544 melt_mark_values ();
6545 melt_mark_stuff ();
6546 }; /*end melt_mark_ggc_data*/
6547 MeltFrame_meltrout_109_WARMELTmiMACRO_MEXPAND_SET_REF(meltclosure_ptr_t clos) //the closure constructor fromline 1630
6548 : Melt_CallFrameWithValues<44> (
6549 #if ENABLE_CHECKING /*fromline 1634*/
6550 __FILE__, __LINE__,
6551 #endif /* ENABLE_CHECKING fromline 1638*/
6552 sizeof(MeltFrame_meltrout_109_WARMELTmiMACRO_MEXPAND_SET_REF), clos) {};
6553 MeltFrame_meltrout_109_WARMELTmiMACRO_MEXPAND_SET_REF() //the constructor fromline 1642
6554 : Melt_CallFrameWithValues<44> (
6555 #if ENABLE_CHECKING /*fromline 1646*/
6556 __FILE__, __LINE__,
6557 #endif /* ENABLE_CHECKING fromline 1650*/
6558 sizeof(MeltFrame_meltrout_109_WARMELTmiMACRO_MEXPAND_SET_REF)) {};
6559 #if ENABLE_CHECKING /*fromline 1654*/
6560 MeltFrame_meltrout_109_WARMELTmiMACRO_MEXPAND_SET_REF(const char*fil, int lin) //the constructor fromline 1656
6561 : Melt_CallFrameWithValues<44> (fil,lin, sizeof(MeltFrame_meltrout_109_WARMELTmiMACRO_MEXPAND_SET_REF)) {};
6562 MeltFrame_meltrout_109_WARMELTmiMACRO_MEXPAND_SET_REF(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1661
6563 : Melt_CallFrameWithValues<44> (fil,lin, sizeof(MeltFrame_meltrout_109_WARMELTmiMACRO_MEXPAND_SET_REF), clos) {};
6564 #endif /* ENABLE_CHECKING fromline 1666*/
6566 }; // end class MeltFrame_meltrout_109_WARMELTmiMACRO_MEXPAND_SET_REF
6569 /** end of frame for meltrout_109_WARMELTmiMACRO_MEXPAND_SET_REF fromline 1697**/
6571 /* end of frame for routine meltrout_109_WARMELTmiMACRO_MEXPAND_SET_REF fromline 1756 */
6573 /* classy proc frame meltrout_109_WARMELTmiMACRO_MEXPAND_SET_REF */
6574 MeltFrame_meltrout_109_WARMELTmiMACRO_MEXPAND_SET_REF
6575 meltfram__ /*declfrastruct fromline 1780*/
6576 /*classyprocarg meltrout_109_WARMELTmiMACRO_MEXPAND_SET_REF fromline 1785*/
6577 #if ENABLE_CHECKING
6578 (__FILE__, __LINE__, meltclosp_) /* fromline 1789*/
6579 #else /*ENABLE_CHECKING */
6580 (meltclosp_) /* fromline 1793*/
6581 #endif /*ENABLE_CHECKING */
6584 #define meltframe meltfram__
6586 melt_trace_start("MEXPAND_SET_REF", meltcallcount);
6587 /*use arguments*/
6588 (void) meltclosp_;
6589 (void)meltfirstargp_;
6590 (void)meltxargdescr_;
6591 (void)meltxargtab_;
6592 (void)meltxresdescr_;
6593 (void)meltxrestab_;
6594 /*getargs*/
6596 /*getarg#0*/
6597 MELT_LOCATION("warmelt-macro.melt:6509:/ getarg");
6598 /*_.SEXPR__V2*/
6599 meltfptr[1] = (melt_ptr_t) meltfirstargp_;
6601 /*getarg#1*/
6602 /*^getarg*/
6603 if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_endgetargs;
6604 /*_.ENV__V3*/
6605 meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL;
6606 gcc_assert(melt_discr((melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2])) != NULL);
6609 /*getarg#2*/
6610 /*^getarg*/
6611 if (meltxargdescr_[1] != MELTBPAR_PTR) goto meltlab_endgetargs;
6612 /*_.MEXPANDER__V4*/
6613 meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL;
6614 gcc_assert(melt_discr((melt_ptr_t)(/*_.MEXPANDER__V4*/ meltfptr[3])) != NULL);
6617 /*getarg#3*/
6618 /*^getarg*/
6619 if (meltxargdescr_[2] != MELTBPAR_PTR) goto meltlab_endgetargs;
6620 /*_.MODCTX__V5*/
6621 meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL;
6622 gcc_assert(melt_discr((melt_ptr_t)(/*_.MODCTX__V5*/ meltfptr[4])) != NULL);
6625 goto meltlab_endgetargs;
6626 meltlab_endgetargs:
6628 /*body*/
6629 /*^block*/
6630 /*anyblock*/
6634 #if MELT_HAVE_DEBUG
6635 MELT_LOCATION("warmelt-macro.melt:6510:/ cppif.then");
6636 /*^block*/
6637 /*anyblock*/
6642 /*^locexp*/
6643 /*melt_increment_dbgcounter*/
6644 #if MELT_HAVE_DEBUG
6645 melt_dbgcounter++;
6646 #endif
6651 MELT_CHECK_SIGNAL();
6653 /*_#MELT_NEED_DBG__L1*/
6654 meltfnum[0] =
6655 /*MELT_NEED_DBG*/
6656 #if MELT_HAVE_DEBUG
6657 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
6658 #else
6659 0 /* no melt_need_dbg */
6660 #endif /*MELT_HAVE_DEBUG*/
6662 MELT_LOCATION("warmelt-macro.melt:6510:/ cond");
6663 /*cond*/
6664 if (/*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then*/
6666 /*^cond.then*/
6667 /*^block*/
6668 /*anyblock*/
6671 /*_#MELT_CALLCOUNT__L2*/ meltfnum[1] =
6672 /* for melt_callcount */
6673 #if MELT_HAVE_DEBUG && defined (meltcallcount)
6674 meltcallcount /* melt_callcount debugging */
6675 #else
6676 0L /* melt_callcount without debug */
6677 #endif /* MELT_HAVE_DEBUG melt_callcount */
6680 MELT_CHECK_SIGNAL();
6682 MELT_LOCATION("warmelt-macro.melt:6510:/ apply");
6683 /*apply*/
6685 union meltparam_un argtab[5];
6686 memset(&argtab, 0, sizeof(argtab));
6687 /*^apply.arg*/
6688 argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L2*/ meltfnum[1];
6689 /*^apply.arg*/
6690 argtab[1].meltbp_cstring = "warmelt-macro.melt";
6691 /*^apply.arg*/
6692 argtab[2].meltbp_long = 6510;
6693 /*^apply.arg*/
6694 argtab[3].meltbp_cstring = "mexpand_set_ref sexpr=";
6695 /*^apply.arg*/
6696 argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.SEXPR__V2*/ meltfptr[1];
6697 /*_.MELT_DEBUG_FUN__V7*/
6698 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);
6701 /*_._IF___V6*/
6702 meltfptr[5] = /*_.MELT_DEBUG_FUN__V7*/ meltfptr[6];;
6703 /*epilog*/
6705 MELT_LOCATION("warmelt-macro.melt:6510:/ clear");
6706 /*clear*/ /*_#MELT_CALLCOUNT__L2*/
6707 meltfnum[1] = 0 ;
6708 /*^clear*/
6709 /*clear*/ /*_.MELT_DEBUG_FUN__V7*/
6710 meltfptr[6] = 0 ;
6714 else /*^cond.else*/
6717 /*_._IF___V6*/ meltfptr[5] = /*reallynil*/ NULL ;;
6722 MELT_LOCATION("warmelt-macro.melt:6510:/ locexp");
6723 /*void*/
6724 (void)0;
6727 /*^quasiblock*/
6730 /*epilog*/
6732 /*^clear*/
6733 /*clear*/ /*_#MELT_NEED_DBG__L1*/
6734 meltfnum[0] = 0 ;
6735 /*^clear*/
6736 /*clear*/ /*_._IF___V6*/
6737 meltfptr[5] = 0 ;
6740 #else /*MELT_HAVE_DEBUG*/
6741 /*^cppif.else*/
6742 /*^block*/
6743 /*anyblock*/
6748 /*^locexp*/
6749 /*void*/(void)0;
6752 /*epilog*/
6755 #endif /*MELT_HAVE_DEBUG*/
6758 #if MELT_HAVE_DEBUG
6759 MELT_LOCATION("warmelt-macro.melt:6511:/ cppif.then");
6760 /*^block*/
6761 /*anyblock*/
6765 MELT_CHECK_SIGNAL();
6767 /*_#IS_A__L3*/
6768 meltfnum[1] =
6769 melt_is_instance_of((melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_SEXPR*/ meltfrout->tabval[1])));;
6770 MELT_LOCATION("warmelt-macro.melt:6511:/ cond");
6771 /*cond*/
6772 if (/*_#IS_A__L3*/ meltfnum[1]) /*then*/
6774 /*^cond.then*/
6775 /*_._IFELSE___V9*/ meltfptr[5] = (/*nil*/NULL);;
6777 else
6779 MELT_LOCATION("warmelt-macro.melt:6511:/ cond.else");
6781 /*^block*/
6782 /*anyblock*/
6786 MELT_CHECK_SIGNAL();
6788 /*^apply*/
6789 /*apply*/
6791 union meltparam_un argtab[4];
6792 memset(&argtab, 0, sizeof(argtab));
6793 /*^apply.arg*/
6794 argtab[0].meltbp_cstring = "check sexpr";
6795 /*^apply.arg*/
6796 argtab[1].meltbp_cstring = "warmelt-macro.melt";
6797 /*^apply.arg*/
6798 argtab[2].meltbp_long = 6511;
6799 /*^apply.arg*/
6800 argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.SEXPR__V2*/ meltfptr[1];
6801 /*_.MELT_ASSERT_FAILURE_FUN__V10*/
6802 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);
6805 /*_._IFELSE___V9*/
6806 meltfptr[5] = /*_.MELT_ASSERT_FAILURE_FUN__V10*/ meltfptr[9];;
6807 /*epilog*/
6809 MELT_LOCATION("warmelt-macro.melt:6511:/ clear");
6810 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V10*/
6811 meltfptr[9] = 0 ;
6816 /*_.IFCPP___V8*/
6817 meltfptr[6] = /*_._IFELSE___V9*/ meltfptr[5];;
6818 /*epilog*/
6820 MELT_LOCATION("warmelt-macro.melt:6511:/ clear");
6821 /*clear*/ /*_#IS_A__L3*/
6822 meltfnum[1] = 0 ;
6823 /*^clear*/
6824 /*clear*/ /*_._IFELSE___V9*/
6825 meltfptr[5] = 0 ;
6828 #else /*MELT_HAVE_DEBUG*/
6829 /*^cppif.else*/
6830 /*_.IFCPP___V8*/ meltfptr[6] = (/*nil*/NULL);
6831 #endif /*MELT_HAVE_DEBUG*/
6834 #if MELT_HAVE_DEBUG
6835 MELT_LOCATION("warmelt-macro.melt:6512:/ cppif.then");
6836 /*^block*/
6837 /*anyblock*/
6841 MELT_CHECK_SIGNAL();
6843 /*_#IS_A__L4*/
6844 meltfnum[0] =
6845 melt_is_instance_of((melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2]), (melt_ptr_t)((/*!CLASS_ENVIRONMENT*/ meltfrout->tabval[3])));;
6846 MELT_LOCATION("warmelt-macro.melt:6512:/ cond");
6847 /*cond*/
6848 if (/*_#IS_A__L4*/ meltfnum[0]) /*then*/
6850 /*^cond.then*/
6851 /*_._IFELSE___V12*/ meltfptr[5] = (/*nil*/NULL);;
6853 else
6855 MELT_LOCATION("warmelt-macro.melt:6512:/ cond.else");
6857 /*^block*/
6858 /*anyblock*/
6862 MELT_CHECK_SIGNAL();
6864 /*^apply*/
6865 /*apply*/
6867 union meltparam_un argtab[4];
6868 memset(&argtab, 0, sizeof(argtab));
6869 /*^apply.arg*/
6870 argtab[0].meltbp_cstring = "check env";
6871 /*^apply.arg*/
6872 argtab[1].meltbp_cstring = "warmelt-macro.melt";
6873 /*^apply.arg*/
6874 argtab[2].meltbp_long = 6512;
6875 /*^apply.arg*/
6876 argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.ENV__V3*/ meltfptr[2];
6877 /*_.MELT_ASSERT_FAILURE_FUN__V13*/
6878 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);
6881 /*_._IFELSE___V12*/
6882 meltfptr[5] = /*_.MELT_ASSERT_FAILURE_FUN__V13*/ meltfptr[12];;
6883 /*epilog*/
6885 MELT_LOCATION("warmelt-macro.melt:6512:/ clear");
6886 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V13*/
6887 meltfptr[12] = 0 ;
6892 /*_.IFCPP___V11*/
6893 meltfptr[9] = /*_._IFELSE___V12*/ meltfptr[5];;
6894 /*epilog*/
6896 MELT_LOCATION("warmelt-macro.melt:6512:/ clear");
6897 /*clear*/ /*_#IS_A__L4*/
6898 meltfnum[0] = 0 ;
6899 /*^clear*/
6900 /*clear*/ /*_._IFELSE___V12*/
6901 meltfptr[5] = 0 ;
6904 #else /*MELT_HAVE_DEBUG*/
6905 /*^cppif.else*/
6906 /*_.IFCPP___V11*/ meltfptr[9] = (/*nil*/NULL);
6907 #endif /*MELT_HAVE_DEBUG*/
6910 #if MELT_HAVE_DEBUG
6911 MELT_LOCATION("warmelt-macro.melt:6513:/ cppif.then");
6912 /*^block*/
6913 /*anyblock*/
6917 MELT_CHECK_SIGNAL();
6919 /*_#IS_OBJECT__L5*/
6920 meltfnum[1] =
6921 (melt_magic_discr((melt_ptr_t)(/*_.MODCTX__V5*/ meltfptr[4])) == MELTOBMAG_OBJECT);;
6922 MELT_LOCATION("warmelt-macro.melt:6513:/ cond");
6923 /*cond*/
6924 if (/*_#IS_OBJECT__L5*/ meltfnum[1]) /*then*/
6926 /*^cond.then*/
6927 /*_._IFELSE___V15*/ meltfptr[5] = (/*nil*/NULL);;
6929 else
6931 MELT_LOCATION("warmelt-macro.melt:6513:/ cond.else");
6933 /*^block*/
6934 /*anyblock*/
6938 MELT_CHECK_SIGNAL();
6940 /*^apply*/
6941 /*apply*/
6943 union meltparam_un argtab[4];
6944 memset(&argtab, 0, sizeof(argtab));
6945 /*^apply.arg*/
6946 argtab[0].meltbp_cstring = "check modctx";
6947 /*^apply.arg*/
6948 argtab[1].meltbp_cstring = "warmelt-macro.melt";
6949 /*^apply.arg*/
6950 argtab[2].meltbp_long = 6513;
6951 /*^apply.arg*/
6952 argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.MODCTX__V5*/ meltfptr[4];
6953 /*_.MELT_ASSERT_FAILURE_FUN__V16*/
6954 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);
6957 /*_._IFELSE___V15*/
6958 meltfptr[5] = /*_.MELT_ASSERT_FAILURE_FUN__V16*/ meltfptr[15];;
6959 /*epilog*/
6961 MELT_LOCATION("warmelt-macro.melt:6513:/ clear");
6962 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V16*/
6963 meltfptr[15] = 0 ;
6968 /*_.IFCPP___V14*/
6969 meltfptr[12] = /*_._IFELSE___V15*/ meltfptr[5];;
6970 /*epilog*/
6972 MELT_LOCATION("warmelt-macro.melt:6513:/ clear");
6973 /*clear*/ /*_#IS_OBJECT__L5*/
6974 meltfnum[1] = 0 ;
6975 /*^clear*/
6976 /*clear*/ /*_._IFELSE___V15*/
6977 meltfptr[5] = 0 ;
6980 #else /*MELT_HAVE_DEBUG*/
6981 /*^cppif.else*/
6982 /*_.IFCPP___V14*/ meltfptr[12] = (/*nil*/NULL);
6983 #endif /*MELT_HAVE_DEBUG*/
6986 #if MELT_HAVE_DEBUG
6987 MELT_LOCATION("warmelt-macro.melt:6514:/ cppif.then");
6988 /*^block*/
6989 /*anyblock*/
6993 MELT_CHECK_SIGNAL();
6995 MELT_LOCATION("warmelt-macro.melt:6516:/ cond");
6996 /*cond*/
6997 if (
6998 /*ifisa*/ melt_is_instance_of((melt_ptr_t)((/*!CLASS_REFERENCE*/ meltfrout->tabval[4])),
6999 (melt_ptr_t)((/*!CLASS_CLASS*/ meltfrout->tabval[5])))
7000 ) /*then*/
7002 /*^cond.then*/
7003 /*^getslot*/
7005 melt_ptr_t slot=NULL, obj=NULL;
7006 obj = (melt_ptr_t)((/*!CLASS_REFERENCE*/ meltfrout->tabval[4])) /*=obj*/;
7007 melt_object_get_field(slot,obj, 6, "CLASS_FIELDS");
7008 /*_.CLASS_FIELDS__V18*/
7009 meltfptr[5] = slot;
7013 else /*^cond.else*/
7016 /*_.CLASS_FIELDS__V18*/ meltfptr[5] = /*reallynil*/ NULL ;;
7019 /*^compute*/
7020 /*_#MULTIPLE_LENGTH__L6*/
7021 meltfnum[0] =
7022 (melt_multiple_length((melt_ptr_t)(/*_.CLASS_FIELDS__V18*/ meltfptr[5])));;
7023 /*^compute*/
7024 /*_#eqeqI__L7*/
7025 meltfnum[1] =
7026 ((1) == (/*_#MULTIPLE_LENGTH__L6*/ meltfnum[0]));;
7027 MELT_LOCATION("warmelt-macro.melt:6514:/ cond");
7028 /*cond*/
7029 if (/*_#eqeqI__L7*/ meltfnum[1]) /*then*/
7031 /*^cond.then*/
7032 /*_._IFELSE___V19*/ meltfptr[18] = (/*nil*/NULL);;
7034 else
7036 MELT_LOCATION("warmelt-macro.melt:6514:/ cond.else");
7038 /*^block*/
7039 /*anyblock*/
7043 MELT_CHECK_SIGNAL();
7045 /*^apply*/
7046 /*apply*/
7048 union meltparam_un argtab[4];
7049 memset(&argtab, 0, sizeof(argtab));
7050 /*^apply.arg*/
7051 argtab[0].meltbp_cstring = "check class_reference has one field";
7052 /*^apply.arg*/
7053 argtab[1].meltbp_cstring = "warmelt-macro.melt";
7054 /*^apply.arg*/
7055 argtab[2].meltbp_long = 6514;
7056 /*^apply.arg*/
7057 argtab[3].meltbp_aptr = (melt_ptr_t*) &(/*!CLASS_REFERENCE*/ meltfrout->tabval[4]);
7058 /*_.MELT_ASSERT_FAILURE_FUN__V20*/
7059 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);
7062 /*_._IFELSE___V19*/
7063 meltfptr[18] = /*_.MELT_ASSERT_FAILURE_FUN__V20*/ meltfptr[19];;
7064 /*epilog*/
7066 MELT_LOCATION("warmelt-macro.melt:6514:/ clear");
7067 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V20*/
7068 meltfptr[19] = 0 ;
7073 /*_.IFCPP___V17*/
7074 meltfptr[15] = /*_._IFELSE___V19*/ meltfptr[18];;
7075 /*epilog*/
7077 MELT_LOCATION("warmelt-macro.melt:6514:/ clear");
7078 /*clear*/ /*_.CLASS_FIELDS__V18*/
7079 meltfptr[5] = 0 ;
7080 /*^clear*/
7081 /*clear*/ /*_#MULTIPLE_LENGTH__L6*/
7082 meltfnum[0] = 0 ;
7083 /*^clear*/
7084 /*clear*/ /*_#eqeqI__L7*/
7085 meltfnum[1] = 0 ;
7086 /*^clear*/
7087 /*clear*/ /*_._IFELSE___V19*/
7088 meltfptr[18] = 0 ;
7091 #else /*MELT_HAVE_DEBUG*/
7092 /*^cppif.else*/
7093 /*_.IFCPP___V17*/ meltfptr[15] = (/*nil*/NULL);
7094 #endif /*MELT_HAVE_DEBUG*/
7096 MELT_LOCATION("warmelt-macro.melt:6518:/ quasiblock");
7099 MELT_LOCATION("warmelt-macro.melt:6519:/ getslot");
7101 melt_ptr_t slot=NULL, obj=NULL;
7102 obj = (melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/;
7103 melt_object_get_field(slot,obj, 2, "SEXP_CONTENTS");
7104 /*_.CONT__V22*/
7105 meltfptr[5] = slot;
7108 MELT_LOCATION("warmelt-macro.melt:6520:/ getslot");
7110 melt_ptr_t slot=NULL, obj=NULL;
7111 obj = (melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/;
7112 melt_object_get_field(slot,obj, 1, "LOCA_LOCATION");
7113 /*_.LOC__V23*/
7114 meltfptr[18] = slot;
7118 MELT_CHECK_SIGNAL();
7120 MELT_LOCATION("warmelt-macro.melt:6521:/ apply");
7121 /*apply*/
7123 union meltparam_un argtab[3];
7124 memset(&argtab, 0, sizeof(argtab));
7125 /*^apply.arg*/
7126 argtab[0].meltbp_aptr = (melt_ptr_t*) &/*_.ENV__V3*/ meltfptr[2];
7127 /*^apply.arg*/
7128 argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.MEXPANDER__V4*/ meltfptr[3];
7129 /*^apply.arg*/
7130 argtab[2].meltbp_aptr = (melt_ptr_t*) &/*_.MODCTX__V5*/ meltfptr[4];
7131 /*_.XARGTUP__V24*/
7132 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);
7135 /*_#NBARG__L8*/
7136 meltfnum[0] =
7137 (melt_multiple_length((melt_ptr_t)(/*_.XARGTUP__V24*/ meltfptr[23])));;
7138 /*^compute*/
7139 /*_.ARG1__V25*/
7140 meltfptr[24] =
7141 (melt_multiple_nth((melt_ptr_t)(/*_.XARGTUP__V24*/ meltfptr[23]), (0)));;
7142 /*^compute*/
7143 /*_.ARG2__V26*/
7144 meltfptr[25] =
7145 (melt_multiple_nth((melt_ptr_t)(/*_.XARGTUP__V24*/ meltfptr[23]), (1)));;
7147 MELT_CHECK_SIGNAL();
7149 MELT_LOCATION("warmelt-macro.melt:6525:/ quasiblock");
7152 /*^rawallocobj*/
7153 /*rawallocobj*/
7155 melt_ptr_t newobj = 0;
7156 melt_raw_object_create(newobj,(melt_ptr_t)((/*!CLASS_SOURCE_FETCH_PREDEFINED*/ meltfrout->tabval[7])), (3), "CLASS_SOURCE_FETCH_PREDEFINED");
7157 /*_.INST__V28*/
7158 meltfptr[27] =
7159 newobj;
7162 /*^putslot*/
7163 /*putslot*/
7164 melt_assertmsg("checkobj putslot _ @LOCA_LOCATION", melt_magic_discr((melt_ptr_t)(/*_.INST__V28*/ meltfptr[27])) == MELTOBMAG_OBJECT);
7165 melt_putfield_object((/*_.INST__V28*/ meltfptr[27]), (1), (/*_.LOC__V23*/ meltfptr[18]), "LOCA_LOCATION");
7167 /*^putslot*/
7168 /*putslot*/
7169 melt_assertmsg("checkobj putslot _ @SFEPD_PREDEF", melt_magic_discr((melt_ptr_t)(/*_.INST__V28*/ meltfptr[27])) == MELTOBMAG_OBJECT);
7170 melt_putfield_object((/*_.INST__V28*/ meltfptr[27]), (2), ((/*!konst_8_CLASS_REFERENCE*/ meltfrout->tabval[8])), "SFEPD_PREDEF");
7172 /*^touchobj*/
7174 melt_dbgtrace_written_object (/*_.INST__V28*/ meltfptr[27], "newly made instance");
7176 /*_.SPREDCLASSCONT__V27*/
7177 meltfptr[26] = /*_.INST__V28*/ meltfptr[27];;
7179 MELT_CHECK_SIGNAL();
7181 MELT_LOCATION("warmelt-macro.melt:6528:/ apply");
7182 /*apply*/
7184 union meltparam_un argtab[1];
7185 memset(&argtab, 0, sizeof(argtab));
7186 /*^apply.arg*/
7187 argtab[0].meltbp_aptr = (melt_ptr_t*) &(/*!konst_8_CLASS_REFERENCE*/ meltfrout->tabval[8]);
7188 /*_.CLABIND__V29*/
7189 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);
7193 MELT_CHECK_SIGNAL();
7195 MELT_LOCATION("warmelt-macro.melt:6529:/ quasiblock");
7198 /*^rawallocobj*/
7199 /*rawallocobj*/
7201 melt_ptr_t newobj = 0;
7202 melt_raw_object_create(newobj,(melt_ptr_t)((/*!CLASS_SOURCE_FIELDASSIGN*/ meltfrout->tabval[11])), (4), "CLASS_SOURCE_FIELDASSIGN");
7203 /*_.INST__V31*/
7204 meltfptr[30] =
7205 newobj;
7208 /*^putslot*/
7209 /*putslot*/
7210 melt_assertmsg("checkobj putslot _ @LOCA_LOCATION", melt_magic_discr((melt_ptr_t)(/*_.INST__V31*/ meltfptr[30])) == MELTOBMAG_OBJECT);
7211 melt_putfield_object((/*_.INST__V31*/ meltfptr[30]), (1), (/*_.LOC__V23*/ meltfptr[18]), "LOCA_LOCATION");
7213 /*^putslot*/
7214 /*putslot*/
7215 melt_assertmsg("checkobj putslot _ @SFLA_FIELD", melt_magic_discr((melt_ptr_t)(/*_.INST__V31*/ meltfptr[30])) == MELTOBMAG_OBJECT);
7216 melt_putfield_object((/*_.INST__V31*/ meltfptr[30]), (2), ((/*!REFERENCED_VALUE*/ meltfrout->tabval[12])), "SFLA_FIELD");
7218 /*^putslot*/
7219 /*putslot*/
7220 melt_assertmsg("checkobj putslot _ @SFLA_EXPR", melt_magic_discr((melt_ptr_t)(/*_.INST__V31*/ meltfptr[30])) == MELTOBMAG_OBJECT);
7221 melt_putfield_object((/*_.INST__V31*/ meltfptr[30]), (3), (/*_.ARG2__V26*/ meltfptr[25]), "SFLA_EXPR");
7223 /*^touchobj*/
7225 melt_dbgtrace_written_object (/*_.INST__V31*/ meltfptr[30], "newly made instance");
7227 /*_.INST___V30*/
7228 meltfptr[29] = /*_.INST__V31*/ meltfptr[30];;
7229 MELT_LOCATION("warmelt-macro.melt:6529:/ blockmultialloc");
7230 /*multiallocblock*/
7232 struct meltletrec_1_st
7234 struct MELT_MULTIPLE_STRUCT(1) rtup_0__TUPLREC__x8;
7235 long meltletrec_1_endgap;
7236 } *meltletrec_1_ptr = 0;
7237 meltletrec_1_ptr = (struct meltletrec_1_st *) meltgc_allocate (sizeof (struct meltletrec_1_st), 0);
7238 /*^blockmultialloc.initfill*/
7239 /*inimult rtup_0__TUPLREC__x8*/
7240 /*_.TUPLREC___V33*/
7241 meltfptr[32] = (melt_ptr_t) &meltletrec_1_ptr->rtup_0__TUPLREC__x8;
7242 meltletrec_1_ptr->rtup_0__TUPLREC__x8.discr = (meltobject_ptr_t)(((melt_ptr_t)(MELT_PREDEF(DISCR_MULTIPLE))));
7243 meltletrec_1_ptr->rtup_0__TUPLREC__x8.nbval = 1;
7246 /*^putuple*/
7247 /*putupl#11*/
7248 melt_assertmsg("putupl [:6529] #11 checktup", melt_magic_discr((melt_ptr_t)(/*_.TUPLREC___V33*/ meltfptr[32]))== MELTOBMAG_MULTIPLE);
7249 melt_assertmsg("putupl [:6529] #11 checkoff", (0>=0 && 0< melt_multiple_length((melt_ptr_t)(/*_.TUPLREC___V33*/ meltfptr[32]))));
7250 ((meltmultiple_ptr_t)(/*_.TUPLREC___V33*/ meltfptr[32]))->tabval[0] = (melt_ptr_t)(/*_.INST___V30*/ meltfptr[29]);
7252 /*^touch*/
7253 meltgc_touch(/*_.TUPLREC___V33*/ meltfptr[32]);
7255 /*_.PUTUP__V32*/
7256 meltfptr[31] = /*_.TUPLREC___V33*/ meltfptr[32];;
7257 /*epilog*/
7259 MELT_LOCATION("warmelt-macro.melt:6529:/ clear");
7260 /*clear*/ /*_.TUPLREC___V33*/
7261 meltfptr[32] = 0 ;
7262 /*^clear*/
7263 /*clear*/ /*_.TUPLREC___V33*/
7264 meltfptr[32] = 0 ;
7265 } /*end multiallocblock*/
7268 MELT_CHECK_SIGNAL();
7270 MELT_LOCATION("warmelt-macro.melt:6535:/ quasiblock");
7273 /*^rawallocobj*/
7274 /*rawallocobj*/
7276 melt_ptr_t newobj = 0;
7277 melt_raw_object_create(newobj,(melt_ptr_t)((/*!CLASS_SOURCE_PUT_FIELDS*/ meltfrout->tabval[13])), (4), "CLASS_SOURCE_PUT_FIELDS");
7278 /*_.INST__V35*/
7279 meltfptr[34] =
7280 newobj;
7283 /*^putslot*/
7284 /*putslot*/
7285 melt_assertmsg("checkobj putslot _ @LOCA_LOCATION", melt_magic_discr((melt_ptr_t)(/*_.INST__V35*/ meltfptr[34])) == MELTOBMAG_OBJECT);
7286 melt_putfield_object((/*_.INST__V35*/ meltfptr[34]), (1), (/*_.LOC__V23*/ meltfptr[18]), "LOCA_LOCATION");
7288 /*^putslot*/
7289 /*putslot*/
7290 melt_assertmsg("checkobj putslot _ @SUPUT_OBJ", melt_magic_discr((melt_ptr_t)(/*_.INST__V35*/ meltfptr[34])) == MELTOBMAG_OBJECT);
7291 melt_putfield_object((/*_.INST__V35*/ meltfptr[34]), (2), (/*_.ARG1__V25*/ meltfptr[24]), "SUPUT_OBJ");
7293 /*^putslot*/
7294 /*putslot*/
7295 melt_assertmsg("checkobj putslot _ @SUPUT_FIELDS", melt_magic_discr((melt_ptr_t)(/*_.INST__V35*/ meltfptr[34])) == MELTOBMAG_OBJECT);
7296 melt_putfield_object((/*_.INST__V35*/ meltfptr[34]), (3), (/*_.PUTUP__V32*/ meltfptr[31]), "SUPUT_FIELDS");
7298 /*^touchobj*/
7300 melt_dbgtrace_written_object (/*_.INST__V35*/ meltfptr[34], "newly made instance");
7302 /*_.SPUT__V34*/
7303 meltfptr[32] = /*_.INST__V35*/ meltfptr[34];;
7305 #if MELT_HAVE_DEBUG
7306 MELT_LOCATION("warmelt-macro.melt:6541:/ cppif.then");
7307 /*^block*/
7308 /*anyblock*/
7312 MELT_CHECK_SIGNAL();
7314 /*_#IS_A__L9*/
7315 meltfnum[1] =
7316 melt_is_instance_of((melt_ptr_t)((/*!REFERENCED_VALUE*/ meltfrout->tabval[12])), (melt_ptr_t)((/*!CLASS_FIELD*/ meltfrout->tabval[14])));;
7317 MELT_LOCATION("warmelt-macro.melt:6541:/ cond");
7318 /*cond*/
7319 if (/*_#IS_A__L9*/ meltfnum[1]) /*then*/
7321 /*^cond.then*/
7322 /*_._IFELSE___V37*/ meltfptr[36] = (/*nil*/NULL);;
7324 else
7326 MELT_LOCATION("warmelt-macro.melt:6541:/ cond.else");
7328 /*^block*/
7329 /*anyblock*/
7333 MELT_CHECK_SIGNAL();
7335 /*^apply*/
7336 /*apply*/
7338 union meltparam_un argtab[4];
7339 memset(&argtab, 0, sizeof(argtab));
7340 /*^apply.arg*/
7341 argtab[0].meltbp_cstring = "check referenced_value";
7342 /*^apply.arg*/
7343 argtab[1].meltbp_cstring = "warmelt-macro.melt";
7344 /*^apply.arg*/
7345 argtab[2].meltbp_long = 6541;
7346 /*^apply.arg*/
7347 argtab[3].meltbp_aptr = (melt_ptr_t*) &(/*!REFERENCED_VALUE*/ meltfrout->tabval[12]);
7348 /*_.MELT_ASSERT_FAILURE_FUN__V38*/
7349 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);
7352 /*_._IFELSE___V37*/
7353 meltfptr[36] = /*_.MELT_ASSERT_FAILURE_FUN__V38*/ meltfptr[37];;
7354 /*epilog*/
7356 MELT_LOCATION("warmelt-macro.melt:6541:/ clear");
7357 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V38*/
7358 meltfptr[37] = 0 ;
7363 /*_.IFCPP___V36*/
7364 meltfptr[35] = /*_._IFELSE___V37*/ meltfptr[36];;
7365 /*epilog*/
7367 MELT_LOCATION("warmelt-macro.melt:6541:/ clear");
7368 /*clear*/ /*_#IS_A__L9*/
7369 meltfnum[1] = 0 ;
7370 /*^clear*/
7371 /*clear*/ /*_._IFELSE___V37*/
7372 meltfptr[36] = 0 ;
7375 #else /*MELT_HAVE_DEBUG*/
7376 /*^cppif.else*/
7377 /*_.IFCPP___V36*/ meltfptr[35] = (/*nil*/NULL);
7378 #endif /*MELT_HAVE_DEBUG*/
7381 MELT_CHECK_SIGNAL();
7383 /*^compute*/
7384 /*_#exeqI__L10*/
7385 meltfnum[1] =
7386 ((/*_#NBARG__L8*/ meltfnum[0]) != (2));;
7387 MELT_LOCATION("warmelt-macro.melt:6542:/ cond");
7388 /*cond*/
7389 if (/*_#exeqI__L10*/ meltfnum[1]) /*then*/
7391 /*^cond.then*/
7392 /*^block*/
7393 /*anyblock*/
7398 MELT_LOCATION("warmelt-macro.melt:6544:/ locexp");
7399 /* error_plain */
7400 melt_error_str((melt_ptr_t)(/*_.LOC__V23*/ meltfptr[18]), ( "(SET_REF <ref> <value>) needs exactly two arguments"), (melt_ptr_t)0);
7403 MELT_LOCATION("warmelt-macro.melt:6545:/ quasiblock");
7406 /*_._RETVAL___V1*/
7407 meltfptr[0] = /*reallynil*/ NULL ;;
7410 MELT_LOCATION("warmelt-macro.melt:6545:/ locexp");
7411 /*ochecknores compilobj_nrep_return*/
7412 #if MELT_HAVE_DEBUG
7413 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
7414 melt_warn_for_no_expected_secondary_results();
7415 /* we warned when secondary results are expected but not returned. */
7416 #endif /*MELT_HAVE_DEBUG*/
7420 /*^finalreturn*/
7422 /*finalret*/
7423 goto meltlabend_rout ;
7424 MELT_LOCATION("warmelt-macro.melt:6543:/ quasiblock");
7427 /*_.PROGN___V41*/
7428 meltfptr[40] = /*_.RETURN___V40*/ meltfptr[36];;
7429 /*^compute*/
7430 /*_._IF___V39*/
7431 meltfptr[37] = /*_.PROGN___V41*/ meltfptr[40];;
7432 /*epilog*/
7434 MELT_LOCATION("warmelt-macro.melt:6542:/ clear");
7435 /*clear*/ /*_.RETURN___V40*/
7436 meltfptr[36] = 0 ;
7437 /*^clear*/
7438 /*clear*/ /*_.PROGN___V41*/
7439 meltfptr[40] = 0 ;
7443 else /*^cond.else*/
7446 /*_._IF___V39*/ meltfptr[37] = /*reallynil*/ NULL ;;
7450 MELT_CHECK_SIGNAL();
7452 /*^compute*/
7453 /*_#NULL__L11*/
7454 meltfnum[10] =
7455 (/*null*/(/*_.CLABIND__V29*/ meltfptr[28]) == NULL);;
7456 MELT_LOCATION("warmelt-macro.melt:6548:/ cond");
7457 /*cond*/
7458 if (/*_#NULL__L11*/ meltfnum[10]) /*then*/
7460 /*^cond.then*/
7461 /*^block*/
7462 /*anyblock*/
7467 MELT_LOCATION("warmelt-macro.melt:6549:/ locexp");
7468 melt_warning_str(0, (melt_ptr_t)(/*_.LOC__V23*/ meltfptr[18]), ( "(SET_REF <ref> <value>) where CLASS_REFERENCE is not visible"), (melt_ptr_t)0);
7471 /*epilog*/
7474 } /*noelse*/
7477 #if MELT_HAVE_DEBUG
7478 MELT_LOCATION("warmelt-macro.melt:6550:/ cppif.then");
7479 /*^block*/
7480 /*anyblock*/
7485 /*^locexp*/
7486 /*melt_increment_dbgcounter*/
7487 #if MELT_HAVE_DEBUG
7488 melt_dbgcounter++;
7489 #endif
7494 MELT_CHECK_SIGNAL();
7496 /*_#MELT_NEED_DBG__L12*/
7497 meltfnum[11] =
7498 /*MELT_NEED_DBG*/
7499 #if MELT_HAVE_DEBUG
7500 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
7501 #else
7502 0 /* no melt_need_dbg */
7503 #endif /*MELT_HAVE_DEBUG*/
7505 MELT_LOCATION("warmelt-macro.melt:6550:/ cond");
7506 /*cond*/
7507 if (/*_#MELT_NEED_DBG__L12*/ meltfnum[11]) /*then*/
7509 /*^cond.then*/
7510 /*^block*/
7511 /*anyblock*/
7514 /*_#MELT_CALLCOUNT__L13*/ meltfnum[12] =
7515 /* for melt_callcount */
7516 #if MELT_HAVE_DEBUG && defined (meltcallcount)
7517 meltcallcount /* melt_callcount debugging */
7518 #else
7519 0L /* melt_callcount without debug */
7520 #endif /* MELT_HAVE_DEBUG melt_callcount */
7523 MELT_CHECK_SIGNAL();
7525 MELT_LOCATION("warmelt-macro.melt:6550:/ apply");
7526 /*apply*/
7528 union meltparam_un argtab[5];
7529 memset(&argtab, 0, sizeof(argtab));
7530 /*^apply.arg*/
7531 argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L13*/ meltfnum[12];
7532 /*^apply.arg*/
7533 argtab[1].meltbp_cstring = "warmelt-macro.melt";
7534 /*^apply.arg*/
7535 argtab[2].meltbp_long = 6550;
7536 /*^apply.arg*/
7537 argtab[3].meltbp_cstring = "mexpand_set_ref returns sput";
7538 /*^apply.arg*/
7539 argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.SPUT__V34*/ meltfptr[32];
7540 /*_.MELT_DEBUG_FUN__V43*/
7541 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);
7544 /*_._IF___V42*/
7545 meltfptr[36] = /*_.MELT_DEBUG_FUN__V43*/ meltfptr[40];;
7546 /*epilog*/
7548 MELT_LOCATION("warmelt-macro.melt:6550:/ clear");
7549 /*clear*/ /*_#MELT_CALLCOUNT__L13*/
7550 meltfnum[12] = 0 ;
7551 /*^clear*/
7552 /*clear*/ /*_.MELT_DEBUG_FUN__V43*/
7553 meltfptr[40] = 0 ;
7557 else /*^cond.else*/
7560 /*_._IF___V42*/ meltfptr[36] = /*reallynil*/ NULL ;;
7565 MELT_LOCATION("warmelt-macro.melt:6550:/ locexp");
7566 /*void*/
7567 (void)0;
7570 /*^quasiblock*/
7573 /*epilog*/
7575 /*^clear*/
7576 /*clear*/ /*_#MELT_NEED_DBG__L12*/
7577 meltfnum[11] = 0 ;
7578 /*^clear*/
7579 /*clear*/ /*_._IF___V42*/
7580 meltfptr[36] = 0 ;
7583 #else /*MELT_HAVE_DEBUG*/
7584 /*^cppif.else*/
7585 /*^block*/
7586 /*anyblock*/
7591 /*^locexp*/
7592 /*void*/(void)0;
7595 /*epilog*/
7598 #endif /*MELT_HAVE_DEBUG*/
7601 MELT_CHECK_SIGNAL();
7603 MELT_LOCATION("warmelt-macro.melt:6551:/ quasiblock");
7606 /*_._RETVAL___V1*/
7607 meltfptr[0] = /*_.SPUT__V34*/ meltfptr[32];;
7610 MELT_LOCATION("warmelt-macro.melt:6551:/ locexp");
7611 /*ochecknores compilobj_nrep_return*/
7612 #if MELT_HAVE_DEBUG
7613 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
7614 melt_warn_for_no_expected_secondary_results();
7615 /* we warned when secondary results are expected but not returned. */
7616 #endif /*MELT_HAVE_DEBUG*/
7620 /*^finalreturn*/
7622 /*finalret*/
7623 goto meltlabend_rout ;
7624 /*_.LET___V21*/
7625 meltfptr[19] = /*_.RETURN___V44*/ meltfptr[40];;
7627 MELT_LOCATION("warmelt-macro.melt:6518:/ clear");
7628 /*clear*/ /*_.CONT__V22*/
7629 meltfptr[5] = 0 ;
7630 /*^clear*/
7631 /*clear*/ /*_.LOC__V23*/
7632 meltfptr[18] = 0 ;
7633 /*^clear*/
7634 /*clear*/ /*_.XARGTUP__V24*/
7635 meltfptr[23] = 0 ;
7636 /*^clear*/
7637 /*clear*/ /*_#NBARG__L8*/
7638 meltfnum[0] = 0 ;
7639 /*^clear*/
7640 /*clear*/ /*_.ARG1__V25*/
7641 meltfptr[24] = 0 ;
7642 /*^clear*/
7643 /*clear*/ /*_.ARG2__V26*/
7644 meltfptr[25] = 0 ;
7645 /*^clear*/
7646 /*clear*/ /*_.SPREDCLASSCONT__V27*/
7647 meltfptr[26] = 0 ;
7648 /*^clear*/
7649 /*clear*/ /*_.CLABIND__V29*/
7650 meltfptr[28] = 0 ;
7651 /*^clear*/
7652 /*clear*/ /*_.INST___V30*/
7653 meltfptr[29] = 0 ;
7654 /*^clear*/
7655 /*clear*/ /*_.PUTUP__V32*/
7656 meltfptr[31] = 0 ;
7657 /*^clear*/
7658 /*clear*/ /*_.SPUT__V34*/
7659 meltfptr[32] = 0 ;
7660 /*^clear*/
7661 /*clear*/ /*_.IFCPP___V36*/
7662 meltfptr[35] = 0 ;
7663 /*^clear*/
7664 /*clear*/ /*_#exeqI__L10*/
7665 meltfnum[1] = 0 ;
7666 /*^clear*/
7667 /*clear*/ /*_._IF___V39*/
7668 meltfptr[37] = 0 ;
7669 /*^clear*/
7670 /*clear*/ /*_#NULL__L11*/
7671 meltfnum[10] = 0 ;
7672 /*^clear*/
7673 /*clear*/ /*_.RETURN___V44*/
7674 meltfptr[40] = 0 ;
7676 MELT_CHECK_SIGNAL();
7678 MELT_LOCATION("warmelt-macro.melt:6509:/ quasiblock");
7681 /*_._RETVAL___V1*/
7682 meltfptr[0] = /*_.LET___V21*/ meltfptr[19];;
7685 MELT_LOCATION("warmelt-macro.melt:6509:/ locexp");
7686 /*ochecknores compilobj_nrep_return*/
7687 #if MELT_HAVE_DEBUG
7688 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
7689 melt_warn_for_no_expected_secondary_results();
7690 /* we warned when secondary results are expected but not returned. */
7691 #endif /*MELT_HAVE_DEBUG*/
7695 /*^finalreturn*/
7697 /*finalret*/
7698 goto meltlabend_rout ;
7699 /*epilog*/
7701 /*^clear*/
7702 /*clear*/ /*_.IFCPP___V8*/
7703 meltfptr[6] = 0 ;
7704 /*^clear*/
7705 /*clear*/ /*_.IFCPP___V11*/
7706 meltfptr[9] = 0 ;
7707 /*^clear*/
7708 /*clear*/ /*_.IFCPP___V14*/
7709 meltfptr[12] = 0 ;
7710 /*^clear*/
7711 /*clear*/ /*_.IFCPP___V17*/
7712 meltfptr[15] = 0 ;
7713 /*^clear*/
7714 /*clear*/ /*_.LET___V21*/
7715 meltfptr[19] = 0 ;
7719 goto meltlabend_rout;
7720 meltlabend_rout:
7721 melt_trace_end("MEXPAND_SET_REF", meltcallcount);
7722 melt_blocklevel_signals = current_blocklevel_signals_meltrout_109_WARMELTmiMACRO_MEXPAND_SET_REF_melt;
7723 return (melt_ptr_t)(/*_._RETVAL___V1*/ meltfptr[0]);
7724 #undef meltcallcount
7725 #undef meltfram__
7726 #undef MELTFRAM_NBVARNUM
7727 #undef MELTFRAM_NBVARPTR
7728 } /*end meltrout_109_WARMELTmiMACRO_MEXPAND_SET_REF*/
7735 melt_ptr_t MELT_MODULE_VISIBILITY
7736 meltrout_110_WARMELTmiMACRO_MEXPAND_PLUS(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_,
7737 const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_)
7739 long current_blocklevel_signals_meltrout_110_WARMELTmiMACRO_MEXPAND_PLUS_melt = melt_blocklevel_signals;
7741 #if MELT_HAVE_DEBUG
7742 static long melt_call_counter__;
7743 long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__;
7744 #undef meltcallcount
7745 #define meltcallcount melt_thiscallcounter__
7746 #else
7747 #undef meltcallcount
7748 #define meltcallcount 0L
7749 #endif
7750 //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1538
7752 /* start of frame for routine meltrout_110_WARMELTmiMACRO_MEXPAND_PLUS fromline 1752 */
7754 /** start of frame for meltrout_110_WARMELTmiMACRO_MEXPAND_PLUS of CLASS_PROCROUTINEOBJ from 1555**/
7756 /*curframdeclclassy*/ class MeltFrame_meltrout_110_WARMELTmiMACRO_MEXPAND_PLUS// fromline 1568
7757 : public Melt_CallFrameWithValues<25>
7759 public: /* fromline 1572*/
7760 long mcfr_varnum[8];
7761 /*classy others*/
7762 long _meltsparel;
7763 void melt_mark_stuff (void)
7765 } /*end melt_mark_stuff*/
7766 virtual void melt_mark_ggc_data (void)
7768 melt_mark_values ();
7769 melt_mark_stuff ();
7770 }; /*end melt_mark_ggc_data*/
7771 MeltFrame_meltrout_110_WARMELTmiMACRO_MEXPAND_PLUS(meltclosure_ptr_t clos) //the closure constructor fromline 1630
7772 : Melt_CallFrameWithValues<25> (
7773 #if ENABLE_CHECKING /*fromline 1634*/
7774 __FILE__, __LINE__,
7775 #endif /* ENABLE_CHECKING fromline 1638*/
7776 sizeof(MeltFrame_meltrout_110_WARMELTmiMACRO_MEXPAND_PLUS), clos) {};
7777 MeltFrame_meltrout_110_WARMELTmiMACRO_MEXPAND_PLUS() //the constructor fromline 1642
7778 : Melt_CallFrameWithValues<25> (
7779 #if ENABLE_CHECKING /*fromline 1646*/
7780 __FILE__, __LINE__,
7781 #endif /* ENABLE_CHECKING fromline 1650*/
7782 sizeof(MeltFrame_meltrout_110_WARMELTmiMACRO_MEXPAND_PLUS)) {};
7783 #if ENABLE_CHECKING /*fromline 1654*/
7784 MeltFrame_meltrout_110_WARMELTmiMACRO_MEXPAND_PLUS(const char*fil, int lin) //the constructor fromline 1656
7785 : Melt_CallFrameWithValues<25> (fil,lin, sizeof(MeltFrame_meltrout_110_WARMELTmiMACRO_MEXPAND_PLUS)) {};
7786 MeltFrame_meltrout_110_WARMELTmiMACRO_MEXPAND_PLUS(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1661
7787 : Melt_CallFrameWithValues<25> (fil,lin, sizeof(MeltFrame_meltrout_110_WARMELTmiMACRO_MEXPAND_PLUS), clos) {};
7788 #endif /* ENABLE_CHECKING fromline 1666*/
7790 }; // end class MeltFrame_meltrout_110_WARMELTmiMACRO_MEXPAND_PLUS
7793 /** end of frame for meltrout_110_WARMELTmiMACRO_MEXPAND_PLUS fromline 1697**/
7795 /* end of frame for routine meltrout_110_WARMELTmiMACRO_MEXPAND_PLUS fromline 1756 */
7797 /* classy proc frame meltrout_110_WARMELTmiMACRO_MEXPAND_PLUS */
7798 MeltFrame_meltrout_110_WARMELTmiMACRO_MEXPAND_PLUS
7799 meltfram__ /*declfrastruct fromline 1780*/
7800 /*classyprocarg meltrout_110_WARMELTmiMACRO_MEXPAND_PLUS fromline 1785*/
7801 #if ENABLE_CHECKING
7802 (__FILE__, __LINE__, meltclosp_) /* fromline 1789*/
7803 #else /*ENABLE_CHECKING */
7804 (meltclosp_) /* fromline 1793*/
7805 #endif /*ENABLE_CHECKING */
7808 #define meltframe meltfram__
7810 melt_trace_start("MEXPAND_PLUS", meltcallcount);
7811 /*use arguments*/
7812 (void) meltclosp_;
7813 (void)meltfirstargp_;
7814 (void)meltxargdescr_;
7815 (void)meltxargtab_;
7816 (void)meltxresdescr_;
7817 (void)meltxrestab_;
7818 /*getargs*/
7820 /*getarg#0*/
7821 MELT_LOCATION("warmelt-macro.melt:6562:/ getarg");
7822 /*_.SEXPR__V2*/
7823 meltfptr[1] = (melt_ptr_t) meltfirstargp_;
7825 /*getarg#1*/
7826 /*^getarg*/
7827 if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_endgetargs;
7828 /*_.ENV__V3*/
7829 meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL;
7830 gcc_assert(melt_discr((melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2])) != NULL);
7833 /*getarg#2*/
7834 /*^getarg*/
7835 if (meltxargdescr_[1] != MELTBPAR_PTR) goto meltlab_endgetargs;
7836 /*_.MEXPANDER__V4*/
7837 meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL;
7838 gcc_assert(melt_discr((melt_ptr_t)(/*_.MEXPANDER__V4*/ meltfptr[3])) != NULL);
7841 /*getarg#3*/
7842 /*^getarg*/
7843 if (meltxargdescr_[2] != MELTBPAR_PTR) goto meltlab_endgetargs;
7844 /*_.MODCTX__V5*/
7845 meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL;
7846 gcc_assert(melt_discr((melt_ptr_t)(/*_.MODCTX__V5*/ meltfptr[4])) != NULL);
7849 goto meltlab_endgetargs;
7850 meltlab_endgetargs:
7852 /*body*/
7853 /*^block*/
7854 /*anyblock*/
7858 #if MELT_HAVE_DEBUG
7859 MELT_LOCATION("warmelt-macro.melt:6563:/ cppif.then");
7860 /*^block*/
7861 /*anyblock*/
7866 /*^locexp*/
7867 /*melt_increment_dbgcounter*/
7868 #if MELT_HAVE_DEBUG
7869 melt_dbgcounter++;
7870 #endif
7875 MELT_CHECK_SIGNAL();
7877 /*_#MELT_NEED_DBG__L1*/
7878 meltfnum[0] =
7879 /*MELT_NEED_DBG*/
7880 #if MELT_HAVE_DEBUG
7881 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
7882 #else
7883 0 /* no melt_need_dbg */
7884 #endif /*MELT_HAVE_DEBUG*/
7886 MELT_LOCATION("warmelt-macro.melt:6563:/ cond");
7887 /*cond*/
7888 if (/*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then*/
7890 /*^cond.then*/
7891 /*^block*/
7892 /*anyblock*/
7895 /*_#MELT_CALLCOUNT__L2*/ meltfnum[1] =
7896 /* for melt_callcount */
7897 #if MELT_HAVE_DEBUG && defined (meltcallcount)
7898 meltcallcount /* melt_callcount debugging */
7899 #else
7900 0L /* melt_callcount without debug */
7901 #endif /* MELT_HAVE_DEBUG melt_callcount */
7904 MELT_CHECK_SIGNAL();
7906 MELT_LOCATION("warmelt-macro.melt:6563:/ apply");
7907 /*apply*/
7909 union meltparam_un argtab[5];
7910 memset(&argtab, 0, sizeof(argtab));
7911 /*^apply.arg*/
7912 argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L2*/ meltfnum[1];
7913 /*^apply.arg*/
7914 argtab[1].meltbp_cstring = "warmelt-macro.melt";
7915 /*^apply.arg*/
7916 argtab[2].meltbp_long = 6563;
7917 /*^apply.arg*/
7918 argtab[3].meltbp_cstring = "mexpand_plus sexpr=";
7919 /*^apply.arg*/
7920 argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.SEXPR__V2*/ meltfptr[1];
7921 /*_.MELT_DEBUG_FUN__V7*/
7922 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);
7925 /*_._IF___V6*/
7926 meltfptr[5] = /*_.MELT_DEBUG_FUN__V7*/ meltfptr[6];;
7927 /*epilog*/
7929 MELT_LOCATION("warmelt-macro.melt:6563:/ clear");
7930 /*clear*/ /*_#MELT_CALLCOUNT__L2*/
7931 meltfnum[1] = 0 ;
7932 /*^clear*/
7933 /*clear*/ /*_.MELT_DEBUG_FUN__V7*/
7934 meltfptr[6] = 0 ;
7938 else /*^cond.else*/
7941 /*_._IF___V6*/ meltfptr[5] = /*reallynil*/ NULL ;;
7946 MELT_LOCATION("warmelt-macro.melt:6563:/ locexp");
7947 /*void*/
7948 (void)0;
7951 /*^quasiblock*/
7954 /*epilog*/
7956 /*^clear*/
7957 /*clear*/ /*_#MELT_NEED_DBG__L1*/
7958 meltfnum[0] = 0 ;
7959 /*^clear*/
7960 /*clear*/ /*_._IF___V6*/
7961 meltfptr[5] = 0 ;
7964 #else /*MELT_HAVE_DEBUG*/
7965 /*^cppif.else*/
7966 /*^block*/
7967 /*anyblock*/
7972 /*^locexp*/
7973 /*void*/(void)0;
7976 /*epilog*/
7979 #endif /*MELT_HAVE_DEBUG*/
7982 #if MELT_HAVE_DEBUG
7983 MELT_LOCATION("warmelt-macro.melt:6564:/ cppif.then");
7984 /*^block*/
7985 /*anyblock*/
7989 MELT_CHECK_SIGNAL();
7991 /*_#IS_A__L3*/
7992 meltfnum[1] =
7993 melt_is_instance_of((melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_SEXPR*/ meltfrout->tabval[1])));;
7994 MELT_LOCATION("warmelt-macro.melt:6564:/ cond");
7995 /*cond*/
7996 if (/*_#IS_A__L3*/ meltfnum[1]) /*then*/
7998 /*^cond.then*/
7999 /*_._IFELSE___V9*/ meltfptr[5] = (/*nil*/NULL);;
8001 else
8003 MELT_LOCATION("warmelt-macro.melt:6564:/ cond.else");
8005 /*^block*/
8006 /*anyblock*/
8010 MELT_CHECK_SIGNAL();
8012 /*^apply*/
8013 /*apply*/
8015 union meltparam_un argtab[4];
8016 memset(&argtab, 0, sizeof(argtab));
8017 /*^apply.arg*/
8018 argtab[0].meltbp_cstring = "check sexpr";
8019 /*^apply.arg*/
8020 argtab[1].meltbp_cstring = "warmelt-macro.melt";
8021 /*^apply.arg*/
8022 argtab[2].meltbp_long = 6564;
8023 /*^apply.arg*/
8024 argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.SEXPR__V2*/ meltfptr[1];
8025 /*_.MELT_ASSERT_FAILURE_FUN__V10*/
8026 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);
8029 /*_._IFELSE___V9*/
8030 meltfptr[5] = /*_.MELT_ASSERT_FAILURE_FUN__V10*/ meltfptr[9];;
8031 /*epilog*/
8033 MELT_LOCATION("warmelt-macro.melt:6564:/ clear");
8034 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V10*/
8035 meltfptr[9] = 0 ;
8040 /*_.IFCPP___V8*/
8041 meltfptr[6] = /*_._IFELSE___V9*/ meltfptr[5];;
8042 /*epilog*/
8044 MELT_LOCATION("warmelt-macro.melt:6564:/ clear");
8045 /*clear*/ /*_#IS_A__L3*/
8046 meltfnum[1] = 0 ;
8047 /*^clear*/
8048 /*clear*/ /*_._IFELSE___V9*/
8049 meltfptr[5] = 0 ;
8052 #else /*MELT_HAVE_DEBUG*/
8053 /*^cppif.else*/
8054 /*_.IFCPP___V8*/ meltfptr[6] = (/*nil*/NULL);
8055 #endif /*MELT_HAVE_DEBUG*/
8058 #if MELT_HAVE_DEBUG
8059 MELT_LOCATION("warmelt-macro.melt:6565:/ cppif.then");
8060 /*^block*/
8061 /*anyblock*/
8065 MELT_CHECK_SIGNAL();
8067 /*_#IS_A__L4*/
8068 meltfnum[0] =
8069 melt_is_instance_of((melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2]), (melt_ptr_t)((/*!CLASS_ENVIRONMENT*/ meltfrout->tabval[3])));;
8070 MELT_LOCATION("warmelt-macro.melt:6565:/ cond");
8071 /*cond*/
8072 if (/*_#IS_A__L4*/ meltfnum[0]) /*then*/
8074 /*^cond.then*/
8075 /*_._IFELSE___V12*/ meltfptr[5] = (/*nil*/NULL);;
8077 else
8079 MELT_LOCATION("warmelt-macro.melt:6565:/ cond.else");
8081 /*^block*/
8082 /*anyblock*/
8086 MELT_CHECK_SIGNAL();
8088 /*^apply*/
8089 /*apply*/
8091 union meltparam_un argtab[4];
8092 memset(&argtab, 0, sizeof(argtab));
8093 /*^apply.arg*/
8094 argtab[0].meltbp_cstring = "check env";
8095 /*^apply.arg*/
8096 argtab[1].meltbp_cstring = "warmelt-macro.melt";
8097 /*^apply.arg*/
8098 argtab[2].meltbp_long = 6565;
8099 /*^apply.arg*/
8100 argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.ENV__V3*/ meltfptr[2];
8101 /*_.MELT_ASSERT_FAILURE_FUN__V13*/
8102 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);
8105 /*_._IFELSE___V12*/
8106 meltfptr[5] = /*_.MELT_ASSERT_FAILURE_FUN__V13*/ meltfptr[12];;
8107 /*epilog*/
8109 MELT_LOCATION("warmelt-macro.melt:6565:/ clear");
8110 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V13*/
8111 meltfptr[12] = 0 ;
8116 /*_.IFCPP___V11*/
8117 meltfptr[9] = /*_._IFELSE___V12*/ meltfptr[5];;
8118 /*epilog*/
8120 MELT_LOCATION("warmelt-macro.melt:6565:/ clear");
8121 /*clear*/ /*_#IS_A__L4*/
8122 meltfnum[0] = 0 ;
8123 /*^clear*/
8124 /*clear*/ /*_._IFELSE___V12*/
8125 meltfptr[5] = 0 ;
8128 #else /*MELT_HAVE_DEBUG*/
8129 /*^cppif.else*/
8130 /*_.IFCPP___V11*/ meltfptr[9] = (/*nil*/NULL);
8131 #endif /*MELT_HAVE_DEBUG*/
8133 MELT_LOCATION("warmelt-macro.melt:6566:/ quasiblock");
8136 MELT_LOCATION("warmelt-macro.melt:6567:/ getslot");
8138 melt_ptr_t slot=NULL, obj=NULL;
8139 obj = (melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/;
8140 melt_object_get_field(slot,obj, 2, "SEXP_CONTENTS");
8141 /*_.CONT__V15*/
8142 meltfptr[5] = slot;
8145 MELT_LOCATION("warmelt-macro.melt:6568:/ getslot");
8147 melt_ptr_t slot=NULL, obj=NULL;
8148 obj = (melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/;
8149 melt_object_get_field(slot,obj, 1, "LOCA_LOCATION");
8150 /*_.LOC__V16*/
8151 meltfptr[15] = slot;
8155 MELT_CHECK_SIGNAL();
8157 MELT_LOCATION("warmelt-macro.melt:6569:/ apply");
8158 /*apply*/
8160 union meltparam_un argtab[3];
8161 memset(&argtab, 0, sizeof(argtab));
8162 /*^apply.arg*/
8163 argtab[0].meltbp_aptr = (melt_ptr_t*) &/*_.ENV__V3*/ meltfptr[2];
8164 /*^apply.arg*/
8165 argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.MEXPANDER__V4*/ meltfptr[3];
8166 /*^apply.arg*/
8167 argtab[2].meltbp_aptr = (melt_ptr_t*) &/*_.MODCTX__V5*/ meltfptr[4];
8168 /*_.XARGTUP__V17*/
8169 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);
8173 MELT_CHECK_SIGNAL();
8175 MELT_LOCATION("warmelt-macro.melt:6570:/ quasiblock");
8178 /*^rawallocobj*/
8179 /*rawallocobj*/
8181 melt_ptr_t newobj = 0;
8182 melt_raw_object_create(newobj,(melt_ptr_t)((/*!CLASS_SOURCE_ARITHMETIC_VARIADIC_OPERATION*/ meltfrout->tabval[5])), (5), "CLASS_SOURCE_ARITHMETIC_VARIADIC_OPERATION");
8183 /*_.INST__V19*/
8184 meltfptr[18] =
8185 newobj;
8188 /*^putslot*/
8189 /*putslot*/
8190 melt_assertmsg("checkobj putslot _ @LOCA_LOCATION", melt_magic_discr((melt_ptr_t)(/*_.INST__V19*/ meltfptr[18])) == MELTOBMAG_OBJECT);
8191 melt_putfield_object((/*_.INST__V19*/ meltfptr[18]), (1), (/*_.LOC__V16*/ meltfptr[15]), "LOCA_LOCATION");
8193 /*^putslot*/
8194 /*putslot*/
8195 melt_assertmsg("checkobj putslot _ @SARGOP_ARGS", melt_magic_discr((melt_ptr_t)(/*_.INST__V19*/ meltfptr[18])) == MELTOBMAG_OBJECT);
8196 melt_putfield_object((/*_.INST__V19*/ meltfptr[18]), (2), (/*_.XARGTUP__V17*/ meltfptr[16]), "SARGOP_ARGS");
8198 /*^putslot*/
8199 /*putslot*/
8200 melt_assertmsg("checkobj putslot _ @SARITHVAR_NEUTRAL", melt_magic_discr((melt_ptr_t)(/*_.INST__V19*/ meltfptr[18])) == MELTOBMAG_OBJECT);
8201 melt_putfield_object((/*_.INST__V19*/ meltfptr[18]), (3), ((/*!konst_6*/ meltfrout->tabval[6])), "SARITHVAR_NEUTRAL");
8203 /*^putslot*/
8204 /*putslot*/
8205 melt_assertmsg("checkobj putslot _ @SARITHVAR_PRIMITIVE", melt_magic_discr((melt_ptr_t)(/*_.INST__V19*/ meltfptr[18])) == MELTOBMAG_OBJECT);
8206 melt_putfield_object((/*_.INST__V19*/ meltfptr[18]), (4), ((/*!+I*/ meltfrout->tabval[7])), "SARITHVAR_PRIMITIVE");
8208 /*^touchobj*/
8210 melt_dbgtrace_written_object (/*_.INST__V19*/ meltfptr[18], "newly made instance");
8212 /*_.RES__V18*/
8213 meltfptr[17] = /*_.INST__V19*/ meltfptr[18];;
8215 MELT_CHECK_SIGNAL();
8217 /*^compute*/
8218 /*_#MULTIPLE_LENGTH__L5*/
8219 meltfnum[1] =
8220 (melt_multiple_length((melt_ptr_t)(/*_.XARGTUP__V17*/ meltfptr[16])));;
8221 /*^compute*/
8222 /*_#eqeqI__L6*/
8223 meltfnum[0] =
8224 ((0) == (/*_#MULTIPLE_LENGTH__L5*/ meltfnum[1]));;
8225 MELT_LOCATION("warmelt-macro.melt:6577:/ cond");
8226 /*cond*/
8227 if (/*_#eqeqI__L6*/ meltfnum[0]) /*then*/
8229 /*^cond.then*/
8230 /*^block*/
8231 /*anyblock*/
8236 MELT_LOCATION("warmelt-macro.melt:6578:/ locexp");
8237 /* error_plain */
8238 melt_error_str((melt_ptr_t)(/*_.LOC__V16*/ meltfptr[15]), ( "+ operator needs at least one argument"), (melt_ptr_t)0);
8241 MELT_LOCATION("warmelt-macro.melt:6579:/ quasiblock");
8244 /*_._RETVAL___V1*/
8245 meltfptr[0] = /*reallynil*/ NULL ;;
8248 MELT_LOCATION("warmelt-macro.melt:6579:/ locexp");
8249 /*ochecknores compilobj_nrep_return*/
8250 #if MELT_HAVE_DEBUG
8251 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
8252 melt_warn_for_no_expected_secondary_results();
8253 /* we warned when secondary results are expected but not returned. */
8254 #endif /*MELT_HAVE_DEBUG*/
8258 /*^finalreturn*/
8260 /*finalret*/
8261 goto meltlabend_rout ;
8262 MELT_LOCATION("warmelt-macro.melt:6577:/ quasiblock");
8265 /*_.PROGN___V22*/
8266 meltfptr[21] = /*_.RETURN___V21*/ meltfptr[20];;
8267 /*^compute*/
8268 /*_._IF___V20*/
8269 meltfptr[19] = /*_.PROGN___V22*/ meltfptr[21];;
8270 /*epilog*/
8272 MELT_LOCATION("warmelt-macro.melt:6577:/ clear");
8273 /*clear*/ /*_.RETURN___V21*/
8274 meltfptr[20] = 0 ;
8275 /*^clear*/
8276 /*clear*/ /*_.PROGN___V22*/
8277 meltfptr[21] = 0 ;
8281 else /*^cond.else*/
8284 /*_._IF___V20*/ meltfptr[19] = /*reallynil*/ NULL ;;
8288 #if MELT_HAVE_DEBUG
8289 MELT_LOCATION("warmelt-macro.melt:6580:/ cppif.then");
8290 /*^block*/
8291 /*anyblock*/
8296 /*^locexp*/
8297 /*melt_increment_dbgcounter*/
8298 #if MELT_HAVE_DEBUG
8299 melt_dbgcounter++;
8300 #endif
8305 MELT_CHECK_SIGNAL();
8307 /*_#MELT_NEED_DBG__L7*/
8308 meltfnum[6] =
8309 /*MELT_NEED_DBG*/
8310 #if MELT_HAVE_DEBUG
8311 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
8312 #else
8313 0 /* no melt_need_dbg */
8314 #endif /*MELT_HAVE_DEBUG*/
8316 MELT_LOCATION("warmelt-macro.melt:6580:/ cond");
8317 /*cond*/
8318 if (/*_#MELT_NEED_DBG__L7*/ meltfnum[6]) /*then*/
8320 /*^cond.then*/
8321 /*^block*/
8322 /*anyblock*/
8325 /*_#MELT_CALLCOUNT__L8*/ meltfnum[7] =
8326 /* for melt_callcount */
8327 #if MELT_HAVE_DEBUG && defined (meltcallcount)
8328 meltcallcount /* melt_callcount debugging */
8329 #else
8330 0L /* melt_callcount without debug */
8331 #endif /* MELT_HAVE_DEBUG melt_callcount */
8334 MELT_CHECK_SIGNAL();
8336 MELT_LOCATION("warmelt-macro.melt:6580:/ apply");
8337 /*apply*/
8339 union meltparam_un argtab[5];
8340 memset(&argtab, 0, sizeof(argtab));
8341 /*^apply.arg*/
8342 argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L8*/ meltfnum[7];
8343 /*^apply.arg*/
8344 argtab[1].meltbp_cstring = "warmelt-macro.melt";
8345 /*^apply.arg*/
8346 argtab[2].meltbp_long = 6580;
8347 /*^apply.arg*/
8348 argtab[3].meltbp_cstring = "mexpand_plus result";
8349 /*^apply.arg*/
8350 argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.RES__V18*/ meltfptr[17];
8351 /*_.MELT_DEBUG_FUN__V24*/
8352 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);
8355 /*_._IF___V23*/
8356 meltfptr[20] = /*_.MELT_DEBUG_FUN__V24*/ meltfptr[21];;
8357 /*epilog*/
8359 MELT_LOCATION("warmelt-macro.melt:6580:/ clear");
8360 /*clear*/ /*_#MELT_CALLCOUNT__L8*/
8361 meltfnum[7] = 0 ;
8362 /*^clear*/
8363 /*clear*/ /*_.MELT_DEBUG_FUN__V24*/
8364 meltfptr[21] = 0 ;
8368 else /*^cond.else*/
8371 /*_._IF___V23*/ meltfptr[20] = /*reallynil*/ NULL ;;
8376 MELT_LOCATION("warmelt-macro.melt:6580:/ locexp");
8377 /*void*/
8378 (void)0;
8381 /*^quasiblock*/
8384 /*epilog*/
8386 /*^clear*/
8387 /*clear*/ /*_#MELT_NEED_DBG__L7*/
8388 meltfnum[6] = 0 ;
8389 /*^clear*/
8390 /*clear*/ /*_._IF___V23*/
8391 meltfptr[20] = 0 ;
8394 #else /*MELT_HAVE_DEBUG*/
8395 /*^cppif.else*/
8396 /*^block*/
8397 /*anyblock*/
8402 /*^locexp*/
8403 /*void*/(void)0;
8406 /*epilog*/
8409 #endif /*MELT_HAVE_DEBUG*/
8412 MELT_CHECK_SIGNAL();
8414 MELT_LOCATION("warmelt-macro.melt:6581:/ quasiblock");
8417 /*_._RETVAL___V1*/
8418 meltfptr[0] = /*_.RES__V18*/ meltfptr[17];;
8421 MELT_LOCATION("warmelt-macro.melt:6581:/ locexp");
8422 /*ochecknores compilobj_nrep_return*/
8423 #if MELT_HAVE_DEBUG
8424 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
8425 melt_warn_for_no_expected_secondary_results();
8426 /* we warned when secondary results are expected but not returned. */
8427 #endif /*MELT_HAVE_DEBUG*/
8431 /*^finalreturn*/
8433 /*finalret*/
8434 goto meltlabend_rout ;
8435 /*_.LET___V14*/
8436 meltfptr[12] = /*_.RETURN___V25*/ meltfptr[21];;
8438 MELT_LOCATION("warmelt-macro.melt:6566:/ clear");
8439 /*clear*/ /*_.CONT__V15*/
8440 meltfptr[5] = 0 ;
8441 /*^clear*/
8442 /*clear*/ /*_.LOC__V16*/
8443 meltfptr[15] = 0 ;
8444 /*^clear*/
8445 /*clear*/ /*_.XARGTUP__V17*/
8446 meltfptr[16] = 0 ;
8447 /*^clear*/
8448 /*clear*/ /*_.RES__V18*/
8449 meltfptr[17] = 0 ;
8450 /*^clear*/
8451 /*clear*/ /*_#MULTIPLE_LENGTH__L5*/
8452 meltfnum[1] = 0 ;
8453 /*^clear*/
8454 /*clear*/ /*_#eqeqI__L6*/
8455 meltfnum[0] = 0 ;
8456 /*^clear*/
8457 /*clear*/ /*_._IF___V20*/
8458 meltfptr[19] = 0 ;
8459 /*^clear*/
8460 /*clear*/ /*_.RETURN___V25*/
8461 meltfptr[21] = 0 ;
8463 MELT_CHECK_SIGNAL();
8465 MELT_LOCATION("warmelt-macro.melt:6562:/ quasiblock");
8468 /*_._RETVAL___V1*/
8469 meltfptr[0] = /*_.LET___V14*/ meltfptr[12];;
8472 MELT_LOCATION("warmelt-macro.melt:6562:/ locexp");
8473 /*ochecknores compilobj_nrep_return*/
8474 #if MELT_HAVE_DEBUG
8475 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
8476 melt_warn_for_no_expected_secondary_results();
8477 /* we warned when secondary results are expected but not returned. */
8478 #endif /*MELT_HAVE_DEBUG*/
8482 /*^finalreturn*/
8484 /*finalret*/
8485 goto meltlabend_rout ;
8486 /*epilog*/
8488 /*^clear*/
8489 /*clear*/ /*_.IFCPP___V8*/
8490 meltfptr[6] = 0 ;
8491 /*^clear*/
8492 /*clear*/ /*_.IFCPP___V11*/
8493 meltfptr[9] = 0 ;
8494 /*^clear*/
8495 /*clear*/ /*_.LET___V14*/
8496 meltfptr[12] = 0 ;
8500 goto meltlabend_rout;
8501 meltlabend_rout:
8502 melt_trace_end("MEXPAND_PLUS", meltcallcount);
8503 melt_blocklevel_signals = current_blocklevel_signals_meltrout_110_WARMELTmiMACRO_MEXPAND_PLUS_melt;
8504 return (melt_ptr_t)(/*_._RETVAL___V1*/ meltfptr[0]);
8505 #undef meltcallcount
8506 #undef meltfram__
8507 #undef MELTFRAM_NBVARNUM
8508 #undef MELTFRAM_NBVARPTR
8509 } /*end meltrout_110_WARMELTmiMACRO_MEXPAND_PLUS*/
8516 melt_ptr_t MELT_MODULE_VISIBILITY
8517 meltrout_111_WARMELTmiMACRO_MEXPAND_MINUS(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_,
8518 const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_)
8520 long current_blocklevel_signals_meltrout_111_WARMELTmiMACRO_MEXPAND_MINUS_melt = melt_blocklevel_signals;
8522 #if MELT_HAVE_DEBUG
8523 static long melt_call_counter__;
8524 long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__;
8525 #undef meltcallcount
8526 #define meltcallcount melt_thiscallcounter__
8527 #else
8528 #undef meltcallcount
8529 #define meltcallcount 0L
8530 #endif
8531 //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1538
8533 /* start of frame for routine meltrout_111_WARMELTmiMACRO_MEXPAND_MINUS fromline 1752 */
8535 /** start of frame for meltrout_111_WARMELTmiMACRO_MEXPAND_MINUS of CLASS_PROCROUTINEOBJ from 1555**/
8537 /*curframdeclclassy*/ class MeltFrame_meltrout_111_WARMELTmiMACRO_MEXPAND_MINUS// fromline 1568
8538 : public Melt_CallFrameWithValues<25>
8540 public: /* fromline 1572*/
8541 long mcfr_varnum[8];
8542 /*classy others*/
8543 long _meltsparel;
8544 void melt_mark_stuff (void)
8546 } /*end melt_mark_stuff*/
8547 virtual void melt_mark_ggc_data (void)
8549 melt_mark_values ();
8550 melt_mark_stuff ();
8551 }; /*end melt_mark_ggc_data*/
8552 MeltFrame_meltrout_111_WARMELTmiMACRO_MEXPAND_MINUS(meltclosure_ptr_t clos) //the closure constructor fromline 1630
8553 : Melt_CallFrameWithValues<25> (
8554 #if ENABLE_CHECKING /*fromline 1634*/
8555 __FILE__, __LINE__,
8556 #endif /* ENABLE_CHECKING fromline 1638*/
8557 sizeof(MeltFrame_meltrout_111_WARMELTmiMACRO_MEXPAND_MINUS), clos) {};
8558 MeltFrame_meltrout_111_WARMELTmiMACRO_MEXPAND_MINUS() //the constructor fromline 1642
8559 : Melt_CallFrameWithValues<25> (
8560 #if ENABLE_CHECKING /*fromline 1646*/
8561 __FILE__, __LINE__,
8562 #endif /* ENABLE_CHECKING fromline 1650*/
8563 sizeof(MeltFrame_meltrout_111_WARMELTmiMACRO_MEXPAND_MINUS)) {};
8564 #if ENABLE_CHECKING /*fromline 1654*/
8565 MeltFrame_meltrout_111_WARMELTmiMACRO_MEXPAND_MINUS(const char*fil, int lin) //the constructor fromline 1656
8566 : Melt_CallFrameWithValues<25> (fil,lin, sizeof(MeltFrame_meltrout_111_WARMELTmiMACRO_MEXPAND_MINUS)) {};
8567 MeltFrame_meltrout_111_WARMELTmiMACRO_MEXPAND_MINUS(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1661
8568 : Melt_CallFrameWithValues<25> (fil,lin, sizeof(MeltFrame_meltrout_111_WARMELTmiMACRO_MEXPAND_MINUS), clos) {};
8569 #endif /* ENABLE_CHECKING fromline 1666*/
8571 }; // end class MeltFrame_meltrout_111_WARMELTmiMACRO_MEXPAND_MINUS
8574 /** end of frame for meltrout_111_WARMELTmiMACRO_MEXPAND_MINUS fromline 1697**/
8576 /* end of frame for routine meltrout_111_WARMELTmiMACRO_MEXPAND_MINUS fromline 1756 */
8578 /* classy proc frame meltrout_111_WARMELTmiMACRO_MEXPAND_MINUS */
8579 MeltFrame_meltrout_111_WARMELTmiMACRO_MEXPAND_MINUS
8580 meltfram__ /*declfrastruct fromline 1780*/
8581 /*classyprocarg meltrout_111_WARMELTmiMACRO_MEXPAND_MINUS fromline 1785*/
8582 #if ENABLE_CHECKING
8583 (__FILE__, __LINE__, meltclosp_) /* fromline 1789*/
8584 #else /*ENABLE_CHECKING */
8585 (meltclosp_) /* fromline 1793*/
8586 #endif /*ENABLE_CHECKING */
8589 #define meltframe meltfram__
8591 melt_trace_start("MEXPAND_MINUS", meltcallcount);
8592 /*use arguments*/
8593 (void) meltclosp_;
8594 (void)meltfirstargp_;
8595 (void)meltxargdescr_;
8596 (void)meltxargtab_;
8597 (void)meltxresdescr_;
8598 (void)meltxrestab_;
8599 /*getargs*/
8601 /*getarg#0*/
8602 MELT_LOCATION("warmelt-macro.melt:6591:/ getarg");
8603 /*_.SEXPR__V2*/
8604 meltfptr[1] = (melt_ptr_t) meltfirstargp_;
8606 /*getarg#1*/
8607 /*^getarg*/
8608 if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_endgetargs;
8609 /*_.ENV__V3*/
8610 meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL;
8611 gcc_assert(melt_discr((melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2])) != NULL);
8614 /*getarg#2*/
8615 /*^getarg*/
8616 if (meltxargdescr_[1] != MELTBPAR_PTR) goto meltlab_endgetargs;
8617 /*_.MEXPANDER__V4*/
8618 meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL;
8619 gcc_assert(melt_discr((melt_ptr_t)(/*_.MEXPANDER__V4*/ meltfptr[3])) != NULL);
8622 /*getarg#3*/
8623 /*^getarg*/
8624 if (meltxargdescr_[2] != MELTBPAR_PTR) goto meltlab_endgetargs;
8625 /*_.MODCTX__V5*/
8626 meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL;
8627 gcc_assert(melt_discr((melt_ptr_t)(/*_.MODCTX__V5*/ meltfptr[4])) != NULL);
8630 goto meltlab_endgetargs;
8631 meltlab_endgetargs:
8633 /*body*/
8634 /*^block*/
8635 /*anyblock*/
8639 #if MELT_HAVE_DEBUG
8640 MELT_LOCATION("warmelt-macro.melt:6592:/ cppif.then");
8641 /*^block*/
8642 /*anyblock*/
8647 /*^locexp*/
8648 /*melt_increment_dbgcounter*/
8649 #if MELT_HAVE_DEBUG
8650 melt_dbgcounter++;
8651 #endif
8656 MELT_CHECK_SIGNAL();
8658 /*_#MELT_NEED_DBG__L1*/
8659 meltfnum[0] =
8660 /*MELT_NEED_DBG*/
8661 #if MELT_HAVE_DEBUG
8662 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
8663 #else
8664 0 /* no melt_need_dbg */
8665 #endif /*MELT_HAVE_DEBUG*/
8667 MELT_LOCATION("warmelt-macro.melt:6592:/ cond");
8668 /*cond*/
8669 if (/*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then*/
8671 /*^cond.then*/
8672 /*^block*/
8673 /*anyblock*/
8676 /*_#MELT_CALLCOUNT__L2*/ meltfnum[1] =
8677 /* for melt_callcount */
8678 #if MELT_HAVE_DEBUG && defined (meltcallcount)
8679 meltcallcount /* melt_callcount debugging */
8680 #else
8681 0L /* melt_callcount without debug */
8682 #endif /* MELT_HAVE_DEBUG melt_callcount */
8685 MELT_CHECK_SIGNAL();
8687 MELT_LOCATION("warmelt-macro.melt:6592:/ apply");
8688 /*apply*/
8690 union meltparam_un argtab[5];
8691 memset(&argtab, 0, sizeof(argtab));
8692 /*^apply.arg*/
8693 argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L2*/ meltfnum[1];
8694 /*^apply.arg*/
8695 argtab[1].meltbp_cstring = "warmelt-macro.melt";
8696 /*^apply.arg*/
8697 argtab[2].meltbp_long = 6592;
8698 /*^apply.arg*/
8699 argtab[3].meltbp_cstring = "mexpand_minus sexpr=";
8700 /*^apply.arg*/
8701 argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.SEXPR__V2*/ meltfptr[1];
8702 /*_.MELT_DEBUG_FUN__V7*/
8703 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);
8706 /*_._IF___V6*/
8707 meltfptr[5] = /*_.MELT_DEBUG_FUN__V7*/ meltfptr[6];;
8708 /*epilog*/
8710 MELT_LOCATION("warmelt-macro.melt:6592:/ clear");
8711 /*clear*/ /*_#MELT_CALLCOUNT__L2*/
8712 meltfnum[1] = 0 ;
8713 /*^clear*/
8714 /*clear*/ /*_.MELT_DEBUG_FUN__V7*/
8715 meltfptr[6] = 0 ;
8719 else /*^cond.else*/
8722 /*_._IF___V6*/ meltfptr[5] = /*reallynil*/ NULL ;;
8727 MELT_LOCATION("warmelt-macro.melt:6592:/ locexp");
8728 /*void*/
8729 (void)0;
8732 /*^quasiblock*/
8735 /*epilog*/
8737 /*^clear*/
8738 /*clear*/ /*_#MELT_NEED_DBG__L1*/
8739 meltfnum[0] = 0 ;
8740 /*^clear*/
8741 /*clear*/ /*_._IF___V6*/
8742 meltfptr[5] = 0 ;
8745 #else /*MELT_HAVE_DEBUG*/
8746 /*^cppif.else*/
8747 /*^block*/
8748 /*anyblock*/
8753 /*^locexp*/
8754 /*void*/(void)0;
8757 /*epilog*/
8760 #endif /*MELT_HAVE_DEBUG*/
8763 #if MELT_HAVE_DEBUG
8764 MELT_LOCATION("warmelt-macro.melt:6593:/ cppif.then");
8765 /*^block*/
8766 /*anyblock*/
8770 MELT_CHECK_SIGNAL();
8772 /*_#IS_A__L3*/
8773 meltfnum[1] =
8774 melt_is_instance_of((melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_SEXPR*/ meltfrout->tabval[1])));;
8775 MELT_LOCATION("warmelt-macro.melt:6593:/ cond");
8776 /*cond*/
8777 if (/*_#IS_A__L3*/ meltfnum[1]) /*then*/
8779 /*^cond.then*/
8780 /*_._IFELSE___V9*/ meltfptr[5] = (/*nil*/NULL);;
8782 else
8784 MELT_LOCATION("warmelt-macro.melt:6593:/ cond.else");
8786 /*^block*/
8787 /*anyblock*/
8791 MELT_CHECK_SIGNAL();
8793 /*^apply*/
8794 /*apply*/
8796 union meltparam_un argtab[4];
8797 memset(&argtab, 0, sizeof(argtab));
8798 /*^apply.arg*/
8799 argtab[0].meltbp_cstring = "check sexpr";
8800 /*^apply.arg*/
8801 argtab[1].meltbp_cstring = "warmelt-macro.melt";
8802 /*^apply.arg*/
8803 argtab[2].meltbp_long = 6593;
8804 /*^apply.arg*/
8805 argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.SEXPR__V2*/ meltfptr[1];
8806 /*_.MELT_ASSERT_FAILURE_FUN__V10*/
8807 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);
8810 /*_._IFELSE___V9*/
8811 meltfptr[5] = /*_.MELT_ASSERT_FAILURE_FUN__V10*/ meltfptr[9];;
8812 /*epilog*/
8814 MELT_LOCATION("warmelt-macro.melt:6593:/ clear");
8815 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V10*/
8816 meltfptr[9] = 0 ;
8821 /*_.IFCPP___V8*/
8822 meltfptr[6] = /*_._IFELSE___V9*/ meltfptr[5];;
8823 /*epilog*/
8825 MELT_LOCATION("warmelt-macro.melt:6593:/ clear");
8826 /*clear*/ /*_#IS_A__L3*/
8827 meltfnum[1] = 0 ;
8828 /*^clear*/
8829 /*clear*/ /*_._IFELSE___V9*/
8830 meltfptr[5] = 0 ;
8833 #else /*MELT_HAVE_DEBUG*/
8834 /*^cppif.else*/
8835 /*_.IFCPP___V8*/ meltfptr[6] = (/*nil*/NULL);
8836 #endif /*MELT_HAVE_DEBUG*/
8839 #if MELT_HAVE_DEBUG
8840 MELT_LOCATION("warmelt-macro.melt:6594:/ cppif.then");
8841 /*^block*/
8842 /*anyblock*/
8846 MELT_CHECK_SIGNAL();
8848 /*_#IS_A__L4*/
8849 meltfnum[0] =
8850 melt_is_instance_of((melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2]), (melt_ptr_t)((/*!CLASS_ENVIRONMENT*/ meltfrout->tabval[3])));;
8851 MELT_LOCATION("warmelt-macro.melt:6594:/ cond");
8852 /*cond*/
8853 if (/*_#IS_A__L4*/ meltfnum[0]) /*then*/
8855 /*^cond.then*/
8856 /*_._IFELSE___V12*/ meltfptr[5] = (/*nil*/NULL);;
8858 else
8860 MELT_LOCATION("warmelt-macro.melt:6594:/ cond.else");
8862 /*^block*/
8863 /*anyblock*/
8867 MELT_CHECK_SIGNAL();
8869 /*^apply*/
8870 /*apply*/
8872 union meltparam_un argtab[4];
8873 memset(&argtab, 0, sizeof(argtab));
8874 /*^apply.arg*/
8875 argtab[0].meltbp_cstring = "check env";
8876 /*^apply.arg*/
8877 argtab[1].meltbp_cstring = "warmelt-macro.melt";
8878 /*^apply.arg*/
8879 argtab[2].meltbp_long = 6594;
8880 /*^apply.arg*/
8881 argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.ENV__V3*/ meltfptr[2];
8882 /*_.MELT_ASSERT_FAILURE_FUN__V13*/
8883 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);
8886 /*_._IFELSE___V12*/
8887 meltfptr[5] = /*_.MELT_ASSERT_FAILURE_FUN__V13*/ meltfptr[12];;
8888 /*epilog*/
8890 MELT_LOCATION("warmelt-macro.melt:6594:/ clear");
8891 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V13*/
8892 meltfptr[12] = 0 ;
8897 /*_.IFCPP___V11*/
8898 meltfptr[9] = /*_._IFELSE___V12*/ meltfptr[5];;
8899 /*epilog*/
8901 MELT_LOCATION("warmelt-macro.melt:6594:/ clear");
8902 /*clear*/ /*_#IS_A__L4*/
8903 meltfnum[0] = 0 ;
8904 /*^clear*/
8905 /*clear*/ /*_._IFELSE___V12*/
8906 meltfptr[5] = 0 ;
8909 #else /*MELT_HAVE_DEBUG*/
8910 /*^cppif.else*/
8911 /*_.IFCPP___V11*/ meltfptr[9] = (/*nil*/NULL);
8912 #endif /*MELT_HAVE_DEBUG*/
8914 MELT_LOCATION("warmelt-macro.melt:6595:/ quasiblock");
8917 MELT_LOCATION("warmelt-macro.melt:6596:/ getslot");
8919 melt_ptr_t slot=NULL, obj=NULL;
8920 obj = (melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/;
8921 melt_object_get_field(slot,obj, 2, "SEXP_CONTENTS");
8922 /*_.CONT__V15*/
8923 meltfptr[5] = slot;
8926 MELT_LOCATION("warmelt-macro.melt:6597:/ getslot");
8928 melt_ptr_t slot=NULL, obj=NULL;
8929 obj = (melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/;
8930 melt_object_get_field(slot,obj, 1, "LOCA_LOCATION");
8931 /*_.LOC__V16*/
8932 meltfptr[15] = slot;
8936 MELT_CHECK_SIGNAL();
8938 MELT_LOCATION("warmelt-macro.melt:6598:/ apply");
8939 /*apply*/
8941 union meltparam_un argtab[3];
8942 memset(&argtab, 0, sizeof(argtab));
8943 /*^apply.arg*/
8944 argtab[0].meltbp_aptr = (melt_ptr_t*) &/*_.ENV__V3*/ meltfptr[2];
8945 /*^apply.arg*/
8946 argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.MEXPANDER__V4*/ meltfptr[3];
8947 /*^apply.arg*/
8948 argtab[2].meltbp_aptr = (melt_ptr_t*) &/*_.MODCTX__V5*/ meltfptr[4];
8949 /*_.XARGTUP__V17*/
8950 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);
8954 MELT_CHECK_SIGNAL();
8956 MELT_LOCATION("warmelt-macro.melt:6599:/ quasiblock");
8959 /*^rawallocobj*/
8960 /*rawallocobj*/
8962 melt_ptr_t newobj = 0;
8963 melt_raw_object_create(newobj,(melt_ptr_t)((/*!CLASS_SOURCE_ARITHMETIC_VARIADIC_OPERATION*/ meltfrout->tabval[5])), (5), "CLASS_SOURCE_ARITHMETIC_VARIADIC_OPERATION");
8964 /*_.INST__V19*/
8965 meltfptr[18] =
8966 newobj;
8969 /*^putslot*/
8970 /*putslot*/
8971 melt_assertmsg("checkobj putslot _ @LOCA_LOCATION", melt_magic_discr((melt_ptr_t)(/*_.INST__V19*/ meltfptr[18])) == MELTOBMAG_OBJECT);
8972 melt_putfield_object((/*_.INST__V19*/ meltfptr[18]), (1), (/*_.LOC__V16*/ meltfptr[15]), "LOCA_LOCATION");
8974 /*^putslot*/
8975 /*putslot*/
8976 melt_assertmsg("checkobj putslot _ @SARGOP_ARGS", melt_magic_discr((melt_ptr_t)(/*_.INST__V19*/ meltfptr[18])) == MELTOBMAG_OBJECT);
8977 melt_putfield_object((/*_.INST__V19*/ meltfptr[18]), (2), (/*_.XARGTUP__V17*/ meltfptr[16]), "SARGOP_ARGS");
8979 /*^putslot*/
8980 /*putslot*/
8981 melt_assertmsg("checkobj putslot _ @SARITHVAR_NEUTRAL", melt_magic_discr((melt_ptr_t)(/*_.INST__V19*/ meltfptr[18])) == MELTOBMAG_OBJECT);
8982 melt_putfield_object((/*_.INST__V19*/ meltfptr[18]), (3), ((/*!konst_6*/ meltfrout->tabval[6])), "SARITHVAR_NEUTRAL");
8984 /*^putslot*/
8985 /*putslot*/
8986 melt_assertmsg("checkobj putslot _ @SARITHVAR_PRIMITIVE", melt_magic_discr((melt_ptr_t)(/*_.INST__V19*/ meltfptr[18])) == MELTOBMAG_OBJECT);
8987 melt_putfield_object((/*_.INST__V19*/ meltfptr[18]), (4), ((/*!-I*/ meltfrout->tabval[7])), "SARITHVAR_PRIMITIVE");
8989 /*^touchobj*/
8991 melt_dbgtrace_written_object (/*_.INST__V19*/ meltfptr[18], "newly made instance");
8993 /*_.RES__V18*/
8994 meltfptr[17] = /*_.INST__V19*/ meltfptr[18];;
8996 MELT_CHECK_SIGNAL();
8998 /*^compute*/
8999 /*_#MULTIPLE_LENGTH__L5*/
9000 meltfnum[1] =
9001 (melt_multiple_length((melt_ptr_t)(/*_.XARGTUP__V17*/ meltfptr[16])));;
9002 /*^compute*/
9003 /*_#eqeqI__L6*/
9004 meltfnum[0] =
9005 ((0) == (/*_#MULTIPLE_LENGTH__L5*/ meltfnum[1]));;
9006 MELT_LOCATION("warmelt-macro.melt:6606:/ cond");
9007 /*cond*/
9008 if (/*_#eqeqI__L6*/ meltfnum[0]) /*then*/
9010 /*^cond.then*/
9011 /*^block*/
9012 /*anyblock*/
9017 MELT_LOCATION("warmelt-macro.melt:6607:/ locexp");
9018 /* error_plain */
9019 melt_error_str((melt_ptr_t)(/*_.LOC__V16*/ meltfptr[15]), ( "- operator needs at least one argument"), (melt_ptr_t)0);
9022 MELT_LOCATION("warmelt-macro.melt:6608:/ quasiblock");
9025 /*_._RETVAL___V1*/
9026 meltfptr[0] = /*reallynil*/ NULL ;;
9029 MELT_LOCATION("warmelt-macro.melt:6608:/ locexp");
9030 /*ochecknores compilobj_nrep_return*/
9031 #if MELT_HAVE_DEBUG
9032 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
9033 melt_warn_for_no_expected_secondary_results();
9034 /* we warned when secondary results are expected but not returned. */
9035 #endif /*MELT_HAVE_DEBUG*/
9039 /*^finalreturn*/
9041 /*finalret*/
9042 goto meltlabend_rout ;
9043 MELT_LOCATION("warmelt-macro.melt:6606:/ quasiblock");
9046 /*_.PROGN___V22*/
9047 meltfptr[21] = /*_.RETURN___V21*/ meltfptr[20];;
9048 /*^compute*/
9049 /*_._IF___V20*/
9050 meltfptr[19] = /*_.PROGN___V22*/ meltfptr[21];;
9051 /*epilog*/
9053 MELT_LOCATION("warmelt-macro.melt:6606:/ clear");
9054 /*clear*/ /*_.RETURN___V21*/
9055 meltfptr[20] = 0 ;
9056 /*^clear*/
9057 /*clear*/ /*_.PROGN___V22*/
9058 meltfptr[21] = 0 ;
9062 else /*^cond.else*/
9065 /*_._IF___V20*/ meltfptr[19] = /*reallynil*/ NULL ;;
9069 #if MELT_HAVE_DEBUG
9070 MELT_LOCATION("warmelt-macro.melt:6609:/ cppif.then");
9071 /*^block*/
9072 /*anyblock*/
9077 /*^locexp*/
9078 /*melt_increment_dbgcounter*/
9079 #if MELT_HAVE_DEBUG
9080 melt_dbgcounter++;
9081 #endif
9086 MELT_CHECK_SIGNAL();
9088 /*_#MELT_NEED_DBG__L7*/
9089 meltfnum[6] =
9090 /*MELT_NEED_DBG*/
9091 #if MELT_HAVE_DEBUG
9092 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
9093 #else
9094 0 /* no melt_need_dbg */
9095 #endif /*MELT_HAVE_DEBUG*/
9097 MELT_LOCATION("warmelt-macro.melt:6609:/ cond");
9098 /*cond*/
9099 if (/*_#MELT_NEED_DBG__L7*/ meltfnum[6]) /*then*/
9101 /*^cond.then*/
9102 /*^block*/
9103 /*anyblock*/
9106 /*_#MELT_CALLCOUNT__L8*/ meltfnum[7] =
9107 /* for melt_callcount */
9108 #if MELT_HAVE_DEBUG && defined (meltcallcount)
9109 meltcallcount /* melt_callcount debugging */
9110 #else
9111 0L /* melt_callcount without debug */
9112 #endif /* MELT_HAVE_DEBUG melt_callcount */
9115 MELT_CHECK_SIGNAL();
9117 MELT_LOCATION("warmelt-macro.melt:6609:/ apply");
9118 /*apply*/
9120 union meltparam_un argtab[5];
9121 memset(&argtab, 0, sizeof(argtab));
9122 /*^apply.arg*/
9123 argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L8*/ meltfnum[7];
9124 /*^apply.arg*/
9125 argtab[1].meltbp_cstring = "warmelt-macro.melt";
9126 /*^apply.arg*/
9127 argtab[2].meltbp_long = 6609;
9128 /*^apply.arg*/
9129 argtab[3].meltbp_cstring = "mexpand_minus result";
9130 /*^apply.arg*/
9131 argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.RES__V18*/ meltfptr[17];
9132 /*_.MELT_DEBUG_FUN__V24*/
9133 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);
9136 /*_._IF___V23*/
9137 meltfptr[20] = /*_.MELT_DEBUG_FUN__V24*/ meltfptr[21];;
9138 /*epilog*/
9140 MELT_LOCATION("warmelt-macro.melt:6609:/ clear");
9141 /*clear*/ /*_#MELT_CALLCOUNT__L8*/
9142 meltfnum[7] = 0 ;
9143 /*^clear*/
9144 /*clear*/ /*_.MELT_DEBUG_FUN__V24*/
9145 meltfptr[21] = 0 ;
9149 else /*^cond.else*/
9152 /*_._IF___V23*/ meltfptr[20] = /*reallynil*/ NULL ;;
9157 MELT_LOCATION("warmelt-macro.melt:6609:/ locexp");
9158 /*void*/
9159 (void)0;
9162 /*^quasiblock*/
9165 /*epilog*/
9167 /*^clear*/
9168 /*clear*/ /*_#MELT_NEED_DBG__L7*/
9169 meltfnum[6] = 0 ;
9170 /*^clear*/
9171 /*clear*/ /*_._IF___V23*/
9172 meltfptr[20] = 0 ;
9175 #else /*MELT_HAVE_DEBUG*/
9176 /*^cppif.else*/
9177 /*^block*/
9178 /*anyblock*/
9183 /*^locexp*/
9184 /*void*/(void)0;
9187 /*epilog*/
9190 #endif /*MELT_HAVE_DEBUG*/
9193 MELT_CHECK_SIGNAL();
9195 MELT_LOCATION("warmelt-macro.melt:6610:/ quasiblock");
9198 /*_._RETVAL___V1*/
9199 meltfptr[0] = /*_.RES__V18*/ meltfptr[17];;
9202 MELT_LOCATION("warmelt-macro.melt:6610:/ locexp");
9203 /*ochecknores compilobj_nrep_return*/
9204 #if MELT_HAVE_DEBUG
9205 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
9206 melt_warn_for_no_expected_secondary_results();
9207 /* we warned when secondary results are expected but not returned. */
9208 #endif /*MELT_HAVE_DEBUG*/
9212 /*^finalreturn*/
9214 /*finalret*/
9215 goto meltlabend_rout ;
9216 /*_.LET___V14*/
9217 meltfptr[12] = /*_.RETURN___V25*/ meltfptr[21];;
9219 MELT_LOCATION("warmelt-macro.melt:6595:/ clear");
9220 /*clear*/ /*_.CONT__V15*/
9221 meltfptr[5] = 0 ;
9222 /*^clear*/
9223 /*clear*/ /*_.LOC__V16*/
9224 meltfptr[15] = 0 ;
9225 /*^clear*/
9226 /*clear*/ /*_.XARGTUP__V17*/
9227 meltfptr[16] = 0 ;
9228 /*^clear*/
9229 /*clear*/ /*_.RES__V18*/
9230 meltfptr[17] = 0 ;
9231 /*^clear*/
9232 /*clear*/ /*_#MULTIPLE_LENGTH__L5*/
9233 meltfnum[1] = 0 ;
9234 /*^clear*/
9235 /*clear*/ /*_#eqeqI__L6*/
9236 meltfnum[0] = 0 ;
9237 /*^clear*/
9238 /*clear*/ /*_._IF___V20*/
9239 meltfptr[19] = 0 ;
9240 /*^clear*/
9241 /*clear*/ /*_.RETURN___V25*/
9242 meltfptr[21] = 0 ;
9244 MELT_CHECK_SIGNAL();
9246 MELT_LOCATION("warmelt-macro.melt:6591:/ quasiblock");
9249 /*_._RETVAL___V1*/
9250 meltfptr[0] = /*_.LET___V14*/ meltfptr[12];;
9253 MELT_LOCATION("warmelt-macro.melt:6591:/ locexp");
9254 /*ochecknores compilobj_nrep_return*/
9255 #if MELT_HAVE_DEBUG
9256 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
9257 melt_warn_for_no_expected_secondary_results();
9258 /* we warned when secondary results are expected but not returned. */
9259 #endif /*MELT_HAVE_DEBUG*/
9263 /*^finalreturn*/
9265 /*finalret*/
9266 goto meltlabend_rout ;
9267 /*epilog*/
9269 /*^clear*/
9270 /*clear*/ /*_.IFCPP___V8*/
9271 meltfptr[6] = 0 ;
9272 /*^clear*/
9273 /*clear*/ /*_.IFCPP___V11*/
9274 meltfptr[9] = 0 ;
9275 /*^clear*/
9276 /*clear*/ /*_.LET___V14*/
9277 meltfptr[12] = 0 ;
9281 goto meltlabend_rout;
9282 meltlabend_rout:
9283 melt_trace_end("MEXPAND_MINUS", meltcallcount);
9284 melt_blocklevel_signals = current_blocklevel_signals_meltrout_111_WARMELTmiMACRO_MEXPAND_MINUS_melt;
9285 return (melt_ptr_t)(/*_._RETVAL___V1*/ meltfptr[0]);
9286 #undef meltcallcount
9287 #undef meltfram__
9288 #undef MELTFRAM_NBVARNUM
9289 #undef MELTFRAM_NBVARPTR
9290 } /*end meltrout_111_WARMELTmiMACRO_MEXPAND_MINUS*/
9297 melt_ptr_t MELT_MODULE_VISIBILITY
9298 meltrout_112_WARMELTmiMACRO_MEXPAND_TIMES(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_,
9299 const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_)
9301 long current_blocklevel_signals_meltrout_112_WARMELTmiMACRO_MEXPAND_TIMES_melt = melt_blocklevel_signals;
9303 #if MELT_HAVE_DEBUG
9304 static long melt_call_counter__;
9305 long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__;
9306 #undef meltcallcount
9307 #define meltcallcount melt_thiscallcounter__
9308 #else
9309 #undef meltcallcount
9310 #define meltcallcount 0L
9311 #endif
9312 //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1538
9314 /* start of frame for routine meltrout_112_WARMELTmiMACRO_MEXPAND_TIMES fromline 1752 */
9316 /** start of frame for meltrout_112_WARMELTmiMACRO_MEXPAND_TIMES of CLASS_PROCROUTINEOBJ from 1555**/
9318 /*curframdeclclassy*/ class MeltFrame_meltrout_112_WARMELTmiMACRO_MEXPAND_TIMES// fromline 1568
9319 : public Melt_CallFrameWithValues<25>
9321 public: /* fromline 1572*/
9322 long mcfr_varnum[8];
9323 /*classy others*/
9324 long _meltsparel;
9325 void melt_mark_stuff (void)
9327 } /*end melt_mark_stuff*/
9328 virtual void melt_mark_ggc_data (void)
9330 melt_mark_values ();
9331 melt_mark_stuff ();
9332 }; /*end melt_mark_ggc_data*/
9333 MeltFrame_meltrout_112_WARMELTmiMACRO_MEXPAND_TIMES(meltclosure_ptr_t clos) //the closure constructor fromline 1630
9334 : Melt_CallFrameWithValues<25> (
9335 #if ENABLE_CHECKING /*fromline 1634*/
9336 __FILE__, __LINE__,
9337 #endif /* ENABLE_CHECKING fromline 1638*/
9338 sizeof(MeltFrame_meltrout_112_WARMELTmiMACRO_MEXPAND_TIMES), clos) {};
9339 MeltFrame_meltrout_112_WARMELTmiMACRO_MEXPAND_TIMES() //the constructor fromline 1642
9340 : Melt_CallFrameWithValues<25> (
9341 #if ENABLE_CHECKING /*fromline 1646*/
9342 __FILE__, __LINE__,
9343 #endif /* ENABLE_CHECKING fromline 1650*/
9344 sizeof(MeltFrame_meltrout_112_WARMELTmiMACRO_MEXPAND_TIMES)) {};
9345 #if ENABLE_CHECKING /*fromline 1654*/
9346 MeltFrame_meltrout_112_WARMELTmiMACRO_MEXPAND_TIMES(const char*fil, int lin) //the constructor fromline 1656
9347 : Melt_CallFrameWithValues<25> (fil,lin, sizeof(MeltFrame_meltrout_112_WARMELTmiMACRO_MEXPAND_TIMES)) {};
9348 MeltFrame_meltrout_112_WARMELTmiMACRO_MEXPAND_TIMES(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1661
9349 : Melt_CallFrameWithValues<25> (fil,lin, sizeof(MeltFrame_meltrout_112_WARMELTmiMACRO_MEXPAND_TIMES), clos) {};
9350 #endif /* ENABLE_CHECKING fromline 1666*/
9352 }; // end class MeltFrame_meltrout_112_WARMELTmiMACRO_MEXPAND_TIMES
9355 /** end of frame for meltrout_112_WARMELTmiMACRO_MEXPAND_TIMES fromline 1697**/
9357 /* end of frame for routine meltrout_112_WARMELTmiMACRO_MEXPAND_TIMES fromline 1756 */
9359 /* classy proc frame meltrout_112_WARMELTmiMACRO_MEXPAND_TIMES */
9360 MeltFrame_meltrout_112_WARMELTmiMACRO_MEXPAND_TIMES
9361 meltfram__ /*declfrastruct fromline 1780*/
9362 /*classyprocarg meltrout_112_WARMELTmiMACRO_MEXPAND_TIMES fromline 1785*/
9363 #if ENABLE_CHECKING
9364 (__FILE__, __LINE__, meltclosp_) /* fromline 1789*/
9365 #else /*ENABLE_CHECKING */
9366 (meltclosp_) /* fromline 1793*/
9367 #endif /*ENABLE_CHECKING */
9370 #define meltframe meltfram__
9372 melt_trace_start("MEXPAND_TIMES", meltcallcount);
9373 /*use arguments*/
9374 (void) meltclosp_;
9375 (void)meltfirstargp_;
9376 (void)meltxargdescr_;
9377 (void)meltxargtab_;
9378 (void)meltxresdescr_;
9379 (void)meltxrestab_;
9380 /*getargs*/
9382 /*getarg#0*/
9383 MELT_LOCATION("warmelt-macro.melt:6620:/ getarg");
9384 /*_.SEXPR__V2*/
9385 meltfptr[1] = (melt_ptr_t) meltfirstargp_;
9387 /*getarg#1*/
9388 /*^getarg*/
9389 if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_endgetargs;
9390 /*_.ENV__V3*/
9391 meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL;
9392 gcc_assert(melt_discr((melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2])) != NULL);
9395 /*getarg#2*/
9396 /*^getarg*/
9397 if (meltxargdescr_[1] != MELTBPAR_PTR) goto meltlab_endgetargs;
9398 /*_.MEXPANDER__V4*/
9399 meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL;
9400 gcc_assert(melt_discr((melt_ptr_t)(/*_.MEXPANDER__V4*/ meltfptr[3])) != NULL);
9403 /*getarg#3*/
9404 /*^getarg*/
9405 if (meltxargdescr_[2] != MELTBPAR_PTR) goto meltlab_endgetargs;
9406 /*_.MODCTX__V5*/
9407 meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL;
9408 gcc_assert(melt_discr((melt_ptr_t)(/*_.MODCTX__V5*/ meltfptr[4])) != NULL);
9411 goto meltlab_endgetargs;
9412 meltlab_endgetargs:
9414 /*body*/
9415 /*^block*/
9416 /*anyblock*/
9420 #if MELT_HAVE_DEBUG
9421 MELT_LOCATION("warmelt-macro.melt:6621:/ cppif.then");
9422 /*^block*/
9423 /*anyblock*/
9428 /*^locexp*/
9429 /*melt_increment_dbgcounter*/
9430 #if MELT_HAVE_DEBUG
9431 melt_dbgcounter++;
9432 #endif
9437 MELT_CHECK_SIGNAL();
9439 /*_#MELT_NEED_DBG__L1*/
9440 meltfnum[0] =
9441 /*MELT_NEED_DBG*/
9442 #if MELT_HAVE_DEBUG
9443 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
9444 #else
9445 0 /* no melt_need_dbg */
9446 #endif /*MELT_HAVE_DEBUG*/
9448 MELT_LOCATION("warmelt-macro.melt:6621:/ cond");
9449 /*cond*/
9450 if (/*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then*/
9452 /*^cond.then*/
9453 /*^block*/
9454 /*anyblock*/
9457 /*_#MELT_CALLCOUNT__L2*/ meltfnum[1] =
9458 /* for melt_callcount */
9459 #if MELT_HAVE_DEBUG && defined (meltcallcount)
9460 meltcallcount /* melt_callcount debugging */
9461 #else
9462 0L /* melt_callcount without debug */
9463 #endif /* MELT_HAVE_DEBUG melt_callcount */
9466 MELT_CHECK_SIGNAL();
9468 MELT_LOCATION("warmelt-macro.melt:6621:/ apply");
9469 /*apply*/
9471 union meltparam_un argtab[5];
9472 memset(&argtab, 0, sizeof(argtab));
9473 /*^apply.arg*/
9474 argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L2*/ meltfnum[1];
9475 /*^apply.arg*/
9476 argtab[1].meltbp_cstring = "warmelt-macro.melt";
9477 /*^apply.arg*/
9478 argtab[2].meltbp_long = 6621;
9479 /*^apply.arg*/
9480 argtab[3].meltbp_cstring = "mexpand_times sexpr=";
9481 /*^apply.arg*/
9482 argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.SEXPR__V2*/ meltfptr[1];
9483 /*_.MELT_DEBUG_FUN__V7*/
9484 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);
9487 /*_._IF___V6*/
9488 meltfptr[5] = /*_.MELT_DEBUG_FUN__V7*/ meltfptr[6];;
9489 /*epilog*/
9491 MELT_LOCATION("warmelt-macro.melt:6621:/ clear");
9492 /*clear*/ /*_#MELT_CALLCOUNT__L2*/
9493 meltfnum[1] = 0 ;
9494 /*^clear*/
9495 /*clear*/ /*_.MELT_DEBUG_FUN__V7*/
9496 meltfptr[6] = 0 ;
9500 else /*^cond.else*/
9503 /*_._IF___V6*/ meltfptr[5] = /*reallynil*/ NULL ;;
9508 MELT_LOCATION("warmelt-macro.melt:6621:/ locexp");
9509 /*void*/
9510 (void)0;
9513 /*^quasiblock*/
9516 /*epilog*/
9518 /*^clear*/
9519 /*clear*/ /*_#MELT_NEED_DBG__L1*/
9520 meltfnum[0] = 0 ;
9521 /*^clear*/
9522 /*clear*/ /*_._IF___V6*/
9523 meltfptr[5] = 0 ;
9526 #else /*MELT_HAVE_DEBUG*/
9527 /*^cppif.else*/
9528 /*^block*/
9529 /*anyblock*/
9534 /*^locexp*/
9535 /*void*/(void)0;
9538 /*epilog*/
9541 #endif /*MELT_HAVE_DEBUG*/
9544 #if MELT_HAVE_DEBUG
9545 MELT_LOCATION("warmelt-macro.melt:6622:/ cppif.then");
9546 /*^block*/
9547 /*anyblock*/
9551 MELT_CHECK_SIGNAL();
9553 /*_#IS_A__L3*/
9554 meltfnum[1] =
9555 melt_is_instance_of((melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_SEXPR*/ meltfrout->tabval[1])));;
9556 MELT_LOCATION("warmelt-macro.melt:6622:/ cond");
9557 /*cond*/
9558 if (/*_#IS_A__L3*/ meltfnum[1]) /*then*/
9560 /*^cond.then*/
9561 /*_._IFELSE___V9*/ meltfptr[5] = (/*nil*/NULL);;
9563 else
9565 MELT_LOCATION("warmelt-macro.melt:6622:/ cond.else");
9567 /*^block*/
9568 /*anyblock*/
9572 MELT_CHECK_SIGNAL();
9574 /*^apply*/
9575 /*apply*/
9577 union meltparam_un argtab[4];
9578 memset(&argtab, 0, sizeof(argtab));
9579 /*^apply.arg*/
9580 argtab[0].meltbp_cstring = "check sexpr";
9581 /*^apply.arg*/
9582 argtab[1].meltbp_cstring = "warmelt-macro.melt";
9583 /*^apply.arg*/
9584 argtab[2].meltbp_long = 6622;
9585 /*^apply.arg*/
9586 argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.SEXPR__V2*/ meltfptr[1];
9587 /*_.MELT_ASSERT_FAILURE_FUN__V10*/
9588 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);
9591 /*_._IFELSE___V9*/
9592 meltfptr[5] = /*_.MELT_ASSERT_FAILURE_FUN__V10*/ meltfptr[9];;
9593 /*epilog*/
9595 MELT_LOCATION("warmelt-macro.melt:6622:/ clear");
9596 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V10*/
9597 meltfptr[9] = 0 ;
9602 /*_.IFCPP___V8*/
9603 meltfptr[6] = /*_._IFELSE___V9*/ meltfptr[5];;
9604 /*epilog*/
9606 MELT_LOCATION("warmelt-macro.melt:6622:/ clear");
9607 /*clear*/ /*_#IS_A__L3*/
9608 meltfnum[1] = 0 ;
9609 /*^clear*/
9610 /*clear*/ /*_._IFELSE___V9*/
9611 meltfptr[5] = 0 ;
9614 #else /*MELT_HAVE_DEBUG*/
9615 /*^cppif.else*/
9616 /*_.IFCPP___V8*/ meltfptr[6] = (/*nil*/NULL);
9617 #endif /*MELT_HAVE_DEBUG*/
9620 #if MELT_HAVE_DEBUG
9621 MELT_LOCATION("warmelt-macro.melt:6623:/ cppif.then");
9622 /*^block*/
9623 /*anyblock*/
9627 MELT_CHECK_SIGNAL();
9629 /*_#IS_A__L4*/
9630 meltfnum[0] =
9631 melt_is_instance_of((melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2]), (melt_ptr_t)((/*!CLASS_ENVIRONMENT*/ meltfrout->tabval[3])));;
9632 MELT_LOCATION("warmelt-macro.melt:6623:/ cond");
9633 /*cond*/
9634 if (/*_#IS_A__L4*/ meltfnum[0]) /*then*/
9636 /*^cond.then*/
9637 /*_._IFELSE___V12*/ meltfptr[5] = (/*nil*/NULL);;
9639 else
9641 MELT_LOCATION("warmelt-macro.melt:6623:/ cond.else");
9643 /*^block*/
9644 /*anyblock*/
9648 MELT_CHECK_SIGNAL();
9650 /*^apply*/
9651 /*apply*/
9653 union meltparam_un argtab[4];
9654 memset(&argtab, 0, sizeof(argtab));
9655 /*^apply.arg*/
9656 argtab[0].meltbp_cstring = "check env";
9657 /*^apply.arg*/
9658 argtab[1].meltbp_cstring = "warmelt-macro.melt";
9659 /*^apply.arg*/
9660 argtab[2].meltbp_long = 6623;
9661 /*^apply.arg*/
9662 argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.ENV__V3*/ meltfptr[2];
9663 /*_.MELT_ASSERT_FAILURE_FUN__V13*/
9664 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);
9667 /*_._IFELSE___V12*/
9668 meltfptr[5] = /*_.MELT_ASSERT_FAILURE_FUN__V13*/ meltfptr[12];;
9669 /*epilog*/
9671 MELT_LOCATION("warmelt-macro.melt:6623:/ clear");
9672 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V13*/
9673 meltfptr[12] = 0 ;
9678 /*_.IFCPP___V11*/
9679 meltfptr[9] = /*_._IFELSE___V12*/ meltfptr[5];;
9680 /*epilog*/
9682 MELT_LOCATION("warmelt-macro.melt:6623:/ clear");
9683 /*clear*/ /*_#IS_A__L4*/
9684 meltfnum[0] = 0 ;
9685 /*^clear*/
9686 /*clear*/ /*_._IFELSE___V12*/
9687 meltfptr[5] = 0 ;
9690 #else /*MELT_HAVE_DEBUG*/
9691 /*^cppif.else*/
9692 /*_.IFCPP___V11*/ meltfptr[9] = (/*nil*/NULL);
9693 #endif /*MELT_HAVE_DEBUG*/
9695 MELT_LOCATION("warmelt-macro.melt:6624:/ quasiblock");
9698 MELT_LOCATION("warmelt-macro.melt:6625:/ getslot");
9700 melt_ptr_t slot=NULL, obj=NULL;
9701 obj = (melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/;
9702 melt_object_get_field(slot,obj, 2, "SEXP_CONTENTS");
9703 /*_.CONT__V15*/
9704 meltfptr[5] = slot;
9707 MELT_LOCATION("warmelt-macro.melt:6626:/ getslot");
9709 melt_ptr_t slot=NULL, obj=NULL;
9710 obj = (melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/;
9711 melt_object_get_field(slot,obj, 1, "LOCA_LOCATION");
9712 /*_.LOC__V16*/
9713 meltfptr[15] = slot;
9717 MELT_CHECK_SIGNAL();
9719 MELT_LOCATION("warmelt-macro.melt:6627:/ apply");
9720 /*apply*/
9722 union meltparam_un argtab[3];
9723 memset(&argtab, 0, sizeof(argtab));
9724 /*^apply.arg*/
9725 argtab[0].meltbp_aptr = (melt_ptr_t*) &/*_.ENV__V3*/ meltfptr[2];
9726 /*^apply.arg*/
9727 argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.MEXPANDER__V4*/ meltfptr[3];
9728 /*^apply.arg*/
9729 argtab[2].meltbp_aptr = (melt_ptr_t*) &/*_.MODCTX__V5*/ meltfptr[4];
9730 /*_.XARGTUP__V17*/
9731 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);
9735 MELT_CHECK_SIGNAL();
9737 MELT_LOCATION("warmelt-macro.melt:6628:/ quasiblock");
9740 /*^rawallocobj*/
9741 /*rawallocobj*/
9743 melt_ptr_t newobj = 0;
9744 melt_raw_object_create(newobj,(melt_ptr_t)((/*!CLASS_SOURCE_ARITHMETIC_VARIADIC_OPERATION*/ meltfrout->tabval[5])), (5), "CLASS_SOURCE_ARITHMETIC_VARIADIC_OPERATION");
9745 /*_.INST__V19*/
9746 meltfptr[18] =
9747 newobj;
9750 /*^putslot*/
9751 /*putslot*/
9752 melt_assertmsg("checkobj putslot _ @LOCA_LOCATION", melt_magic_discr((melt_ptr_t)(/*_.INST__V19*/ meltfptr[18])) == MELTOBMAG_OBJECT);
9753 melt_putfield_object((/*_.INST__V19*/ meltfptr[18]), (1), (/*_.LOC__V16*/ meltfptr[15]), "LOCA_LOCATION");
9755 /*^putslot*/
9756 /*putslot*/
9757 melt_assertmsg("checkobj putslot _ @SARGOP_ARGS", melt_magic_discr((melt_ptr_t)(/*_.INST__V19*/ meltfptr[18])) == MELTOBMAG_OBJECT);
9758 melt_putfield_object((/*_.INST__V19*/ meltfptr[18]), (2), (/*_.XARGTUP__V17*/ meltfptr[16]), "SARGOP_ARGS");
9760 /*^putslot*/
9761 /*putslot*/
9762 melt_assertmsg("checkobj putslot _ @SARITHVAR_NEUTRAL", melt_magic_discr((melt_ptr_t)(/*_.INST__V19*/ meltfptr[18])) == MELTOBMAG_OBJECT);
9763 melt_putfield_object((/*_.INST__V19*/ meltfptr[18]), (3), ((/*!konst_6*/ meltfrout->tabval[6])), "SARITHVAR_NEUTRAL");
9765 /*^putslot*/
9766 /*putslot*/
9767 melt_assertmsg("checkobj putslot _ @SARITHVAR_PRIMITIVE", melt_magic_discr((melt_ptr_t)(/*_.INST__V19*/ meltfptr[18])) == MELTOBMAG_OBJECT);
9768 melt_putfield_object((/*_.INST__V19*/ meltfptr[18]), (4), ((/*!*I*/ meltfrout->tabval[7])), "SARITHVAR_PRIMITIVE");
9770 /*^touchobj*/
9772 melt_dbgtrace_written_object (/*_.INST__V19*/ meltfptr[18], "newly made instance");
9774 /*_.RES__V18*/
9775 meltfptr[17] = /*_.INST__V19*/ meltfptr[18];;
9777 MELT_CHECK_SIGNAL();
9779 /*^compute*/
9780 /*_#MULTIPLE_LENGTH__L5*/
9781 meltfnum[1] =
9782 (melt_multiple_length((melt_ptr_t)(/*_.XARGTUP__V17*/ meltfptr[16])));;
9783 /*^compute*/
9784 /*_#eqeqI__L6*/
9785 meltfnum[0] =
9786 ((0) == (/*_#MULTIPLE_LENGTH__L5*/ meltfnum[1]));;
9787 MELT_LOCATION("warmelt-macro.melt:6635:/ cond");
9788 /*cond*/
9789 if (/*_#eqeqI__L6*/ meltfnum[0]) /*then*/
9791 /*^cond.then*/
9792 /*^block*/
9793 /*anyblock*/
9798 MELT_LOCATION("warmelt-macro.melt:6636:/ locexp");
9799 /* error_plain */
9800 melt_error_str((melt_ptr_t)(/*_.LOC__V16*/ meltfptr[15]), ( "* operator needs at least one argument"), (melt_ptr_t)0);
9803 MELT_LOCATION("warmelt-macro.melt:6637:/ quasiblock");
9806 /*_._RETVAL___V1*/
9807 meltfptr[0] = /*reallynil*/ NULL ;;
9810 MELT_LOCATION("warmelt-macro.melt:6637:/ locexp");
9811 /*ochecknores compilobj_nrep_return*/
9812 #if MELT_HAVE_DEBUG
9813 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
9814 melt_warn_for_no_expected_secondary_results();
9815 /* we warned when secondary results are expected but not returned. */
9816 #endif /*MELT_HAVE_DEBUG*/
9820 /*^finalreturn*/
9822 /*finalret*/
9823 goto meltlabend_rout ;
9824 MELT_LOCATION("warmelt-macro.melt:6635:/ quasiblock");
9827 /*_.PROGN___V22*/
9828 meltfptr[21] = /*_.RETURN___V21*/ meltfptr[20];;
9829 /*^compute*/
9830 /*_._IF___V20*/
9831 meltfptr[19] = /*_.PROGN___V22*/ meltfptr[21];;
9832 /*epilog*/
9834 MELT_LOCATION("warmelt-macro.melt:6635:/ clear");
9835 /*clear*/ /*_.RETURN___V21*/
9836 meltfptr[20] = 0 ;
9837 /*^clear*/
9838 /*clear*/ /*_.PROGN___V22*/
9839 meltfptr[21] = 0 ;
9843 else /*^cond.else*/
9846 /*_._IF___V20*/ meltfptr[19] = /*reallynil*/ NULL ;;
9850 #if MELT_HAVE_DEBUG
9851 MELT_LOCATION("warmelt-macro.melt:6638:/ cppif.then");
9852 /*^block*/
9853 /*anyblock*/
9858 /*^locexp*/
9859 /*melt_increment_dbgcounter*/
9860 #if MELT_HAVE_DEBUG
9861 melt_dbgcounter++;
9862 #endif
9867 MELT_CHECK_SIGNAL();
9869 /*_#MELT_NEED_DBG__L7*/
9870 meltfnum[6] =
9871 /*MELT_NEED_DBG*/
9872 #if MELT_HAVE_DEBUG
9873 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
9874 #else
9875 0 /* no melt_need_dbg */
9876 #endif /*MELT_HAVE_DEBUG*/
9878 MELT_LOCATION("warmelt-macro.melt:6638:/ cond");
9879 /*cond*/
9880 if (/*_#MELT_NEED_DBG__L7*/ meltfnum[6]) /*then*/
9882 /*^cond.then*/
9883 /*^block*/
9884 /*anyblock*/
9887 /*_#MELT_CALLCOUNT__L8*/ meltfnum[7] =
9888 /* for melt_callcount */
9889 #if MELT_HAVE_DEBUG && defined (meltcallcount)
9890 meltcallcount /* melt_callcount debugging */
9891 #else
9892 0L /* melt_callcount without debug */
9893 #endif /* MELT_HAVE_DEBUG melt_callcount */
9896 MELT_CHECK_SIGNAL();
9898 MELT_LOCATION("warmelt-macro.melt:6638:/ apply");
9899 /*apply*/
9901 union meltparam_un argtab[5];
9902 memset(&argtab, 0, sizeof(argtab));
9903 /*^apply.arg*/
9904 argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L8*/ meltfnum[7];
9905 /*^apply.arg*/
9906 argtab[1].meltbp_cstring = "warmelt-macro.melt";
9907 /*^apply.arg*/
9908 argtab[2].meltbp_long = 6638;
9909 /*^apply.arg*/
9910 argtab[3].meltbp_cstring = "mexpand_times result";
9911 /*^apply.arg*/
9912 argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.RES__V18*/ meltfptr[17];
9913 /*_.MELT_DEBUG_FUN__V24*/
9914 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);
9917 /*_._IF___V23*/
9918 meltfptr[20] = /*_.MELT_DEBUG_FUN__V24*/ meltfptr[21];;
9919 /*epilog*/
9921 MELT_LOCATION("warmelt-macro.melt:6638:/ clear");
9922 /*clear*/ /*_#MELT_CALLCOUNT__L8*/
9923 meltfnum[7] = 0 ;
9924 /*^clear*/
9925 /*clear*/ /*_.MELT_DEBUG_FUN__V24*/
9926 meltfptr[21] = 0 ;
9930 else /*^cond.else*/
9933 /*_._IF___V23*/ meltfptr[20] = /*reallynil*/ NULL ;;
9938 MELT_LOCATION("warmelt-macro.melt:6638:/ locexp");
9939 /*void*/
9940 (void)0;
9943 /*^quasiblock*/
9946 /*epilog*/
9948 /*^clear*/
9949 /*clear*/ /*_#MELT_NEED_DBG__L7*/
9950 meltfnum[6] = 0 ;
9951 /*^clear*/
9952 /*clear*/ /*_._IF___V23*/
9953 meltfptr[20] = 0 ;
9956 #else /*MELT_HAVE_DEBUG*/
9957 /*^cppif.else*/
9958 /*^block*/
9959 /*anyblock*/
9964 /*^locexp*/
9965 /*void*/(void)0;
9968 /*epilog*/
9971 #endif /*MELT_HAVE_DEBUG*/
9974 MELT_CHECK_SIGNAL();
9976 MELT_LOCATION("warmelt-macro.melt:6639:/ quasiblock");
9979 /*_._RETVAL___V1*/
9980 meltfptr[0] = /*_.RES__V18*/ meltfptr[17];;
9983 MELT_LOCATION("warmelt-macro.melt:6639:/ locexp");
9984 /*ochecknores compilobj_nrep_return*/
9985 #if MELT_HAVE_DEBUG
9986 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
9987 melt_warn_for_no_expected_secondary_results();
9988 /* we warned when secondary results are expected but not returned. */
9989 #endif /*MELT_HAVE_DEBUG*/
9993 /*^finalreturn*/
9995 /*finalret*/
9996 goto meltlabend_rout ;
9997 /*_.LET___V14*/
9998 meltfptr[12] = /*_.RETURN___V25*/ meltfptr[21];;
10000 MELT_LOCATION("warmelt-macro.melt:6624:/ clear");
10001 /*clear*/ /*_.CONT__V15*/
10002 meltfptr[5] = 0 ;
10003 /*^clear*/
10004 /*clear*/ /*_.LOC__V16*/
10005 meltfptr[15] = 0 ;
10006 /*^clear*/
10007 /*clear*/ /*_.XARGTUP__V17*/
10008 meltfptr[16] = 0 ;
10009 /*^clear*/
10010 /*clear*/ /*_.RES__V18*/
10011 meltfptr[17] = 0 ;
10012 /*^clear*/
10013 /*clear*/ /*_#MULTIPLE_LENGTH__L5*/
10014 meltfnum[1] = 0 ;
10015 /*^clear*/
10016 /*clear*/ /*_#eqeqI__L6*/
10017 meltfnum[0] = 0 ;
10018 /*^clear*/
10019 /*clear*/ /*_._IF___V20*/
10020 meltfptr[19] = 0 ;
10021 /*^clear*/
10022 /*clear*/ /*_.RETURN___V25*/
10023 meltfptr[21] = 0 ;
10025 MELT_CHECK_SIGNAL();
10027 MELT_LOCATION("warmelt-macro.melt:6620:/ quasiblock");
10030 /*_._RETVAL___V1*/
10031 meltfptr[0] = /*_.LET___V14*/ meltfptr[12];;
10034 MELT_LOCATION("warmelt-macro.melt:6620:/ locexp");
10035 /*ochecknores compilobj_nrep_return*/
10036 #if MELT_HAVE_DEBUG
10037 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
10038 melt_warn_for_no_expected_secondary_results();
10039 /* we warned when secondary results are expected but not returned. */
10040 #endif /*MELT_HAVE_DEBUG*/
10044 /*^finalreturn*/
10046 /*finalret*/
10047 goto meltlabend_rout ;
10048 /*epilog*/
10050 /*^clear*/
10051 /*clear*/ /*_.IFCPP___V8*/
10052 meltfptr[6] = 0 ;
10053 /*^clear*/
10054 /*clear*/ /*_.IFCPP___V11*/
10055 meltfptr[9] = 0 ;
10056 /*^clear*/
10057 /*clear*/ /*_.LET___V14*/
10058 meltfptr[12] = 0 ;
10062 goto meltlabend_rout;
10063 meltlabend_rout:
10064 melt_trace_end("MEXPAND_TIMES", meltcallcount);
10065 melt_blocklevel_signals = current_blocklevel_signals_meltrout_112_WARMELTmiMACRO_MEXPAND_TIMES_melt;
10066 return (melt_ptr_t)(/*_._RETVAL___V1*/ meltfptr[0]);
10067 #undef meltcallcount
10068 #undef meltfram__
10069 #undef MELTFRAM_NBVARNUM
10070 #undef MELTFRAM_NBVARPTR
10071 } /*end meltrout_112_WARMELTmiMACRO_MEXPAND_TIMES*/
10078 melt_ptr_t MELT_MODULE_VISIBILITY
10079 meltrout_113_WARMELTmiMACRO_MEXPAND_DIV(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_,
10080 const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_)
10082 long current_blocklevel_signals_meltrout_113_WARMELTmiMACRO_MEXPAND_DIV_melt = melt_blocklevel_signals;
10084 #if MELT_HAVE_DEBUG
10085 static long melt_call_counter__;
10086 long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__;
10087 #undef meltcallcount
10088 #define meltcallcount melt_thiscallcounter__
10089 #else
10090 #undef meltcallcount
10091 #define meltcallcount 0L
10092 #endif
10093 //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1538
10095 /* start of frame for routine meltrout_113_WARMELTmiMACRO_MEXPAND_DIV fromline 1752 */
10097 /** start of frame for meltrout_113_WARMELTmiMACRO_MEXPAND_DIV of CLASS_PROCROUTINEOBJ from 1555**/
10099 /*curframdeclclassy*/ class MeltFrame_meltrout_113_WARMELTmiMACRO_MEXPAND_DIV// fromline 1568
10100 : public Melt_CallFrameWithValues<25>
10102 public: /* fromline 1572*/
10103 long mcfr_varnum[8];
10104 /*classy others*/
10105 long _meltsparel;
10106 void melt_mark_stuff (void)
10108 } /*end melt_mark_stuff*/
10109 virtual void melt_mark_ggc_data (void)
10111 melt_mark_values ();
10112 melt_mark_stuff ();
10113 }; /*end melt_mark_ggc_data*/
10114 MeltFrame_meltrout_113_WARMELTmiMACRO_MEXPAND_DIV(meltclosure_ptr_t clos) //the closure constructor fromline 1630
10115 : Melt_CallFrameWithValues<25> (
10116 #if ENABLE_CHECKING /*fromline 1634*/
10117 __FILE__, __LINE__,
10118 #endif /* ENABLE_CHECKING fromline 1638*/
10119 sizeof(MeltFrame_meltrout_113_WARMELTmiMACRO_MEXPAND_DIV), clos) {};
10120 MeltFrame_meltrout_113_WARMELTmiMACRO_MEXPAND_DIV() //the constructor fromline 1642
10121 : Melt_CallFrameWithValues<25> (
10122 #if ENABLE_CHECKING /*fromline 1646*/
10123 __FILE__, __LINE__,
10124 #endif /* ENABLE_CHECKING fromline 1650*/
10125 sizeof(MeltFrame_meltrout_113_WARMELTmiMACRO_MEXPAND_DIV)) {};
10126 #if ENABLE_CHECKING /*fromline 1654*/
10127 MeltFrame_meltrout_113_WARMELTmiMACRO_MEXPAND_DIV(const char*fil, int lin) //the constructor fromline 1656
10128 : Melt_CallFrameWithValues<25> (fil,lin, sizeof(MeltFrame_meltrout_113_WARMELTmiMACRO_MEXPAND_DIV)) {};
10129 MeltFrame_meltrout_113_WARMELTmiMACRO_MEXPAND_DIV(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1661
10130 : Melt_CallFrameWithValues<25> (fil,lin, sizeof(MeltFrame_meltrout_113_WARMELTmiMACRO_MEXPAND_DIV), clos) {};
10131 #endif /* ENABLE_CHECKING fromline 1666*/
10133 }; // end class MeltFrame_meltrout_113_WARMELTmiMACRO_MEXPAND_DIV
10136 /** end of frame for meltrout_113_WARMELTmiMACRO_MEXPAND_DIV fromline 1697**/
10138 /* end of frame for routine meltrout_113_WARMELTmiMACRO_MEXPAND_DIV fromline 1756 */
10140 /* classy proc frame meltrout_113_WARMELTmiMACRO_MEXPAND_DIV */
10141 MeltFrame_meltrout_113_WARMELTmiMACRO_MEXPAND_DIV
10142 meltfram__ /*declfrastruct fromline 1780*/
10143 /*classyprocarg meltrout_113_WARMELTmiMACRO_MEXPAND_DIV fromline 1785*/
10144 #if ENABLE_CHECKING
10145 (__FILE__, __LINE__, meltclosp_) /* fromline 1789*/
10146 #else /*ENABLE_CHECKING */
10147 (meltclosp_) /* fromline 1793*/
10148 #endif /*ENABLE_CHECKING */
10151 #define meltframe meltfram__
10153 melt_trace_start("MEXPAND_DIV", meltcallcount);
10154 /*use arguments*/
10155 (void) meltclosp_;
10156 (void)meltfirstargp_;
10157 (void)meltxargdescr_;
10158 (void)meltxargtab_;
10159 (void)meltxresdescr_;
10160 (void)meltxrestab_;
10161 /*getargs*/
10163 /*getarg#0*/
10164 MELT_LOCATION("warmelt-macro.melt:6649:/ getarg");
10165 /*_.SEXPR__V2*/
10166 meltfptr[1] = (melt_ptr_t) meltfirstargp_;
10168 /*getarg#1*/
10169 /*^getarg*/
10170 if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_endgetargs;
10171 /*_.ENV__V3*/
10172 meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL;
10173 gcc_assert(melt_discr((melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2])) != NULL);
10176 /*getarg#2*/
10177 /*^getarg*/
10178 if (meltxargdescr_[1] != MELTBPAR_PTR) goto meltlab_endgetargs;
10179 /*_.MEXPANDER__V4*/
10180 meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL;
10181 gcc_assert(melt_discr((melt_ptr_t)(/*_.MEXPANDER__V4*/ meltfptr[3])) != NULL);
10184 /*getarg#3*/
10185 /*^getarg*/
10186 if (meltxargdescr_[2] != MELTBPAR_PTR) goto meltlab_endgetargs;
10187 /*_.MODCTX__V5*/
10188 meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL;
10189 gcc_assert(melt_discr((melt_ptr_t)(/*_.MODCTX__V5*/ meltfptr[4])) != NULL);
10192 goto meltlab_endgetargs;
10193 meltlab_endgetargs:
10195 /*body*/
10196 /*^block*/
10197 /*anyblock*/
10201 #if MELT_HAVE_DEBUG
10202 MELT_LOCATION("warmelt-macro.melt:6650:/ cppif.then");
10203 /*^block*/
10204 /*anyblock*/
10209 /*^locexp*/
10210 /*melt_increment_dbgcounter*/
10211 #if MELT_HAVE_DEBUG
10212 melt_dbgcounter++;
10213 #endif
10218 MELT_CHECK_SIGNAL();
10220 /*_#MELT_NEED_DBG__L1*/
10221 meltfnum[0] =
10222 /*MELT_NEED_DBG*/
10223 #if MELT_HAVE_DEBUG
10224 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
10225 #else
10226 0 /* no melt_need_dbg */
10227 #endif /*MELT_HAVE_DEBUG*/
10229 MELT_LOCATION("warmelt-macro.melt:6650:/ cond");
10230 /*cond*/
10231 if (/*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then*/
10233 /*^cond.then*/
10234 /*^block*/
10235 /*anyblock*/
10238 /*_#MELT_CALLCOUNT__L2*/ meltfnum[1] =
10239 /* for melt_callcount */
10240 #if MELT_HAVE_DEBUG && defined (meltcallcount)
10241 meltcallcount /* melt_callcount debugging */
10242 #else
10243 0L /* melt_callcount without debug */
10244 #endif /* MELT_HAVE_DEBUG melt_callcount */
10247 MELT_CHECK_SIGNAL();
10249 MELT_LOCATION("warmelt-macro.melt:6650:/ apply");
10250 /*apply*/
10252 union meltparam_un argtab[5];
10253 memset(&argtab, 0, sizeof(argtab));
10254 /*^apply.arg*/
10255 argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L2*/ meltfnum[1];
10256 /*^apply.arg*/
10257 argtab[1].meltbp_cstring = "warmelt-macro.melt";
10258 /*^apply.arg*/
10259 argtab[2].meltbp_long = 6650;
10260 /*^apply.arg*/
10261 argtab[3].meltbp_cstring = "mexpand_div sexpr=";
10262 /*^apply.arg*/
10263 argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.SEXPR__V2*/ meltfptr[1];
10264 /*_.MELT_DEBUG_FUN__V7*/
10265 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);
10268 /*_._IF___V6*/
10269 meltfptr[5] = /*_.MELT_DEBUG_FUN__V7*/ meltfptr[6];;
10270 /*epilog*/
10272 MELT_LOCATION("warmelt-macro.melt:6650:/ clear");
10273 /*clear*/ /*_#MELT_CALLCOUNT__L2*/
10274 meltfnum[1] = 0 ;
10275 /*^clear*/
10276 /*clear*/ /*_.MELT_DEBUG_FUN__V7*/
10277 meltfptr[6] = 0 ;
10281 else /*^cond.else*/
10284 /*_._IF___V6*/ meltfptr[5] = /*reallynil*/ NULL ;;
10289 MELT_LOCATION("warmelt-macro.melt:6650:/ locexp");
10290 /*void*/
10291 (void)0;
10294 /*^quasiblock*/
10297 /*epilog*/
10299 /*^clear*/
10300 /*clear*/ /*_#MELT_NEED_DBG__L1*/
10301 meltfnum[0] = 0 ;
10302 /*^clear*/
10303 /*clear*/ /*_._IF___V6*/
10304 meltfptr[5] = 0 ;
10307 #else /*MELT_HAVE_DEBUG*/
10308 /*^cppif.else*/
10309 /*^block*/
10310 /*anyblock*/
10315 /*^locexp*/
10316 /*void*/(void)0;
10319 /*epilog*/
10322 #endif /*MELT_HAVE_DEBUG*/
10325 #if MELT_HAVE_DEBUG
10326 MELT_LOCATION("warmelt-macro.melt:6651:/ cppif.then");
10327 /*^block*/
10328 /*anyblock*/
10332 MELT_CHECK_SIGNAL();
10334 /*_#IS_A__L3*/
10335 meltfnum[1] =
10336 melt_is_instance_of((melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_SEXPR*/ meltfrout->tabval[1])));;
10337 MELT_LOCATION("warmelt-macro.melt:6651:/ cond");
10338 /*cond*/
10339 if (/*_#IS_A__L3*/ meltfnum[1]) /*then*/
10341 /*^cond.then*/
10342 /*_._IFELSE___V9*/ meltfptr[5] = (/*nil*/NULL);;
10344 else
10346 MELT_LOCATION("warmelt-macro.melt:6651:/ cond.else");
10348 /*^block*/
10349 /*anyblock*/
10353 MELT_CHECK_SIGNAL();
10355 /*^apply*/
10356 /*apply*/
10358 union meltparam_un argtab[4];
10359 memset(&argtab, 0, sizeof(argtab));
10360 /*^apply.arg*/
10361 argtab[0].meltbp_cstring = "check sexpr";
10362 /*^apply.arg*/
10363 argtab[1].meltbp_cstring = "warmelt-macro.melt";
10364 /*^apply.arg*/
10365 argtab[2].meltbp_long = 6651;
10366 /*^apply.arg*/
10367 argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.SEXPR__V2*/ meltfptr[1];
10368 /*_.MELT_ASSERT_FAILURE_FUN__V10*/
10369 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);
10372 /*_._IFELSE___V9*/
10373 meltfptr[5] = /*_.MELT_ASSERT_FAILURE_FUN__V10*/ meltfptr[9];;
10374 /*epilog*/
10376 MELT_LOCATION("warmelt-macro.melt:6651:/ clear");
10377 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V10*/
10378 meltfptr[9] = 0 ;
10383 /*_.IFCPP___V8*/
10384 meltfptr[6] = /*_._IFELSE___V9*/ meltfptr[5];;
10385 /*epilog*/
10387 MELT_LOCATION("warmelt-macro.melt:6651:/ clear");
10388 /*clear*/ /*_#IS_A__L3*/
10389 meltfnum[1] = 0 ;
10390 /*^clear*/
10391 /*clear*/ /*_._IFELSE___V9*/
10392 meltfptr[5] = 0 ;
10395 #else /*MELT_HAVE_DEBUG*/
10396 /*^cppif.else*/
10397 /*_.IFCPP___V8*/ meltfptr[6] = (/*nil*/NULL);
10398 #endif /*MELT_HAVE_DEBUG*/
10401 #if MELT_HAVE_DEBUG
10402 MELT_LOCATION("warmelt-macro.melt:6652:/ cppif.then");
10403 /*^block*/
10404 /*anyblock*/
10408 MELT_CHECK_SIGNAL();
10410 /*_#IS_A__L4*/
10411 meltfnum[0] =
10412 melt_is_instance_of((melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2]), (melt_ptr_t)((/*!CLASS_ENVIRONMENT*/ meltfrout->tabval[3])));;
10413 MELT_LOCATION("warmelt-macro.melt:6652:/ cond");
10414 /*cond*/
10415 if (/*_#IS_A__L4*/ meltfnum[0]) /*then*/
10417 /*^cond.then*/
10418 /*_._IFELSE___V12*/ meltfptr[5] = (/*nil*/NULL);;
10420 else
10422 MELT_LOCATION("warmelt-macro.melt:6652:/ cond.else");
10424 /*^block*/
10425 /*anyblock*/
10429 MELT_CHECK_SIGNAL();
10431 /*^apply*/
10432 /*apply*/
10434 union meltparam_un argtab[4];
10435 memset(&argtab, 0, sizeof(argtab));
10436 /*^apply.arg*/
10437 argtab[0].meltbp_cstring = "check env";
10438 /*^apply.arg*/
10439 argtab[1].meltbp_cstring = "warmelt-macro.melt";
10440 /*^apply.arg*/
10441 argtab[2].meltbp_long = 6652;
10442 /*^apply.arg*/
10443 argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.ENV__V3*/ meltfptr[2];
10444 /*_.MELT_ASSERT_FAILURE_FUN__V13*/
10445 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);
10448 /*_._IFELSE___V12*/
10449 meltfptr[5] = /*_.MELT_ASSERT_FAILURE_FUN__V13*/ meltfptr[12];;
10450 /*epilog*/
10452 MELT_LOCATION("warmelt-macro.melt:6652:/ clear");
10453 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V13*/
10454 meltfptr[12] = 0 ;
10459 /*_.IFCPP___V11*/
10460 meltfptr[9] = /*_._IFELSE___V12*/ meltfptr[5];;
10461 /*epilog*/
10463 MELT_LOCATION("warmelt-macro.melt:6652:/ clear");
10464 /*clear*/ /*_#IS_A__L4*/
10465 meltfnum[0] = 0 ;
10466 /*^clear*/
10467 /*clear*/ /*_._IFELSE___V12*/
10468 meltfptr[5] = 0 ;
10471 #else /*MELT_HAVE_DEBUG*/
10472 /*^cppif.else*/
10473 /*_.IFCPP___V11*/ meltfptr[9] = (/*nil*/NULL);
10474 #endif /*MELT_HAVE_DEBUG*/
10476 MELT_LOCATION("warmelt-macro.melt:6653:/ quasiblock");
10479 MELT_LOCATION("warmelt-macro.melt:6654:/ getslot");
10481 melt_ptr_t slot=NULL, obj=NULL;
10482 obj = (melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/;
10483 melt_object_get_field(slot,obj, 2, "SEXP_CONTENTS");
10484 /*_.CONT__V15*/
10485 meltfptr[5] = slot;
10488 MELT_LOCATION("warmelt-macro.melt:6655:/ getslot");
10490 melt_ptr_t slot=NULL, obj=NULL;
10491 obj = (melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/;
10492 melt_object_get_field(slot,obj, 1, "LOCA_LOCATION");
10493 /*_.LOC__V16*/
10494 meltfptr[15] = slot;
10498 MELT_CHECK_SIGNAL();
10500 MELT_LOCATION("warmelt-macro.melt:6656:/ apply");
10501 /*apply*/
10503 union meltparam_un argtab[3];
10504 memset(&argtab, 0, sizeof(argtab));
10505 /*^apply.arg*/
10506 argtab[0].meltbp_aptr = (melt_ptr_t*) &/*_.ENV__V3*/ meltfptr[2];
10507 /*^apply.arg*/
10508 argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.MEXPANDER__V4*/ meltfptr[3];
10509 /*^apply.arg*/
10510 argtab[2].meltbp_aptr = (melt_ptr_t*) &/*_.MODCTX__V5*/ meltfptr[4];
10511 /*_.XARGTUP__V17*/
10512 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);
10516 MELT_CHECK_SIGNAL();
10518 MELT_LOCATION("warmelt-macro.melt:6657:/ quasiblock");
10521 /*^rawallocobj*/
10522 /*rawallocobj*/
10524 melt_ptr_t newobj = 0;
10525 melt_raw_object_create(newobj,(melt_ptr_t)((/*!CLASS_SOURCE_ARITHMETIC_VARIADIC_OPERATION*/ meltfrout->tabval[5])), (5), "CLASS_SOURCE_ARITHMETIC_VARIADIC_OPERATION");
10526 /*_.INST__V19*/
10527 meltfptr[18] =
10528 newobj;
10531 /*^putslot*/
10532 /*putslot*/
10533 melt_assertmsg("checkobj putslot _ @LOCA_LOCATION", melt_magic_discr((melt_ptr_t)(/*_.INST__V19*/ meltfptr[18])) == MELTOBMAG_OBJECT);
10534 melt_putfield_object((/*_.INST__V19*/ meltfptr[18]), (1), (/*_.LOC__V16*/ meltfptr[15]), "LOCA_LOCATION");
10536 /*^putslot*/
10537 /*putslot*/
10538 melt_assertmsg("checkobj putslot _ @SARGOP_ARGS", melt_magic_discr((melt_ptr_t)(/*_.INST__V19*/ meltfptr[18])) == MELTOBMAG_OBJECT);
10539 melt_putfield_object((/*_.INST__V19*/ meltfptr[18]), (2), (/*_.XARGTUP__V17*/ meltfptr[16]), "SARGOP_ARGS");
10541 /*^putslot*/
10542 /*putslot*/
10543 melt_assertmsg("checkobj putslot _ @SARITHVAR_NEUTRAL", melt_magic_discr((melt_ptr_t)(/*_.INST__V19*/ meltfptr[18])) == MELTOBMAG_OBJECT);
10544 melt_putfield_object((/*_.INST__V19*/ meltfptr[18]), (3), ((/*!konst_6*/ meltfrout->tabval[6])), "SARITHVAR_NEUTRAL");
10546 /*^putslot*/
10547 /*putslot*/
10548 melt_assertmsg("checkobj putslot _ @SARITHVAR_PRIMITIVE", melt_magic_discr((melt_ptr_t)(/*_.INST__V19*/ meltfptr[18])) == MELTOBMAG_OBJECT);
10549 melt_putfield_object((/*_.INST__V19*/ meltfptr[18]), (4), ((/*!/I*/ meltfrout->tabval[7])), "SARITHVAR_PRIMITIVE");
10551 /*^touchobj*/
10553 melt_dbgtrace_written_object (/*_.INST__V19*/ meltfptr[18], "newly made instance");
10555 /*_.RES__V18*/
10556 meltfptr[17] = /*_.INST__V19*/ meltfptr[18];;
10558 MELT_CHECK_SIGNAL();
10560 /*^compute*/
10561 /*_#MULTIPLE_LENGTH__L5*/
10562 meltfnum[1] =
10563 (melt_multiple_length((melt_ptr_t)(/*_.XARGTUP__V17*/ meltfptr[16])));;
10564 /*^compute*/
10565 /*_#eqeqI__L6*/
10566 meltfnum[0] =
10567 ((0) == (/*_#MULTIPLE_LENGTH__L5*/ meltfnum[1]));;
10568 MELT_LOCATION("warmelt-macro.melt:6664:/ cond");
10569 /*cond*/
10570 if (/*_#eqeqI__L6*/ meltfnum[0]) /*then*/
10572 /*^cond.then*/
10573 /*^block*/
10574 /*anyblock*/
10579 MELT_LOCATION("warmelt-macro.melt:6665:/ locexp");
10580 /* error_plain */
10581 melt_error_str((melt_ptr_t)(/*_.LOC__V16*/ meltfptr[15]), ( "/ operator needs at least one argument"), (melt_ptr_t)0);
10584 MELT_LOCATION("warmelt-macro.melt:6666:/ quasiblock");
10587 /*_._RETVAL___V1*/
10588 meltfptr[0] = /*reallynil*/ NULL ;;
10591 MELT_LOCATION("warmelt-macro.melt:6666:/ locexp");
10592 /*ochecknores compilobj_nrep_return*/
10593 #if MELT_HAVE_DEBUG
10594 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
10595 melt_warn_for_no_expected_secondary_results();
10596 /* we warned when secondary results are expected but not returned. */
10597 #endif /*MELT_HAVE_DEBUG*/
10601 /*^finalreturn*/
10603 /*finalret*/
10604 goto meltlabend_rout ;
10605 MELT_LOCATION("warmelt-macro.melt:6664:/ quasiblock");
10608 /*_.PROGN___V22*/
10609 meltfptr[21] = /*_.RETURN___V21*/ meltfptr[20];;
10610 /*^compute*/
10611 /*_._IF___V20*/
10612 meltfptr[19] = /*_.PROGN___V22*/ meltfptr[21];;
10613 /*epilog*/
10615 MELT_LOCATION("warmelt-macro.melt:6664:/ clear");
10616 /*clear*/ /*_.RETURN___V21*/
10617 meltfptr[20] = 0 ;
10618 /*^clear*/
10619 /*clear*/ /*_.PROGN___V22*/
10620 meltfptr[21] = 0 ;
10624 else /*^cond.else*/
10627 /*_._IF___V20*/ meltfptr[19] = /*reallynil*/ NULL ;;
10631 #if MELT_HAVE_DEBUG
10632 MELT_LOCATION("warmelt-macro.melt:6667:/ cppif.then");
10633 /*^block*/
10634 /*anyblock*/
10639 /*^locexp*/
10640 /*melt_increment_dbgcounter*/
10641 #if MELT_HAVE_DEBUG
10642 melt_dbgcounter++;
10643 #endif
10648 MELT_CHECK_SIGNAL();
10650 /*_#MELT_NEED_DBG__L7*/
10651 meltfnum[6] =
10652 /*MELT_NEED_DBG*/
10653 #if MELT_HAVE_DEBUG
10654 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
10655 #else
10656 0 /* no melt_need_dbg */
10657 #endif /*MELT_HAVE_DEBUG*/
10659 MELT_LOCATION("warmelt-macro.melt:6667:/ cond");
10660 /*cond*/
10661 if (/*_#MELT_NEED_DBG__L7*/ meltfnum[6]) /*then*/
10663 /*^cond.then*/
10664 /*^block*/
10665 /*anyblock*/
10668 /*_#MELT_CALLCOUNT__L8*/ meltfnum[7] =
10669 /* for melt_callcount */
10670 #if MELT_HAVE_DEBUG && defined (meltcallcount)
10671 meltcallcount /* melt_callcount debugging */
10672 #else
10673 0L /* melt_callcount without debug */
10674 #endif /* MELT_HAVE_DEBUG melt_callcount */
10677 MELT_CHECK_SIGNAL();
10679 MELT_LOCATION("warmelt-macro.melt:6667:/ apply");
10680 /*apply*/
10682 union meltparam_un argtab[5];
10683 memset(&argtab, 0, sizeof(argtab));
10684 /*^apply.arg*/
10685 argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L8*/ meltfnum[7];
10686 /*^apply.arg*/
10687 argtab[1].meltbp_cstring = "warmelt-macro.melt";
10688 /*^apply.arg*/
10689 argtab[2].meltbp_long = 6667;
10690 /*^apply.arg*/
10691 argtab[3].meltbp_cstring = "mexpand_div result";
10692 /*^apply.arg*/
10693 argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.RES__V18*/ meltfptr[17];
10694 /*_.MELT_DEBUG_FUN__V24*/
10695 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);
10698 /*_._IF___V23*/
10699 meltfptr[20] = /*_.MELT_DEBUG_FUN__V24*/ meltfptr[21];;
10700 /*epilog*/
10702 MELT_LOCATION("warmelt-macro.melt:6667:/ clear");
10703 /*clear*/ /*_#MELT_CALLCOUNT__L8*/
10704 meltfnum[7] = 0 ;
10705 /*^clear*/
10706 /*clear*/ /*_.MELT_DEBUG_FUN__V24*/
10707 meltfptr[21] = 0 ;
10711 else /*^cond.else*/
10714 /*_._IF___V23*/ meltfptr[20] = /*reallynil*/ NULL ;;
10719 MELT_LOCATION("warmelt-macro.melt:6667:/ locexp");
10720 /*void*/
10721 (void)0;
10724 /*^quasiblock*/
10727 /*epilog*/
10729 /*^clear*/
10730 /*clear*/ /*_#MELT_NEED_DBG__L7*/
10731 meltfnum[6] = 0 ;
10732 /*^clear*/
10733 /*clear*/ /*_._IF___V23*/
10734 meltfptr[20] = 0 ;
10737 #else /*MELT_HAVE_DEBUG*/
10738 /*^cppif.else*/
10739 /*^block*/
10740 /*anyblock*/
10745 /*^locexp*/
10746 /*void*/(void)0;
10749 /*epilog*/
10752 #endif /*MELT_HAVE_DEBUG*/
10755 MELT_CHECK_SIGNAL();
10757 MELT_LOCATION("warmelt-macro.melt:6668:/ quasiblock");
10760 /*_._RETVAL___V1*/
10761 meltfptr[0] = /*_.RES__V18*/ meltfptr[17];;
10764 MELT_LOCATION("warmelt-macro.melt:6668:/ locexp");
10765 /*ochecknores compilobj_nrep_return*/
10766 #if MELT_HAVE_DEBUG
10767 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
10768 melt_warn_for_no_expected_secondary_results();
10769 /* we warned when secondary results are expected but not returned. */
10770 #endif /*MELT_HAVE_DEBUG*/
10774 /*^finalreturn*/
10776 /*finalret*/
10777 goto meltlabend_rout ;
10778 /*_.LET___V14*/
10779 meltfptr[12] = /*_.RETURN___V25*/ meltfptr[21];;
10781 MELT_LOCATION("warmelt-macro.melt:6653:/ clear");
10782 /*clear*/ /*_.CONT__V15*/
10783 meltfptr[5] = 0 ;
10784 /*^clear*/
10785 /*clear*/ /*_.LOC__V16*/
10786 meltfptr[15] = 0 ;
10787 /*^clear*/
10788 /*clear*/ /*_.XARGTUP__V17*/
10789 meltfptr[16] = 0 ;
10790 /*^clear*/
10791 /*clear*/ /*_.RES__V18*/
10792 meltfptr[17] = 0 ;
10793 /*^clear*/
10794 /*clear*/ /*_#MULTIPLE_LENGTH__L5*/
10795 meltfnum[1] = 0 ;
10796 /*^clear*/
10797 /*clear*/ /*_#eqeqI__L6*/
10798 meltfnum[0] = 0 ;
10799 /*^clear*/
10800 /*clear*/ /*_._IF___V20*/
10801 meltfptr[19] = 0 ;
10802 /*^clear*/
10803 /*clear*/ /*_.RETURN___V25*/
10804 meltfptr[21] = 0 ;
10806 MELT_CHECK_SIGNAL();
10808 MELT_LOCATION("warmelt-macro.melt:6649:/ quasiblock");
10811 /*_._RETVAL___V1*/
10812 meltfptr[0] = /*_.LET___V14*/ meltfptr[12];;
10815 MELT_LOCATION("warmelt-macro.melt:6649:/ locexp");
10816 /*ochecknores compilobj_nrep_return*/
10817 #if MELT_HAVE_DEBUG
10818 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
10819 melt_warn_for_no_expected_secondary_results();
10820 /* we warned when secondary results are expected but not returned. */
10821 #endif /*MELT_HAVE_DEBUG*/
10825 /*^finalreturn*/
10827 /*finalret*/
10828 goto meltlabend_rout ;
10829 /*epilog*/
10831 /*^clear*/
10832 /*clear*/ /*_.IFCPP___V8*/
10833 meltfptr[6] = 0 ;
10834 /*^clear*/
10835 /*clear*/ /*_.IFCPP___V11*/
10836 meltfptr[9] = 0 ;
10837 /*^clear*/
10838 /*clear*/ /*_.LET___V14*/
10839 meltfptr[12] = 0 ;
10843 goto meltlabend_rout;
10844 meltlabend_rout:
10845 melt_trace_end("MEXPAND_DIV", meltcallcount);
10846 melt_blocklevel_signals = current_blocklevel_signals_meltrout_113_WARMELTmiMACRO_MEXPAND_DIV_melt;
10847 return (melt_ptr_t)(/*_._RETVAL___V1*/ meltfptr[0]);
10848 #undef meltcallcount
10849 #undef meltfram__
10850 #undef MELTFRAM_NBVARNUM
10851 #undef MELTFRAM_NBVARPTR
10852 } /*end meltrout_113_WARMELTmiMACRO_MEXPAND_DIV*/
10859 melt_ptr_t MELT_MODULE_VISIBILITY
10860 meltrout_114_WARMELTmiMACRO_MEXPAND_TUPLE(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_,
10861 const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_)
10863 long current_blocklevel_signals_meltrout_114_WARMELTmiMACRO_MEXPAND_TUPLE_melt = melt_blocklevel_signals;
10865 #if MELT_HAVE_DEBUG
10866 static long melt_call_counter__;
10867 long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__;
10868 #undef meltcallcount
10869 #define meltcallcount melt_thiscallcounter__
10870 #else
10871 #undef meltcallcount
10872 #define meltcallcount 0L
10873 #endif
10874 //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1538
10876 /* start of frame for routine meltrout_114_WARMELTmiMACRO_MEXPAND_TUPLE fromline 1752 */
10878 /** start of frame for meltrout_114_WARMELTmiMACRO_MEXPAND_TUPLE of CLASS_PROCROUTINEOBJ from 1555**/
10880 /*curframdeclclassy*/ class MeltFrame_meltrout_114_WARMELTmiMACRO_MEXPAND_TUPLE// fromline 1568
10881 : public Melt_CallFrameWithValues<22>
10883 public: /* fromline 1572*/
10884 long mcfr_varnum[6];
10885 /*classy others*/
10886 long _meltsparel;
10887 void melt_mark_stuff (void)
10889 } /*end melt_mark_stuff*/
10890 virtual void melt_mark_ggc_data (void)
10892 melt_mark_values ();
10893 melt_mark_stuff ();
10894 }; /*end melt_mark_ggc_data*/
10895 MeltFrame_meltrout_114_WARMELTmiMACRO_MEXPAND_TUPLE(meltclosure_ptr_t clos) //the closure constructor fromline 1630
10896 : Melt_CallFrameWithValues<22> (
10897 #if ENABLE_CHECKING /*fromline 1634*/
10898 __FILE__, __LINE__,
10899 #endif /* ENABLE_CHECKING fromline 1638*/
10900 sizeof(MeltFrame_meltrout_114_WARMELTmiMACRO_MEXPAND_TUPLE), clos) {};
10901 MeltFrame_meltrout_114_WARMELTmiMACRO_MEXPAND_TUPLE() //the constructor fromline 1642
10902 : Melt_CallFrameWithValues<22> (
10903 #if ENABLE_CHECKING /*fromline 1646*/
10904 __FILE__, __LINE__,
10905 #endif /* ENABLE_CHECKING fromline 1650*/
10906 sizeof(MeltFrame_meltrout_114_WARMELTmiMACRO_MEXPAND_TUPLE)) {};
10907 #if ENABLE_CHECKING /*fromline 1654*/
10908 MeltFrame_meltrout_114_WARMELTmiMACRO_MEXPAND_TUPLE(const char*fil, int lin) //the constructor fromline 1656
10909 : Melt_CallFrameWithValues<22> (fil,lin, sizeof(MeltFrame_meltrout_114_WARMELTmiMACRO_MEXPAND_TUPLE)) {};
10910 MeltFrame_meltrout_114_WARMELTmiMACRO_MEXPAND_TUPLE(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1661
10911 : Melt_CallFrameWithValues<22> (fil,lin, sizeof(MeltFrame_meltrout_114_WARMELTmiMACRO_MEXPAND_TUPLE), clos) {};
10912 #endif /* ENABLE_CHECKING fromline 1666*/
10914 }; // end class MeltFrame_meltrout_114_WARMELTmiMACRO_MEXPAND_TUPLE
10917 /** end of frame for meltrout_114_WARMELTmiMACRO_MEXPAND_TUPLE fromline 1697**/
10919 /* end of frame for routine meltrout_114_WARMELTmiMACRO_MEXPAND_TUPLE fromline 1756 */
10921 /* classy proc frame meltrout_114_WARMELTmiMACRO_MEXPAND_TUPLE */
10922 MeltFrame_meltrout_114_WARMELTmiMACRO_MEXPAND_TUPLE
10923 meltfram__ /*declfrastruct fromline 1780*/
10924 /*classyprocarg meltrout_114_WARMELTmiMACRO_MEXPAND_TUPLE fromline 1785*/
10925 #if ENABLE_CHECKING
10926 (__FILE__, __LINE__, meltclosp_) /* fromline 1789*/
10927 #else /*ENABLE_CHECKING */
10928 (meltclosp_) /* fromline 1793*/
10929 #endif /*ENABLE_CHECKING */
10932 #define meltframe meltfram__
10934 melt_trace_start("MEXPAND_TUPLE", meltcallcount);
10935 /*use arguments*/
10936 (void) meltclosp_;
10937 (void)meltfirstargp_;
10938 (void)meltxargdescr_;
10939 (void)meltxargtab_;
10940 (void)meltxresdescr_;
10941 (void)meltxrestab_;
10942 /*getargs*/
10944 /*getarg#0*/
10945 MELT_LOCATION("warmelt-macro.melt:6678:/ getarg");
10946 /*_.SEXPR__V2*/
10947 meltfptr[1] = (melt_ptr_t) meltfirstargp_;
10949 /*getarg#1*/
10950 /*^getarg*/
10951 if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_endgetargs;
10952 /*_.ENV__V3*/
10953 meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL;
10954 gcc_assert(melt_discr((melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2])) != NULL);
10957 /*getarg#2*/
10958 /*^getarg*/
10959 if (meltxargdescr_[1] != MELTBPAR_PTR) goto meltlab_endgetargs;
10960 /*_.MEXPANDER__V4*/
10961 meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL;
10962 gcc_assert(melt_discr((melt_ptr_t)(/*_.MEXPANDER__V4*/ meltfptr[3])) != NULL);
10965 /*getarg#3*/
10966 /*^getarg*/
10967 if (meltxargdescr_[2] != MELTBPAR_PTR) goto meltlab_endgetargs;
10968 /*_.MODCTX__V5*/
10969 meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL;
10970 gcc_assert(melt_discr((melt_ptr_t)(/*_.MODCTX__V5*/ meltfptr[4])) != NULL);
10973 goto meltlab_endgetargs;
10974 meltlab_endgetargs:
10976 /*body*/
10977 /*^block*/
10978 /*anyblock*/
10982 #if MELT_HAVE_DEBUG
10983 MELT_LOCATION("warmelt-macro.melt:6679:/ cppif.then");
10984 /*^block*/
10985 /*anyblock*/
10990 /*^locexp*/
10991 /*melt_increment_dbgcounter*/
10992 #if MELT_HAVE_DEBUG
10993 melt_dbgcounter++;
10994 #endif
10999 MELT_CHECK_SIGNAL();
11001 /*_#MELT_NEED_DBG__L1*/
11002 meltfnum[0] =
11003 /*MELT_NEED_DBG*/
11004 #if MELT_HAVE_DEBUG
11005 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
11006 #else
11007 0 /* no melt_need_dbg */
11008 #endif /*MELT_HAVE_DEBUG*/
11010 MELT_LOCATION("warmelt-macro.melt:6679:/ cond");
11011 /*cond*/
11012 if (/*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then*/
11014 /*^cond.then*/
11015 /*^block*/
11016 /*anyblock*/
11019 /*_#MELT_CALLCOUNT__L2*/ meltfnum[1] =
11020 /* for melt_callcount */
11021 #if MELT_HAVE_DEBUG && defined (meltcallcount)
11022 meltcallcount /* melt_callcount debugging */
11023 #else
11024 0L /* melt_callcount without debug */
11025 #endif /* MELT_HAVE_DEBUG melt_callcount */
11028 MELT_CHECK_SIGNAL();
11030 MELT_LOCATION("warmelt-macro.melt:6679:/ apply");
11031 /*apply*/
11033 union meltparam_un argtab[5];
11034 memset(&argtab, 0, sizeof(argtab));
11035 /*^apply.arg*/
11036 argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L2*/ meltfnum[1];
11037 /*^apply.arg*/
11038 argtab[1].meltbp_cstring = "warmelt-macro.melt";
11039 /*^apply.arg*/
11040 argtab[2].meltbp_long = 6679;
11041 /*^apply.arg*/
11042 argtab[3].meltbp_cstring = "mexpand_tuple sexpr=";
11043 /*^apply.arg*/
11044 argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.SEXPR__V2*/ meltfptr[1];
11045 /*_.MELT_DEBUG_FUN__V7*/
11046 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);
11049 /*_._IF___V6*/
11050 meltfptr[5] = /*_.MELT_DEBUG_FUN__V7*/ meltfptr[6];;
11051 /*epilog*/
11053 MELT_LOCATION("warmelt-macro.melt:6679:/ clear");
11054 /*clear*/ /*_#MELT_CALLCOUNT__L2*/
11055 meltfnum[1] = 0 ;
11056 /*^clear*/
11057 /*clear*/ /*_.MELT_DEBUG_FUN__V7*/
11058 meltfptr[6] = 0 ;
11062 else /*^cond.else*/
11065 /*_._IF___V6*/ meltfptr[5] = /*reallynil*/ NULL ;;
11070 MELT_LOCATION("warmelt-macro.melt:6679:/ locexp");
11071 /*void*/
11072 (void)0;
11075 /*^quasiblock*/
11078 /*epilog*/
11080 /*^clear*/
11081 /*clear*/ /*_#MELT_NEED_DBG__L1*/
11082 meltfnum[0] = 0 ;
11083 /*^clear*/
11084 /*clear*/ /*_._IF___V6*/
11085 meltfptr[5] = 0 ;
11088 #else /*MELT_HAVE_DEBUG*/
11089 /*^cppif.else*/
11090 /*^block*/
11091 /*anyblock*/
11096 /*^locexp*/
11097 /*void*/(void)0;
11100 /*epilog*/
11103 #endif /*MELT_HAVE_DEBUG*/
11106 #if MELT_HAVE_DEBUG
11107 MELT_LOCATION("warmelt-macro.melt:6680:/ cppif.then");
11108 /*^block*/
11109 /*anyblock*/
11113 MELT_CHECK_SIGNAL();
11115 /*_#IS_A__L3*/
11116 meltfnum[1] =
11117 melt_is_instance_of((melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_SEXPR*/ meltfrout->tabval[1])));;
11118 MELT_LOCATION("warmelt-macro.melt:6680:/ cond");
11119 /*cond*/
11120 if (/*_#IS_A__L3*/ meltfnum[1]) /*then*/
11122 /*^cond.then*/
11123 /*_._IFELSE___V9*/ meltfptr[5] = (/*nil*/NULL);;
11125 else
11127 MELT_LOCATION("warmelt-macro.melt:6680:/ cond.else");
11129 /*^block*/
11130 /*anyblock*/
11134 MELT_CHECK_SIGNAL();
11136 /*^apply*/
11137 /*apply*/
11139 union meltparam_un argtab[4];
11140 memset(&argtab, 0, sizeof(argtab));
11141 /*^apply.arg*/
11142 argtab[0].meltbp_cstring = "check sexpr";
11143 /*^apply.arg*/
11144 argtab[1].meltbp_cstring = "warmelt-macro.melt";
11145 /*^apply.arg*/
11146 argtab[2].meltbp_long = 6680;
11147 /*^apply.arg*/
11148 argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.SEXPR__V2*/ meltfptr[1];
11149 /*_.MELT_ASSERT_FAILURE_FUN__V10*/
11150 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);
11153 /*_._IFELSE___V9*/
11154 meltfptr[5] = /*_.MELT_ASSERT_FAILURE_FUN__V10*/ meltfptr[9];;
11155 /*epilog*/
11157 MELT_LOCATION("warmelt-macro.melt:6680:/ clear");
11158 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V10*/
11159 meltfptr[9] = 0 ;
11164 /*_.IFCPP___V8*/
11165 meltfptr[6] = /*_._IFELSE___V9*/ meltfptr[5];;
11166 /*epilog*/
11168 MELT_LOCATION("warmelt-macro.melt:6680:/ clear");
11169 /*clear*/ /*_#IS_A__L3*/
11170 meltfnum[1] = 0 ;
11171 /*^clear*/
11172 /*clear*/ /*_._IFELSE___V9*/
11173 meltfptr[5] = 0 ;
11176 #else /*MELT_HAVE_DEBUG*/
11177 /*^cppif.else*/
11178 /*_.IFCPP___V8*/ meltfptr[6] = (/*nil*/NULL);
11179 #endif /*MELT_HAVE_DEBUG*/
11182 #if MELT_HAVE_DEBUG
11183 MELT_LOCATION("warmelt-macro.melt:6681:/ cppif.then");
11184 /*^block*/
11185 /*anyblock*/
11189 MELT_CHECK_SIGNAL();
11191 /*_#IS_A__L4*/
11192 meltfnum[0] =
11193 melt_is_instance_of((melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2]), (melt_ptr_t)((/*!CLASS_ENVIRONMENT*/ meltfrout->tabval[3])));;
11194 MELT_LOCATION("warmelt-macro.melt:6681:/ cond");
11195 /*cond*/
11196 if (/*_#IS_A__L4*/ meltfnum[0]) /*then*/
11198 /*^cond.then*/
11199 /*_._IFELSE___V12*/ meltfptr[5] = (/*nil*/NULL);;
11201 else
11203 MELT_LOCATION("warmelt-macro.melt:6681:/ cond.else");
11205 /*^block*/
11206 /*anyblock*/
11210 MELT_CHECK_SIGNAL();
11212 /*^apply*/
11213 /*apply*/
11215 union meltparam_un argtab[4];
11216 memset(&argtab, 0, sizeof(argtab));
11217 /*^apply.arg*/
11218 argtab[0].meltbp_cstring = "check env";
11219 /*^apply.arg*/
11220 argtab[1].meltbp_cstring = "warmelt-macro.melt";
11221 /*^apply.arg*/
11222 argtab[2].meltbp_long = 6681;
11223 /*^apply.arg*/
11224 argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.ENV__V3*/ meltfptr[2];
11225 /*_.MELT_ASSERT_FAILURE_FUN__V13*/
11226 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);
11229 /*_._IFELSE___V12*/
11230 meltfptr[5] = /*_.MELT_ASSERT_FAILURE_FUN__V13*/ meltfptr[12];;
11231 /*epilog*/
11233 MELT_LOCATION("warmelt-macro.melt:6681:/ clear");
11234 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V13*/
11235 meltfptr[12] = 0 ;
11240 /*_.IFCPP___V11*/
11241 meltfptr[9] = /*_._IFELSE___V12*/ meltfptr[5];;
11242 /*epilog*/
11244 MELT_LOCATION("warmelt-macro.melt:6681:/ clear");
11245 /*clear*/ /*_#IS_A__L4*/
11246 meltfnum[0] = 0 ;
11247 /*^clear*/
11248 /*clear*/ /*_._IFELSE___V12*/
11249 meltfptr[5] = 0 ;
11252 #else /*MELT_HAVE_DEBUG*/
11253 /*^cppif.else*/
11254 /*_.IFCPP___V11*/ meltfptr[9] = (/*nil*/NULL);
11255 #endif /*MELT_HAVE_DEBUG*/
11257 MELT_LOCATION("warmelt-macro.melt:6682:/ quasiblock");
11260 MELT_LOCATION("warmelt-macro.melt:6683:/ getslot");
11262 melt_ptr_t slot=NULL, obj=NULL;
11263 obj = (melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/;
11264 melt_object_get_field(slot,obj, 2, "SEXP_CONTENTS");
11265 /*_.CONT__V15*/
11266 meltfptr[5] = slot;
11269 MELT_LOCATION("warmelt-macro.melt:6684:/ getslot");
11271 melt_ptr_t slot=NULL, obj=NULL;
11272 obj = (melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/;
11273 melt_object_get_field(slot,obj, 1, "LOCA_LOCATION");
11274 /*_.LOC__V16*/
11275 meltfptr[15] = slot;
11279 MELT_CHECK_SIGNAL();
11281 MELT_LOCATION("warmelt-macro.melt:6685:/ apply");
11282 /*apply*/
11284 union meltparam_un argtab[3];
11285 memset(&argtab, 0, sizeof(argtab));
11286 /*^apply.arg*/
11287 argtab[0].meltbp_aptr = (melt_ptr_t*) &/*_.ENV__V3*/ meltfptr[2];
11288 /*^apply.arg*/
11289 argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.MEXPANDER__V4*/ meltfptr[3];
11290 /*^apply.arg*/
11291 argtab[2].meltbp_aptr = (melt_ptr_t*) &/*_.MODCTX__V5*/ meltfptr[4];
11292 /*_.XARGTUP__V17*/
11293 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);
11297 MELT_CHECK_SIGNAL();
11299 MELT_LOCATION("warmelt-macro.melt:6686:/ quasiblock");
11302 /*^rawallocobj*/
11303 /*rawallocobj*/
11305 melt_ptr_t newobj = 0;
11306 melt_raw_object_create(newobj,(melt_ptr_t)((/*!CLASS_SOURCE_TUPLE*/ meltfrout->tabval[5])), (3), "CLASS_SOURCE_TUPLE");
11307 /*_.INST__V19*/
11308 meltfptr[18] =
11309 newobj;
11312 /*^putslot*/
11313 /*putslot*/
11314 melt_assertmsg("checkobj putslot _ @LOCA_LOCATION", melt_magic_discr((melt_ptr_t)(/*_.INST__V19*/ meltfptr[18])) == MELTOBMAG_OBJECT);
11315 melt_putfield_object((/*_.INST__V19*/ meltfptr[18]), (1), (/*_.LOC__V16*/ meltfptr[15]), "LOCA_LOCATION");
11317 /*^putslot*/
11318 /*putslot*/
11319 melt_assertmsg("checkobj putslot _ @SARGOP_ARGS", melt_magic_discr((melt_ptr_t)(/*_.INST__V19*/ meltfptr[18])) == MELTOBMAG_OBJECT);
11320 melt_putfield_object((/*_.INST__V19*/ meltfptr[18]), (2), (/*_.XARGTUP__V17*/ meltfptr[16]), "SARGOP_ARGS");
11322 /*^touchobj*/
11324 melt_dbgtrace_written_object (/*_.INST__V19*/ meltfptr[18], "newly made instance");
11326 /*_.RES__V18*/
11327 meltfptr[17] = /*_.INST__V19*/ meltfptr[18];;
11329 #if MELT_HAVE_DEBUG
11330 MELT_LOCATION("warmelt-macro.melt:6690:/ cppif.then");
11331 /*^block*/
11332 /*anyblock*/
11337 /*^locexp*/
11338 /*melt_increment_dbgcounter*/
11339 #if MELT_HAVE_DEBUG
11340 melt_dbgcounter++;
11341 #endif
11346 MELT_CHECK_SIGNAL();
11348 /*_#MELT_NEED_DBG__L5*/
11349 meltfnum[1] =
11350 /*MELT_NEED_DBG*/
11351 #if MELT_HAVE_DEBUG
11352 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
11353 #else
11354 0 /* no melt_need_dbg */
11355 #endif /*MELT_HAVE_DEBUG*/
11357 MELT_LOCATION("warmelt-macro.melt:6690:/ cond");
11358 /*cond*/
11359 if (/*_#MELT_NEED_DBG__L5*/ meltfnum[1]) /*then*/
11361 /*^cond.then*/
11362 /*^block*/
11363 /*anyblock*/
11366 /*_#MELT_CALLCOUNT__L6*/ meltfnum[0] =
11367 /* for melt_callcount */
11368 #if MELT_HAVE_DEBUG && defined (meltcallcount)
11369 meltcallcount /* melt_callcount debugging */
11370 #else
11371 0L /* melt_callcount without debug */
11372 #endif /* MELT_HAVE_DEBUG melt_callcount */
11375 MELT_CHECK_SIGNAL();
11377 MELT_LOCATION("warmelt-macro.melt:6690:/ apply");
11378 /*apply*/
11380 union meltparam_un argtab[5];
11381 memset(&argtab, 0, sizeof(argtab));
11382 /*^apply.arg*/
11383 argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L6*/ meltfnum[0];
11384 /*^apply.arg*/
11385 argtab[1].meltbp_cstring = "warmelt-macro.melt";
11386 /*^apply.arg*/
11387 argtab[2].meltbp_long = 6690;
11388 /*^apply.arg*/
11389 argtab[3].meltbp_cstring = "mexpand_tuple result";
11390 /*^apply.arg*/
11391 argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.RES__V18*/ meltfptr[17];
11392 /*_.MELT_DEBUG_FUN__V21*/
11393 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);
11396 /*_._IF___V20*/
11397 meltfptr[19] = /*_.MELT_DEBUG_FUN__V21*/ meltfptr[20];;
11398 /*epilog*/
11400 MELT_LOCATION("warmelt-macro.melt:6690:/ clear");
11401 /*clear*/ /*_#MELT_CALLCOUNT__L6*/
11402 meltfnum[0] = 0 ;
11403 /*^clear*/
11404 /*clear*/ /*_.MELT_DEBUG_FUN__V21*/
11405 meltfptr[20] = 0 ;
11409 else /*^cond.else*/
11412 /*_._IF___V20*/ meltfptr[19] = /*reallynil*/ NULL ;;
11417 MELT_LOCATION("warmelt-macro.melt:6690:/ locexp");
11418 /*void*/
11419 (void)0;
11422 /*^quasiblock*/
11425 /*epilog*/
11427 /*^clear*/
11428 /*clear*/ /*_#MELT_NEED_DBG__L5*/
11429 meltfnum[1] = 0 ;
11430 /*^clear*/
11431 /*clear*/ /*_._IF___V20*/
11432 meltfptr[19] = 0 ;
11435 #else /*MELT_HAVE_DEBUG*/
11436 /*^cppif.else*/
11437 /*^block*/
11438 /*anyblock*/
11443 /*^locexp*/
11444 /*void*/(void)0;
11447 /*epilog*/
11450 #endif /*MELT_HAVE_DEBUG*/
11453 MELT_CHECK_SIGNAL();
11455 MELT_LOCATION("warmelt-macro.melt:6691:/ quasiblock");
11458 /*_._RETVAL___V1*/
11459 meltfptr[0] = /*_.RES__V18*/ meltfptr[17];;
11462 MELT_LOCATION("warmelt-macro.melt:6691:/ locexp");
11463 /*ochecknores compilobj_nrep_return*/
11464 #if MELT_HAVE_DEBUG
11465 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
11466 melt_warn_for_no_expected_secondary_results();
11467 /* we warned when secondary results are expected but not returned. */
11468 #endif /*MELT_HAVE_DEBUG*/
11472 /*^finalreturn*/
11474 /*finalret*/
11475 goto meltlabend_rout ;
11476 /*_.LET___V14*/
11477 meltfptr[12] = /*_.RETURN___V22*/ meltfptr[20];;
11479 MELT_LOCATION("warmelt-macro.melt:6682:/ clear");
11480 /*clear*/ /*_.CONT__V15*/
11481 meltfptr[5] = 0 ;
11482 /*^clear*/
11483 /*clear*/ /*_.LOC__V16*/
11484 meltfptr[15] = 0 ;
11485 /*^clear*/
11486 /*clear*/ /*_.XARGTUP__V17*/
11487 meltfptr[16] = 0 ;
11488 /*^clear*/
11489 /*clear*/ /*_.RES__V18*/
11490 meltfptr[17] = 0 ;
11491 /*^clear*/
11492 /*clear*/ /*_.RETURN___V22*/
11493 meltfptr[20] = 0 ;
11495 MELT_CHECK_SIGNAL();
11497 MELT_LOCATION("warmelt-macro.melt:6678:/ quasiblock");
11500 /*_._RETVAL___V1*/
11501 meltfptr[0] = /*_.LET___V14*/ meltfptr[12];;
11504 MELT_LOCATION("warmelt-macro.melt:6678:/ locexp");
11505 /*ochecknores compilobj_nrep_return*/
11506 #if MELT_HAVE_DEBUG
11507 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
11508 melt_warn_for_no_expected_secondary_results();
11509 /* we warned when secondary results are expected but not returned. */
11510 #endif /*MELT_HAVE_DEBUG*/
11514 /*^finalreturn*/
11516 /*finalret*/
11517 goto meltlabend_rout ;
11518 /*epilog*/
11520 /*^clear*/
11521 /*clear*/ /*_.IFCPP___V8*/
11522 meltfptr[6] = 0 ;
11523 /*^clear*/
11524 /*clear*/ /*_.IFCPP___V11*/
11525 meltfptr[9] = 0 ;
11526 /*^clear*/
11527 /*clear*/ /*_.LET___V14*/
11528 meltfptr[12] = 0 ;
11532 goto meltlabend_rout;
11533 meltlabend_rout:
11534 melt_trace_end("MEXPAND_TUPLE", meltcallcount);
11535 melt_blocklevel_signals = current_blocklevel_signals_meltrout_114_WARMELTmiMACRO_MEXPAND_TUPLE_melt;
11536 return (melt_ptr_t)(/*_._RETVAL___V1*/ meltfptr[0]);
11537 #undef meltcallcount
11538 #undef meltfram__
11539 #undef MELTFRAM_NBVARNUM
11540 #undef MELTFRAM_NBVARPTR
11541 } /*end meltrout_114_WARMELTmiMACRO_MEXPAND_TUPLE*/
11548 melt_ptr_t MELT_MODULE_VISIBILITY
11549 meltrout_115_WARMELTmiMACRO_PATEXPAND_TUPLE(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_,
11550 const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_)
11552 long current_blocklevel_signals_meltrout_115_WARMELTmiMACRO_PATEXPAND_TUPLE_melt = melt_blocklevel_signals;
11554 #if MELT_HAVE_DEBUG
11555 static long melt_call_counter__;
11556 long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__;
11557 #undef meltcallcount
11558 #define meltcallcount melt_thiscallcounter__
11559 #else
11560 #undef meltcallcount
11561 #define meltcallcount 0L
11562 #endif
11563 //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1538
11565 /* start of frame for routine meltrout_115_WARMELTmiMACRO_PATEXPAND_TUPLE fromline 1752 */
11567 /** start of frame for meltrout_115_WARMELTmiMACRO_PATEXPAND_TUPLE of CLASS_PROCROUTINEOBJ from 1555**/
11569 /*curframdeclclassy*/ class MeltFrame_meltrout_115_WARMELTmiMACRO_PATEXPAND_TUPLE// fromline 1568
11570 : public Melt_CallFrameWithValues<26>
11572 public: /* fromline 1572*/
11573 long mcfr_varnum[7];
11574 /*classy others*/
11575 long _meltsparel;
11576 void melt_mark_stuff (void)
11578 } /*end melt_mark_stuff*/
11579 virtual void melt_mark_ggc_data (void)
11581 melt_mark_values ();
11582 melt_mark_stuff ();
11583 }; /*end melt_mark_ggc_data*/
11584 MeltFrame_meltrout_115_WARMELTmiMACRO_PATEXPAND_TUPLE(meltclosure_ptr_t clos) //the closure constructor fromline 1630
11585 : Melt_CallFrameWithValues<26> (
11586 #if ENABLE_CHECKING /*fromline 1634*/
11587 __FILE__, __LINE__,
11588 #endif /* ENABLE_CHECKING fromline 1638*/
11589 sizeof(MeltFrame_meltrout_115_WARMELTmiMACRO_PATEXPAND_TUPLE), clos) {};
11590 MeltFrame_meltrout_115_WARMELTmiMACRO_PATEXPAND_TUPLE() //the constructor fromline 1642
11591 : Melt_CallFrameWithValues<26> (
11592 #if ENABLE_CHECKING /*fromline 1646*/
11593 __FILE__, __LINE__,
11594 #endif /* ENABLE_CHECKING fromline 1650*/
11595 sizeof(MeltFrame_meltrout_115_WARMELTmiMACRO_PATEXPAND_TUPLE)) {};
11596 #if ENABLE_CHECKING /*fromline 1654*/
11597 MeltFrame_meltrout_115_WARMELTmiMACRO_PATEXPAND_TUPLE(const char*fil, int lin) //the constructor fromline 1656
11598 : Melt_CallFrameWithValues<26> (fil,lin, sizeof(MeltFrame_meltrout_115_WARMELTmiMACRO_PATEXPAND_TUPLE)) {};
11599 MeltFrame_meltrout_115_WARMELTmiMACRO_PATEXPAND_TUPLE(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1661
11600 : Melt_CallFrameWithValues<26> (fil,lin, sizeof(MeltFrame_meltrout_115_WARMELTmiMACRO_PATEXPAND_TUPLE), clos) {};
11601 #endif /* ENABLE_CHECKING fromline 1666*/
11603 }; // end class MeltFrame_meltrout_115_WARMELTmiMACRO_PATEXPAND_TUPLE
11606 /** end of frame for meltrout_115_WARMELTmiMACRO_PATEXPAND_TUPLE fromline 1697**/
11608 /* end of frame for routine meltrout_115_WARMELTmiMACRO_PATEXPAND_TUPLE fromline 1756 */
11610 /* classy proc frame meltrout_115_WARMELTmiMACRO_PATEXPAND_TUPLE */
11611 MeltFrame_meltrout_115_WARMELTmiMACRO_PATEXPAND_TUPLE
11612 meltfram__ /*declfrastruct fromline 1780*/
11613 /*classyprocarg meltrout_115_WARMELTmiMACRO_PATEXPAND_TUPLE fromline 1785*/
11614 #if ENABLE_CHECKING
11615 (__FILE__, __LINE__, meltclosp_) /* fromline 1789*/
11616 #else /*ENABLE_CHECKING */
11617 (meltclosp_) /* fromline 1793*/
11618 #endif /*ENABLE_CHECKING */
11621 #define meltframe meltfram__
11623 melt_trace_start("PATEXPAND_TUPLE", meltcallcount);
11624 /*use arguments*/
11625 (void) meltclosp_;
11626 (void)meltfirstargp_;
11627 (void)meltxargdescr_;
11628 (void)meltxargtab_;
11629 (void)meltxresdescr_;
11630 (void)meltxrestab_;
11631 /*getargs*/
11633 /*getarg#0*/
11634 MELT_LOCATION("warmelt-macro.melt:6695:/ getarg");
11635 /*_.SEXPR__V2*/
11636 meltfptr[1] = (melt_ptr_t) meltfirstargp_;
11638 /*getarg#1*/
11639 /*^getarg*/
11640 if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_endgetargs;
11641 /*_.ENV__V3*/
11642 meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL;
11643 gcc_assert(melt_discr((melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2])) != NULL);
11646 /*getarg#2*/
11647 /*^getarg*/
11648 if (meltxargdescr_[1] != MELTBPAR_PTR) goto meltlab_endgetargs;
11649 /*_.PCTX__V4*/
11650 meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL;
11651 gcc_assert(melt_discr((melt_ptr_t)(/*_.PCTX__V4*/ meltfptr[3])) != NULL);
11654 goto meltlab_endgetargs;
11655 meltlab_endgetargs:
11657 /*body*/
11658 /*^block*/
11659 /*anyblock*/
11663 #if MELT_HAVE_DEBUG
11664 MELT_LOCATION("warmelt-macro.melt:6696:/ cppif.then");
11665 /*^block*/
11666 /*anyblock*/
11671 /*^locexp*/
11672 /*melt_increment_dbgcounter*/
11673 #if MELT_HAVE_DEBUG
11674 melt_dbgcounter++;
11675 #endif
11680 MELT_CHECK_SIGNAL();
11682 /*_#MELT_NEED_DBG__L1*/
11683 meltfnum[0] =
11684 /*MELT_NEED_DBG*/
11685 #if MELT_HAVE_DEBUG
11686 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
11687 #else
11688 0 /* no melt_need_dbg */
11689 #endif /*MELT_HAVE_DEBUG*/
11691 MELT_LOCATION("warmelt-macro.melt:6696:/ cond");
11692 /*cond*/
11693 if (/*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then*/
11695 /*^cond.then*/
11696 /*^block*/
11697 /*anyblock*/
11700 /*_#MELT_CALLCOUNT__L2*/ meltfnum[1] =
11701 /* for melt_callcount */
11702 #if MELT_HAVE_DEBUG && defined (meltcallcount)
11703 meltcallcount /* melt_callcount debugging */
11704 #else
11705 0L /* melt_callcount without debug */
11706 #endif /* MELT_HAVE_DEBUG melt_callcount */
11709 MELT_CHECK_SIGNAL();
11711 MELT_LOCATION("warmelt-macro.melt:6696:/ apply");
11712 /*apply*/
11714 union meltparam_un argtab[5];
11715 memset(&argtab, 0, sizeof(argtab));
11716 /*^apply.arg*/
11717 argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L2*/ meltfnum[1];
11718 /*^apply.arg*/
11719 argtab[1].meltbp_cstring = "warmelt-macro.melt";
11720 /*^apply.arg*/
11721 argtab[2].meltbp_long = 6696;
11722 /*^apply.arg*/
11723 argtab[3].meltbp_cstring = "patexpand_tuple sexpr=";
11724 /*^apply.arg*/
11725 argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.SEXPR__V2*/ meltfptr[1];
11726 /*_.MELT_DEBUG_FUN__V6*/
11727 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);
11730 /*_._IF___V5*/
11731 meltfptr[4] = /*_.MELT_DEBUG_FUN__V6*/ meltfptr[5];;
11732 /*epilog*/
11734 MELT_LOCATION("warmelt-macro.melt:6696:/ clear");
11735 /*clear*/ /*_#MELT_CALLCOUNT__L2*/
11736 meltfnum[1] = 0 ;
11737 /*^clear*/
11738 /*clear*/ /*_.MELT_DEBUG_FUN__V6*/
11739 meltfptr[5] = 0 ;
11743 else /*^cond.else*/
11746 /*_._IF___V5*/ meltfptr[4] = /*reallynil*/ NULL ;;
11751 MELT_LOCATION("warmelt-macro.melt:6696:/ locexp");
11752 /*void*/
11753 (void)0;
11756 /*^quasiblock*/
11759 /*epilog*/
11761 /*^clear*/
11762 /*clear*/ /*_#MELT_NEED_DBG__L1*/
11763 meltfnum[0] = 0 ;
11764 /*^clear*/
11765 /*clear*/ /*_._IF___V5*/
11766 meltfptr[4] = 0 ;
11769 #else /*MELT_HAVE_DEBUG*/
11770 /*^cppif.else*/
11771 /*^block*/
11772 /*anyblock*/
11777 /*^locexp*/
11778 /*void*/(void)0;
11781 /*epilog*/
11784 #endif /*MELT_HAVE_DEBUG*/
11787 #if MELT_HAVE_DEBUG
11788 MELT_LOCATION("warmelt-macro.melt:6697:/ cppif.then");
11789 /*^block*/
11790 /*anyblock*/
11794 MELT_CHECK_SIGNAL();
11796 /*_#IS_A__L3*/
11797 meltfnum[1] =
11798 melt_is_instance_of((melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_SEXPR*/ meltfrout->tabval[1])));;
11799 MELT_LOCATION("warmelt-macro.melt:6697:/ cond");
11800 /*cond*/
11801 if (/*_#IS_A__L3*/ meltfnum[1]) /*then*/
11803 /*^cond.then*/
11804 /*_._IFELSE___V8*/ meltfptr[4] = (/*nil*/NULL);;
11806 else
11808 MELT_LOCATION("warmelt-macro.melt:6697:/ cond.else");
11810 /*^block*/
11811 /*anyblock*/
11815 MELT_CHECK_SIGNAL();
11817 /*^apply*/
11818 /*apply*/
11820 union meltparam_un argtab[4];
11821 memset(&argtab, 0, sizeof(argtab));
11822 /*^apply.arg*/
11823 argtab[0].meltbp_cstring = "check sexpr";
11824 /*^apply.arg*/
11825 argtab[1].meltbp_cstring = "warmelt-macro.melt";
11826 /*^apply.arg*/
11827 argtab[2].meltbp_long = 6697;
11828 /*^apply.arg*/
11829 argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.SEXPR__V2*/ meltfptr[1];
11830 /*_.MELT_ASSERT_FAILURE_FUN__V9*/
11831 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);
11834 /*_._IFELSE___V8*/
11835 meltfptr[4] = /*_.MELT_ASSERT_FAILURE_FUN__V9*/ meltfptr[8];;
11836 /*epilog*/
11838 MELT_LOCATION("warmelt-macro.melt:6697:/ clear");
11839 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V9*/
11840 meltfptr[8] = 0 ;
11845 /*_.IFCPP___V7*/
11846 meltfptr[5] = /*_._IFELSE___V8*/ meltfptr[4];;
11847 /*epilog*/
11849 MELT_LOCATION("warmelt-macro.melt:6697:/ clear");
11850 /*clear*/ /*_#IS_A__L3*/
11851 meltfnum[1] = 0 ;
11852 /*^clear*/
11853 /*clear*/ /*_._IFELSE___V8*/
11854 meltfptr[4] = 0 ;
11857 #else /*MELT_HAVE_DEBUG*/
11858 /*^cppif.else*/
11859 /*_.IFCPP___V7*/ meltfptr[5] = (/*nil*/NULL);
11860 #endif /*MELT_HAVE_DEBUG*/
11863 #if MELT_HAVE_DEBUG
11864 MELT_LOCATION("warmelt-macro.melt:6698:/ cppif.then");
11865 /*^block*/
11866 /*anyblock*/
11870 MELT_CHECK_SIGNAL();
11872 /*_#IS_A__L4*/
11873 meltfnum[0] =
11874 melt_is_instance_of((melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2]), (melt_ptr_t)((/*!CLASS_ENVIRONMENT*/ meltfrout->tabval[3])));;
11875 MELT_LOCATION("warmelt-macro.melt:6698:/ cond");
11876 /*cond*/
11877 if (/*_#IS_A__L4*/ meltfnum[0]) /*then*/
11879 /*^cond.then*/
11880 /*_._IFELSE___V11*/ meltfptr[4] = (/*nil*/NULL);;
11882 else
11884 MELT_LOCATION("warmelt-macro.melt:6698:/ cond.else");
11886 /*^block*/
11887 /*anyblock*/
11891 MELT_CHECK_SIGNAL();
11893 /*^apply*/
11894 /*apply*/
11896 union meltparam_un argtab[4];
11897 memset(&argtab, 0, sizeof(argtab));
11898 /*^apply.arg*/
11899 argtab[0].meltbp_cstring = "check env";
11900 /*^apply.arg*/
11901 argtab[1].meltbp_cstring = "warmelt-macro.melt";
11902 /*^apply.arg*/
11903 argtab[2].meltbp_long = 6698;
11904 /*^apply.arg*/
11905 argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.ENV__V3*/ meltfptr[2];
11906 /*_.MELT_ASSERT_FAILURE_FUN__V12*/
11907 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);
11910 /*_._IFELSE___V11*/
11911 meltfptr[4] = /*_.MELT_ASSERT_FAILURE_FUN__V12*/ meltfptr[11];;
11912 /*epilog*/
11914 MELT_LOCATION("warmelt-macro.melt:6698:/ clear");
11915 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V12*/
11916 meltfptr[11] = 0 ;
11921 /*_.IFCPP___V10*/
11922 meltfptr[8] = /*_._IFELSE___V11*/ meltfptr[4];;
11923 /*epilog*/
11925 MELT_LOCATION("warmelt-macro.melt:6698:/ clear");
11926 /*clear*/ /*_#IS_A__L4*/
11927 meltfnum[0] = 0 ;
11928 /*^clear*/
11929 /*clear*/ /*_._IFELSE___V11*/
11930 meltfptr[4] = 0 ;
11933 #else /*MELT_HAVE_DEBUG*/
11934 /*^cppif.else*/
11935 /*_.IFCPP___V10*/ meltfptr[8] = (/*nil*/NULL);
11936 #endif /*MELT_HAVE_DEBUG*/
11939 #if MELT_HAVE_DEBUG
11940 MELT_LOCATION("warmelt-macro.melt:6699:/ cppif.then");
11941 /*^block*/
11942 /*anyblock*/
11946 MELT_CHECK_SIGNAL();
11948 /*_#IS_A__L5*/
11949 meltfnum[1] =
11950 melt_is_instance_of((melt_ptr_t)(/*_.PCTX__V4*/ meltfptr[3]), (melt_ptr_t)((/*!CLASS_PATTERN_EXPANSION_CONTEXT*/ meltfrout->tabval[4])));;
11951 MELT_LOCATION("warmelt-macro.melt:6699:/ cond");
11952 /*cond*/
11953 if (/*_#IS_A__L5*/ meltfnum[1]) /*then*/
11955 /*^cond.then*/
11956 /*_._IFELSE___V14*/ meltfptr[4] = (/*nil*/NULL);;
11958 else
11960 MELT_LOCATION("warmelt-macro.melt:6699:/ cond.else");
11962 /*^block*/
11963 /*anyblock*/
11967 MELT_CHECK_SIGNAL();
11969 /*^apply*/
11970 /*apply*/
11972 union meltparam_un argtab[4];
11973 memset(&argtab, 0, sizeof(argtab));
11974 /*^apply.arg*/
11975 argtab[0].meltbp_cstring = "check pctx";
11976 /*^apply.arg*/
11977 argtab[1].meltbp_cstring = "warmelt-macro.melt";
11978 /*^apply.arg*/
11979 argtab[2].meltbp_long = 6699;
11980 /*^apply.arg*/
11981 argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.PCTX__V4*/ meltfptr[3];
11982 /*_.MELT_ASSERT_FAILURE_FUN__V15*/
11983 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);
11986 /*_._IFELSE___V14*/
11987 meltfptr[4] = /*_.MELT_ASSERT_FAILURE_FUN__V15*/ meltfptr[14];;
11988 /*epilog*/
11990 MELT_LOCATION("warmelt-macro.melt:6699:/ clear");
11991 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V15*/
11992 meltfptr[14] = 0 ;
11997 /*_.IFCPP___V13*/
11998 meltfptr[11] = /*_._IFELSE___V14*/ meltfptr[4];;
11999 /*epilog*/
12001 MELT_LOCATION("warmelt-macro.melt:6699:/ clear");
12002 /*clear*/ /*_#IS_A__L5*/
12003 meltfnum[1] = 0 ;
12004 /*^clear*/
12005 /*clear*/ /*_._IFELSE___V14*/
12006 meltfptr[4] = 0 ;
12009 #else /*MELT_HAVE_DEBUG*/
12010 /*^cppif.else*/
12011 /*_.IFCPP___V13*/ meltfptr[11] = (/*nil*/NULL);
12012 #endif /*MELT_HAVE_DEBUG*/
12014 MELT_LOCATION("warmelt-macro.melt:6700:/ quasiblock");
12017 MELT_LOCATION("warmelt-macro.melt:6701:/ getslot");
12019 melt_ptr_t slot=NULL, obj=NULL;
12020 obj = (melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/;
12021 melt_object_get_field(slot,obj, 2, "SEXP_CONTENTS");
12022 /*_.CONT__V17*/
12023 meltfptr[4] = slot;
12026 MELT_LOCATION("warmelt-macro.melt:6702:/ getslot");
12028 melt_ptr_t slot=NULL, obj=NULL;
12029 obj = (melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/;
12030 melt_object_get_field(slot,obj, 1, "LOCA_LOCATION");
12031 /*_.LOC__V18*/
12032 meltfptr[17] = slot;
12035 /*_.LIST_FIRST__V19*/
12036 meltfptr[18] =
12037 (melt_list_first((melt_ptr_t)(/*_.CONT__V17*/ meltfptr[4])));;
12038 /*^compute*/
12039 /*_.CURPAIR__V20*/
12040 meltfptr[19] =
12041 (melt_pair_tail((melt_ptr_t)(/*_.LIST_FIRST__V19*/ meltfptr[18])));;
12043 MELT_CHECK_SIGNAL();
12045 MELT_LOCATION("warmelt-macro.melt:6704:/ apply");
12046 /*apply*/
12048 union meltparam_un argtab[3];
12049 memset(&argtab, 0, sizeof(argtab));
12050 /*^apply.arg*/
12051 argtab[0].meltbp_aptr = (melt_ptr_t*) &/*_.ENV__V3*/ meltfptr[2];
12052 /*^apply.arg*/
12053 argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.PCTX__V4*/ meltfptr[3];
12054 /*^apply.arg*/
12055 argtab[2].meltbp_aptr = (melt_ptr_t*) &/*_.LOC__V18*/ meltfptr[17];
12056 /*_.ARGSP__V21*/
12057 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);
12061 MELT_CHECK_SIGNAL();
12063 MELT_LOCATION("warmelt-macro.melt:6705:/ quasiblock");
12066 /*^rawallocobj*/
12067 /*rawallocobj*/
12069 melt_ptr_t newobj = 0;
12070 melt_raw_object_create(newobj,(melt_ptr_t)((/*!CLASS_SOURCE_PATTERN_TUPLE*/ meltfrout->tabval[6])), (4), "CLASS_SOURCE_PATTERN_TUPLE");
12071 /*_.INST__V23*/
12072 meltfptr[22] =
12073 newobj;
12076 /*^putslot*/
12077 /*putslot*/
12078 melt_assertmsg("checkobj putslot _ @LOCA_LOCATION", melt_magic_discr((melt_ptr_t)(/*_.INST__V23*/ meltfptr[22])) == MELTOBMAG_OBJECT);
12079 melt_putfield_object((/*_.INST__V23*/ meltfptr[22]), (1), (/*_.LOC__V18*/ meltfptr[17]), "LOCA_LOCATION");
12081 /*^putslot*/
12082 /*putslot*/
12083 melt_assertmsg("checkobj putslot _ @CTPAT_SUBPA", melt_magic_discr((melt_ptr_t)(/*_.INST__V23*/ meltfptr[22])) == MELTOBMAG_OBJECT);
12084 melt_putfield_object((/*_.INST__V23*/ meltfptr[22]), (3), (/*_.ARGSP__V21*/ meltfptr[20]), "CTPAT_SUBPA");
12086 /*^touchobj*/
12088 melt_dbgtrace_written_object (/*_.INST__V23*/ meltfptr[22], "newly made instance");
12090 /*_.RES__V22*/
12091 meltfptr[21] = /*_.INST__V23*/ meltfptr[22];;
12093 #if MELT_HAVE_DEBUG
12094 MELT_LOCATION("warmelt-macro.melt:6709:/ cppif.then");
12095 /*^block*/
12096 /*anyblock*/
12101 /*^locexp*/
12102 /*melt_increment_dbgcounter*/
12103 #if MELT_HAVE_DEBUG
12104 melt_dbgcounter++;
12105 #endif
12110 MELT_CHECK_SIGNAL();
12112 /*_#MELT_NEED_DBG__L6*/
12113 meltfnum[0] =
12114 /*MELT_NEED_DBG*/
12115 #if MELT_HAVE_DEBUG
12116 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
12117 #else
12118 0 /* no melt_need_dbg */
12119 #endif /*MELT_HAVE_DEBUG*/
12121 MELT_LOCATION("warmelt-macro.melt:6709:/ cond");
12122 /*cond*/
12123 if (/*_#MELT_NEED_DBG__L6*/ meltfnum[0]) /*then*/
12125 /*^cond.then*/
12126 /*^block*/
12127 /*anyblock*/
12130 /*_#MELT_CALLCOUNT__L7*/ meltfnum[1] =
12131 /* for melt_callcount */
12132 #if MELT_HAVE_DEBUG && defined (meltcallcount)
12133 meltcallcount /* melt_callcount debugging */
12134 #else
12135 0L /* melt_callcount without debug */
12136 #endif /* MELT_HAVE_DEBUG melt_callcount */
12139 MELT_CHECK_SIGNAL();
12141 MELT_LOCATION("warmelt-macro.melt:6709:/ apply");
12142 /*apply*/
12144 union meltparam_un argtab[5];
12145 memset(&argtab, 0, sizeof(argtab));
12146 /*^apply.arg*/
12147 argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L7*/ meltfnum[1];
12148 /*^apply.arg*/
12149 argtab[1].meltbp_cstring = "warmelt-macro.melt";
12150 /*^apply.arg*/
12151 argtab[2].meltbp_long = 6709;
12152 /*^apply.arg*/
12153 argtab[3].meltbp_cstring = "patexpand_tuple res";
12154 /*^apply.arg*/
12155 argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.RES__V22*/ meltfptr[21];
12156 /*_.MELT_DEBUG_FUN__V25*/
12157 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);
12160 /*_._IF___V24*/
12161 meltfptr[23] = /*_.MELT_DEBUG_FUN__V25*/ meltfptr[24];;
12162 /*epilog*/
12164 MELT_LOCATION("warmelt-macro.melt:6709:/ clear");
12165 /*clear*/ /*_#MELT_CALLCOUNT__L7*/
12166 meltfnum[1] = 0 ;
12167 /*^clear*/
12168 /*clear*/ /*_.MELT_DEBUG_FUN__V25*/
12169 meltfptr[24] = 0 ;
12173 else /*^cond.else*/
12176 /*_._IF___V24*/ meltfptr[23] = /*reallynil*/ NULL ;;
12181 MELT_LOCATION("warmelt-macro.melt:6709:/ locexp");
12182 /*void*/
12183 (void)0;
12186 /*^quasiblock*/
12189 /*epilog*/
12191 /*^clear*/
12192 /*clear*/ /*_#MELT_NEED_DBG__L6*/
12193 meltfnum[0] = 0 ;
12194 /*^clear*/
12195 /*clear*/ /*_._IF___V24*/
12196 meltfptr[23] = 0 ;
12199 #else /*MELT_HAVE_DEBUG*/
12200 /*^cppif.else*/
12201 /*^block*/
12202 /*anyblock*/
12207 /*^locexp*/
12208 /*void*/(void)0;
12211 /*epilog*/
12214 #endif /*MELT_HAVE_DEBUG*/
12217 MELT_CHECK_SIGNAL();
12219 MELT_LOCATION("warmelt-macro.melt:6710:/ quasiblock");
12222 /*_._RETVAL___V1*/
12223 meltfptr[0] = /*_.RES__V22*/ meltfptr[21];;
12226 MELT_LOCATION("warmelt-macro.melt:6710:/ locexp");
12227 /*ochecknores compilobj_nrep_return*/
12228 #if MELT_HAVE_DEBUG
12229 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
12230 melt_warn_for_no_expected_secondary_results();
12231 /* we warned when secondary results are expected but not returned. */
12232 #endif /*MELT_HAVE_DEBUG*/
12236 /*^finalreturn*/
12238 /*finalret*/
12239 goto meltlabend_rout ;
12240 /*_.LET___V16*/
12241 meltfptr[14] = /*_.RETURN___V26*/ meltfptr[24];;
12243 MELT_LOCATION("warmelt-macro.melt:6700:/ clear");
12244 /*clear*/ /*_.CONT__V17*/
12245 meltfptr[4] = 0 ;
12246 /*^clear*/
12247 /*clear*/ /*_.LOC__V18*/
12248 meltfptr[17] = 0 ;
12249 /*^clear*/
12250 /*clear*/ /*_.LIST_FIRST__V19*/
12251 meltfptr[18] = 0 ;
12252 /*^clear*/
12253 /*clear*/ /*_.CURPAIR__V20*/
12254 meltfptr[19] = 0 ;
12255 /*^clear*/
12256 /*clear*/ /*_.ARGSP__V21*/
12257 meltfptr[20] = 0 ;
12258 /*^clear*/
12259 /*clear*/ /*_.RES__V22*/
12260 meltfptr[21] = 0 ;
12261 /*^clear*/
12262 /*clear*/ /*_.RETURN___V26*/
12263 meltfptr[24] = 0 ;
12265 MELT_CHECK_SIGNAL();
12267 MELT_LOCATION("warmelt-macro.melt:6695:/ quasiblock");
12270 /*_._RETVAL___V1*/
12271 meltfptr[0] = /*_.LET___V16*/ meltfptr[14];;
12274 MELT_LOCATION("warmelt-macro.melt:6695:/ locexp");
12275 /*ochecknores compilobj_nrep_return*/
12276 #if MELT_HAVE_DEBUG
12277 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
12278 melt_warn_for_no_expected_secondary_results();
12279 /* we warned when secondary results are expected but not returned. */
12280 #endif /*MELT_HAVE_DEBUG*/
12284 /*^finalreturn*/
12286 /*finalret*/
12287 goto meltlabend_rout ;
12288 /*epilog*/
12290 /*^clear*/
12291 /*clear*/ /*_.IFCPP___V7*/
12292 meltfptr[5] = 0 ;
12293 /*^clear*/
12294 /*clear*/ /*_.IFCPP___V10*/
12295 meltfptr[8] = 0 ;
12296 /*^clear*/
12297 /*clear*/ /*_.IFCPP___V13*/
12298 meltfptr[11] = 0 ;
12299 /*^clear*/
12300 /*clear*/ /*_.LET___V16*/
12301 meltfptr[14] = 0 ;
12305 goto meltlabend_rout;
12306 meltlabend_rout:
12307 melt_trace_end("PATEXPAND_TUPLE", meltcallcount);
12308 melt_blocklevel_signals = current_blocklevel_signals_meltrout_115_WARMELTmiMACRO_PATEXPAND_TUPLE_melt;
12309 return (melt_ptr_t)(/*_._RETVAL___V1*/ meltfptr[0]);
12310 #undef meltcallcount
12311 #undef meltfram__
12312 #undef MELTFRAM_NBVARNUM
12313 #undef MELTFRAM_NBVARPTR
12314 } /*end meltrout_115_WARMELTmiMACRO_PATEXPAND_TUPLE*/
12321 melt_ptr_t MELT_MODULE_VISIBILITY
12322 meltrout_116_WARMELTmiMACRO_MEXPAND_LIST(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_,
12323 const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_)
12325 long current_blocklevel_signals_meltrout_116_WARMELTmiMACRO_MEXPAND_LIST_melt = melt_blocklevel_signals;
12327 #if MELT_HAVE_DEBUG
12328 static long melt_call_counter__;
12329 long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__;
12330 #undef meltcallcount
12331 #define meltcallcount melt_thiscallcounter__
12332 #else
12333 #undef meltcallcount
12334 #define meltcallcount 0L
12335 #endif
12336 //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1538
12338 /* start of frame for routine meltrout_116_WARMELTmiMACRO_MEXPAND_LIST fromline 1752 */
12340 /** start of frame for meltrout_116_WARMELTmiMACRO_MEXPAND_LIST of CLASS_PROCROUTINEOBJ from 1555**/
12342 /*curframdeclclassy*/ class MeltFrame_meltrout_116_WARMELTmiMACRO_MEXPAND_LIST// fromline 1568
12343 : public Melt_CallFrameWithValues<22>
12345 public: /* fromline 1572*/
12346 long mcfr_varnum[6];
12347 /*classy others*/
12348 long _meltsparel;
12349 void melt_mark_stuff (void)
12351 } /*end melt_mark_stuff*/
12352 virtual void melt_mark_ggc_data (void)
12354 melt_mark_values ();
12355 melt_mark_stuff ();
12356 }; /*end melt_mark_ggc_data*/
12357 MeltFrame_meltrout_116_WARMELTmiMACRO_MEXPAND_LIST(meltclosure_ptr_t clos) //the closure constructor fromline 1630
12358 : Melt_CallFrameWithValues<22> (
12359 #if ENABLE_CHECKING /*fromline 1634*/
12360 __FILE__, __LINE__,
12361 #endif /* ENABLE_CHECKING fromline 1638*/
12362 sizeof(MeltFrame_meltrout_116_WARMELTmiMACRO_MEXPAND_LIST), clos) {};
12363 MeltFrame_meltrout_116_WARMELTmiMACRO_MEXPAND_LIST() //the constructor fromline 1642
12364 : Melt_CallFrameWithValues<22> (
12365 #if ENABLE_CHECKING /*fromline 1646*/
12366 __FILE__, __LINE__,
12367 #endif /* ENABLE_CHECKING fromline 1650*/
12368 sizeof(MeltFrame_meltrout_116_WARMELTmiMACRO_MEXPAND_LIST)) {};
12369 #if ENABLE_CHECKING /*fromline 1654*/
12370 MeltFrame_meltrout_116_WARMELTmiMACRO_MEXPAND_LIST(const char*fil, int lin) //the constructor fromline 1656
12371 : Melt_CallFrameWithValues<22> (fil,lin, sizeof(MeltFrame_meltrout_116_WARMELTmiMACRO_MEXPAND_LIST)) {};
12372 MeltFrame_meltrout_116_WARMELTmiMACRO_MEXPAND_LIST(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1661
12373 : Melt_CallFrameWithValues<22> (fil,lin, sizeof(MeltFrame_meltrout_116_WARMELTmiMACRO_MEXPAND_LIST), clos) {};
12374 #endif /* ENABLE_CHECKING fromline 1666*/
12376 }; // end class MeltFrame_meltrout_116_WARMELTmiMACRO_MEXPAND_LIST
12379 /** end of frame for meltrout_116_WARMELTmiMACRO_MEXPAND_LIST fromline 1697**/
12381 /* end of frame for routine meltrout_116_WARMELTmiMACRO_MEXPAND_LIST fromline 1756 */
12383 /* classy proc frame meltrout_116_WARMELTmiMACRO_MEXPAND_LIST */
12384 MeltFrame_meltrout_116_WARMELTmiMACRO_MEXPAND_LIST
12385 meltfram__ /*declfrastruct fromline 1780*/
12386 /*classyprocarg meltrout_116_WARMELTmiMACRO_MEXPAND_LIST fromline 1785*/
12387 #if ENABLE_CHECKING
12388 (__FILE__, __LINE__, meltclosp_) /* fromline 1789*/
12389 #else /*ENABLE_CHECKING */
12390 (meltclosp_) /* fromline 1793*/
12391 #endif /*ENABLE_CHECKING */
12394 #define meltframe meltfram__
12396 melt_trace_start("MEXPAND_LIST", meltcallcount);
12397 /*use arguments*/
12398 (void) meltclosp_;
12399 (void)meltfirstargp_;
12400 (void)meltxargdescr_;
12401 (void)meltxargtab_;
12402 (void)meltxresdescr_;
12403 (void)meltxrestab_;
12404 /*getargs*/
12406 /*getarg#0*/
12407 MELT_LOCATION("warmelt-macro.melt:6724:/ getarg");
12408 /*_.SEXPR__V2*/
12409 meltfptr[1] = (melt_ptr_t) meltfirstargp_;
12411 /*getarg#1*/
12412 /*^getarg*/
12413 if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_endgetargs;
12414 /*_.ENV__V3*/
12415 meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL;
12416 gcc_assert(melt_discr((melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2])) != NULL);
12419 /*getarg#2*/
12420 /*^getarg*/
12421 if (meltxargdescr_[1] != MELTBPAR_PTR) goto meltlab_endgetargs;
12422 /*_.MEXPANDER__V4*/
12423 meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL;
12424 gcc_assert(melt_discr((melt_ptr_t)(/*_.MEXPANDER__V4*/ meltfptr[3])) != NULL);
12427 /*getarg#3*/
12428 /*^getarg*/
12429 if (meltxargdescr_[2] != MELTBPAR_PTR) goto meltlab_endgetargs;
12430 /*_.MODCTX__V5*/
12431 meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL;
12432 gcc_assert(melt_discr((melt_ptr_t)(/*_.MODCTX__V5*/ meltfptr[4])) != NULL);
12435 goto meltlab_endgetargs;
12436 meltlab_endgetargs:
12438 /*body*/
12439 /*^block*/
12440 /*anyblock*/
12444 #if MELT_HAVE_DEBUG
12445 MELT_LOCATION("warmelt-macro.melt:6725:/ cppif.then");
12446 /*^block*/
12447 /*anyblock*/
12452 /*^locexp*/
12453 /*melt_increment_dbgcounter*/
12454 #if MELT_HAVE_DEBUG
12455 melt_dbgcounter++;
12456 #endif
12461 MELT_CHECK_SIGNAL();
12463 /*_#MELT_NEED_DBG__L1*/
12464 meltfnum[0] =
12465 /*MELT_NEED_DBG*/
12466 #if MELT_HAVE_DEBUG
12467 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
12468 #else
12469 0 /* no melt_need_dbg */
12470 #endif /*MELT_HAVE_DEBUG*/
12472 MELT_LOCATION("warmelt-macro.melt:6725:/ cond");
12473 /*cond*/
12474 if (/*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then*/
12476 /*^cond.then*/
12477 /*^block*/
12478 /*anyblock*/
12481 /*_#MELT_CALLCOUNT__L2*/ meltfnum[1] =
12482 /* for melt_callcount */
12483 #if MELT_HAVE_DEBUG && defined (meltcallcount)
12484 meltcallcount /* melt_callcount debugging */
12485 #else
12486 0L /* melt_callcount without debug */
12487 #endif /* MELT_HAVE_DEBUG melt_callcount */
12490 MELT_CHECK_SIGNAL();
12492 MELT_LOCATION("warmelt-macro.melt:6725:/ apply");
12493 /*apply*/
12495 union meltparam_un argtab[5];
12496 memset(&argtab, 0, sizeof(argtab));
12497 /*^apply.arg*/
12498 argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L2*/ meltfnum[1];
12499 /*^apply.arg*/
12500 argtab[1].meltbp_cstring = "warmelt-macro.melt";
12501 /*^apply.arg*/
12502 argtab[2].meltbp_long = 6725;
12503 /*^apply.arg*/
12504 argtab[3].meltbp_cstring = "mexpand_list sexpr=";
12505 /*^apply.arg*/
12506 argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.SEXPR__V2*/ meltfptr[1];
12507 /*_.MELT_DEBUG_FUN__V7*/
12508 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);
12511 /*_._IF___V6*/
12512 meltfptr[5] = /*_.MELT_DEBUG_FUN__V7*/ meltfptr[6];;
12513 /*epilog*/
12515 MELT_LOCATION("warmelt-macro.melt:6725:/ clear");
12516 /*clear*/ /*_#MELT_CALLCOUNT__L2*/
12517 meltfnum[1] = 0 ;
12518 /*^clear*/
12519 /*clear*/ /*_.MELT_DEBUG_FUN__V7*/
12520 meltfptr[6] = 0 ;
12524 else /*^cond.else*/
12527 /*_._IF___V6*/ meltfptr[5] = /*reallynil*/ NULL ;;
12532 MELT_LOCATION("warmelt-macro.melt:6725:/ locexp");
12533 /*void*/
12534 (void)0;
12537 /*^quasiblock*/
12540 /*epilog*/
12542 /*^clear*/
12543 /*clear*/ /*_#MELT_NEED_DBG__L1*/
12544 meltfnum[0] = 0 ;
12545 /*^clear*/
12546 /*clear*/ /*_._IF___V6*/
12547 meltfptr[5] = 0 ;
12550 #else /*MELT_HAVE_DEBUG*/
12551 /*^cppif.else*/
12552 /*^block*/
12553 /*anyblock*/
12558 /*^locexp*/
12559 /*void*/(void)0;
12562 /*epilog*/
12565 #endif /*MELT_HAVE_DEBUG*/
12568 #if MELT_HAVE_DEBUG
12569 MELT_LOCATION("warmelt-macro.melt:6726:/ cppif.then");
12570 /*^block*/
12571 /*anyblock*/
12575 MELT_CHECK_SIGNAL();
12577 /*_#IS_A__L3*/
12578 meltfnum[1] =
12579 melt_is_instance_of((melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_SEXPR*/ meltfrout->tabval[1])));;
12580 MELT_LOCATION("warmelt-macro.melt:6726:/ cond");
12581 /*cond*/
12582 if (/*_#IS_A__L3*/ meltfnum[1]) /*then*/
12584 /*^cond.then*/
12585 /*_._IFELSE___V9*/ meltfptr[5] = (/*nil*/NULL);;
12587 else
12589 MELT_LOCATION("warmelt-macro.melt:6726:/ cond.else");
12591 /*^block*/
12592 /*anyblock*/
12596 MELT_CHECK_SIGNAL();
12598 /*^apply*/
12599 /*apply*/
12601 union meltparam_un argtab[4];
12602 memset(&argtab, 0, sizeof(argtab));
12603 /*^apply.arg*/
12604 argtab[0].meltbp_cstring = "check sexpr";
12605 /*^apply.arg*/
12606 argtab[1].meltbp_cstring = "warmelt-macro.melt";
12607 /*^apply.arg*/
12608 argtab[2].meltbp_long = 6726;
12609 /*^apply.arg*/
12610 argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.SEXPR__V2*/ meltfptr[1];
12611 /*_.MELT_ASSERT_FAILURE_FUN__V10*/
12612 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);
12615 /*_._IFELSE___V9*/
12616 meltfptr[5] = /*_.MELT_ASSERT_FAILURE_FUN__V10*/ meltfptr[9];;
12617 /*epilog*/
12619 MELT_LOCATION("warmelt-macro.melt:6726:/ clear");
12620 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V10*/
12621 meltfptr[9] = 0 ;
12626 /*_.IFCPP___V8*/
12627 meltfptr[6] = /*_._IFELSE___V9*/ meltfptr[5];;
12628 /*epilog*/
12630 MELT_LOCATION("warmelt-macro.melt:6726:/ clear");
12631 /*clear*/ /*_#IS_A__L3*/
12632 meltfnum[1] = 0 ;
12633 /*^clear*/
12634 /*clear*/ /*_._IFELSE___V9*/
12635 meltfptr[5] = 0 ;
12638 #else /*MELT_HAVE_DEBUG*/
12639 /*^cppif.else*/
12640 /*_.IFCPP___V8*/ meltfptr[6] = (/*nil*/NULL);
12641 #endif /*MELT_HAVE_DEBUG*/
12644 #if MELT_HAVE_DEBUG
12645 MELT_LOCATION("warmelt-macro.melt:6727:/ cppif.then");
12646 /*^block*/
12647 /*anyblock*/
12651 MELT_CHECK_SIGNAL();
12653 /*_#IS_A__L4*/
12654 meltfnum[0] =
12655 melt_is_instance_of((melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2]), (melt_ptr_t)((/*!CLASS_ENVIRONMENT*/ meltfrout->tabval[3])));;
12656 MELT_LOCATION("warmelt-macro.melt:6727:/ cond");
12657 /*cond*/
12658 if (/*_#IS_A__L4*/ meltfnum[0]) /*then*/
12660 /*^cond.then*/
12661 /*_._IFELSE___V12*/ meltfptr[5] = (/*nil*/NULL);;
12663 else
12665 MELT_LOCATION("warmelt-macro.melt:6727:/ cond.else");
12667 /*^block*/
12668 /*anyblock*/
12672 MELT_CHECK_SIGNAL();
12674 /*^apply*/
12675 /*apply*/
12677 union meltparam_un argtab[4];
12678 memset(&argtab, 0, sizeof(argtab));
12679 /*^apply.arg*/
12680 argtab[0].meltbp_cstring = "check env";
12681 /*^apply.arg*/
12682 argtab[1].meltbp_cstring = "warmelt-macro.melt";
12683 /*^apply.arg*/
12684 argtab[2].meltbp_long = 6727;
12685 /*^apply.arg*/
12686 argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.ENV__V3*/ meltfptr[2];
12687 /*_.MELT_ASSERT_FAILURE_FUN__V13*/
12688 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);
12691 /*_._IFELSE___V12*/
12692 meltfptr[5] = /*_.MELT_ASSERT_FAILURE_FUN__V13*/ meltfptr[12];;
12693 /*epilog*/
12695 MELT_LOCATION("warmelt-macro.melt:6727:/ clear");
12696 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V13*/
12697 meltfptr[12] = 0 ;
12702 /*_.IFCPP___V11*/
12703 meltfptr[9] = /*_._IFELSE___V12*/ meltfptr[5];;
12704 /*epilog*/
12706 MELT_LOCATION("warmelt-macro.melt:6727:/ clear");
12707 /*clear*/ /*_#IS_A__L4*/
12708 meltfnum[0] = 0 ;
12709 /*^clear*/
12710 /*clear*/ /*_._IFELSE___V12*/
12711 meltfptr[5] = 0 ;
12714 #else /*MELT_HAVE_DEBUG*/
12715 /*^cppif.else*/
12716 /*_.IFCPP___V11*/ meltfptr[9] = (/*nil*/NULL);
12717 #endif /*MELT_HAVE_DEBUG*/
12719 MELT_LOCATION("warmelt-macro.melt:6728:/ quasiblock");
12722 MELT_LOCATION("warmelt-macro.melt:6729:/ getslot");
12724 melt_ptr_t slot=NULL, obj=NULL;
12725 obj = (melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/;
12726 melt_object_get_field(slot,obj, 2, "SEXP_CONTENTS");
12727 /*_.CONT__V15*/
12728 meltfptr[5] = slot;
12731 MELT_LOCATION("warmelt-macro.melt:6730:/ getslot");
12733 melt_ptr_t slot=NULL, obj=NULL;
12734 obj = (melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/;
12735 melt_object_get_field(slot,obj, 1, "LOCA_LOCATION");
12736 /*_.LOC__V16*/
12737 meltfptr[15] = slot;
12741 MELT_CHECK_SIGNAL();
12743 MELT_LOCATION("warmelt-macro.melt:6731:/ apply");
12744 /*apply*/
12746 union meltparam_un argtab[3];
12747 memset(&argtab, 0, sizeof(argtab));
12748 /*^apply.arg*/
12749 argtab[0].meltbp_aptr = (melt_ptr_t*) &/*_.ENV__V3*/ meltfptr[2];
12750 /*^apply.arg*/
12751 argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.MEXPANDER__V4*/ meltfptr[3];
12752 /*^apply.arg*/
12753 argtab[2].meltbp_aptr = (melt_ptr_t*) &/*_.MODCTX__V5*/ meltfptr[4];
12754 /*_.XARGTUP__V17*/
12755 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);
12759 MELT_CHECK_SIGNAL();
12761 MELT_LOCATION("warmelt-macro.melt:6732:/ quasiblock");
12764 /*^rawallocobj*/
12765 /*rawallocobj*/
12767 melt_ptr_t newobj = 0;
12768 melt_raw_object_create(newobj,(melt_ptr_t)((/*!CLASS_SOURCE_LIST*/ meltfrout->tabval[5])), (3), "CLASS_SOURCE_LIST");
12769 /*_.INST__V19*/
12770 meltfptr[18] =
12771 newobj;
12774 /*^putslot*/
12775 /*putslot*/
12776 melt_assertmsg("checkobj putslot _ @LOCA_LOCATION", melt_magic_discr((melt_ptr_t)(/*_.INST__V19*/ meltfptr[18])) == MELTOBMAG_OBJECT);
12777 melt_putfield_object((/*_.INST__V19*/ meltfptr[18]), (1), (/*_.LOC__V16*/ meltfptr[15]), "LOCA_LOCATION");
12779 /*^putslot*/
12780 /*putslot*/
12781 melt_assertmsg("checkobj putslot _ @SARGOP_ARGS", melt_magic_discr((melt_ptr_t)(/*_.INST__V19*/ meltfptr[18])) == MELTOBMAG_OBJECT);
12782 melt_putfield_object((/*_.INST__V19*/ meltfptr[18]), (2), (/*_.XARGTUP__V17*/ meltfptr[16]), "SARGOP_ARGS");
12784 /*^touchobj*/
12786 melt_dbgtrace_written_object (/*_.INST__V19*/ meltfptr[18], "newly made instance");
12788 /*_.RES__V18*/
12789 meltfptr[17] = /*_.INST__V19*/ meltfptr[18];;
12791 #if MELT_HAVE_DEBUG
12792 MELT_LOCATION("warmelt-macro.melt:6736:/ cppif.then");
12793 /*^block*/
12794 /*anyblock*/
12799 /*^locexp*/
12800 /*melt_increment_dbgcounter*/
12801 #if MELT_HAVE_DEBUG
12802 melt_dbgcounter++;
12803 #endif
12808 MELT_CHECK_SIGNAL();
12810 /*_#MELT_NEED_DBG__L5*/
12811 meltfnum[1] =
12812 /*MELT_NEED_DBG*/
12813 #if MELT_HAVE_DEBUG
12814 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
12815 #else
12816 0 /* no melt_need_dbg */
12817 #endif /*MELT_HAVE_DEBUG*/
12819 MELT_LOCATION("warmelt-macro.melt:6736:/ cond");
12820 /*cond*/
12821 if (/*_#MELT_NEED_DBG__L5*/ meltfnum[1]) /*then*/
12823 /*^cond.then*/
12824 /*^block*/
12825 /*anyblock*/
12828 /*_#MELT_CALLCOUNT__L6*/ meltfnum[0] =
12829 /* for melt_callcount */
12830 #if MELT_HAVE_DEBUG && defined (meltcallcount)
12831 meltcallcount /* melt_callcount debugging */
12832 #else
12833 0L /* melt_callcount without debug */
12834 #endif /* MELT_HAVE_DEBUG melt_callcount */
12837 MELT_CHECK_SIGNAL();
12839 MELT_LOCATION("warmelt-macro.melt:6736:/ apply");
12840 /*apply*/
12842 union meltparam_un argtab[5];
12843 memset(&argtab, 0, sizeof(argtab));
12844 /*^apply.arg*/
12845 argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L6*/ meltfnum[0];
12846 /*^apply.arg*/
12847 argtab[1].meltbp_cstring = "warmelt-macro.melt";
12848 /*^apply.arg*/
12849 argtab[2].meltbp_long = 6736;
12850 /*^apply.arg*/
12851 argtab[3].meltbp_cstring = "mexpand_list result";
12852 /*^apply.arg*/
12853 argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.RES__V18*/ meltfptr[17];
12854 /*_.MELT_DEBUG_FUN__V21*/
12855 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);
12858 /*_._IF___V20*/
12859 meltfptr[19] = /*_.MELT_DEBUG_FUN__V21*/ meltfptr[20];;
12860 /*epilog*/
12862 MELT_LOCATION("warmelt-macro.melt:6736:/ clear");
12863 /*clear*/ /*_#MELT_CALLCOUNT__L6*/
12864 meltfnum[0] = 0 ;
12865 /*^clear*/
12866 /*clear*/ /*_.MELT_DEBUG_FUN__V21*/
12867 meltfptr[20] = 0 ;
12871 else /*^cond.else*/
12874 /*_._IF___V20*/ meltfptr[19] = /*reallynil*/ NULL ;;
12879 MELT_LOCATION("warmelt-macro.melt:6736:/ locexp");
12880 /*void*/
12881 (void)0;
12884 /*^quasiblock*/
12887 /*epilog*/
12889 /*^clear*/
12890 /*clear*/ /*_#MELT_NEED_DBG__L5*/
12891 meltfnum[1] = 0 ;
12892 /*^clear*/
12893 /*clear*/ /*_._IF___V20*/
12894 meltfptr[19] = 0 ;
12897 #else /*MELT_HAVE_DEBUG*/
12898 /*^cppif.else*/
12899 /*^block*/
12900 /*anyblock*/
12905 /*^locexp*/
12906 /*void*/(void)0;
12909 /*epilog*/
12912 #endif /*MELT_HAVE_DEBUG*/
12915 MELT_CHECK_SIGNAL();
12917 MELT_LOCATION("warmelt-macro.melt:6737:/ quasiblock");
12920 /*_._RETVAL___V1*/
12921 meltfptr[0] = /*_.RES__V18*/ meltfptr[17];;
12924 MELT_LOCATION("warmelt-macro.melt:6737:/ locexp");
12925 /*ochecknores compilobj_nrep_return*/
12926 #if MELT_HAVE_DEBUG
12927 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
12928 melt_warn_for_no_expected_secondary_results();
12929 /* we warned when secondary results are expected but not returned. */
12930 #endif /*MELT_HAVE_DEBUG*/
12934 /*^finalreturn*/
12936 /*finalret*/
12937 goto meltlabend_rout ;
12938 /*_.LET___V14*/
12939 meltfptr[12] = /*_.RETURN___V22*/ meltfptr[20];;
12941 MELT_LOCATION("warmelt-macro.melt:6728:/ clear");
12942 /*clear*/ /*_.CONT__V15*/
12943 meltfptr[5] = 0 ;
12944 /*^clear*/
12945 /*clear*/ /*_.LOC__V16*/
12946 meltfptr[15] = 0 ;
12947 /*^clear*/
12948 /*clear*/ /*_.XARGTUP__V17*/
12949 meltfptr[16] = 0 ;
12950 /*^clear*/
12951 /*clear*/ /*_.RES__V18*/
12952 meltfptr[17] = 0 ;
12953 /*^clear*/
12954 /*clear*/ /*_.RETURN___V22*/
12955 meltfptr[20] = 0 ;
12957 MELT_CHECK_SIGNAL();
12959 MELT_LOCATION("warmelt-macro.melt:6724:/ quasiblock");
12962 /*_._RETVAL___V1*/
12963 meltfptr[0] = /*_.LET___V14*/ meltfptr[12];;
12966 MELT_LOCATION("warmelt-macro.melt:6724:/ locexp");
12967 /*ochecknores compilobj_nrep_return*/
12968 #if MELT_HAVE_DEBUG
12969 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
12970 melt_warn_for_no_expected_secondary_results();
12971 /* we warned when secondary results are expected but not returned. */
12972 #endif /*MELT_HAVE_DEBUG*/
12976 /*^finalreturn*/
12978 /*finalret*/
12979 goto meltlabend_rout ;
12980 /*epilog*/
12982 /*^clear*/
12983 /*clear*/ /*_.IFCPP___V8*/
12984 meltfptr[6] = 0 ;
12985 /*^clear*/
12986 /*clear*/ /*_.IFCPP___V11*/
12987 meltfptr[9] = 0 ;
12988 /*^clear*/
12989 /*clear*/ /*_.LET___V14*/
12990 meltfptr[12] = 0 ;
12994 goto meltlabend_rout;
12995 meltlabend_rout:
12996 melt_trace_end("MEXPAND_LIST", meltcallcount);
12997 melt_blocklevel_signals = current_blocklevel_signals_meltrout_116_WARMELTmiMACRO_MEXPAND_LIST_melt;
12998 return (melt_ptr_t)(/*_._RETVAL___V1*/ meltfptr[0]);
12999 #undef meltcallcount
13000 #undef meltfram__
13001 #undef MELTFRAM_NBVARNUM
13002 #undef MELTFRAM_NBVARPTR
13003 } /*end meltrout_116_WARMELTmiMACRO_MEXPAND_LIST*/
13010 melt_ptr_t MELT_MODULE_VISIBILITY
13011 meltrout_117_WARMELTmiMACRO_PATEXPAND_LIST(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_,
13012 const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_)
13014 long current_blocklevel_signals_meltrout_117_WARMELTmiMACRO_PATEXPAND_LIST_melt = melt_blocklevel_signals;
13016 #if MELT_HAVE_DEBUG
13017 static long melt_call_counter__;
13018 long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__;
13019 #undef meltcallcount
13020 #define meltcallcount melt_thiscallcounter__
13021 #else
13022 #undef meltcallcount
13023 #define meltcallcount 0L
13024 #endif
13025 //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1538
13027 /* start of frame for routine meltrout_117_WARMELTmiMACRO_PATEXPAND_LIST fromline 1752 */
13029 /** start of frame for meltrout_117_WARMELTmiMACRO_PATEXPAND_LIST of CLASS_PROCROUTINEOBJ from 1555**/
13031 /*curframdeclclassy*/ class MeltFrame_meltrout_117_WARMELTmiMACRO_PATEXPAND_LIST// fromline 1568
13032 : public Melt_CallFrameWithValues<26>
13034 public: /* fromline 1572*/
13035 long mcfr_varnum[7];
13036 /*classy others*/
13037 long _meltsparel;
13038 void melt_mark_stuff (void)
13040 } /*end melt_mark_stuff*/
13041 virtual void melt_mark_ggc_data (void)
13043 melt_mark_values ();
13044 melt_mark_stuff ();
13045 }; /*end melt_mark_ggc_data*/
13046 MeltFrame_meltrout_117_WARMELTmiMACRO_PATEXPAND_LIST(meltclosure_ptr_t clos) //the closure constructor fromline 1630
13047 : Melt_CallFrameWithValues<26> (
13048 #if ENABLE_CHECKING /*fromline 1634*/
13049 __FILE__, __LINE__,
13050 #endif /* ENABLE_CHECKING fromline 1638*/
13051 sizeof(MeltFrame_meltrout_117_WARMELTmiMACRO_PATEXPAND_LIST), clos) {};
13052 MeltFrame_meltrout_117_WARMELTmiMACRO_PATEXPAND_LIST() //the constructor fromline 1642
13053 : Melt_CallFrameWithValues<26> (
13054 #if ENABLE_CHECKING /*fromline 1646*/
13055 __FILE__, __LINE__,
13056 #endif /* ENABLE_CHECKING fromline 1650*/
13057 sizeof(MeltFrame_meltrout_117_WARMELTmiMACRO_PATEXPAND_LIST)) {};
13058 #if ENABLE_CHECKING /*fromline 1654*/
13059 MeltFrame_meltrout_117_WARMELTmiMACRO_PATEXPAND_LIST(const char*fil, int lin) //the constructor fromline 1656
13060 : Melt_CallFrameWithValues<26> (fil,lin, sizeof(MeltFrame_meltrout_117_WARMELTmiMACRO_PATEXPAND_LIST)) {};
13061 MeltFrame_meltrout_117_WARMELTmiMACRO_PATEXPAND_LIST(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1661
13062 : Melt_CallFrameWithValues<26> (fil,lin, sizeof(MeltFrame_meltrout_117_WARMELTmiMACRO_PATEXPAND_LIST), clos) {};
13063 #endif /* ENABLE_CHECKING fromline 1666*/
13065 }; // end class MeltFrame_meltrout_117_WARMELTmiMACRO_PATEXPAND_LIST
13068 /** end of frame for meltrout_117_WARMELTmiMACRO_PATEXPAND_LIST fromline 1697**/
13070 /* end of frame for routine meltrout_117_WARMELTmiMACRO_PATEXPAND_LIST fromline 1756 */
13072 /* classy proc frame meltrout_117_WARMELTmiMACRO_PATEXPAND_LIST */
13073 MeltFrame_meltrout_117_WARMELTmiMACRO_PATEXPAND_LIST
13074 meltfram__ /*declfrastruct fromline 1780*/
13075 /*classyprocarg meltrout_117_WARMELTmiMACRO_PATEXPAND_LIST fromline 1785*/
13076 #if ENABLE_CHECKING
13077 (__FILE__, __LINE__, meltclosp_) /* fromline 1789*/
13078 #else /*ENABLE_CHECKING */
13079 (meltclosp_) /* fromline 1793*/
13080 #endif /*ENABLE_CHECKING */
13083 #define meltframe meltfram__
13085 melt_trace_start("PATEXPAND_LIST", meltcallcount);
13086 /*use arguments*/
13087 (void) meltclosp_;
13088 (void)meltfirstargp_;
13089 (void)meltxargdescr_;
13090 (void)meltxargtab_;
13091 (void)meltxresdescr_;
13092 (void)meltxrestab_;
13093 /*getargs*/
13095 /*getarg#0*/
13096 MELT_LOCATION("warmelt-macro.melt:6741:/ getarg");
13097 /*_.SEXPR__V2*/
13098 meltfptr[1] = (melt_ptr_t) meltfirstargp_;
13100 /*getarg#1*/
13101 /*^getarg*/
13102 if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_endgetargs;
13103 /*_.ENV__V3*/
13104 meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL;
13105 gcc_assert(melt_discr((melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2])) != NULL);
13108 /*getarg#2*/
13109 /*^getarg*/
13110 if (meltxargdescr_[1] != MELTBPAR_PTR) goto meltlab_endgetargs;
13111 /*_.PCTX__V4*/
13112 meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL;
13113 gcc_assert(melt_discr((melt_ptr_t)(/*_.PCTX__V4*/ meltfptr[3])) != NULL);
13116 goto meltlab_endgetargs;
13117 meltlab_endgetargs:
13119 /*body*/
13120 /*^block*/
13121 /*anyblock*/
13125 #if MELT_HAVE_DEBUG
13126 MELT_LOCATION("warmelt-macro.melt:6742:/ cppif.then");
13127 /*^block*/
13128 /*anyblock*/
13133 /*^locexp*/
13134 /*melt_increment_dbgcounter*/
13135 #if MELT_HAVE_DEBUG
13136 melt_dbgcounter++;
13137 #endif
13142 MELT_CHECK_SIGNAL();
13144 /*_#MELT_NEED_DBG__L1*/
13145 meltfnum[0] =
13146 /*MELT_NEED_DBG*/
13147 #if MELT_HAVE_DEBUG
13148 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
13149 #else
13150 0 /* no melt_need_dbg */
13151 #endif /*MELT_HAVE_DEBUG*/
13153 MELT_LOCATION("warmelt-macro.melt:6742:/ cond");
13154 /*cond*/
13155 if (/*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then*/
13157 /*^cond.then*/
13158 /*^block*/
13159 /*anyblock*/
13162 /*_#MELT_CALLCOUNT__L2*/ meltfnum[1] =
13163 /* for melt_callcount */
13164 #if MELT_HAVE_DEBUG && defined (meltcallcount)
13165 meltcallcount /* melt_callcount debugging */
13166 #else
13167 0L /* melt_callcount without debug */
13168 #endif /* MELT_HAVE_DEBUG melt_callcount */
13171 MELT_CHECK_SIGNAL();
13173 MELT_LOCATION("warmelt-macro.melt:6742:/ apply");
13174 /*apply*/
13176 union meltparam_un argtab[5];
13177 memset(&argtab, 0, sizeof(argtab));
13178 /*^apply.arg*/
13179 argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L2*/ meltfnum[1];
13180 /*^apply.arg*/
13181 argtab[1].meltbp_cstring = "warmelt-macro.melt";
13182 /*^apply.arg*/
13183 argtab[2].meltbp_long = 6742;
13184 /*^apply.arg*/
13185 argtab[3].meltbp_cstring = "patexpand_list sexpr=";
13186 /*^apply.arg*/
13187 argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.SEXPR__V2*/ meltfptr[1];
13188 /*_.MELT_DEBUG_FUN__V6*/
13189 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);
13192 /*_._IF___V5*/
13193 meltfptr[4] = /*_.MELT_DEBUG_FUN__V6*/ meltfptr[5];;
13194 /*epilog*/
13196 MELT_LOCATION("warmelt-macro.melt:6742:/ clear");
13197 /*clear*/ /*_#MELT_CALLCOUNT__L2*/
13198 meltfnum[1] = 0 ;
13199 /*^clear*/
13200 /*clear*/ /*_.MELT_DEBUG_FUN__V6*/
13201 meltfptr[5] = 0 ;
13205 else /*^cond.else*/
13208 /*_._IF___V5*/ meltfptr[4] = /*reallynil*/ NULL ;;
13213 MELT_LOCATION("warmelt-macro.melt:6742:/ locexp");
13214 /*void*/
13215 (void)0;
13218 /*^quasiblock*/
13221 /*epilog*/
13223 /*^clear*/
13224 /*clear*/ /*_#MELT_NEED_DBG__L1*/
13225 meltfnum[0] = 0 ;
13226 /*^clear*/
13227 /*clear*/ /*_._IF___V5*/
13228 meltfptr[4] = 0 ;
13231 #else /*MELT_HAVE_DEBUG*/
13232 /*^cppif.else*/
13233 /*^block*/
13234 /*anyblock*/
13239 /*^locexp*/
13240 /*void*/(void)0;
13243 /*epilog*/
13246 #endif /*MELT_HAVE_DEBUG*/
13249 #if MELT_HAVE_DEBUG
13250 MELT_LOCATION("warmelt-macro.melt:6743:/ cppif.then");
13251 /*^block*/
13252 /*anyblock*/
13256 MELT_CHECK_SIGNAL();
13258 /*_#IS_A__L3*/
13259 meltfnum[1] =
13260 melt_is_instance_of((melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_SEXPR*/ meltfrout->tabval[1])));;
13261 MELT_LOCATION("warmelt-macro.melt:6743:/ cond");
13262 /*cond*/
13263 if (/*_#IS_A__L3*/ meltfnum[1]) /*then*/
13265 /*^cond.then*/
13266 /*_._IFELSE___V8*/ meltfptr[4] = (/*nil*/NULL);;
13268 else
13270 MELT_LOCATION("warmelt-macro.melt:6743:/ cond.else");
13272 /*^block*/
13273 /*anyblock*/
13277 MELT_CHECK_SIGNAL();
13279 /*^apply*/
13280 /*apply*/
13282 union meltparam_un argtab[4];
13283 memset(&argtab, 0, sizeof(argtab));
13284 /*^apply.arg*/
13285 argtab[0].meltbp_cstring = "check sexpr";
13286 /*^apply.arg*/
13287 argtab[1].meltbp_cstring = "warmelt-macro.melt";
13288 /*^apply.arg*/
13289 argtab[2].meltbp_long = 6743;
13290 /*^apply.arg*/
13291 argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.SEXPR__V2*/ meltfptr[1];
13292 /*_.MELT_ASSERT_FAILURE_FUN__V9*/
13293 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);
13296 /*_._IFELSE___V8*/
13297 meltfptr[4] = /*_.MELT_ASSERT_FAILURE_FUN__V9*/ meltfptr[8];;
13298 /*epilog*/
13300 MELT_LOCATION("warmelt-macro.melt:6743:/ clear");
13301 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V9*/
13302 meltfptr[8] = 0 ;
13307 /*_.IFCPP___V7*/
13308 meltfptr[5] = /*_._IFELSE___V8*/ meltfptr[4];;
13309 /*epilog*/
13311 MELT_LOCATION("warmelt-macro.melt:6743:/ clear");
13312 /*clear*/ /*_#IS_A__L3*/
13313 meltfnum[1] = 0 ;
13314 /*^clear*/
13315 /*clear*/ /*_._IFELSE___V8*/
13316 meltfptr[4] = 0 ;
13319 #else /*MELT_HAVE_DEBUG*/
13320 /*^cppif.else*/
13321 /*_.IFCPP___V7*/ meltfptr[5] = (/*nil*/NULL);
13322 #endif /*MELT_HAVE_DEBUG*/
13325 #if MELT_HAVE_DEBUG
13326 MELT_LOCATION("warmelt-macro.melt:6744:/ cppif.then");
13327 /*^block*/
13328 /*anyblock*/
13332 MELT_CHECK_SIGNAL();
13334 /*_#IS_A__L4*/
13335 meltfnum[0] =
13336 melt_is_instance_of((melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2]), (melt_ptr_t)((/*!CLASS_ENVIRONMENT*/ meltfrout->tabval[3])));;
13337 MELT_LOCATION("warmelt-macro.melt:6744:/ cond");
13338 /*cond*/
13339 if (/*_#IS_A__L4*/ meltfnum[0]) /*then*/
13341 /*^cond.then*/
13342 /*_._IFELSE___V11*/ meltfptr[4] = (/*nil*/NULL);;
13344 else
13346 MELT_LOCATION("warmelt-macro.melt:6744:/ cond.else");
13348 /*^block*/
13349 /*anyblock*/
13353 MELT_CHECK_SIGNAL();
13355 /*^apply*/
13356 /*apply*/
13358 union meltparam_un argtab[4];
13359 memset(&argtab, 0, sizeof(argtab));
13360 /*^apply.arg*/
13361 argtab[0].meltbp_cstring = "check env";
13362 /*^apply.arg*/
13363 argtab[1].meltbp_cstring = "warmelt-macro.melt";
13364 /*^apply.arg*/
13365 argtab[2].meltbp_long = 6744;
13366 /*^apply.arg*/
13367 argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.ENV__V3*/ meltfptr[2];
13368 /*_.MELT_ASSERT_FAILURE_FUN__V12*/
13369 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);
13372 /*_._IFELSE___V11*/
13373 meltfptr[4] = /*_.MELT_ASSERT_FAILURE_FUN__V12*/ meltfptr[11];;
13374 /*epilog*/
13376 MELT_LOCATION("warmelt-macro.melt:6744:/ clear");
13377 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V12*/
13378 meltfptr[11] = 0 ;
13383 /*_.IFCPP___V10*/
13384 meltfptr[8] = /*_._IFELSE___V11*/ meltfptr[4];;
13385 /*epilog*/
13387 MELT_LOCATION("warmelt-macro.melt:6744:/ clear");
13388 /*clear*/ /*_#IS_A__L4*/
13389 meltfnum[0] = 0 ;
13390 /*^clear*/
13391 /*clear*/ /*_._IFELSE___V11*/
13392 meltfptr[4] = 0 ;
13395 #else /*MELT_HAVE_DEBUG*/
13396 /*^cppif.else*/
13397 /*_.IFCPP___V10*/ meltfptr[8] = (/*nil*/NULL);
13398 #endif /*MELT_HAVE_DEBUG*/
13401 #if MELT_HAVE_DEBUG
13402 MELT_LOCATION("warmelt-macro.melt:6745:/ cppif.then");
13403 /*^block*/
13404 /*anyblock*/
13408 MELT_CHECK_SIGNAL();
13410 /*_#IS_A__L5*/
13411 meltfnum[1] =
13412 melt_is_instance_of((melt_ptr_t)(/*_.PCTX__V4*/ meltfptr[3]), (melt_ptr_t)((/*!CLASS_PATTERN_EXPANSION_CONTEXT*/ meltfrout->tabval[4])));;
13413 MELT_LOCATION("warmelt-macro.melt:6745:/ cond");
13414 /*cond*/
13415 if (/*_#IS_A__L5*/ meltfnum[1]) /*then*/
13417 /*^cond.then*/
13418 /*_._IFELSE___V14*/ meltfptr[4] = (/*nil*/NULL);;
13420 else
13422 MELT_LOCATION("warmelt-macro.melt:6745:/ cond.else");
13424 /*^block*/
13425 /*anyblock*/
13429 MELT_CHECK_SIGNAL();
13431 /*^apply*/
13432 /*apply*/
13434 union meltparam_un argtab[4];
13435 memset(&argtab, 0, sizeof(argtab));
13436 /*^apply.arg*/
13437 argtab[0].meltbp_cstring = "check pctx";
13438 /*^apply.arg*/
13439 argtab[1].meltbp_cstring = "warmelt-macro.melt";
13440 /*^apply.arg*/
13441 argtab[2].meltbp_long = 6745;
13442 /*^apply.arg*/
13443 argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.PCTX__V4*/ meltfptr[3];
13444 /*_.MELT_ASSERT_FAILURE_FUN__V15*/
13445 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);
13448 /*_._IFELSE___V14*/
13449 meltfptr[4] = /*_.MELT_ASSERT_FAILURE_FUN__V15*/ meltfptr[14];;
13450 /*epilog*/
13452 MELT_LOCATION("warmelt-macro.melt:6745:/ clear");
13453 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V15*/
13454 meltfptr[14] = 0 ;
13459 /*_.IFCPP___V13*/
13460 meltfptr[11] = /*_._IFELSE___V14*/ meltfptr[4];;
13461 /*epilog*/
13463 MELT_LOCATION("warmelt-macro.melt:6745:/ clear");
13464 /*clear*/ /*_#IS_A__L5*/
13465 meltfnum[1] = 0 ;
13466 /*^clear*/
13467 /*clear*/ /*_._IFELSE___V14*/
13468 meltfptr[4] = 0 ;
13471 #else /*MELT_HAVE_DEBUG*/
13472 /*^cppif.else*/
13473 /*_.IFCPP___V13*/ meltfptr[11] = (/*nil*/NULL);
13474 #endif /*MELT_HAVE_DEBUG*/
13476 MELT_LOCATION("warmelt-macro.melt:6746:/ quasiblock");
13479 MELT_LOCATION("warmelt-macro.melt:6747:/ getslot");
13481 melt_ptr_t slot=NULL, obj=NULL;
13482 obj = (melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/;
13483 melt_object_get_field(slot,obj, 2, "SEXP_CONTENTS");
13484 /*_.CONT__V17*/
13485 meltfptr[4] = slot;
13488 MELT_LOCATION("warmelt-macro.melt:6748:/ getslot");
13490 melt_ptr_t slot=NULL, obj=NULL;
13491 obj = (melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/;
13492 melt_object_get_field(slot,obj, 1, "LOCA_LOCATION");
13493 /*_.LOC__V18*/
13494 meltfptr[17] = slot;
13497 /*_.LIST_FIRST__V19*/
13498 meltfptr[18] =
13499 (melt_list_first((melt_ptr_t)(/*_.CONT__V17*/ meltfptr[4])));;
13500 /*^compute*/
13501 /*_.CURPAIR__V20*/
13502 meltfptr[19] =
13503 (melt_pair_tail((melt_ptr_t)(/*_.LIST_FIRST__V19*/ meltfptr[18])));;
13505 MELT_CHECK_SIGNAL();
13507 MELT_LOCATION("warmelt-macro.melt:6750:/ apply");
13508 /*apply*/
13510 union meltparam_un argtab[3];
13511 memset(&argtab, 0, sizeof(argtab));
13512 /*^apply.arg*/
13513 argtab[0].meltbp_aptr = (melt_ptr_t*) &/*_.ENV__V3*/ meltfptr[2];
13514 /*^apply.arg*/
13515 argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.PCTX__V4*/ meltfptr[3];
13516 /*^apply.arg*/
13517 argtab[2].meltbp_aptr = (melt_ptr_t*) &/*_.LOC__V18*/ meltfptr[17];
13518 /*_.ARGSP__V21*/
13519 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);
13523 MELT_CHECK_SIGNAL();
13525 MELT_LOCATION("warmelt-macro.melt:6751:/ quasiblock");
13528 /*^rawallocobj*/
13529 /*rawallocobj*/
13531 melt_ptr_t newobj = 0;
13532 melt_raw_object_create(newobj,(melt_ptr_t)((/*!CLASS_SOURCE_PATTERN_LIST*/ meltfrout->tabval[6])), (4), "CLASS_SOURCE_PATTERN_LIST");
13533 /*_.INST__V23*/
13534 meltfptr[22] =
13535 newobj;
13538 /*^putslot*/
13539 /*putslot*/
13540 melt_assertmsg("checkobj putslot _ @LOCA_LOCATION", melt_magic_discr((melt_ptr_t)(/*_.INST__V23*/ meltfptr[22])) == MELTOBMAG_OBJECT);
13541 melt_putfield_object((/*_.INST__V23*/ meltfptr[22]), (1), (/*_.LOC__V18*/ meltfptr[17]), "LOCA_LOCATION");
13543 /*^putslot*/
13544 /*putslot*/
13545 melt_assertmsg("checkobj putslot _ @CTPAT_SUBPA", melt_magic_discr((melt_ptr_t)(/*_.INST__V23*/ meltfptr[22])) == MELTOBMAG_OBJECT);
13546 melt_putfield_object((/*_.INST__V23*/ meltfptr[22]), (3), (/*_.ARGSP__V21*/ meltfptr[20]), "CTPAT_SUBPA");
13548 /*^touchobj*/
13550 melt_dbgtrace_written_object (/*_.INST__V23*/ meltfptr[22], "newly made instance");
13552 /*_.RES__V22*/
13553 meltfptr[21] = /*_.INST__V23*/ meltfptr[22];;
13555 #if MELT_HAVE_DEBUG
13556 MELT_LOCATION("warmelt-macro.melt:6755:/ cppif.then");
13557 /*^block*/
13558 /*anyblock*/
13563 /*^locexp*/
13564 /*melt_increment_dbgcounter*/
13565 #if MELT_HAVE_DEBUG
13566 melt_dbgcounter++;
13567 #endif
13572 MELT_CHECK_SIGNAL();
13574 /*_#MELT_NEED_DBG__L6*/
13575 meltfnum[0] =
13576 /*MELT_NEED_DBG*/
13577 #if MELT_HAVE_DEBUG
13578 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
13579 #else
13580 0 /* no melt_need_dbg */
13581 #endif /*MELT_HAVE_DEBUG*/
13583 MELT_LOCATION("warmelt-macro.melt:6755:/ cond");
13584 /*cond*/
13585 if (/*_#MELT_NEED_DBG__L6*/ meltfnum[0]) /*then*/
13587 /*^cond.then*/
13588 /*^block*/
13589 /*anyblock*/
13592 /*_#MELT_CALLCOUNT__L7*/ meltfnum[1] =
13593 /* for melt_callcount */
13594 #if MELT_HAVE_DEBUG && defined (meltcallcount)
13595 meltcallcount /* melt_callcount debugging */
13596 #else
13597 0L /* melt_callcount without debug */
13598 #endif /* MELT_HAVE_DEBUG melt_callcount */
13601 MELT_CHECK_SIGNAL();
13603 MELT_LOCATION("warmelt-macro.melt:6755:/ apply");
13604 /*apply*/
13606 union meltparam_un argtab[5];
13607 memset(&argtab, 0, sizeof(argtab));
13608 /*^apply.arg*/
13609 argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L7*/ meltfnum[1];
13610 /*^apply.arg*/
13611 argtab[1].meltbp_cstring = "warmelt-macro.melt";
13612 /*^apply.arg*/
13613 argtab[2].meltbp_long = 6755;
13614 /*^apply.arg*/
13615 argtab[3].meltbp_cstring = "patexpand_list res";
13616 /*^apply.arg*/
13617 argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.RES__V22*/ meltfptr[21];
13618 /*_.MELT_DEBUG_FUN__V25*/
13619 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);
13622 /*_._IF___V24*/
13623 meltfptr[23] = /*_.MELT_DEBUG_FUN__V25*/ meltfptr[24];;
13624 /*epilog*/
13626 MELT_LOCATION("warmelt-macro.melt:6755:/ clear");
13627 /*clear*/ /*_#MELT_CALLCOUNT__L7*/
13628 meltfnum[1] = 0 ;
13629 /*^clear*/
13630 /*clear*/ /*_.MELT_DEBUG_FUN__V25*/
13631 meltfptr[24] = 0 ;
13635 else /*^cond.else*/
13638 /*_._IF___V24*/ meltfptr[23] = /*reallynil*/ NULL ;;
13643 MELT_LOCATION("warmelt-macro.melt:6755:/ locexp");
13644 /*void*/
13645 (void)0;
13648 /*^quasiblock*/
13651 /*epilog*/
13653 /*^clear*/
13654 /*clear*/ /*_#MELT_NEED_DBG__L6*/
13655 meltfnum[0] = 0 ;
13656 /*^clear*/
13657 /*clear*/ /*_._IF___V24*/
13658 meltfptr[23] = 0 ;
13661 #else /*MELT_HAVE_DEBUG*/
13662 /*^cppif.else*/
13663 /*^block*/
13664 /*anyblock*/
13669 /*^locexp*/
13670 /*void*/(void)0;
13673 /*epilog*/
13676 #endif /*MELT_HAVE_DEBUG*/
13679 MELT_CHECK_SIGNAL();
13681 MELT_LOCATION("warmelt-macro.melt:6756:/ quasiblock");
13684 /*_._RETVAL___V1*/
13685 meltfptr[0] = /*_.RES__V22*/ meltfptr[21];;
13688 MELT_LOCATION("warmelt-macro.melt:6756:/ locexp");
13689 /*ochecknores compilobj_nrep_return*/
13690 #if MELT_HAVE_DEBUG
13691 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
13692 melt_warn_for_no_expected_secondary_results();
13693 /* we warned when secondary results are expected but not returned. */
13694 #endif /*MELT_HAVE_DEBUG*/
13698 /*^finalreturn*/
13700 /*finalret*/
13701 goto meltlabend_rout ;
13702 /*_.LET___V16*/
13703 meltfptr[14] = /*_.RETURN___V26*/ meltfptr[24];;
13705 MELT_LOCATION("warmelt-macro.melt:6746:/ clear");
13706 /*clear*/ /*_.CONT__V17*/
13707 meltfptr[4] = 0 ;
13708 /*^clear*/
13709 /*clear*/ /*_.LOC__V18*/
13710 meltfptr[17] = 0 ;
13711 /*^clear*/
13712 /*clear*/ /*_.LIST_FIRST__V19*/
13713 meltfptr[18] = 0 ;
13714 /*^clear*/
13715 /*clear*/ /*_.CURPAIR__V20*/
13716 meltfptr[19] = 0 ;
13717 /*^clear*/
13718 /*clear*/ /*_.ARGSP__V21*/
13719 meltfptr[20] = 0 ;
13720 /*^clear*/
13721 /*clear*/ /*_.RES__V22*/
13722 meltfptr[21] = 0 ;
13723 /*^clear*/
13724 /*clear*/ /*_.RETURN___V26*/
13725 meltfptr[24] = 0 ;
13727 MELT_CHECK_SIGNAL();
13729 MELT_LOCATION("warmelt-macro.melt:6741:/ quasiblock");
13732 /*_._RETVAL___V1*/
13733 meltfptr[0] = /*_.LET___V16*/ meltfptr[14];;
13736 MELT_LOCATION("warmelt-macro.melt:6741:/ locexp");
13737 /*ochecknores compilobj_nrep_return*/
13738 #if MELT_HAVE_DEBUG
13739 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
13740 melt_warn_for_no_expected_secondary_results();
13741 /* we warned when secondary results are expected but not returned. */
13742 #endif /*MELT_HAVE_DEBUG*/
13746 /*^finalreturn*/
13748 /*finalret*/
13749 goto meltlabend_rout ;
13750 /*epilog*/
13752 /*^clear*/
13753 /*clear*/ /*_.IFCPP___V7*/
13754 meltfptr[5] = 0 ;
13755 /*^clear*/
13756 /*clear*/ /*_.IFCPP___V10*/
13757 meltfptr[8] = 0 ;
13758 /*^clear*/
13759 /*clear*/ /*_.IFCPP___V13*/
13760 meltfptr[11] = 0 ;
13761 /*^clear*/
13762 /*clear*/ /*_.LET___V16*/
13763 meltfptr[14] = 0 ;
13767 goto meltlabend_rout;
13768 meltlabend_rout:
13769 melt_trace_end("PATEXPAND_LIST", meltcallcount);
13770 melt_blocklevel_signals = current_blocklevel_signals_meltrout_117_WARMELTmiMACRO_PATEXPAND_LIST_melt;
13771 return (melt_ptr_t)(/*_._RETVAL___V1*/ meltfptr[0]);
13772 #undef meltcallcount
13773 #undef meltfram__
13774 #undef MELTFRAM_NBVARNUM
13775 #undef MELTFRAM_NBVARPTR
13776 } /*end meltrout_117_WARMELTmiMACRO_PATEXPAND_LIST*/
13783 melt_ptr_t MELT_MODULE_VISIBILITY
13784 meltrout_118_WARMELTmiMACRO_MEXPAND_MATCH(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_,
13785 const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_)
13787 long current_blocklevel_signals_meltrout_118_WARMELTmiMACRO_MEXPAND_MATCH_melt = melt_blocklevel_signals;
13789 #if MELT_HAVE_DEBUG
13790 static long melt_call_counter__;
13791 long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__;
13792 #undef meltcallcount
13793 #define meltcallcount melt_thiscallcounter__
13794 #else
13795 #undef meltcallcount
13796 #define meltcallcount 0L
13797 #endif
13798 //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1538
13800 /* start of frame for routine meltrout_118_WARMELTmiMACRO_MEXPAND_MATCH fromline 1752 */
13802 /** start of frame for meltrout_118_WARMELTmiMACRO_MEXPAND_MATCH of CLASS_PROCROUTINEOBJ from 1555**/
13804 /*curframdeclclassy*/ class MeltFrame_meltrout_118_WARMELTmiMACRO_MEXPAND_MATCH// fromline 1568
13805 : public Melt_CallFrameWithValues<77>
13807 public: /* fromline 1572*/
13808 long mcfr_varnum[27];
13809 /*classy others*/
13810 long _meltsparel;
13811 void melt_mark_stuff (void)
13813 } /*end melt_mark_stuff*/
13814 virtual void melt_mark_ggc_data (void)
13816 melt_mark_values ();
13817 melt_mark_stuff ();
13818 }; /*end melt_mark_ggc_data*/
13819 MeltFrame_meltrout_118_WARMELTmiMACRO_MEXPAND_MATCH(meltclosure_ptr_t clos) //the closure constructor fromline 1630
13820 : Melt_CallFrameWithValues<77> (
13821 #if ENABLE_CHECKING /*fromline 1634*/
13822 __FILE__, __LINE__,
13823 #endif /* ENABLE_CHECKING fromline 1638*/
13824 sizeof(MeltFrame_meltrout_118_WARMELTmiMACRO_MEXPAND_MATCH), clos) {};
13825 MeltFrame_meltrout_118_WARMELTmiMACRO_MEXPAND_MATCH() //the constructor fromline 1642
13826 : Melt_CallFrameWithValues<77> (
13827 #if ENABLE_CHECKING /*fromline 1646*/
13828 __FILE__, __LINE__,
13829 #endif /* ENABLE_CHECKING fromline 1650*/
13830 sizeof(MeltFrame_meltrout_118_WARMELTmiMACRO_MEXPAND_MATCH)) {};
13831 #if ENABLE_CHECKING /*fromline 1654*/
13832 MeltFrame_meltrout_118_WARMELTmiMACRO_MEXPAND_MATCH(const char*fil, int lin) //the constructor fromline 1656
13833 : Melt_CallFrameWithValues<77> (fil,lin, sizeof(MeltFrame_meltrout_118_WARMELTmiMACRO_MEXPAND_MATCH)) {};
13834 MeltFrame_meltrout_118_WARMELTmiMACRO_MEXPAND_MATCH(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1661
13835 : Melt_CallFrameWithValues<77> (fil,lin, sizeof(MeltFrame_meltrout_118_WARMELTmiMACRO_MEXPAND_MATCH), clos) {};
13836 #endif /* ENABLE_CHECKING fromline 1666*/
13838 }; // end class MeltFrame_meltrout_118_WARMELTmiMACRO_MEXPAND_MATCH
13841 /** end of frame for meltrout_118_WARMELTmiMACRO_MEXPAND_MATCH fromline 1697**/
13843 /* end of frame for routine meltrout_118_WARMELTmiMACRO_MEXPAND_MATCH fromline 1756 */
13845 /* classy proc frame meltrout_118_WARMELTmiMACRO_MEXPAND_MATCH */
13846 MeltFrame_meltrout_118_WARMELTmiMACRO_MEXPAND_MATCH
13847 meltfram__ /*declfrastruct fromline 1780*/
13848 /*classyprocarg meltrout_118_WARMELTmiMACRO_MEXPAND_MATCH fromline 1785*/
13849 #if ENABLE_CHECKING
13850 (__FILE__, __LINE__, meltclosp_) /* fromline 1789*/
13851 #else /*ENABLE_CHECKING */
13852 (meltclosp_) /* fromline 1793*/
13853 #endif /*ENABLE_CHECKING */
13856 #define meltframe meltfram__
13858 melt_trace_start("MEXPAND_MATCH", meltcallcount);
13859 /*use arguments*/
13860 (void) meltclosp_;
13861 (void)meltfirstargp_;
13862 (void)meltxargdescr_;
13863 (void)meltxargtab_;
13864 (void)meltxresdescr_;
13865 (void)meltxrestab_;
13866 /*getargs*/
13868 /*getarg#0*/
13869 MELT_LOCATION("warmelt-macro.melt:6771:/ getarg");
13870 /*_.SEXPR__V2*/
13871 meltfptr[1] = (melt_ptr_t) meltfirstargp_;
13873 /*getarg#1*/
13874 /*^getarg*/
13875 if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_endgetargs;
13876 /*_.ENV__V3*/
13877 meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL;
13878 gcc_assert(melt_discr((melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2])) != NULL);
13881 /*getarg#2*/
13882 /*^getarg*/
13883 if (meltxargdescr_[1] != MELTBPAR_PTR) goto meltlab_endgetargs;
13884 /*_.MEXPANDER__V4*/
13885 meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL;
13886 gcc_assert(melt_discr((melt_ptr_t)(/*_.MEXPANDER__V4*/ meltfptr[3])) != NULL);
13889 /*getarg#3*/
13890 /*^getarg*/
13891 if (meltxargdescr_[2] != MELTBPAR_PTR) goto meltlab_endgetargs;
13892 /*_.MODCTX__V5*/
13893 meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL;
13894 gcc_assert(melt_discr((melt_ptr_t)(/*_.MODCTX__V5*/ meltfptr[4])) != NULL);
13897 goto meltlab_endgetargs;
13898 meltlab_endgetargs:
13900 /*body*/
13901 /*^block*/
13902 /*anyblock*/
13906 #if MELT_HAVE_DEBUG
13907 MELT_LOCATION("warmelt-macro.melt:6772:/ cppif.then");
13908 /*^block*/
13909 /*anyblock*/
13914 /*^locexp*/
13915 /*melt_increment_dbgcounter*/
13916 #if MELT_HAVE_DEBUG
13917 melt_dbgcounter++;
13918 #endif
13923 MELT_CHECK_SIGNAL();
13925 /*_#MELT_NEED_DBG__L1*/
13926 meltfnum[0] =
13927 /*MELT_NEED_DBG*/
13928 #if MELT_HAVE_DEBUG
13929 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
13930 #else
13931 0 /* no melt_need_dbg */
13932 #endif /*MELT_HAVE_DEBUG*/
13934 MELT_LOCATION("warmelt-macro.melt:6772:/ cond");
13935 /*cond*/
13936 if (/*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then*/
13938 /*^cond.then*/
13939 /*^block*/
13940 /*anyblock*/
13943 /*_#MELT_CALLCOUNT__L2*/ meltfnum[1] =
13944 /* for melt_callcount */
13945 #if MELT_HAVE_DEBUG && defined (meltcallcount)
13946 meltcallcount /* melt_callcount debugging */
13947 #else
13948 0L /* melt_callcount without debug */
13949 #endif /* MELT_HAVE_DEBUG melt_callcount */
13952 MELT_CHECK_SIGNAL();
13954 MELT_LOCATION("warmelt-macro.melt:6772:/ apply");
13955 /*apply*/
13957 union meltparam_un argtab[5];
13958 memset(&argtab, 0, sizeof(argtab));
13959 /*^apply.arg*/
13960 argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L2*/ meltfnum[1];
13961 /*^apply.arg*/
13962 argtab[1].meltbp_cstring = "warmelt-macro.melt";
13963 /*^apply.arg*/
13964 argtab[2].meltbp_long = 6772;
13965 /*^apply.arg*/
13966 argtab[3].meltbp_cstring = "mexpand_match sexpr=";
13967 /*^apply.arg*/
13968 argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.SEXPR__V2*/ meltfptr[1];
13969 /*_.MELT_DEBUG_FUN__V7*/
13970 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);
13973 /*_._IF___V6*/
13974 meltfptr[5] = /*_.MELT_DEBUG_FUN__V7*/ meltfptr[6];;
13975 /*epilog*/
13977 MELT_LOCATION("warmelt-macro.melt:6772:/ clear");
13978 /*clear*/ /*_#MELT_CALLCOUNT__L2*/
13979 meltfnum[1] = 0 ;
13980 /*^clear*/
13981 /*clear*/ /*_.MELT_DEBUG_FUN__V7*/
13982 meltfptr[6] = 0 ;
13986 else /*^cond.else*/
13989 /*_._IF___V6*/ meltfptr[5] = /*reallynil*/ NULL ;;
13994 MELT_LOCATION("warmelt-macro.melt:6772:/ locexp");
13995 /*void*/
13996 (void)0;
13999 /*^quasiblock*/
14002 /*epilog*/
14004 /*^clear*/
14005 /*clear*/ /*_#MELT_NEED_DBG__L1*/
14006 meltfnum[0] = 0 ;
14007 /*^clear*/
14008 /*clear*/ /*_._IF___V6*/
14009 meltfptr[5] = 0 ;
14012 #else /*MELT_HAVE_DEBUG*/
14013 /*^cppif.else*/
14014 /*^block*/
14015 /*anyblock*/
14020 /*^locexp*/
14021 /*void*/(void)0;
14024 /*epilog*/
14027 #endif /*MELT_HAVE_DEBUG*/
14030 #if MELT_HAVE_DEBUG
14031 MELT_LOCATION("warmelt-macro.melt:6773:/ cppif.then");
14032 /*^block*/
14033 /*anyblock*/
14037 MELT_CHECK_SIGNAL();
14039 /*_#IS_A__L3*/
14040 meltfnum[1] =
14041 melt_is_instance_of((melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_SEXPR*/ meltfrout->tabval[1])));;
14042 MELT_LOCATION("warmelt-macro.melt:6773:/ cond");
14043 /*cond*/
14044 if (/*_#IS_A__L3*/ meltfnum[1]) /*then*/
14046 /*^cond.then*/
14047 /*_._IFELSE___V9*/ meltfptr[5] = (/*nil*/NULL);;
14049 else
14051 MELT_LOCATION("warmelt-macro.melt:6773:/ cond.else");
14053 /*^block*/
14054 /*anyblock*/
14058 MELT_CHECK_SIGNAL();
14060 /*^apply*/
14061 /*apply*/
14063 union meltparam_un argtab[4];
14064 memset(&argtab, 0, sizeof(argtab));
14065 /*^apply.arg*/
14066 argtab[0].meltbp_cstring = "check sexpr";
14067 /*^apply.arg*/
14068 argtab[1].meltbp_cstring = "warmelt-macro.melt";
14069 /*^apply.arg*/
14070 argtab[2].meltbp_long = 6773;
14071 /*^apply.arg*/
14072 argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.SEXPR__V2*/ meltfptr[1];
14073 /*_.MELT_ASSERT_FAILURE_FUN__V10*/
14074 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);
14077 /*_._IFELSE___V9*/
14078 meltfptr[5] = /*_.MELT_ASSERT_FAILURE_FUN__V10*/ meltfptr[9];;
14079 /*epilog*/
14081 MELT_LOCATION("warmelt-macro.melt:6773:/ clear");
14082 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V10*/
14083 meltfptr[9] = 0 ;
14088 /*_.IFCPP___V8*/
14089 meltfptr[6] = /*_._IFELSE___V9*/ meltfptr[5];;
14090 /*epilog*/
14092 MELT_LOCATION("warmelt-macro.melt:6773:/ clear");
14093 /*clear*/ /*_#IS_A__L3*/
14094 meltfnum[1] = 0 ;
14095 /*^clear*/
14096 /*clear*/ /*_._IFELSE___V9*/
14097 meltfptr[5] = 0 ;
14100 #else /*MELT_HAVE_DEBUG*/
14101 /*^cppif.else*/
14102 /*_.IFCPP___V8*/ meltfptr[6] = (/*nil*/NULL);
14103 #endif /*MELT_HAVE_DEBUG*/
14106 #if MELT_HAVE_DEBUG
14107 MELT_LOCATION("warmelt-macro.melt:6774:/ cppif.then");
14108 /*^block*/
14109 /*anyblock*/
14113 MELT_CHECK_SIGNAL();
14115 /*_#IS_A__L4*/
14116 meltfnum[0] =
14117 melt_is_instance_of((melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2]), (melt_ptr_t)((/*!CLASS_ENVIRONMENT*/ meltfrout->tabval[3])));;
14118 MELT_LOCATION("warmelt-macro.melt:6774:/ cond");
14119 /*cond*/
14120 if (/*_#IS_A__L4*/ meltfnum[0]) /*then*/
14122 /*^cond.then*/
14123 /*_._IFELSE___V12*/ meltfptr[5] = (/*nil*/NULL);;
14125 else
14127 MELT_LOCATION("warmelt-macro.melt:6774:/ cond.else");
14129 /*^block*/
14130 /*anyblock*/
14134 MELT_CHECK_SIGNAL();
14136 /*^apply*/
14137 /*apply*/
14139 union meltparam_un argtab[4];
14140 memset(&argtab, 0, sizeof(argtab));
14141 /*^apply.arg*/
14142 argtab[0].meltbp_cstring = "check env";
14143 /*^apply.arg*/
14144 argtab[1].meltbp_cstring = "warmelt-macro.melt";
14145 /*^apply.arg*/
14146 argtab[2].meltbp_long = 6774;
14147 /*^apply.arg*/
14148 argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.ENV__V3*/ meltfptr[2];
14149 /*_.MELT_ASSERT_FAILURE_FUN__V13*/
14150 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);
14153 /*_._IFELSE___V12*/
14154 meltfptr[5] = /*_.MELT_ASSERT_FAILURE_FUN__V13*/ meltfptr[12];;
14155 /*epilog*/
14157 MELT_LOCATION("warmelt-macro.melt:6774:/ clear");
14158 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V13*/
14159 meltfptr[12] = 0 ;
14164 /*_.IFCPP___V11*/
14165 meltfptr[9] = /*_._IFELSE___V12*/ meltfptr[5];;
14166 /*epilog*/
14168 MELT_LOCATION("warmelt-macro.melt:6774:/ clear");
14169 /*clear*/ /*_#IS_A__L4*/
14170 meltfnum[0] = 0 ;
14171 /*^clear*/
14172 /*clear*/ /*_._IFELSE___V12*/
14173 meltfptr[5] = 0 ;
14176 #else /*MELT_HAVE_DEBUG*/
14177 /*^cppif.else*/
14178 /*_.IFCPP___V11*/ meltfptr[9] = (/*nil*/NULL);
14179 #endif /*MELT_HAVE_DEBUG*/
14182 #if MELT_HAVE_DEBUG
14183 MELT_LOCATION("warmelt-macro.melt:6775:/ cppif.then");
14184 /*^block*/
14185 /*anyblock*/
14189 MELT_CHECK_SIGNAL();
14191 /*_#IS_OBJECT__L5*/
14192 meltfnum[1] =
14193 (melt_magic_discr((melt_ptr_t)(/*_.MODCTX__V5*/ meltfptr[4])) == MELTOBMAG_OBJECT);;
14194 MELT_LOCATION("warmelt-macro.melt:6775:/ cond");
14195 /*cond*/
14196 if (/*_#IS_OBJECT__L5*/ meltfnum[1]) /*then*/
14198 /*^cond.then*/
14199 /*_._IFELSE___V15*/ meltfptr[5] = (/*nil*/NULL);;
14201 else
14203 MELT_LOCATION("warmelt-macro.melt:6775:/ cond.else");
14205 /*^block*/
14206 /*anyblock*/
14210 MELT_CHECK_SIGNAL();
14212 /*^apply*/
14213 /*apply*/
14215 union meltparam_un argtab[4];
14216 memset(&argtab, 0, sizeof(argtab));
14217 /*^apply.arg*/
14218 argtab[0].meltbp_cstring = "check modctx";
14219 /*^apply.arg*/
14220 argtab[1].meltbp_cstring = "warmelt-macro.melt";
14221 /*^apply.arg*/
14222 argtab[2].meltbp_long = 6775;
14223 /*^apply.arg*/
14224 argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.MODCTX__V5*/ meltfptr[4];
14225 /*_.MELT_ASSERT_FAILURE_FUN__V16*/
14226 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);
14229 /*_._IFELSE___V15*/
14230 meltfptr[5] = /*_.MELT_ASSERT_FAILURE_FUN__V16*/ meltfptr[15];;
14231 /*epilog*/
14233 MELT_LOCATION("warmelt-macro.melt:6775:/ clear");
14234 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V16*/
14235 meltfptr[15] = 0 ;
14240 /*_.IFCPP___V14*/
14241 meltfptr[12] = /*_._IFELSE___V15*/ meltfptr[5];;
14242 /*epilog*/
14244 MELT_LOCATION("warmelt-macro.melt:6775:/ clear");
14245 /*clear*/ /*_#IS_OBJECT__L5*/
14246 meltfnum[1] = 0 ;
14247 /*^clear*/
14248 /*clear*/ /*_._IFELSE___V15*/
14249 meltfptr[5] = 0 ;
14252 #else /*MELT_HAVE_DEBUG*/
14253 /*^cppif.else*/
14254 /*_.IFCPP___V14*/ meltfptr[12] = (/*nil*/NULL);
14255 #endif /*MELT_HAVE_DEBUG*/
14258 MELT_CHECK_SIGNAL();
14260 /*^compute*/
14261 /*_#NULL__L6*/
14262 meltfnum[0] =
14263 (/*null*/(/*_.MEXPANDER__V4*/ meltfptr[3]) == NULL);;
14264 MELT_LOCATION("warmelt-macro.melt:6776:/ cond");
14265 /*cond*/
14266 if (/*_#NULL__L6*/ meltfnum[0]) /*then*/
14268 /*^cond.then*/
14269 /*^block*/
14270 /*anyblock*/
14273 /*^compute*/
14274 /*_.MEXPANDER__V4*/ meltfptr[3] = /*_.SETQ___V18*/ meltfptr[5] = (/*!MACROEXPAND_1*/ meltfrout->tabval[4]);;
14275 /*_._IF___V17*/
14276 meltfptr[15] = /*_.SETQ___V18*/ meltfptr[5];;
14277 /*epilog*/
14279 MELT_LOCATION("warmelt-macro.melt:6776:/ clear");
14280 /*clear*/ /*_.SETQ___V18*/
14281 meltfptr[5] = 0 ;
14285 else /*^cond.else*/
14288 /*_._IF___V17*/ meltfptr[15] = /*reallynil*/ NULL ;;
14291 MELT_LOCATION("warmelt-macro.melt:6777:/ quasiblock");
14294 MELT_LOCATION("warmelt-macro.melt:6778:/ getslot");
14296 melt_ptr_t slot=NULL, obj=NULL;
14297 obj = (melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/;
14298 melt_object_get_field(slot,obj, 2, "SEXP_CONTENTS");
14299 /*_.CONT__V20*/
14300 meltfptr[19] = slot;
14303 MELT_LOCATION("warmelt-macro.melt:6779:/ getslot");
14305 melt_ptr_t slot=NULL, obj=NULL;
14306 obj = (melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/;
14307 melt_object_get_field(slot,obj, 1, "LOCA_LOCATION");
14308 /*_.LOC__V21*/
14309 meltfptr[20] = slot;
14312 /*_.LIST_FIRST__V22*/
14313 meltfptr[21] =
14314 (melt_list_first((melt_ptr_t)(/*_.CONT__V20*/ meltfptr[19])));;
14315 /*^compute*/
14316 /*_.PAIR_TAIL__V23*/
14317 meltfptr[22] =
14318 (melt_pair_tail((melt_ptr_t)(/*_.LIST_FIRST__V22*/ meltfptr[21])));;
14319 /*^compute*/
14320 /*_.MSEXP__V24*/
14321 meltfptr[23] =
14322 (melt_pair_head((melt_ptr_t)(/*_.PAIR_TAIL__V23*/ meltfptr[22])));;
14324 MELT_CHECK_SIGNAL();
14326 MELT_LOCATION("warmelt-macro.melt:6781:/ apply");
14327 /*apply*/
14329 union meltparam_un argtab[3];
14330 memset(&argtab, 0, sizeof(argtab));
14331 /*^apply.arg*/
14332 argtab[0].meltbp_aptr = (melt_ptr_t*) &/*_.ENV__V3*/ meltfptr[2];
14333 /*^apply.arg*/
14334 argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.MEXPANDER__V4*/ meltfptr[3];
14335 /*^apply.arg*/
14336 argtab[2].meltbp_aptr = (melt_ptr_t*) &/*_.MODCTX__V5*/ meltfptr[4];
14337 /*_.MATSX__V25*/
14338 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);
14341 /*_.LIST_FIRST__V26*/
14342 meltfptr[25] =
14343 (melt_list_first((melt_ptr_t)(/*_.CONT__V20*/ meltfptr[19])));;
14344 /*^compute*/
14345 /*_.PAIR_TAIL__V27*/
14346 meltfptr[26] =
14347 (melt_pair_tail((melt_ptr_t)(/*_.LIST_FIRST__V26*/ meltfptr[25])));;
14348 /*^compute*/
14349 /*_.PAIR_TAIL__V28*/
14350 meltfptr[27] =
14351 (melt_pair_tail((melt_ptr_t)(/*_.PAIR_TAIL__V27*/ meltfptr[26])));;
14352 MELT_LOCATION("warmelt-macro.melt:6785:/ quasiblock");
14355 /*^newclosure*/
14356 /*newclosure*/ /*_.LAMBDA___V30*/
14357 meltfptr[29] =
14358 (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));
14360 /*^putclosedv*/
14361 /*putclosv*/
14362 melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V30*/ meltfptr[29])) == MELTOBMAG_CLOSURE);
14363 melt_assertmsg("putclosv checkoff", 0>= 0 && 0< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V30*/ meltfptr[29])));
14364 ((meltclosure_ptr_t)/*_.LAMBDA___V30*/ meltfptr[29])->tabval[0] = (melt_ptr_t)(/*_.LOC__V21*/ meltfptr[20]);
14366 /*_.LAMBDA___V29*/
14367 meltfptr[28] = /*_.LAMBDA___V30*/ meltfptr[29];;
14369 MELT_CHECK_SIGNAL();
14371 MELT_LOCATION("warmelt-macro.melt:6782:/ apply");
14372 /*apply*/
14374 union meltparam_un argtab[2];
14375 memset(&argtab, 0, sizeof(argtab));
14376 /*^apply.arg*/
14377 argtab[0].meltbp_aptr = (melt_ptr_t*) &(/*!DISCR_MULTIPLE*/ meltfrout->tabval[6]);
14378 /*^apply.arg*/
14379 argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.LAMBDA___V29*/ meltfptr[28];
14380 /*_.MEXPTUPLE__V31*/
14381 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);
14384 /*_#NBMATCH__L7*/
14385 meltfnum[1] =
14386 (melt_multiple_length((melt_ptr_t)(/*_.MEXPTUPLE__V31*/ meltfptr[30])));;
14387 MELT_LOCATION("warmelt-macro.melt:6791:/ quasiblock");
14390 /*_.LX__V33*/
14391 meltfptr[32] =
14392 (melt_multiple_nth((melt_ptr_t)(/*_.MEXPTUPLE__V31*/ meltfptr[30]), (-1)));;
14394 #if MELT_HAVE_DEBUG
14395 MELT_LOCATION("warmelt-macro.melt:6792:/ cppif.then");
14396 /*^block*/
14397 /*anyblock*/
14402 /*^locexp*/
14403 /*melt_increment_dbgcounter*/
14404 #if MELT_HAVE_DEBUG
14405 melt_dbgcounter++;
14406 #endif
14411 MELT_CHECK_SIGNAL();
14413 /*_#MELT_NEED_DBG__L8*/
14414 meltfnum[7] =
14415 /*MELT_NEED_DBG*/
14416 #if MELT_HAVE_DEBUG
14417 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
14418 #else
14419 0 /* no melt_need_dbg */
14420 #endif /*MELT_HAVE_DEBUG*/
14422 MELT_LOCATION("warmelt-macro.melt:6792:/ cond");
14423 /*cond*/
14424 if (/*_#MELT_NEED_DBG__L8*/ meltfnum[7]) /*then*/
14426 /*^cond.then*/
14427 /*^block*/
14428 /*anyblock*/
14431 /*_#MELT_CALLCOUNT__L9*/ meltfnum[8] =
14432 /* for melt_callcount */
14433 #if MELT_HAVE_DEBUG && defined (meltcallcount)
14434 meltcallcount /* melt_callcount debugging */
14435 #else
14436 0L /* melt_callcount without debug */
14437 #endif /* MELT_HAVE_DEBUG melt_callcount */
14440 MELT_CHECK_SIGNAL();
14442 MELT_LOCATION("warmelt-macro.melt:6792:/ apply");
14443 /*apply*/
14445 union meltparam_un argtab[5];
14446 memset(&argtab, 0, sizeof(argtab));
14447 /*^apply.arg*/
14448 argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L9*/ meltfnum[8];
14449 /*^apply.arg*/
14450 argtab[1].meltbp_cstring = "warmelt-macro.melt";
14451 /*^apply.arg*/
14452 argtab[2].meltbp_long = 6792;
14453 /*^apply.arg*/
14454 argtab[3].meltbp_cstring = "mexpand_match lastmexp lx";
14455 /*^apply.arg*/
14456 argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.LX__V33*/ meltfptr[32];
14457 /*_.MELT_DEBUG_FUN__V35*/
14458 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);
14461 /*_._IF___V34*/
14462 meltfptr[33] = /*_.MELT_DEBUG_FUN__V35*/ meltfptr[34];;
14463 /*epilog*/
14465 MELT_LOCATION("warmelt-macro.melt:6792:/ clear");
14466 /*clear*/ /*_#MELT_CALLCOUNT__L9*/
14467 meltfnum[8] = 0 ;
14468 /*^clear*/
14469 /*clear*/ /*_.MELT_DEBUG_FUN__V35*/
14470 meltfptr[34] = 0 ;
14474 else /*^cond.else*/
14477 /*_._IF___V34*/ meltfptr[33] = /*reallynil*/ NULL ;;
14482 MELT_LOCATION("warmelt-macro.melt:6792:/ locexp");
14483 /*void*/
14484 (void)0;
14487 /*^quasiblock*/
14490 /*epilog*/
14492 /*^clear*/
14493 /*clear*/ /*_#MELT_NEED_DBG__L8*/
14494 meltfnum[7] = 0 ;
14495 /*^clear*/
14496 /*clear*/ /*_._IF___V34*/
14497 meltfptr[33] = 0 ;
14500 #else /*MELT_HAVE_DEBUG*/
14501 /*^cppif.else*/
14502 /*^block*/
14503 /*anyblock*/
14508 /*^locexp*/
14509 /*void*/(void)0;
14512 /*epilog*/
14515 #endif /*MELT_HAVE_DEBUG*/
14517 /*_.LET___V32*/
14518 meltfptr[31] = /*_.LX__V33*/ meltfptr[32];;
14520 MELT_LOCATION("warmelt-macro.melt:6791:/ clear");
14521 /*clear*/ /*_.LX__V33*/
14522 meltfptr[32] = 0 ;
14523 /*_.LASTMEXP__V36*/
14524 meltfptr[34] = /*_.LET___V32*/ meltfptr[31];;
14525 /*^compute*/
14526 /*_#IX__L10*/
14527 meltfnum[8] =
14528 ((/*_#NBMATCH__L7*/ meltfnum[1]) - (1));;
14529 /*^compute*/
14530 /*_.CASELIST__V37*/
14531 meltfptr[33] =
14532 (meltgc_new_list((meltobject_ptr_t)((/*!DISCR_LIST*/ meltfrout->tabval[9]))));;
14534 #if MELT_HAVE_DEBUG
14535 MELT_LOCATION("warmelt-macro.melt:6797:/ cppif.then");
14536 /*^block*/
14537 /*anyblock*/
14542 /*^locexp*/
14543 /*melt_increment_dbgcounter*/
14544 #if MELT_HAVE_DEBUG
14545 melt_dbgcounter++;
14546 #endif
14551 MELT_CHECK_SIGNAL();
14553 /*_#MELT_NEED_DBG__L11*/
14554 meltfnum[7] =
14555 /*MELT_NEED_DBG*/
14556 #if MELT_HAVE_DEBUG
14557 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
14558 #else
14559 0 /* no melt_need_dbg */
14560 #endif /*MELT_HAVE_DEBUG*/
14562 MELT_LOCATION("warmelt-macro.melt:6797:/ cond");
14563 /*cond*/
14564 if (/*_#MELT_NEED_DBG__L11*/ meltfnum[7]) /*then*/
14566 /*^cond.then*/
14567 /*^block*/
14568 /*anyblock*/
14571 /*_#MELT_CALLCOUNT__L12*/ meltfnum[11] =
14572 /* for melt_callcount */
14573 #if MELT_HAVE_DEBUG && defined (meltcallcount)
14574 meltcallcount /* melt_callcount debugging */
14575 #else
14576 0L /* melt_callcount without debug */
14577 #endif /* MELT_HAVE_DEBUG melt_callcount */
14580 MELT_CHECK_SIGNAL();
14582 MELT_LOCATION("warmelt-macro.melt:6797:/ apply");
14583 /*apply*/
14585 union meltparam_un argtab[5];
14586 memset(&argtab, 0, sizeof(argtab));
14587 /*^apply.arg*/
14588 argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L12*/ meltfnum[11];
14589 /*^apply.arg*/
14590 argtab[1].meltbp_cstring = "warmelt-macro.melt";
14591 /*^apply.arg*/
14592 argtab[2].meltbp_long = 6797;
14593 /*^apply.arg*/
14594 argtab[3].meltbp_cstring = "mexpand_match mexptuple";
14595 /*^apply.arg*/
14596 argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.MEXPTUPLE__V31*/ meltfptr[30];
14597 /*_.MELT_DEBUG_FUN__V39*/
14598 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);
14601 /*_._IF___V38*/
14602 meltfptr[32] = /*_.MELT_DEBUG_FUN__V39*/ meltfptr[38];;
14603 /*epilog*/
14605 MELT_LOCATION("warmelt-macro.melt:6797:/ clear");
14606 /*clear*/ /*_#MELT_CALLCOUNT__L12*/
14607 meltfnum[11] = 0 ;
14608 /*^clear*/
14609 /*clear*/ /*_.MELT_DEBUG_FUN__V39*/
14610 meltfptr[38] = 0 ;
14614 else /*^cond.else*/
14617 /*_._IF___V38*/ meltfptr[32] = /*reallynil*/ NULL ;;
14622 MELT_LOCATION("warmelt-macro.melt:6797:/ locexp");
14623 /*void*/
14624 (void)0;
14627 /*^quasiblock*/
14630 /*epilog*/
14632 /*^clear*/
14633 /*clear*/ /*_#MELT_NEED_DBG__L11*/
14634 meltfnum[7] = 0 ;
14635 /*^clear*/
14636 /*clear*/ /*_._IF___V38*/
14637 meltfptr[32] = 0 ;
14640 #else /*MELT_HAVE_DEBUG*/
14641 /*^cppif.else*/
14642 /*^block*/
14643 /*anyblock*/
14648 /*^locexp*/
14649 /*void*/(void)0;
14652 /*epilog*/
14655 #endif /*MELT_HAVE_DEBUG*/
14657 MELT_LOCATION("warmelt-macro.melt:6798:/ loop");
14658 /*loop*/
14660 meltlabloop_MATCHLOOP_1:;/*^loopbody*/
14662 /*^block*/
14663 /*anyblock*/
14667 MELT_CHECK_SIGNAL();
14670 MELT_CHECK_SIGNAL();
14672 /*_#ltI__L13*/
14673 meltfnum[11] =
14674 ((/*_#IX__L10*/ meltfnum[8]) < (0));;
14675 MELT_LOCATION("warmelt-macro.melt:6799:/ cond");
14676 /*cond*/
14677 if (/*_#ltI__L13*/ meltfnum[11]) /*then*/
14679 /*^cond.then*/
14680 /*^block*/
14681 /*anyblock*/
14684 /*^quasiblock*/
14687 /*^compute*/
14688 /*_.MATCHLOOP__V41*/ meltfptr[32] = /*reallynil*/ NULL ;;
14690 /*^exit*/
14691 /*exit*/
14693 goto meltlabexit_MATCHLOOP_1;
14696 /*epilog*/
14699 } /*noelse*/
14701 MELT_LOCATION("warmelt-macro.melt:6800:/ quasiblock");
14704 /*_.CURMATCH__V42*/
14705 meltfptr[41] =
14706 (melt_multiple_nth((melt_ptr_t)(/*_.MEXPTUPLE__V31*/ meltfptr[30]), (/*_#IX__L10*/ meltfnum[8])));;
14708 #if MELT_HAVE_DEBUG
14709 MELT_LOCATION("warmelt-macro.melt:6801:/ cppif.then");
14710 /*^block*/
14711 /*anyblock*/
14716 /*^locexp*/
14717 /*melt_increment_dbgcounter*/
14718 #if MELT_HAVE_DEBUG
14719 melt_dbgcounter++;
14720 #endif
14725 MELT_CHECK_SIGNAL();
14727 /*_#MELT_NEED_DBG__L14*/
14728 meltfnum[7] =
14729 /*MELT_NEED_DBG*/
14730 #if MELT_HAVE_DEBUG
14731 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
14732 #else
14733 0 /* no melt_need_dbg */
14734 #endif /*MELT_HAVE_DEBUG*/
14736 MELT_LOCATION("warmelt-macro.melt:6801:/ cond");
14737 /*cond*/
14738 if (/*_#MELT_NEED_DBG__L14*/ meltfnum[7]) /*then*/
14740 /*^cond.then*/
14741 /*^block*/
14742 /*anyblock*/
14745 /*_#MELT_CALLCOUNT__L15*/ meltfnum[14] =
14746 /* for melt_callcount */
14747 #if MELT_HAVE_DEBUG && defined (meltcallcount)
14748 meltcallcount /* melt_callcount debugging */
14749 #else
14750 0L /* melt_callcount without debug */
14751 #endif /* MELT_HAVE_DEBUG melt_callcount */
14754 MELT_CHECK_SIGNAL();
14756 MELT_LOCATION("warmelt-macro.melt:6801:/ apply");
14757 /*apply*/
14759 union meltparam_un argtab[5];
14760 memset(&argtab, 0, sizeof(argtab));
14761 /*^apply.arg*/
14762 argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L15*/ meltfnum[14];
14763 /*^apply.arg*/
14764 argtab[1].meltbp_cstring = "warmelt-macro.melt";
14765 /*^apply.arg*/
14766 argtab[2].meltbp_long = 6801;
14767 /*^apply.arg*/
14768 argtab[3].meltbp_cstring = "mexpand_match curmatch";
14769 /*^apply.arg*/
14770 argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.CURMATCH__V42*/ meltfptr[41];
14771 /*_.MELT_DEBUG_FUN__V44*/
14772 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);
14775 /*_._IF___V43*/
14776 meltfptr[42] = /*_.MELT_DEBUG_FUN__V44*/ meltfptr[43];;
14777 /*epilog*/
14779 MELT_LOCATION("warmelt-macro.melt:6801:/ clear");
14780 /*clear*/ /*_#MELT_CALLCOUNT__L15*/
14781 meltfnum[14] = 0 ;
14782 /*^clear*/
14783 /*clear*/ /*_.MELT_DEBUG_FUN__V44*/
14784 meltfptr[43] = 0 ;
14788 else /*^cond.else*/
14791 /*_._IF___V43*/ meltfptr[42] = /*reallynil*/ NULL ;;
14796 MELT_LOCATION("warmelt-macro.melt:6801:/ locexp");
14797 /*void*/
14798 (void)0;
14801 /*^quasiblock*/
14804 /*epilog*/
14806 /*^clear*/
14807 /*clear*/ /*_#MELT_NEED_DBG__L14*/
14808 meltfnum[7] = 0 ;
14809 /*^clear*/
14810 /*clear*/ /*_._IF___V43*/
14811 meltfptr[42] = 0 ;
14814 #else /*MELT_HAVE_DEBUG*/
14815 /*^cppif.else*/
14816 /*^block*/
14817 /*anyblock*/
14822 /*^locexp*/
14823 /*void*/(void)0;
14826 /*epilog*/
14829 #endif /*MELT_HAVE_DEBUG*/
14832 MELT_CHECK_SIGNAL();
14834 /*_#IS_A__L16*/
14835 meltfnum[14] =
14836 melt_is_instance_of((melt_ptr_t)(/*_.CURMATCH__V42*/ meltfptr[41]), (melt_ptr_t)((/*!CLASS_SEXPR*/ meltfrout->tabval[1])));;
14837 MELT_LOCATION("warmelt-macro.melt:6804:/ cond");
14838 /*cond*/
14839 if (/*_#IS_A__L16*/ meltfnum[14]) /*then*/
14841 /*^cond.then*/
14842 /*^block*/
14843 /*anyblock*/
14846 MELT_LOCATION("warmelt-macro.melt:6805:/ quasiblock");
14849 /*^getslot*/
14851 melt_ptr_t slot=NULL, obj=NULL;
14852 obj = (melt_ptr_t)(/*_.CURMATCH__V42*/ meltfptr[41]) /*=obj*/;
14853 melt_object_get_field(slot,obj, 2, "SEXP_CONTENTS");
14854 /*_.CURMATCHCONT__V45*/
14855 meltfptr[43] = slot;
14858 MELT_LOCATION("warmelt-macro.melt:6806:/ getslot");
14860 melt_ptr_t slot=NULL, obj=NULL;
14861 obj = (melt_ptr_t)(/*_.CURMATCH__V42*/ meltfptr[41]) /*=obj*/;
14862 melt_object_get_field(slot,obj, 1, "LOCA_LOCATION");
14863 /*_.CURMATCHLOC__V46*/
14864 meltfptr[42] = slot;
14867 /*_.LIST_FIRST__V47*/
14868 meltfptr[46] =
14869 (melt_list_first((melt_ptr_t)(/*_.CURMATCHCONT__V45*/ meltfptr[43])));;
14870 /*^compute*/
14871 /*_.CURMATCHPATX__V48*/
14872 meltfptr[47] =
14873 (melt_pair_head((melt_ptr_t)(/*_.LIST_FIRST__V47*/ meltfptr[46])));;
14874 /*^compute*/
14875 /*_.LIST_FIRST__V49*/
14876 meltfptr[48] =
14877 (melt_list_first((melt_ptr_t)(/*_.CURMATCHCONT__V45*/ meltfptr[43])));;
14878 /*^compute*/
14879 /*_.CURMATCHRESTPAIRS__V50*/
14880 meltfptr[49] =
14881 (melt_pair_tail((melt_ptr_t)(/*_.LIST_FIRST__V49*/ meltfptr[48])));;
14883 MELT_CHECK_SIGNAL();
14885 /*^compute*/
14886 /*_.MAKE_MAPOBJECT__V51*/
14887 meltfptr[50] =
14888 (meltgc_new_mapobjects( (meltobject_ptr_t) ((/*!DISCR_MAP_OBJECTS*/ meltfrout->tabval[12])), (17)));;
14889 MELT_LOCATION("warmelt-macro.melt:6809:/ quasiblock");
14892 /*^rawallocobj*/
14893 /*rawallocobj*/
14895 melt_ptr_t newobj = 0;
14896 melt_raw_object_create(newobj,(melt_ptr_t)((/*!CLASS_PATTERN_EXPANSION_CONTEXT*/ meltfrout->tabval[10])), (4), "CLASS_PATTERN_EXPANSION_CONTEXT");
14897 /*_.INST__V53*/
14898 meltfptr[52] =
14899 newobj;
14902 /*^putslot*/
14903 /*putslot*/
14904 melt_assertmsg("checkobj putslot _ @PCTX_MEXPANDER", melt_magic_discr((melt_ptr_t)(/*_.INST__V53*/ meltfptr[52])) == MELTOBMAG_OBJECT);
14905 melt_putfield_object((/*_.INST__V53*/ meltfptr[52]), (0), (/*_.MEXPANDER__V4*/ meltfptr[3]), "PCTX_MEXPANDER");
14907 /*^putslot*/
14908 /*putslot*/
14909 melt_assertmsg("checkobj putslot _ @PCTX_PEXPANDER", melt_magic_discr((melt_ptr_t)(/*_.INST__V53*/ meltfptr[52])) == MELTOBMAG_OBJECT);
14910 melt_putfield_object((/*_.INST__V53*/ meltfptr[52]), (1), ((/*!PATTERNEXPAND_1*/ meltfrout->tabval[11])), "PCTX_PEXPANDER");
14912 /*^putslot*/
14913 /*putslot*/
14914 melt_assertmsg("checkobj putslot _ @PCTX_VARMAP", melt_magic_discr((melt_ptr_t)(/*_.INST__V53*/ meltfptr[52])) == MELTOBMAG_OBJECT);
14915 melt_putfield_object((/*_.INST__V53*/ meltfptr[52]), (2), (/*_.MAKE_MAPOBJECT__V51*/ meltfptr[50]), "PCTX_VARMAP");
14917 /*^putslot*/
14918 /*putslot*/
14919 melt_assertmsg("checkobj putslot _ @PCTX_MODCTX", melt_magic_discr((melt_ptr_t)(/*_.INST__V53*/ meltfptr[52])) == MELTOBMAG_OBJECT);
14920 melt_putfield_object((/*_.INST__V53*/ meltfptr[52]), (3), (/*_.MODCTX__V5*/ meltfptr[4]), "PCTX_MODCTX");
14922 /*^touchobj*/
14924 melt_dbgtrace_written_object (/*_.INST__V53*/ meltfptr[52], "newly made instance");
14926 /*_.CURPATCTX__V52*/
14927 meltfptr[51] = /*_.INST__V53*/ meltfptr[52];;
14928 MELT_LOCATION("warmelt-macro.melt:6815:/ quasiblock");
14932 MELT_CHECK_SIGNAL();
14934 /*^apply*/
14935 /*apply*/
14937 union meltparam_un argtab[3];
14938 memset(&argtab, 0, sizeof(argtab));
14939 /*^apply.arg*/
14940 argtab[0].meltbp_aptr = (melt_ptr_t*) &/*_.ENV__V3*/ meltfptr[2];
14941 /*^apply.arg*/
14942 argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.CURPATCTX__V52*/ meltfptr[51];
14943 /*^apply.arg*/
14944 argtab[2].meltbp_aptr = (melt_ptr_t*) &/*_.CURMATCHLOC__V46*/ meltfptr[42];
14945 /*_.CP__V55*/
14946 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);
14950 #if MELT_HAVE_DEBUG
14951 MELT_LOCATION("warmelt-macro.melt:6816:/ cppif.then");
14952 /*^block*/
14953 /*anyblock*/
14958 /*^locexp*/
14959 /*melt_increment_dbgcounter*/
14960 #if MELT_HAVE_DEBUG
14961 melt_dbgcounter++;
14962 #endif
14967 MELT_CHECK_SIGNAL();
14969 /*_#MELT_NEED_DBG__L17*/
14970 meltfnum[7] =
14971 /*MELT_NEED_DBG*/
14972 #if MELT_HAVE_DEBUG
14973 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
14974 #else
14975 0 /* no melt_need_dbg */
14976 #endif /*MELT_HAVE_DEBUG*/
14978 MELT_LOCATION("warmelt-macro.melt:6816:/ cond");
14979 /*cond*/
14980 if (/*_#MELT_NEED_DBG__L17*/ meltfnum[7]) /*then*/
14982 /*^cond.then*/
14983 /*^block*/
14984 /*anyblock*/
14987 /*_#MELT_CALLCOUNT__L18*/ meltfnum[17] =
14988 /* for melt_callcount */
14989 #if MELT_HAVE_DEBUG && defined (meltcallcount)
14990 meltcallcount /* melt_callcount debugging */
14991 #else
14992 0L /* melt_callcount without debug */
14993 #endif /* MELT_HAVE_DEBUG melt_callcount */
14996 MELT_CHECK_SIGNAL();
14998 MELT_LOCATION("warmelt-macro.melt:6816:/ apply");
14999 /*apply*/
15001 union meltparam_un argtab[5];
15002 memset(&argtab, 0, sizeof(argtab));
15003 /*^apply.arg*/
15004 argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L18*/ meltfnum[17];
15005 /*^apply.arg*/
15006 argtab[1].meltbp_cstring = "warmelt-macro.melt";
15007 /*^apply.arg*/
15008 argtab[2].meltbp_long = 6816;
15009 /*^apply.arg*/
15010 argtab[3].meltbp_cstring = "mexpand_match curpat";
15011 /*^apply.arg*/
15012 argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.CP__V55*/ meltfptr[54];
15013 /*_.MELT_DEBUG_FUN__V57*/
15014 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);
15017 /*_._IF___V56*/
15018 meltfptr[55] = /*_.MELT_DEBUG_FUN__V57*/ meltfptr[56];;
15019 /*epilog*/
15021 MELT_LOCATION("warmelt-macro.melt:6816:/ clear");
15022 /*clear*/ /*_#MELT_CALLCOUNT__L18*/
15023 meltfnum[17] = 0 ;
15024 /*^clear*/
15025 /*clear*/ /*_.MELT_DEBUG_FUN__V57*/
15026 meltfptr[56] = 0 ;
15030 else /*^cond.else*/
15033 /*_._IF___V56*/ meltfptr[55] = /*reallynil*/ NULL ;;
15038 MELT_LOCATION("warmelt-macro.melt:6816:/ locexp");
15039 /*void*/
15040 (void)0;
15043 /*^quasiblock*/
15046 /*epilog*/
15048 /*^clear*/
15049 /*clear*/ /*_#MELT_NEED_DBG__L17*/
15050 meltfnum[7] = 0 ;
15051 /*^clear*/
15052 /*clear*/ /*_._IF___V56*/
15053 meltfptr[55] = 0 ;
15056 #else /*MELT_HAVE_DEBUG*/
15057 /*^cppif.else*/
15058 /*^block*/
15059 /*anyblock*/
15064 /*^locexp*/
15065 /*void*/(void)0;
15068 /*epilog*/
15071 #endif /*MELT_HAVE_DEBUG*/
15074 #if MELT_HAVE_DEBUG
15075 MELT_LOCATION("warmelt-macro.melt:6817:/ cppif.then");
15076 /*^block*/
15077 /*anyblock*/
15081 MELT_CHECK_SIGNAL();
15083 /*^cond*/
15084 /*cond*/
15085 if (/*_.CP__V55*/ meltfptr[54]) /*then*/
15087 /*^cond.then*/
15088 /*_._IFELSE___V59*/ meltfptr[55] = (/*nil*/NULL);;
15090 else
15092 MELT_LOCATION("warmelt-macro.melt:6817:/ cond.else");
15094 /*^block*/
15095 /*anyblock*/
15099 MELT_CHECK_SIGNAL();
15101 /*^apply*/
15102 /*apply*/
15104 union meltparam_un argtab[3];
15105 memset(&argtab, 0, sizeof(argtab));
15106 /*^apply.arg*/
15107 argtab[0].meltbp_cstring = "check curpat";
15108 /*^apply.arg*/
15109 argtab[1].meltbp_cstring = "warmelt-macro.melt";
15110 /*^apply.arg*/
15111 argtab[2].meltbp_long = 6817;
15112 /*_.MELT_ASSERT_FAILURE_FUN__V60*/
15113 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);
15116 /*_._IFELSE___V59*/
15117 meltfptr[55] = /*_.MELT_ASSERT_FAILURE_FUN__V60*/ meltfptr[59];;
15118 /*epilog*/
15120 MELT_LOCATION("warmelt-macro.melt:6817:/ clear");
15121 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V60*/
15122 meltfptr[59] = 0 ;
15127 /*_.IFCPP___V58*/
15128 meltfptr[56] = /*_._IFELSE___V59*/ meltfptr[55];;
15129 /*epilog*/
15131 MELT_LOCATION("warmelt-macro.melt:6817:/ clear");
15132 /*clear*/ /*_._IFELSE___V59*/
15133 meltfptr[55] = 0 ;
15136 #else /*MELT_HAVE_DEBUG*/
15137 /*^cppif.else*/
15138 /*_.IFCPP___V58*/ meltfptr[56] = (/*nil*/NULL);
15139 #endif /*MELT_HAVE_DEBUG*/
15141 /*^compute*/
15142 /*_.LET___V54*/
15143 meltfptr[53] = /*_.CP__V55*/ meltfptr[54];;
15145 MELT_LOCATION("warmelt-macro.melt:6815:/ clear");
15146 /*clear*/ /*_.CP__V55*/
15147 meltfptr[54] = 0 ;
15148 /*^clear*/
15149 /*clear*/ /*_.IFCPP___V58*/
15150 meltfptr[56] = 0 ;
15151 /*_.CURPAT__V61*/
15152 meltfptr[59] = /*_.LET___V54*/ meltfptr[53];;
15154 MELT_CHECK_SIGNAL();
15156 MELT_LOCATION("warmelt-macro.melt:6819:/ apply");
15157 /*apply*/
15159 union meltparam_un argtab[3];
15160 memset(&argtab, 0, sizeof(argtab));
15161 /*^apply.arg*/
15162 argtab[0].meltbp_aptr = (melt_ptr_t*) &/*_.ENV__V3*/ meltfptr[2];
15163 /*^apply.arg*/
15164 argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.MEXPANDER__V4*/ meltfptr[3];
15165 /*^apply.arg*/
15166 argtab[2].meltbp_aptr = (melt_ptr_t*) &/*_.MODCTX__V5*/ meltfptr[4];
15167 /*_.CURBODY__V62*/
15168 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);
15172 MELT_CHECK_SIGNAL();
15174 MELT_LOCATION("warmelt-macro.melt:6820:/ quasiblock");
15177 /*^rawallocobj*/
15178 /*rawallocobj*/
15180 melt_ptr_t newobj = 0;
15181 melt_raw_object_create(newobj,(melt_ptr_t)((/*!CLASS_SOURCE_MATCH_CASE*/ meltfrout->tabval[14])), (4), "CLASS_SOURCE_MATCH_CASE");
15182 /*_.INST__V64*/
15183 meltfptr[56] =
15184 newobj;
15187 /*^putslot*/
15188 /*putslot*/
15189 melt_assertmsg("checkobj putslot _ @LOCA_LOCATION", melt_magic_discr((melt_ptr_t)(/*_.INST__V64*/ meltfptr[56])) == MELTOBMAG_OBJECT);
15190 melt_putfield_object((/*_.INST__V64*/ meltfptr[56]), (1), (/*_.CURMATCHLOC__V46*/ meltfptr[42]), "LOCA_LOCATION");
15192 /*^putslot*/
15193 /*putslot*/
15194 melt_assertmsg("checkobj putslot _ @SCAM_PATT", melt_magic_discr((melt_ptr_t)(/*_.INST__V64*/ meltfptr[56])) == MELTOBMAG_OBJECT);
15195 melt_putfield_object((/*_.INST__V64*/ meltfptr[56]), (2), (/*_.CURPAT__V61*/ meltfptr[59]), "SCAM_PATT");
15197 /*^putslot*/
15198 /*putslot*/
15199 melt_assertmsg("checkobj putslot _ @SCAM_BODY", melt_magic_discr((melt_ptr_t)(/*_.INST__V64*/ meltfptr[56])) == MELTOBMAG_OBJECT);
15200 melt_putfield_object((/*_.INST__V64*/ meltfptr[56]), (3), (/*_.CURBODY__V62*/ meltfptr[55]), "SCAM_BODY");
15202 /*^touchobj*/
15204 melt_dbgtrace_written_object (/*_.INST__V64*/ meltfptr[56], "newly made instance");
15206 /*_.CURCASE__V63*/
15207 meltfptr[54] = /*_.INST__V64*/ meltfptr[56];;
15209 #if MELT_HAVE_DEBUG
15210 MELT_LOCATION("warmelt-macro.melt:6825:/ cppif.then");
15211 /*^block*/
15212 /*anyblock*/
15217 /*^locexp*/
15218 /*melt_increment_dbgcounter*/
15219 #if MELT_HAVE_DEBUG
15220 melt_dbgcounter++;
15221 #endif
15226 MELT_CHECK_SIGNAL();
15228 /*_#MELT_NEED_DBG__L19*/
15229 meltfnum[17] =
15230 /*MELT_NEED_DBG*/
15231 #if MELT_HAVE_DEBUG
15232 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
15233 #else
15234 0 /* no melt_need_dbg */
15235 #endif /*MELT_HAVE_DEBUG*/
15237 MELT_LOCATION("warmelt-macro.melt:6825:/ cond");
15238 /*cond*/
15239 if (/*_#MELT_NEED_DBG__L19*/ meltfnum[17]) /*then*/
15241 /*^cond.then*/
15242 /*^block*/
15243 /*anyblock*/
15246 /*_#MELT_CALLCOUNT__L20*/ meltfnum[7] =
15247 /* for melt_callcount */
15248 #if MELT_HAVE_DEBUG && defined (meltcallcount)
15249 meltcallcount /* melt_callcount debugging */
15250 #else
15251 0L /* melt_callcount without debug */
15252 #endif /* MELT_HAVE_DEBUG melt_callcount */
15255 MELT_CHECK_SIGNAL();
15257 MELT_LOCATION("warmelt-macro.melt:6825:/ apply");
15258 /*apply*/
15260 union meltparam_un argtab[5];
15261 memset(&argtab, 0, sizeof(argtab));
15262 /*^apply.arg*/
15263 argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L20*/ meltfnum[7];
15264 /*^apply.arg*/
15265 argtab[1].meltbp_cstring = "warmelt-macro.melt";
15266 /*^apply.arg*/
15267 argtab[2].meltbp_long = 6825;
15268 /*^apply.arg*/
15269 argtab[3].meltbp_cstring = "mexpand_match curcase";
15270 /*^apply.arg*/
15271 argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.CURCASE__V63*/ meltfptr[54];
15272 /*_.MELT_DEBUG_FUN__V66*/
15273 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);
15276 /*_._IF___V65*/
15277 meltfptr[64] = /*_.MELT_DEBUG_FUN__V66*/ meltfptr[65];;
15278 /*epilog*/
15280 MELT_LOCATION("warmelt-macro.melt:6825:/ clear");
15281 /*clear*/ /*_#MELT_CALLCOUNT__L20*/
15282 meltfnum[7] = 0 ;
15283 /*^clear*/
15284 /*clear*/ /*_.MELT_DEBUG_FUN__V66*/
15285 meltfptr[65] = 0 ;
15289 else /*^cond.else*/
15292 /*_._IF___V65*/ meltfptr[64] = /*reallynil*/ NULL ;;
15297 MELT_LOCATION("warmelt-macro.melt:6825:/ locexp");
15298 /*void*/
15299 (void)0;
15302 /*^quasiblock*/
15305 /*epilog*/
15307 /*^clear*/
15308 /*clear*/ /*_#MELT_NEED_DBG__L19*/
15309 meltfnum[17] = 0 ;
15310 /*^clear*/
15311 /*clear*/ /*_._IF___V65*/
15312 meltfptr[64] = 0 ;
15315 #else /*MELT_HAVE_DEBUG*/
15316 /*^cppif.else*/
15317 /*^block*/
15318 /*anyblock*/
15323 /*^locexp*/
15324 /*void*/(void)0;
15327 /*epilog*/
15330 #endif /*MELT_HAVE_DEBUG*/
15334 MELT_LOCATION("warmelt-macro.melt:6826:/ locexp");
15335 meltgc_prepend_list((melt_ptr_t)(/*_.CASELIST__V37*/ meltfptr[33]), (melt_ptr_t)(/*_.CURCASE__V63*/ meltfptr[54]));
15339 MELT_LOCATION("warmelt-macro.melt:6805:/ clear");
15340 /*clear*/ /*_.CURMATCHCONT__V45*/
15341 meltfptr[43] = 0 ;
15342 /*^clear*/
15343 /*clear*/ /*_.CURMATCHLOC__V46*/
15344 meltfptr[42] = 0 ;
15345 /*^clear*/
15346 /*clear*/ /*_.LIST_FIRST__V47*/
15347 meltfptr[46] = 0 ;
15348 /*^clear*/
15349 /*clear*/ /*_.CURMATCHPATX__V48*/
15350 meltfptr[47] = 0 ;
15351 /*^clear*/
15352 /*clear*/ /*_.LIST_FIRST__V49*/
15353 meltfptr[48] = 0 ;
15354 /*^clear*/
15355 /*clear*/ /*_.CURMATCHRESTPAIRS__V50*/
15356 meltfptr[49] = 0 ;
15357 /*^clear*/
15358 /*clear*/ /*_.MAKE_MAPOBJECT__V51*/
15359 meltfptr[50] = 0 ;
15360 /*^clear*/
15361 /*clear*/ /*_.CURPATCTX__V52*/
15362 meltfptr[51] = 0 ;
15363 /*^clear*/
15364 /*clear*/ /*_.LET___V54*/
15365 meltfptr[53] = 0 ;
15366 /*^clear*/
15367 /*clear*/ /*_.CURPAT__V61*/
15368 meltfptr[59] = 0 ;
15369 /*^clear*/
15370 /*clear*/ /*_.CURBODY__V62*/
15371 meltfptr[55] = 0 ;
15372 /*^clear*/
15373 /*clear*/ /*_.CURCASE__V63*/
15374 meltfptr[54] = 0 ;
15375 /*epilog*/
15379 else
15381 MELT_LOCATION("warmelt-macro.melt:6804:/ cond.else");
15383 /*^block*/
15384 /*anyblock*/
15389 MELT_LOCATION("warmelt-macro.melt:6830:/ locexp");
15390 /* error_plain */
15391 melt_error_str((melt_ptr_t)(/*_.LOC__V21*/ meltfptr[20]), ( "(MATCH <expr> <match-case>...) with non sexpr matchcase"), (melt_ptr_t)0);
15394 MELT_LOCATION("warmelt-macro.melt:6829:/ quasiblock");
15397 /*epilog*/
15403 MELT_LOCATION("warmelt-macro.melt:6800:/ clear");
15404 /*clear*/ /*_.CURMATCH__V42*/
15405 meltfptr[41] = 0 ;
15406 /*^clear*/
15407 /*clear*/ /*_#IS_A__L16*/
15408 meltfnum[14] = 0 ;
15409 /*_#miI__L21*/
15410 meltfnum[7] =
15411 ((/*_#IX__L10*/ meltfnum[8]) - (1));;
15412 MELT_LOCATION("warmelt-macro.melt:6832:/ compute");
15413 /*_#IX__L10*/
15414 meltfnum[8] = /*_#SETQ___L22*/ meltfnum[17] = /*_#miI__L21*/ meltfnum[7];;
15416 MELT_CHECK_SIGNAL();
15418 /*epilog*/
15420 MELT_LOCATION("warmelt-macro.melt:6798:/ clear");
15421 /*clear*/ /*_#ltI__L13*/
15422 meltfnum[11] = 0 ;
15423 /*^clear*/
15424 /*clear*/ /*_#miI__L21*/
15425 meltfnum[7] = 0 ;
15426 /*^clear*/
15427 /*clear*/ /*_#SETQ___L22*/
15428 meltfnum[17] = 0 ;
15432 goto meltlabloop_MATCHLOOP_1;
15433 meltlabexit_MATCHLOOP_1:;/*^loopepilog*/
15434 /*loopepilog*/
15435 /*_.FOREVER___V40*/
15436 meltfptr[38] = /*_.MATCHLOOP__V41*/ meltfptr[32];;
15440 #if MELT_HAVE_DEBUG
15441 MELT_LOCATION("warmelt-macro.melt:6833:/ cppif.then");
15442 /*^block*/
15443 /*anyblock*/
15448 /*^locexp*/
15449 /*melt_increment_dbgcounter*/
15450 #if MELT_HAVE_DEBUG
15451 melt_dbgcounter++;
15452 #endif
15457 MELT_CHECK_SIGNAL();
15459 /*_#MELT_NEED_DBG__L23*/
15460 meltfnum[14] =
15461 /*MELT_NEED_DBG*/
15462 #if MELT_HAVE_DEBUG
15463 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
15464 #else
15465 0 /* no melt_need_dbg */
15466 #endif /*MELT_HAVE_DEBUG*/
15468 MELT_LOCATION("warmelt-macro.melt:6833:/ cond");
15469 /*cond*/
15470 if (/*_#MELT_NEED_DBG__L23*/ meltfnum[14]) /*then*/
15472 /*^cond.then*/
15473 /*^block*/
15474 /*anyblock*/
15477 /*_#MELT_CALLCOUNT__L24*/ meltfnum[11] =
15478 /* for melt_callcount */
15479 #if MELT_HAVE_DEBUG && defined (meltcallcount)
15480 meltcallcount /* melt_callcount debugging */
15481 #else
15482 0L /* melt_callcount without debug */
15483 #endif /* MELT_HAVE_DEBUG melt_callcount */
15486 MELT_CHECK_SIGNAL();
15488 MELT_LOCATION("warmelt-macro.melt:6833:/ apply");
15489 /*apply*/
15491 union meltparam_un argtab[5];
15492 memset(&argtab, 0, sizeof(argtab));
15493 /*^apply.arg*/
15494 argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L24*/ meltfnum[11];
15495 /*^apply.arg*/
15496 argtab[1].meltbp_cstring = "warmelt-macro.melt";
15497 /*^apply.arg*/
15498 argtab[2].meltbp_long = 6833;
15499 /*^apply.arg*/
15500 argtab[3].meltbp_cstring = "mexpand_match caselist";
15501 /*^apply.arg*/
15502 argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.CASELIST__V37*/ meltfptr[33];
15503 /*_.MELT_DEBUG_FUN__V68*/
15504 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);
15507 /*_._IF___V67*/
15508 meltfptr[65] = /*_.MELT_DEBUG_FUN__V68*/ meltfptr[64];;
15509 /*epilog*/
15511 MELT_LOCATION("warmelt-macro.melt:6833:/ clear");
15512 /*clear*/ /*_#MELT_CALLCOUNT__L24*/
15513 meltfnum[11] = 0 ;
15514 /*^clear*/
15515 /*clear*/ /*_.MELT_DEBUG_FUN__V68*/
15516 meltfptr[64] = 0 ;
15520 else /*^cond.else*/
15523 /*_._IF___V67*/ meltfptr[65] = /*reallynil*/ NULL ;;
15528 MELT_LOCATION("warmelt-macro.melt:6833:/ locexp");
15529 /*void*/
15530 (void)0;
15533 /*^quasiblock*/
15536 /*epilog*/
15538 /*^clear*/
15539 /*clear*/ /*_#MELT_NEED_DBG__L23*/
15540 meltfnum[14] = 0 ;
15541 /*^clear*/
15542 /*clear*/ /*_._IF___V67*/
15543 meltfptr[65] = 0 ;
15546 #else /*MELT_HAVE_DEBUG*/
15547 /*^cppif.else*/
15548 /*^block*/
15549 /*anyblock*/
15554 /*^locexp*/
15555 /*void*/(void)0;
15558 /*epilog*/
15561 #endif /*MELT_HAVE_DEBUG*/
15563 MELT_LOCATION("warmelt-macro.melt:6834:/ quasiblock");
15567 MELT_CHECK_SIGNAL();
15569 MELT_LOCATION("warmelt-macro.melt:6835:/ apply");
15570 /*apply*/
15572 union meltparam_un argtab[1];
15573 memset(&argtab, 0, sizeof(argtab));
15574 /*^apply.arg*/
15575 argtab[0].meltbp_aptr = (melt_ptr_t*) &(/*!DISCR_MULTIPLE*/ meltfrout->tabval[6]);
15576 /*_.CASETUPL__V70*/
15577 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);
15580 /*_.LASTCASE__V71*/
15581 meltfptr[46] =
15582 (melt_multiple_nth((melt_ptr_t)(/*_.CASETUPL__V70*/ meltfptr[42]), (-1)));;
15584 MELT_CHECK_SIGNAL();
15586 MELT_LOCATION("warmelt-macro.melt:6837:/ quasiblock");
15589 /*^rawallocobj*/
15590 /*rawallocobj*/
15592 melt_ptr_t newobj = 0;
15593 melt_raw_object_create(newobj,(melt_ptr_t)((/*!CLASS_SOURCE_MATCH*/ meltfrout->tabval[16])), (4), "CLASS_SOURCE_MATCH");
15594 /*_.INST__V73*/
15595 meltfptr[48] =
15596 newobj;
15599 /*^putslot*/
15600 /*putslot*/
15601 melt_assertmsg("checkobj putslot _ @LOCA_LOCATION", melt_magic_discr((melt_ptr_t)(/*_.INST__V73*/ meltfptr[48])) == MELTOBMAG_OBJECT);
15602 melt_putfield_object((/*_.INST__V73*/ meltfptr[48]), (1), (/*_.LOC__V21*/ meltfptr[20]), "LOCA_LOCATION");
15604 /*^putslot*/
15605 /*putslot*/
15606 melt_assertmsg("checkobj putslot _ @SMAT_MATCHEDX", melt_magic_discr((melt_ptr_t)(/*_.INST__V73*/ meltfptr[48])) == MELTOBMAG_OBJECT);
15607 melt_putfield_object((/*_.INST__V73*/ meltfptr[48]), (2), (/*_.MATSX__V25*/ meltfptr[24]), "SMAT_MATCHEDX");
15609 /*^putslot*/
15610 /*putslot*/
15611 melt_assertmsg("checkobj putslot _ @SMAT_CASES", melt_magic_discr((melt_ptr_t)(/*_.INST__V73*/ meltfptr[48])) == MELTOBMAG_OBJECT);
15612 melt_putfield_object((/*_.INST__V73*/ meltfptr[48]), (3), (/*_.CASETUPL__V70*/ meltfptr[42]), "SMAT_CASES");
15614 /*^touchobj*/
15616 melt_dbgtrace_written_object (/*_.INST__V73*/ meltfptr[48], "newly made instance");
15618 /*_.SMAT__V72*/
15619 meltfptr[47] = /*_.INST__V73*/ meltfptr[48];;
15621 MELT_CHECK_SIGNAL();
15623 MELT_LOCATION("warmelt-macro.melt:6845:/ cond");
15624 /*cond*/
15625 if (
15626 /*ifisa*/ melt_is_instance_of((melt_ptr_t)(/*_.LASTCASE__V71*/ meltfptr[46]),
15627 (melt_ptr_t)((/*!CLASS_SOURCE_MATCH_CASE*/ meltfrout->tabval[14])))
15628 ) /*then*/
15630 /*^cond.then*/
15631 /*^getslot*/
15633 melt_ptr_t slot=NULL, obj=NULL;
15634 obj = (melt_ptr_t)(/*_.LASTCASE__V71*/ meltfptr[46]) /*=obj*/;
15635 melt_object_get_field(slot,obj, 2, "SCAM_PATT");
15636 /*_.SCAM_PATT__V74*/
15637 meltfptr[49] = slot;
15641 else /*^cond.else*/
15644 /*_.SCAM_PATT__V74*/ meltfptr[49] = /*reallynil*/ NULL ;;
15647 /*^compute*/
15648 /*_#IS_NOT_A__L25*/
15649 meltfnum[7] =
15650 !melt_is_instance_of((melt_ptr_t)(/*_.SCAM_PATT__V74*/ meltfptr[49]), (melt_ptr_t)((/*!CLASS_SOURCE_PATTERN_JOKER_VARIABLE*/ meltfrout->tabval[17])));;
15651 MELT_LOCATION("warmelt-macro.melt:6844:/ cond");
15652 /*cond*/
15653 if (/*_#IS_NOT_A__L25*/ meltfnum[7]) /*then*/
15655 /*^cond.then*/
15656 /*^block*/
15657 /*anyblock*/
15662 MELT_LOCATION("warmelt-macro.melt:6847:/ locexp");
15663 melt_inform_str((melt_ptr_t)(/*_.LOC__V21*/ meltfptr[20]), ( "last (MATCH ...) clause is not a joker"), (melt_ptr_t)0);
15666 /*epilog*/
15669 } /*noelse*/
15672 #if MELT_HAVE_DEBUG
15673 MELT_LOCATION("warmelt-macro.melt:6849:/ cppif.then");
15674 /*^block*/
15675 /*anyblock*/
15680 /*^locexp*/
15681 /*melt_increment_dbgcounter*/
15682 #if MELT_HAVE_DEBUG
15683 melt_dbgcounter++;
15684 #endif
15689 MELT_CHECK_SIGNAL();
15691 /*_#MELT_NEED_DBG__L26*/
15692 meltfnum[17] =
15693 /*MELT_NEED_DBG*/
15694 #if MELT_HAVE_DEBUG
15695 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
15696 #else
15697 0 /* no melt_need_dbg */
15698 #endif /*MELT_HAVE_DEBUG*/
15700 MELT_LOCATION("warmelt-macro.melt:6849:/ cond");
15701 /*cond*/
15702 if (/*_#MELT_NEED_DBG__L26*/ meltfnum[17]) /*then*/
15704 /*^cond.then*/
15705 /*^block*/
15706 /*anyblock*/
15709 /*_#MELT_CALLCOUNT__L27*/ meltfnum[11] =
15710 /* for melt_callcount */
15711 #if MELT_HAVE_DEBUG && defined (meltcallcount)
15712 meltcallcount /* melt_callcount debugging */
15713 #else
15714 0L /* melt_callcount without debug */
15715 #endif /* MELT_HAVE_DEBUG melt_callcount */
15718 MELT_CHECK_SIGNAL();
15720 MELT_LOCATION("warmelt-macro.melt:6849:/ apply");
15721 /*apply*/
15723 union meltparam_un argtab[5];
15724 memset(&argtab, 0, sizeof(argtab));
15725 /*^apply.arg*/
15726 argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L27*/ meltfnum[11];
15727 /*^apply.arg*/
15728 argtab[1].meltbp_cstring = "warmelt-macro.melt";
15729 /*^apply.arg*/
15730 argtab[2].meltbp_long = 6849;
15731 /*^apply.arg*/
15732 argtab[3].meltbp_cstring = "mexpand_match result smat";
15733 /*^apply.arg*/
15734 argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.SMAT__V72*/ meltfptr[47];
15735 /*_.MELT_DEBUG_FUN__V76*/
15736 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);
15739 /*_._IF___V75*/
15740 meltfptr[50] = /*_.MELT_DEBUG_FUN__V76*/ meltfptr[51];;
15741 /*epilog*/
15743 MELT_LOCATION("warmelt-macro.melt:6849:/ clear");
15744 /*clear*/ /*_#MELT_CALLCOUNT__L27*/
15745 meltfnum[11] = 0 ;
15746 /*^clear*/
15747 /*clear*/ /*_.MELT_DEBUG_FUN__V76*/
15748 meltfptr[51] = 0 ;
15752 else /*^cond.else*/
15755 /*_._IF___V75*/ meltfptr[50] = /*reallynil*/ NULL ;;
15760 MELT_LOCATION("warmelt-macro.melt:6849:/ locexp");
15761 /*void*/
15762 (void)0;
15765 /*^quasiblock*/
15768 /*epilog*/
15770 /*^clear*/
15771 /*clear*/ /*_#MELT_NEED_DBG__L26*/
15772 meltfnum[17] = 0 ;
15773 /*^clear*/
15774 /*clear*/ /*_._IF___V75*/
15775 meltfptr[50] = 0 ;
15778 #else /*MELT_HAVE_DEBUG*/
15779 /*^cppif.else*/
15780 /*^block*/
15781 /*anyblock*/
15786 /*^locexp*/
15787 /*void*/(void)0;
15790 /*epilog*/
15793 #endif /*MELT_HAVE_DEBUG*/
15796 MELT_CHECK_SIGNAL();
15798 MELT_LOCATION("warmelt-macro.melt:6850:/ quasiblock");
15801 /*_._RETVAL___V1*/
15802 meltfptr[0] = /*_.SMAT__V72*/ meltfptr[47];;
15805 MELT_LOCATION("warmelt-macro.melt:6850:/ locexp");
15806 /*ochecknores compilobj_nrep_return*/
15807 #if MELT_HAVE_DEBUG
15808 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
15809 melt_warn_for_no_expected_secondary_results();
15810 /* we warned when secondary results are expected but not returned. */
15811 #endif /*MELT_HAVE_DEBUG*/
15815 /*^finalreturn*/
15817 /*finalret*/
15818 goto meltlabend_rout ;
15819 /*_.LET___V69*/
15820 meltfptr[43] = /*_.RETURN___V77*/ meltfptr[53];;
15822 MELT_LOCATION("warmelt-macro.melt:6834:/ clear");
15823 /*clear*/ /*_.CASETUPL__V70*/
15824 meltfptr[42] = 0 ;
15825 /*^clear*/
15826 /*clear*/ /*_.LASTCASE__V71*/
15827 meltfptr[46] = 0 ;
15828 /*^clear*/
15829 /*clear*/ /*_.SMAT__V72*/
15830 meltfptr[47] = 0 ;
15831 /*^clear*/
15832 /*clear*/ /*_.SCAM_PATT__V74*/
15833 meltfptr[49] = 0 ;
15834 /*^clear*/
15835 /*clear*/ /*_#IS_NOT_A__L25*/
15836 meltfnum[7] = 0 ;
15837 /*^clear*/
15838 /*clear*/ /*_.RETURN___V77*/
15839 meltfptr[53] = 0 ;
15840 /*_.LET___V19*/
15841 meltfptr[5] = /*_.LET___V69*/ meltfptr[43];;
15843 MELT_LOCATION("warmelt-macro.melt:6777:/ clear");
15844 /*clear*/ /*_.CONT__V20*/
15845 meltfptr[19] = 0 ;
15846 /*^clear*/
15847 /*clear*/ /*_.LOC__V21*/
15848 meltfptr[20] = 0 ;
15849 /*^clear*/
15850 /*clear*/ /*_.LIST_FIRST__V22*/
15851 meltfptr[21] = 0 ;
15852 /*^clear*/
15853 /*clear*/ /*_.PAIR_TAIL__V23*/
15854 meltfptr[22] = 0 ;
15855 /*^clear*/
15856 /*clear*/ /*_.MSEXP__V24*/
15857 meltfptr[23] = 0 ;
15858 /*^clear*/
15859 /*clear*/ /*_.MATSX__V25*/
15860 meltfptr[24] = 0 ;
15861 /*^clear*/
15862 /*clear*/ /*_.LIST_FIRST__V26*/
15863 meltfptr[25] = 0 ;
15864 /*^clear*/
15865 /*clear*/ /*_.PAIR_TAIL__V27*/
15866 meltfptr[26] = 0 ;
15867 /*^clear*/
15868 /*clear*/ /*_.PAIR_TAIL__V28*/
15869 meltfptr[27] = 0 ;
15870 /*^clear*/
15871 /*clear*/ /*_.LAMBDA___V29*/
15872 meltfptr[28] = 0 ;
15873 /*^clear*/
15874 /*clear*/ /*_.MEXPTUPLE__V31*/
15875 meltfptr[30] = 0 ;
15876 /*^clear*/
15877 /*clear*/ /*_#NBMATCH__L7*/
15878 meltfnum[1] = 0 ;
15879 /*^clear*/
15880 /*clear*/ /*_.LET___V32*/
15881 meltfptr[31] = 0 ;
15882 /*^clear*/
15883 /*clear*/ /*_.LASTMEXP__V36*/
15884 meltfptr[34] = 0 ;
15885 /*^clear*/
15886 /*clear*/ /*_#IX__L10*/
15887 meltfnum[8] = 0 ;
15888 /*^clear*/
15889 /*clear*/ /*_.CASELIST__V37*/
15890 meltfptr[33] = 0 ;
15891 /*^clear*/
15892 /*clear*/ /*_.FOREVER___V40*/
15893 meltfptr[38] = 0 ;
15894 /*^clear*/
15895 /*clear*/ /*_.LET___V69*/
15896 meltfptr[43] = 0 ;
15898 MELT_CHECK_SIGNAL();
15900 MELT_LOCATION("warmelt-macro.melt:6771:/ quasiblock");
15903 /*_._RETVAL___V1*/
15904 meltfptr[0] = /*_.LET___V19*/ meltfptr[5];;
15907 MELT_LOCATION("warmelt-macro.melt:6771:/ locexp");
15908 /*ochecknores compilobj_nrep_return*/
15909 #if MELT_HAVE_DEBUG
15910 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
15911 melt_warn_for_no_expected_secondary_results();
15912 /* we warned when secondary results are expected but not returned. */
15913 #endif /*MELT_HAVE_DEBUG*/
15917 /*^finalreturn*/
15919 /*finalret*/
15920 goto meltlabend_rout ;
15921 /*epilog*/
15923 /*^clear*/
15924 /*clear*/ /*_.IFCPP___V8*/
15925 meltfptr[6] = 0 ;
15926 /*^clear*/
15927 /*clear*/ /*_.IFCPP___V11*/
15928 meltfptr[9] = 0 ;
15929 /*^clear*/
15930 /*clear*/ /*_.IFCPP___V14*/
15931 meltfptr[12] = 0 ;
15932 /*^clear*/
15933 /*clear*/ /*_#NULL__L6*/
15934 meltfnum[0] = 0 ;
15935 /*^clear*/
15936 /*clear*/ /*_._IF___V17*/
15937 meltfptr[15] = 0 ;
15938 /*^clear*/
15939 /*clear*/ /*_.LET___V19*/
15940 meltfptr[5] = 0 ;
15944 goto meltlabend_rout;
15945 meltlabend_rout:
15946 melt_trace_end("MEXPAND_MATCH", meltcallcount);
15947 melt_blocklevel_signals = current_blocklevel_signals_meltrout_118_WARMELTmiMACRO_MEXPAND_MATCH_melt;
15948 return (melt_ptr_t)(/*_._RETVAL___V1*/ meltfptr[0]);
15949 #undef meltcallcount
15950 #undef meltfram__
15951 #undef MELTFRAM_NBVARNUM
15952 #undef MELTFRAM_NBVARPTR
15953 } /*end meltrout_118_WARMELTmiMACRO_MEXPAND_MATCH*/
15960 melt_ptr_t MELT_MODULE_VISIBILITY
15961 meltrout_119_WARMELTmiMACRO_LAMBDA_cl15(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_,
15962 const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_)
15964 long current_blocklevel_signals_meltrout_119_WARMELTmiMACRO_LAMBDA_cl15_melt = melt_blocklevel_signals;
15966 #if MELT_HAVE_DEBUG
15967 static long melt_call_counter__;
15968 long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__;
15969 #undef meltcallcount
15970 #define meltcallcount melt_thiscallcounter__
15971 #else
15972 #undef meltcallcount
15973 #define meltcallcount 0L
15974 #endif
15975 //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1538
15977 /* start of frame for routine meltrout_119_WARMELTmiMACRO_LAMBDA_cl15 fromline 1752 */
15979 /** start of frame for meltrout_119_WARMELTmiMACRO_LAMBDA_cl15 of CLASS_PROCROUTINEOBJ from 1555**/
15981 /*curframdeclclassy*/ class MeltFrame_meltrout_119_WARMELTmiMACRO_LAMBDA_cl15// fromline 1568
15982 : public Melt_CallFrameWithValues<2>
15984 public: /* fromline 1572*/
15985 long mcfr_varnum[1];
15986 /*classy others*/
15987 long _meltsparel;
15988 void melt_mark_stuff (void)
15990 } /*end melt_mark_stuff*/
15991 virtual void melt_mark_ggc_data (void)
15993 melt_mark_values ();
15994 melt_mark_stuff ();
15995 }; /*end melt_mark_ggc_data*/
15996 MeltFrame_meltrout_119_WARMELTmiMACRO_LAMBDA_cl15(meltclosure_ptr_t clos) //the closure constructor fromline 1630
15997 : Melt_CallFrameWithValues<2> (
15998 #if ENABLE_CHECKING /*fromline 1634*/
15999 __FILE__, __LINE__,
16000 #endif /* ENABLE_CHECKING fromline 1638*/
16001 sizeof(MeltFrame_meltrout_119_WARMELTmiMACRO_LAMBDA_cl15), clos) {};
16002 MeltFrame_meltrout_119_WARMELTmiMACRO_LAMBDA_cl15() //the constructor fromline 1642
16003 : Melt_CallFrameWithValues<2> (
16004 #if ENABLE_CHECKING /*fromline 1646*/
16005 __FILE__, __LINE__,
16006 #endif /* ENABLE_CHECKING fromline 1650*/
16007 sizeof(MeltFrame_meltrout_119_WARMELTmiMACRO_LAMBDA_cl15)) {};
16008 #if ENABLE_CHECKING /*fromline 1654*/
16009 MeltFrame_meltrout_119_WARMELTmiMACRO_LAMBDA_cl15(const char*fil, int lin) //the constructor fromline 1656
16010 : Melt_CallFrameWithValues<2> (fil,lin, sizeof(MeltFrame_meltrout_119_WARMELTmiMACRO_LAMBDA_cl15)) {};
16011 MeltFrame_meltrout_119_WARMELTmiMACRO_LAMBDA_cl15(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1661
16012 : Melt_CallFrameWithValues<2> (fil,lin, sizeof(MeltFrame_meltrout_119_WARMELTmiMACRO_LAMBDA_cl15), clos) {};
16013 #endif /* ENABLE_CHECKING fromline 1666*/
16015 }; // end class MeltFrame_meltrout_119_WARMELTmiMACRO_LAMBDA_cl15
16018 /** end of frame for meltrout_119_WARMELTmiMACRO_LAMBDA_cl15 fromline 1697**/
16020 /* end of frame for routine meltrout_119_WARMELTmiMACRO_LAMBDA_cl15 fromline 1756 */
16022 /* classy proc frame meltrout_119_WARMELTmiMACRO_LAMBDA_cl15 */
16023 MeltFrame_meltrout_119_WARMELTmiMACRO_LAMBDA_cl15
16024 meltfram__ /*declfrastruct fromline 1780*/
16025 /*classyprocarg meltrout_119_WARMELTmiMACRO_LAMBDA_cl15 fromline 1785*/
16026 #if ENABLE_CHECKING
16027 (__FILE__, __LINE__, meltclosp_) /* fromline 1789*/
16028 #else /*ENABLE_CHECKING */
16029 (meltclosp_) /* fromline 1793*/
16030 #endif /*ENABLE_CHECKING */
16033 #define meltframe meltfram__
16035 melt_trace_start("LAMBDA_cl15", meltcallcount);
16036 /*use arguments*/
16037 (void) meltclosp_;
16038 (void)meltfirstargp_;
16039 (void)meltxargdescr_;
16040 (void)meltxargtab_;
16041 (void)meltxresdescr_;
16042 (void)meltxrestab_;
16043 /*getargs*/
16045 /*getarg#0*/
16046 MELT_LOCATION("warmelt-macro.melt:6785:/ getarg");
16047 /*_.C__V2*/
16048 meltfptr[1] = (melt_ptr_t) meltfirstargp_;
16050 goto meltlab_endgetargs;
16051 meltlab_endgetargs:
16053 /*body*/
16054 /*^block*/
16055 /*anyblock*/
16059 MELT_CHECK_SIGNAL();
16061 /*_#IS_NOT_A__L1*/
16062 meltfnum[0] =
16063 !melt_is_instance_of((melt_ptr_t)(/*_.C__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_SEXPR*/ meltfrout->tabval[0])));;
16064 MELT_LOCATION("warmelt-macro.melt:6786:/ cond");
16065 /*cond*/
16066 if (/*_#IS_NOT_A__L1*/ meltfnum[0]) /*then*/
16068 /*^cond.then*/
16069 /*^block*/
16070 /*anyblock*/
16075 MELT_LOCATION("warmelt-macro.melt:6787:/ locexp");
16076 /* error_plain */
16077 melt_error_str((melt_ptr_t)((/*~LOC*/ meltfclos->tabval[0])), ( "MATCH with non-sexpr"), (melt_ptr_t)0);
16080 /*epilog*/
16083 } /*noelse*/
16086 MELT_CHECK_SIGNAL();
16088 MELT_LOCATION("warmelt-macro.melt:6785:/ quasiblock");
16091 /*_._RETVAL___V1*/
16092 meltfptr[0] = /*_.C__V2*/ meltfptr[1];;
16095 MELT_LOCATION("warmelt-macro.melt:6785:/ locexp");
16096 /*ochecknores compilobj_nrep_return*/
16097 #if MELT_HAVE_DEBUG
16098 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
16099 melt_warn_for_no_expected_secondary_results();
16100 /* we warned when secondary results are expected but not returned. */
16101 #endif /*MELT_HAVE_DEBUG*/
16105 /*^finalreturn*/
16107 /*finalret*/
16108 goto meltlabend_rout ;
16109 /*epilog*/
16111 /*^clear*/
16112 /*clear*/ /*_#IS_NOT_A__L1*/
16113 meltfnum[0] = 0 ;
16117 goto meltlabend_rout;
16118 meltlabend_rout:
16119 melt_trace_end("LAMBDA_cl15", meltcallcount);
16120 melt_blocklevel_signals = current_blocklevel_signals_meltrout_119_WARMELTmiMACRO_LAMBDA_cl15_melt;
16121 return (melt_ptr_t)(/*_._RETVAL___V1*/ meltfptr[0]);
16122 #undef meltcallcount
16123 #undef meltfram__
16124 #undef MELTFRAM_NBVARNUM
16125 #undef MELTFRAM_NBVARPTR
16126 } /*end meltrout_119_WARMELTmiMACRO_LAMBDA_cl15*/
16133 melt_ptr_t MELT_MODULE_VISIBILITY
16134 meltrout_120_WARMELTmiMACRO_MEXPAND_MATCHALT(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_,
16135 const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_)
16137 long current_blocklevel_signals_meltrout_120_WARMELTmiMACRO_MEXPAND_MATCHALT_melt = melt_blocklevel_signals;
16139 #if MELT_HAVE_DEBUG
16140 static long melt_call_counter__;
16141 long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__;
16142 #undef meltcallcount
16143 #define meltcallcount melt_thiscallcounter__
16144 #else
16145 #undef meltcallcount
16146 #define meltcallcount 0L
16147 #endif
16148 //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1538
16150 /* start of frame for routine meltrout_120_WARMELTmiMACRO_MEXPAND_MATCHALT fromline 1752 */
16152 /** start of frame for meltrout_120_WARMELTmiMACRO_MEXPAND_MATCHALT of CLASS_PROCROUTINEOBJ from 1555**/
16154 /*curframdeclclassy*/ class MeltFrame_meltrout_120_WARMELTmiMACRO_MEXPAND_MATCHALT// fromline 1568
16155 : public Melt_CallFrameWithValues<77>
16157 public: /* fromline 1572*/
16158 long mcfr_varnum[27];
16159 /*classy others*/
16160 long _meltsparel;
16161 void melt_mark_stuff (void)
16163 } /*end melt_mark_stuff*/
16164 virtual void melt_mark_ggc_data (void)
16166 melt_mark_values ();
16167 melt_mark_stuff ();
16168 }; /*end melt_mark_ggc_data*/
16169 MeltFrame_meltrout_120_WARMELTmiMACRO_MEXPAND_MATCHALT(meltclosure_ptr_t clos) //the closure constructor fromline 1630
16170 : Melt_CallFrameWithValues<77> (
16171 #if ENABLE_CHECKING /*fromline 1634*/
16172 __FILE__, __LINE__,
16173 #endif /* ENABLE_CHECKING fromline 1638*/
16174 sizeof(MeltFrame_meltrout_120_WARMELTmiMACRO_MEXPAND_MATCHALT), clos) {};
16175 MeltFrame_meltrout_120_WARMELTmiMACRO_MEXPAND_MATCHALT() //the constructor fromline 1642
16176 : Melt_CallFrameWithValues<77> (
16177 #if ENABLE_CHECKING /*fromline 1646*/
16178 __FILE__, __LINE__,
16179 #endif /* ENABLE_CHECKING fromline 1650*/
16180 sizeof(MeltFrame_meltrout_120_WARMELTmiMACRO_MEXPAND_MATCHALT)) {};
16181 #if ENABLE_CHECKING /*fromline 1654*/
16182 MeltFrame_meltrout_120_WARMELTmiMACRO_MEXPAND_MATCHALT(const char*fil, int lin) //the constructor fromline 1656
16183 : Melt_CallFrameWithValues<77> (fil,lin, sizeof(MeltFrame_meltrout_120_WARMELTmiMACRO_MEXPAND_MATCHALT)) {};
16184 MeltFrame_meltrout_120_WARMELTmiMACRO_MEXPAND_MATCHALT(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1661
16185 : Melt_CallFrameWithValues<77> (fil,lin, sizeof(MeltFrame_meltrout_120_WARMELTmiMACRO_MEXPAND_MATCHALT), clos) {};
16186 #endif /* ENABLE_CHECKING fromline 1666*/
16188 }; // end class MeltFrame_meltrout_120_WARMELTmiMACRO_MEXPAND_MATCHALT
16191 /** end of frame for meltrout_120_WARMELTmiMACRO_MEXPAND_MATCHALT fromline 1697**/
16193 /* end of frame for routine meltrout_120_WARMELTmiMACRO_MEXPAND_MATCHALT fromline 1756 */
16195 /* classy proc frame meltrout_120_WARMELTmiMACRO_MEXPAND_MATCHALT */
16196 MeltFrame_meltrout_120_WARMELTmiMACRO_MEXPAND_MATCHALT
16197 meltfram__ /*declfrastruct fromline 1780*/
16198 /*classyprocarg meltrout_120_WARMELTmiMACRO_MEXPAND_MATCHALT fromline 1785*/
16199 #if ENABLE_CHECKING
16200 (__FILE__, __LINE__, meltclosp_) /* fromline 1789*/
16201 #else /*ENABLE_CHECKING */
16202 (meltclosp_) /* fromline 1793*/
16203 #endif /*ENABLE_CHECKING */
16206 #define meltframe meltfram__
16208 melt_trace_start("MEXPAND_MATCHALT", meltcallcount);
16209 /*use arguments*/
16210 (void) meltclosp_;
16211 (void)meltfirstargp_;
16212 (void)meltxargdescr_;
16213 (void)meltxargtab_;
16214 (void)meltxresdescr_;
16215 (void)meltxrestab_;
16216 /*getargs*/
16218 /*getarg#0*/
16219 MELT_LOCATION("warmelt-macro.melt:6865:/ getarg");
16220 /*_.SEXPR__V2*/
16221 meltfptr[1] = (melt_ptr_t) meltfirstargp_;
16223 /*getarg#1*/
16224 /*^getarg*/
16225 if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_endgetargs;
16226 /*_.ENV__V3*/
16227 meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL;
16228 gcc_assert(melt_discr((melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2])) != NULL);
16231 /*getarg#2*/
16232 /*^getarg*/
16233 if (meltxargdescr_[1] != MELTBPAR_PTR) goto meltlab_endgetargs;
16234 /*_.MEXPANDER__V4*/
16235 meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL;
16236 gcc_assert(melt_discr((melt_ptr_t)(/*_.MEXPANDER__V4*/ meltfptr[3])) != NULL);
16239 /*getarg#3*/
16240 /*^getarg*/
16241 if (meltxargdescr_[2] != MELTBPAR_PTR) goto meltlab_endgetargs;
16242 /*_.MODCTX__V5*/
16243 meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL;
16244 gcc_assert(melt_discr((melt_ptr_t)(/*_.MODCTX__V5*/ meltfptr[4])) != NULL);
16247 goto meltlab_endgetargs;
16248 meltlab_endgetargs:
16250 /*body*/
16251 /*^block*/
16252 /*anyblock*/
16256 #if MELT_HAVE_DEBUG
16257 MELT_LOCATION("warmelt-macro.melt:6866:/ cppif.then");
16258 /*^block*/
16259 /*anyblock*/
16264 /*^locexp*/
16265 /*melt_increment_dbgcounter*/
16266 #if MELT_HAVE_DEBUG
16267 melt_dbgcounter++;
16268 #endif
16273 MELT_CHECK_SIGNAL();
16275 /*_#MELT_NEED_DBG__L1*/
16276 meltfnum[0] =
16277 /*MELT_NEED_DBG*/
16278 #if MELT_HAVE_DEBUG
16279 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
16280 #else
16281 0 /* no melt_need_dbg */
16282 #endif /*MELT_HAVE_DEBUG*/
16284 MELT_LOCATION("warmelt-macro.melt:6866:/ cond");
16285 /*cond*/
16286 if (/*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then*/
16288 /*^cond.then*/
16289 /*^block*/
16290 /*anyblock*/
16293 /*_#MELT_CALLCOUNT__L2*/ meltfnum[1] =
16294 /* for melt_callcount */
16295 #if MELT_HAVE_DEBUG && defined (meltcallcount)
16296 meltcallcount /* melt_callcount debugging */
16297 #else
16298 0L /* melt_callcount without debug */
16299 #endif /* MELT_HAVE_DEBUG melt_callcount */
16302 MELT_CHECK_SIGNAL();
16304 MELT_LOCATION("warmelt-macro.melt:6866:/ apply");
16305 /*apply*/
16307 union meltparam_un argtab[5];
16308 memset(&argtab, 0, sizeof(argtab));
16309 /*^apply.arg*/
16310 argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L2*/ meltfnum[1];
16311 /*^apply.arg*/
16312 argtab[1].meltbp_cstring = "warmelt-macro.melt";
16313 /*^apply.arg*/
16314 argtab[2].meltbp_long = 6866;
16315 /*^apply.arg*/
16316 argtab[3].meltbp_cstring = "mexpand_matchalt sexpr=";
16317 /*^apply.arg*/
16318 argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.SEXPR__V2*/ meltfptr[1];
16319 /*_.MELT_DEBUG_FUN__V7*/
16320 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);
16323 /*_._IF___V6*/
16324 meltfptr[5] = /*_.MELT_DEBUG_FUN__V7*/ meltfptr[6];;
16325 /*epilog*/
16327 MELT_LOCATION("warmelt-macro.melt:6866:/ clear");
16328 /*clear*/ /*_#MELT_CALLCOUNT__L2*/
16329 meltfnum[1] = 0 ;
16330 /*^clear*/
16331 /*clear*/ /*_.MELT_DEBUG_FUN__V7*/
16332 meltfptr[6] = 0 ;
16336 else /*^cond.else*/
16339 /*_._IF___V6*/ meltfptr[5] = /*reallynil*/ NULL ;;
16344 MELT_LOCATION("warmelt-macro.melt:6866:/ locexp");
16345 /*void*/
16346 (void)0;
16349 /*^quasiblock*/
16352 /*epilog*/
16354 /*^clear*/
16355 /*clear*/ /*_#MELT_NEED_DBG__L1*/
16356 meltfnum[0] = 0 ;
16357 /*^clear*/
16358 /*clear*/ /*_._IF___V6*/
16359 meltfptr[5] = 0 ;
16362 #else /*MELT_HAVE_DEBUG*/
16363 /*^cppif.else*/
16364 /*^block*/
16365 /*anyblock*/
16370 /*^locexp*/
16371 /*void*/(void)0;
16374 /*epilog*/
16377 #endif /*MELT_HAVE_DEBUG*/
16380 #if MELT_HAVE_DEBUG
16381 MELT_LOCATION("warmelt-macro.melt:6867:/ cppif.then");
16382 /*^block*/
16383 /*anyblock*/
16387 MELT_CHECK_SIGNAL();
16389 /*_#IS_A__L3*/
16390 meltfnum[1] =
16391 melt_is_instance_of((melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_SEXPR*/ meltfrout->tabval[1])));;
16392 MELT_LOCATION("warmelt-macro.melt:6867:/ cond");
16393 /*cond*/
16394 if (/*_#IS_A__L3*/ meltfnum[1]) /*then*/
16396 /*^cond.then*/
16397 /*_._IFELSE___V9*/ meltfptr[5] = (/*nil*/NULL);;
16399 else
16401 MELT_LOCATION("warmelt-macro.melt:6867:/ cond.else");
16403 /*^block*/
16404 /*anyblock*/
16408 MELT_CHECK_SIGNAL();
16410 /*^apply*/
16411 /*apply*/
16413 union meltparam_un argtab[4];
16414 memset(&argtab, 0, sizeof(argtab));
16415 /*^apply.arg*/
16416 argtab[0].meltbp_cstring = "check sexpr";
16417 /*^apply.arg*/
16418 argtab[1].meltbp_cstring = "warmelt-macro.melt";
16419 /*^apply.arg*/
16420 argtab[2].meltbp_long = 6867;
16421 /*^apply.arg*/
16422 argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.SEXPR__V2*/ meltfptr[1];
16423 /*_.MELT_ASSERT_FAILURE_FUN__V10*/
16424 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);
16427 /*_._IFELSE___V9*/
16428 meltfptr[5] = /*_.MELT_ASSERT_FAILURE_FUN__V10*/ meltfptr[9];;
16429 /*epilog*/
16431 MELT_LOCATION("warmelt-macro.melt:6867:/ clear");
16432 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V10*/
16433 meltfptr[9] = 0 ;
16438 /*_.IFCPP___V8*/
16439 meltfptr[6] = /*_._IFELSE___V9*/ meltfptr[5];;
16440 /*epilog*/
16442 MELT_LOCATION("warmelt-macro.melt:6867:/ clear");
16443 /*clear*/ /*_#IS_A__L3*/
16444 meltfnum[1] = 0 ;
16445 /*^clear*/
16446 /*clear*/ /*_._IFELSE___V9*/
16447 meltfptr[5] = 0 ;
16450 #else /*MELT_HAVE_DEBUG*/
16451 /*^cppif.else*/
16452 /*_.IFCPP___V8*/ meltfptr[6] = (/*nil*/NULL);
16453 #endif /*MELT_HAVE_DEBUG*/
16456 #if MELT_HAVE_DEBUG
16457 MELT_LOCATION("warmelt-macro.melt:6868:/ cppif.then");
16458 /*^block*/
16459 /*anyblock*/
16463 MELT_CHECK_SIGNAL();
16465 /*_#IS_A__L4*/
16466 meltfnum[0] =
16467 melt_is_instance_of((melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2]), (melt_ptr_t)((/*!CLASS_ENVIRONMENT*/ meltfrout->tabval[3])));;
16468 MELT_LOCATION("warmelt-macro.melt:6868:/ cond");
16469 /*cond*/
16470 if (/*_#IS_A__L4*/ meltfnum[0]) /*then*/
16472 /*^cond.then*/
16473 /*_._IFELSE___V12*/ meltfptr[5] = (/*nil*/NULL);;
16475 else
16477 MELT_LOCATION("warmelt-macro.melt:6868:/ cond.else");
16479 /*^block*/
16480 /*anyblock*/
16484 MELT_CHECK_SIGNAL();
16486 /*^apply*/
16487 /*apply*/
16489 union meltparam_un argtab[4];
16490 memset(&argtab, 0, sizeof(argtab));
16491 /*^apply.arg*/
16492 argtab[0].meltbp_cstring = "check env";
16493 /*^apply.arg*/
16494 argtab[1].meltbp_cstring = "warmelt-macro.melt";
16495 /*^apply.arg*/
16496 argtab[2].meltbp_long = 6868;
16497 /*^apply.arg*/
16498 argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.ENV__V3*/ meltfptr[2];
16499 /*_.MELT_ASSERT_FAILURE_FUN__V13*/
16500 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);
16503 /*_._IFELSE___V12*/
16504 meltfptr[5] = /*_.MELT_ASSERT_FAILURE_FUN__V13*/ meltfptr[12];;
16505 /*epilog*/
16507 MELT_LOCATION("warmelt-macro.melt:6868:/ clear");
16508 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V13*/
16509 meltfptr[12] = 0 ;
16514 /*_.IFCPP___V11*/
16515 meltfptr[9] = /*_._IFELSE___V12*/ meltfptr[5];;
16516 /*epilog*/
16518 MELT_LOCATION("warmelt-macro.melt:6868:/ clear");
16519 /*clear*/ /*_#IS_A__L4*/
16520 meltfnum[0] = 0 ;
16521 /*^clear*/
16522 /*clear*/ /*_._IFELSE___V12*/
16523 meltfptr[5] = 0 ;
16526 #else /*MELT_HAVE_DEBUG*/
16527 /*^cppif.else*/
16528 /*_.IFCPP___V11*/ meltfptr[9] = (/*nil*/NULL);
16529 #endif /*MELT_HAVE_DEBUG*/
16532 #if MELT_HAVE_DEBUG
16533 MELT_LOCATION("warmelt-macro.melt:6869:/ cppif.then");
16534 /*^block*/
16535 /*anyblock*/
16539 MELT_CHECK_SIGNAL();
16541 /*_#IS_OBJECT__L5*/
16542 meltfnum[1] =
16543 (melt_magic_discr((melt_ptr_t)(/*_.MODCTX__V5*/ meltfptr[4])) == MELTOBMAG_OBJECT);;
16544 MELT_LOCATION("warmelt-macro.melt:6869:/ cond");
16545 /*cond*/
16546 if (/*_#IS_OBJECT__L5*/ meltfnum[1]) /*then*/
16548 /*^cond.then*/
16549 /*_._IFELSE___V15*/ meltfptr[5] = (/*nil*/NULL);;
16551 else
16553 MELT_LOCATION("warmelt-macro.melt:6869:/ cond.else");
16555 /*^block*/
16556 /*anyblock*/
16560 MELT_CHECK_SIGNAL();
16562 /*^apply*/
16563 /*apply*/
16565 union meltparam_un argtab[4];
16566 memset(&argtab, 0, sizeof(argtab));
16567 /*^apply.arg*/
16568 argtab[0].meltbp_cstring = "check modctx";
16569 /*^apply.arg*/
16570 argtab[1].meltbp_cstring = "warmelt-macro.melt";
16571 /*^apply.arg*/
16572 argtab[2].meltbp_long = 6869;
16573 /*^apply.arg*/
16574 argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.MODCTX__V5*/ meltfptr[4];
16575 /*_.MELT_ASSERT_FAILURE_FUN__V16*/
16576 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);
16579 /*_._IFELSE___V15*/
16580 meltfptr[5] = /*_.MELT_ASSERT_FAILURE_FUN__V16*/ meltfptr[15];;
16581 /*epilog*/
16583 MELT_LOCATION("warmelt-macro.melt:6869:/ clear");
16584 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V16*/
16585 meltfptr[15] = 0 ;
16590 /*_.IFCPP___V14*/
16591 meltfptr[12] = /*_._IFELSE___V15*/ meltfptr[5];;
16592 /*epilog*/
16594 MELT_LOCATION("warmelt-macro.melt:6869:/ clear");
16595 /*clear*/ /*_#IS_OBJECT__L5*/
16596 meltfnum[1] = 0 ;
16597 /*^clear*/
16598 /*clear*/ /*_._IFELSE___V15*/
16599 meltfptr[5] = 0 ;
16602 #else /*MELT_HAVE_DEBUG*/
16603 /*^cppif.else*/
16604 /*_.IFCPP___V14*/ meltfptr[12] = (/*nil*/NULL);
16605 #endif /*MELT_HAVE_DEBUG*/
16608 MELT_CHECK_SIGNAL();
16610 /*^compute*/
16611 /*_#NULL__L6*/
16612 meltfnum[0] =
16613 (/*null*/(/*_.MEXPANDER__V4*/ meltfptr[3]) == NULL);;
16614 MELT_LOCATION("warmelt-macro.melt:6870:/ cond");
16615 /*cond*/
16616 if (/*_#NULL__L6*/ meltfnum[0]) /*then*/
16618 /*^cond.then*/
16619 /*^block*/
16620 /*anyblock*/
16623 /*^compute*/
16624 /*_.MEXPANDER__V4*/ meltfptr[3] = /*_.SETQ___V18*/ meltfptr[5] = (/*!MACROEXPAND_1*/ meltfrout->tabval[4]);;
16625 /*_._IF___V17*/
16626 meltfptr[15] = /*_.SETQ___V18*/ meltfptr[5];;
16627 /*epilog*/
16629 MELT_LOCATION("warmelt-macro.melt:6870:/ clear");
16630 /*clear*/ /*_.SETQ___V18*/
16631 meltfptr[5] = 0 ;
16635 else /*^cond.else*/
16638 /*_._IF___V17*/ meltfptr[15] = /*reallynil*/ NULL ;;
16641 MELT_LOCATION("warmelt-macro.melt:6871:/ quasiblock");
16644 MELT_LOCATION("warmelt-macro.melt:6872:/ getslot");
16646 melt_ptr_t slot=NULL, obj=NULL;
16647 obj = (melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/;
16648 melt_object_get_field(slot,obj, 2, "SEXP_CONTENTS");
16649 /*_.CONT__V20*/
16650 meltfptr[19] = slot;
16653 MELT_LOCATION("warmelt-macro.melt:6873:/ getslot");
16655 melt_ptr_t slot=NULL, obj=NULL;
16656 obj = (melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/;
16657 melt_object_get_field(slot,obj, 1, "LOCA_LOCATION");
16658 /*_.LOC__V21*/
16659 meltfptr[20] = slot;
16662 /*_.LIST_FIRST__V22*/
16663 meltfptr[21] =
16664 (melt_list_first((melt_ptr_t)(/*_.CONT__V20*/ meltfptr[19])));;
16665 /*^compute*/
16666 /*_.PAIR_TAIL__V23*/
16667 meltfptr[22] =
16668 (melt_pair_tail((melt_ptr_t)(/*_.LIST_FIRST__V22*/ meltfptr[21])));;
16669 /*^compute*/
16670 /*_.MSEXP__V24*/
16671 meltfptr[23] =
16672 (melt_pair_head((melt_ptr_t)(/*_.PAIR_TAIL__V23*/ meltfptr[22])));;
16674 MELT_CHECK_SIGNAL();
16676 MELT_LOCATION("warmelt-macro.melt:6875:/ apply");
16677 /*apply*/
16679 union meltparam_un argtab[3];
16680 memset(&argtab, 0, sizeof(argtab));
16681 /*^apply.arg*/
16682 argtab[0].meltbp_aptr = (melt_ptr_t*) &/*_.ENV__V3*/ meltfptr[2];
16683 /*^apply.arg*/
16684 argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.MEXPANDER__V4*/ meltfptr[3];
16685 /*^apply.arg*/
16686 argtab[2].meltbp_aptr = (melt_ptr_t*) &/*_.MODCTX__V5*/ meltfptr[4];
16687 /*_.MATSX__V25*/
16688 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);
16691 /*_.LIST_FIRST__V26*/
16692 meltfptr[25] =
16693 (melt_list_first((melt_ptr_t)(/*_.CONT__V20*/ meltfptr[19])));;
16694 /*^compute*/
16695 /*_.PAIR_TAIL__V27*/
16696 meltfptr[26] =
16697 (melt_pair_tail((melt_ptr_t)(/*_.LIST_FIRST__V26*/ meltfptr[25])));;
16698 /*^compute*/
16699 /*_.PAIR_TAIL__V28*/
16700 meltfptr[27] =
16701 (melt_pair_tail((melt_ptr_t)(/*_.PAIR_TAIL__V27*/ meltfptr[26])));;
16702 MELT_LOCATION("warmelt-macro.melt:6879:/ quasiblock");
16705 /*^newclosure*/
16706 /*newclosure*/ /*_.LAMBDA___V30*/
16707 meltfptr[29] =
16708 (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));
16710 /*^putclosedv*/
16711 /*putclosv*/
16712 melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V30*/ meltfptr[29])) == MELTOBMAG_CLOSURE);
16713 melt_assertmsg("putclosv checkoff", 0>= 0 && 0< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V30*/ meltfptr[29])));
16714 ((meltclosure_ptr_t)/*_.LAMBDA___V30*/ meltfptr[29])->tabval[0] = (melt_ptr_t)(/*_.LOC__V21*/ meltfptr[20]);
16716 /*_.LAMBDA___V29*/
16717 meltfptr[28] = /*_.LAMBDA___V30*/ meltfptr[29];;
16719 MELT_CHECK_SIGNAL();
16721 MELT_LOCATION("warmelt-macro.melt:6876:/ apply");
16722 /*apply*/
16724 union meltparam_un argtab[2];
16725 memset(&argtab, 0, sizeof(argtab));
16726 /*^apply.arg*/
16727 argtab[0].meltbp_aptr = (melt_ptr_t*) &(/*!DISCR_MULTIPLE*/ meltfrout->tabval[6]);
16728 /*^apply.arg*/
16729 argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.LAMBDA___V29*/ meltfptr[28];
16730 /*_.MEXPTUPLE__V31*/
16731 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);
16734 /*_#NBMATCH__L7*/
16735 meltfnum[1] =
16736 (melt_multiple_length((melt_ptr_t)(/*_.MEXPTUPLE__V31*/ meltfptr[30])));;
16737 MELT_LOCATION("warmelt-macro.melt:6885:/ quasiblock");
16740 /*_.LX__V33*/
16741 meltfptr[32] =
16742 (melt_multiple_nth((melt_ptr_t)(/*_.MEXPTUPLE__V31*/ meltfptr[30]), (-1)));;
16744 #if MELT_HAVE_DEBUG
16745 MELT_LOCATION("warmelt-macro.melt:6886:/ cppif.then");
16746 /*^block*/
16747 /*anyblock*/
16752 /*^locexp*/
16753 /*melt_increment_dbgcounter*/
16754 #if MELT_HAVE_DEBUG
16755 melt_dbgcounter++;
16756 #endif
16761 MELT_CHECK_SIGNAL();
16763 /*_#MELT_NEED_DBG__L8*/
16764 meltfnum[7] =
16765 /*MELT_NEED_DBG*/
16766 #if MELT_HAVE_DEBUG
16767 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
16768 #else
16769 0 /* no melt_need_dbg */
16770 #endif /*MELT_HAVE_DEBUG*/
16772 MELT_LOCATION("warmelt-macro.melt:6886:/ cond");
16773 /*cond*/
16774 if (/*_#MELT_NEED_DBG__L8*/ meltfnum[7]) /*then*/
16776 /*^cond.then*/
16777 /*^block*/
16778 /*anyblock*/
16781 /*_#MELT_CALLCOUNT__L9*/ meltfnum[8] =
16782 /* for melt_callcount */
16783 #if MELT_HAVE_DEBUG && defined (meltcallcount)
16784 meltcallcount /* melt_callcount debugging */
16785 #else
16786 0L /* melt_callcount without debug */
16787 #endif /* MELT_HAVE_DEBUG melt_callcount */
16790 MELT_CHECK_SIGNAL();
16792 MELT_LOCATION("warmelt-macro.melt:6886:/ apply");
16793 /*apply*/
16795 union meltparam_un argtab[5];
16796 memset(&argtab, 0, sizeof(argtab));
16797 /*^apply.arg*/
16798 argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L9*/ meltfnum[8];
16799 /*^apply.arg*/
16800 argtab[1].meltbp_cstring = "warmelt-macro.melt";
16801 /*^apply.arg*/
16802 argtab[2].meltbp_long = 6886;
16803 /*^apply.arg*/
16804 argtab[3].meltbp_cstring = "mexpand_matchalt lastmexp lx";
16805 /*^apply.arg*/
16806 argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.LX__V33*/ meltfptr[32];
16807 /*_.MELT_DEBUG_FUN__V35*/
16808 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);
16811 /*_._IF___V34*/
16812 meltfptr[33] = /*_.MELT_DEBUG_FUN__V35*/ meltfptr[34];;
16813 /*epilog*/
16815 MELT_LOCATION("warmelt-macro.melt:6886:/ clear");
16816 /*clear*/ /*_#MELT_CALLCOUNT__L9*/
16817 meltfnum[8] = 0 ;
16818 /*^clear*/
16819 /*clear*/ /*_.MELT_DEBUG_FUN__V35*/
16820 meltfptr[34] = 0 ;
16824 else /*^cond.else*/
16827 /*_._IF___V34*/ meltfptr[33] = /*reallynil*/ NULL ;;
16832 MELT_LOCATION("warmelt-macro.melt:6886:/ locexp");
16833 /*void*/
16834 (void)0;
16837 /*^quasiblock*/
16840 /*epilog*/
16842 /*^clear*/
16843 /*clear*/ /*_#MELT_NEED_DBG__L8*/
16844 meltfnum[7] = 0 ;
16845 /*^clear*/
16846 /*clear*/ /*_._IF___V34*/
16847 meltfptr[33] = 0 ;
16850 #else /*MELT_HAVE_DEBUG*/
16851 /*^cppif.else*/
16852 /*^block*/
16853 /*anyblock*/
16858 /*^locexp*/
16859 /*void*/(void)0;
16862 /*epilog*/
16865 #endif /*MELT_HAVE_DEBUG*/
16867 /*_.LET___V32*/
16868 meltfptr[31] = /*_.LX__V33*/ meltfptr[32];;
16870 MELT_LOCATION("warmelt-macro.melt:6885:/ clear");
16871 /*clear*/ /*_.LX__V33*/
16872 meltfptr[32] = 0 ;
16873 /*_.LASTMEXP__V36*/
16874 meltfptr[34] = /*_.LET___V32*/ meltfptr[31];;
16875 /*^compute*/
16876 /*_#IX__L10*/
16877 meltfnum[8] =
16878 ((/*_#NBMATCH__L7*/ meltfnum[1]) - (1));;
16879 /*^compute*/
16880 /*_.CASELIST__V37*/
16881 meltfptr[33] =
16882 (meltgc_new_list((meltobject_ptr_t)((/*!DISCR_LIST*/ meltfrout->tabval[9]))));;
16884 #if MELT_HAVE_DEBUG
16885 MELT_LOCATION("warmelt-macro.melt:6891:/ cppif.then");
16886 /*^block*/
16887 /*anyblock*/
16892 /*^locexp*/
16893 /*melt_increment_dbgcounter*/
16894 #if MELT_HAVE_DEBUG
16895 melt_dbgcounter++;
16896 #endif
16901 MELT_CHECK_SIGNAL();
16903 /*_#MELT_NEED_DBG__L11*/
16904 meltfnum[7] =
16905 /*MELT_NEED_DBG*/
16906 #if MELT_HAVE_DEBUG
16907 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
16908 #else
16909 0 /* no melt_need_dbg */
16910 #endif /*MELT_HAVE_DEBUG*/
16912 MELT_LOCATION("warmelt-macro.melt:6891:/ cond");
16913 /*cond*/
16914 if (/*_#MELT_NEED_DBG__L11*/ meltfnum[7]) /*then*/
16916 /*^cond.then*/
16917 /*^block*/
16918 /*anyblock*/
16921 /*_#MELT_CALLCOUNT__L12*/ meltfnum[11] =
16922 /* for melt_callcount */
16923 #if MELT_HAVE_DEBUG && defined (meltcallcount)
16924 meltcallcount /* melt_callcount debugging */
16925 #else
16926 0L /* melt_callcount without debug */
16927 #endif /* MELT_HAVE_DEBUG melt_callcount */
16930 MELT_CHECK_SIGNAL();
16932 MELT_LOCATION("warmelt-macro.melt:6891:/ apply");
16933 /*apply*/
16935 union meltparam_un argtab[5];
16936 memset(&argtab, 0, sizeof(argtab));
16937 /*^apply.arg*/
16938 argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L12*/ meltfnum[11];
16939 /*^apply.arg*/
16940 argtab[1].meltbp_cstring = "warmelt-macro.melt";
16941 /*^apply.arg*/
16942 argtab[2].meltbp_long = 6891;
16943 /*^apply.arg*/
16944 argtab[3].meltbp_cstring = "mexpand_matchalt mexptuple";
16945 /*^apply.arg*/
16946 argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.MEXPTUPLE__V31*/ meltfptr[30];
16947 /*_.MELT_DEBUG_FUN__V39*/
16948 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);
16951 /*_._IF___V38*/
16952 meltfptr[32] = /*_.MELT_DEBUG_FUN__V39*/ meltfptr[38];;
16953 /*epilog*/
16955 MELT_LOCATION("warmelt-macro.melt:6891:/ clear");
16956 /*clear*/ /*_#MELT_CALLCOUNT__L12*/
16957 meltfnum[11] = 0 ;
16958 /*^clear*/
16959 /*clear*/ /*_.MELT_DEBUG_FUN__V39*/
16960 meltfptr[38] = 0 ;
16964 else /*^cond.else*/
16967 /*_._IF___V38*/ meltfptr[32] = /*reallynil*/ NULL ;;
16972 MELT_LOCATION("warmelt-macro.melt:6891:/ locexp");
16973 /*void*/
16974 (void)0;
16977 /*^quasiblock*/
16980 /*epilog*/
16982 /*^clear*/
16983 /*clear*/ /*_#MELT_NEED_DBG__L11*/
16984 meltfnum[7] = 0 ;
16985 /*^clear*/
16986 /*clear*/ /*_._IF___V38*/
16987 meltfptr[32] = 0 ;
16990 #else /*MELT_HAVE_DEBUG*/
16991 /*^cppif.else*/
16992 /*^block*/
16993 /*anyblock*/
16998 /*^locexp*/
16999 /*void*/(void)0;
17002 /*epilog*/
17005 #endif /*MELT_HAVE_DEBUG*/
17007 MELT_LOCATION("warmelt-macro.melt:6892:/ loop");
17008 /*loop*/
17010 meltlabloop_MATCHLOOP_2:;/*^loopbody*/
17012 /*^block*/
17013 /*anyblock*/
17017 MELT_CHECK_SIGNAL();
17020 MELT_CHECK_SIGNAL();
17022 /*_#ltI__L13*/
17023 meltfnum[11] =
17024 ((/*_#IX__L10*/ meltfnum[8]) < (0));;
17025 MELT_LOCATION("warmelt-macro.melt:6893:/ cond");
17026 /*cond*/
17027 if (/*_#ltI__L13*/ meltfnum[11]) /*then*/
17029 /*^cond.then*/
17030 /*^block*/
17031 /*anyblock*/
17034 /*^quasiblock*/
17037 /*^compute*/
17038 /*_.MATCHLOOP__V41*/ meltfptr[32] = /*reallynil*/ NULL ;;
17040 /*^exit*/
17041 /*exit*/
17043 goto meltlabexit_MATCHLOOP_2;
17046 /*epilog*/
17049 } /*noelse*/
17051 MELT_LOCATION("warmelt-macro.melt:6894:/ quasiblock");
17054 /*_.CURMATCH__V42*/
17055 meltfptr[41] =
17056 (melt_multiple_nth((melt_ptr_t)(/*_.MEXPTUPLE__V31*/ meltfptr[30]), (/*_#IX__L10*/ meltfnum[8])));;
17058 #if MELT_HAVE_DEBUG
17059 MELT_LOCATION("warmelt-macro.melt:6895:/ cppif.then");
17060 /*^block*/
17061 /*anyblock*/
17066 /*^locexp*/
17067 /*melt_increment_dbgcounter*/
17068 #if MELT_HAVE_DEBUG
17069 melt_dbgcounter++;
17070 #endif
17075 MELT_CHECK_SIGNAL();
17077 /*_#MELT_NEED_DBG__L14*/
17078 meltfnum[7] =
17079 /*MELT_NEED_DBG*/
17080 #if MELT_HAVE_DEBUG
17081 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
17082 #else
17083 0 /* no melt_need_dbg */
17084 #endif /*MELT_HAVE_DEBUG*/
17086 MELT_LOCATION("warmelt-macro.melt:6895:/ cond");
17087 /*cond*/
17088 if (/*_#MELT_NEED_DBG__L14*/ meltfnum[7]) /*then*/
17090 /*^cond.then*/
17091 /*^block*/
17092 /*anyblock*/
17095 /*_#MELT_CALLCOUNT__L15*/ meltfnum[14] =
17096 /* for melt_callcount */
17097 #if MELT_HAVE_DEBUG && defined (meltcallcount)
17098 meltcallcount /* melt_callcount debugging */
17099 #else
17100 0L /* melt_callcount without debug */
17101 #endif /* MELT_HAVE_DEBUG melt_callcount */
17104 MELT_CHECK_SIGNAL();
17106 MELT_LOCATION("warmelt-macro.melt:6895:/ apply");
17107 /*apply*/
17109 union meltparam_un argtab[5];
17110 memset(&argtab, 0, sizeof(argtab));
17111 /*^apply.arg*/
17112 argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L15*/ meltfnum[14];
17113 /*^apply.arg*/
17114 argtab[1].meltbp_cstring = "warmelt-macro.melt";
17115 /*^apply.arg*/
17116 argtab[2].meltbp_long = 6895;
17117 /*^apply.arg*/
17118 argtab[3].meltbp_cstring = "mexpand_matchalt curmatch";
17119 /*^apply.arg*/
17120 argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.CURMATCH__V42*/ meltfptr[41];
17121 /*_.MELT_DEBUG_FUN__V44*/
17122 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);
17125 /*_._IF___V43*/
17126 meltfptr[42] = /*_.MELT_DEBUG_FUN__V44*/ meltfptr[43];;
17127 /*epilog*/
17129 MELT_LOCATION("warmelt-macro.melt:6895:/ clear");
17130 /*clear*/ /*_#MELT_CALLCOUNT__L15*/
17131 meltfnum[14] = 0 ;
17132 /*^clear*/
17133 /*clear*/ /*_.MELT_DEBUG_FUN__V44*/
17134 meltfptr[43] = 0 ;
17138 else /*^cond.else*/
17141 /*_._IF___V43*/ meltfptr[42] = /*reallynil*/ NULL ;;
17146 MELT_LOCATION("warmelt-macro.melt:6895:/ locexp");
17147 /*void*/
17148 (void)0;
17151 /*^quasiblock*/
17154 /*epilog*/
17156 /*^clear*/
17157 /*clear*/ /*_#MELT_NEED_DBG__L14*/
17158 meltfnum[7] = 0 ;
17159 /*^clear*/
17160 /*clear*/ /*_._IF___V43*/
17161 meltfptr[42] = 0 ;
17164 #else /*MELT_HAVE_DEBUG*/
17165 /*^cppif.else*/
17166 /*^block*/
17167 /*anyblock*/
17172 /*^locexp*/
17173 /*void*/(void)0;
17176 /*epilog*/
17179 #endif /*MELT_HAVE_DEBUG*/
17182 MELT_CHECK_SIGNAL();
17184 /*_#IS_A__L16*/
17185 meltfnum[14] =
17186 melt_is_instance_of((melt_ptr_t)(/*_.CURMATCH__V42*/ meltfptr[41]), (melt_ptr_t)((/*!CLASS_SEXPR*/ meltfrout->tabval[1])));;
17187 MELT_LOCATION("warmelt-macro.melt:6898:/ cond");
17188 /*cond*/
17189 if (/*_#IS_A__L16*/ meltfnum[14]) /*then*/
17191 /*^cond.then*/
17192 /*^block*/
17193 /*anyblock*/
17196 MELT_LOCATION("warmelt-macro.melt:6899:/ quasiblock");
17199 /*^getslot*/
17201 melt_ptr_t slot=NULL, obj=NULL;
17202 obj = (melt_ptr_t)(/*_.CURMATCH__V42*/ meltfptr[41]) /*=obj*/;
17203 melt_object_get_field(slot,obj, 2, "SEXP_CONTENTS");
17204 /*_.CURMATCHCONT__V45*/
17205 meltfptr[43] = slot;
17208 MELT_LOCATION("warmelt-macro.melt:6900:/ getslot");
17210 melt_ptr_t slot=NULL, obj=NULL;
17211 obj = (melt_ptr_t)(/*_.CURMATCH__V42*/ meltfptr[41]) /*=obj*/;
17212 melt_object_get_field(slot,obj, 1, "LOCA_LOCATION");
17213 /*_.CURMATCHLOC__V46*/
17214 meltfptr[42] = slot;
17217 /*_.LIST_FIRST__V47*/
17218 meltfptr[46] =
17219 (melt_list_first((melt_ptr_t)(/*_.CURMATCHCONT__V45*/ meltfptr[43])));;
17220 /*^compute*/
17221 /*_.CURMATCHPATX__V48*/
17222 meltfptr[47] =
17223 (melt_pair_head((melt_ptr_t)(/*_.LIST_FIRST__V47*/ meltfptr[46])));;
17224 /*^compute*/
17225 /*_.LIST_FIRST__V49*/
17226 meltfptr[48] =
17227 (melt_list_first((melt_ptr_t)(/*_.CURMATCHCONT__V45*/ meltfptr[43])));;
17228 /*^compute*/
17229 /*_.CURMATCHRESTPAIRS__V50*/
17230 meltfptr[49] =
17231 (melt_pair_tail((melt_ptr_t)(/*_.LIST_FIRST__V49*/ meltfptr[48])));;
17233 MELT_CHECK_SIGNAL();
17235 /*^compute*/
17236 /*_.MAKE_MAPOBJECT__V51*/
17237 meltfptr[50] =
17238 (meltgc_new_mapobjects( (meltobject_ptr_t) ((/*!DISCR_MAP_OBJECTS*/ meltfrout->tabval[12])), (17)));;
17239 MELT_LOCATION("warmelt-macro.melt:6903:/ quasiblock");
17242 /*^rawallocobj*/
17243 /*rawallocobj*/
17245 melt_ptr_t newobj = 0;
17246 melt_raw_object_create(newobj,(melt_ptr_t)((/*!CLASS_PATTERN_EXPANSION_CONTEXT*/ meltfrout->tabval[10])), (4), "CLASS_PATTERN_EXPANSION_CONTEXT");
17247 /*_.INST__V53*/
17248 meltfptr[52] =
17249 newobj;
17252 /*^putslot*/
17253 /*putslot*/
17254 melt_assertmsg("checkobj putslot _ @PCTX_MEXPANDER", melt_magic_discr((melt_ptr_t)(/*_.INST__V53*/ meltfptr[52])) == MELTOBMAG_OBJECT);
17255 melt_putfield_object((/*_.INST__V53*/ meltfptr[52]), (0), (/*_.MEXPANDER__V4*/ meltfptr[3]), "PCTX_MEXPANDER");
17257 /*^putslot*/
17258 /*putslot*/
17259 melt_assertmsg("checkobj putslot _ @PCTX_PEXPANDER", melt_magic_discr((melt_ptr_t)(/*_.INST__V53*/ meltfptr[52])) == MELTOBMAG_OBJECT);
17260 melt_putfield_object((/*_.INST__V53*/ meltfptr[52]), (1), ((/*!PATTERNEXPAND_1*/ meltfrout->tabval[11])), "PCTX_PEXPANDER");
17262 /*^putslot*/
17263 /*putslot*/
17264 melt_assertmsg("checkobj putslot _ @PCTX_VARMAP", melt_magic_discr((melt_ptr_t)(/*_.INST__V53*/ meltfptr[52])) == MELTOBMAG_OBJECT);
17265 melt_putfield_object((/*_.INST__V53*/ meltfptr[52]), (2), (/*_.MAKE_MAPOBJECT__V51*/ meltfptr[50]), "PCTX_VARMAP");
17267 /*^putslot*/
17268 /*putslot*/
17269 melt_assertmsg("checkobj putslot _ @PCTX_MODCTX", melt_magic_discr((melt_ptr_t)(/*_.INST__V53*/ meltfptr[52])) == MELTOBMAG_OBJECT);
17270 melt_putfield_object((/*_.INST__V53*/ meltfptr[52]), (3), (/*_.MODCTX__V5*/ meltfptr[4]), "PCTX_MODCTX");
17272 /*^touchobj*/
17274 melt_dbgtrace_written_object (/*_.INST__V53*/ meltfptr[52], "newly made instance");
17276 /*_.CURPATCTX__V52*/
17277 meltfptr[51] = /*_.INST__V53*/ meltfptr[52];;
17278 MELT_LOCATION("warmelt-macro.melt:6909:/ quasiblock");
17282 MELT_CHECK_SIGNAL();
17284 /*^apply*/
17285 /*apply*/
17287 union meltparam_un argtab[3];
17288 memset(&argtab, 0, sizeof(argtab));
17289 /*^apply.arg*/
17290 argtab[0].meltbp_aptr = (melt_ptr_t*) &/*_.ENV__V3*/ meltfptr[2];
17291 /*^apply.arg*/
17292 argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.CURPATCTX__V52*/ meltfptr[51];
17293 /*^apply.arg*/
17294 argtab[2].meltbp_aptr = (melt_ptr_t*) &/*_.CURMATCHLOC__V46*/ meltfptr[42];
17295 /*_.CP__V55*/
17296 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);
17300 #if MELT_HAVE_DEBUG
17301 MELT_LOCATION("warmelt-macro.melt:6910:/ cppif.then");
17302 /*^block*/
17303 /*anyblock*/
17308 /*^locexp*/
17309 /*melt_increment_dbgcounter*/
17310 #if MELT_HAVE_DEBUG
17311 melt_dbgcounter++;
17312 #endif
17317 MELT_CHECK_SIGNAL();
17319 /*_#MELT_NEED_DBG__L17*/
17320 meltfnum[7] =
17321 /*MELT_NEED_DBG*/
17322 #if MELT_HAVE_DEBUG
17323 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
17324 #else
17325 0 /* no melt_need_dbg */
17326 #endif /*MELT_HAVE_DEBUG*/
17328 MELT_LOCATION("warmelt-macro.melt:6910:/ cond");
17329 /*cond*/
17330 if (/*_#MELT_NEED_DBG__L17*/ meltfnum[7]) /*then*/
17332 /*^cond.then*/
17333 /*^block*/
17334 /*anyblock*/
17337 /*_#MELT_CALLCOUNT__L18*/ meltfnum[17] =
17338 /* for melt_callcount */
17339 #if MELT_HAVE_DEBUG && defined (meltcallcount)
17340 meltcallcount /* melt_callcount debugging */
17341 #else
17342 0L /* melt_callcount without debug */
17343 #endif /* MELT_HAVE_DEBUG melt_callcount */
17346 MELT_CHECK_SIGNAL();
17348 MELT_LOCATION("warmelt-macro.melt:6910:/ apply");
17349 /*apply*/
17351 union meltparam_un argtab[5];
17352 memset(&argtab, 0, sizeof(argtab));
17353 /*^apply.arg*/
17354 argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L18*/ meltfnum[17];
17355 /*^apply.arg*/
17356 argtab[1].meltbp_cstring = "warmelt-macro.melt";
17357 /*^apply.arg*/
17358 argtab[2].meltbp_long = 6910;
17359 /*^apply.arg*/
17360 argtab[3].meltbp_cstring = "mexpand_matchalt curpat";
17361 /*^apply.arg*/
17362 argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.CP__V55*/ meltfptr[54];
17363 /*_.MELT_DEBUG_FUN__V57*/
17364 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);
17367 /*_._IF___V56*/
17368 meltfptr[55] = /*_.MELT_DEBUG_FUN__V57*/ meltfptr[56];;
17369 /*epilog*/
17371 MELT_LOCATION("warmelt-macro.melt:6910:/ clear");
17372 /*clear*/ /*_#MELT_CALLCOUNT__L18*/
17373 meltfnum[17] = 0 ;
17374 /*^clear*/
17375 /*clear*/ /*_.MELT_DEBUG_FUN__V57*/
17376 meltfptr[56] = 0 ;
17380 else /*^cond.else*/
17383 /*_._IF___V56*/ meltfptr[55] = /*reallynil*/ NULL ;;
17388 MELT_LOCATION("warmelt-macro.melt:6910:/ locexp");
17389 /*void*/
17390 (void)0;
17393 /*^quasiblock*/
17396 /*epilog*/
17398 /*^clear*/
17399 /*clear*/ /*_#MELT_NEED_DBG__L17*/
17400 meltfnum[7] = 0 ;
17401 /*^clear*/
17402 /*clear*/ /*_._IF___V56*/
17403 meltfptr[55] = 0 ;
17406 #else /*MELT_HAVE_DEBUG*/
17407 /*^cppif.else*/
17408 /*^block*/
17409 /*anyblock*/
17414 /*^locexp*/
17415 /*void*/(void)0;
17418 /*epilog*/
17421 #endif /*MELT_HAVE_DEBUG*/
17424 #if MELT_HAVE_DEBUG
17425 MELT_LOCATION("warmelt-macro.melt:6911:/ cppif.then");
17426 /*^block*/
17427 /*anyblock*/
17431 MELT_CHECK_SIGNAL();
17433 /*^cond*/
17434 /*cond*/
17435 if (/*_.CP__V55*/ meltfptr[54]) /*then*/
17437 /*^cond.then*/
17438 /*_._IFELSE___V59*/ meltfptr[55] = (/*nil*/NULL);;
17440 else
17442 MELT_LOCATION("warmelt-macro.melt:6911:/ cond.else");
17444 /*^block*/
17445 /*anyblock*/
17449 MELT_CHECK_SIGNAL();
17451 /*^apply*/
17452 /*apply*/
17454 union meltparam_un argtab[3];
17455 memset(&argtab, 0, sizeof(argtab));
17456 /*^apply.arg*/
17457 argtab[0].meltbp_cstring = "check curpat";
17458 /*^apply.arg*/
17459 argtab[1].meltbp_cstring = "warmelt-macro.melt";
17460 /*^apply.arg*/
17461 argtab[2].meltbp_long = 6911;
17462 /*_.MELT_ASSERT_FAILURE_FUN__V60*/
17463 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);
17466 /*_._IFELSE___V59*/
17467 meltfptr[55] = /*_.MELT_ASSERT_FAILURE_FUN__V60*/ meltfptr[59];;
17468 /*epilog*/
17470 MELT_LOCATION("warmelt-macro.melt:6911:/ clear");
17471 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V60*/
17472 meltfptr[59] = 0 ;
17477 /*_.IFCPP___V58*/
17478 meltfptr[56] = /*_._IFELSE___V59*/ meltfptr[55];;
17479 /*epilog*/
17481 MELT_LOCATION("warmelt-macro.melt:6911:/ clear");
17482 /*clear*/ /*_._IFELSE___V59*/
17483 meltfptr[55] = 0 ;
17486 #else /*MELT_HAVE_DEBUG*/
17487 /*^cppif.else*/
17488 /*_.IFCPP___V58*/ meltfptr[56] = (/*nil*/NULL);
17489 #endif /*MELT_HAVE_DEBUG*/
17491 /*^compute*/
17492 /*_.LET___V54*/
17493 meltfptr[53] = /*_.CP__V55*/ meltfptr[54];;
17495 MELT_LOCATION("warmelt-macro.melt:6909:/ clear");
17496 /*clear*/ /*_.CP__V55*/
17497 meltfptr[54] = 0 ;
17498 /*^clear*/
17499 /*clear*/ /*_.IFCPP___V58*/
17500 meltfptr[56] = 0 ;
17501 /*_.CURPAT__V61*/
17502 meltfptr[59] = /*_.LET___V54*/ meltfptr[53];;
17504 MELT_CHECK_SIGNAL();
17506 MELT_LOCATION("warmelt-macro.melt:6913:/ apply");
17507 /*apply*/
17509 union meltparam_un argtab[3];
17510 memset(&argtab, 0, sizeof(argtab));
17511 /*^apply.arg*/
17512 argtab[0].meltbp_aptr = (melt_ptr_t*) &/*_.ENV__V3*/ meltfptr[2];
17513 /*^apply.arg*/
17514 argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.MEXPANDER__V4*/ meltfptr[3];
17515 /*^apply.arg*/
17516 argtab[2].meltbp_aptr = (melt_ptr_t*) &/*_.MODCTX__V5*/ meltfptr[4];
17517 /*_.CURBODY__V62*/
17518 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);
17522 MELT_CHECK_SIGNAL();
17524 MELT_LOCATION("warmelt-macro.melt:6914:/ quasiblock");
17527 /*^rawallocobj*/
17528 /*rawallocobj*/
17530 melt_ptr_t newobj = 0;
17531 melt_raw_object_create(newobj,(melt_ptr_t)((/*!CLASS_SOURCE_MATCH_CASE*/ meltfrout->tabval[14])), (4), "CLASS_SOURCE_MATCH_CASE");
17532 /*_.INST__V64*/
17533 meltfptr[56] =
17534 newobj;
17537 /*^putslot*/
17538 /*putslot*/
17539 melt_assertmsg("checkobj putslot _ @LOCA_LOCATION", melt_magic_discr((melt_ptr_t)(/*_.INST__V64*/ meltfptr[56])) == MELTOBMAG_OBJECT);
17540 melt_putfield_object((/*_.INST__V64*/ meltfptr[56]), (1), (/*_.CURMATCHLOC__V46*/ meltfptr[42]), "LOCA_LOCATION");
17542 /*^putslot*/
17543 /*putslot*/
17544 melt_assertmsg("checkobj putslot _ @SCAM_PATT", melt_magic_discr((melt_ptr_t)(/*_.INST__V64*/ meltfptr[56])) == MELTOBMAG_OBJECT);
17545 melt_putfield_object((/*_.INST__V64*/ meltfptr[56]), (2), (/*_.CURPAT__V61*/ meltfptr[59]), "SCAM_PATT");
17547 /*^putslot*/
17548 /*putslot*/
17549 melt_assertmsg("checkobj putslot _ @SCAM_BODY", melt_magic_discr((melt_ptr_t)(/*_.INST__V64*/ meltfptr[56])) == MELTOBMAG_OBJECT);
17550 melt_putfield_object((/*_.INST__V64*/ meltfptr[56]), (3), (/*_.CURBODY__V62*/ meltfptr[55]), "SCAM_BODY");
17552 /*^touchobj*/
17554 melt_dbgtrace_written_object (/*_.INST__V64*/ meltfptr[56], "newly made instance");
17556 /*_.CURCASE__V63*/
17557 meltfptr[54] = /*_.INST__V64*/ meltfptr[56];;
17559 #if MELT_HAVE_DEBUG
17560 MELT_LOCATION("warmelt-macro.melt:6919:/ cppif.then");
17561 /*^block*/
17562 /*anyblock*/
17567 /*^locexp*/
17568 /*melt_increment_dbgcounter*/
17569 #if MELT_HAVE_DEBUG
17570 melt_dbgcounter++;
17571 #endif
17576 MELT_CHECK_SIGNAL();
17578 /*_#MELT_NEED_DBG__L19*/
17579 meltfnum[17] =
17580 /*MELT_NEED_DBG*/
17581 #if MELT_HAVE_DEBUG
17582 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
17583 #else
17584 0 /* no melt_need_dbg */
17585 #endif /*MELT_HAVE_DEBUG*/
17587 MELT_LOCATION("warmelt-macro.melt:6919:/ cond");
17588 /*cond*/
17589 if (/*_#MELT_NEED_DBG__L19*/ meltfnum[17]) /*then*/
17591 /*^cond.then*/
17592 /*^block*/
17593 /*anyblock*/
17596 /*_#MELT_CALLCOUNT__L20*/ meltfnum[7] =
17597 /* for melt_callcount */
17598 #if MELT_HAVE_DEBUG && defined (meltcallcount)
17599 meltcallcount /* melt_callcount debugging */
17600 #else
17601 0L /* melt_callcount without debug */
17602 #endif /* MELT_HAVE_DEBUG melt_callcount */
17605 MELT_CHECK_SIGNAL();
17607 MELT_LOCATION("warmelt-macro.melt:6919:/ apply");
17608 /*apply*/
17610 union meltparam_un argtab[5];
17611 memset(&argtab, 0, sizeof(argtab));
17612 /*^apply.arg*/
17613 argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L20*/ meltfnum[7];
17614 /*^apply.arg*/
17615 argtab[1].meltbp_cstring = "warmelt-macro.melt";
17616 /*^apply.arg*/
17617 argtab[2].meltbp_long = 6919;
17618 /*^apply.arg*/
17619 argtab[3].meltbp_cstring = "mexpand_matchalt curcase";
17620 /*^apply.arg*/
17621 argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.CURCASE__V63*/ meltfptr[54];
17622 /*_.MELT_DEBUG_FUN__V66*/
17623 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);
17626 /*_._IF___V65*/
17627 meltfptr[64] = /*_.MELT_DEBUG_FUN__V66*/ meltfptr[65];;
17628 /*epilog*/
17630 MELT_LOCATION("warmelt-macro.melt:6919:/ clear");
17631 /*clear*/ /*_#MELT_CALLCOUNT__L20*/
17632 meltfnum[7] = 0 ;
17633 /*^clear*/
17634 /*clear*/ /*_.MELT_DEBUG_FUN__V66*/
17635 meltfptr[65] = 0 ;
17639 else /*^cond.else*/
17642 /*_._IF___V65*/ meltfptr[64] = /*reallynil*/ NULL ;;
17647 MELT_LOCATION("warmelt-macro.melt:6919:/ locexp");
17648 /*void*/
17649 (void)0;
17652 /*^quasiblock*/
17655 /*epilog*/
17657 /*^clear*/
17658 /*clear*/ /*_#MELT_NEED_DBG__L19*/
17659 meltfnum[17] = 0 ;
17660 /*^clear*/
17661 /*clear*/ /*_._IF___V65*/
17662 meltfptr[64] = 0 ;
17665 #else /*MELT_HAVE_DEBUG*/
17666 /*^cppif.else*/
17667 /*^block*/
17668 /*anyblock*/
17673 /*^locexp*/
17674 /*void*/(void)0;
17677 /*epilog*/
17680 #endif /*MELT_HAVE_DEBUG*/
17684 MELT_LOCATION("warmelt-macro.melt:6920:/ locexp");
17685 meltgc_prepend_list((melt_ptr_t)(/*_.CASELIST__V37*/ meltfptr[33]), (melt_ptr_t)(/*_.CURCASE__V63*/ meltfptr[54]));
17689 MELT_LOCATION("warmelt-macro.melt:6899:/ clear");
17690 /*clear*/ /*_.CURMATCHCONT__V45*/
17691 meltfptr[43] = 0 ;
17692 /*^clear*/
17693 /*clear*/ /*_.CURMATCHLOC__V46*/
17694 meltfptr[42] = 0 ;
17695 /*^clear*/
17696 /*clear*/ /*_.LIST_FIRST__V47*/
17697 meltfptr[46] = 0 ;
17698 /*^clear*/
17699 /*clear*/ /*_.CURMATCHPATX__V48*/
17700 meltfptr[47] = 0 ;
17701 /*^clear*/
17702 /*clear*/ /*_.LIST_FIRST__V49*/
17703 meltfptr[48] = 0 ;
17704 /*^clear*/
17705 /*clear*/ /*_.CURMATCHRESTPAIRS__V50*/
17706 meltfptr[49] = 0 ;
17707 /*^clear*/
17708 /*clear*/ /*_.MAKE_MAPOBJECT__V51*/
17709 meltfptr[50] = 0 ;
17710 /*^clear*/
17711 /*clear*/ /*_.CURPATCTX__V52*/
17712 meltfptr[51] = 0 ;
17713 /*^clear*/
17714 /*clear*/ /*_.LET___V54*/
17715 meltfptr[53] = 0 ;
17716 /*^clear*/
17717 /*clear*/ /*_.CURPAT__V61*/
17718 meltfptr[59] = 0 ;
17719 /*^clear*/
17720 /*clear*/ /*_.CURBODY__V62*/
17721 meltfptr[55] = 0 ;
17722 /*^clear*/
17723 /*clear*/ /*_.CURCASE__V63*/
17724 meltfptr[54] = 0 ;
17725 /*epilog*/
17729 else
17731 MELT_LOCATION("warmelt-macro.melt:6898:/ cond.else");
17733 /*^block*/
17734 /*anyblock*/
17739 MELT_LOCATION("warmelt-macro.melt:6924:/ locexp");
17740 /* error_plain */
17741 melt_error_str((melt_ptr_t)(/*_.LOC__V21*/ meltfptr[20]), ( "(MATCHALT <expr> <match-case>...) with non sexpr matchcase"), (melt_ptr_t)0);
17744 MELT_LOCATION("warmelt-macro.melt:6923:/ quasiblock");
17747 /*epilog*/
17753 MELT_LOCATION("warmelt-macro.melt:6894:/ clear");
17754 /*clear*/ /*_.CURMATCH__V42*/
17755 meltfptr[41] = 0 ;
17756 /*^clear*/
17757 /*clear*/ /*_#IS_A__L16*/
17758 meltfnum[14] = 0 ;
17759 /*_#miI__L21*/
17760 meltfnum[7] =
17761 ((/*_#IX__L10*/ meltfnum[8]) - (1));;
17762 MELT_LOCATION("warmelt-macro.melt:6926:/ compute");
17763 /*_#IX__L10*/
17764 meltfnum[8] = /*_#SETQ___L22*/ meltfnum[17] = /*_#miI__L21*/ meltfnum[7];;
17766 MELT_CHECK_SIGNAL();
17768 /*epilog*/
17770 MELT_LOCATION("warmelt-macro.melt:6892:/ clear");
17771 /*clear*/ /*_#ltI__L13*/
17772 meltfnum[11] = 0 ;
17773 /*^clear*/
17774 /*clear*/ /*_#miI__L21*/
17775 meltfnum[7] = 0 ;
17776 /*^clear*/
17777 /*clear*/ /*_#SETQ___L22*/
17778 meltfnum[17] = 0 ;
17782 goto meltlabloop_MATCHLOOP_2;
17783 meltlabexit_MATCHLOOP_2:;/*^loopepilog*/
17784 /*loopepilog*/
17785 /*_.FOREVER___V40*/
17786 meltfptr[38] = /*_.MATCHLOOP__V41*/ meltfptr[32];;
17790 #if MELT_HAVE_DEBUG
17791 MELT_LOCATION("warmelt-macro.melt:6927:/ cppif.then");
17792 /*^block*/
17793 /*anyblock*/
17798 /*^locexp*/
17799 /*melt_increment_dbgcounter*/
17800 #if MELT_HAVE_DEBUG
17801 melt_dbgcounter++;
17802 #endif
17807 MELT_CHECK_SIGNAL();
17809 /*_#MELT_NEED_DBG__L23*/
17810 meltfnum[14] =
17811 /*MELT_NEED_DBG*/
17812 #if MELT_HAVE_DEBUG
17813 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
17814 #else
17815 0 /* no melt_need_dbg */
17816 #endif /*MELT_HAVE_DEBUG*/
17818 MELT_LOCATION("warmelt-macro.melt:6927:/ cond");
17819 /*cond*/
17820 if (/*_#MELT_NEED_DBG__L23*/ meltfnum[14]) /*then*/
17822 /*^cond.then*/
17823 /*^block*/
17824 /*anyblock*/
17827 /*_#MELT_CALLCOUNT__L24*/ meltfnum[11] =
17828 /* for melt_callcount */
17829 #if MELT_HAVE_DEBUG && defined (meltcallcount)
17830 meltcallcount /* melt_callcount debugging */
17831 #else
17832 0L /* melt_callcount without debug */
17833 #endif /* MELT_HAVE_DEBUG melt_callcount */
17836 MELT_CHECK_SIGNAL();
17838 MELT_LOCATION("warmelt-macro.melt:6927:/ apply");
17839 /*apply*/
17841 union meltparam_un argtab[5];
17842 memset(&argtab, 0, sizeof(argtab));
17843 /*^apply.arg*/
17844 argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L24*/ meltfnum[11];
17845 /*^apply.arg*/
17846 argtab[1].meltbp_cstring = "warmelt-macro.melt";
17847 /*^apply.arg*/
17848 argtab[2].meltbp_long = 6927;
17849 /*^apply.arg*/
17850 argtab[3].meltbp_cstring = "mexpand_matchalt caselist";
17851 /*^apply.arg*/
17852 argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.CASELIST__V37*/ meltfptr[33];
17853 /*_.MELT_DEBUG_FUN__V68*/
17854 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);
17857 /*_._IF___V67*/
17858 meltfptr[65] = /*_.MELT_DEBUG_FUN__V68*/ meltfptr[64];;
17859 /*epilog*/
17861 MELT_LOCATION("warmelt-macro.melt:6927:/ clear");
17862 /*clear*/ /*_#MELT_CALLCOUNT__L24*/
17863 meltfnum[11] = 0 ;
17864 /*^clear*/
17865 /*clear*/ /*_.MELT_DEBUG_FUN__V68*/
17866 meltfptr[64] = 0 ;
17870 else /*^cond.else*/
17873 /*_._IF___V67*/ meltfptr[65] = /*reallynil*/ NULL ;;
17878 MELT_LOCATION("warmelt-macro.melt:6927:/ locexp");
17879 /*void*/
17880 (void)0;
17883 /*^quasiblock*/
17886 /*epilog*/
17888 /*^clear*/
17889 /*clear*/ /*_#MELT_NEED_DBG__L23*/
17890 meltfnum[14] = 0 ;
17891 /*^clear*/
17892 /*clear*/ /*_._IF___V67*/
17893 meltfptr[65] = 0 ;
17896 #else /*MELT_HAVE_DEBUG*/
17897 /*^cppif.else*/
17898 /*^block*/
17899 /*anyblock*/
17904 /*^locexp*/
17905 /*void*/(void)0;
17908 /*epilog*/
17911 #endif /*MELT_HAVE_DEBUG*/
17913 MELT_LOCATION("warmelt-macro.melt:6928:/ quasiblock");
17917 MELT_CHECK_SIGNAL();
17919 MELT_LOCATION("warmelt-macro.melt:6929:/ apply");
17920 /*apply*/
17922 union meltparam_un argtab[1];
17923 memset(&argtab, 0, sizeof(argtab));
17924 /*^apply.arg*/
17925 argtab[0].meltbp_aptr = (melt_ptr_t*) &(/*!DISCR_MULTIPLE*/ meltfrout->tabval[6]);
17926 /*_.CASETUPL__V70*/
17927 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);
17930 /*_.LASTCASE__V71*/
17931 meltfptr[46] =
17932 (melt_multiple_nth((melt_ptr_t)(/*_.CASETUPL__V70*/ meltfptr[42]), (-1)));;
17934 MELT_CHECK_SIGNAL();
17936 MELT_LOCATION("warmelt-macro.melt:6931:/ quasiblock");
17939 /*^rawallocobj*/
17940 /*rawallocobj*/
17942 melt_ptr_t newobj = 0;
17943 melt_raw_object_create(newobj,(melt_ptr_t)((/*!CLASS_SOURCE_MATCHALT*/ meltfrout->tabval[16])), (4), "CLASS_SOURCE_MATCHALT");
17944 /*_.INST__V73*/
17945 meltfptr[48] =
17946 newobj;
17949 /*^putslot*/
17950 /*putslot*/
17951 melt_assertmsg("checkobj putslot _ @LOCA_LOCATION", melt_magic_discr((melt_ptr_t)(/*_.INST__V73*/ meltfptr[48])) == MELTOBMAG_OBJECT);
17952 melt_putfield_object((/*_.INST__V73*/ meltfptr[48]), (1), (/*_.LOC__V21*/ meltfptr[20]), "LOCA_LOCATION");
17954 /*^putslot*/
17955 /*putslot*/
17956 melt_assertmsg("checkobj putslot _ @SMAT_MATCHEDX", melt_magic_discr((melt_ptr_t)(/*_.INST__V73*/ meltfptr[48])) == MELTOBMAG_OBJECT);
17957 melt_putfield_object((/*_.INST__V73*/ meltfptr[48]), (2), (/*_.MATSX__V25*/ meltfptr[24]), "SMAT_MATCHEDX");
17959 /*^putslot*/
17960 /*putslot*/
17961 melt_assertmsg("checkobj putslot _ @SMAT_CASES", melt_magic_discr((melt_ptr_t)(/*_.INST__V73*/ meltfptr[48])) == MELTOBMAG_OBJECT);
17962 melt_putfield_object((/*_.INST__V73*/ meltfptr[48]), (3), (/*_.CASETUPL__V70*/ meltfptr[42]), "SMAT_CASES");
17964 /*^touchobj*/
17966 melt_dbgtrace_written_object (/*_.INST__V73*/ meltfptr[48], "newly made instance");
17968 /*_.SMAT__V72*/
17969 meltfptr[47] = /*_.INST__V73*/ meltfptr[48];;
17971 MELT_CHECK_SIGNAL();
17973 MELT_LOCATION("warmelt-macro.melt:6939:/ cond");
17974 /*cond*/
17975 if (
17976 /*ifisa*/ melt_is_instance_of((melt_ptr_t)(/*_.LASTCASE__V71*/ meltfptr[46]),
17977 (melt_ptr_t)((/*!CLASS_SOURCE_MATCH_CASE*/ meltfrout->tabval[14])))
17978 ) /*then*/
17980 /*^cond.then*/
17981 /*^getslot*/
17983 melt_ptr_t slot=NULL, obj=NULL;
17984 obj = (melt_ptr_t)(/*_.LASTCASE__V71*/ meltfptr[46]) /*=obj*/;
17985 melt_object_get_field(slot,obj, 2, "SCAM_PATT");
17986 /*_.SCAM_PATT__V74*/
17987 meltfptr[49] = slot;
17991 else /*^cond.else*/
17994 /*_.SCAM_PATT__V74*/ meltfptr[49] = /*reallynil*/ NULL ;;
17997 /*^compute*/
17998 /*_#IS_NOT_A__L25*/
17999 meltfnum[7] =
18000 !melt_is_instance_of((melt_ptr_t)(/*_.SCAM_PATT__V74*/ meltfptr[49]), (melt_ptr_t)((/*!CLASS_SOURCE_PATTERN_JOKER_VARIABLE*/ meltfrout->tabval[17])));;
18001 MELT_LOCATION("warmelt-macro.melt:6938:/ cond");
18002 /*cond*/
18003 if (/*_#IS_NOT_A__L25*/ meltfnum[7]) /*then*/
18005 /*^cond.then*/
18006 /*^block*/
18007 /*anyblock*/
18012 MELT_LOCATION("warmelt-macro.melt:6941:/ locexp");
18013 melt_inform_str((melt_ptr_t)(/*_.LOC__V21*/ meltfptr[20]), ( "last (MATCHALT ...) clause is not a joker"), (melt_ptr_t)0);
18016 /*epilog*/
18019 } /*noelse*/
18022 #if MELT_HAVE_DEBUG
18023 MELT_LOCATION("warmelt-macro.melt:6943:/ cppif.then");
18024 /*^block*/
18025 /*anyblock*/
18030 /*^locexp*/
18031 /*melt_increment_dbgcounter*/
18032 #if MELT_HAVE_DEBUG
18033 melt_dbgcounter++;
18034 #endif
18039 MELT_CHECK_SIGNAL();
18041 /*_#MELT_NEED_DBG__L26*/
18042 meltfnum[17] =
18043 /*MELT_NEED_DBG*/
18044 #if MELT_HAVE_DEBUG
18045 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
18046 #else
18047 0 /* no melt_need_dbg */
18048 #endif /*MELT_HAVE_DEBUG*/
18050 MELT_LOCATION("warmelt-macro.melt:6943:/ cond");
18051 /*cond*/
18052 if (/*_#MELT_NEED_DBG__L26*/ meltfnum[17]) /*then*/
18054 /*^cond.then*/
18055 /*^block*/
18056 /*anyblock*/
18059 /*_#MELT_CALLCOUNT__L27*/ meltfnum[11] =
18060 /* for melt_callcount */
18061 #if MELT_HAVE_DEBUG && defined (meltcallcount)
18062 meltcallcount /* melt_callcount debugging */
18063 #else
18064 0L /* melt_callcount without debug */
18065 #endif /* MELT_HAVE_DEBUG melt_callcount */
18068 MELT_CHECK_SIGNAL();
18070 MELT_LOCATION("warmelt-macro.melt:6943:/ apply");
18071 /*apply*/
18073 union meltparam_un argtab[5];
18074 memset(&argtab, 0, sizeof(argtab));
18075 /*^apply.arg*/
18076 argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L27*/ meltfnum[11];
18077 /*^apply.arg*/
18078 argtab[1].meltbp_cstring = "warmelt-macro.melt";
18079 /*^apply.arg*/
18080 argtab[2].meltbp_long = 6943;
18081 /*^apply.arg*/
18082 argtab[3].meltbp_cstring = "mexpand_matchalt result smat";
18083 /*^apply.arg*/
18084 argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.SMAT__V72*/ meltfptr[47];
18085 /*_.MELT_DEBUG_FUN__V76*/
18086 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);
18089 /*_._IF___V75*/
18090 meltfptr[50] = /*_.MELT_DEBUG_FUN__V76*/ meltfptr[51];;
18091 /*epilog*/
18093 MELT_LOCATION("warmelt-macro.melt:6943:/ clear");
18094 /*clear*/ /*_#MELT_CALLCOUNT__L27*/
18095 meltfnum[11] = 0 ;
18096 /*^clear*/
18097 /*clear*/ /*_.MELT_DEBUG_FUN__V76*/
18098 meltfptr[51] = 0 ;
18102 else /*^cond.else*/
18105 /*_._IF___V75*/ meltfptr[50] = /*reallynil*/ NULL ;;
18110 MELT_LOCATION("warmelt-macro.melt:6943:/ locexp");
18111 /*void*/
18112 (void)0;
18115 /*^quasiblock*/
18118 /*epilog*/
18120 /*^clear*/
18121 /*clear*/ /*_#MELT_NEED_DBG__L26*/
18122 meltfnum[17] = 0 ;
18123 /*^clear*/
18124 /*clear*/ /*_._IF___V75*/
18125 meltfptr[50] = 0 ;
18128 #else /*MELT_HAVE_DEBUG*/
18129 /*^cppif.else*/
18130 /*^block*/
18131 /*anyblock*/
18136 /*^locexp*/
18137 /*void*/(void)0;
18140 /*epilog*/
18143 #endif /*MELT_HAVE_DEBUG*/
18146 MELT_CHECK_SIGNAL();
18148 MELT_LOCATION("warmelt-macro.melt:6944:/ quasiblock");
18151 /*_._RETVAL___V1*/
18152 meltfptr[0] = /*_.SMAT__V72*/ meltfptr[47];;
18155 MELT_LOCATION("warmelt-macro.melt:6944:/ locexp");
18156 /*ochecknores compilobj_nrep_return*/
18157 #if MELT_HAVE_DEBUG
18158 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
18159 melt_warn_for_no_expected_secondary_results();
18160 /* we warned when secondary results are expected but not returned. */
18161 #endif /*MELT_HAVE_DEBUG*/
18165 /*^finalreturn*/
18167 /*finalret*/
18168 goto meltlabend_rout ;
18169 /*_.LET___V69*/
18170 meltfptr[43] = /*_.RETURN___V77*/ meltfptr[53];;
18172 MELT_LOCATION("warmelt-macro.melt:6928:/ clear");
18173 /*clear*/ /*_.CASETUPL__V70*/
18174 meltfptr[42] = 0 ;
18175 /*^clear*/
18176 /*clear*/ /*_.LASTCASE__V71*/
18177 meltfptr[46] = 0 ;
18178 /*^clear*/
18179 /*clear*/ /*_.SMAT__V72*/
18180 meltfptr[47] = 0 ;
18181 /*^clear*/
18182 /*clear*/ /*_.SCAM_PATT__V74*/
18183 meltfptr[49] = 0 ;
18184 /*^clear*/
18185 /*clear*/ /*_#IS_NOT_A__L25*/
18186 meltfnum[7] = 0 ;
18187 /*^clear*/
18188 /*clear*/ /*_.RETURN___V77*/
18189 meltfptr[53] = 0 ;
18190 /*_.LET___V19*/
18191 meltfptr[5] = /*_.LET___V69*/ meltfptr[43];;
18193 MELT_LOCATION("warmelt-macro.melt:6871:/ clear");
18194 /*clear*/ /*_.CONT__V20*/
18195 meltfptr[19] = 0 ;
18196 /*^clear*/
18197 /*clear*/ /*_.LOC__V21*/
18198 meltfptr[20] = 0 ;
18199 /*^clear*/
18200 /*clear*/ /*_.LIST_FIRST__V22*/
18201 meltfptr[21] = 0 ;
18202 /*^clear*/
18203 /*clear*/ /*_.PAIR_TAIL__V23*/
18204 meltfptr[22] = 0 ;
18205 /*^clear*/
18206 /*clear*/ /*_.MSEXP__V24*/
18207 meltfptr[23] = 0 ;
18208 /*^clear*/
18209 /*clear*/ /*_.MATSX__V25*/
18210 meltfptr[24] = 0 ;
18211 /*^clear*/
18212 /*clear*/ /*_.LIST_FIRST__V26*/
18213 meltfptr[25] = 0 ;
18214 /*^clear*/
18215 /*clear*/ /*_.PAIR_TAIL__V27*/
18216 meltfptr[26] = 0 ;
18217 /*^clear*/
18218 /*clear*/ /*_.PAIR_TAIL__V28*/
18219 meltfptr[27] = 0 ;
18220 /*^clear*/
18221 /*clear*/ /*_.LAMBDA___V29*/
18222 meltfptr[28] = 0 ;
18223 /*^clear*/
18224 /*clear*/ /*_.MEXPTUPLE__V31*/
18225 meltfptr[30] = 0 ;
18226 /*^clear*/
18227 /*clear*/ /*_#NBMATCH__L7*/
18228 meltfnum[1] = 0 ;
18229 /*^clear*/
18230 /*clear*/ /*_.LET___V32*/
18231 meltfptr[31] = 0 ;
18232 /*^clear*/
18233 /*clear*/ /*_.LASTMEXP__V36*/
18234 meltfptr[34] = 0 ;
18235 /*^clear*/
18236 /*clear*/ /*_#IX__L10*/
18237 meltfnum[8] = 0 ;
18238 /*^clear*/
18239 /*clear*/ /*_.CASELIST__V37*/
18240 meltfptr[33] = 0 ;
18241 /*^clear*/
18242 /*clear*/ /*_.FOREVER___V40*/
18243 meltfptr[38] = 0 ;
18244 /*^clear*/
18245 /*clear*/ /*_.LET___V69*/
18246 meltfptr[43] = 0 ;
18248 MELT_CHECK_SIGNAL();
18250 MELT_LOCATION("warmelt-macro.melt:6865:/ quasiblock");
18253 /*_._RETVAL___V1*/
18254 meltfptr[0] = /*_.LET___V19*/ meltfptr[5];;
18257 MELT_LOCATION("warmelt-macro.melt:6865:/ locexp");
18258 /*ochecknores compilobj_nrep_return*/
18259 #if MELT_HAVE_DEBUG
18260 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
18261 melt_warn_for_no_expected_secondary_results();
18262 /* we warned when secondary results are expected but not returned. */
18263 #endif /*MELT_HAVE_DEBUG*/
18267 /*^finalreturn*/
18269 /*finalret*/
18270 goto meltlabend_rout ;
18271 /*epilog*/
18273 /*^clear*/
18274 /*clear*/ /*_.IFCPP___V8*/
18275 meltfptr[6] = 0 ;
18276 /*^clear*/
18277 /*clear*/ /*_.IFCPP___V11*/
18278 meltfptr[9] = 0 ;
18279 /*^clear*/
18280 /*clear*/ /*_.IFCPP___V14*/
18281 meltfptr[12] = 0 ;
18282 /*^clear*/
18283 /*clear*/ /*_#NULL__L6*/
18284 meltfnum[0] = 0 ;
18285 /*^clear*/
18286 /*clear*/ /*_._IF___V17*/
18287 meltfptr[15] = 0 ;
18288 /*^clear*/
18289 /*clear*/ /*_.LET___V19*/
18290 meltfptr[5] = 0 ;
18294 goto meltlabend_rout;
18295 meltlabend_rout:
18296 melt_trace_end("MEXPAND_MATCHALT", meltcallcount);
18297 melt_blocklevel_signals = current_blocklevel_signals_meltrout_120_WARMELTmiMACRO_MEXPAND_MATCHALT_melt;
18298 return (melt_ptr_t)(/*_._RETVAL___V1*/ meltfptr[0]);
18299 #undef meltcallcount
18300 #undef meltfram__
18301 #undef MELTFRAM_NBVARNUM
18302 #undef MELTFRAM_NBVARPTR
18303 } /*end meltrout_120_WARMELTmiMACRO_MEXPAND_MATCHALT*/
18310 melt_ptr_t MELT_MODULE_VISIBILITY
18311 meltrout_121_WARMELTmiMACRO_LAMBDA_cl16(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_,
18312 const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_)
18314 long current_blocklevel_signals_meltrout_121_WARMELTmiMACRO_LAMBDA_cl16_melt = melt_blocklevel_signals;
18316 #if MELT_HAVE_DEBUG
18317 static long melt_call_counter__;
18318 long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__;
18319 #undef meltcallcount
18320 #define meltcallcount melt_thiscallcounter__
18321 #else
18322 #undef meltcallcount
18323 #define meltcallcount 0L
18324 #endif
18325 //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1538
18327 /* start of frame for routine meltrout_121_WARMELTmiMACRO_LAMBDA_cl16 fromline 1752 */
18329 /** start of frame for meltrout_121_WARMELTmiMACRO_LAMBDA_cl16 of CLASS_PROCROUTINEOBJ from 1555**/
18331 /*curframdeclclassy*/ class MeltFrame_meltrout_121_WARMELTmiMACRO_LAMBDA_cl16// fromline 1568
18332 : public Melt_CallFrameWithValues<2>
18334 public: /* fromline 1572*/
18335 long mcfr_varnum[1];
18336 /*classy others*/
18337 long _meltsparel;
18338 void melt_mark_stuff (void)
18340 } /*end melt_mark_stuff*/
18341 virtual void melt_mark_ggc_data (void)
18343 melt_mark_values ();
18344 melt_mark_stuff ();
18345 }; /*end melt_mark_ggc_data*/
18346 MeltFrame_meltrout_121_WARMELTmiMACRO_LAMBDA_cl16(meltclosure_ptr_t clos) //the closure constructor fromline 1630
18347 : Melt_CallFrameWithValues<2> (
18348 #if ENABLE_CHECKING /*fromline 1634*/
18349 __FILE__, __LINE__,
18350 #endif /* ENABLE_CHECKING fromline 1638*/
18351 sizeof(MeltFrame_meltrout_121_WARMELTmiMACRO_LAMBDA_cl16), clos) {};
18352 MeltFrame_meltrout_121_WARMELTmiMACRO_LAMBDA_cl16() //the constructor fromline 1642
18353 : Melt_CallFrameWithValues<2> (
18354 #if ENABLE_CHECKING /*fromline 1646*/
18355 __FILE__, __LINE__,
18356 #endif /* ENABLE_CHECKING fromline 1650*/
18357 sizeof(MeltFrame_meltrout_121_WARMELTmiMACRO_LAMBDA_cl16)) {};
18358 #if ENABLE_CHECKING /*fromline 1654*/
18359 MeltFrame_meltrout_121_WARMELTmiMACRO_LAMBDA_cl16(const char*fil, int lin) //the constructor fromline 1656
18360 : Melt_CallFrameWithValues<2> (fil,lin, sizeof(MeltFrame_meltrout_121_WARMELTmiMACRO_LAMBDA_cl16)) {};
18361 MeltFrame_meltrout_121_WARMELTmiMACRO_LAMBDA_cl16(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1661
18362 : Melt_CallFrameWithValues<2> (fil,lin, sizeof(MeltFrame_meltrout_121_WARMELTmiMACRO_LAMBDA_cl16), clos) {};
18363 #endif /* ENABLE_CHECKING fromline 1666*/
18365 }; // end class MeltFrame_meltrout_121_WARMELTmiMACRO_LAMBDA_cl16
18368 /** end of frame for meltrout_121_WARMELTmiMACRO_LAMBDA_cl16 fromline 1697**/
18370 /* end of frame for routine meltrout_121_WARMELTmiMACRO_LAMBDA_cl16 fromline 1756 */
18372 /* classy proc frame meltrout_121_WARMELTmiMACRO_LAMBDA_cl16 */
18373 MeltFrame_meltrout_121_WARMELTmiMACRO_LAMBDA_cl16
18374 meltfram__ /*declfrastruct fromline 1780*/
18375 /*classyprocarg meltrout_121_WARMELTmiMACRO_LAMBDA_cl16 fromline 1785*/
18376 #if ENABLE_CHECKING
18377 (__FILE__, __LINE__, meltclosp_) /* fromline 1789*/
18378 #else /*ENABLE_CHECKING */
18379 (meltclosp_) /* fromline 1793*/
18380 #endif /*ENABLE_CHECKING */
18383 #define meltframe meltfram__
18385 melt_trace_start("LAMBDA_cl16", meltcallcount);
18386 /*use arguments*/
18387 (void) meltclosp_;
18388 (void)meltfirstargp_;
18389 (void)meltxargdescr_;
18390 (void)meltxargtab_;
18391 (void)meltxresdescr_;
18392 (void)meltxrestab_;
18393 /*getargs*/
18395 /*getarg#0*/
18396 MELT_LOCATION("warmelt-macro.melt:6879:/ getarg");
18397 /*_.C__V2*/
18398 meltfptr[1] = (melt_ptr_t) meltfirstargp_;
18400 goto meltlab_endgetargs;
18401 meltlab_endgetargs:
18403 /*body*/
18404 /*^block*/
18405 /*anyblock*/
18409 MELT_CHECK_SIGNAL();
18411 /*_#IS_NOT_A__L1*/
18412 meltfnum[0] =
18413 !melt_is_instance_of((melt_ptr_t)(/*_.C__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_SEXPR*/ meltfrout->tabval[0])));;
18414 MELT_LOCATION("warmelt-macro.melt:6880:/ cond");
18415 /*cond*/
18416 if (/*_#IS_NOT_A__L1*/ meltfnum[0]) /*then*/
18418 /*^cond.then*/
18419 /*^block*/
18420 /*anyblock*/
18425 MELT_LOCATION("warmelt-macro.melt:6881:/ locexp");
18426 /* error_plain */
18427 melt_error_str((melt_ptr_t)((/*~LOC*/ meltfclos->tabval[0])), ( "MATCHALT with non-sexpr"), (melt_ptr_t)0);
18430 /*epilog*/
18433 } /*noelse*/
18436 MELT_CHECK_SIGNAL();
18438 MELT_LOCATION("warmelt-macro.melt:6879:/ quasiblock");
18441 /*_._RETVAL___V1*/
18442 meltfptr[0] = /*_.C__V2*/ meltfptr[1];;
18445 MELT_LOCATION("warmelt-macro.melt:6879:/ locexp");
18446 /*ochecknores compilobj_nrep_return*/
18447 #if MELT_HAVE_DEBUG
18448 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
18449 melt_warn_for_no_expected_secondary_results();
18450 /* we warned when secondary results are expected but not returned. */
18451 #endif /*MELT_HAVE_DEBUG*/
18455 /*^finalreturn*/
18457 /*finalret*/
18458 goto meltlabend_rout ;
18459 /*epilog*/
18461 /*^clear*/
18462 /*clear*/ /*_#IS_NOT_A__L1*/
18463 meltfnum[0] = 0 ;
18467 goto meltlabend_rout;
18468 meltlabend_rout:
18469 melt_trace_end("LAMBDA_cl16", meltcallcount);
18470 melt_blocklevel_signals = current_blocklevel_signals_meltrout_121_WARMELTmiMACRO_LAMBDA_cl16_melt;
18471 return (melt_ptr_t)(/*_._RETVAL___V1*/ meltfptr[0]);
18472 #undef meltcallcount
18473 #undef meltfram__
18474 #undef MELTFRAM_NBVARNUM
18475 #undef MELTFRAM_NBVARPTR
18476 } /*end meltrout_121_WARMELTmiMACRO_LAMBDA_cl16*/
18483 melt_ptr_t MELT_MODULE_VISIBILITY
18484 meltrout_122_WARMELTmiMACRO_MEXPAND_LETBINDING(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_,
18485 const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_)
18487 long current_blocklevel_signals_meltrout_122_WARMELTmiMACRO_MEXPAND_LETBINDING_melt = melt_blocklevel_signals;
18489 #if MELT_HAVE_DEBUG
18490 static long melt_call_counter__;
18491 long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__;
18492 #undef meltcallcount
18493 #define meltcallcount melt_thiscallcounter__
18494 #else
18495 #undef meltcallcount
18496 #define meltcallcount 0L
18497 #endif
18498 //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1538
18500 /* start of frame for routine meltrout_122_WARMELTmiMACRO_MEXPAND_LETBINDING fromline 1752 */
18502 /** start of frame for meltrout_122_WARMELTmiMACRO_MEXPAND_LETBINDING of CLASS_PROCROUTINEOBJ from 1555**/
18504 /*curframdeclclassy*/ class MeltFrame_meltrout_122_WARMELTmiMACRO_MEXPAND_LETBINDING// fromline 1568
18505 : public Melt_CallFrameWithValues<128>
18507 public: /* fromline 1572*/
18508 long mcfr_varnum[31];
18509 /*classy others*/
18510 long _meltsparel;
18511 void melt_mark_stuff (void)
18513 } /*end melt_mark_stuff*/
18514 virtual void melt_mark_ggc_data (void)
18516 melt_mark_values ();
18517 melt_mark_stuff ();
18518 }; /*end melt_mark_ggc_data*/
18519 MeltFrame_meltrout_122_WARMELTmiMACRO_MEXPAND_LETBINDING(meltclosure_ptr_t clos) //the closure constructor fromline 1630
18520 : Melt_CallFrameWithValues<128> (
18521 #if ENABLE_CHECKING /*fromline 1634*/
18522 __FILE__, __LINE__,
18523 #endif /* ENABLE_CHECKING fromline 1638*/
18524 sizeof(MeltFrame_meltrout_122_WARMELTmiMACRO_MEXPAND_LETBINDING), clos) {};
18525 MeltFrame_meltrout_122_WARMELTmiMACRO_MEXPAND_LETBINDING() //the constructor fromline 1642
18526 : Melt_CallFrameWithValues<128> (
18527 #if ENABLE_CHECKING /*fromline 1646*/
18528 __FILE__, __LINE__,
18529 #endif /* ENABLE_CHECKING fromline 1650*/
18530 sizeof(MeltFrame_meltrout_122_WARMELTmiMACRO_MEXPAND_LETBINDING)) {};
18531 #if ENABLE_CHECKING /*fromline 1654*/
18532 MeltFrame_meltrout_122_WARMELTmiMACRO_MEXPAND_LETBINDING(const char*fil, int lin) //the constructor fromline 1656
18533 : Melt_CallFrameWithValues<128> (fil,lin, sizeof(MeltFrame_meltrout_122_WARMELTmiMACRO_MEXPAND_LETBINDING)) {};
18534 MeltFrame_meltrout_122_WARMELTmiMACRO_MEXPAND_LETBINDING(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1661
18535 : Melt_CallFrameWithValues<128> (fil,lin, sizeof(MeltFrame_meltrout_122_WARMELTmiMACRO_MEXPAND_LETBINDING), clos) {};
18536 #endif /* ENABLE_CHECKING fromline 1666*/
18538 }; // end class MeltFrame_meltrout_122_WARMELTmiMACRO_MEXPAND_LETBINDING
18541 /** end of frame for meltrout_122_WARMELTmiMACRO_MEXPAND_LETBINDING fromline 1697**/
18543 /* end of frame for routine meltrout_122_WARMELTmiMACRO_MEXPAND_LETBINDING fromline 1756 */
18545 /* classy proc frame meltrout_122_WARMELTmiMACRO_MEXPAND_LETBINDING */
18546 MeltFrame_meltrout_122_WARMELTmiMACRO_MEXPAND_LETBINDING
18547 meltfram__ /*declfrastruct fromline 1780*/
18548 /*classyprocarg meltrout_122_WARMELTmiMACRO_MEXPAND_LETBINDING fromline 1785*/
18549 #if ENABLE_CHECKING
18550 (__FILE__, __LINE__, meltclosp_) /* fromline 1789*/
18551 #else /*ENABLE_CHECKING */
18552 (meltclosp_) /* fromline 1793*/
18553 #endif /*ENABLE_CHECKING */
18556 #define meltframe meltfram__
18558 melt_trace_start("MEXPAND_LETBINDING", meltcallcount);
18559 /*use arguments*/
18560 (void) meltclosp_;
18561 (void)meltfirstargp_;
18562 (void)meltxargdescr_;
18563 (void)meltxargtab_;
18564 (void)meltxresdescr_;
18565 (void)meltxrestab_;
18566 /*getargs*/
18568 /*getarg#0*/
18569 MELT_LOCATION("warmelt-macro.melt:6957:/ getarg");
18570 /*_.SEXPR__V2*/
18571 meltfptr[1] = (melt_ptr_t) meltfirstargp_;
18573 /*getarg#1*/
18574 /*^getarg*/
18575 if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_endgetargs;
18576 /*_.ENV__V3*/
18577 meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL;
18578 gcc_assert(melt_discr((melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2])) != NULL);
18581 /*getarg#2*/
18582 /*^getarg*/
18583 if (meltxargdescr_[1] != MELTBPAR_PTR) goto meltlab_endgetargs;
18584 /*_.MEXPANDER__V4*/
18585 meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL;
18586 gcc_assert(melt_discr((melt_ptr_t)(/*_.MEXPANDER__V4*/ meltfptr[3])) != NULL);
18589 /*getarg#3*/
18590 /*^getarg*/
18591 if (meltxargdescr_[2] != MELTBPAR_PTR) goto meltlab_endgetargs;
18592 /*_.MODCTX__V5*/
18593 meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL;
18594 gcc_assert(melt_discr((melt_ptr_t)(/*_.MODCTX__V5*/ meltfptr[4])) != NULL);
18597 goto meltlab_endgetargs;
18598 meltlab_endgetargs:
18600 /*body*/
18601 /*^block*/
18602 /*anyblock*/
18606 #if MELT_HAVE_DEBUG
18607 MELT_LOCATION("warmelt-macro.melt:6958:/ cppif.then");
18608 /*^block*/
18609 /*anyblock*/
18614 /*^locexp*/
18615 /*melt_increment_dbgcounter*/
18616 #if MELT_HAVE_DEBUG
18617 melt_dbgcounter++;
18618 #endif
18623 MELT_CHECK_SIGNAL();
18625 /*_#MELT_NEED_DBG__L1*/
18626 meltfnum[0] =
18627 /*MELT_NEED_DBG*/
18628 #if MELT_HAVE_DEBUG
18629 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
18630 #else
18631 0 /* no melt_need_dbg */
18632 #endif /*MELT_HAVE_DEBUG*/
18634 MELT_LOCATION("warmelt-macro.melt:6958:/ cond");
18635 /*cond*/
18636 if (/*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then*/
18638 /*^cond.then*/
18639 /*^block*/
18640 /*anyblock*/
18643 /*_#MELT_CALLCOUNT__L2*/ meltfnum[1] =
18644 /* for melt_callcount */
18645 #if MELT_HAVE_DEBUG && defined (meltcallcount)
18646 meltcallcount /* melt_callcount debugging */
18647 #else
18648 0L /* melt_callcount without debug */
18649 #endif /* MELT_HAVE_DEBUG melt_callcount */
18652 MELT_CHECK_SIGNAL();
18654 MELT_LOCATION("warmelt-macro.melt:6958:/ apply");
18655 /*apply*/
18657 union meltparam_un argtab[9];
18658 memset(&argtab, 0, sizeof(argtab));
18659 /*^apply.arg*/
18660 argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L2*/ meltfnum[1];
18661 /*^apply.arg*/
18662 argtab[1].meltbp_cstring = "warmelt-macro.melt";
18663 /*^apply.arg*/
18664 argtab[2].meltbp_long = 6958;
18665 /*^apply.arg*/
18666 argtab[3].meltbp_cstring = "mexpand_letbinding";
18667 /*^apply.arg*/
18668 argtab[4].meltbp_cstring = " sexpr=";
18669 /*^apply.arg*/
18670 argtab[5].meltbp_aptr = (melt_ptr_t*) &/*_.SEXPR__V2*/ meltfptr[1];
18671 /*^apply.arg*/
18672 argtab[6].meltbp_cstring = "\n.. env=";
18673 /*^apply.arg*/
18674 argtab[7].meltbp_aptr = (melt_ptr_t*) &(/*!DEBUG_LESS*/ meltfrout->tabval[1]);
18675 /*^apply.arg*/
18676 argtab[8].meltbp_aptr = (melt_ptr_t*) &/*_.ENV__V3*/ meltfptr[2];
18677 /*_.MELT_DEBUG_FUN__V7*/
18678 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_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
18681 /*_._IF___V6*/
18682 meltfptr[5] = /*_.MELT_DEBUG_FUN__V7*/ meltfptr[6];;
18683 /*epilog*/
18685 MELT_LOCATION("warmelt-macro.melt:6958:/ clear");
18686 /*clear*/ /*_#MELT_CALLCOUNT__L2*/
18687 meltfnum[1] = 0 ;
18688 /*^clear*/
18689 /*clear*/ /*_.MELT_DEBUG_FUN__V7*/
18690 meltfptr[6] = 0 ;
18694 else /*^cond.else*/
18697 /*_._IF___V6*/ meltfptr[5] = /*reallynil*/ NULL ;;
18702 MELT_LOCATION("warmelt-macro.melt:6958:/ locexp");
18703 /*void*/
18704 (void)0;
18707 /*^quasiblock*/
18710 /*epilog*/
18712 /*^clear*/
18713 /*clear*/ /*_#MELT_NEED_DBG__L1*/
18714 meltfnum[0] = 0 ;
18715 /*^clear*/
18716 /*clear*/ /*_._IF___V6*/
18717 meltfptr[5] = 0 ;
18720 #else /*MELT_HAVE_DEBUG*/
18721 /*^cppif.else*/
18722 /*^block*/
18723 /*anyblock*/
18728 /*^locexp*/
18729 /*void*/(void)0;
18732 /*epilog*/
18735 #endif /*MELT_HAVE_DEBUG*/
18739 MELT_LOCATION("warmelt-macro.melt:6959:/ locexp");
18741 #if MELT_HAVE_DEBUG
18742 if (melt_need_debug (0))
18743 melt_dbgshortbacktrace(( "mexpand_letbinding"), (7));
18744 #endif
18749 #if MELT_HAVE_DEBUG
18750 MELT_LOCATION("warmelt-macro.melt:6960:/ cppif.then");
18751 /*^block*/
18752 /*anyblock*/
18756 MELT_CHECK_SIGNAL();
18758 /*_#IS_A__L3*/
18759 meltfnum[1] =
18760 melt_is_instance_of((melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_SEXPR*/ meltfrout->tabval[2])));;
18761 MELT_LOCATION("warmelt-macro.melt:6960:/ cond");
18762 /*cond*/
18763 if (/*_#IS_A__L3*/ meltfnum[1]) /*then*/
18765 /*^cond.then*/
18766 /*_._IFELSE___V9*/ meltfptr[5] = (/*nil*/NULL);;
18768 else
18770 MELT_LOCATION("warmelt-macro.melt:6960:/ cond.else");
18772 /*^block*/
18773 /*anyblock*/
18777 MELT_CHECK_SIGNAL();
18779 /*^apply*/
18780 /*apply*/
18782 union meltparam_un argtab[4];
18783 memset(&argtab, 0, sizeof(argtab));
18784 /*^apply.arg*/
18785 argtab[0].meltbp_cstring = "check sexpr";
18786 /*^apply.arg*/
18787 argtab[1].meltbp_cstring = "warmelt-macro.melt";
18788 /*^apply.arg*/
18789 argtab[2].meltbp_long = 6960;
18790 /*^apply.arg*/
18791 argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.SEXPR__V2*/ meltfptr[1];
18792 /*_.MELT_ASSERT_FAILURE_FUN__V10*/
18793 meltfptr[9] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[3])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
18796 /*_._IFELSE___V9*/
18797 meltfptr[5] = /*_.MELT_ASSERT_FAILURE_FUN__V10*/ meltfptr[9];;
18798 /*epilog*/
18800 MELT_LOCATION("warmelt-macro.melt:6960:/ clear");
18801 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V10*/
18802 meltfptr[9] = 0 ;
18807 /*_.IFCPP___V8*/
18808 meltfptr[6] = /*_._IFELSE___V9*/ meltfptr[5];;
18809 /*epilog*/
18811 MELT_LOCATION("warmelt-macro.melt:6960:/ clear");
18812 /*clear*/ /*_#IS_A__L3*/
18813 meltfnum[1] = 0 ;
18814 /*^clear*/
18815 /*clear*/ /*_._IFELSE___V9*/
18816 meltfptr[5] = 0 ;
18819 #else /*MELT_HAVE_DEBUG*/
18820 /*^cppif.else*/
18821 /*_.IFCPP___V8*/ meltfptr[6] = (/*nil*/NULL);
18822 #endif /*MELT_HAVE_DEBUG*/
18825 #if MELT_HAVE_DEBUG
18826 MELT_LOCATION("warmelt-macro.melt:6961:/ cppif.then");
18827 /*^block*/
18828 /*anyblock*/
18832 MELT_CHECK_SIGNAL();
18834 /*_#IS_A__L4*/
18835 meltfnum[0] =
18836 melt_is_instance_of((melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2]), (melt_ptr_t)((/*!CLASS_ENVIRONMENT*/ meltfrout->tabval[4])));;
18837 MELT_LOCATION("warmelt-macro.melt:6961:/ cond");
18838 /*cond*/
18839 if (/*_#IS_A__L4*/ meltfnum[0]) /*then*/
18841 /*^cond.then*/
18842 /*_._IFELSE___V12*/ meltfptr[5] = (/*nil*/NULL);;
18844 else
18846 MELT_LOCATION("warmelt-macro.melt:6961:/ cond.else");
18848 /*^block*/
18849 /*anyblock*/
18853 MELT_CHECK_SIGNAL();
18855 /*^apply*/
18856 /*apply*/
18858 union meltparam_un argtab[4];
18859 memset(&argtab, 0, sizeof(argtab));
18860 /*^apply.arg*/
18861 argtab[0].meltbp_cstring = "check env";
18862 /*^apply.arg*/
18863 argtab[1].meltbp_cstring = "warmelt-macro.melt";
18864 /*^apply.arg*/
18865 argtab[2].meltbp_long = 6961;
18866 /*^apply.arg*/
18867 argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.ENV__V3*/ meltfptr[2];
18868 /*_.MELT_ASSERT_FAILURE_FUN__V13*/
18869 meltfptr[12] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[3])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
18872 /*_._IFELSE___V12*/
18873 meltfptr[5] = /*_.MELT_ASSERT_FAILURE_FUN__V13*/ meltfptr[12];;
18874 /*epilog*/
18876 MELT_LOCATION("warmelt-macro.melt:6961:/ clear");
18877 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V13*/
18878 meltfptr[12] = 0 ;
18883 /*_.IFCPP___V11*/
18884 meltfptr[9] = /*_._IFELSE___V12*/ meltfptr[5];;
18885 /*epilog*/
18887 MELT_LOCATION("warmelt-macro.melt:6961:/ clear");
18888 /*clear*/ /*_#IS_A__L4*/
18889 meltfnum[0] = 0 ;
18890 /*^clear*/
18891 /*clear*/ /*_._IFELSE___V12*/
18892 meltfptr[5] = 0 ;
18895 #else /*MELT_HAVE_DEBUG*/
18896 /*^cppif.else*/
18897 /*_.IFCPP___V11*/ meltfptr[9] = (/*nil*/NULL);
18898 #endif /*MELT_HAVE_DEBUG*/
18901 #if MELT_HAVE_DEBUG
18902 MELT_LOCATION("warmelt-macro.melt:6962:/ cppif.then");
18903 /*^block*/
18904 /*anyblock*/
18908 MELT_CHECK_SIGNAL();
18910 /*_#IS_CLOSURE__L5*/
18911 meltfnum[1] =
18912 (melt_magic_discr((melt_ptr_t)(/*_.MEXPANDER__V4*/ meltfptr[3])) == MELTOBMAG_CLOSURE);;
18913 MELT_LOCATION("warmelt-macro.melt:6962:/ cond");
18914 /*cond*/
18915 if (/*_#IS_CLOSURE__L5*/ meltfnum[1]) /*then*/
18917 /*^cond.then*/
18918 /*_._IFELSE___V15*/ meltfptr[5] = (/*nil*/NULL);;
18920 else
18922 MELT_LOCATION("warmelt-macro.melt:6962:/ cond.else");
18924 /*^block*/
18925 /*anyblock*/
18929 MELT_CHECK_SIGNAL();
18931 /*^apply*/
18932 /*apply*/
18934 union meltparam_un argtab[4];
18935 memset(&argtab, 0, sizeof(argtab));
18936 /*^apply.arg*/
18937 argtab[0].meltbp_cstring = "check mexpander";
18938 /*^apply.arg*/
18939 argtab[1].meltbp_cstring = "warmelt-macro.melt";
18940 /*^apply.arg*/
18941 argtab[2].meltbp_long = 6962;
18942 /*^apply.arg*/
18943 argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.MEXPANDER__V4*/ meltfptr[3];
18944 /*_.MELT_ASSERT_FAILURE_FUN__V16*/
18945 meltfptr[15] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[3])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
18948 /*_._IFELSE___V15*/
18949 meltfptr[5] = /*_.MELT_ASSERT_FAILURE_FUN__V16*/ meltfptr[15];;
18950 /*epilog*/
18952 MELT_LOCATION("warmelt-macro.melt:6962:/ clear");
18953 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V16*/
18954 meltfptr[15] = 0 ;
18959 /*_.IFCPP___V14*/
18960 meltfptr[12] = /*_._IFELSE___V15*/ meltfptr[5];;
18961 /*epilog*/
18963 MELT_LOCATION("warmelt-macro.melt:6962:/ clear");
18964 /*clear*/ /*_#IS_CLOSURE__L5*/
18965 meltfnum[1] = 0 ;
18966 /*^clear*/
18967 /*clear*/ /*_._IFELSE___V15*/
18968 meltfptr[5] = 0 ;
18971 #else /*MELT_HAVE_DEBUG*/
18972 /*^cppif.else*/
18973 /*_.IFCPP___V14*/ meltfptr[12] = (/*nil*/NULL);
18974 #endif /*MELT_HAVE_DEBUG*/
18977 #if MELT_HAVE_DEBUG
18978 MELT_LOCATION("warmelt-macro.melt:6963:/ cppif.then");
18979 /*^block*/
18980 /*anyblock*/
18984 MELT_CHECK_SIGNAL();
18986 /*_#IS_OBJECT__L6*/
18987 meltfnum[0] =
18988 (melt_magic_discr((melt_ptr_t)(/*_.MODCTX__V5*/ meltfptr[4])) == MELTOBMAG_OBJECT);;
18989 MELT_LOCATION("warmelt-macro.melt:6963:/ cond");
18990 /*cond*/
18991 if (/*_#IS_OBJECT__L6*/ meltfnum[0]) /*then*/
18993 /*^cond.then*/
18994 /*_._IFELSE___V18*/ meltfptr[5] = (/*nil*/NULL);;
18996 else
18998 MELT_LOCATION("warmelt-macro.melt:6963:/ cond.else");
19000 /*^block*/
19001 /*anyblock*/
19005 MELT_CHECK_SIGNAL();
19007 /*^apply*/
19008 /*apply*/
19010 union meltparam_un argtab[4];
19011 memset(&argtab, 0, sizeof(argtab));
19012 /*^apply.arg*/
19013 argtab[0].meltbp_cstring = "check modctx";
19014 /*^apply.arg*/
19015 argtab[1].meltbp_cstring = "warmelt-macro.melt";
19016 /*^apply.arg*/
19017 argtab[2].meltbp_long = 6963;
19018 /*^apply.arg*/
19019 argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.MODCTX__V5*/ meltfptr[4];
19020 /*_.MELT_ASSERT_FAILURE_FUN__V19*/
19021 meltfptr[18] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[3])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
19024 /*_._IFELSE___V18*/
19025 meltfptr[5] = /*_.MELT_ASSERT_FAILURE_FUN__V19*/ meltfptr[18];;
19026 /*epilog*/
19028 MELT_LOCATION("warmelt-macro.melt:6963:/ clear");
19029 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V19*/
19030 meltfptr[18] = 0 ;
19035 /*_.IFCPP___V17*/
19036 meltfptr[15] = /*_._IFELSE___V18*/ meltfptr[5];;
19037 /*epilog*/
19039 MELT_LOCATION("warmelt-macro.melt:6963:/ clear");
19040 /*clear*/ /*_#IS_OBJECT__L6*/
19041 meltfnum[0] = 0 ;
19042 /*^clear*/
19043 /*clear*/ /*_._IFELSE___V18*/
19044 meltfptr[5] = 0 ;
19047 #else /*MELT_HAVE_DEBUG*/
19048 /*^cppif.else*/
19049 /*_.IFCPP___V17*/ meltfptr[15] = (/*nil*/NULL);
19050 #endif /*MELT_HAVE_DEBUG*/
19052 MELT_LOCATION("warmelt-macro.melt:6964:/ quasiblock");
19055 MELT_LOCATION("warmelt-macro.melt:6965:/ getslot");
19057 melt_ptr_t slot=NULL, obj=NULL;
19058 obj = (melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/;
19059 melt_object_get_field(slot,obj, 2, "SEXP_CONTENTS");
19060 /*_.CONT__V21*/
19061 meltfptr[5] = slot;
19064 MELT_LOCATION("warmelt-macro.melt:6966:/ getslot");
19066 melt_ptr_t slot=NULL, obj=NULL;
19067 obj = (melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/;
19068 melt_object_get_field(slot,obj, 1, "LOCA_LOCATION");
19069 /*_.LOC__V22*/
19070 meltfptr[21] = slot;
19073 /*_.CTYP__V23*/
19074 meltfptr[22] = (/*!QUASI_CTYPE_AUTO*/ meltfrout->tabval[5]);;
19075 /*^compute*/
19076 /*_.VAR__V24*/
19077 meltfptr[23] = (/*nil*/NULL);;
19078 /*^compute*/
19079 /*_.EXPR__V25*/
19080 meltfptr[24] = (/*nil*/NULL);;
19081 /*^compute*/
19082 /*_.CURPAIR__V26*/
19083 meltfptr[25] =
19084 (melt_list_first((melt_ptr_t)(/*_.CONT__V21*/ meltfptr[5])));;
19085 /*^compute*/
19086 /*_.CURARG__V27*/
19087 meltfptr[26] = (/*nil*/NULL);;
19088 /*^compute*/
19089 /*_.PAIR_HEAD__V28*/
19090 meltfptr[27] =
19091 (melt_pair_head((melt_ptr_t)(/*_.CURPAIR__V26*/ meltfptr[25])));;
19092 MELT_LOCATION("warmelt-macro.melt:6973:/ compute");
19093 /*_.CURARG__V27*/
19094 meltfptr[26] = /*_.SETQ___V29*/ meltfptr[28] = /*_.PAIR_HEAD__V28*/ meltfptr[27];;
19096 MELT_CHECK_SIGNAL();
19098 /*_#IS_A__L7*/
19099 meltfnum[1] =
19100 melt_is_instance_of((melt_ptr_t)(/*_.CURARG__V27*/ meltfptr[26]), (melt_ptr_t)((/*!CLASS_KEYWORD*/ meltfrout->tabval[6])));;
19101 MELT_LOCATION("warmelt-macro.melt:6975:/ cond");
19102 /*cond*/
19103 if (/*_#IS_A__L7*/ meltfnum[1]) /*then*/
19105 /*^cond.then*/
19106 /*^block*/
19107 /*anyblock*/
19110 MELT_LOCATION("warmelt-macro.melt:6976:/ quasiblock");
19113 /*^getslot*/
19115 melt_ptr_t slot=NULL, obj=NULL;
19116 obj = (melt_ptr_t)(/*_.CURARG__V27*/ meltfptr[26]) /*=obj*/;
19117 melt_object_get_field(slot,obj, 2, "SYMB_DATA");
19118 /*_.CTY__V32*/
19119 meltfptr[31] = slot;
19122 MELT_LOCATION("warmelt-macro.melt:6977:/ getslot");
19124 melt_ptr_t slot=NULL, obj=NULL;
19125 obj = (melt_ptr_t)(/*_.CURARG__V27*/ meltfptr[26]) /*=obj*/;
19126 melt_object_get_field(slot,obj, 1, "NAMED_NAME");
19127 /*_.TYNAM__V33*/
19128 meltfptr[32] = slot;
19132 MELT_CHECK_SIGNAL();
19134 /*_#IS_NOT_A__L8*/
19135 meltfnum[0] =
19136 !melt_is_instance_of((melt_ptr_t)(/*_.CTY__V32*/ meltfptr[31]), (melt_ptr_t)((/*!CLASS_QUASI_CTYPE*/ meltfrout->tabval[7])));;
19137 MELT_LOCATION("warmelt-macro.melt:6980:/ cond");
19138 /*cond*/
19139 if (/*_#IS_NOT_A__L8*/ meltfnum[0]) /*then*/
19141 /*^cond.then*/
19142 /*^block*/
19143 /*anyblock*/
19147 MELT_CHECK_SIGNAL();
19149 MELT_LOCATION("warmelt-macro.melt:6981:/ apply");
19150 /*apply*/
19152 union meltparam_un argtab[2];
19153 memset(&argtab, 0, sizeof(argtab));
19154 /*^apply.arg*/
19155 argtab[0].meltbp_cstring = "letbinding with invalid type keyword $1";
19156 /*^apply.arg*/
19157 argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.TYNAM__V33*/ meltfptr[32];
19158 /*_.ERROR_AT__V35*/
19159 meltfptr[34] = melt_apply ((meltclosure_ptr_t)((/*!ERROR_AT*/ meltfrout->tabval[8])), (melt_ptr_t)(/*_.LOC__V22*/ meltfptr[21]), (MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
19162 /*_._IFELSE___V34*/
19163 meltfptr[33] = /*_.ERROR_AT__V35*/ meltfptr[34];;
19164 /*epilog*/
19166 MELT_LOCATION("warmelt-macro.melt:6980:/ clear");
19167 /*clear*/ /*_.ERROR_AT__V35*/
19168 meltfptr[34] = 0 ;
19172 else /*^cond.else*/
19175 /*^block*/
19176 /*anyblock*/
19180 MELT_CHECK_SIGNAL();
19182 MELT_LOCATION("warmelt-macro.melt:6982:/ cond");
19183 /*cond*/
19184 if (
19185 /*ifisa*/ melt_is_instance_of((melt_ptr_t)(/*_.CTY__V32*/ meltfptr[31]),
19186 (melt_ptr_t)((/*!CLASS_QUASI_CTYPE*/ meltfrout->tabval[7])))
19187 ) /*then*/
19189 /*^cond.then*/
19190 /*^getslot*/
19192 melt_ptr_t slot=NULL, obj=NULL;
19193 obj = (melt_ptr_t)(/*_.CTY__V32*/ meltfptr[31]) /*=obj*/;
19194 melt_object_get_field(slot,obj, 2, "CTYPE_KEYWORD");
19195 /*_.CTYPE_KEYWORD__V36*/
19196 meltfptr[34] = slot;
19200 else /*^cond.else*/
19203 /*_.CTYPE_KEYWORD__V36*/ meltfptr[34] = /*reallynil*/ NULL ;;
19206 /*^compute*/
19207 /*_#eqeq__L9*/
19208 meltfnum[8] =
19209 ((/*_.CTYPE_KEYWORD__V36*/ meltfptr[34]) == (/*_.CURARG__V27*/ meltfptr[26]));;
19210 MELT_LOCATION("warmelt-macro.melt:6982:/ cond");
19211 /*cond*/
19212 if (/*_#eqeq__L9*/ meltfnum[8]) /*then*/
19214 /*^cond.then*/
19215 /*^block*/
19216 /*anyblock*/
19219 MELT_LOCATION("warmelt-macro.melt:6983:/ compute");
19220 /*_.CTYP__V23*/
19221 meltfptr[22] = /*_.SETQ___V38*/ meltfptr[37] = /*_.CTY__V32*/ meltfptr[31];;
19222 /*_._IFELSE___V37*/
19223 meltfptr[36] = /*_.SETQ___V38*/ meltfptr[37];;
19224 /*epilog*/
19226 MELT_LOCATION("warmelt-macro.melt:6982:/ clear");
19227 /*clear*/ /*_.SETQ___V38*/
19228 meltfptr[37] = 0 ;
19232 else /*^cond.else*/
19235 /*^block*/
19236 /*anyblock*/
19240 MELT_CHECK_SIGNAL();
19242 MELT_LOCATION("warmelt-macro.melt:6984:/ cond");
19243 /*cond*/
19244 if (
19245 /*ifisa*/ melt_is_instance_of((melt_ptr_t)(/*_.CTY__V32*/ meltfptr[31]),
19246 (melt_ptr_t)((/*!CLASS_CTYPE*/ meltfrout->tabval[9])))
19247 ) /*then*/
19249 /*^cond.then*/
19250 /*^getslot*/
19252 melt_ptr_t slot=NULL, obj=NULL;
19253 obj = (melt_ptr_t)(/*_.CTY__V32*/ meltfptr[31]) /*=obj*/;
19254 melt_object_get_field(slot,obj, 10, "CTYPE_ALTKEYWORD");
19255 /*_.CTYPE_ALTKEYWORD__V39*/
19256 meltfptr[37] = slot;
19260 else /*^cond.else*/
19263 /*_.CTYPE_ALTKEYWORD__V39*/ meltfptr[37] = /*reallynil*/ NULL ;;
19266 /*^compute*/
19267 /*_#eqeq__L10*/
19268 meltfnum[9] =
19269 ((/*_.CTYPE_ALTKEYWORD__V39*/ meltfptr[37]) == (/*_.CURARG__V27*/ meltfptr[26]));;
19270 MELT_LOCATION("warmelt-macro.melt:6984:/ cond");
19271 /*cond*/
19272 if (/*_#eqeq__L10*/ meltfnum[9]) /*then*/
19274 /*^cond.then*/
19275 /*^block*/
19276 /*anyblock*/
19279 MELT_LOCATION("warmelt-macro.melt:6985:/ compute");
19280 /*_.CTYP__V23*/
19281 meltfptr[22] = /*_.SETQ___V41*/ meltfptr[40] = /*_.CTY__V32*/ meltfptr[31];;
19282 MELT_LOCATION("warmelt-macro.melt:6987:/ cond");
19283 /*cond*/
19284 if (
19285 /*ifisa*/ melt_is_instance_of((melt_ptr_t)(/*_.CTYP__V23*/ meltfptr[22]),
19286 (melt_ptr_t)((/*!CLASS_QUASI_CTYPE*/ meltfrout->tabval[7])))
19287 ) /*then*/
19289 /*^cond.then*/
19290 /*^getslot*/
19292 melt_ptr_t slot=NULL, obj=NULL;
19293 obj = (melt_ptr_t)(/*_.CTYP__V23*/ meltfptr[22]) /*=obj*/;
19294 melt_object_get_field(slot,obj, 2, "CTYPE_KEYWORD");
19295 /*_.CTYPE_KEYWORD__V42*/
19296 meltfptr[41] = slot;
19300 else /*^cond.else*/
19303 /*_.CTYPE_KEYWORD__V42*/ meltfptr[41] = /*reallynil*/ NULL ;;
19306 MELT_LOCATION("warmelt-macro.melt:6987:/ cond");
19307 /*cond*/
19308 if (
19309 /*ifisa*/ melt_is_instance_of((melt_ptr_t)(/*_.CTYPE_KEYWORD__V42*/ meltfptr[41]),
19310 (melt_ptr_t)((/*!CLASS_NAMED*/ meltfrout->tabval[11])))
19311 ) /*then*/
19313 /*^cond.then*/
19314 /*^getslot*/
19316 melt_ptr_t slot=NULL, obj=NULL;
19317 obj = (melt_ptr_t)(/*_.CTYPE_KEYWORD__V42*/ meltfptr[41]) /*=obj*/;
19318 melt_object_get_field(slot,obj, 1, "NAMED_NAME");
19319 /*_.NAMED_NAME__V43*/
19320 meltfptr[42] = slot;
19324 else /*^cond.else*/
19327 /*_.NAMED_NAME__V43*/ meltfptr[42] = /*reallynil*/ NULL ;;
19331 MELT_CHECK_SIGNAL();
19333 MELT_LOCATION("warmelt-macro.melt:6986:/ apply");
19334 /*apply*/
19336 union meltparam_un argtab[3];
19337 memset(&argtab, 0, sizeof(argtab));
19338 /*^apply.arg*/
19339 argtab[0].meltbp_cstring = "obsolete alternate ctype $1 keyword in let binding, wanting $2";
19340 /*^apply.arg*/
19341 argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.TYNAM__V33*/ meltfptr[32];
19342 /*^apply.arg*/
19343 argtab[2].meltbp_aptr = (melt_ptr_t*) &/*_.NAMED_NAME__V43*/ meltfptr[42];
19344 /*_.WARNING_AT__V44*/
19345 meltfptr[43] = melt_apply ((meltclosure_ptr_t)((/*!WARNING_AT*/ meltfrout->tabval[10])), (melt_ptr_t)(/*_.LOC__V22*/ meltfptr[21]), (MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
19348 MELT_LOCATION("warmelt-macro.melt:6984:/ quasiblock");
19351 /*_.PROGN___V45*/
19352 meltfptr[44] = /*_.WARNING_AT__V44*/ meltfptr[43];;
19353 /*^compute*/
19354 /*_._IFELSE___V40*/
19355 meltfptr[39] = /*_.PROGN___V45*/ meltfptr[44];;
19356 /*epilog*/
19358 MELT_LOCATION("warmelt-macro.melt:6984:/ clear");
19359 /*clear*/ /*_.SETQ___V41*/
19360 meltfptr[40] = 0 ;
19361 /*^clear*/
19362 /*clear*/ /*_.CTYPE_KEYWORD__V42*/
19363 meltfptr[41] = 0 ;
19364 /*^clear*/
19365 /*clear*/ /*_.NAMED_NAME__V43*/
19366 meltfptr[42] = 0 ;
19367 /*^clear*/
19368 /*clear*/ /*_.WARNING_AT__V44*/
19369 meltfptr[43] = 0 ;
19370 /*^clear*/
19371 /*clear*/ /*_.PROGN___V45*/
19372 meltfptr[44] = 0 ;
19376 else /*^cond.else*/
19379 /*^block*/
19380 /*anyblock*/
19384 MELT_CHECK_SIGNAL();
19386 MELT_LOCATION("warmelt-macro.melt:6990:/ apply");
19387 /*apply*/
19389 union meltparam_un argtab[2];
19390 memset(&argtab, 0, sizeof(argtab));
19391 /*^apply.arg*/
19392 argtab[0].meltbp_cstring = "let-binding with invalid type keyword $1";
19393 /*^apply.arg*/
19394 argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.TYNAM__V33*/ meltfptr[32];
19395 /*_.ERROR_AT__V46*/
19396 meltfptr[40] = melt_apply ((meltclosure_ptr_t)((/*!ERROR_AT*/ meltfrout->tabval[8])), (melt_ptr_t)(/*_.LOC__V22*/ meltfptr[21]), (MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
19399 MELT_LOCATION("warmelt-macro.melt:6989:/ quasiblock");
19402 /*_.PROGN___V47*/
19403 meltfptr[41] = /*_.ERROR_AT__V46*/ meltfptr[40];;
19404 /*^compute*/
19405 /*_._IFELSE___V40*/
19406 meltfptr[39] = /*_.PROGN___V47*/ meltfptr[41];;
19407 /*epilog*/
19409 MELT_LOCATION("warmelt-macro.melt:6984:/ clear");
19410 /*clear*/ /*_.ERROR_AT__V46*/
19411 meltfptr[40] = 0 ;
19412 /*^clear*/
19413 /*clear*/ /*_.PROGN___V47*/
19414 meltfptr[41] = 0 ;
19419 /*_._IFELSE___V37*/
19420 meltfptr[36] = /*_._IFELSE___V40*/ meltfptr[39];;
19421 /*epilog*/
19423 MELT_LOCATION("warmelt-macro.melt:6982:/ clear");
19424 /*clear*/ /*_.CTYPE_ALTKEYWORD__V39*/
19425 meltfptr[37] = 0 ;
19426 /*^clear*/
19427 /*clear*/ /*_#eqeq__L10*/
19428 meltfnum[9] = 0 ;
19429 /*^clear*/
19430 /*clear*/ /*_._IFELSE___V40*/
19431 meltfptr[39] = 0 ;
19436 /*_._IFELSE___V34*/
19437 meltfptr[33] = /*_._IFELSE___V37*/ meltfptr[36];;
19438 /*epilog*/
19440 MELT_LOCATION("warmelt-macro.melt:6980:/ clear");
19441 /*clear*/ /*_.CTYPE_KEYWORD__V36*/
19442 meltfptr[34] = 0 ;
19443 /*^clear*/
19444 /*clear*/ /*_#eqeq__L9*/
19445 meltfnum[8] = 0 ;
19446 /*^clear*/
19447 /*clear*/ /*_._IFELSE___V37*/
19448 meltfptr[36] = 0 ;
19453 /*_.PAIR_TAIL__V48*/
19454 meltfptr[42] =
19455 (melt_pair_tail((melt_ptr_t)(/*_.CURPAIR__V26*/ meltfptr[25])));;
19456 MELT_LOCATION("warmelt-macro.melt:6992:/ compute");
19457 /*_.CURPAIR__V26*/
19458 meltfptr[25] = /*_.SETQ___V49*/ meltfptr[43] = /*_.PAIR_TAIL__V48*/ meltfptr[42];;
19459 /*_.PAIR_HEAD__V50*/
19460 meltfptr[44] =
19461 (melt_pair_head((melt_ptr_t)(/*_.CURPAIR__V26*/ meltfptr[25])));;
19462 MELT_LOCATION("warmelt-macro.melt:6993:/ compute");
19463 /*_.CURARG__V27*/
19464 meltfptr[26] = /*_.SETQ___V51*/ meltfptr[40] = /*_.PAIR_HEAD__V50*/ meltfptr[44];;
19465 /*_.LET___V31*/
19466 meltfptr[30] = /*_.SETQ___V51*/ meltfptr[40];;
19468 MELT_LOCATION("warmelt-macro.melt:6976:/ clear");
19469 /*clear*/ /*_.CTY__V32*/
19470 meltfptr[31] = 0 ;
19471 /*^clear*/
19472 /*clear*/ /*_.TYNAM__V33*/
19473 meltfptr[32] = 0 ;
19474 /*^clear*/
19475 /*clear*/ /*_#IS_NOT_A__L8*/
19476 meltfnum[0] = 0 ;
19477 /*^clear*/
19478 /*clear*/ /*_._IFELSE___V34*/
19479 meltfptr[33] = 0 ;
19480 /*^clear*/
19481 /*clear*/ /*_.PAIR_TAIL__V48*/
19482 meltfptr[42] = 0 ;
19483 /*^clear*/
19484 /*clear*/ /*_.SETQ___V49*/
19485 meltfptr[43] = 0 ;
19486 /*^clear*/
19487 /*clear*/ /*_.PAIR_HEAD__V50*/
19488 meltfptr[44] = 0 ;
19489 /*^clear*/
19490 /*clear*/ /*_.SETQ___V51*/
19491 meltfptr[40] = 0 ;
19492 /*_._IF___V30*/
19493 meltfptr[29] = /*_.LET___V31*/ meltfptr[30];;
19494 /*epilog*/
19496 MELT_LOCATION("warmelt-macro.melt:6975:/ clear");
19497 /*clear*/ /*_.LET___V31*/
19498 meltfptr[30] = 0 ;
19502 else /*^cond.else*/
19505 /*_._IF___V30*/ meltfptr[29] = /*reallynil*/ NULL ;;
19509 MELT_CHECK_SIGNAL();
19511 /*^compute*/
19512 /*_#IS_A__L11*/
19513 meltfnum[9] =
19514 melt_is_instance_of((melt_ptr_t)(/*_.CURARG__V27*/ meltfptr[26]), (melt_ptr_t)((/*!CLASS_KEYWORD*/ meltfrout->tabval[6])));;
19515 MELT_LOCATION("warmelt-macro.melt:6996:/ cond");
19516 /*cond*/
19517 if (/*_#IS_A__L11*/ meltfnum[9]) /*then*/
19519 /*^cond.then*/
19520 /*^block*/
19521 /*anyblock*/
19524 MELT_LOCATION("warmelt-macro.melt:6998:/ getslot");
19526 melt_ptr_t slot=NULL, obj=NULL;
19527 obj = (melt_ptr_t)(/*_.CURARG__V27*/ meltfptr[26]) /*=obj*/;
19528 melt_object_get_field(slot,obj, 1, "NAMED_NAME");
19529 /*_.NAMED_NAME__V53*/
19530 meltfptr[37] = slot;
19534 MELT_CHECK_SIGNAL();
19536 MELT_LOCATION("warmelt-macro.melt:6997:/ apply");
19537 /*apply*/
19539 union meltparam_un argtab[2];
19540 memset(&argtab, 0, sizeof(argtab));
19541 /*^apply.arg*/
19542 argtab[0].meltbp_cstring = "let-binding cannot bind keyword $1";
19543 /*^apply.arg*/
19544 argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.NAMED_NAME__V53*/ meltfptr[37];
19545 /*_.ERROR_AT__V54*/
19546 meltfptr[39] = melt_apply ((meltclosure_ptr_t)((/*!ERROR_AT*/ meltfrout->tabval[8])), (melt_ptr_t)(/*_.LOC__V22*/ meltfptr[21]), (MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
19549 /*_._IFELSE___V52*/
19550 meltfptr[41] = /*_.ERROR_AT__V54*/ meltfptr[39];;
19551 /*epilog*/
19553 MELT_LOCATION("warmelt-macro.melt:6996:/ clear");
19554 /*clear*/ /*_.NAMED_NAME__V53*/
19555 meltfptr[37] = 0 ;
19556 /*^clear*/
19557 /*clear*/ /*_.ERROR_AT__V54*/
19558 meltfptr[39] = 0 ;
19562 else /*^cond.else*/
19565 /*^block*/
19566 /*anyblock*/
19570 MELT_CHECK_SIGNAL();
19572 /*_#IS_A__L12*/
19573 meltfnum[8] =
19574 melt_is_instance_of((melt_ptr_t)(/*_.CURARG__V27*/ meltfptr[26]), (melt_ptr_t)((/*!CLASS_SYMBOL*/ meltfrout->tabval[12])));;
19575 MELT_LOCATION("warmelt-macro.melt:6999:/ cond");
19576 /*cond*/
19577 if (/*_#IS_A__L12*/ meltfnum[8]) /*then*/
19579 /*^cond.then*/
19580 /*^block*/
19581 /*anyblock*/
19584 MELT_LOCATION("warmelt-macro.melt:7000:/ compute");
19585 /*_.VAR__V24*/
19586 meltfptr[23] = /*_.SETQ___V56*/ meltfptr[36] = /*_.CURARG__V27*/ meltfptr[26];;
19587 /*_.PAIR_TAIL__V57*/
19588 meltfptr[31] =
19589 (melt_pair_tail((melt_ptr_t)(/*_.CURPAIR__V26*/ meltfptr[25])));;
19590 MELT_LOCATION("warmelt-macro.melt:7001:/ compute");
19591 /*_.CURPAIR__V26*/
19592 meltfptr[25] = /*_.SETQ___V58*/ meltfptr[32] = /*_.PAIR_TAIL__V57*/ meltfptr[31];;
19593 /*_.PAIR_HEAD__V59*/
19594 meltfptr[33] =
19595 (melt_pair_head((melt_ptr_t)(/*_.CURPAIR__V26*/ meltfptr[25])));;
19596 MELT_LOCATION("warmelt-macro.melt:7002:/ compute");
19597 /*_.CURARG__V27*/
19598 meltfptr[26] = /*_.SETQ___V60*/ meltfptr[42] = /*_.PAIR_HEAD__V59*/ meltfptr[33];;
19599 MELT_LOCATION("warmelt-macro.melt:6999:/ quasiblock");
19602 /*_.PROGN___V61*/
19603 meltfptr[43] = /*_.SETQ___V60*/ meltfptr[42];;
19604 /*^compute*/
19605 /*_._IFELSE___V55*/
19606 meltfptr[34] = /*_.PROGN___V61*/ meltfptr[43];;
19607 /*epilog*/
19609 MELT_LOCATION("warmelt-macro.melt:6999:/ clear");
19610 /*clear*/ /*_.SETQ___V56*/
19611 meltfptr[36] = 0 ;
19612 /*^clear*/
19613 /*clear*/ /*_.PAIR_TAIL__V57*/
19614 meltfptr[31] = 0 ;
19615 /*^clear*/
19616 /*clear*/ /*_.SETQ___V58*/
19617 meltfptr[32] = 0 ;
19618 /*^clear*/
19619 /*clear*/ /*_.PAIR_HEAD__V59*/
19620 meltfptr[33] = 0 ;
19621 /*^clear*/
19622 /*clear*/ /*_.SETQ___V60*/
19623 meltfptr[42] = 0 ;
19624 /*^clear*/
19625 /*clear*/ /*_.PROGN___V61*/
19626 meltfptr[43] = 0 ;
19630 else /*^cond.else*/
19633 /*_._IFELSE___V55*/ meltfptr[34] = /*reallynil*/ NULL ;;
19636 /*^compute*/
19637 /*_._IFELSE___V52*/
19638 meltfptr[41] = /*_._IFELSE___V55*/ meltfptr[34];;
19639 /*epilog*/
19641 MELT_LOCATION("warmelt-macro.melt:6996:/ clear");
19642 /*clear*/ /*_#IS_A__L12*/
19643 meltfnum[8] = 0 ;
19644 /*^clear*/
19645 /*clear*/ /*_._IFELSE___V55*/
19646 meltfptr[34] = 0 ;
19652 MELT_CHECK_SIGNAL();
19654 /*_#NULL__L13*/
19655 meltfnum[0] =
19656 (/*null*/(/*_.VAR__V24*/ meltfptr[23]) == NULL);;
19657 MELT_LOCATION("warmelt-macro.melt:7004:/ cond");
19658 /*cond*/
19659 if (/*_#NULL__L13*/ meltfnum[0]) /*then*/
19661 /*^cond.then*/
19662 /*^block*/
19663 /*anyblock*/
19667 MELT_CHECK_SIGNAL();
19669 MELT_LOCATION("warmelt-macro.melt:7005:/ apply");
19670 /*apply*/
19672 union meltparam_un argtab[1];
19673 memset(&argtab, 0, sizeof(argtab));
19674 /*^apply.arg*/
19675 argtab[0].meltbp_cstring = "missing variable in letbinding";
19676 /*_.ERROR_AT__V63*/
19677 meltfptr[40] = melt_apply ((meltclosure_ptr_t)((/*!ERROR_AT*/ meltfrout->tabval[8])), (melt_ptr_t)(/*_.LOC__V22*/ meltfptr[21]), (MELTBPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0);
19680 /*_._IF___V62*/
19681 meltfptr[44] = /*_.ERROR_AT__V63*/ meltfptr[40];;
19682 /*epilog*/
19684 MELT_LOCATION("warmelt-macro.melt:7004:/ clear");
19685 /*clear*/ /*_.ERROR_AT__V63*/
19686 meltfptr[40] = 0 ;
19690 else /*^cond.else*/
19693 /*_._IF___V62*/ meltfptr[44] = /*reallynil*/ NULL ;;
19697 MELT_CHECK_SIGNAL();
19699 /*^compute*/
19700 /*_#eqeq__L14*/
19701 meltfnum[8] =
19702 ((/*_.CTYP__V23*/ meltfptr[22]) == ((/*!QUASI_CTYPE_MACRO*/ meltfrout->tabval[13])));;
19703 MELT_LOCATION("warmelt-macro.melt:7008:/ cond");
19704 /*cond*/
19705 if (/*_#eqeq__L14*/ meltfnum[8]) /*then*/
19707 /*^cond.then*/
19708 /*^block*/
19709 /*anyblock*/
19712 MELT_LOCATION("warmelt-macro.melt:7009:/ quasiblock");
19716 MELT_CHECK_SIGNAL();
19718 /*^apply*/
19719 /*apply*/
19721 union meltparam_un argtab[4];
19722 memset(&argtab, 0, sizeof(argtab));
19723 /*^apply.arg*/
19724 argtab[0].meltbp_aptr = (melt_ptr_t*) &(/*!konst_15_CHECKARG*/ meltfrout->tabval[15]);
19725 /*^apply.arg*/
19726 argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.ENV__V3*/ meltfptr[2];
19727 /*^apply.arg*/
19728 argtab[2].meltbp_aptr = (melt_ptr_t*) &/*_.MEXPANDER__V4*/ meltfptr[3];
19729 /*^apply.arg*/
19730 argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.MODCTX__V5*/ meltfptr[4];
19731 /*_.MACFORMALS__V66*/
19732 meltfptr[39] = melt_apply ((meltclosure_ptr_t)((/*!LAMBDA_ARG_BINDINGS*/ meltfrout->tabval[14])), (melt_ptr_t)(/*_.CURARG__V27*/ meltfptr[26]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
19735 MELT_LOCATION("warmelt-macro.melt:7010:/ getslot");
19737 melt_ptr_t slot=NULL, obj=NULL;
19738 obj = (melt_ptr_t)(/*_.VAR__V24*/ meltfptr[23]) /*=obj*/;
19739 melt_object_get_field(slot,obj, 1, "NAMED_NAME");
19740 /*_.VARNAME__V67*/
19741 meltfptr[36] = slot;
19744 /*_.MACBODY__V68*/
19745 meltfptr[31] = (/*nil*/NULL);;
19747 MELT_CHECK_SIGNAL();
19749 MELT_LOCATION("warmelt-macro.melt:7012:/ apply");
19750 /*apply*/
19752 /*_.NEWENV__V69*/ meltfptr[32] = 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);
19756 #if MELT_HAVE_DEBUG
19757 MELT_LOCATION("warmelt-macro.melt:7014:/ cppif.then");
19758 /*^block*/
19759 /*anyblock*/
19764 /*^locexp*/
19765 /*melt_increment_dbgcounter*/
19766 #if MELT_HAVE_DEBUG
19767 melt_dbgcounter++;
19768 #endif
19773 MELT_CHECK_SIGNAL();
19775 /*_#MELT_NEED_DBG__L15*/
19776 meltfnum[14] =
19777 /*MELT_NEED_DBG*/
19778 #if MELT_HAVE_DEBUG
19779 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
19780 #else
19781 0 /* no melt_need_dbg */
19782 #endif /*MELT_HAVE_DEBUG*/
19784 MELT_LOCATION("warmelt-macro.melt:7014:/ cond");
19785 /*cond*/
19786 if (/*_#MELT_NEED_DBG__L15*/ meltfnum[14]) /*then*/
19788 /*^cond.then*/
19789 /*^block*/
19790 /*anyblock*/
19793 /*_#MELT_CALLCOUNT__L16*/ meltfnum[15] =
19794 /* for melt_callcount */
19795 #if MELT_HAVE_DEBUG && defined (meltcallcount)
19796 meltcallcount /* melt_callcount debugging */
19797 #else
19798 0L /* melt_callcount without debug */
19799 #endif /* MELT_HAVE_DEBUG melt_callcount */
19802 MELT_CHECK_SIGNAL();
19804 MELT_LOCATION("warmelt-macro.melt:7014:/ apply");
19805 /*apply*/
19807 union meltparam_un argtab[8];
19808 memset(&argtab, 0, sizeof(argtab));
19809 /*^apply.arg*/
19810 argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L16*/ meltfnum[15];
19811 /*^apply.arg*/
19812 argtab[1].meltbp_cstring = "warmelt-macro.melt";
19813 /*^apply.arg*/
19814 argtab[2].meltbp_long = 7014;
19815 /*^apply.arg*/
19816 argtab[3].meltbp_cstring = "mexpand_letbinding macformals=";
19817 /*^apply.arg*/
19818 argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.MACFORMALS__V66*/ meltfptr[39];
19819 /*^apply.arg*/
19820 argtab[5].meltbp_cstring = "\n.. newenv=";
19821 /*^apply.arg*/
19822 argtab[6].meltbp_aptr = (melt_ptr_t*) &(/*!DEBUG_LESS*/ meltfrout->tabval[1]);
19823 /*^apply.arg*/
19824 argtab[7].meltbp_aptr = (melt_ptr_t*) &/*_.NEWENV__V69*/ meltfptr[32];
19825 /*_.MELT_DEBUG_FUN__V71*/
19826 meltfptr[42] = 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 MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
19829 /*_._IF___V70*/
19830 meltfptr[33] = /*_.MELT_DEBUG_FUN__V71*/ meltfptr[42];;
19831 /*epilog*/
19833 MELT_LOCATION("warmelt-macro.melt:7014:/ clear");
19834 /*clear*/ /*_#MELT_CALLCOUNT__L16*/
19835 meltfnum[15] = 0 ;
19836 /*^clear*/
19837 /*clear*/ /*_.MELT_DEBUG_FUN__V71*/
19838 meltfptr[42] = 0 ;
19842 else /*^cond.else*/
19845 /*_._IF___V70*/ meltfptr[33] = /*reallynil*/ NULL ;;
19850 MELT_LOCATION("warmelt-macro.melt:7014:/ locexp");
19851 /*void*/
19852 (void)0;
19855 /*^quasiblock*/
19858 /*epilog*/
19860 /*^clear*/
19861 /*clear*/ /*_#MELT_NEED_DBG__L15*/
19862 meltfnum[14] = 0 ;
19863 /*^clear*/
19864 /*clear*/ /*_._IF___V70*/
19865 meltfptr[33] = 0 ;
19868 #else /*MELT_HAVE_DEBUG*/
19869 /*^cppif.else*/
19870 /*^block*/
19871 /*anyblock*/
19876 /*^locexp*/
19877 /*void*/(void)0;
19880 /*epilog*/
19883 #endif /*MELT_HAVE_DEBUG*/
19885 /*_.PAIR_TAIL__V72*/
19886 meltfptr[43] =
19887 (melt_pair_tail((melt_ptr_t)(/*_.CURPAIR__V26*/ meltfptr[25])));;
19888 MELT_LOCATION("warmelt-macro.melt:7015:/ compute");
19889 /*_.CURPAIR__V26*/
19890 meltfptr[25] = /*_.SETQ___V73*/ meltfptr[34] = /*_.PAIR_TAIL__V72*/ meltfptr[43];;
19892 MELT_CHECK_SIGNAL();
19894 /*_#IS_A__L17*/
19895 meltfnum[15] =
19896 melt_is_instance_of((melt_ptr_t)(/*_.MACFORMALS__V66*/ meltfptr[39]), (melt_ptr_t)((/*!DISCR_VARIADIC_FORMAL_SEQUENCE*/ meltfrout->tabval[17])));;
19897 MELT_LOCATION("warmelt-macro.melt:7016:/ cond");
19898 /*cond*/
19899 if (/*_#IS_A__L17*/ meltfnum[15]) /*then*/
19901 /*^cond.then*/
19902 /*^block*/
19903 /*anyblock*/
19907 MELT_CHECK_SIGNAL();
19909 MELT_LOCATION("warmelt-macro.melt:7017:/ apply");
19910 /*apply*/
19912 union meltparam_un argtab[2];
19913 memset(&argtab, 0, sizeof(argtab));
19914 /*^apply.arg*/
19915 argtab[0].meltbp_cstring = ":macro let-binding $1 cannot be variadic";
19916 /*^apply.arg*/
19917 argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.VARNAME__V67*/ meltfptr[36];
19918 /*_.ERROR_AT__V75*/
19919 meltfptr[42] = melt_apply ((meltclosure_ptr_t)((/*!ERROR_AT*/ meltfrout->tabval[8])), (melt_ptr_t)(/*_.LOC__V22*/ meltfptr[21]), (MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
19922 /*_._IF___V74*/
19923 meltfptr[40] = /*_.ERROR_AT__V75*/ meltfptr[42];;
19924 /*epilog*/
19926 MELT_LOCATION("warmelt-macro.melt:7016:/ clear");
19927 /*clear*/ /*_.ERROR_AT__V75*/
19928 meltfptr[42] = 0 ;
19932 else /*^cond.else*/
19935 /*_._IF___V74*/ meltfptr[40] = /*reallynil*/ NULL ;;
19939 MELT_CHECK_SIGNAL();
19941 /*^compute*/
19942 /*_#MULTIPLE_LENGTH__L18*/
19943 meltfnum[14] =
19944 (melt_multiple_length((melt_ptr_t)(/*_.MACFORMALS__V66*/ meltfptr[39])));;
19945 /*^compute*/
19946 /*_#gtI__L19*/
19947 meltfnum[18] =
19948 ((/*_#MULTIPLE_LENGTH__L18*/ meltfnum[14]) > (4));;
19949 MELT_LOCATION("warmelt-macro.melt:7018:/ cond");
19950 /*cond*/
19951 if (/*_#gtI__L19*/ meltfnum[18]) /*then*/
19953 /*^cond.then*/
19954 /*^block*/
19955 /*anyblock*/
19959 MELT_CHECK_SIGNAL();
19961 MELT_LOCATION("warmelt-macro.melt:7019:/ apply");
19962 /*apply*/
19964 union meltparam_un argtab[2];
19965 memset(&argtab, 0, sizeof(argtab));
19966 /*^apply.arg*/
19967 argtab[0].meltbp_cstring = ":macro $1 let-binding should have at most 4 formals";
19968 /*^apply.arg*/
19969 argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.VARNAME__V67*/ meltfptr[36];
19970 /*_.ERROR_AT__V77*/
19971 meltfptr[42] = melt_apply ((meltclosure_ptr_t)((/*!ERROR_AT*/ meltfrout->tabval[8])), (melt_ptr_t)(/*_.LOC__V22*/ meltfptr[21]), (MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
19974 /*_._IF___V76*/
19975 meltfptr[33] = /*_.ERROR_AT__V77*/ meltfptr[42];;
19976 /*epilog*/
19978 MELT_LOCATION("warmelt-macro.melt:7018:/ clear");
19979 /*clear*/ /*_.ERROR_AT__V77*/
19980 meltfptr[42] = 0 ;
19984 else /*^cond.else*/
19987 /*_._IF___V76*/ meltfptr[33] = /*reallynil*/ NULL ;;
19990 /*citerblock FOREACH_IN_MULTIPLE*/
19992 /* start foreach_in_multiple meltcit1__EACHTUP */
19993 long meltcit1__EACHTUP_ln = melt_multiple_length((melt_ptr_t)/*_.MACFORMALS__V66*/ meltfptr[39]);
19994 for (/*_#IX__L20*/ meltfnum[19] = 0;
19995 (/*_#IX__L20*/ meltfnum[19] >= 0) && (/*_#IX__L20*/ meltfnum[19] < meltcit1__EACHTUP_ln);
19996 /*_#IX__L20*/ meltfnum[19]++)
19998 /*_.CURMACFORMAL__V78*/ meltfptr[42] = melt_multiple_nth((melt_ptr_t)(/*_.MACFORMALS__V66*/ meltfptr[39]), /*_#IX__L20*/ meltfnum[19]);
20003 #if MELT_HAVE_DEBUG
20004 MELT_LOCATION("warmelt-macro.melt:7023:/ cppif.then");
20005 /*^block*/
20006 /*anyblock*/
20011 /*^locexp*/
20012 /*melt_increment_dbgcounter*/
20013 #if MELT_HAVE_DEBUG
20014 melt_dbgcounter++;
20015 #endif
20020 MELT_CHECK_SIGNAL();
20022 /*_#MELT_NEED_DBG__L21*/
20023 meltfnum[20] =
20024 /*MELT_NEED_DBG*/
20025 #if MELT_HAVE_DEBUG
20026 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
20027 #else
20028 0 /* no melt_need_dbg */
20029 #endif /*MELT_HAVE_DEBUG*/
20031 MELT_LOCATION("warmelt-macro.melt:7023:/ cond");
20032 /*cond*/
20033 if (/*_#MELT_NEED_DBG__L21*/ meltfnum[20]) /*then*/
20035 /*^cond.then*/
20036 /*^block*/
20037 /*anyblock*/
20040 /*_#MELT_CALLCOUNT__L22*/ meltfnum[21] =
20041 /* for melt_callcount */
20042 #if MELT_HAVE_DEBUG && defined (meltcallcount)
20043 meltcallcount /* melt_callcount debugging */
20044 #else
20045 0L /* melt_callcount without debug */
20046 #endif /* MELT_HAVE_DEBUG melt_callcount */
20049 MELT_CHECK_SIGNAL();
20051 MELT_LOCATION("warmelt-macro.melt:7023:/ apply");
20052 /*apply*/
20054 union meltparam_un argtab[5];
20055 memset(&argtab, 0, sizeof(argtab));
20056 /*^apply.arg*/
20057 argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L22*/ meltfnum[21];
20058 /*^apply.arg*/
20059 argtab[1].meltbp_cstring = "warmelt-macro.melt";
20060 /*^apply.arg*/
20061 argtab[2].meltbp_long = 7023;
20062 /*^apply.arg*/
20063 argtab[3].meltbp_cstring = "mexpand_letbinding curmacformal=";
20064 /*^apply.arg*/
20065 argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.CURMACFORMAL__V78*/ meltfptr[42];
20066 /*_.MELT_DEBUG_FUN__V80*/
20067 meltfptr[79] = 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);
20070 /*_._IF___V79*/
20071 meltfptr[78] = /*_.MELT_DEBUG_FUN__V80*/ meltfptr[79];;
20072 /*epilog*/
20074 MELT_LOCATION("warmelt-macro.melt:7023:/ clear");
20075 /*clear*/ /*_#MELT_CALLCOUNT__L22*/
20076 meltfnum[21] = 0 ;
20077 /*^clear*/
20078 /*clear*/ /*_.MELT_DEBUG_FUN__V80*/
20079 meltfptr[79] = 0 ;
20083 else /*^cond.else*/
20086 /*_._IF___V79*/ meltfptr[78] = /*reallynil*/ NULL ;;
20091 MELT_LOCATION("warmelt-macro.melt:7023:/ locexp");
20092 /*void*/
20093 (void)0;
20096 /*^quasiblock*/
20099 /*epilog*/
20101 /*^clear*/
20102 /*clear*/ /*_#MELT_NEED_DBG__L21*/
20103 meltfnum[20] = 0 ;
20104 /*^clear*/
20105 /*clear*/ /*_._IF___V79*/
20106 meltfptr[78] = 0 ;
20109 #else /*MELT_HAVE_DEBUG*/
20110 /*^cppif.else*/
20111 /*^block*/
20112 /*anyblock*/
20117 /*^locexp*/
20118 /*void*/(void)0;
20121 /*epilog*/
20124 #endif /*MELT_HAVE_DEBUG*/
20127 #if MELT_HAVE_DEBUG
20128 MELT_LOCATION("warmelt-macro.melt:7024:/ cppif.then");
20129 /*^block*/
20130 /*anyblock*/
20134 MELT_CHECK_SIGNAL();
20136 /*_#IS_A__L23*/
20137 meltfnum[21] =
20138 melt_is_instance_of((melt_ptr_t)(/*_.CURMACFORMAL__V78*/ meltfptr[42]), (melt_ptr_t)((/*!CLASS_FORMAL_BINDING*/ meltfrout->tabval[18])));;
20139 MELT_LOCATION("warmelt-macro.melt:7024:/ cond");
20140 /*cond*/
20141 if (/*_#IS_A__L23*/ meltfnum[21]) /*then*/
20143 /*^cond.then*/
20144 /*_._IFELSE___V82*/ meltfptr[78] = (/*nil*/NULL);;
20146 else
20148 MELT_LOCATION("warmelt-macro.melt:7024:/ cond.else");
20150 /*^block*/
20151 /*anyblock*/
20155 MELT_CHECK_SIGNAL();
20157 /*^apply*/
20158 /*apply*/
20160 union meltparam_un argtab[4];
20161 memset(&argtab, 0, sizeof(argtab));
20162 /*^apply.arg*/
20163 argtab[0].meltbp_cstring = "check curmacformal";
20164 /*^apply.arg*/
20165 argtab[1].meltbp_cstring = "warmelt-macro.melt";
20166 /*^apply.arg*/
20167 argtab[2].meltbp_long = 7024;
20168 /*^apply.arg*/
20169 argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.CURMACFORMAL__V78*/ meltfptr[42];
20170 /*_.MELT_ASSERT_FAILURE_FUN__V83*/
20171 meltfptr[82] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[3])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
20174 /*_._IFELSE___V82*/
20175 meltfptr[78] = /*_.MELT_ASSERT_FAILURE_FUN__V83*/ meltfptr[82];;
20176 /*epilog*/
20178 MELT_LOCATION("warmelt-macro.melt:7024:/ clear");
20179 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V83*/
20180 meltfptr[82] = 0 ;
20185 /*_.IFCPP___V81*/
20186 meltfptr[79] = /*_._IFELSE___V82*/ meltfptr[78];;
20187 /*epilog*/
20189 MELT_LOCATION("warmelt-macro.melt:7024:/ clear");
20190 /*clear*/ /*_#IS_A__L23*/
20191 meltfnum[21] = 0 ;
20192 /*^clear*/
20193 /*clear*/ /*_._IFELSE___V82*/
20194 meltfptr[78] = 0 ;
20197 #else /*MELT_HAVE_DEBUG*/
20198 /*^cppif.else*/
20199 /*_.IFCPP___V81*/ meltfptr[79] = (/*nil*/NULL);
20200 #endif /*MELT_HAVE_DEBUG*/
20202 MELT_LOCATION("warmelt-macro.melt:7025:/ quasiblock");
20205 /*^cond*/
20206 /*cond*/
20207 if (
20208 /*ifisa*/ melt_is_instance_of((melt_ptr_t)(/*_.CURMACFORMAL__V78*/ meltfptr[42]),
20209 (melt_ptr_t)((/*!CLASS_ANY_BINDING*/ meltfrout->tabval[19])))
20210 ) /*then*/
20212 /*^cond.then*/
20213 /*^getslot*/
20215 melt_ptr_t slot=NULL, obj=NULL;
20216 obj = (melt_ptr_t)(/*_.CURMACFORMAL__V78*/ meltfptr[42]) /*=obj*/;
20217 melt_object_get_field(slot,obj, 0, "BINDER");
20218 /*_.BINDER__V85*/
20219 meltfptr[78] = slot;
20223 else /*^cond.else*/
20226 /*_.BINDER__V85*/ meltfptr[78] = /*reallynil*/ NULL ;;
20229 MELT_LOCATION("warmelt-macro.melt:7025:/ cond");
20230 /*cond*/
20231 if (
20232 /*ifisa*/ melt_is_instance_of((melt_ptr_t)(/*_.BINDER__V85*/ meltfptr[78]),
20233 (melt_ptr_t)((/*!CLASS_NAMED*/ meltfrout->tabval[11])))
20234 ) /*then*/
20236 /*^cond.then*/
20237 /*^getslot*/
20239 melt_ptr_t slot=NULL, obj=NULL;
20240 obj = (melt_ptr_t)(/*_.BINDER__V85*/ meltfptr[78]) /*=obj*/;
20241 melt_object_get_field(slot,obj, 1, "NAMED_NAME");
20242 /*_.CURFORMALNAME__V86*/
20243 meltfptr[85] = slot;
20247 else /*^cond.else*/
20250 /*_.CURFORMALNAME__V86*/ meltfptr[85] = /*reallynil*/ NULL ;;
20254 MELT_CHECK_SIGNAL();
20256 MELT_LOCATION("warmelt-macro.melt:7027:/ cond");
20257 /*cond*/
20258 if (
20259 /*ifisa*/ melt_is_instance_of((melt_ptr_t)(/*_.CURMACFORMAL__V78*/ meltfptr[42]),
20260 (melt_ptr_t)((/*!CLASS_FORMAL_BINDING*/ meltfrout->tabval[18])))
20261 ) /*then*/
20263 /*^cond.then*/
20264 /*^getslot*/
20266 melt_ptr_t slot=NULL, obj=NULL;
20267 obj = (melt_ptr_t)(/*_.CURMACFORMAL__V78*/ meltfptr[42]) /*=obj*/;
20268 melt_object_get_field(slot,obj, 1, "FBIND_TYPE");
20269 /*_.FBIND_TYPE__V87*/
20270 meltfptr[86] = slot;
20274 else /*^cond.else*/
20277 /*_.FBIND_TYPE__V87*/ meltfptr[86] = /*reallynil*/ NULL ;;
20280 /*^compute*/
20281 /*_#exeq__L24*/
20282 meltfnum[20] =
20283 ((/*_.FBIND_TYPE__V87*/ meltfptr[86]) != ((/*!CTYPE_VALUE*/ meltfrout->tabval[20])));;
20284 MELT_LOCATION("warmelt-macro.melt:7027:/ cond");
20285 /*cond*/
20286 if (/*_#exeq__L24*/ meltfnum[20]) /*then*/
20288 /*^cond.then*/
20289 /*^block*/
20290 /*anyblock*/
20294 MELT_CHECK_SIGNAL();
20296 MELT_LOCATION("warmelt-macro.melt:7028:/ apply");
20297 /*apply*/
20299 union meltparam_un argtab[2];
20300 memset(&argtab, 0, sizeof(argtab));
20301 /*^apply.arg*/
20302 argtab[0].meltbp_cstring = ":macro $1 let-binding should be :value";
20303 /*^apply.arg*/
20304 argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.CURFORMALNAME__V86*/ meltfptr[85];
20305 /*_.ERROR_AT__V89*/
20306 meltfptr[88] = melt_apply ((meltclosure_ptr_t)((/*!ERROR_AT*/ meltfrout->tabval[8])), (melt_ptr_t)(/*_.LOC__V22*/ meltfptr[21]), (MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
20309 /*_._IF___V88*/
20310 meltfptr[87] = /*_.ERROR_AT__V89*/ meltfptr[88];;
20311 /*epilog*/
20313 MELT_LOCATION("warmelt-macro.melt:7027:/ clear");
20314 /*clear*/ /*_.ERROR_AT__V89*/
20315 meltfptr[88] = 0 ;
20319 else /*^cond.else*/
20322 /*_._IF___V88*/ meltfptr[87] = /*reallynil*/ NULL ;;
20326 MELT_CHECK_SIGNAL();
20328 MELT_LOCATION("warmelt-macro.melt:7029:/ cond");
20329 /*cond*/
20330 if (
20331 /*ifisa*/ melt_is_instance_of((melt_ptr_t)(/*_.CURMACFORMAL__V78*/ meltfptr[42]),
20332 (melt_ptr_t)((/*!CLASS_ANY_BINDING*/ meltfrout->tabval[19])))
20333 ) /*then*/
20335 /*^cond.then*/
20336 /*^getslot*/
20338 melt_ptr_t slot=NULL, obj=NULL;
20339 obj = (melt_ptr_t)(/*_.CURMACFORMAL__V78*/ meltfptr[42]) /*=obj*/;
20340 melt_object_get_field(slot,obj, 0, "BINDER");
20341 /*_.BINDER__V90*/
20342 meltfptr[88] = slot;
20346 else /*^cond.else*/
20349 /*_.BINDER__V90*/ meltfptr[88] = /*reallynil*/ NULL ;;
20353 MELT_CHECK_SIGNAL();
20355 MELT_LOCATION("warmelt-macro.melt:7029:/ apply");
20356 /*apply*/
20358 union meltparam_un argtab[1];
20359 memset(&argtab, 0, sizeof(argtab));
20360 /*^apply.arg*/
20361 argtab[0].meltbp_aptr = (melt_ptr_t*) &/*_.BINDER__V90*/ meltfptr[88];
20362 /*_.FIND_ENV__V91*/
20363 meltfptr[90] = melt_apply ((meltclosure_ptr_t)((/*!FIND_ENV*/ meltfrout->tabval[21])), (melt_ptr_t)(/*_.NEWENV__V69*/ meltfptr[32]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
20366 /*^cond*/
20367 /*cond*/
20368 if (/*_.FIND_ENV__V91*/ meltfptr[90]) /*then*/
20370 /*^cond.then*/
20371 /*^block*/
20372 /*anyblock*/
20376 MELT_CHECK_SIGNAL();
20378 MELT_LOCATION("warmelt-macro.melt:7030:/ apply");
20379 /*apply*/
20381 union meltparam_un argtab[2];
20382 memset(&argtab, 0, sizeof(argtab));
20383 /*^apply.arg*/
20384 argtab[0].meltbp_cstring = ":macro $1 formal already bound";
20385 /*^apply.arg*/
20386 argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.CURFORMALNAME__V86*/ meltfptr[85];
20387 /*_.ERROR_AT__V93*/
20388 meltfptr[92] = melt_apply ((meltclosure_ptr_t)((/*!ERROR_AT*/ meltfrout->tabval[8])), (melt_ptr_t)(/*_.LOC__V22*/ meltfptr[21]), (MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
20391 /*_._IF___V92*/
20392 meltfptr[91] = /*_.ERROR_AT__V93*/ meltfptr[92];;
20393 /*epilog*/
20395 MELT_LOCATION("warmelt-macro.melt:7029:/ clear");
20396 /*clear*/ /*_.ERROR_AT__V93*/
20397 meltfptr[92] = 0 ;
20401 else /*^cond.else*/
20404 /*_._IF___V92*/ meltfptr[91] = /*reallynil*/ NULL ;;
20408 MELT_CHECK_SIGNAL();
20410 MELT_LOCATION("warmelt-macro.melt:7031:/ apply");
20411 /*apply*/
20413 union meltparam_un argtab[1];
20414 memset(&argtab, 0, sizeof(argtab));
20415 /*^apply.arg*/
20416 argtab[0].meltbp_aptr = (melt_ptr_t*) &/*_.CURMACFORMAL__V78*/ meltfptr[42];
20417 /*_.PUT_ENV__V94*/
20418 meltfptr[92] = melt_apply ((meltclosure_ptr_t)((/*!PUT_ENV*/ meltfrout->tabval[22])), (melt_ptr_t)(/*_.NEWENV__V69*/ meltfptr[32]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
20421 /*_.LET___V84*/
20422 meltfptr[82] = /*_.PUT_ENV__V94*/ meltfptr[92];;
20424 MELT_LOCATION("warmelt-macro.melt:7025:/ clear");
20425 /*clear*/ /*_.BINDER__V85*/
20426 meltfptr[78] = 0 ;
20427 /*^clear*/
20428 /*clear*/ /*_.CURFORMALNAME__V86*/
20429 meltfptr[85] = 0 ;
20430 /*^clear*/
20431 /*clear*/ /*_.FBIND_TYPE__V87*/
20432 meltfptr[86] = 0 ;
20433 /*^clear*/
20434 /*clear*/ /*_#exeq__L24*/
20435 meltfnum[20] = 0 ;
20436 /*^clear*/
20437 /*clear*/ /*_._IF___V88*/
20438 meltfptr[87] = 0 ;
20439 /*^clear*/
20440 /*clear*/ /*_.BINDER__V90*/
20441 meltfptr[88] = 0 ;
20442 /*^clear*/
20443 /*clear*/ /*_.FIND_ENV__V91*/
20444 meltfptr[90] = 0 ;
20445 /*^clear*/
20446 /*clear*/ /*_._IF___V92*/
20447 meltfptr[91] = 0 ;
20448 /*^clear*/
20449 /*clear*/ /*_.PUT_ENV__V94*/
20450 meltfptr[92] = 0 ;
20451 if (/*_#IX__L20*/ meltfnum[19]<0) break;
20452 } /* end foreach_in_multiple meltcit1__EACHTUP */
20454 /*citerepilog*/
20456 MELT_LOCATION("warmelt-macro.melt:7020:/ clear");
20457 /*clear*/ /*_.CURMACFORMAL__V78*/
20458 meltfptr[42] = 0 ;
20459 /*^clear*/
20460 /*clear*/ /*_#IX__L20*/
20461 meltfnum[19] = 0 ;
20462 /*^clear*/
20463 /*clear*/ /*_.IFCPP___V81*/
20464 meltfptr[79] = 0 ;
20465 /*^clear*/
20466 /*clear*/ /*_.LET___V84*/
20467 meltfptr[82] = 0 ;
20468 } /*endciterblock FOREACH_IN_MULTIPLE*/
20471 MELT_CHECK_SIGNAL();
20473 MELT_LOCATION("warmelt-macro.melt:7033:/ apply");
20474 /*apply*/
20476 union meltparam_un argtab[3];
20477 memset(&argtab, 0, sizeof(argtab));
20478 /*^apply.arg*/
20479 argtab[0].meltbp_aptr = (melt_ptr_t*) &/*_.NEWENV__V69*/ meltfptr[32];
20480 /*^apply.arg*/
20481 argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.MEXPANDER__V4*/ meltfptr[3];
20482 /*^apply.arg*/
20483 argtab[2].meltbp_aptr = (melt_ptr_t*) &/*_.MODCTX__V5*/ meltfptr[4];
20484 /*_.EXPAND_PAIRLIST_AS_TUPLE__V95*/
20485 meltfptr[78] = melt_apply ((meltclosure_ptr_t)((/*!EXPAND_PAIRLIST_AS_TUPLE*/ meltfrout->tabval[23])), (melt_ptr_t)(/*_.CURPAIR__V26*/ meltfptr[25]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
20488 /*^compute*/
20489 /*_.MACBODY__V68*/
20490 meltfptr[31] = /*_.SETQ___V96*/ meltfptr[85] = /*_.EXPAND_PAIRLIST_AS_TUPLE__V95*/ meltfptr[78];;
20492 #if MELT_HAVE_DEBUG
20493 MELT_LOCATION("warmelt-macro.melt:7034:/ cppif.then");
20494 /*^block*/
20495 /*anyblock*/
20500 /*^locexp*/
20501 /*melt_increment_dbgcounter*/
20502 #if MELT_HAVE_DEBUG
20503 melt_dbgcounter++;
20504 #endif
20509 MELT_CHECK_SIGNAL();
20511 /*_#MELT_NEED_DBG__L25*/
20512 meltfnum[21] =
20513 /*MELT_NEED_DBG*/
20514 #if MELT_HAVE_DEBUG
20515 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
20516 #else
20517 0 /* no melt_need_dbg */
20518 #endif /*MELT_HAVE_DEBUG*/
20520 MELT_LOCATION("warmelt-macro.melt:7034:/ cond");
20521 /*cond*/
20522 if (/*_#MELT_NEED_DBG__L25*/ meltfnum[21]) /*then*/
20524 /*^cond.then*/
20525 /*^block*/
20526 /*anyblock*/
20529 /*_#MELT_CALLCOUNT__L26*/ meltfnum[20] =
20530 /* for melt_callcount */
20531 #if MELT_HAVE_DEBUG && defined (meltcallcount)
20532 meltcallcount /* melt_callcount debugging */
20533 #else
20534 0L /* melt_callcount without debug */
20535 #endif /* MELT_HAVE_DEBUG melt_callcount */
20538 MELT_CHECK_SIGNAL();
20540 MELT_LOCATION("warmelt-macro.melt:7034:/ apply");
20541 /*apply*/
20543 union meltparam_un argtab[5];
20544 memset(&argtab, 0, sizeof(argtab));
20545 /*^apply.arg*/
20546 argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L26*/ meltfnum[20];
20547 /*^apply.arg*/
20548 argtab[1].meltbp_cstring = "warmelt-macro.melt";
20549 /*^apply.arg*/
20550 argtab[2].meltbp_long = 7034;
20551 /*^apply.arg*/
20552 argtab[3].meltbp_cstring = "mexpand_letbinding macbody=";
20553 /*^apply.arg*/
20554 argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.MACBODY__V68*/ meltfptr[31];
20555 /*_.MELT_DEBUG_FUN__V98*/
20556 meltfptr[87] = 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);
20559 /*_._IF___V97*/
20560 meltfptr[86] = /*_.MELT_DEBUG_FUN__V98*/ meltfptr[87];;
20561 /*epilog*/
20563 MELT_LOCATION("warmelt-macro.melt:7034:/ clear");
20564 /*clear*/ /*_#MELT_CALLCOUNT__L26*/
20565 meltfnum[20] = 0 ;
20566 /*^clear*/
20567 /*clear*/ /*_.MELT_DEBUG_FUN__V98*/
20568 meltfptr[87] = 0 ;
20572 else /*^cond.else*/
20575 /*_._IF___V97*/ meltfptr[86] = /*reallynil*/ NULL ;;
20580 MELT_LOCATION("warmelt-macro.melt:7034:/ locexp");
20581 /*void*/
20582 (void)0;
20585 /*^quasiblock*/
20588 /*epilog*/
20590 /*^clear*/
20591 /*clear*/ /*_#MELT_NEED_DBG__L25*/
20592 meltfnum[21] = 0 ;
20593 /*^clear*/
20594 /*clear*/ /*_._IF___V97*/
20595 meltfptr[86] = 0 ;
20598 #else /*MELT_HAVE_DEBUG*/
20599 /*^cppif.else*/
20600 /*^block*/
20601 /*anyblock*/
20606 /*^locexp*/
20607 /*void*/(void)0;
20610 /*epilog*/
20613 #endif /*MELT_HAVE_DEBUG*/
20615 MELT_LOCATION("warmelt-macro.melt:7035:/ quasiblock");
20619 MELT_CHECK_SIGNAL();
20621 MELT_LOCATION("warmelt-macro.melt:7036:/ quasiblock");
20624 /*^rawallocobj*/
20625 /*rawallocobj*/
20627 melt_ptr_t newobj = 0;
20628 melt_raw_object_create(newobj,(melt_ptr_t)((/*!CLASS_SOURCE_MACRO_LET_BINDING*/ meltfrout->tabval[24])), (5), "CLASS_SOURCE_MACRO_LET_BINDING");
20629 /*_.INST__V101*/
20630 meltfptr[91] =
20631 newobj;
20634 /*^putslot*/
20635 /*putslot*/
20636 melt_assertmsg("checkobj putslot _ @LOCA_LOCATION", melt_magic_discr((melt_ptr_t)(/*_.INST__V101*/ meltfptr[91])) == MELTOBMAG_OBJECT);
20637 melt_putfield_object((/*_.INST__V101*/ meltfptr[91]), (1), (/*_.LOC__V22*/ meltfptr[21]), "LOCA_LOCATION");
20639 /*^putslot*/
20640 /*putslot*/
20641 melt_assertmsg("checkobj putslot _ @SLETB_BINDER", melt_magic_discr((melt_ptr_t)(/*_.INST__V101*/ meltfptr[91])) == MELTOBMAG_OBJECT);
20642 melt_putfield_object((/*_.INST__V101*/ meltfptr[91]), (2), (/*_.VAR__V24*/ meltfptr[23]), "SLETB_BINDER");
20644 /*^putslot*/
20645 /*putslot*/
20646 melt_assertmsg("checkobj putslot _ @SLETM_MACRO_FORMALS", melt_magic_discr((melt_ptr_t)(/*_.INST__V101*/ meltfptr[91])) == MELTOBMAG_OBJECT);
20647 melt_putfield_object((/*_.INST__V101*/ meltfptr[91]), (3), (/*_.MACFORMALS__V66*/ meltfptr[39]), "SLETM_MACRO_FORMALS");
20649 /*^putslot*/
20650 /*putslot*/
20651 melt_assertmsg("checkobj putslot _ @SLETM_MACRO_BODY", melt_magic_discr((melt_ptr_t)(/*_.INST__V101*/ meltfptr[91])) == MELTOBMAG_OBJECT);
20652 melt_putfield_object((/*_.INST__V101*/ meltfptr[91]), (4), (/*_.MACBODY__V68*/ meltfptr[31]), "SLETM_MACRO_BODY");
20654 /*^touchobj*/
20656 melt_dbgtrace_written_object (/*_.INST__V101*/ meltfptr[91], "newly made instance");
20658 /*_.SMACBIND__V100*/
20659 meltfptr[90] = /*_.INST__V101*/ meltfptr[91];;
20661 #if MELT_HAVE_DEBUG
20662 MELT_LOCATION("warmelt-macro.melt:7043:/ cppif.then");
20663 /*^block*/
20664 /*anyblock*/
20669 /*^locexp*/
20670 /*melt_increment_dbgcounter*/
20671 #if MELT_HAVE_DEBUG
20672 melt_dbgcounter++;
20673 #endif
20678 MELT_CHECK_SIGNAL();
20680 /*_#MELT_NEED_DBG__L27*/
20681 meltfnum[20] =
20682 /*MELT_NEED_DBG*/
20683 #if MELT_HAVE_DEBUG
20684 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
20685 #else
20686 0 /* no melt_need_dbg */
20687 #endif /*MELT_HAVE_DEBUG*/
20689 MELT_LOCATION("warmelt-macro.melt:7043:/ cond");
20690 /*cond*/
20691 if (/*_#MELT_NEED_DBG__L27*/ meltfnum[20]) /*then*/
20693 /*^cond.then*/
20694 /*^block*/
20695 /*anyblock*/
20698 /*_#MELT_CALLCOUNT__L28*/ meltfnum[21] =
20699 /* for melt_callcount */
20700 #if MELT_HAVE_DEBUG && defined (meltcallcount)
20701 meltcallcount /* melt_callcount debugging */
20702 #else
20703 0L /* melt_callcount without debug */
20704 #endif /* MELT_HAVE_DEBUG melt_callcount */
20707 MELT_CHECK_SIGNAL();
20709 MELT_LOCATION("warmelt-macro.melt:7043:/ apply");
20710 /*apply*/
20712 union meltparam_un argtab[5];
20713 memset(&argtab, 0, sizeof(argtab));
20714 /*^apply.arg*/
20715 argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L28*/ meltfnum[21];
20716 /*^apply.arg*/
20717 argtab[1].meltbp_cstring = "warmelt-macro.melt";
20718 /*^apply.arg*/
20719 argtab[2].meltbp_long = 7043;
20720 /*^apply.arg*/
20721 argtab[3].meltbp_cstring = "mexpand_letbinding smacbind=";
20722 /*^apply.arg*/
20723 argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.SMACBIND__V100*/ meltfptr[90];
20724 /*_.MELT_DEBUG_FUN__V103*/
20725 meltfptr[87] = 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);
20728 /*_._IF___V102*/
20729 meltfptr[92] = /*_.MELT_DEBUG_FUN__V103*/ meltfptr[87];;
20730 /*epilog*/
20732 MELT_LOCATION("warmelt-macro.melt:7043:/ clear");
20733 /*clear*/ /*_#MELT_CALLCOUNT__L28*/
20734 meltfnum[21] = 0 ;
20735 /*^clear*/
20736 /*clear*/ /*_.MELT_DEBUG_FUN__V103*/
20737 meltfptr[87] = 0 ;
20741 else /*^cond.else*/
20744 /*_._IF___V102*/ meltfptr[92] = /*reallynil*/ NULL ;;
20749 MELT_LOCATION("warmelt-macro.melt:7043:/ locexp");
20750 /*void*/
20751 (void)0;
20754 /*^quasiblock*/
20757 /*epilog*/
20759 /*^clear*/
20760 /*clear*/ /*_#MELT_NEED_DBG__L27*/
20761 meltfnum[20] = 0 ;
20762 /*^clear*/
20763 /*clear*/ /*_._IF___V102*/
20764 meltfptr[92] = 0 ;
20767 #else /*MELT_HAVE_DEBUG*/
20768 /*^cppif.else*/
20769 /*^block*/
20770 /*anyblock*/
20775 /*^locexp*/
20776 /*void*/(void)0;
20779 /*epilog*/
20782 #endif /*MELT_HAVE_DEBUG*/
20785 MELT_CHECK_SIGNAL();
20787 MELT_LOCATION("warmelt-macro.melt:7044:/ quasiblock");
20790 /*_._RETVAL___V1*/
20791 meltfptr[0] = /*_.SMACBIND__V100*/ meltfptr[90];;
20794 MELT_LOCATION("warmelt-macro.melt:7044:/ locexp");
20795 /*ochecknores compilobj_nrep_return*/
20796 #if MELT_HAVE_DEBUG
20797 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
20798 melt_warn_for_no_expected_secondary_results();
20799 /* we warned when secondary results are expected but not returned. */
20800 #endif /*MELT_HAVE_DEBUG*/
20804 /*^finalreturn*/
20806 /*finalret*/
20807 goto meltlabend_rout ;
20808 /*_.LET___V99*/
20809 meltfptr[88] = /*_.RETURN___V104*/ meltfptr[86];;
20811 MELT_LOCATION("warmelt-macro.melt:7035:/ clear");
20812 /*clear*/ /*_.SMACBIND__V100*/
20813 meltfptr[90] = 0 ;
20814 /*^clear*/
20815 /*clear*/ /*_.RETURN___V104*/
20816 meltfptr[86] = 0 ;
20817 /*_.LET___V65*/
20818 meltfptr[37] = /*_.LET___V99*/ meltfptr[88];;
20820 MELT_LOCATION("warmelt-macro.melt:7009:/ clear");
20821 /*clear*/ /*_.MACFORMALS__V66*/
20822 meltfptr[39] = 0 ;
20823 /*^clear*/
20824 /*clear*/ /*_.VARNAME__V67*/
20825 meltfptr[36] = 0 ;
20826 /*^clear*/
20827 /*clear*/ /*_.MACBODY__V68*/
20828 meltfptr[31] = 0 ;
20829 /*^clear*/
20830 /*clear*/ /*_.NEWENV__V69*/
20831 meltfptr[32] = 0 ;
20832 /*^clear*/
20833 /*clear*/ /*_.PAIR_TAIL__V72*/
20834 meltfptr[43] = 0 ;
20835 /*^clear*/
20836 /*clear*/ /*_.SETQ___V73*/
20837 meltfptr[34] = 0 ;
20838 /*^clear*/
20839 /*clear*/ /*_#IS_A__L17*/
20840 meltfnum[15] = 0 ;
20841 /*^clear*/
20842 /*clear*/ /*_._IF___V74*/
20843 meltfptr[40] = 0 ;
20844 /*^clear*/
20845 /*clear*/ /*_#MULTIPLE_LENGTH__L18*/
20846 meltfnum[14] = 0 ;
20847 /*^clear*/
20848 /*clear*/ /*_#gtI__L19*/
20849 meltfnum[18] = 0 ;
20850 /*^clear*/
20851 /*clear*/ /*_._IF___V76*/
20852 meltfptr[33] = 0 ;
20853 /*^clear*/
20854 /*clear*/ /*_.EXPAND_PAIRLIST_AS_TUPLE__V95*/
20855 meltfptr[78] = 0 ;
20856 /*^clear*/
20857 /*clear*/ /*_.SETQ___V96*/
20858 meltfptr[85] = 0 ;
20859 /*^clear*/
20860 /*clear*/ /*_.LET___V99*/
20861 meltfptr[88] = 0 ;
20862 /*_._IF___V64*/
20863 meltfptr[30] = /*_.LET___V65*/ meltfptr[37];;
20864 /*epilog*/
20866 MELT_LOCATION("warmelt-macro.melt:7008:/ clear");
20867 /*clear*/ /*_.LET___V65*/
20868 meltfptr[37] = 0 ;
20872 else /*^cond.else*/
20875 /*_._IF___V64*/ meltfptr[30] = /*reallynil*/ NULL ;;
20879 MELT_CHECK_SIGNAL();
20881 MELT_LOCATION("warmelt-macro.melt:7047:/ cond");
20882 /*cond*/
20883 if (/*_.CURARG__V27*/ meltfptr[26]) /*then*/
20885 /*^cond.then*/
20886 /*^block*/
20887 /*anyblock*/
20891 MELT_CHECK_SIGNAL();
20893 MELT_LOCATION("warmelt-macro.melt:7048:/ apply");
20894 /*apply*/
20896 union meltparam_un argtab[3];
20897 memset(&argtab, 0, sizeof(argtab));
20898 /*^apply.arg*/
20899 argtab[0].meltbp_aptr = (melt_ptr_t*) &/*_.ENV__V3*/ meltfptr[2];
20900 /*^apply.arg*/
20901 argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.MEXPANDER__V4*/ meltfptr[3];
20902 /*^apply.arg*/
20903 argtab[2].meltbp_aptr = (melt_ptr_t*) &/*_.MODCTX__V5*/ meltfptr[4];
20904 /*_.MEXPANDER__V105*/
20905 meltfptr[87] = melt_apply ((meltclosure_ptr_t)(/*_.MEXPANDER__V4*/ meltfptr[3]), (melt_ptr_t)(/*_.CURARG__V27*/ meltfptr[26]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
20908 /*^compute*/
20909 /*_.EXPR__V25*/
20910 meltfptr[24] = /*_.SETQ___V106*/ meltfptr[92] = /*_.MEXPANDER__V105*/ meltfptr[87];;
20911 /*_.PAIR_TAIL__V107*/
20912 meltfptr[90] =
20913 (melt_pair_tail((melt_ptr_t)(/*_.CURPAIR__V26*/ meltfptr[25])));;
20914 MELT_LOCATION("warmelt-macro.melt:7049:/ compute");
20915 /*_.CURPAIR__V26*/
20916 meltfptr[25] = /*_.SETQ___V108*/ meltfptr[86] = /*_.PAIR_TAIL__V107*/ meltfptr[90];;
20917 /*_.PAIR_HEAD__V109*/
20918 meltfptr[39] =
20919 (melt_pair_head((melt_ptr_t)(/*_.CURPAIR__V26*/ meltfptr[25])));;
20920 MELT_LOCATION("warmelt-macro.melt:7050:/ compute");
20921 /*_.CURARG__V27*/
20922 meltfptr[26] = /*_.SETQ___V110*/ meltfptr[36] = /*_.PAIR_HEAD__V109*/ meltfptr[39];;
20924 MELT_CHECK_SIGNAL();
20926 MELT_LOCATION("warmelt-macro.melt:7051:/ cond");
20927 /*cond*/
20928 if (/*_.CURARG__V27*/ meltfptr[26]) /*then*/
20930 /*^cond.then*/
20931 /*^block*/
20932 /*anyblock*/
20937 /*^locexp*/
20938 /* error_plain */ melt_error_str((melt_ptr_t)(/*_.LOC__V22*/ meltfptr[21]), ( "too long letbinding"), (melt_ptr_t)0);
20941 /*epilog*/
20944 } /*noelse*/
20946 MELT_LOCATION("warmelt-macro.melt:7047:/ quasiblock");
20949 /*epilog*/
20951 /*^clear*/
20952 /*clear*/ /*_.MEXPANDER__V105*/
20953 meltfptr[87] = 0 ;
20954 /*^clear*/
20955 /*clear*/ /*_.SETQ___V106*/
20956 meltfptr[92] = 0 ;
20957 /*^clear*/
20958 /*clear*/ /*_.PAIR_TAIL__V107*/
20959 meltfptr[90] = 0 ;
20960 /*^clear*/
20961 /*clear*/ /*_.SETQ___V108*/
20962 meltfptr[86] = 0 ;
20963 /*^clear*/
20964 /*clear*/ /*_.PAIR_HEAD__V109*/
20965 meltfptr[39] = 0 ;
20966 /*^clear*/
20967 /*clear*/ /*_.SETQ___V110*/
20968 meltfptr[36] = 0 ;
20971 } /*noelse*/
20973 MELT_LOCATION("warmelt-macro.melt:7053:/ quasiblock");
20977 MELT_CHECK_SIGNAL();
20979 /*^apply*/
20980 /*apply*/
20982 union meltparam_un argtab[1];
20983 memset(&argtab, 0, sizeof(argtab));
20984 /*^apply.arg*/
20985 argtab[0].meltbp_aptr = (melt_ptr_t*) &/*_.VAR__V24*/ meltfptr[23];
20986 /*_.PREVBIND__V112*/
20987 meltfptr[32] = melt_apply ((meltclosure_ptr_t)((/*!FIND_ENV*/ meltfrout->tabval[21])), (melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
20991 MELT_CHECK_SIGNAL();
20993 /*_#NULL__L29*/
20994 meltfnum[21] =
20995 (/*null*/(/*_.PREVBIND__V112*/ meltfptr[32]) == NULL);;
20996 MELT_LOCATION("warmelt-macro.melt:7055:/ cond");
20997 /*cond*/
20998 if (/*_#NULL__L29*/ meltfnum[21]) /*then*/
21000 /*^cond.then*/
21001 /*_._IFELSE___V113*/ meltfptr[43] = (/*nil*/NULL);;
21003 else
21005 MELT_LOCATION("warmelt-macro.melt:7055:/ cond.else");
21007 /*^block*/
21008 /*anyblock*/
21012 MELT_CHECK_SIGNAL();
21014 /*_#IS_A__L30*/
21015 meltfnum[20] =
21016 melt_is_instance_of((melt_ptr_t)(/*_.PREVBIND__V112*/ meltfptr[32]), (melt_ptr_t)((/*!CLASS_LET_BINDING*/ meltfrout->tabval[25])));;
21017 MELT_LOCATION("warmelt-macro.melt:7056:/ cond");
21018 /*cond*/
21019 if (/*_#IS_A__L30*/ meltfnum[20]) /*then*/
21021 /*^cond.then*/
21022 /*^block*/
21023 /*anyblock*/
21026 MELT_LOCATION("warmelt-macro.melt:7057:/ quasiblock");
21029 /*^cond*/
21030 /*cond*/
21031 if (
21032 /*ifisa*/ melt_is_instance_of((melt_ptr_t)(/*_.PREVBIND__V112*/ meltfptr[32]),
21033 (melt_ptr_t)((/*!CLASS_LET_BINDING*/ meltfrout->tabval[25])))
21034 ) /*then*/
21036 /*^cond.then*/
21037 /*^getslot*/
21039 melt_ptr_t slot=NULL, obj=NULL;
21040 obj = (melt_ptr_t)(/*_.PREVBIND__V112*/ meltfptr[32]) /*=obj*/;
21041 melt_object_get_field(slot,obj, 3, "LETBIND_LOC");
21042 /*_.PREVLOC__V116*/
21043 meltfptr[33] = slot;
21047 else /*^cond.else*/
21050 /*_.PREVLOC__V116*/ meltfptr[33] = /*reallynil*/ NULL ;;
21053 MELT_LOCATION("warmelt-macro.melt:7060:/ cond");
21054 /*cond*/
21055 if (
21056 /*ifisa*/ melt_is_instance_of((melt_ptr_t)(/*_.VAR__V24*/ meltfptr[23]),
21057 (melt_ptr_t)((/*!CLASS_NAMED*/ meltfrout->tabval[11])))
21058 ) /*then*/
21060 /*^cond.then*/
21061 /*^getslot*/
21063 melt_ptr_t slot=NULL, obj=NULL;
21064 obj = (melt_ptr_t)(/*_.VAR__V24*/ meltfptr[23]) /*=obj*/;
21065 melt_object_get_field(slot,obj, 1, "NAMED_NAME");
21066 /*_.NAMED_NAME__V117*/
21067 meltfptr[78] = slot;
21071 else /*^cond.else*/
21074 /*_.NAMED_NAME__V117*/ meltfptr[78] = /*reallynil*/ NULL ;;
21078 MELT_CHECK_SIGNAL();
21080 MELT_LOCATION("warmelt-macro.melt:7058:/ apply");
21081 /*apply*/
21083 union meltparam_un argtab[2];
21084 memset(&argtab, 0, sizeof(argtab));
21085 /*^apply.arg*/
21086 argtab[0].meltbp_cstring = "local let binding $1 hides upper one";
21087 /*^apply.arg*/
21088 argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.NAMED_NAME__V117*/ meltfptr[78];
21089 /*_.WARNING_AT__V118*/
21090 meltfptr[85] = melt_apply ((meltclosure_ptr_t)((/*!WARNING_AT*/ meltfrout->tabval[10])), (melt_ptr_t)(/*_.LOC__V22*/ meltfptr[21]), (MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
21094 MELT_CHECK_SIGNAL();
21096 MELT_LOCATION("warmelt-macro.melt:7061:/ cond");
21097 /*cond*/
21098 if (/*_.PREVLOC__V116*/ meltfptr[33]) /*then*/
21100 /*^cond.then*/
21101 /*^block*/
21102 /*anyblock*/
21105 MELT_LOCATION("warmelt-macro.melt:7064:/ cond");
21106 /*cond*/
21107 if (
21108 /*ifisa*/ melt_is_instance_of((melt_ptr_t)(/*_.VAR__V24*/ meltfptr[23]),
21109 (melt_ptr_t)((/*!CLASS_NAMED*/ meltfrout->tabval[11])))
21110 ) /*then*/
21112 /*^cond.then*/
21113 /*^getslot*/
21115 melt_ptr_t slot=NULL, obj=NULL;
21116 obj = (melt_ptr_t)(/*_.VAR__V24*/ meltfptr[23]) /*=obj*/;
21117 melt_object_get_field(slot,obj, 1, "NAMED_NAME");
21118 /*_.NAMED_NAME__V120*/
21119 meltfptr[37] = slot;
21123 else /*^cond.else*/
21126 /*_.NAMED_NAME__V120*/ meltfptr[37] = /*reallynil*/ NULL ;;
21130 MELT_CHECK_SIGNAL();
21132 MELT_LOCATION("warmelt-macro.melt:7062:/ apply");
21133 /*apply*/
21135 union meltparam_un argtab[2];
21136 memset(&argtab, 0, sizeof(argtab));
21137 /*^apply.arg*/
21138 argtab[0].meltbp_cstring = "here is the hidden binding of $1";
21139 /*^apply.arg*/
21140 argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.NAMED_NAME__V120*/ meltfptr[37];
21141 /*_.WARNING_AT__V121*/
21142 meltfptr[87] = melt_apply ((meltclosure_ptr_t)((/*!WARNING_AT*/ meltfrout->tabval[10])), (melt_ptr_t)(/*_.PREVLOC__V116*/ meltfptr[33]), (MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
21145 /*_._IF___V119*/
21146 meltfptr[88] = /*_.WARNING_AT__V121*/ meltfptr[87];;
21147 /*epilog*/
21149 MELT_LOCATION("warmelt-macro.melt:7061:/ clear");
21150 /*clear*/ /*_.NAMED_NAME__V120*/
21151 meltfptr[37] = 0 ;
21152 /*^clear*/
21153 /*clear*/ /*_.WARNING_AT__V121*/
21154 meltfptr[87] = 0 ;
21158 else /*^cond.else*/
21161 /*_._IF___V119*/ meltfptr[88] = /*reallynil*/ NULL ;;
21164 /*^compute*/
21165 /*_.LET___V115*/
21166 meltfptr[40] = /*_._IF___V119*/ meltfptr[88];;
21168 MELT_LOCATION("warmelt-macro.melt:7057:/ clear");
21169 /*clear*/ /*_.PREVLOC__V116*/
21170 meltfptr[33] = 0 ;
21171 /*^clear*/
21172 /*clear*/ /*_.NAMED_NAME__V117*/
21173 meltfptr[78] = 0 ;
21174 /*^clear*/
21175 /*clear*/ /*_.WARNING_AT__V118*/
21176 meltfptr[85] = 0 ;
21177 /*^clear*/
21178 /*clear*/ /*_._IF___V119*/
21179 meltfptr[88] = 0 ;
21180 /*_._IFELSE___V114*/
21181 meltfptr[34] = /*_.LET___V115*/ meltfptr[40];;
21182 /*epilog*/
21184 MELT_LOCATION("warmelt-macro.melt:7056:/ clear");
21185 /*clear*/ /*_.LET___V115*/
21186 meltfptr[40] = 0 ;
21190 else /*^cond.else*/
21193 /*^block*/
21194 /*anyblock*/
21198 MELT_CHECK_SIGNAL();
21200 /*_#IS_A__L31*/
21201 meltfnum[15] =
21202 melt_is_instance_of((melt_ptr_t)(/*_.PREVBIND__V112*/ meltfptr[32]), (melt_ptr_t)((/*!CLASS_FIXED_BINDING*/ meltfrout->tabval[26])));;
21203 MELT_LOCATION("warmelt-macro.melt:7067:/ cond");
21204 /*cond*/
21205 if (/*_#IS_A__L31*/ meltfnum[15]) /*then*/
21207 /*^cond.then*/
21208 /*^block*/
21209 /*anyblock*/
21212 MELT_LOCATION("warmelt-macro.melt:7070:/ cond");
21213 /*cond*/
21214 if (
21215 /*ifisa*/ melt_is_instance_of((melt_ptr_t)(/*_.VAR__V24*/ meltfptr[23]),
21216 (melt_ptr_t)((/*!CLASS_NAMED*/ meltfrout->tabval[11])))
21217 ) /*then*/
21219 /*^cond.then*/
21220 /*^getslot*/
21222 melt_ptr_t slot=NULL, obj=NULL;
21223 obj = (melt_ptr_t)(/*_.VAR__V24*/ meltfptr[23]) /*=obj*/;
21224 melt_object_get_field(slot,obj, 1, "NAMED_NAME");
21225 /*_.NAMED_NAME__V123*/
21226 meltfptr[90] = slot;
21230 else /*^cond.else*/
21233 /*_.NAMED_NAME__V123*/ meltfptr[90] = /*reallynil*/ NULL ;;
21237 MELT_CHECK_SIGNAL();
21239 MELT_LOCATION("warmelt-macro.melt:7068:/ apply");
21240 /*apply*/
21242 union meltparam_un argtab[2];
21243 memset(&argtab, 0, sizeof(argtab));
21244 /*^apply.arg*/
21245 argtab[0].meltbp_cstring = "local let binding $1 hides definition";
21246 /*^apply.arg*/
21247 argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.NAMED_NAME__V123*/ meltfptr[90];
21248 /*_.WARNING_AT__V124*/
21249 meltfptr[86] = melt_apply ((meltclosure_ptr_t)((/*!WARNING_AT*/ meltfrout->tabval[10])), (melt_ptr_t)(/*_.LOC__V22*/ meltfptr[21]), (MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
21252 /*_._IFELSE___V122*/
21253 meltfptr[92] = /*_.WARNING_AT__V124*/ meltfptr[86];;
21254 /*epilog*/
21256 MELT_LOCATION("warmelt-macro.melt:7067:/ clear");
21257 /*clear*/ /*_.NAMED_NAME__V123*/
21258 meltfptr[90] = 0 ;
21259 /*^clear*/
21260 /*clear*/ /*_.WARNING_AT__V124*/
21261 meltfptr[86] = 0 ;
21265 else /*^cond.else*/
21268 /*_._IFELSE___V122*/ meltfptr[92] = /*reallynil*/ NULL ;;
21271 /*^compute*/
21272 /*_._IFELSE___V114*/
21273 meltfptr[34] = /*_._IFELSE___V122*/ meltfptr[92];;
21274 /*epilog*/
21276 MELT_LOCATION("warmelt-macro.melt:7056:/ clear");
21277 /*clear*/ /*_#IS_A__L31*/
21278 meltfnum[15] = 0 ;
21279 /*^clear*/
21280 /*clear*/ /*_._IFELSE___V122*/
21281 meltfptr[92] = 0 ;
21286 /*_._IFELSE___V113*/
21287 meltfptr[43] = /*_._IFELSE___V114*/ meltfptr[34];;
21288 /*epilog*/
21290 MELT_LOCATION("warmelt-macro.melt:7055:/ clear");
21291 /*clear*/ /*_#IS_A__L30*/
21292 meltfnum[20] = 0 ;
21293 /*^clear*/
21294 /*clear*/ /*_._IFELSE___V114*/
21295 meltfptr[34] = 0 ;
21300 /*_.LET___V111*/
21301 meltfptr[31] = /*_._IFELSE___V113*/ meltfptr[43];;
21303 MELT_LOCATION("warmelt-macro.melt:7053:/ clear");
21304 /*clear*/ /*_.PREVBIND__V112*/
21305 meltfptr[32] = 0 ;
21306 /*^clear*/
21307 /*clear*/ /*_#NULL__L29*/
21308 meltfnum[21] = 0 ;
21309 /*^clear*/
21310 /*clear*/ /*_._IFELSE___V113*/
21311 meltfptr[43] = 0 ;
21312 MELT_LOCATION("warmelt-macro.melt:7073:/ quasiblock");
21316 MELT_CHECK_SIGNAL();
21318 MELT_LOCATION("warmelt-macro.melt:7074:/ quasiblock");
21321 /*^rawallocobj*/
21322 /*rawallocobj*/
21324 melt_ptr_t newobj = 0;
21325 melt_raw_object_create(newobj,(melt_ptr_t)((/*!CLASS_SOURCE_LET_BINDING*/ meltfrout->tabval[27])), (5), "CLASS_SOURCE_LET_BINDING");
21326 /*_.INST__V127*/
21327 meltfptr[37] =
21328 newobj;
21331 /*^putslot*/
21332 /*putslot*/
21333 melt_assertmsg("checkobj putslot _ @LOCA_LOCATION", melt_magic_discr((melt_ptr_t)(/*_.INST__V127*/ meltfptr[37])) == MELTOBMAG_OBJECT);
21334 melt_putfield_object((/*_.INST__V127*/ meltfptr[37]), (1), (/*_.LOC__V22*/ meltfptr[21]), "LOCA_LOCATION");
21336 /*^putslot*/
21337 /*putslot*/
21338 melt_assertmsg("checkobj putslot _ @SLETB_TYPE", melt_magic_discr((melt_ptr_t)(/*_.INST__V127*/ meltfptr[37])) == MELTOBMAG_OBJECT);
21339 melt_putfield_object((/*_.INST__V127*/ meltfptr[37]), (3), (/*_.CTYP__V23*/ meltfptr[22]), "SLETB_TYPE");
21341 /*^putslot*/
21342 /*putslot*/
21343 melt_assertmsg("checkobj putslot _ @SLETB_BINDER", melt_magic_discr((melt_ptr_t)(/*_.INST__V127*/ meltfptr[37])) == MELTOBMAG_OBJECT);
21344 melt_putfield_object((/*_.INST__V127*/ meltfptr[37]), (2), (/*_.VAR__V24*/ meltfptr[23]), "SLETB_BINDER");
21346 /*^putslot*/
21347 /*putslot*/
21348 melt_assertmsg("checkobj putslot _ @SLETB_EXPR", melt_magic_discr((melt_ptr_t)(/*_.INST__V127*/ meltfptr[37])) == MELTOBMAG_OBJECT);
21349 melt_putfield_object((/*_.INST__V127*/ meltfptr[37]), (4), (/*_.EXPR__V25*/ meltfptr[24]), "SLETB_EXPR");
21351 /*^touchobj*/
21353 melt_dbgtrace_written_object (/*_.INST__V127*/ meltfptr[37], "newly made instance");
21355 /*_.LETB__V126*/
21356 meltfptr[36] = /*_.INST__V127*/ meltfptr[37];;
21358 MELT_CHECK_SIGNAL();
21360 MELT_LOCATION("warmelt-macro.melt:7079:/ quasiblock");
21363 /*_._RETVAL___V1*/
21364 meltfptr[0] = /*_.LETB__V126*/ meltfptr[36];;
21367 MELT_LOCATION("warmelt-macro.melt:7079:/ locexp");
21368 /*ochecknores compilobj_nrep_return*/
21369 #if MELT_HAVE_DEBUG
21370 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
21371 melt_warn_for_no_expected_secondary_results();
21372 /* we warned when secondary results are expected but not returned. */
21373 #endif /*MELT_HAVE_DEBUG*/
21377 /*^finalreturn*/
21379 /*finalret*/
21380 goto meltlabend_rout ;
21381 /*_.LET___V125*/
21382 meltfptr[39] = /*_.RETURN___V128*/ meltfptr[87];;
21384 MELT_LOCATION("warmelt-macro.melt:7073:/ clear");
21385 /*clear*/ /*_.LETB__V126*/
21386 meltfptr[36] = 0 ;
21387 /*^clear*/
21388 /*clear*/ /*_.RETURN___V128*/
21389 meltfptr[87] = 0 ;
21390 /*_.LET___V20*/
21391 meltfptr[18] = /*_.LET___V125*/ meltfptr[39];;
21393 MELT_LOCATION("warmelt-macro.melt:6964:/ clear");
21394 /*clear*/ /*_.CONT__V21*/
21395 meltfptr[5] = 0 ;
21396 /*^clear*/
21397 /*clear*/ /*_.LOC__V22*/
21398 meltfptr[21] = 0 ;
21399 /*^clear*/
21400 /*clear*/ /*_.CTYP__V23*/
21401 meltfptr[22] = 0 ;
21402 /*^clear*/
21403 /*clear*/ /*_.VAR__V24*/
21404 meltfptr[23] = 0 ;
21405 /*^clear*/
21406 /*clear*/ /*_.EXPR__V25*/
21407 meltfptr[24] = 0 ;
21408 /*^clear*/
21409 /*clear*/ /*_.CURPAIR__V26*/
21410 meltfptr[25] = 0 ;
21411 /*^clear*/
21412 /*clear*/ /*_.CURARG__V27*/
21413 meltfptr[26] = 0 ;
21414 /*^clear*/
21415 /*clear*/ /*_.PAIR_HEAD__V28*/
21416 meltfptr[27] = 0 ;
21417 /*^clear*/
21418 /*clear*/ /*_.SETQ___V29*/
21419 meltfptr[28] = 0 ;
21420 /*^clear*/
21421 /*clear*/ /*_#IS_A__L7*/
21422 meltfnum[1] = 0 ;
21423 /*^clear*/
21424 /*clear*/ /*_._IF___V30*/
21425 meltfptr[29] = 0 ;
21426 /*^clear*/
21427 /*clear*/ /*_#IS_A__L11*/
21428 meltfnum[9] = 0 ;
21429 /*^clear*/
21430 /*clear*/ /*_._IFELSE___V52*/
21431 meltfptr[41] = 0 ;
21432 /*^clear*/
21433 /*clear*/ /*_#NULL__L13*/
21434 meltfnum[0] = 0 ;
21435 /*^clear*/
21436 /*clear*/ /*_._IF___V62*/
21437 meltfptr[44] = 0 ;
21438 /*^clear*/
21439 /*clear*/ /*_#eqeq__L14*/
21440 meltfnum[8] = 0 ;
21441 /*^clear*/
21442 /*clear*/ /*_._IF___V64*/
21443 meltfptr[30] = 0 ;
21444 /*^clear*/
21445 /*clear*/ /*_.LET___V111*/
21446 meltfptr[31] = 0 ;
21447 /*^clear*/
21448 /*clear*/ /*_.LET___V125*/
21449 meltfptr[39] = 0 ;
21451 MELT_CHECK_SIGNAL();
21453 MELT_LOCATION("warmelt-macro.melt:6957:/ quasiblock");
21456 /*_._RETVAL___V1*/
21457 meltfptr[0] = /*_.LET___V20*/ meltfptr[18];;
21460 MELT_LOCATION("warmelt-macro.melt:6957:/ locexp");
21461 /*ochecknores compilobj_nrep_return*/
21462 #if MELT_HAVE_DEBUG
21463 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
21464 melt_warn_for_no_expected_secondary_results();
21465 /* we warned when secondary results are expected but not returned. */
21466 #endif /*MELT_HAVE_DEBUG*/
21470 /*^finalreturn*/
21472 /*finalret*/
21473 goto meltlabend_rout ;
21474 /*epilog*/
21476 /*^clear*/
21477 /*clear*/ /*_.IFCPP___V8*/
21478 meltfptr[6] = 0 ;
21479 /*^clear*/
21480 /*clear*/ /*_.IFCPP___V11*/
21481 meltfptr[9] = 0 ;
21482 /*^clear*/
21483 /*clear*/ /*_.IFCPP___V14*/
21484 meltfptr[12] = 0 ;
21485 /*^clear*/
21486 /*clear*/ /*_.IFCPP___V17*/
21487 meltfptr[15] = 0 ;
21488 /*^clear*/
21489 /*clear*/ /*_.LET___V20*/
21490 meltfptr[18] = 0 ;
21494 goto meltlabend_rout;
21495 meltlabend_rout:
21496 melt_trace_end("MEXPAND_LETBINDING", meltcallcount);
21497 melt_blocklevel_signals = current_blocklevel_signals_meltrout_122_WARMELTmiMACRO_MEXPAND_LETBINDING_melt;
21498 return (melt_ptr_t)(/*_._RETVAL___V1*/ meltfptr[0]);
21499 #undef meltcallcount
21500 #undef meltfram__
21501 #undef MELTFRAM_NBVARNUM
21502 #undef MELTFRAM_NBVARPTR
21503 } /*end meltrout_122_WARMELTmiMACRO_MEXPAND_LETBINDING*/
21510 melt_ptr_t MELT_MODULE_VISIBILITY
21511 meltrout_123_WARMELTmiMACRO_MEXPAND_LET(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_,
21512 const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_)
21514 long current_blocklevel_signals_meltrout_123_WARMELTmiMACRO_MEXPAND_LET_melt = melt_blocklevel_signals;
21516 #if MELT_HAVE_DEBUG
21517 static long melt_call_counter__;
21518 long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__;
21519 #undef meltcallcount
21520 #define meltcallcount melt_thiscallcounter__
21521 #else
21522 #undef meltcallcount
21523 #define meltcallcount 0L
21524 #endif
21525 //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1538
21527 /* start of frame for routine meltrout_123_WARMELTmiMACRO_MEXPAND_LET fromline 1752 */
21529 /** start of frame for meltrout_123_WARMELTmiMACRO_MEXPAND_LET of CLASS_PROCROUTINEOBJ from 1555**/
21531 /*curframdeclclassy*/ class MeltFrame_meltrout_123_WARMELTmiMACRO_MEXPAND_LET// fromline 1568
21532 : public Melt_CallFrameWithValues<122>
21534 public: /* fromline 1572*/
21535 long mcfr_varnum[47];
21536 /*classy others*/
21537 long _meltsparel;
21538 void melt_mark_stuff (void)
21540 } /*end melt_mark_stuff*/
21541 virtual void melt_mark_ggc_data (void)
21543 melt_mark_values ();
21544 melt_mark_stuff ();
21545 }; /*end melt_mark_ggc_data*/
21546 MeltFrame_meltrout_123_WARMELTmiMACRO_MEXPAND_LET(meltclosure_ptr_t clos) //the closure constructor fromline 1630
21547 : Melt_CallFrameWithValues<122> (
21548 #if ENABLE_CHECKING /*fromline 1634*/
21549 __FILE__, __LINE__,
21550 #endif /* ENABLE_CHECKING fromline 1638*/
21551 sizeof(MeltFrame_meltrout_123_WARMELTmiMACRO_MEXPAND_LET), clos) {};
21552 MeltFrame_meltrout_123_WARMELTmiMACRO_MEXPAND_LET() //the constructor fromline 1642
21553 : Melt_CallFrameWithValues<122> (
21554 #if ENABLE_CHECKING /*fromline 1646*/
21555 __FILE__, __LINE__,
21556 #endif /* ENABLE_CHECKING fromline 1650*/
21557 sizeof(MeltFrame_meltrout_123_WARMELTmiMACRO_MEXPAND_LET)) {};
21558 #if ENABLE_CHECKING /*fromline 1654*/
21559 MeltFrame_meltrout_123_WARMELTmiMACRO_MEXPAND_LET(const char*fil, int lin) //the constructor fromline 1656
21560 : Melt_CallFrameWithValues<122> (fil,lin, sizeof(MeltFrame_meltrout_123_WARMELTmiMACRO_MEXPAND_LET)) {};
21561 MeltFrame_meltrout_123_WARMELTmiMACRO_MEXPAND_LET(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1661
21562 : Melt_CallFrameWithValues<122> (fil,lin, sizeof(MeltFrame_meltrout_123_WARMELTmiMACRO_MEXPAND_LET), clos) {};
21563 #endif /* ENABLE_CHECKING fromline 1666*/
21565 }; // end class MeltFrame_meltrout_123_WARMELTmiMACRO_MEXPAND_LET
21568 /** end of frame for meltrout_123_WARMELTmiMACRO_MEXPAND_LET fromline 1697**/
21570 /* end of frame for routine meltrout_123_WARMELTmiMACRO_MEXPAND_LET fromline 1756 */
21572 /* classy proc frame meltrout_123_WARMELTmiMACRO_MEXPAND_LET */
21573 MeltFrame_meltrout_123_WARMELTmiMACRO_MEXPAND_LET
21574 meltfram__ /*declfrastruct fromline 1780*/
21575 /*classyprocarg meltrout_123_WARMELTmiMACRO_MEXPAND_LET fromline 1785*/
21576 #if ENABLE_CHECKING
21577 (__FILE__, __LINE__, meltclosp_) /* fromline 1789*/
21578 #else /*ENABLE_CHECKING */
21579 (meltclosp_) /* fromline 1793*/
21580 #endif /*ENABLE_CHECKING */
21583 #define meltframe meltfram__
21585 melt_trace_start("MEXPAND_LET", meltcallcount);
21586 /*use arguments*/
21587 (void) meltclosp_;
21588 (void)meltfirstargp_;
21589 (void)meltxargdescr_;
21590 (void)meltxargtab_;
21591 (void)meltxresdescr_;
21592 (void)meltxrestab_;
21593 /*getargs*/
21595 /*getarg#0*/
21596 MELT_LOCATION("warmelt-macro.melt:7085:/ getarg");
21597 /*_.SEXPR__V2*/
21598 meltfptr[1] = (melt_ptr_t) meltfirstargp_;
21600 /*getarg#1*/
21601 /*^getarg*/
21602 if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_endgetargs;
21603 /*_.ENV__V3*/
21604 meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL;
21605 gcc_assert(melt_discr((melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2])) != NULL);
21608 /*getarg#2*/
21609 /*^getarg*/
21610 if (meltxargdescr_[1] != MELTBPAR_PTR) goto meltlab_endgetargs;
21611 /*_.MEXPANDER__V4*/
21612 meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL;
21613 gcc_assert(melt_discr((melt_ptr_t)(/*_.MEXPANDER__V4*/ meltfptr[3])) != NULL);
21616 /*getarg#3*/
21617 /*^getarg*/
21618 if (meltxargdescr_[2] != MELTBPAR_PTR) goto meltlab_endgetargs;
21619 /*_.MODCTX__V5*/
21620 meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL;
21621 gcc_assert(melt_discr((melt_ptr_t)(/*_.MODCTX__V5*/ meltfptr[4])) != NULL);
21624 goto meltlab_endgetargs;
21625 meltlab_endgetargs:
21627 /*body*/
21628 /*^block*/
21629 /*anyblock*/
21633 #if MELT_HAVE_DEBUG
21634 MELT_LOCATION("warmelt-macro.melt:7086:/ cppif.then");
21635 /*^block*/
21636 /*anyblock*/
21641 /*^locexp*/
21642 /*melt_increment_dbgcounter*/
21643 #if MELT_HAVE_DEBUG
21644 melt_dbgcounter++;
21645 #endif
21650 MELT_CHECK_SIGNAL();
21652 /*_#MELT_NEED_DBG__L1*/
21653 meltfnum[0] =
21654 /*MELT_NEED_DBG*/
21655 #if MELT_HAVE_DEBUG
21656 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
21657 #else
21658 0 /* no melt_need_dbg */
21659 #endif /*MELT_HAVE_DEBUG*/
21661 MELT_LOCATION("warmelt-macro.melt:7086:/ cond");
21662 /*cond*/
21663 if (/*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then*/
21665 /*^cond.then*/
21666 /*^block*/
21667 /*anyblock*/
21670 /*_#MELT_CALLCOUNT__L2*/ meltfnum[1] =
21671 /* for melt_callcount */
21672 #if MELT_HAVE_DEBUG && defined (meltcallcount)
21673 meltcallcount /* melt_callcount debugging */
21674 #else
21675 0L /* melt_callcount without debug */
21676 #endif /* MELT_HAVE_DEBUG melt_callcount */
21679 MELT_CHECK_SIGNAL();
21681 MELT_LOCATION("warmelt-macro.melt:7086:/ apply");
21682 /*apply*/
21684 union meltparam_un argtab[11];
21685 memset(&argtab, 0, sizeof(argtab));
21686 /*^apply.arg*/
21687 argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L2*/ meltfnum[1];
21688 /*^apply.arg*/
21689 argtab[1].meltbp_cstring = "warmelt-macro.melt";
21690 /*^apply.arg*/
21691 argtab[2].meltbp_long = 7086;
21692 /*^apply.arg*/
21693 argtab[3].meltbp_cstring = "mexpand_let";
21694 /*^apply.arg*/
21695 argtab[4].meltbp_cstring = " start sexpr=";
21696 /*^apply.arg*/
21697 argtab[5].meltbp_aptr = (melt_ptr_t*) &/*_.SEXPR__V2*/ meltfptr[1];
21698 /*^apply.arg*/
21699 argtab[6].meltbp_cstring = " env=";
21700 /*^apply.arg*/
21701 argtab[7].meltbp_aptr = (melt_ptr_t*) &(/*!DEBUG_LESS*/ meltfrout->tabval[1]);
21702 /*^apply.arg*/
21703 argtab[8].meltbp_aptr = (melt_ptr_t*) &/*_.ENV__V3*/ meltfptr[2];
21704 /*^apply.arg*/
21705 argtab[9].meltbp_cstring = "\n.. modctx=";
21706 /*^apply.arg*/
21707 argtab[10].meltbp_aptr = (melt_ptr_t*) &/*_.MODCTX__V5*/ meltfptr[4];
21708 /*_.MELT_DEBUG_FUN__V7*/
21709 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_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
21712 /*_._IF___V6*/
21713 meltfptr[5] = /*_.MELT_DEBUG_FUN__V7*/ meltfptr[6];;
21714 /*epilog*/
21716 MELT_LOCATION("warmelt-macro.melt:7086:/ clear");
21717 /*clear*/ /*_#MELT_CALLCOUNT__L2*/
21718 meltfnum[1] = 0 ;
21719 /*^clear*/
21720 /*clear*/ /*_.MELT_DEBUG_FUN__V7*/
21721 meltfptr[6] = 0 ;
21725 else /*^cond.else*/
21728 /*_._IF___V6*/ meltfptr[5] = /*reallynil*/ NULL ;;
21733 MELT_LOCATION("warmelt-macro.melt:7086:/ locexp");
21734 /*void*/
21735 (void)0;
21738 /*^quasiblock*/
21741 /*epilog*/
21743 /*^clear*/
21744 /*clear*/ /*_#MELT_NEED_DBG__L1*/
21745 meltfnum[0] = 0 ;
21746 /*^clear*/
21747 /*clear*/ /*_._IF___V6*/
21748 meltfptr[5] = 0 ;
21751 #else /*MELT_HAVE_DEBUG*/
21752 /*^cppif.else*/
21753 /*^block*/
21754 /*anyblock*/
21759 /*^locexp*/
21760 /*void*/(void)0;
21763 /*epilog*/
21766 #endif /*MELT_HAVE_DEBUG*/
21769 #if MELT_HAVE_DEBUG
21770 MELT_LOCATION("warmelt-macro.melt:7088:/ cppif.then");
21771 /*^block*/
21772 /*anyblock*/
21776 MELT_CHECK_SIGNAL();
21778 /*_#IS_A__L3*/
21779 meltfnum[1] =
21780 melt_is_instance_of((melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_SEXPR*/ meltfrout->tabval[2])));;
21781 MELT_LOCATION("warmelt-macro.melt:7088:/ cond");
21782 /*cond*/
21783 if (/*_#IS_A__L3*/ meltfnum[1]) /*then*/
21785 /*^cond.then*/
21786 /*_._IFELSE___V9*/ meltfptr[5] = (/*nil*/NULL);;
21788 else
21790 MELT_LOCATION("warmelt-macro.melt:7088:/ cond.else");
21792 /*^block*/
21793 /*anyblock*/
21797 MELT_CHECK_SIGNAL();
21799 /*^apply*/
21800 /*apply*/
21802 union meltparam_un argtab[4];
21803 memset(&argtab, 0, sizeof(argtab));
21804 /*^apply.arg*/
21805 argtab[0].meltbp_cstring = "check sexpr";
21806 /*^apply.arg*/
21807 argtab[1].meltbp_cstring = "warmelt-macro.melt";
21808 /*^apply.arg*/
21809 argtab[2].meltbp_long = 7088;
21810 /*^apply.arg*/
21811 argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.SEXPR__V2*/ meltfptr[1];
21812 /*_.MELT_ASSERT_FAILURE_FUN__V10*/
21813 meltfptr[9] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[3])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
21816 /*_._IFELSE___V9*/
21817 meltfptr[5] = /*_.MELT_ASSERT_FAILURE_FUN__V10*/ meltfptr[9];;
21818 /*epilog*/
21820 MELT_LOCATION("warmelt-macro.melt:7088:/ clear");
21821 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V10*/
21822 meltfptr[9] = 0 ;
21827 /*_.IFCPP___V8*/
21828 meltfptr[6] = /*_._IFELSE___V9*/ meltfptr[5];;
21829 /*epilog*/
21831 MELT_LOCATION("warmelt-macro.melt:7088:/ clear");
21832 /*clear*/ /*_#IS_A__L3*/
21833 meltfnum[1] = 0 ;
21834 /*^clear*/
21835 /*clear*/ /*_._IFELSE___V9*/
21836 meltfptr[5] = 0 ;
21839 #else /*MELT_HAVE_DEBUG*/
21840 /*^cppif.else*/
21841 /*_.IFCPP___V8*/ meltfptr[6] = (/*nil*/NULL);
21842 #endif /*MELT_HAVE_DEBUG*/
21845 #if MELT_HAVE_DEBUG
21846 MELT_LOCATION("warmelt-macro.melt:7089:/ cppif.then");
21847 /*^block*/
21848 /*anyblock*/
21852 MELT_CHECK_SIGNAL();
21854 /*_#IS_A__L4*/
21855 meltfnum[0] =
21856 melt_is_instance_of((melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2]), (melt_ptr_t)((/*!CLASS_ENVIRONMENT*/ meltfrout->tabval[4])));;
21857 MELT_LOCATION("warmelt-macro.melt:7089:/ cond");
21858 /*cond*/
21859 if (/*_#IS_A__L4*/ meltfnum[0]) /*then*/
21861 /*^cond.then*/
21862 /*_._IFELSE___V12*/ meltfptr[5] = (/*nil*/NULL);;
21864 else
21866 MELT_LOCATION("warmelt-macro.melt:7089:/ cond.else");
21868 /*^block*/
21869 /*anyblock*/
21873 MELT_CHECK_SIGNAL();
21875 /*^apply*/
21876 /*apply*/
21878 union meltparam_un argtab[4];
21879 memset(&argtab, 0, sizeof(argtab));
21880 /*^apply.arg*/
21881 argtab[0].meltbp_cstring = "check env";
21882 /*^apply.arg*/
21883 argtab[1].meltbp_cstring = "warmelt-macro.melt";
21884 /*^apply.arg*/
21885 argtab[2].meltbp_long = 7089;
21886 /*^apply.arg*/
21887 argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.ENV__V3*/ meltfptr[2];
21888 /*_.MELT_ASSERT_FAILURE_FUN__V13*/
21889 meltfptr[12] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[3])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
21892 /*_._IFELSE___V12*/
21893 meltfptr[5] = /*_.MELT_ASSERT_FAILURE_FUN__V13*/ meltfptr[12];;
21894 /*epilog*/
21896 MELT_LOCATION("warmelt-macro.melt:7089:/ clear");
21897 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V13*/
21898 meltfptr[12] = 0 ;
21903 /*_.IFCPP___V11*/
21904 meltfptr[9] = /*_._IFELSE___V12*/ meltfptr[5];;
21905 /*epilog*/
21907 MELT_LOCATION("warmelt-macro.melt:7089:/ clear");
21908 /*clear*/ /*_#IS_A__L4*/
21909 meltfnum[0] = 0 ;
21910 /*^clear*/
21911 /*clear*/ /*_._IFELSE___V12*/
21912 meltfptr[5] = 0 ;
21915 #else /*MELT_HAVE_DEBUG*/
21916 /*^cppif.else*/
21917 /*_.IFCPP___V11*/ meltfptr[9] = (/*nil*/NULL);
21918 #endif /*MELT_HAVE_DEBUG*/
21921 #if MELT_HAVE_DEBUG
21922 MELT_LOCATION("warmelt-macro.melt:7090:/ cppif.then");
21923 /*^block*/
21924 /*anyblock*/
21928 MELT_CHECK_SIGNAL();
21930 /*_#IS_CLOSURE__L5*/
21931 meltfnum[1] =
21932 (melt_magic_discr((melt_ptr_t)(/*_.MEXPANDER__V4*/ meltfptr[3])) == MELTOBMAG_CLOSURE);;
21933 MELT_LOCATION("warmelt-macro.melt:7090:/ cond");
21934 /*cond*/
21935 if (/*_#IS_CLOSURE__L5*/ meltfnum[1]) /*then*/
21937 /*^cond.then*/
21938 /*_._IFELSE___V15*/ meltfptr[5] = (/*nil*/NULL);;
21940 else
21942 MELT_LOCATION("warmelt-macro.melt:7090:/ cond.else");
21944 /*^block*/
21945 /*anyblock*/
21949 MELT_CHECK_SIGNAL();
21951 /*^apply*/
21952 /*apply*/
21954 union meltparam_un argtab[4];
21955 memset(&argtab, 0, sizeof(argtab));
21956 /*^apply.arg*/
21957 argtab[0].meltbp_cstring = "check mexpander";
21958 /*^apply.arg*/
21959 argtab[1].meltbp_cstring = "warmelt-macro.melt";
21960 /*^apply.arg*/
21961 argtab[2].meltbp_long = 7090;
21962 /*^apply.arg*/
21963 argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.MEXPANDER__V4*/ meltfptr[3];
21964 /*_.MELT_ASSERT_FAILURE_FUN__V16*/
21965 meltfptr[15] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[3])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
21968 /*_._IFELSE___V15*/
21969 meltfptr[5] = /*_.MELT_ASSERT_FAILURE_FUN__V16*/ meltfptr[15];;
21970 /*epilog*/
21972 MELT_LOCATION("warmelt-macro.melt:7090:/ clear");
21973 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V16*/
21974 meltfptr[15] = 0 ;
21979 /*_.IFCPP___V14*/
21980 meltfptr[12] = /*_._IFELSE___V15*/ meltfptr[5];;
21981 /*epilog*/
21983 MELT_LOCATION("warmelt-macro.melt:7090:/ clear");
21984 /*clear*/ /*_#IS_CLOSURE__L5*/
21985 meltfnum[1] = 0 ;
21986 /*^clear*/
21987 /*clear*/ /*_._IFELSE___V15*/
21988 meltfptr[5] = 0 ;
21991 #else /*MELT_HAVE_DEBUG*/
21992 /*^cppif.else*/
21993 /*_.IFCPP___V14*/ meltfptr[12] = (/*nil*/NULL);
21994 #endif /*MELT_HAVE_DEBUG*/
21997 #if MELT_HAVE_DEBUG
21998 MELT_LOCATION("warmelt-macro.melt:7091:/ cppif.then");
21999 /*^block*/
22000 /*anyblock*/
22004 MELT_CHECK_SIGNAL();
22006 /*_#IS_OBJECT__L6*/
22007 meltfnum[0] =
22008 (melt_magic_discr((melt_ptr_t)(/*_.MODCTX__V5*/ meltfptr[4])) == MELTOBMAG_OBJECT);;
22009 MELT_LOCATION("warmelt-macro.melt:7091:/ cond");
22010 /*cond*/
22011 if (/*_#IS_OBJECT__L6*/ meltfnum[0]) /*then*/
22013 /*^cond.then*/
22014 /*_._IFELSE___V18*/ meltfptr[5] = (/*nil*/NULL);;
22016 else
22018 MELT_LOCATION("warmelt-macro.melt:7091:/ cond.else");
22020 /*^block*/
22021 /*anyblock*/
22025 MELT_CHECK_SIGNAL();
22027 /*^apply*/
22028 /*apply*/
22030 union meltparam_un argtab[4];
22031 memset(&argtab, 0, sizeof(argtab));
22032 /*^apply.arg*/
22033 argtab[0].meltbp_cstring = "check modctx";
22034 /*^apply.arg*/
22035 argtab[1].meltbp_cstring = "warmelt-macro.melt";
22036 /*^apply.arg*/
22037 argtab[2].meltbp_long = 7091;
22038 /*^apply.arg*/
22039 argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.MODCTX__V5*/ meltfptr[4];
22040 /*_.MELT_ASSERT_FAILURE_FUN__V19*/
22041 meltfptr[18] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[3])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
22044 /*_._IFELSE___V18*/
22045 meltfptr[5] = /*_.MELT_ASSERT_FAILURE_FUN__V19*/ meltfptr[18];;
22046 /*epilog*/
22048 MELT_LOCATION("warmelt-macro.melt:7091:/ clear");
22049 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V19*/
22050 meltfptr[18] = 0 ;
22055 /*_.IFCPP___V17*/
22056 meltfptr[15] = /*_._IFELSE___V18*/ meltfptr[5];;
22057 /*epilog*/
22059 MELT_LOCATION("warmelt-macro.melt:7091:/ clear");
22060 /*clear*/ /*_#IS_OBJECT__L6*/
22061 meltfnum[0] = 0 ;
22062 /*^clear*/
22063 /*clear*/ /*_._IFELSE___V18*/
22064 meltfptr[5] = 0 ;
22067 #else /*MELT_HAVE_DEBUG*/
22068 /*^cppif.else*/
22069 /*_.IFCPP___V17*/ meltfptr[15] = (/*nil*/NULL);
22070 #endif /*MELT_HAVE_DEBUG*/
22072 MELT_LOCATION("warmelt-macro.melt:7092:/ quasiblock");
22075 MELT_LOCATION("warmelt-macro.melt:7093:/ getslot");
22077 melt_ptr_t slot=NULL, obj=NULL;
22078 obj = (melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/;
22079 melt_object_get_field(slot,obj, 2, "SEXP_CONTENTS");
22080 /*_.CONT__V21*/
22081 meltfptr[5] = slot;
22084 MELT_LOCATION("warmelt-macro.melt:7094:/ getslot");
22086 melt_ptr_t slot=NULL, obj=NULL;
22087 obj = (melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/;
22088 melt_object_get_field(slot,obj, 1, "LOCA_LOCATION");
22089 /*_.LOC__V22*/
22090 meltfptr[21] = slot;
22093 /*_.LIST_FIRST__V23*/
22094 meltfptr[22] =
22095 (melt_list_first((melt_ptr_t)(/*_.CONT__V21*/ meltfptr[5])));;
22096 /*^compute*/
22097 /*_.SECPAIR__V24*/
22098 meltfptr[23] =
22099 (melt_pair_tail((melt_ptr_t)(/*_.LIST_FIRST__V23*/ meltfptr[22])));;
22100 /*^compute*/
22101 /*_.RESTPAIR__V25*/
22102 meltfptr[24] =
22103 (melt_pair_tail((melt_ptr_t)(/*_.SECPAIR__V24*/ meltfptr[23])));;
22104 /*^compute*/
22105 /*_.BINDEXPR__V26*/
22106 meltfptr[25] =
22107 (melt_pair_head((melt_ptr_t)(/*_.SECPAIR__V24*/ meltfptr[23])));;
22109 MELT_CHECK_SIGNAL();
22111 /*^compute*/
22112 /*_#IS_A__L7*/
22113 meltfnum[1] =
22114 melt_is_instance_of((melt_ptr_t)(/*_.BINDEXPR__V26*/ meltfptr[25]), (melt_ptr_t)((/*!CLASS_SEXPR*/ meltfrout->tabval[2])));;
22115 MELT_LOCATION("warmelt-macro.melt:7099:/ cond");
22116 /*cond*/
22117 if (/*_#IS_A__L7*/ meltfnum[1]) /*then*/
22119 /*^cond.then*/
22120 /*^block*/
22121 /*anyblock*/
22124 MELT_LOCATION("warmelt-macro.melt:7100:/ cond");
22125 /*cond*/
22126 if (
22127 /*ifisa*/ melt_is_instance_of((melt_ptr_t)(/*_.BINDEXPR__V26*/ meltfptr[25]),
22128 (melt_ptr_t)((/*!CLASS_SEXPR*/ meltfrout->tabval[2])))
22129 ) /*then*/
22131 /*^cond.then*/
22132 /*^getslot*/
22134 melt_ptr_t slot=NULL, obj=NULL;
22135 obj = (melt_ptr_t)(/*_.BINDEXPR__V26*/ meltfptr[25]) /*=obj*/;
22136 melt_object_get_field(slot,obj, 2, "SEXP_CONTENTS");
22137 /*_.SEXP_CONTENTS__V28*/
22138 meltfptr[27] = slot;
22142 else /*^cond.else*/
22145 /*_.SEXP_CONTENTS__V28*/ meltfptr[27] = /*reallynil*/ NULL ;;
22148 /*^compute*/
22149 /*_.SBINDLIST__V27*/
22150 meltfptr[26] = /*_.SEXP_CONTENTS__V28*/ meltfptr[27];;
22151 /*epilog*/
22153 MELT_LOCATION("warmelt-macro.melt:7099:/ clear");
22154 /*clear*/ /*_.SEXP_CONTENTS__V28*/
22155 meltfptr[27] = 0 ;
22159 else /*^cond.else*/
22162 /*^block*/
22163 /*anyblock*/
22167 MELT_CHECK_SIGNAL();
22169 /*_#NULL__L8*/
22170 meltfnum[0] =
22171 (/*null*/(/*_.BINDEXPR__V26*/ meltfptr[25]) == NULL);;
22172 MELT_LOCATION("warmelt-macro.melt:7101:/ cond");
22173 /*cond*/
22174 if (/*_#NULL__L8*/ meltfnum[0]) /*then*/
22176 /*^cond.then*/
22177 /*_._IFELSE___V29*/ meltfptr[27] = (/*nil*/NULL);;
22179 else
22181 MELT_LOCATION("warmelt-macro.melt:7101:/ cond.else");
22183 /*^block*/
22184 /*anyblock*/
22188 MELT_CHECK_SIGNAL();
22190 /*_#IS_LIST__L9*/
22191 meltfnum[8] =
22192 (melt_magic_discr((melt_ptr_t)(/*_.BINDEXPR__V26*/ meltfptr[25])) == MELTOBMAG_LIST);;
22193 MELT_LOCATION("warmelt-macro.melt:7103:/ cond");
22194 /*cond*/
22195 if (/*_#IS_LIST__L9*/ meltfnum[8]) /*then*/
22197 /*^cond.then*/
22198 /*_._IFELSE___V30*/ meltfptr[29] = /*_.BINDEXPR__V26*/ meltfptr[25];;
22200 else
22202 MELT_LOCATION("warmelt-macro.melt:7103:/ cond.else");
22204 /*^block*/
22205 /*anyblock*/
22209 MELT_CHECK_SIGNAL();
22211 MELT_LOCATION("warmelt-macro.melt:7106:/ apply");
22212 /*apply*/
22214 union meltparam_un argtab[1];
22215 memset(&argtab, 0, sizeof(argtab));
22216 /*^apply.arg*/
22217 argtab[0].meltbp_cstring = "invalid bindings in LET";
22218 /*_.ERROR_AT__V31*/
22219 meltfptr[30] = melt_apply ((meltclosure_ptr_t)((/*!ERROR_AT*/ meltfrout->tabval[5])), (melt_ptr_t)(/*_.LOC__V22*/ meltfptr[21]), (MELTBPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0);
22222 MELT_LOCATION("warmelt-macro.melt:7105:/ quasiblock");
22225 /*_.PROGN___V32*/
22226 meltfptr[31] = (/*nil*/NULL);;
22227 /*^compute*/
22228 /*_._IFELSE___V30*/
22229 meltfptr[29] = /*_.PROGN___V32*/ meltfptr[31];;
22230 /*epilog*/
22232 MELT_LOCATION("warmelt-macro.melt:7103:/ clear");
22233 /*clear*/ /*_.ERROR_AT__V31*/
22234 meltfptr[30] = 0 ;
22235 /*^clear*/
22236 /*clear*/ /*_.PROGN___V32*/
22237 meltfptr[31] = 0 ;
22242 /*_._IFELSE___V29*/
22243 meltfptr[27] = /*_._IFELSE___V30*/ meltfptr[29];;
22244 /*epilog*/
22246 MELT_LOCATION("warmelt-macro.melt:7101:/ clear");
22247 /*clear*/ /*_#IS_LIST__L9*/
22248 meltfnum[8] = 0 ;
22249 /*^clear*/
22250 /*clear*/ /*_._IFELSE___V30*/
22251 meltfptr[29] = 0 ;
22256 /*_.SBINDLIST__V27*/
22257 meltfptr[26] = /*_._IFELSE___V29*/ meltfptr[27];;
22258 /*epilog*/
22260 MELT_LOCATION("warmelt-macro.melt:7099:/ clear");
22261 /*clear*/ /*_#NULL__L8*/
22262 meltfnum[0] = 0 ;
22263 /*^clear*/
22264 /*clear*/ /*_._IFELSE___V29*/
22265 meltfptr[27] = 0 ;
22270 /*_.LETBINDLIST__V33*/
22271 meltfptr[30] =
22272 (meltgc_new_list((meltobject_ptr_t)((/*!DISCR_LIST*/ meltfrout->tabval[6]))));;
22274 MELT_CHECK_SIGNAL();
22276 MELT_LOCATION("warmelt-macro.melt:7109:/ apply");
22277 /*apply*/
22279 /*_.NEWENV__V34*/ meltfptr[31] = melt_apply ((meltclosure_ptr_t)((/*!FRESH_ENV*/ meltfrout->tabval[7])), (melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2]), (""), (union meltparam_un*)0, "", (union meltparam_un*)0);
22282 MELT_LOCATION("warmelt-macro.melt:7110:/ cond");
22283 /*cond*/
22284 if (
22285 /*ifisa*/ melt_is_instance_of((melt_ptr_t)(/*_.MODCTX__V5*/ meltfptr[4]),
22286 (melt_ptr_t)((/*!CLASS_ANY_MODULE_CONTEXT*/ meltfrout->tabval[8])))
22287 ) /*then*/
22289 /*^cond.then*/
22290 /*^getslot*/
22292 melt_ptr_t slot=NULL, obj=NULL;
22293 obj = (melt_ptr_t)(/*_.MODCTX__V5*/ meltfptr[4]) /*=obj*/;
22294 melt_object_get_field(slot,obj, 20, "MOCX_MACROLIST");
22295 /*_.MACLIST__V35*/
22296 meltfptr[29] = slot;
22300 else /*^cond.else*/
22303 /*_.MACLIST__V35*/ meltfptr[29] = /*reallynil*/ NULL ;;
22307 #if MELT_HAVE_DEBUG
22308 MELT_LOCATION("warmelt-macro.melt:7112:/ cppif.then");
22309 /*^block*/
22310 /*anyblock*/
22315 /*^locexp*/
22316 /*melt_increment_dbgcounter*/
22317 #if MELT_HAVE_DEBUG
22318 melt_dbgcounter++;
22319 #endif
22324 MELT_CHECK_SIGNAL();
22326 /*_#MELT_NEED_DBG__L10*/
22327 meltfnum[8] =
22328 /*MELT_NEED_DBG*/
22329 #if MELT_HAVE_DEBUG
22330 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
22331 #else
22332 0 /* no melt_need_dbg */
22333 #endif /*MELT_HAVE_DEBUG*/
22335 MELT_LOCATION("warmelt-macro.melt:7112:/ cond");
22336 /*cond*/
22337 if (/*_#MELT_NEED_DBG__L10*/ meltfnum[8]) /*then*/
22339 /*^cond.then*/
22340 /*^block*/
22341 /*anyblock*/
22344 /*_#MELT_CALLCOUNT__L11*/ meltfnum[0] =
22345 /* for melt_callcount */
22346 #if MELT_HAVE_DEBUG && defined (meltcallcount)
22347 meltcallcount /* melt_callcount debugging */
22348 #else
22349 0L /* melt_callcount without debug */
22350 #endif /* MELT_HAVE_DEBUG melt_callcount */
22353 MELT_CHECK_SIGNAL();
22355 MELT_LOCATION("warmelt-macro.melt:7112:/ apply");
22356 /*apply*/
22358 union meltparam_un argtab[15];
22359 memset(&argtab, 0, sizeof(argtab));
22360 /*^apply.arg*/
22361 argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L11*/ meltfnum[0];
22362 /*^apply.arg*/
22363 argtab[1].meltbp_cstring = "warmelt-macro.melt";
22364 /*^apply.arg*/
22365 argtab[2].meltbp_long = 7112;
22366 /*^apply.arg*/
22367 argtab[3].meltbp_cstring = "mexpand_let";
22368 /*^apply.arg*/
22369 argtab[4].meltbp_cstring = " loc=";
22370 /*^apply.arg*/
22371 argtab[5].meltbp_aptr = (melt_ptr_t*) &/*_.LOC__V22*/ meltfptr[21];
22372 /*^apply.arg*/
22373 argtab[6].meltbp_cstring = " cont=";
22374 /*^apply.arg*/
22375 argtab[7].meltbp_aptr = (melt_ptr_t*) &/*_.CONT__V21*/ meltfptr[5];
22376 /*^apply.arg*/
22377 argtab[8].meltbp_cstring = "\n.. newenv=";
22378 /*^apply.arg*/
22379 argtab[9].meltbp_aptr = (melt_ptr_t*) &(/*!DEBUG_LESS*/ meltfrout->tabval[1]);
22380 /*^apply.arg*/
22381 argtab[10].meltbp_aptr = (melt_ptr_t*) &/*_.NEWENV__V34*/ meltfptr[31];
22382 /*^apply.arg*/
22383 argtab[11].meltbp_cstring = "\n..sbindlist=";
22384 /*^apply.arg*/
22385 argtab[12].meltbp_aptr = (melt_ptr_t*) &/*_.SBINDLIST__V27*/ meltfptr[26];
22386 /*^apply.arg*/
22387 argtab[13].meltbp_cstring = "\n.. maclist=";
22388 /*^apply.arg*/
22389 argtab[14].meltbp_aptr = (melt_ptr_t*) &/*_.MACLIST__V35*/ meltfptr[29];
22390 /*_.MELT_DEBUG_FUN__V37*/
22391 meltfptr[36] = 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_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
22394 /*_._IF___V36*/
22395 meltfptr[27] = /*_.MELT_DEBUG_FUN__V37*/ meltfptr[36];;
22396 /*epilog*/
22398 MELT_LOCATION("warmelt-macro.melt:7112:/ clear");
22399 /*clear*/ /*_#MELT_CALLCOUNT__L11*/
22400 meltfnum[0] = 0 ;
22401 /*^clear*/
22402 /*clear*/ /*_.MELT_DEBUG_FUN__V37*/
22403 meltfptr[36] = 0 ;
22407 else /*^cond.else*/
22410 /*_._IF___V36*/ meltfptr[27] = /*reallynil*/ NULL ;;
22415 MELT_LOCATION("warmelt-macro.melt:7112:/ locexp");
22416 /*void*/
22417 (void)0;
22420 /*^quasiblock*/
22423 /*epilog*/
22425 /*^clear*/
22426 /*clear*/ /*_#MELT_NEED_DBG__L10*/
22427 meltfnum[8] = 0 ;
22428 /*^clear*/
22429 /*clear*/ /*_._IF___V36*/
22430 meltfptr[27] = 0 ;
22433 #else /*MELT_HAVE_DEBUG*/
22434 /*^cppif.else*/
22435 /*^block*/
22436 /*anyblock*/
22441 /*^locexp*/
22442 /*void*/(void)0;
22445 /*epilog*/
22448 #endif /*MELT_HAVE_DEBUG*/
22451 #if MELT_HAVE_DEBUG
22452 MELT_LOCATION("warmelt-macro.melt:7114:/ cppif.then");
22453 /*^block*/
22454 /*anyblock*/
22458 MELT_CHECK_SIGNAL();
22460 /*_#IS_LIST_OR_NULL__L12*/
22461 meltfnum[0] =
22462 ((/*_.SBINDLIST__V27*/ meltfptr[26]) == NULL
22463 || (melt_unsafe_magic_discr((melt_ptr_t)(/*_.SBINDLIST__V27*/ meltfptr[26])) == MELTOBMAG_LIST));;
22464 MELT_LOCATION("warmelt-macro.melt:7114:/ cond");
22465 /*cond*/
22466 if (/*_#IS_LIST_OR_NULL__L12*/ meltfnum[0]) /*then*/
22468 /*^cond.then*/
22469 /*_._IFELSE___V39*/ meltfptr[27] = (/*nil*/NULL);;
22471 else
22473 MELT_LOCATION("warmelt-macro.melt:7114:/ cond.else");
22475 /*^block*/
22476 /*anyblock*/
22480 MELT_CHECK_SIGNAL();
22482 /*^apply*/
22483 /*apply*/
22485 union meltparam_un argtab[5];
22486 memset(&argtab, 0, sizeof(argtab));
22487 /*^apply.arg*/
22488 argtab[0].meltbp_cstring = "check sbindlist";
22489 /*^apply.arg*/
22490 argtab[1].meltbp_cstring = "warmelt-macro.melt";
22491 /*^apply.arg*/
22492 argtab[2].meltbp_long = 7114;
22493 /*^apply.arg*/
22494 argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.SBINDLIST__V27*/ meltfptr[26];
22495 /*^apply.arg*/
22496 argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.SEXPR__V2*/ meltfptr[1];
22497 /*_.MELT_ASSERT_FAILURE_FUN__V40*/
22498 meltfptr[39] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[3])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
22501 /*_._IFELSE___V39*/
22502 meltfptr[27] = /*_.MELT_ASSERT_FAILURE_FUN__V40*/ meltfptr[39];;
22503 /*epilog*/
22505 MELT_LOCATION("warmelt-macro.melt:7114:/ clear");
22506 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V40*/
22507 meltfptr[39] = 0 ;
22512 /*_.IFCPP___V38*/
22513 meltfptr[36] = /*_._IFELSE___V39*/ meltfptr[27];;
22514 /*epilog*/
22516 MELT_LOCATION("warmelt-macro.melt:7114:/ clear");
22517 /*clear*/ /*_#IS_LIST_OR_NULL__L12*/
22518 meltfnum[0] = 0 ;
22519 /*^clear*/
22520 /*clear*/ /*_._IFELSE___V39*/
22521 meltfptr[27] = 0 ;
22524 #else /*MELT_HAVE_DEBUG*/
22525 /*^cppif.else*/
22526 /*_.IFCPP___V38*/ meltfptr[36] = (/*nil*/NULL);
22527 #endif /*MELT_HAVE_DEBUG*/
22530 MELT_CHECK_SIGNAL();
22532 /*^compute*/
22533 /*_.LIST_FIRST_ELEMENT__V41*/
22534 meltfptr[39] =
22535 (melt_pair_head (melt_list_first((melt_ptr_t)(/*_.SBINDLIST__V27*/ meltfptr[26]))));;
22536 /*^compute*/
22537 /*_#eqeq__L13*/
22538 meltfnum[8] =
22539 ((/*_.LIST_FIRST_ELEMENT__V41*/ meltfptr[39]) == ((/*!konst_9_EXPAND*/ meltfrout->tabval[9])));;
22540 MELT_LOCATION("warmelt-macro.melt:7116:/ cond");
22541 /*cond*/
22542 if (/*_#eqeq__L13*/ meltfnum[8]) /*then*/
22544 /*^cond.then*/
22545 /*^block*/
22546 /*anyblock*/
22549 MELT_LOCATION("warmelt-macro.melt:7117:/ quasiblock");
22553 MELT_CHECK_SIGNAL();
22555 /*^apply*/
22556 /*apply*/
22558 union meltparam_un argtab[3];
22559 memset(&argtab, 0, sizeof(argtab));
22560 /*^apply.arg*/
22561 argtab[0].meltbp_aptr = (melt_ptr_t*) &/*_.ENV__V3*/ meltfptr[2];
22562 /*^apply.arg*/
22563 argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.MEXPANDER__V4*/ meltfptr[3];
22564 /*^apply.arg*/
22565 argtab[2].meltbp_aptr = (melt_ptr_t*) &/*_.MODCTX__V5*/ meltfptr[4];
22566 /*_.XPBINDLIST__V42*/
22567 meltfptr[27] = melt_apply ((meltclosure_ptr_t)((/*!EXPAND_RESTLIST_AS_LIST*/ meltfrout->tabval[10])), (melt_ptr_t)(/*_.SBINDLIST__V27*/ meltfptr[26]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
22571 #if MELT_HAVE_DEBUG
22572 MELT_LOCATION("warmelt-macro.melt:7119:/ cppif.then");
22573 /*^block*/
22574 /*anyblock*/
22579 /*^locexp*/
22580 /*melt_increment_dbgcounter*/
22581 #if MELT_HAVE_DEBUG
22582 melt_dbgcounter++;
22583 #endif
22588 MELT_CHECK_SIGNAL();
22590 /*_#MELT_NEED_DBG__L14*/
22591 meltfnum[0] =
22592 /*MELT_NEED_DBG*/
22593 #if MELT_HAVE_DEBUG
22594 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
22595 #else
22596 0 /* no melt_need_dbg */
22597 #endif /*MELT_HAVE_DEBUG*/
22599 MELT_LOCATION("warmelt-macro.melt:7119:/ cond");
22600 /*cond*/
22601 if (/*_#MELT_NEED_DBG__L14*/ meltfnum[0]) /*then*/
22603 /*^cond.then*/
22604 /*^block*/
22605 /*anyblock*/
22608 /*_#MELT_CALLCOUNT__L15*/ meltfnum[14] =
22609 /* for melt_callcount */
22610 #if MELT_HAVE_DEBUG && defined (meltcallcount)
22611 meltcallcount /* melt_callcount debugging */
22612 #else
22613 0L /* melt_callcount without debug */
22614 #endif /* MELT_HAVE_DEBUG melt_callcount */
22617 MELT_CHECK_SIGNAL();
22619 MELT_LOCATION("warmelt-macro.melt:7119:/ apply");
22620 /*apply*/
22622 union meltparam_un argtab[8];
22623 memset(&argtab, 0, sizeof(argtab));
22624 /*^apply.arg*/
22625 argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L15*/ meltfnum[14];
22626 /*^apply.arg*/
22627 argtab[1].meltbp_cstring = "warmelt-macro.melt";
22628 /*^apply.arg*/
22629 argtab[2].meltbp_long = 7119;
22630 /*^apply.arg*/
22631 argtab[3].meltbp_cstring = "mexpand_let:expand";
22632 /*^apply.arg*/
22633 argtab[4].meltbp_cstring = " loc=";
22634 /*^apply.arg*/
22635 argtab[5].meltbp_aptr = (melt_ptr_t*) &/*_.LOC__V22*/ meltfptr[21];
22636 /*^apply.arg*/
22637 argtab[6].meltbp_cstring = " xpbindlist=";
22638 /*^apply.arg*/
22639 argtab[7].meltbp_aptr = (melt_ptr_t*) &/*_.XPBINDLIST__V42*/ meltfptr[27];
22640 /*_.MELT_DEBUG_FUN__V44*/
22641 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_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
22644 /*_._IF___V43*/
22645 meltfptr[42] = /*_.MELT_DEBUG_FUN__V44*/ meltfptr[43];;
22646 /*epilog*/
22648 MELT_LOCATION("warmelt-macro.melt:7119:/ clear");
22649 /*clear*/ /*_#MELT_CALLCOUNT__L15*/
22650 meltfnum[14] = 0 ;
22651 /*^clear*/
22652 /*clear*/ /*_.MELT_DEBUG_FUN__V44*/
22653 meltfptr[43] = 0 ;
22657 else /*^cond.else*/
22660 /*_._IF___V43*/ meltfptr[42] = /*reallynil*/ NULL ;;
22665 MELT_LOCATION("warmelt-macro.melt:7119:/ locexp");
22666 /*void*/
22667 (void)0;
22670 /*^quasiblock*/
22673 /*epilog*/
22675 /*^clear*/
22676 /*clear*/ /*_#MELT_NEED_DBG__L14*/
22677 meltfnum[0] = 0 ;
22678 /*^clear*/
22679 /*clear*/ /*_._IF___V43*/
22680 meltfptr[42] = 0 ;
22683 #else /*MELT_HAVE_DEBUG*/
22684 /*^cppif.else*/
22685 /*^block*/
22686 /*anyblock*/
22691 /*^locexp*/
22692 /*void*/(void)0;
22695 /*epilog*/
22698 #endif /*MELT_HAVE_DEBUG*/
22700 /*citerblock FOREACH_PAIR_COMPONENT_IN_LIST*/
22702 /* start foreach_pair_component_in_list meltcit1__EACHLIST */
22703 for (/*_.CURPAIRINLISTSYMB__V45*/ meltfptr[43] = melt_list_first( (melt_ptr_t)/*_.XPBINDLIST__V42*/ meltfptr[27]);
22704 melt_magic_discr((melt_ptr_t) /*_.CURPAIRINLISTSYMB__V45*/ meltfptr[43]) == MELTOBMAG_PAIR;
22705 /*_.CURPAIRINLISTSYMB__V45*/ meltfptr[43] = melt_pair_tail((melt_ptr_t) /*_.CURPAIRINLISTSYMB__V45*/ meltfptr[43]))
22707 /*_.CURXPBIND__V46*/ meltfptr[42] = melt_pair_head((melt_ptr_t) /*_.CURPAIRINLISTSYMB__V45*/ meltfptr[43]);
22711 #if MELT_HAVE_DEBUG
22712 MELT_LOCATION("warmelt-macro.melt:7123:/ cppif.then");
22713 /*^block*/
22714 /*anyblock*/
22719 /*^locexp*/
22720 /*melt_increment_dbgcounter*/
22721 #if MELT_HAVE_DEBUG
22722 melt_dbgcounter++;
22723 #endif
22728 MELT_CHECK_SIGNAL();
22730 /*_#MELT_NEED_DBG__L16*/
22731 meltfnum[14] =
22732 /*MELT_NEED_DBG*/
22733 #if MELT_HAVE_DEBUG
22734 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
22735 #else
22736 0 /* no melt_need_dbg */
22737 #endif /*MELT_HAVE_DEBUG*/
22739 MELT_LOCATION("warmelt-macro.melt:7123:/ cond");
22740 /*cond*/
22741 if (/*_#MELT_NEED_DBG__L16*/ meltfnum[14]) /*then*/
22743 /*^cond.then*/
22744 /*^block*/
22745 /*anyblock*/
22748 /*_#MELT_CALLCOUNT__L17*/ meltfnum[0] =
22749 /* for melt_callcount */
22750 #if MELT_HAVE_DEBUG && defined (meltcallcount)
22751 meltcallcount /* melt_callcount debugging */
22752 #else
22753 0L /* melt_callcount without debug */
22754 #endif /* MELT_HAVE_DEBUG melt_callcount */
22757 MELT_CHECK_SIGNAL();
22759 MELT_LOCATION("warmelt-macro.melt:7123:/ apply");
22760 /*apply*/
22762 union meltparam_un argtab[8];
22763 memset(&argtab, 0, sizeof(argtab));
22764 /*^apply.arg*/
22765 argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L17*/ meltfnum[0];
22766 /*^apply.arg*/
22767 argtab[1].meltbp_cstring = "warmelt-macro.melt";
22768 /*^apply.arg*/
22769 argtab[2].meltbp_long = 7123;
22770 /*^apply.arg*/
22771 argtab[3].meltbp_cstring = "mexpand_let:expand";
22772 /*^apply.arg*/
22773 argtab[4].meltbp_cstring = " loc=";
22774 /*^apply.arg*/
22775 argtab[5].meltbp_aptr = (melt_ptr_t*) &/*_.LOC__V22*/ meltfptr[21];
22776 /*^apply.arg*/
22777 argtab[6].meltbp_cstring = " curxpbind=";
22778 /*^apply.arg*/
22779 argtab[7].meltbp_aptr = (melt_ptr_t*) &/*_.CURXPBIND__V46*/ meltfptr[42];
22780 /*_.MELT_DEBUG_FUN__V48*/
22781 meltfptr[47] = 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_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
22784 /*_._IF___V47*/
22785 meltfptr[46] = /*_.MELT_DEBUG_FUN__V48*/ meltfptr[47];;
22786 /*epilog*/
22788 MELT_LOCATION("warmelt-macro.melt:7123:/ clear");
22789 /*clear*/ /*_#MELT_CALLCOUNT__L17*/
22790 meltfnum[0] = 0 ;
22791 /*^clear*/
22792 /*clear*/ /*_.MELT_DEBUG_FUN__V48*/
22793 meltfptr[47] = 0 ;
22797 else /*^cond.else*/
22800 /*_._IF___V47*/ meltfptr[46] = /*reallynil*/ NULL ;;
22805 MELT_LOCATION("warmelt-macro.melt:7123:/ locexp");
22806 /*void*/
22807 (void)0;
22810 /*^quasiblock*/
22813 /*epilog*/
22815 /*^clear*/
22816 /*clear*/ /*_#MELT_NEED_DBG__L16*/
22817 meltfnum[14] = 0 ;
22818 /*^clear*/
22819 /*clear*/ /*_._IF___V47*/
22820 meltfptr[46] = 0 ;
22823 #else /*MELT_HAVE_DEBUG*/
22824 /*^cppif.else*/
22825 /*^block*/
22826 /*anyblock*/
22831 /*^locexp*/
22832 /*void*/(void)0;
22835 /*epilog*/
22838 #endif /*MELT_HAVE_DEBUG*/
22841 MELT_CHECK_SIGNAL();
22843 /*_#IS_A__L18*/
22844 meltfnum[0] =
22845 melt_is_instance_of((melt_ptr_t)(/*_.CURXPBIND__V46*/ meltfptr[42]), (melt_ptr_t)((/*!CLASS_SOURCE_LET_BINDING*/ meltfrout->tabval[11])));;
22846 MELT_LOCATION("warmelt-macro.melt:7125:/ cond");
22847 /*cond*/
22848 if (/*_#IS_A__L18*/ meltfnum[0]) /*then*/
22850 /*^cond.then*/
22851 /*^block*/
22852 /*anyblock*/
22856 MELT_CHECK_SIGNAL();
22858 MELT_LOCATION("warmelt-macro.melt:7126:/ apply");
22859 /*apply*/
22861 union meltparam_un argtab[1];
22862 memset(&argtab, 0, sizeof(argtab));
22863 /*^apply.arg*/
22864 argtab[0].meltbp_aptr = (melt_ptr_t*) &/*_.CURXPBIND__V46*/ meltfptr[42];
22865 /*_.PUT_ENV__V50*/
22866 meltfptr[46] = melt_apply ((meltclosure_ptr_t)((/*!PUT_ENV*/ meltfrout->tabval[12])), (melt_ptr_t)(/*_.NEWENV__V34*/ meltfptr[31]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
22871 MELT_LOCATION("warmelt-macro.melt:7127:/ locexp");
22872 meltgc_append_list((melt_ptr_t)(/*_.LETBINDLIST__V33*/ meltfptr[30]), (melt_ptr_t)(/*_.CURXPBIND__V46*/ meltfptr[42]));
22875 MELT_LOCATION("warmelt-macro.melt:7125:/ quasiblock");
22878 /*epilog*/
22880 /*^clear*/
22881 /*clear*/ /*_.PUT_ENV__V50*/
22882 meltfptr[46] = 0 ;
22886 else /*^cond.else*/
22889 /*^block*/
22890 /*anyblock*/
22894 MELT_CHECK_SIGNAL();
22896 /*_#IS_A__L19*/
22897 meltfnum[14] =
22898 melt_is_instance_of((melt_ptr_t)(/*_.CURXPBIND__V46*/ meltfptr[42]), (melt_ptr_t)((/*!CLASS_SOURCE_MACRO_LET_BINDING*/ meltfrout->tabval[13])));;
22899 MELT_LOCATION("warmelt-macro.melt:7129:/ cond");
22900 /*cond*/
22901 if (/*_#IS_A__L19*/ meltfnum[14]) /*then*/
22903 /*^cond.then*/
22904 /*^block*/
22905 /*anyblock*/
22908 MELT_LOCATION("warmelt-macro.melt:7131:/ cond");
22909 /*cond*/
22910 if (
22911 /*ifisa*/ melt_is_instance_of((melt_ptr_t)(/*_.CURXPBIND__V46*/ meltfptr[42]),
22912 (melt_ptr_t)((/*!CLASS_ANY_BINDING*/ meltfrout->tabval[14])))
22913 ) /*then*/
22915 /*^cond.then*/
22916 /*^getslot*/
22918 melt_ptr_t slot=NULL, obj=NULL;
22919 obj = (melt_ptr_t)(/*_.CURXPBIND__V46*/ meltfptr[42]) /*=obj*/;
22920 melt_object_get_field(slot,obj, 0, "BINDER");
22921 /*_.BINDER__V52*/
22922 meltfptr[51] = slot;
22926 else /*^cond.else*/
22929 /*_.BINDER__V52*/ meltfptr[51] = /*reallynil*/ NULL ;;
22933 MELT_CHECK_SIGNAL();
22935 MELT_LOCATION("warmelt-macro.melt:7130:/ apply");
22936 /*apply*/
22938 union meltparam_un argtab[2];
22939 memset(&argtab, 0, sizeof(argtab));
22940 /*^apply.arg*/
22941 argtab[0].meltbp_cstring = ":expand LET binding cannot give macro-binding for $1";
22942 /*^apply.arg*/
22943 argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.BINDER__V52*/ meltfptr[51];
22944 /*_.ERROR_AT__V53*/
22945 meltfptr[52] = melt_apply ((meltclosure_ptr_t)((/*!ERROR_AT*/ meltfrout->tabval[5])), (melt_ptr_t)(/*_.LOC__V22*/ meltfptr[21]), (MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
22948 /*_._IFELSE___V51*/
22949 meltfptr[46] = /*_.ERROR_AT__V53*/ meltfptr[52];;
22950 /*epilog*/
22952 MELT_LOCATION("warmelt-macro.melt:7129:/ clear");
22953 /*clear*/ /*_.BINDER__V52*/
22954 meltfptr[51] = 0 ;
22955 /*^clear*/
22956 /*clear*/ /*_.ERROR_AT__V53*/
22957 meltfptr[52] = 0 ;
22961 else /*^cond.else*/
22964 /*_._IFELSE___V51*/ meltfptr[46] = /*reallynil*/ NULL ;;
22967 /*^compute*/
22968 /*_._IFELSE___V49*/
22969 meltfptr[47] = /*_._IFELSE___V51*/ meltfptr[46];;
22970 /*epilog*/
22972 MELT_LOCATION("warmelt-macro.melt:7125:/ clear");
22973 /*clear*/ /*_#IS_A__L19*/
22974 meltfnum[14] = 0 ;
22975 /*^clear*/
22976 /*clear*/ /*_._IFELSE___V51*/
22977 meltfptr[46] = 0 ;
22982 } /* end foreach_pair_component_in_list meltcit1__EACHLIST */
22983 /*_.CURPAIRINLISTSYMB__V45*/ meltfptr[43] = NULL;
22984 /*_.CURXPBIND__V46*/
22985 meltfptr[42] = NULL;
22988 /*citerepilog*/
22990 MELT_LOCATION("warmelt-macro.melt:7120:/ clear");
22991 /*clear*/ /*_.CURPAIRINLISTSYMB__V45*/
22992 meltfptr[43] = 0 ;
22993 /*^clear*/
22994 /*clear*/ /*_.CURXPBIND__V46*/
22995 meltfptr[42] = 0 ;
22996 /*^clear*/
22997 /*clear*/ /*_#IS_A__L18*/
22998 meltfnum[0] = 0 ;
22999 /*^clear*/
23000 /*clear*/ /*_._IFELSE___V49*/
23001 meltfptr[47] = 0 ;
23002 } /*endciterblock FOREACH_PAIR_COMPONENT_IN_LIST*/
23006 MELT_LOCATION("warmelt-macro.melt:7134:/ locexp");
23007 /*void*/
23008 (void)0;
23012 MELT_LOCATION("warmelt-macro.melt:7117:/ clear");
23013 /*clear*/ /*_.XPBINDLIST__V42*/
23014 meltfptr[27] = 0 ;
23015 /*epilog*/
23019 else
23021 MELT_LOCATION("warmelt-macro.melt:7116:/ cond.else");
23023 /*^block*/
23024 /*anyblock*/
23027 /*citerblock FOREACH_PAIR_COMPONENT_IN_LIST*/
23029 /* start foreach_pair_component_in_list meltcit2__EACHLIST */
23030 for (/*_.CURPAIRINLISTSYMB__V54*/ meltfptr[51] = melt_list_first( (melt_ptr_t)/*_.SBINDLIST__V27*/ meltfptr[26]);
23031 melt_magic_discr((melt_ptr_t) /*_.CURPAIRINLISTSYMB__V54*/ meltfptr[51]) == MELTOBMAG_PAIR;
23032 /*_.CURPAIRINLISTSYMB__V54*/ meltfptr[51] = melt_pair_tail((melt_ptr_t) /*_.CURPAIRINLISTSYMB__V54*/ meltfptr[51]))
23034 /*_.CURBINDSRC__V55*/ meltfptr[52] = melt_pair_head((melt_ptr_t) /*_.CURPAIRINLISTSYMB__V54*/ meltfptr[51]);
23038 #if MELT_HAVE_DEBUG
23039 MELT_LOCATION("warmelt-macro.melt:7140:/ cppif.then");
23040 /*^block*/
23041 /*anyblock*/
23046 /*^locexp*/
23047 /*melt_increment_dbgcounter*/
23048 #if MELT_HAVE_DEBUG
23049 melt_dbgcounter++;
23050 #endif
23055 MELT_CHECK_SIGNAL();
23057 /*_#MELT_NEED_DBG__L20*/
23058 meltfnum[14] =
23059 /*MELT_NEED_DBG*/
23060 #if MELT_HAVE_DEBUG
23061 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
23062 #else
23063 0 /* no melt_need_dbg */
23064 #endif /*MELT_HAVE_DEBUG*/
23066 MELT_LOCATION("warmelt-macro.melt:7140:/ cond");
23067 /*cond*/
23068 if (/*_#MELT_NEED_DBG__L20*/ meltfnum[14]) /*then*/
23070 /*^cond.then*/
23071 /*^block*/
23072 /*anyblock*/
23075 /*_#MELT_CALLCOUNT__L21*/ meltfnum[20] =
23076 /* for melt_callcount */
23077 #if MELT_HAVE_DEBUG && defined (meltcallcount)
23078 meltcallcount /* melt_callcount debugging */
23079 #else
23080 0L /* melt_callcount without debug */
23081 #endif /* MELT_HAVE_DEBUG melt_callcount */
23084 MELT_CHECK_SIGNAL();
23086 MELT_LOCATION("warmelt-macro.melt:7140:/ apply");
23087 /*apply*/
23089 union meltparam_un argtab[6];
23090 memset(&argtab, 0, sizeof(argtab));
23091 /*^apply.arg*/
23092 argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L21*/ meltfnum[20];
23093 /*^apply.arg*/
23094 argtab[1].meltbp_cstring = "warmelt-macro.melt";
23095 /*^apply.arg*/
23096 argtab[2].meltbp_long = 7140;
23097 /*^apply.arg*/
23098 argtab[3].meltbp_cstring = "mexpand_let";
23099 /*^apply.arg*/
23100 argtab[4].meltbp_cstring = " curbindsrc=";
23101 /*^apply.arg*/
23102 argtab[5].meltbp_aptr = (melt_ptr_t*) &/*_.CURBINDSRC__V55*/ meltfptr[52];
23103 /*_.MELT_DEBUG_FUN__V57*/
23104 meltfptr[27] = 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_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
23107 /*_._IF___V56*/
23108 meltfptr[46] = /*_.MELT_DEBUG_FUN__V57*/ meltfptr[27];;
23109 /*epilog*/
23111 MELT_LOCATION("warmelt-macro.melt:7140:/ clear");
23112 /*clear*/ /*_#MELT_CALLCOUNT__L21*/
23113 meltfnum[20] = 0 ;
23114 /*^clear*/
23115 /*clear*/ /*_.MELT_DEBUG_FUN__V57*/
23116 meltfptr[27] = 0 ;
23120 else /*^cond.else*/
23123 /*_._IF___V56*/ meltfptr[46] = /*reallynil*/ NULL ;;
23128 MELT_LOCATION("warmelt-macro.melt:7140:/ locexp");
23129 /*void*/
23130 (void)0;
23133 /*^quasiblock*/
23136 /*epilog*/
23138 /*^clear*/
23139 /*clear*/ /*_#MELT_NEED_DBG__L20*/
23140 meltfnum[14] = 0 ;
23141 /*^clear*/
23142 /*clear*/ /*_._IF___V56*/
23143 meltfptr[46] = 0 ;
23146 #else /*MELT_HAVE_DEBUG*/
23147 /*^cppif.else*/
23148 /*^block*/
23149 /*anyblock*/
23154 /*^locexp*/
23155 /*void*/(void)0;
23158 /*epilog*/
23161 #endif /*MELT_HAVE_DEBUG*/
23163 MELT_LOCATION("warmelt-macro.melt:7141:/ quasiblock");
23167 MELT_CHECK_SIGNAL();
23169 /*_#IS_A__L22*/
23170 meltfnum[20] =
23171 melt_is_instance_of((melt_ptr_t)(/*_.CURBINDSRC__V55*/ meltfptr[52]), (melt_ptr_t)((/*!CLASS_SOURCE_ANY_LET_BINDING*/ meltfrout->tabval[15])));;
23172 MELT_LOCATION("warmelt-macro.melt:7143:/ cond");
23173 /*cond*/
23174 if (/*_#IS_A__L22*/ meltfnum[20]) /*then*/
23176 /*^cond.then*/
23177 /*_.CURSBIND__V59*/ meltfptr[46] = /*_.CURBINDSRC__V55*/ meltfptr[52];;
23179 else
23181 MELT_LOCATION("warmelt-macro.melt:7143:/ cond.else");
23183 /*^block*/
23184 /*anyblock*/
23188 MELT_CHECK_SIGNAL();
23190 /*_#IS_A__L23*/
23191 meltfnum[14] =
23192 melt_is_instance_of((melt_ptr_t)(/*_.CURBINDSRC__V55*/ meltfptr[52]), (melt_ptr_t)((/*!CLASS_SEXPR*/ meltfrout->tabval[2])));;
23193 MELT_LOCATION("warmelt-macro.melt:7146:/ cond");
23194 /*cond*/
23195 if (/*_#IS_A__L23*/ meltfnum[14]) /*then*/
23197 /*^cond.then*/
23198 /*^block*/
23199 /*anyblock*/
23203 MELT_CHECK_SIGNAL();
23205 MELT_LOCATION("warmelt-macro.melt:7147:/ apply");
23206 /*apply*/
23208 union meltparam_un argtab[3];
23209 memset(&argtab, 0, sizeof(argtab));
23210 /*^apply.arg*/
23211 argtab[0].meltbp_aptr = (melt_ptr_t*) &/*_.NEWENV__V34*/ meltfptr[31];
23212 /*^apply.arg*/
23213 argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.MEXPANDER__V4*/ meltfptr[3];
23214 /*^apply.arg*/
23215 argtab[2].meltbp_aptr = (melt_ptr_t*) &/*_.MODCTX__V5*/ meltfptr[4];
23216 /*_.MEXPAND_LETBINDING__V61*/
23217 meltfptr[60] = melt_apply ((meltclosure_ptr_t)((/*!MEXPAND_LETBINDING*/ meltfrout->tabval[16])), (melt_ptr_t)(/*_.CURBINDSRC__V55*/ meltfptr[52]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
23220 /*_._IFELSE___V60*/
23221 meltfptr[59] = /*_.MEXPAND_LETBINDING__V61*/ meltfptr[60];;
23222 /*epilog*/
23224 MELT_LOCATION("warmelt-macro.melt:7146:/ clear");
23225 /*clear*/ /*_.MEXPAND_LETBINDING__V61*/
23226 meltfptr[60] = 0 ;
23230 else /*^cond.else*/
23233 /*^block*/
23234 /*anyblock*/
23238 MELT_CHECK_SIGNAL();
23240 MELT_LOCATION("warmelt-macro.melt:7149:/ apply");
23241 /*apply*/
23243 union meltparam_un argtab[2];
23244 memset(&argtab, 0, sizeof(argtab));
23245 /*^apply.arg*/
23246 argtab[0].meltbp_cstring = "inexpected binding $1 in LET";
23247 /*^apply.arg*/
23248 argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.CURBINDSRC__V55*/ meltfptr[52];
23249 /*_.ERROR_AT__V62*/
23250 meltfptr[60] = melt_apply ((meltclosure_ptr_t)((/*!ERROR_AT*/ meltfrout->tabval[5])), (melt_ptr_t)(/*_.LOC__V22*/ meltfptr[21]), (MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
23253 MELT_LOCATION("warmelt-macro.melt:7148:/ quasiblock");
23256 /*_.PROGN___V63*/
23257 meltfptr[62] = (/*nil*/NULL);;
23258 /*^compute*/
23259 /*_._IFELSE___V60*/
23260 meltfptr[59] = /*_.PROGN___V63*/ meltfptr[62];;
23261 /*epilog*/
23263 MELT_LOCATION("warmelt-macro.melt:7146:/ clear");
23264 /*clear*/ /*_.ERROR_AT__V62*/
23265 meltfptr[60] = 0 ;
23266 /*^clear*/
23267 /*clear*/ /*_.PROGN___V63*/
23268 meltfptr[62] = 0 ;
23273 /*_.CURSBIND__V59*/
23274 meltfptr[46] = /*_._IFELSE___V60*/ meltfptr[59];;
23275 /*epilog*/
23277 MELT_LOCATION("warmelt-macro.melt:7143:/ clear");
23278 /*clear*/ /*_#IS_A__L23*/
23279 meltfnum[14] = 0 ;
23280 /*^clear*/
23281 /*clear*/ /*_._IFELSE___V60*/
23282 meltfptr[59] = 0 ;
23288 #if MELT_HAVE_DEBUG
23289 MELT_LOCATION("warmelt-macro.melt:7152:/ cppif.then");
23290 /*^block*/
23291 /*anyblock*/
23296 /*^locexp*/
23297 /*melt_increment_dbgcounter*/
23298 #if MELT_HAVE_DEBUG
23299 melt_dbgcounter++;
23300 #endif
23305 MELT_CHECK_SIGNAL();
23307 /*_#MELT_NEED_DBG__L24*/
23308 meltfnum[14] =
23309 /*MELT_NEED_DBG*/
23310 #if MELT_HAVE_DEBUG
23311 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
23312 #else
23313 0 /* no melt_need_dbg */
23314 #endif /*MELT_HAVE_DEBUG*/
23316 MELT_LOCATION("warmelt-macro.melt:7152:/ cond");
23317 /*cond*/
23318 if (/*_#MELT_NEED_DBG__L24*/ meltfnum[14]) /*then*/
23320 /*^cond.then*/
23321 /*^block*/
23322 /*anyblock*/
23325 /*_#MELT_CALLCOUNT__L25*/ meltfnum[24] =
23326 /* for melt_callcount */
23327 #if MELT_HAVE_DEBUG && defined (meltcallcount)
23328 meltcallcount /* melt_callcount debugging */
23329 #else
23330 0L /* melt_callcount without debug */
23331 #endif /* MELT_HAVE_DEBUG melt_callcount */
23334 MELT_CHECK_SIGNAL();
23336 MELT_LOCATION("warmelt-macro.melt:7152:/ apply");
23337 /*apply*/
23339 union meltparam_un argtab[9];
23340 memset(&argtab, 0, sizeof(argtab));
23341 /*^apply.arg*/
23342 argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L25*/ meltfnum[24];
23343 /*^apply.arg*/
23344 argtab[1].meltbp_cstring = "warmelt-macro.melt";
23345 /*^apply.arg*/
23346 argtab[2].meltbp_long = 7152;
23347 /*^apply.arg*/
23348 argtab[3].meltbp_cstring = "mexpand_let";
23349 /*^apply.arg*/
23350 argtab[4].meltbp_cstring = " cursbind=";
23351 /*^apply.arg*/
23352 argtab[5].meltbp_aptr = (melt_ptr_t*) &/*_.CURSBIND__V59*/ meltfptr[46];
23353 /*^apply.arg*/
23354 argtab[6].meltbp_cstring = "\n..for curbindsrc=";
23355 /*^apply.arg*/
23356 argtab[7].meltbp_aptr = (melt_ptr_t*) &(/*!DEBUG_LESS*/ meltfrout->tabval[1]);
23357 /*^apply.arg*/
23358 argtab[8].meltbp_aptr = (melt_ptr_t*) &/*_.CURBINDSRC__V55*/ meltfptr[52];
23359 /*_.MELT_DEBUG_FUN__V65*/
23360 meltfptr[62] = 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_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
23363 /*_._IF___V64*/
23364 meltfptr[60] = /*_.MELT_DEBUG_FUN__V65*/ meltfptr[62];;
23365 /*epilog*/
23367 MELT_LOCATION("warmelt-macro.melt:7152:/ clear");
23368 /*clear*/ /*_#MELT_CALLCOUNT__L25*/
23369 meltfnum[24] = 0 ;
23370 /*^clear*/
23371 /*clear*/ /*_.MELT_DEBUG_FUN__V65*/
23372 meltfptr[62] = 0 ;
23376 else /*^cond.else*/
23379 /*_._IF___V64*/ meltfptr[60] = /*reallynil*/ NULL ;;
23384 MELT_LOCATION("warmelt-macro.melt:7152:/ locexp");
23385 /*void*/
23386 (void)0;
23389 /*^quasiblock*/
23392 /*epilog*/
23394 /*^clear*/
23395 /*clear*/ /*_#MELT_NEED_DBG__L24*/
23396 meltfnum[14] = 0 ;
23397 /*^clear*/
23398 /*clear*/ /*_._IF___V64*/
23399 meltfptr[60] = 0 ;
23402 #else /*MELT_HAVE_DEBUG*/
23403 /*^cppif.else*/
23404 /*^block*/
23405 /*anyblock*/
23410 /*^locexp*/
23411 /*void*/(void)0;
23414 /*epilog*/
23417 #endif /*MELT_HAVE_DEBUG*/
23420 #if MELT_HAVE_DEBUG
23421 MELT_LOCATION("warmelt-macro.melt:7154:/ cppif.then");
23422 /*^block*/
23423 /*anyblock*/
23427 MELT_CHECK_SIGNAL();
23429 /*_#IS_A__L26*/
23430 meltfnum[24] =
23431 melt_is_instance_of((melt_ptr_t)(/*_.CURSBIND__V59*/ meltfptr[46]), (melt_ptr_t)((/*!CLASS_SOURCE_ANY_LET_BINDING*/ meltfrout->tabval[15])));;
23432 MELT_LOCATION("warmelt-macro.melt:7154:/ cond");
23433 /*cond*/
23434 if (/*_#IS_A__L26*/ meltfnum[24]) /*then*/
23436 /*^cond.then*/
23437 /*_._IFELSE___V67*/ meltfptr[62] = (/*nil*/NULL);;
23439 else
23441 MELT_LOCATION("warmelt-macro.melt:7154:/ cond.else");
23443 /*^block*/
23444 /*anyblock*/
23448 MELT_CHECK_SIGNAL();
23450 /*^apply*/
23451 /*apply*/
23453 union meltparam_un argtab[6];
23454 memset(&argtab, 0, sizeof(argtab));
23455 /*^apply.arg*/
23456 argtab[0].meltbp_cstring = "check cursbind";
23457 /*^apply.arg*/
23458 argtab[1].meltbp_cstring = "warmelt-macro.melt";
23459 /*^apply.arg*/
23460 argtab[2].meltbp_long = 7154;
23461 /*^apply.arg*/
23462 argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.CURSBIND__V59*/ meltfptr[46];
23463 /*^apply.arg*/
23464 argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.CURBINDSRC__V55*/ meltfptr[52];
23465 /*^apply.arg*/
23466 argtab[5].meltbp_aptr = (melt_ptr_t*) &/*_.SEXPR__V2*/ meltfptr[1];
23467 /*_.MELT_ASSERT_FAILURE_FUN__V68*/
23468 meltfptr[60] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[3])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
23471 /*_._IFELSE___V67*/
23472 meltfptr[62] = /*_.MELT_ASSERT_FAILURE_FUN__V68*/ meltfptr[60];;
23473 /*epilog*/
23475 MELT_LOCATION("warmelt-macro.melt:7154:/ clear");
23476 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V68*/
23477 meltfptr[60] = 0 ;
23482 /*_.IFCPP___V66*/
23483 meltfptr[59] = /*_._IFELSE___V67*/ meltfptr[62];;
23484 /*epilog*/
23486 MELT_LOCATION("warmelt-macro.melt:7154:/ clear");
23487 /*clear*/ /*_#IS_A__L26*/
23488 meltfnum[24] = 0 ;
23489 /*^clear*/
23490 /*clear*/ /*_._IFELSE___V67*/
23491 meltfptr[62] = 0 ;
23494 #else /*MELT_HAVE_DEBUG*/
23495 /*^cppif.else*/
23496 /*_.IFCPP___V66*/ meltfptr[59] = (/*nil*/NULL);
23497 #endif /*MELT_HAVE_DEBUG*/
23500 MELT_CHECK_SIGNAL();
23502 /*^compute*/
23503 /*_#IS_A__L27*/
23504 meltfnum[14] =
23505 melt_is_instance_of((melt_ptr_t)(/*_.CURSBIND__V59*/ meltfptr[46]), (melt_ptr_t)((/*!CLASS_SOURCE_LET_BINDING*/ meltfrout->tabval[11])));;
23506 MELT_LOCATION("warmelt-macro.melt:7156:/ cond");
23507 /*cond*/
23508 if (/*_#IS_A__L27*/ meltfnum[14]) /*then*/
23510 /*^cond.then*/
23511 /*^block*/
23512 /*anyblock*/
23515 MELT_LOCATION("warmelt-macro.melt:7157:/ quasiblock");
23518 MELT_LOCATION("warmelt-macro.melt:7158:/ getslot");
23520 melt_ptr_t slot=NULL, obj=NULL;
23521 obj = (melt_ptr_t)(/*_.CURSBIND__V59*/ meltfptr[46]) /*=obj*/;
23522 melt_object_get_field(slot,obj, 4, "SLETB_EXPR");
23523 /*_.SX__V70*/
23524 meltfptr[62] = slot;
23528 MELT_CHECK_SIGNAL();
23530 MELT_LOCATION("warmelt-macro.melt:7160:/ getslot");
23532 melt_ptr_t slot=NULL, obj=NULL;
23533 obj = (melt_ptr_t)(/*_.CURSBIND__V59*/ meltfptr[46]) /*=obj*/;
23534 melt_object_get_field(slot,obj, 2, "SLETB_BINDER");
23535 /*_.SLETB_BINDER__V71*/
23536 meltfptr[70] = slot;
23539 MELT_LOCATION("warmelt-macro.melt:7161:/ getslot");
23541 melt_ptr_t slot=NULL, obj=NULL;
23542 obj = (melt_ptr_t)(/*_.CURSBIND__V59*/ meltfptr[46]) /*=obj*/;
23543 melt_object_get_field(slot,obj, 3, "SLETB_TYPE");
23544 /*_.SLETB_TYPE__V72*/
23545 meltfptr[71] = slot;
23548 MELT_LOCATION("warmelt-macro.melt:7163:/ cond");
23549 /*cond*/
23550 if (
23551 /*ifisa*/ melt_is_instance_of((melt_ptr_t)(/*_.CURSBIND__V59*/ meltfptr[46]),
23552 (melt_ptr_t)((/*!CLASS_LOCATED*/ meltfrout->tabval[18])))
23553 ) /*then*/
23555 /*^cond.then*/
23556 /*^getslot*/
23558 melt_ptr_t slot=NULL, obj=NULL;
23559 obj = (melt_ptr_t)(/*_.CURSBIND__V59*/ meltfptr[46]) /*=obj*/;
23560 melt_object_get_field(slot,obj, 1, "LOCA_LOCATION");
23561 /*_.LOCA_LOCATION__V73*/
23562 meltfptr[72] = slot;
23566 else /*^cond.else*/
23569 /*_.LOCA_LOCATION__V73*/ meltfptr[72] = /*reallynil*/ NULL ;;
23572 MELT_LOCATION("warmelt-macro.melt:7163:/ cond");
23573 /*cond*/
23574 if (/*_.LOCA_LOCATION__V73*/ meltfptr[72]) /*then*/
23576 /*^cond.then*/
23577 /*_.OR___V74*/ meltfptr[73] = /*_.LOCA_LOCATION__V73*/ meltfptr[72];;
23579 else
23581 MELT_LOCATION("warmelt-macro.melt:7163:/ cond.else");
23583 /*_.OR___V74*/
23584 meltfptr[73] = /*_.LOC__V22*/ meltfptr[21];;
23587 MELT_LOCATION("warmelt-macro.melt:7159:/ quasiblock");
23590 /*^rawallocobj*/
23591 /*rawallocobj*/
23593 melt_ptr_t newobj = 0;
23594 melt_raw_object_create(newobj,(melt_ptr_t)((/*!CLASS_LET_BINDING*/ meltfrout->tabval[17])), (4), "CLASS_LET_BINDING");
23595 /*_.INST__V76*/
23596 meltfptr[75] =
23597 newobj;
23600 /*^putslot*/
23601 /*putslot*/
23602 melt_assertmsg("checkobj putslot _ @BINDER", melt_magic_discr((melt_ptr_t)(/*_.INST__V76*/ meltfptr[75])) == MELTOBMAG_OBJECT);
23603 melt_putfield_object((/*_.INST__V76*/ meltfptr[75]), (0), (/*_.SLETB_BINDER__V71*/ meltfptr[70]), "BINDER");
23605 /*^putslot*/
23606 /*putslot*/
23607 melt_assertmsg("checkobj putslot _ @LETBIND_TYPE", melt_magic_discr((melt_ptr_t)(/*_.INST__V76*/ meltfptr[75])) == MELTOBMAG_OBJECT);
23608 melt_putfield_object((/*_.INST__V76*/ meltfptr[75]), (1), (/*_.SLETB_TYPE__V72*/ meltfptr[71]), "LETBIND_TYPE");
23610 /*^putslot*/
23611 /*putslot*/
23612 melt_assertmsg("checkobj putslot _ @LETBIND_EXPR", melt_magic_discr((melt_ptr_t)(/*_.INST__V76*/ meltfptr[75])) == MELTOBMAG_OBJECT);
23613 melt_putfield_object((/*_.INST__V76*/ meltfptr[75]), (2), (/*_.SX__V70*/ meltfptr[62]), "LETBIND_EXPR");
23615 /*^putslot*/
23616 /*putslot*/
23617 melt_assertmsg("checkobj putslot _ @LETBIND_LOC", melt_magic_discr((melt_ptr_t)(/*_.INST__V76*/ meltfptr[75])) == MELTOBMAG_OBJECT);
23618 melt_putfield_object((/*_.INST__V76*/ meltfptr[75]), (3), (/*_.OR___V74*/ meltfptr[73]), "LETBIND_LOC");
23620 /*^touchobj*/
23622 melt_dbgtrace_written_object (/*_.INST__V76*/ meltfptr[75], "newly made instance");
23624 /*_.LETBIND__V75*/
23625 meltfptr[74] = /*_.INST__V76*/ meltfptr[75];;
23627 #if MELT_HAVE_DEBUG
23628 MELT_LOCATION("warmelt-macro.melt:7165:/ cppif.then");
23629 /*^block*/
23630 /*anyblock*/
23635 /*^locexp*/
23636 /*melt_increment_dbgcounter*/
23637 #if MELT_HAVE_DEBUG
23638 melt_dbgcounter++;
23639 #endif
23644 MELT_CHECK_SIGNAL();
23646 /*_#MELT_NEED_DBG__L28*/
23647 meltfnum[24] =
23648 /*MELT_NEED_DBG*/
23649 #if MELT_HAVE_DEBUG
23650 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
23651 #else
23652 0 /* no melt_need_dbg */
23653 #endif /*MELT_HAVE_DEBUG*/
23655 MELT_LOCATION("warmelt-macro.melt:7165:/ cond");
23656 /*cond*/
23657 if (/*_#MELT_NEED_DBG__L28*/ meltfnum[24]) /*then*/
23659 /*^cond.then*/
23660 /*^block*/
23661 /*anyblock*/
23664 /*_#MELT_CALLCOUNT__L29*/ meltfnum[28] =
23665 /* for melt_callcount */
23666 #if MELT_HAVE_DEBUG && defined (meltcallcount)
23667 meltcallcount /* melt_callcount debugging */
23668 #else
23669 0L /* melt_callcount without debug */
23670 #endif /* MELT_HAVE_DEBUG melt_callcount */
23673 MELT_CHECK_SIGNAL();
23675 MELT_LOCATION("warmelt-macro.melt:7165:/ apply");
23676 /*apply*/
23678 union meltparam_un argtab[6];
23679 memset(&argtab, 0, sizeof(argtab));
23680 /*^apply.arg*/
23681 argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L29*/ meltfnum[28];
23682 /*^apply.arg*/
23683 argtab[1].meltbp_cstring = "warmelt-macro.melt";
23684 /*^apply.arg*/
23685 argtab[2].meltbp_long = 7165;
23686 /*^apply.arg*/
23687 argtab[3].meltbp_cstring = "mexpand_let";
23688 /*^apply.arg*/
23689 argtab[4].meltbp_cstring = " letbind=";
23690 /*^apply.arg*/
23691 argtab[5].meltbp_aptr = (melt_ptr_t*) &/*_.LETBIND__V75*/ meltfptr[74];
23692 /*_.MELT_DEBUG_FUN__V78*/
23693 meltfptr[77] = 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_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
23696 /*_._IF___V77*/
23697 meltfptr[76] = /*_.MELT_DEBUG_FUN__V78*/ meltfptr[77];;
23698 /*epilog*/
23700 MELT_LOCATION("warmelt-macro.melt:7165:/ clear");
23701 /*clear*/ /*_#MELT_CALLCOUNT__L29*/
23702 meltfnum[28] = 0 ;
23703 /*^clear*/
23704 /*clear*/ /*_.MELT_DEBUG_FUN__V78*/
23705 meltfptr[77] = 0 ;
23709 else /*^cond.else*/
23712 /*_._IF___V77*/ meltfptr[76] = /*reallynil*/ NULL ;;
23717 MELT_LOCATION("warmelt-macro.melt:7165:/ locexp");
23718 /*void*/
23719 (void)0;
23722 /*^quasiblock*/
23725 /*epilog*/
23727 /*^clear*/
23728 /*clear*/ /*_#MELT_NEED_DBG__L28*/
23729 meltfnum[24] = 0 ;
23730 /*^clear*/
23731 /*clear*/ /*_._IF___V77*/
23732 meltfptr[76] = 0 ;
23735 #else /*MELT_HAVE_DEBUG*/
23736 /*^cppif.else*/
23737 /*^block*/
23738 /*anyblock*/
23743 /*^locexp*/
23744 /*void*/(void)0;
23747 /*epilog*/
23750 #endif /*MELT_HAVE_DEBUG*/
23753 MELT_CHECK_SIGNAL();
23755 MELT_LOCATION("warmelt-macro.melt:7166:/ apply");
23756 /*apply*/
23758 union meltparam_un argtab[1];
23759 memset(&argtab, 0, sizeof(argtab));
23760 /*^apply.arg*/
23761 argtab[0].meltbp_aptr = (melt_ptr_t*) &/*_.LETBIND__V75*/ meltfptr[74];
23762 /*_.PUT_ENV__V79*/
23763 meltfptr[77] = melt_apply ((meltclosure_ptr_t)((/*!PUT_ENV*/ meltfrout->tabval[12])), (melt_ptr_t)(/*_.NEWENV__V34*/ meltfptr[31]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
23768 MELT_LOCATION("warmelt-macro.melt:7167:/ locexp");
23769 meltgc_append_list((melt_ptr_t)(/*_.LETBINDLIST__V33*/ meltfptr[30]), (melt_ptr_t)(/*_.CURSBIND__V59*/ meltfptr[46]));
23773 #if MELT_HAVE_DEBUG
23774 MELT_LOCATION("warmelt-macro.melt:7168:/ cppif.then");
23775 /*^block*/
23776 /*anyblock*/
23781 /*^locexp*/
23782 /*melt_increment_dbgcounter*/
23783 #if MELT_HAVE_DEBUG
23784 melt_dbgcounter++;
23785 #endif
23790 MELT_CHECK_SIGNAL();
23792 /*_#MELT_NEED_DBG__L30*/
23793 meltfnum[28] =
23794 /*MELT_NEED_DBG*/
23795 #if MELT_HAVE_DEBUG
23796 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
23797 #else
23798 0 /* no melt_need_dbg */
23799 #endif /*MELT_HAVE_DEBUG*/
23801 MELT_LOCATION("warmelt-macro.melt:7168:/ cond");
23802 /*cond*/
23803 if (/*_#MELT_NEED_DBG__L30*/ meltfnum[28]) /*then*/
23805 /*^cond.then*/
23806 /*^block*/
23807 /*anyblock*/
23810 /*_#MELT_CALLCOUNT__L31*/ meltfnum[24] =
23811 /* for melt_callcount */
23812 #if MELT_HAVE_DEBUG && defined (meltcallcount)
23813 meltcallcount /* melt_callcount debugging */
23814 #else
23815 0L /* melt_callcount without debug */
23816 #endif /* MELT_HAVE_DEBUG melt_callcount */
23819 MELT_CHECK_SIGNAL();
23821 MELT_LOCATION("warmelt-macro.melt:7168:/ apply");
23822 /*apply*/
23824 union meltparam_un argtab[8];
23825 memset(&argtab, 0, sizeof(argtab));
23826 /*^apply.arg*/
23827 argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L31*/ meltfnum[24];
23828 /*^apply.arg*/
23829 argtab[1].meltbp_cstring = "warmelt-macro.melt";
23830 /*^apply.arg*/
23831 argtab[2].meltbp_long = 7168;
23832 /*^apply.arg*/
23833 argtab[3].meltbp_cstring = "mexpand_let";
23834 /*^apply.arg*/
23835 argtab[4].meltbp_cstring = " letbind-updated newenv=";
23836 /*^apply.arg*/
23837 argtab[5].meltbp_aptr = (melt_ptr_t*) &/*_.NEWENV__V34*/ meltfptr[31];
23838 /*^apply.arg*/
23839 argtab[6].meltbp_cstring = "\n.. for cursbind=";
23840 /*^apply.arg*/
23841 argtab[7].meltbp_aptr = (melt_ptr_t*) &/*_.CURSBIND__V59*/ meltfptr[46];
23842 /*_.MELT_DEBUG_FUN__V81*/
23843 meltfptr[80] = 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_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
23846 /*_._IF___V80*/
23847 meltfptr[76] = /*_.MELT_DEBUG_FUN__V81*/ meltfptr[80];;
23848 /*epilog*/
23850 MELT_LOCATION("warmelt-macro.melt:7168:/ clear");
23851 /*clear*/ /*_#MELT_CALLCOUNT__L31*/
23852 meltfnum[24] = 0 ;
23853 /*^clear*/
23854 /*clear*/ /*_.MELT_DEBUG_FUN__V81*/
23855 meltfptr[80] = 0 ;
23859 else /*^cond.else*/
23862 /*_._IF___V80*/ meltfptr[76] = /*reallynil*/ NULL ;;
23867 MELT_LOCATION("warmelt-macro.melt:7168:/ locexp");
23868 /*void*/
23869 (void)0;
23872 /*^quasiblock*/
23875 /*epilog*/
23877 /*^clear*/
23878 /*clear*/ /*_#MELT_NEED_DBG__L30*/
23879 meltfnum[28] = 0 ;
23880 /*^clear*/
23881 /*clear*/ /*_._IF___V80*/
23882 meltfptr[76] = 0 ;
23885 #else /*MELT_HAVE_DEBUG*/
23886 /*^cppif.else*/
23887 /*^block*/
23888 /*anyblock*/
23893 /*^locexp*/
23894 /*void*/(void)0;
23897 /*epilog*/
23900 #endif /*MELT_HAVE_DEBUG*/
23902 /*_._IFELSE___V69*/
23903 meltfptr[60] = /*_.PUT_ENV__V79*/ meltfptr[77];;
23905 MELT_LOCATION("warmelt-macro.melt:7157:/ clear");
23906 /*clear*/ /*_.SX__V70*/
23907 meltfptr[62] = 0 ;
23908 /*^clear*/
23909 /*clear*/ /*_.SLETB_BINDER__V71*/
23910 meltfptr[70] = 0 ;
23911 /*^clear*/
23912 /*clear*/ /*_.SLETB_TYPE__V72*/
23913 meltfptr[71] = 0 ;
23914 /*^clear*/
23915 /*clear*/ /*_.LOCA_LOCATION__V73*/
23916 meltfptr[72] = 0 ;
23917 /*^clear*/
23918 /*clear*/ /*_.OR___V74*/
23919 meltfptr[73] = 0 ;
23920 /*^clear*/
23921 /*clear*/ /*_.LETBIND__V75*/
23922 meltfptr[74] = 0 ;
23923 /*^clear*/
23924 /*clear*/ /*_.PUT_ENV__V79*/
23925 meltfptr[77] = 0 ;
23926 /*epilog*/
23930 else
23932 MELT_LOCATION("warmelt-macro.melt:7156:/ cond.else");
23934 /*^block*/
23935 /*anyblock*/
23939 MELT_CHECK_SIGNAL();
23941 /*_#IS_A__L32*/
23942 meltfnum[24] =
23943 melt_is_instance_of((melt_ptr_t)(/*_.CURSBIND__V59*/ meltfptr[46]), (melt_ptr_t)((/*!CLASS_SOURCE_MACRO_LET_BINDING*/ meltfrout->tabval[13])));;
23944 MELT_LOCATION("warmelt-macro.melt:7172:/ cond");
23945 /*cond*/
23946 if (/*_#IS_A__L32*/ meltfnum[24]) /*then*/
23948 /*^cond.then*/
23949 /*^block*/
23950 /*anyblock*/
23954 #if MELT_HAVE_DEBUG
23955 MELT_LOCATION("warmelt-macro.melt:7173:/ cppif.then");
23956 /*^block*/
23957 /*anyblock*/
23962 /*^locexp*/
23963 /*melt_increment_dbgcounter*/
23964 #if MELT_HAVE_DEBUG
23965 melt_dbgcounter++;
23966 #endif
23971 MELT_CHECK_SIGNAL();
23973 /*_#MELT_NEED_DBG__L33*/
23974 meltfnum[28] =
23975 /*MELT_NEED_DBG*/
23976 #if MELT_HAVE_DEBUG
23977 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
23978 #else
23979 0 /* no melt_need_dbg */
23980 #endif /*MELT_HAVE_DEBUG*/
23982 MELT_LOCATION("warmelt-macro.melt:7173:/ cond");
23983 /*cond*/
23984 if (/*_#MELT_NEED_DBG__L33*/ meltfnum[28]) /*then*/
23986 /*^cond.then*/
23987 /*^block*/
23988 /*anyblock*/
23991 /*_#MELT_CALLCOUNT__L34*/ meltfnum[33] =
23992 /* for melt_callcount */
23993 #if MELT_HAVE_DEBUG && defined (meltcallcount)
23994 meltcallcount /* melt_callcount debugging */
23995 #else
23996 0L /* melt_callcount without debug */
23997 #endif /* MELT_HAVE_DEBUG melt_callcount */
24000 MELT_CHECK_SIGNAL();
24002 MELT_LOCATION("warmelt-macro.melt:7173:/ apply");
24003 /*apply*/
24005 union meltparam_un argtab[8];
24006 memset(&argtab, 0, sizeof(argtab));
24007 /*^apply.arg*/
24008 argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L34*/ meltfnum[33];
24009 /*^apply.arg*/
24010 argtab[1].meltbp_cstring = "warmelt-macro.melt";
24011 /*^apply.arg*/
24012 argtab[2].meltbp_long = 7173;
24013 /*^apply.arg*/
24014 argtab[3].meltbp_cstring = "mexpand_let:macro";
24015 /*^apply.arg*/
24016 argtab[4].meltbp_cstring = " loc=";
24017 /*^apply.arg*/
24018 argtab[5].meltbp_aptr = (melt_ptr_t*) &/*_.LOC__V22*/ meltfptr[21];
24019 /*^apply.arg*/
24020 argtab[6].meltbp_cstring = "; cursbind=";
24021 /*^apply.arg*/
24022 argtab[7].meltbp_aptr = (melt_ptr_t*) &/*_.CURSBIND__V59*/ meltfptr[46];
24023 /*_.MELT_DEBUG_FUN__V84*/
24024 meltfptr[62] = 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_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
24027 /*_._IF___V83*/
24028 meltfptr[76] = /*_.MELT_DEBUG_FUN__V84*/ meltfptr[62];;
24029 /*epilog*/
24031 MELT_LOCATION("warmelt-macro.melt:7173:/ clear");
24032 /*clear*/ /*_#MELT_CALLCOUNT__L34*/
24033 meltfnum[33] = 0 ;
24034 /*^clear*/
24035 /*clear*/ /*_.MELT_DEBUG_FUN__V84*/
24036 meltfptr[62] = 0 ;
24040 else /*^cond.else*/
24043 /*_._IF___V83*/ meltfptr[76] = /*reallynil*/ NULL ;;
24048 MELT_LOCATION("warmelt-macro.melt:7173:/ locexp");
24049 /*void*/
24050 (void)0;
24053 /*^quasiblock*/
24056 /*epilog*/
24058 /*^clear*/
24059 /*clear*/ /*_#MELT_NEED_DBG__L33*/
24060 meltfnum[28] = 0 ;
24061 /*^clear*/
24062 /*clear*/ /*_._IF___V83*/
24063 meltfptr[76] = 0 ;
24066 #else /*MELT_HAVE_DEBUG*/
24067 /*^cppif.else*/
24068 /*^block*/
24069 /*anyblock*/
24074 /*^locexp*/
24075 /*void*/(void)0;
24078 /*epilog*/
24081 #endif /*MELT_HAVE_DEBUG*/
24085 MELT_LOCATION("warmelt-macro.melt:7174:/ locexp");
24087 #if MELT_HAVE_DEBUG
24088 if (melt_need_debug (0))
24089 melt_dbgshortbacktrace(( "mexpand_let:macro"), (15));
24090 #endif
24095 #if MELT_HAVE_DEBUG
24096 MELT_LOCATION("warmelt-macro.melt:7175:/ cppif.then");
24097 /*^block*/
24098 /*anyblock*/
24102 MELT_CHECK_SIGNAL();
24104 /*_#IS_LIST__L35*/
24105 meltfnum[33] =
24106 (melt_magic_discr((melt_ptr_t)(/*_.MACLIST__V35*/ meltfptr[29])) == MELTOBMAG_LIST);;
24107 MELT_LOCATION("warmelt-macro.melt:7175:/ cond");
24108 /*cond*/
24109 if (/*_#IS_LIST__L35*/ meltfnum[33]) /*then*/
24111 /*^cond.then*/
24112 /*_._IFELSE___V86*/ meltfptr[71] = (/*nil*/NULL);;
24114 else
24116 MELT_LOCATION("warmelt-macro.melt:7175:/ cond.else");
24118 /*^block*/
24119 /*anyblock*/
24123 MELT_CHECK_SIGNAL();
24125 /*^apply*/
24126 /*apply*/
24128 union meltparam_un argtab[5];
24129 memset(&argtab, 0, sizeof(argtab));
24130 /*^apply.arg*/
24131 argtab[0].meltbp_cstring = "check maclist";
24132 /*^apply.arg*/
24133 argtab[1].meltbp_cstring = "warmelt-macro.melt";
24134 /*^apply.arg*/
24135 argtab[2].meltbp_long = 7175;
24136 /*^apply.arg*/
24137 argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.MACLIST__V35*/ meltfptr[29];
24138 /*^apply.arg*/
24139 argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.MODCTX__V5*/ meltfptr[4];
24140 /*_.MELT_ASSERT_FAILURE_FUN__V87*/
24141 meltfptr[72] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[3])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
24144 /*_._IFELSE___V86*/
24145 meltfptr[71] = /*_.MELT_ASSERT_FAILURE_FUN__V87*/ meltfptr[72];;
24146 /*epilog*/
24148 MELT_LOCATION("warmelt-macro.melt:7175:/ clear");
24149 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V87*/
24150 meltfptr[72] = 0 ;
24155 /*_.IFCPP___V85*/
24156 meltfptr[70] = /*_._IFELSE___V86*/ meltfptr[71];;
24157 /*epilog*/
24159 MELT_LOCATION("warmelt-macro.melt:7175:/ clear");
24160 /*clear*/ /*_#IS_LIST__L35*/
24161 meltfnum[33] = 0 ;
24162 /*^clear*/
24163 /*clear*/ /*_._IFELSE___V86*/
24164 meltfptr[71] = 0 ;
24167 #else /*MELT_HAVE_DEBUG*/
24168 /*^cppif.else*/
24169 /*_.IFCPP___V85*/ meltfptr[70] = (/*nil*/NULL);
24170 #endif /*MELT_HAVE_DEBUG*/
24172 MELT_LOCATION("warmelt-macro.melt:7176:/ quasiblock");
24175 MELT_LOCATION("warmelt-macro.melt:7177:/ cond");
24176 /*cond*/
24177 if (
24178 /*ifisa*/ melt_is_instance_of((melt_ptr_t)(/*_.CURSBIND__V59*/ meltfptr[46]),
24179 (melt_ptr_t)((/*!CLASS_SOURCE_ANY_LET_BINDING*/ meltfrout->tabval[15])))
24180 ) /*then*/
24182 /*^cond.then*/
24183 /*^getslot*/
24185 melt_ptr_t slot=NULL, obj=NULL;
24186 obj = (melt_ptr_t)(/*_.CURSBIND__V59*/ meltfptr[46]) /*=obj*/;
24187 melt_object_get_field(slot,obj, 2, "SLETB_BINDER");
24188 /*_.MACSYMB__V88*/
24189 meltfptr[73] = slot;
24193 else /*^cond.else*/
24196 /*_.MACSYMB__V88*/ meltfptr[73] = /*reallynil*/ NULL ;;
24199 MELT_LOCATION("warmelt-macro.melt:7178:/ cond");
24200 /*cond*/
24201 if (
24202 /*ifisa*/ melt_is_instance_of((melt_ptr_t)(/*_.CURSBIND__V59*/ meltfptr[46]),
24203 (melt_ptr_t)((/*!CLASS_LOCATED*/ meltfrout->tabval[18])))
24204 ) /*then*/
24206 /*^cond.then*/
24207 /*^getslot*/
24209 melt_ptr_t slot=NULL, obj=NULL;
24210 obj = (melt_ptr_t)(/*_.CURSBIND__V59*/ meltfptr[46]) /*=obj*/;
24211 melt_object_get_field(slot,obj, 1, "LOCA_LOCATION");
24212 /*_.LOCA_LOCATION__V89*/
24213 meltfptr[74] = slot;
24217 else /*^cond.else*/
24220 /*_.LOCA_LOCATION__V89*/ meltfptr[74] = /*reallynil*/ NULL ;;
24223 MELT_LOCATION("warmelt-macro.melt:7178:/ cond");
24224 /*cond*/
24225 if (/*_.LOCA_LOCATION__V89*/ meltfptr[74]) /*then*/
24227 /*^cond.then*/
24228 /*_.MACLOC__V90*/ meltfptr[77] = /*_.LOCA_LOCATION__V89*/ meltfptr[74];;
24230 else
24232 MELT_LOCATION("warmelt-macro.melt:7178:/ cond.else");
24234 /*_.MACLOC__V90*/
24235 meltfptr[77] = /*_.LOC__V22*/ meltfptr[21];;
24238 MELT_LOCATION("warmelt-macro.melt:7179:/ cond");
24239 /*cond*/
24240 if (
24241 /*ifisa*/ melt_is_instance_of((melt_ptr_t)(/*_.CURSBIND__V59*/ meltfptr[46]),
24242 (melt_ptr_t)((/*!CLASS_SOURCE_MACRO_LET_BINDING*/ meltfrout->tabval[13])))
24243 ) /*then*/
24245 /*^cond.then*/
24246 /*^getslot*/
24248 melt_ptr_t slot=NULL, obj=NULL;
24249 obj = (melt_ptr_t)(/*_.CURSBIND__V59*/ meltfptr[46]) /*=obj*/;
24250 melt_object_get_field(slot,obj, 3, "SLETM_MACRO_FORMALS");
24251 /*_.MACFORMALS__V91*/
24252 meltfptr[62] = slot;
24256 else /*^cond.else*/
24259 /*_.MACFORMALS__V91*/ meltfptr[62] = /*reallynil*/ NULL ;;
24262 MELT_LOCATION("warmelt-macro.melt:7180:/ cond");
24263 /*cond*/
24264 if (
24265 /*ifisa*/ melt_is_instance_of((melt_ptr_t)(/*_.CURSBIND__V59*/ meltfptr[46]),
24266 (melt_ptr_t)((/*!CLASS_SOURCE_MACRO_LET_BINDING*/ meltfrout->tabval[13])))
24267 ) /*then*/
24269 /*^cond.then*/
24270 /*^getslot*/
24272 melt_ptr_t slot=NULL, obj=NULL;
24273 obj = (melt_ptr_t)(/*_.CURSBIND__V59*/ meltfptr[46]) /*=obj*/;
24274 melt_object_get_field(slot,obj, 4, "SLETM_MACRO_BODY");
24275 /*_.MACBODY__V92*/
24276 meltfptr[76] = slot;
24280 else /*^cond.else*/
24283 /*_.MACBODY__V92*/ meltfptr[76] = /*reallynil*/ NULL ;;
24287 MELT_CHECK_SIGNAL();
24289 MELT_LOCATION("warmelt-macro.melt:7181:/ quasiblock");
24292 /*^rawallocobj*/
24293 /*rawallocobj*/
24295 melt_ptr_t newobj = 0;
24296 melt_raw_object_create(newobj,(melt_ptr_t)((/*!CLASS_DEFINED_MACRO_BINDING*/ meltfrout->tabval[19])), (4), "CLASS_DEFINED_MACRO_BINDING");
24297 /*_.INST__V94*/
24298 meltfptr[71] =
24299 newobj;
24302 /*^putslot*/
24303 /*putslot*/
24304 melt_assertmsg("checkobj putslot _ @BINDER", melt_magic_discr((melt_ptr_t)(/*_.INST__V94*/ meltfptr[71])) == MELTOBMAG_OBJECT);
24305 melt_putfield_object((/*_.INST__V94*/ meltfptr[71]), (0), (/*_.MACSYMB__V88*/ meltfptr[73]), "BINDER");
24307 /*^putslot*/
24308 /*putslot*/
24309 melt_assertmsg("checkobj putslot _ @MBIND_EXPANSER", melt_magic_discr((melt_ptr_t)(/*_.INST__V94*/ meltfptr[71])) == MELTOBMAG_OBJECT);
24310 melt_putfield_object((/*_.INST__V94*/ meltfptr[71]), (1), ((/*nil*/NULL)), "MBIND_EXPANSER");
24312 /*^putslot*/
24313 /*putslot*/
24314 melt_assertmsg("checkobj putslot _ @MBIND_DEFMACRO", melt_magic_discr((melt_ptr_t)(/*_.INST__V94*/ meltfptr[71])) == MELTOBMAG_OBJECT);
24315 melt_putfield_object((/*_.INST__V94*/ meltfptr[71]), (2), (/*_.CURSBIND__V59*/ meltfptr[46]), "MBIND_DEFMACRO");
24317 /*^putslot*/
24318 /*putslot*/
24319 melt_assertmsg("checkobj putslot _ @MBIND_DATA", melt_magic_discr((melt_ptr_t)(/*_.INST__V94*/ meltfptr[71])) == MELTOBMAG_OBJECT);
24320 melt_putfield_object((/*_.INST__V94*/ meltfptr[71]), (3), ((/*nil*/NULL)), "MBIND_DATA");
24322 /*^touchobj*/
24324 melt_dbgtrace_written_object (/*_.INST__V94*/ meltfptr[71], "newly made instance");
24326 /*_.MACBIND__V93*/
24327 meltfptr[72] = /*_.INST__V94*/ meltfptr[71];;
24329 MELT_CHECK_SIGNAL();
24331 MELT_LOCATION("warmelt-macro.melt:7187:/ quasiblock");
24334 /*^rawallocobj*/
24335 /*rawallocobj*/
24337 melt_ptr_t newobj = 0;
24338 melt_raw_object_create(newobj,(melt_ptr_t)((/*!CLASS_SOURCE_DEFMACRO_IN_LET*/ meltfrout->tabval[20])), (8), "CLASS_SOURCE_DEFMACRO_IN_LET");
24339 /*_.INST__V96*/
24340 meltfptr[95] =
24341 newobj;
24344 /*^putslot*/
24345 /*putslot*/
24346 melt_assertmsg("checkobj putslot _ @LOCA_LOCATION", melt_magic_discr((melt_ptr_t)(/*_.INST__V96*/ meltfptr[95])) == MELTOBMAG_OBJECT);
24347 melt_putfield_object((/*_.INST__V96*/ meltfptr[95]), (1), (/*_.LOC__V22*/ meltfptr[21]), "LOCA_LOCATION");
24349 /*^putslot*/
24350 /*putslot*/
24351 melt_assertmsg("checkobj putslot _ @SDEF_NAME", melt_magic_discr((melt_ptr_t)(/*_.INST__V96*/ meltfptr[95])) == MELTOBMAG_OBJECT);
24352 melt_putfield_object((/*_.INST__V96*/ meltfptr[95]), (2), (/*_.MACSYMB__V88*/ meltfptr[73]), "SDEF_NAME");
24354 /*^putslot*/
24355 /*putslot*/
24356 melt_assertmsg("checkobj putslot _ @SDEF_DOC", melt_magic_discr((melt_ptr_t)(/*_.INST__V96*/ meltfptr[95])) == MELTOBMAG_OBJECT);
24357 melt_putfield_object((/*_.INST__V96*/ meltfptr[95]), (3), ((/*nil*/NULL)), "SDEF_DOC");
24359 /*^putslot*/
24360 /*putslot*/
24361 melt_assertmsg("checkobj putslot _ @SFORMAL_ARGS", melt_magic_discr((melt_ptr_t)(/*_.INST__V96*/ meltfptr[95])) == MELTOBMAG_OBJECT);
24362 melt_putfield_object((/*_.INST__V96*/ meltfptr[95]), (4), (/*_.MACFORMALS__V91*/ meltfptr[62]), "SFORMAL_ARGS");
24364 /*^putslot*/
24365 /*putslot*/
24366 melt_assertmsg("checkobj putslot _ @SFUN_BODY", melt_magic_discr((melt_ptr_t)(/*_.INST__V96*/ meltfptr[95])) == MELTOBMAG_OBJECT);
24367 melt_putfield_object((/*_.INST__V96*/ meltfptr[95]), (5), (/*_.MACBODY__V92*/ meltfptr[76]), "SFUN_BODY");
24369 /*^putslot*/
24370 /*putslot*/
24371 melt_assertmsg("checkobj putslot _ @SMACRO_BINDING", melt_magic_discr((melt_ptr_t)(/*_.INST__V96*/ meltfptr[95])) == MELTOBMAG_OBJECT);
24372 melt_putfield_object((/*_.INST__V96*/ meltfptr[95]), (6), (/*_.MACBIND__V93*/ meltfptr[72]), "SMACRO_BINDING");
24374 /*^putslot*/
24375 /*putslot*/
24376 melt_assertmsg("checkobj putslot _ @SMACRO_SOURCELETBINDING", melt_magic_discr((melt_ptr_t)(/*_.INST__V96*/ meltfptr[95])) == MELTOBMAG_OBJECT);
24377 melt_putfield_object((/*_.INST__V96*/ meltfptr[95]), (7), (/*_.CURSBIND__V59*/ meltfptr[46]), "SMACRO_SOURCELETBINDING");
24379 /*^touchobj*/
24381 melt_dbgtrace_written_object (/*_.INST__V96*/ meltfptr[95], "newly made instance");
24383 /*_.DEFMACLET__V95*/
24384 meltfptr[94] = /*_.INST__V96*/ meltfptr[95];;
24386 MELT_CHECK_SIGNAL();
24388 MELT_LOCATION("warmelt-macro.melt:7195:/ quasiblock");
24391 /*^rawallocobj*/
24392 /*rawallocobj*/
24394 melt_ptr_t newobj = 0;
24395 melt_raw_object_create(newobj,(melt_ptr_t)((/*!CLASS_SOURCE_MACRO_INSTALLATION*/ meltfrout->tabval[21])), (4), "CLASS_SOURCE_MACRO_INSTALLATION");
24396 /*_.INST__V98*/
24397 meltfptr[97] =
24398 newobj;
24401 /*^putslot*/
24402 /*putslot*/
24403 melt_assertmsg("checkobj putslot _ @LOCA_LOCATION", melt_magic_discr((melt_ptr_t)(/*_.INST__V98*/ meltfptr[97])) == MELTOBMAG_OBJECT);
24404 melt_putfield_object((/*_.INST__V98*/ meltfptr[97]), (1), (/*_.LOC__V22*/ meltfptr[21]), "LOCA_LOCATION");
24406 /*^putslot*/
24407 /*putslot*/
24408 melt_assertmsg("checkobj putslot _ @SMACINST_DEFMACRO", melt_magic_discr((melt_ptr_t)(/*_.INST__V98*/ meltfptr[97])) == MELTOBMAG_OBJECT);
24409 melt_putfield_object((/*_.INST__V98*/ meltfptr[97]), (2), (/*_.DEFMACLET__V95*/ meltfptr[94]), "SMACINST_DEFMACRO");
24411 /*^putslot*/
24412 /*putslot*/
24413 melt_assertmsg("checkobj putslot _ @SMACINST_ENV", melt_magic_discr((melt_ptr_t)(/*_.INST__V98*/ meltfptr[97])) == MELTOBMAG_OBJECT);
24414 melt_putfield_object((/*_.INST__V98*/ meltfptr[97]), (3), (/*_.NEWENV__V34*/ meltfptr[31]), "SMACINST_ENV");
24416 /*^touchobj*/
24418 melt_dbgtrace_written_object (/*_.INST__V98*/ meltfptr[97], "newly made instance");
24420 /*_.SINSTMAC__V97*/
24421 meltfptr[96] = /*_.INST__V98*/ meltfptr[97];;
24424 MELT_LOCATION("warmelt-macro.melt:7200:/ locexp");
24425 meltgc_append_list((melt_ptr_t)(/*_.MACLIST__V35*/ meltfptr[29]), (melt_ptr_t)(/*_.SINSTMAC__V97*/ meltfptr[96]));
24429 #if MELT_HAVE_DEBUG
24430 MELT_LOCATION("warmelt-macro.melt:7201:/ cppif.then");
24431 /*^block*/
24432 /*anyblock*/
24437 /*^locexp*/
24438 /*melt_increment_dbgcounter*/
24439 #if MELT_HAVE_DEBUG
24440 melt_dbgcounter++;
24441 #endif
24446 MELT_CHECK_SIGNAL();
24448 /*_#MELT_NEED_DBG__L36*/
24449 meltfnum[28] =
24450 /*MELT_NEED_DBG*/
24451 #if MELT_HAVE_DEBUG
24452 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
24453 #else
24454 0 /* no melt_need_dbg */
24455 #endif /*MELT_HAVE_DEBUG*/
24457 MELT_LOCATION("warmelt-macro.melt:7201:/ cond");
24458 /*cond*/
24459 if (/*_#MELT_NEED_DBG__L36*/ meltfnum[28]) /*then*/
24461 /*^cond.then*/
24462 /*^block*/
24463 /*anyblock*/
24466 /*_#MELT_CALLCOUNT__L37*/ meltfnum[33] =
24467 /* for melt_callcount */
24468 #if MELT_HAVE_DEBUG && defined (meltcallcount)
24469 meltcallcount /* melt_callcount debugging */
24470 #else
24471 0L /* melt_callcount without debug */
24472 #endif /* MELT_HAVE_DEBUG melt_callcount */
24475 MELT_CHECK_SIGNAL();
24477 MELT_LOCATION("warmelt-macro.melt:7201:/ apply");
24478 /*apply*/
24480 union meltparam_un argtab[14];
24481 memset(&argtab, 0, sizeof(argtab));
24482 /*^apply.arg*/
24483 argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L37*/ meltfnum[33];
24484 /*^apply.arg*/
24485 argtab[1].meltbp_cstring = "warmelt-macro.melt";
24486 /*^apply.arg*/
24487 argtab[2].meltbp_long = 7201;
24488 /*^apply.arg*/
24489 argtab[3].meltbp_cstring = "mexpand_let:macro";
24490 /*^apply.arg*/
24491 argtab[4].meltbp_cstring = " loc=";
24492 /*^apply.arg*/
24493 argtab[5].meltbp_aptr = (melt_ptr_t*) &/*_.LOC__V22*/ meltfptr[21];
24494 /*^apply.arg*/
24495 argtab[6].meltbp_cstring = "\n.. macbind=";
24496 /*^apply.arg*/
24497 argtab[7].meltbp_aptr = (melt_ptr_t*) &/*_.MACBIND__V93*/ meltfptr[72];
24498 /*^apply.arg*/
24499 argtab[8].meltbp_cstring = "\n.. defmaclet=";
24500 /*^apply.arg*/
24501 argtab[9].meltbp_aptr = (melt_ptr_t*) &/*_.DEFMACLET__V95*/ meltfptr[94];
24502 /*^apply.arg*/
24503 argtab[10].meltbp_cstring = "\n.. updated maclist=";
24504 /*^apply.arg*/
24505 argtab[11].meltbp_aptr = (melt_ptr_t*) &/*_.MACLIST__V35*/ meltfptr[29];
24506 /*^apply.arg*/
24507 argtab[12].meltbp_cstring = "\n.. sinstmac=";
24508 /*^apply.arg*/
24509 argtab[13].meltbp_aptr = (melt_ptr_t*) &/*_.SINSTMAC__V97*/ meltfptr[96];
24510 /*_.MELT_DEBUG_FUN__V100*/
24511 meltfptr[99] = 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_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
24514 /*_._IF___V99*/
24515 meltfptr[98] = /*_.MELT_DEBUG_FUN__V100*/ meltfptr[99];;
24516 /*epilog*/
24518 MELT_LOCATION("warmelt-macro.melt:7201:/ clear");
24519 /*clear*/ /*_#MELT_CALLCOUNT__L37*/
24520 meltfnum[33] = 0 ;
24521 /*^clear*/
24522 /*clear*/ /*_.MELT_DEBUG_FUN__V100*/
24523 meltfptr[99] = 0 ;
24527 else /*^cond.else*/
24530 /*_._IF___V99*/ meltfptr[98] = /*reallynil*/ NULL ;;
24535 MELT_LOCATION("warmelt-macro.melt:7201:/ locexp");
24536 /*void*/
24537 (void)0;
24540 /*^quasiblock*/
24543 /*epilog*/
24545 /*^clear*/
24546 /*clear*/ /*_#MELT_NEED_DBG__L36*/
24547 meltfnum[28] = 0 ;
24548 /*^clear*/
24549 /*clear*/ /*_._IF___V99*/
24550 meltfptr[98] = 0 ;
24553 #else /*MELT_HAVE_DEBUG*/
24554 /*^cppif.else*/
24555 /*^block*/
24556 /*anyblock*/
24561 /*^locexp*/
24562 /*void*/(void)0;
24565 /*epilog*/
24568 #endif /*MELT_HAVE_DEBUG*/
24570 MELT_LOCATION("warmelt-macro.melt:7207:/ blockmultialloc");
24571 /*multiallocblock*/
24573 struct meltletrec_1_st
24575 struct MELT_CLOSURE_STRUCT(6) rclo_0__MEXPANSER;
24576 long meltletrec_1_endgap;
24577 } *meltletrec_1_ptr = 0;
24578 meltletrec_1_ptr = (struct meltletrec_1_st *) meltgc_allocate (sizeof (struct meltletrec_1_st), 0);
24579 /*^blockmultialloc.initfill*/
24580 /*iniclos rclo_0__MEXPANSER*/
24581 /*_.MEXPANSER__V101*/
24582 meltfptr[99] = (melt_ptr_t) &meltletrec_1_ptr->rclo_0__MEXPANSER;
24583 meltletrec_1_ptr->rclo_0__MEXPANSER.discr = (meltobject_ptr_t)(((melt_ptr_t)(MELT_PREDEF(DISCR_CLOSURE))));
24584 meltletrec_1_ptr->rclo_0__MEXPANSER.nbval = 6;
24585 meltletrec_1_ptr->rclo_0__MEXPANSER.rout = (meltroutine_ptr_t) ((/*!konst_30*/ meltfrout->tabval[30]));
24589 MELT_LOCATION("warmelt-macro.melt:7208:/ putclosurout");
24590 /*putclosurout#4*/
24591 melt_assertmsg("putclosrout#4 checkclo", melt_magic_discr((melt_ptr_t)(/*_.MEXPANSER__V101*/ meltfptr[99])) == MELTOBMAG_CLOSURE);
24592 melt_assertmsg("putclosrout#4 checkrout", melt_magic_discr((melt_ptr_t)((/*!konst_30*/ meltfrout->tabval[30]))) == MELTOBMAG_ROUTINE);
24593 ((meltclosure_ptr_t)/*_.MEXPANSER__V101*/ meltfptr[99])->rout = (meltroutine_ptr_t) ((/*!konst_30*/ meltfrout->tabval[30]));
24595 /*^putclosedv*/
24596 /*putclosv*/
24597 melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.MEXPANSER__V101*/ meltfptr[99])) == MELTOBMAG_CLOSURE);
24598 melt_assertmsg("putclosv checkoff", 0>= 0 && 0< melt_closure_size((melt_ptr_t) (/*_.MEXPANSER__V101*/ meltfptr[99])));
24599 ((meltclosure_ptr_t)/*_.MEXPANSER__V101*/ meltfptr[99])->tabval[0] = (melt_ptr_t)(/*_.MACBIND__V93*/ meltfptr[72]);
24601 /*^putclosedv*/
24602 /*putclosv*/
24603 melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.MEXPANSER__V101*/ meltfptr[99])) == MELTOBMAG_CLOSURE);
24604 melt_assertmsg("putclosv checkoff", 1>= 0 && 1< melt_closure_size((melt_ptr_t) (/*_.MEXPANSER__V101*/ meltfptr[99])));
24605 ((meltclosure_ptr_t)/*_.MEXPANSER__V101*/ meltfptr[99])->tabval[1] = (melt_ptr_t)(/*_.LOC__V22*/ meltfptr[21]);
24607 /*^putclosedv*/
24608 /*putclosv*/
24609 melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.MEXPANSER__V101*/ meltfptr[99])) == MELTOBMAG_CLOSURE);
24610 melt_assertmsg("putclosv checkoff", 2>= 0 && 2< melt_closure_size((melt_ptr_t) (/*_.MEXPANSER__V101*/ meltfptr[99])));
24611 ((meltclosure_ptr_t)/*_.MEXPANSER__V101*/ meltfptr[99])->tabval[2] = (melt_ptr_t)(/*_.MACSYMB__V88*/ meltfptr[73]);
24613 /*^putclosedv*/
24614 /*putclosv*/
24615 melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.MEXPANSER__V101*/ meltfptr[99])) == MELTOBMAG_CLOSURE);
24616 melt_assertmsg("putclosv checkoff", 3>= 0 && 3< melt_closure_size((melt_ptr_t) (/*_.MEXPANSER__V101*/ meltfptr[99])));
24617 ((meltclosure_ptr_t)/*_.MEXPANSER__V101*/ meltfptr[99])->tabval[3] = (melt_ptr_t)(/*_.MACLIST__V35*/ meltfptr[29]);
24619 /*^putclosedv*/
24620 /*putclosv*/
24621 melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.MEXPANSER__V101*/ meltfptr[99])) == MELTOBMAG_CLOSURE);
24622 melt_assertmsg("putclosv checkoff", 4>= 0 && 4< melt_closure_size((melt_ptr_t) (/*_.MEXPANSER__V101*/ meltfptr[99])));
24623 ((meltclosure_ptr_t)/*_.MEXPANSER__V101*/ meltfptr[99])->tabval[4] = (melt_ptr_t)(/*_.MODCTX__V5*/ meltfptr[4]);
24625 /*^putclosedv*/
24626 /*putclosv*/
24627 melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.MEXPANSER__V101*/ meltfptr[99])) == MELTOBMAG_CLOSURE);
24628 melt_assertmsg("putclosv checkoff", 5>= 0 && 5< melt_closure_size((melt_ptr_t) (/*_.MEXPANSER__V101*/ meltfptr[99])));
24629 ((meltclosure_ptr_t)/*_.MEXPANSER__V101*/ meltfptr[99])->tabval[5] = (melt_ptr_t)(/*_.MEXPANSER__V101*/ meltfptr[99]);
24631 /*^touch*/
24632 meltgc_touch(/*_.MEXPANSER__V101*/ meltfptr[99]);
24635 #if MELT_HAVE_DEBUG
24636 MELT_LOCATION("warmelt-macro.melt:7255:/ cppif.then");
24637 /*^block*/
24638 /*anyblock*/
24643 /*^locexp*/
24644 /*melt_increment_dbgcounter*/
24645 #if MELT_HAVE_DEBUG
24646 melt_dbgcounter++;
24647 #endif
24652 MELT_CHECK_SIGNAL();
24654 /*_#MELT_NEED_DBG__L38*/
24655 meltfnum[33] =
24656 /*MELT_NEED_DBG*/
24657 #if MELT_HAVE_DEBUG
24658 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
24659 #else
24660 0 /* no melt_need_dbg */
24661 #endif /*MELT_HAVE_DEBUG*/
24663 MELT_LOCATION("warmelt-macro.melt:7255:/ cond");
24664 /*cond*/
24665 if (/*_#MELT_NEED_DBG__L38*/ meltfnum[33]) /*then*/
24667 /*^cond.then*/
24668 /*^block*/
24669 /*anyblock*/
24672 /*_#MELT_CALLCOUNT__L39*/ meltfnum[28] =
24673 /* for melt_callcount */
24674 #if MELT_HAVE_DEBUG && defined (meltcallcount)
24675 meltcallcount /* melt_callcount debugging */
24676 #else
24677 0L /* melt_callcount without debug */
24678 #endif /* MELT_HAVE_DEBUG melt_callcount */
24681 MELT_CHECK_SIGNAL();
24683 MELT_LOCATION("warmelt-macro.melt:7255:/ apply");
24684 /*apply*/
24686 union meltparam_un argtab[10];
24687 memset(&argtab, 0, sizeof(argtab));
24688 /*^apply.arg*/
24689 argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L39*/ meltfnum[28];
24690 /*^apply.arg*/
24691 argtab[1].meltbp_cstring = "warmelt-macro.melt";
24692 /*^apply.arg*/
24693 argtab[2].meltbp_long = 7255;
24694 /*^apply.arg*/
24695 argtab[3].meltbp_cstring = "mexpand_let:macro";
24696 /*^apply.arg*/
24697 argtab[4].meltbp_cstring = " loc=";
24698 /*^apply.arg*/
24699 argtab[5].meltbp_aptr = (melt_ptr_t*) &/*_.LOC__V22*/ meltfptr[21];
24700 /*^apply.arg*/
24701 argtab[6].meltbp_cstring = " mexpanser=";
24702 /*^apply.arg*/
24703 argtab[7].meltbp_aptr = (melt_ptr_t*) &/*_.MEXPANSER__V101*/ meltfptr[99];
24704 /*^apply.arg*/
24705 argtab[8].meltbp_cstring = "\n.. macbind=";
24706 /*^apply.arg*/
24707 argtab[9].meltbp_aptr = (melt_ptr_t*) &/*_.MACBIND__V93*/ meltfptr[72];
24708 /*_.MELT_DEBUG_FUN__V103*/
24709 meltfptr[102] = 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_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
24712 /*_._IF___V102*/
24713 meltfptr[98] = /*_.MELT_DEBUG_FUN__V103*/ meltfptr[102];;
24714 /*epilog*/
24716 MELT_LOCATION("warmelt-macro.melt:7255:/ clear");
24717 /*clear*/ /*_#MELT_CALLCOUNT__L39*/
24718 meltfnum[28] = 0 ;
24719 /*^clear*/
24720 /*clear*/ /*_.MELT_DEBUG_FUN__V103*/
24721 meltfptr[102] = 0 ;
24725 else /*^cond.else*/
24728 /*_._IF___V102*/ meltfptr[98] = /*reallynil*/ NULL ;;
24733 MELT_LOCATION("warmelt-macro.melt:7255:/ locexp");
24734 /*void*/
24735 (void)0;
24738 /*^quasiblock*/
24741 /*epilog*/
24743 /*^clear*/
24744 /*clear*/ /*_#MELT_NEED_DBG__L38*/
24745 meltfnum[33] = 0 ;
24746 /*^clear*/
24747 /*clear*/ /*_._IF___V102*/
24748 meltfptr[98] = 0 ;
24751 #else /*MELT_HAVE_DEBUG*/
24752 /*^cppif.else*/
24753 /*^block*/
24754 /*anyblock*/
24759 /*^locexp*/
24760 /*void*/(void)0;
24763 /*epilog*/
24766 #endif /*MELT_HAVE_DEBUG*/
24769 MELT_CHECK_SIGNAL();
24771 MELT_LOCATION("warmelt-macro.melt:7256:/ cond");
24772 /*cond*/
24773 if (
24774 /*ifisa*/ melt_is_instance_of((melt_ptr_t)(/*_.MACBIND__V93*/ meltfptr[72]),
24775 (melt_ptr_t)((/*!CLASS_MACRO_BINDING*/ meltfrout->tabval[31])))
24776 ) /*then*/
24778 /*^cond.then*/
24779 /*^block*/
24780 /*anyblock*/
24783 /*^putslot*/
24784 /*putslot*/
24785 melt_assertmsg("checkobj putslot _ @MBIND_EXPANSER", melt_magic_discr((melt_ptr_t)(/*_.MACBIND__V93*/ meltfptr[72])) == MELTOBMAG_OBJECT);
24786 melt_putfield_object((/*_.MACBIND__V93*/ meltfptr[72]), (1), (/*_.MEXPANSER__V101*/ meltfptr[99]), "MBIND_EXPANSER");
24788 /*^touch*/
24789 meltgc_touch(/*_.MACBIND__V93*/ meltfptr[72]);
24791 /*^touchobj*/
24793 melt_dbgtrace_written_object (/*_.MACBIND__V93*/ meltfptr[72], "put-fields");
24795 /*epilog*/
24798 } /*noelse*/
24801 #if MELT_HAVE_DEBUG
24802 MELT_LOCATION("warmelt-macro.melt:7257:/ cppif.then");
24803 /*^block*/
24804 /*anyblock*/
24809 /*^locexp*/
24810 /*melt_increment_dbgcounter*/
24811 #if MELT_HAVE_DEBUG
24812 melt_dbgcounter++;
24813 #endif
24818 MELT_CHECK_SIGNAL();
24820 /*_#MELT_NEED_DBG__L40*/
24821 meltfnum[28] =
24822 /*MELT_NEED_DBG*/
24823 #if MELT_HAVE_DEBUG
24824 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
24825 #else
24826 0 /* no melt_need_dbg */
24827 #endif /*MELT_HAVE_DEBUG*/
24829 MELT_LOCATION("warmelt-macro.melt:7257:/ cond");
24830 /*cond*/
24831 if (/*_#MELT_NEED_DBG__L40*/ meltfnum[28]) /*then*/
24833 /*^cond.then*/
24834 /*^block*/
24835 /*anyblock*/
24838 /*_#MELT_CALLCOUNT__L41*/ meltfnum[33] =
24839 /* for melt_callcount */
24840 #if MELT_HAVE_DEBUG && defined (meltcallcount)
24841 meltcallcount /* melt_callcount debugging */
24842 #else
24843 0L /* melt_callcount without debug */
24844 #endif /* MELT_HAVE_DEBUG melt_callcount */
24847 MELT_CHECK_SIGNAL();
24849 MELT_LOCATION("warmelt-macro.melt:7257:/ apply");
24850 /*apply*/
24852 union meltparam_un argtab[8];
24853 memset(&argtab, 0, sizeof(argtab));
24854 /*^apply.arg*/
24855 argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L41*/ meltfnum[33];
24856 /*^apply.arg*/
24857 argtab[1].meltbp_cstring = "warmelt-macro.melt";
24858 /*^apply.arg*/
24859 argtab[2].meltbp_long = 7257;
24860 /*^apply.arg*/
24861 argtab[3].meltbp_cstring = "mexpand_let:macro";
24862 /*^apply.arg*/
24863 argtab[4].meltbp_cstring = " loc=";
24864 /*^apply.arg*/
24865 argtab[5].meltbp_aptr = (melt_ptr_t*) &/*_.LOC__V22*/ meltfptr[21];
24866 /*^apply.arg*/
24867 argtab[6].meltbp_cstring = " update macbind=";
24868 /*^apply.arg*/
24869 argtab[7].meltbp_aptr = (melt_ptr_t*) &/*_.MACBIND__V93*/ meltfptr[72];
24870 /*_.MELT_DEBUG_FUN__V105*/
24871 meltfptr[98] = 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_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
24874 /*_._IF___V104*/
24875 meltfptr[102] = /*_.MELT_DEBUG_FUN__V105*/ meltfptr[98];;
24876 /*epilog*/
24878 MELT_LOCATION("warmelt-macro.melt:7257:/ clear");
24879 /*clear*/ /*_#MELT_CALLCOUNT__L41*/
24880 meltfnum[33] = 0 ;
24881 /*^clear*/
24882 /*clear*/ /*_.MELT_DEBUG_FUN__V105*/
24883 meltfptr[98] = 0 ;
24887 else /*^cond.else*/
24890 /*_._IF___V104*/ meltfptr[102] = /*reallynil*/ NULL ;;
24895 MELT_LOCATION("warmelt-macro.melt:7257:/ locexp");
24896 /*void*/
24897 (void)0;
24900 /*^quasiblock*/
24903 /*epilog*/
24905 /*^clear*/
24906 /*clear*/ /*_#MELT_NEED_DBG__L40*/
24907 meltfnum[28] = 0 ;
24908 /*^clear*/
24909 /*clear*/ /*_._IF___V104*/
24910 meltfptr[102] = 0 ;
24913 #else /*MELT_HAVE_DEBUG*/
24914 /*^cppif.else*/
24915 /*^block*/
24916 /*anyblock*/
24921 /*^locexp*/
24922 /*void*/(void)0;
24925 /*epilog*/
24928 #endif /*MELT_HAVE_DEBUG*/
24931 MELT_CHECK_SIGNAL();
24933 MELT_LOCATION("warmelt-macro.melt:7258:/ apply");
24934 /*apply*/
24936 union meltparam_un argtab[1];
24937 memset(&argtab, 0, sizeof(argtab));
24938 /*^apply.arg*/
24939 argtab[0].meltbp_aptr = (melt_ptr_t*) &/*_.MACBIND__V93*/ meltfptr[72];
24940 /*_.PUT_ENV__V106*/
24941 meltfptr[98] = melt_apply ((meltclosure_ptr_t)((/*!PUT_ENV*/ meltfrout->tabval[12])), (melt_ptr_t)(/*_.NEWENV__V34*/ meltfptr[31]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
24946 MELT_LOCATION("warmelt-macro.melt:7259:/ locexp");
24947 meltgc_append_list((melt_ptr_t)(/*_.LETBINDLIST__V33*/ meltfptr[30]), (melt_ptr_t)(/*_.CURSBIND__V59*/ meltfptr[46]));
24951 #if MELT_HAVE_DEBUG
24952 MELT_LOCATION("warmelt-macro.melt:7260:/ cppif.then");
24953 /*^block*/
24954 /*anyblock*/
24959 /*^locexp*/
24960 /*melt_increment_dbgcounter*/
24961 #if MELT_HAVE_DEBUG
24962 melt_dbgcounter++;
24963 #endif
24968 MELT_CHECK_SIGNAL();
24970 /*_#MELT_NEED_DBG__L42*/
24971 meltfnum[33] =
24972 /*MELT_NEED_DBG*/
24973 #if MELT_HAVE_DEBUG
24974 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
24975 #else
24976 0 /* no melt_need_dbg */
24977 #endif /*MELT_HAVE_DEBUG*/
24979 MELT_LOCATION("warmelt-macro.melt:7260:/ cond");
24980 /*cond*/
24981 if (/*_#MELT_NEED_DBG__L42*/ meltfnum[33]) /*then*/
24983 /*^cond.then*/
24984 /*^block*/
24985 /*anyblock*/
24988 /*_#MELT_CALLCOUNT__L43*/ meltfnum[28] =
24989 /* for melt_callcount */
24990 #if MELT_HAVE_DEBUG && defined (meltcallcount)
24991 meltcallcount /* melt_callcount debugging */
24992 #else
24993 0L /* melt_callcount without debug */
24994 #endif /* MELT_HAVE_DEBUG melt_callcount */
24997 MELT_CHECK_SIGNAL();
24999 MELT_LOCATION("warmelt-macro.melt:7260:/ apply");
25000 /*apply*/
25002 union meltparam_un argtab[11];
25003 memset(&argtab, 0, sizeof(argtab));
25004 /*^apply.arg*/
25005 argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L43*/ meltfnum[28];
25006 /*^apply.arg*/
25007 argtab[1].meltbp_cstring = "warmelt-macro.melt";
25008 /*^apply.arg*/
25009 argtab[2].meltbp_long = 7260;
25010 /*^apply.arg*/
25011 argtab[3].meltbp_cstring = "mexpand_let:macro";
25012 /*^apply.arg*/
25013 argtab[4].meltbp_cstring = " letbind-updated newenv=";
25014 /*^apply.arg*/
25015 argtab[5].meltbp_aptr = (melt_ptr_t*) &(/*!DEBUG_MORE*/ meltfrout->tabval[32]);
25016 /*^apply.arg*/
25017 argtab[6].meltbp_aptr = (melt_ptr_t*) &/*_.NEWENV__V34*/ meltfptr[31];
25018 /*^apply.arg*/
25019 argtab[7].meltbp_cstring = "\n.. for cursbind=";
25020 /*^apply.arg*/
25021 argtab[8].meltbp_aptr = (melt_ptr_t*) &/*_.CURSBIND__V59*/ meltfptr[46];
25022 /*^apply.arg*/
25023 argtab[9].meltbp_cstring = "\n.. macbind=";
25024 /*^apply.arg*/
25025 argtab[10].meltbp_aptr = (melt_ptr_t*) &/*_.MACBIND__V93*/ meltfptr[72];
25026 /*_.MELT_DEBUG_FUN__V108*/
25027 meltfptr[107] = 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_CSTRING MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
25030 /*_._IF___V107*/
25031 meltfptr[102] = /*_.MELT_DEBUG_FUN__V108*/ meltfptr[107];;
25032 /*epilog*/
25034 MELT_LOCATION("warmelt-macro.melt:7260:/ clear");
25035 /*clear*/ /*_#MELT_CALLCOUNT__L43*/
25036 meltfnum[28] = 0 ;
25037 /*^clear*/
25038 /*clear*/ /*_.MELT_DEBUG_FUN__V108*/
25039 meltfptr[107] = 0 ;
25043 else /*^cond.else*/
25046 /*_._IF___V107*/ meltfptr[102] = /*reallynil*/ NULL ;;
25051 MELT_LOCATION("warmelt-macro.melt:7260:/ locexp");
25052 /*void*/
25053 (void)0;
25056 /*^quasiblock*/
25059 /*epilog*/
25061 /*^clear*/
25062 /*clear*/ /*_#MELT_NEED_DBG__L42*/
25063 meltfnum[33] = 0 ;
25064 /*^clear*/
25065 /*clear*/ /*_._IF___V107*/
25066 meltfptr[102] = 0 ;
25069 #else /*MELT_HAVE_DEBUG*/
25070 /*^cppif.else*/
25071 /*^block*/
25072 /*anyblock*/
25077 /*^locexp*/
25078 /*void*/(void)0;
25081 /*epilog*/
25084 #endif /*MELT_HAVE_DEBUG*/
25088 MELT_LOCATION("warmelt-macro.melt:7263:/ locexp");
25090 #if MELT_HAVE_DEBUG
25091 if (melt_need_debug (0))
25092 melt_dbgshortbacktrace(( "mexpand_let:macro-endletrec-mexpanser"), (32));
25093 #endif
25097 /*epilog*/
25099 MELT_LOCATION("warmelt-macro.melt:7207:/ clear");
25100 /*clear*/ /*_.MEXPANSER__V101*/
25101 meltfptr[99] = 0 ;
25102 /*^clear*/
25103 /*clear*/ /*_.MEXPANSER__V101*/
25104 meltfptr[99] = 0 ;
25105 /*^clear*/
25106 /*clear*/ /*_.PUT_ENV__V106*/
25107 meltfptr[98] = 0 ;
25108 } /*end multiallocblock*/
25111 MELT_LOCATION("warmelt-macro.melt:7176:/ clear");
25112 /*clear*/ /*_.MACSYMB__V88*/
25113 meltfptr[73] = 0 ;
25114 /*^clear*/
25115 /*clear*/ /*_.LOCA_LOCATION__V89*/
25116 meltfptr[74] = 0 ;
25117 /*^clear*/
25118 /*clear*/ /*_.MACLOC__V90*/
25119 meltfptr[77] = 0 ;
25120 /*^clear*/
25121 /*clear*/ /*_.MACFORMALS__V91*/
25122 meltfptr[62] = 0 ;
25123 /*^clear*/
25124 /*clear*/ /*_.MACBODY__V92*/
25125 meltfptr[76] = 0 ;
25126 /*^clear*/
25127 /*clear*/ /*_.MACBIND__V93*/
25128 meltfptr[72] = 0 ;
25129 /*^clear*/
25130 /*clear*/ /*_.DEFMACLET__V95*/
25131 meltfptr[94] = 0 ;
25132 /*^clear*/
25133 /*clear*/ /*_.SINSTMAC__V97*/
25134 meltfptr[96] = 0 ;
25135 MELT_LOCATION("warmelt-macro.melt:7172:/ quasiblock");
25138 /*epilog*/
25140 /*^clear*/
25141 /*clear*/ /*_.IFCPP___V85*/
25142 meltfptr[70] = 0 ;
25146 else /*^cond.else*/
25149 /*^block*/
25150 /*anyblock*/
25154 #if MELT_HAVE_DEBUG
25155 MELT_LOCATION("warmelt-macro.melt:7267:/ cppif.then");
25156 /*^block*/
25157 /*anyblock*/
25161 MELT_CHECK_SIGNAL();
25163 /*^cond*/
25164 /*cond*/
25165 if ((/*nil*/NULL)) /*then*/
25167 /*^cond.then*/
25168 /*_._IFELSE___V110*/ meltfptr[102] = (/*nil*/NULL);;
25170 else
25172 MELT_LOCATION("warmelt-macro.melt:7267:/ cond.else");
25174 /*^block*/
25175 /*anyblock*/
25179 MELT_CHECK_SIGNAL();
25181 /*^apply*/
25182 /*apply*/
25184 union meltparam_un argtab[5];
25185 memset(&argtab, 0, sizeof(argtab));
25186 /*^apply.arg*/
25187 argtab[0].meltbp_cstring = "impossible cursbind";
25188 /*^apply.arg*/
25189 argtab[1].meltbp_cstring = "warmelt-macro.melt";
25190 /*^apply.arg*/
25191 argtab[2].meltbp_long = 7267;
25192 /*^apply.arg*/
25193 argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.CURSBIND__V59*/ meltfptr[46];
25194 /*^apply.arg*/
25195 argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.CURBINDSRC__V55*/ meltfptr[52];
25196 /*_.MELT_ASSERT_FAILURE_FUN__V111*/
25197 meltfptr[99] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[3])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
25200 /*_._IFELSE___V110*/
25201 meltfptr[102] = /*_.MELT_ASSERT_FAILURE_FUN__V111*/ meltfptr[99];;
25202 /*epilog*/
25204 MELT_LOCATION("warmelt-macro.melt:7267:/ clear");
25205 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V111*/
25206 meltfptr[99] = 0 ;
25211 /*_.IFCPP___V109*/
25212 meltfptr[107] = /*_._IFELSE___V110*/ meltfptr[102];;
25213 /*epilog*/
25215 MELT_LOCATION("warmelt-macro.melt:7267:/ clear");
25216 /*clear*/ /*_._IFELSE___V110*/
25217 meltfptr[102] = 0 ;
25220 #else /*MELT_HAVE_DEBUG*/
25221 /*^cppif.else*/
25222 /*_.IFCPP___V109*/ meltfptr[107] = (/*nil*/NULL);
25223 #endif /*MELT_HAVE_DEBUG*/
25225 MELT_LOCATION("warmelt-macro.melt:7266:/ quasiblock");
25228 /*_.PROGN___V112*/
25229 meltfptr[98] = /*_.IFCPP___V109*/ meltfptr[107];;
25230 /*^compute*/
25231 /*_._IFELSE___V82*/
25232 meltfptr[80] = /*_.PROGN___V112*/ meltfptr[98];;
25233 /*epilog*/
25235 MELT_LOCATION("warmelt-macro.melt:7172:/ clear");
25236 /*clear*/ /*_.IFCPP___V109*/
25237 meltfptr[107] = 0 ;
25238 /*^clear*/
25239 /*clear*/ /*_.PROGN___V112*/
25240 meltfptr[98] = 0 ;
25245 /*_._IFELSE___V69*/
25246 meltfptr[60] = /*_._IFELSE___V82*/ meltfptr[80];;
25247 /*epilog*/
25249 MELT_LOCATION("warmelt-macro.melt:7156:/ clear");
25250 /*clear*/ /*_#IS_A__L32*/
25251 meltfnum[24] = 0 ;
25252 /*^clear*/
25253 /*clear*/ /*_._IFELSE___V82*/
25254 meltfptr[80] = 0 ;
25259 /*_.LET___V58*/
25260 meltfptr[27] = /*_._IFELSE___V69*/ meltfptr[60];;
25262 MELT_LOCATION("warmelt-macro.melt:7141:/ clear");
25263 /*clear*/ /*_#IS_A__L22*/
25264 meltfnum[20] = 0 ;
25265 /*^clear*/
25266 /*clear*/ /*_.CURSBIND__V59*/
25267 meltfptr[46] = 0 ;
25268 /*^clear*/
25269 /*clear*/ /*_.IFCPP___V66*/
25270 meltfptr[59] = 0 ;
25271 /*^clear*/
25272 /*clear*/ /*_#IS_A__L27*/
25273 meltfnum[14] = 0 ;
25274 /*^clear*/
25275 /*clear*/ /*_._IFELSE___V69*/
25276 meltfptr[60] = 0 ;
25277 } /* end foreach_pair_component_in_list meltcit2__EACHLIST */
25278 /*_.CURPAIRINLISTSYMB__V54*/ meltfptr[51] = NULL;
25279 /*_.CURBINDSRC__V55*/
25280 meltfptr[52] = NULL;
25283 /*citerepilog*/
25285 MELT_LOCATION("warmelt-macro.melt:7137:/ clear");
25286 /*clear*/ /*_.CURPAIRINLISTSYMB__V54*/
25287 meltfptr[51] = 0 ;
25288 /*^clear*/
25289 /*clear*/ /*_.CURBINDSRC__V55*/
25290 meltfptr[52] = 0 ;
25291 /*^clear*/
25292 /*clear*/ /*_.LET___V58*/
25293 meltfptr[27] = 0 ;
25294 } /*endciterblock FOREACH_PAIR_COMPONENT_IN_LIST*/
25296 MELT_LOCATION("warmelt-macro.melt:7136:/ quasiblock");
25299 /*epilog*/
25305 #if MELT_HAVE_DEBUG
25306 MELT_LOCATION("warmelt-macro.melt:7272:/ cppif.then");
25307 /*^block*/
25308 /*anyblock*/
25313 /*^locexp*/
25314 /*melt_increment_dbgcounter*/
25315 #if MELT_HAVE_DEBUG
25316 melt_dbgcounter++;
25317 #endif
25322 MELT_CHECK_SIGNAL();
25324 /*_#MELT_NEED_DBG__L44*/
25325 meltfnum[28] =
25326 /*MELT_NEED_DBG*/
25327 #if MELT_HAVE_DEBUG
25328 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
25329 #else
25330 0 /* no melt_need_dbg */
25331 #endif /*MELT_HAVE_DEBUG*/
25333 MELT_LOCATION("warmelt-macro.melt:7272:/ cond");
25334 /*cond*/
25335 if (/*_#MELT_NEED_DBG__L44*/ meltfnum[28]) /*then*/
25337 /*^cond.then*/
25338 /*^block*/
25339 /*anyblock*/
25342 /*_#MELT_CALLCOUNT__L45*/ meltfnum[33] =
25343 /* for melt_callcount */
25344 #if MELT_HAVE_DEBUG && defined (meltcallcount)
25345 meltcallcount /* melt_callcount debugging */
25346 #else
25347 0L /* melt_callcount without debug */
25348 #endif /* MELT_HAVE_DEBUG melt_callcount */
25351 MELT_CHECK_SIGNAL();
25353 MELT_LOCATION("warmelt-macro.melt:7272:/ apply");
25354 /*apply*/
25356 union meltparam_un argtab[11];
25357 memset(&argtab, 0, sizeof(argtab));
25358 /*^apply.arg*/
25359 argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L45*/ meltfnum[33];
25360 /*^apply.arg*/
25361 argtab[1].meltbp_cstring = "warmelt-macro.melt";
25362 /*^apply.arg*/
25363 argtab[2].meltbp_long = 7272;
25364 /*^apply.arg*/
25365 argtab[3].meltbp_cstring = "mexpand_let";
25366 /*^apply.arg*/
25367 argtab[4].meltbp_cstring = " loc=";
25368 /*^apply.arg*/
25369 argtab[5].meltbp_aptr = (melt_ptr_t*) &/*_.LOC__V22*/ meltfptr[21];
25370 /*^apply.arg*/
25371 argtab[6].meltbp_cstring = " final newenv=";
25372 /*^apply.arg*/
25373 argtab[7].meltbp_aptr = (melt_ptr_t*) &(/*!DEBUG_MORE*/ meltfrout->tabval[32]);
25374 /*^apply.arg*/
25375 argtab[8].meltbp_aptr = (melt_ptr_t*) &/*_.NEWENV__V34*/ meltfptr[31];
25376 /*^apply.arg*/
25377 argtab[9].meltbp_cstring = "\n.. restpair=";
25378 /*^apply.arg*/
25379 argtab[10].meltbp_aptr = (melt_ptr_t*) &/*_.RESTPAIR__V25*/ meltfptr[24];
25380 /*_.MELT_DEBUG_FUN__V114*/
25381 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_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
25384 /*_._IF___V113*/
25385 meltfptr[73] = /*_.MELT_DEBUG_FUN__V114*/ meltfptr[74];;
25386 /*epilog*/
25388 MELT_LOCATION("warmelt-macro.melt:7272:/ clear");
25389 /*clear*/ /*_#MELT_CALLCOUNT__L45*/
25390 meltfnum[33] = 0 ;
25391 /*^clear*/
25392 /*clear*/ /*_.MELT_DEBUG_FUN__V114*/
25393 meltfptr[74] = 0 ;
25397 else /*^cond.else*/
25400 /*_._IF___V113*/ meltfptr[73] = /*reallynil*/ NULL ;;
25405 MELT_LOCATION("warmelt-macro.melt:7272:/ locexp");
25406 /*void*/
25407 (void)0;
25410 /*^quasiblock*/
25413 /*epilog*/
25415 /*^clear*/
25416 /*clear*/ /*_#MELT_NEED_DBG__L44*/
25417 meltfnum[28] = 0 ;
25418 /*^clear*/
25419 /*clear*/ /*_._IF___V113*/
25420 meltfptr[73] = 0 ;
25423 #else /*MELT_HAVE_DEBUG*/
25424 /*^cppif.else*/
25425 /*^block*/
25426 /*anyblock*/
25431 /*^locexp*/
25432 /*void*/(void)0;
25435 /*epilog*/
25438 #endif /*MELT_HAVE_DEBUG*/
25440 MELT_LOCATION("warmelt-macro.melt:7274:/ quasiblock");
25444 MELT_CHECK_SIGNAL();
25446 /*^apply*/
25447 /*apply*/
25449 union meltparam_un argtab[3];
25450 memset(&argtab, 0, sizeof(argtab));
25451 /*^apply.arg*/
25452 argtab[0].meltbp_aptr = (melt_ptr_t*) &/*_.NEWENV__V34*/ meltfptr[31];
25453 /*^apply.arg*/
25454 argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.MEXPANDER__V4*/ meltfptr[3];
25455 /*^apply.arg*/
25456 argtab[2].meltbp_aptr = (melt_ptr_t*) &/*_.MODCTX__V5*/ meltfptr[4];
25457 /*_.BODYTUP__V116*/
25458 meltfptr[62] = melt_apply ((meltclosure_ptr_t)((/*!EXPAND_PAIRLIST_AS_TUPLE*/ meltfrout->tabval[33])), (melt_ptr_t)(/*_.RESTPAIR__V25*/ meltfptr[24]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
25462 MELT_CHECK_SIGNAL();
25464 MELT_LOCATION("warmelt-macro.melt:7275:/ apply");
25465 /*apply*/
25467 union meltparam_un argtab[1];
25468 memset(&argtab, 0, sizeof(argtab));
25469 /*^apply.arg*/
25470 argtab[0].meltbp_aptr = (melt_ptr_t*) &(/*!DISCR_MULTIPLE*/ meltfrout->tabval[35]);
25471 /*_.BINDTUP__V117*/
25472 meltfptr[76] = melt_apply ((meltclosure_ptr_t)((/*!LIST_TO_MULTIPLE*/ meltfrout->tabval[34])), (melt_ptr_t)(/*_.LETBINDLIST__V33*/ meltfptr[30]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
25476 MELT_CHECK_SIGNAL();
25478 MELT_LOCATION("warmelt-macro.melt:7277:/ quasiblock");
25481 /*^rawallocobj*/
25482 /*rawallocobj*/
25484 melt_ptr_t newobj = 0;
25485 melt_raw_object_create(newobj,(melt_ptr_t)((/*!CLASS_SOURCE_LET*/ meltfrout->tabval[36])), (4), "CLASS_SOURCE_LET");
25486 /*_.INST__V119*/
25487 meltfptr[94] =
25488 newobj;
25491 /*^putslot*/
25492 /*putslot*/
25493 melt_assertmsg("checkobj putslot _ @LOCA_LOCATION", melt_magic_discr((melt_ptr_t)(/*_.INST__V119*/ meltfptr[94])) == MELTOBMAG_OBJECT);
25494 melt_putfield_object((/*_.INST__V119*/ meltfptr[94]), (1), (/*_.LOC__V22*/ meltfptr[21]), "LOCA_LOCATION");
25496 /*^putslot*/
25497 /*putslot*/
25498 melt_assertmsg("checkobj putslot _ @SLET_BINDINGS", melt_magic_discr((melt_ptr_t)(/*_.INST__V119*/ meltfptr[94])) == MELTOBMAG_OBJECT);
25499 melt_putfield_object((/*_.INST__V119*/ meltfptr[94]), (2), (/*_.BINDTUP__V117*/ meltfptr[76]), "SLET_BINDINGS");
25501 /*^putslot*/
25502 /*putslot*/
25503 melt_assertmsg("checkobj putslot _ @SLET_BODY", melt_magic_discr((melt_ptr_t)(/*_.INST__V119*/ meltfptr[94])) == MELTOBMAG_OBJECT);
25504 melt_putfield_object((/*_.INST__V119*/ meltfptr[94]), (3), (/*_.BODYTUP__V116*/ meltfptr[62]), "SLET_BODY");
25506 /*^touchobj*/
25508 melt_dbgtrace_written_object (/*_.INST__V119*/ meltfptr[94], "newly made instance");
25510 /*_.LETR__V118*/
25511 meltfptr[72] = /*_.INST__V119*/ meltfptr[94];;
25513 #if MELT_HAVE_DEBUG
25514 MELT_LOCATION("warmelt-macro.melt:7282:/ cppif.then");
25515 /*^block*/
25516 /*anyblock*/
25521 /*^locexp*/
25522 /*melt_increment_dbgcounter*/
25523 #if MELT_HAVE_DEBUG
25524 melt_dbgcounter++;
25525 #endif
25530 MELT_CHECK_SIGNAL();
25532 /*_#MELT_NEED_DBG__L46*/
25533 meltfnum[24] =
25534 /*MELT_NEED_DBG*/
25535 #if MELT_HAVE_DEBUG
25536 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
25537 #else
25538 0 /* no melt_need_dbg */
25539 #endif /*MELT_HAVE_DEBUG*/
25541 MELT_LOCATION("warmelt-macro.melt:7282:/ cond");
25542 /*cond*/
25543 if (/*_#MELT_NEED_DBG__L46*/ meltfnum[24]) /*then*/
25545 /*^cond.then*/
25546 /*^block*/
25547 /*anyblock*/
25550 /*_#MELT_CALLCOUNT__L47*/ meltfnum[20] =
25551 /* for melt_callcount */
25552 #if MELT_HAVE_DEBUG && defined (meltcallcount)
25553 meltcallcount /* melt_callcount debugging */
25554 #else
25555 0L /* melt_callcount without debug */
25556 #endif /* MELT_HAVE_DEBUG melt_callcount */
25559 MELT_CHECK_SIGNAL();
25561 MELT_LOCATION("warmelt-macro.melt:7282:/ apply");
25562 /*apply*/
25564 union meltparam_un argtab[10];
25565 memset(&argtab, 0, sizeof(argtab));
25566 /*^apply.arg*/
25567 argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L47*/ meltfnum[20];
25568 /*^apply.arg*/
25569 argtab[1].meltbp_cstring = "warmelt-macro.melt";
25570 /*^apply.arg*/
25571 argtab[2].meltbp_long = 7282;
25572 /*^apply.arg*/
25573 argtab[3].meltbp_cstring = "mexpand_let";
25574 /*^apply.arg*/
25575 argtab[4].meltbp_cstring = " loc=";
25576 /*^apply.arg*/
25577 argtab[5].meltbp_aptr = (melt_ptr_t*) &/*_.LOC__V22*/ meltfptr[21];
25578 /*^apply.arg*/
25579 argtab[6].meltbp_cstring = " result letr=";
25580 /*^apply.arg*/
25581 argtab[7].meltbp_aptr = (melt_ptr_t*) &/*_.LETR__V118*/ meltfptr[72];
25582 /*^apply.arg*/
25583 argtab[8].meltbp_cstring = "\n.. modctx=";
25584 /*^apply.arg*/
25585 argtab[9].meltbp_aptr = (melt_ptr_t*) &/*_.MODCTX__V5*/ meltfptr[4];
25586 /*_.MELT_DEBUG_FUN__V121*/
25587 meltfptr[70] = 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_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
25590 /*_._IF___V120*/
25591 meltfptr[96] = /*_.MELT_DEBUG_FUN__V121*/ meltfptr[70];;
25592 /*epilog*/
25594 MELT_LOCATION("warmelt-macro.melt:7282:/ clear");
25595 /*clear*/ /*_#MELT_CALLCOUNT__L47*/
25596 meltfnum[20] = 0 ;
25597 /*^clear*/
25598 /*clear*/ /*_.MELT_DEBUG_FUN__V121*/
25599 meltfptr[70] = 0 ;
25603 else /*^cond.else*/
25606 /*_._IF___V120*/ meltfptr[96] = /*reallynil*/ NULL ;;
25611 MELT_LOCATION("warmelt-macro.melt:7282:/ locexp");
25612 /*void*/
25613 (void)0;
25616 /*^quasiblock*/
25619 /*epilog*/
25621 /*^clear*/
25622 /*clear*/ /*_#MELT_NEED_DBG__L46*/
25623 meltfnum[24] = 0 ;
25624 /*^clear*/
25625 /*clear*/ /*_._IF___V120*/
25626 meltfptr[96] = 0 ;
25629 #else /*MELT_HAVE_DEBUG*/
25630 /*^cppif.else*/
25631 /*^block*/
25632 /*anyblock*/
25637 /*^locexp*/
25638 /*void*/(void)0;
25641 /*epilog*/
25644 #endif /*MELT_HAVE_DEBUG*/
25647 MELT_CHECK_SIGNAL();
25649 MELT_LOCATION("warmelt-macro.melt:7283:/ quasiblock");
25652 /*_._RETVAL___V1*/
25653 meltfptr[0] = /*_.LETR__V118*/ meltfptr[72];;
25656 MELT_LOCATION("warmelt-macro.melt:7283:/ locexp");
25657 /*ochecknores compilobj_nrep_return*/
25658 #if MELT_HAVE_DEBUG
25659 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
25660 melt_warn_for_no_expected_secondary_results();
25661 /* we warned when secondary results are expected but not returned. */
25662 #endif /*MELT_HAVE_DEBUG*/
25666 /*^finalreturn*/
25668 /*finalret*/
25669 goto meltlabend_rout ;
25670 /*_.LET___V115*/
25671 meltfptr[77] = /*_.RETURN___V122*/ meltfptr[99];;
25673 MELT_LOCATION("warmelt-macro.melt:7274:/ clear");
25674 /*clear*/ /*_.BODYTUP__V116*/
25675 meltfptr[62] = 0 ;
25676 /*^clear*/
25677 /*clear*/ /*_.BINDTUP__V117*/
25678 meltfptr[76] = 0 ;
25679 /*^clear*/
25680 /*clear*/ /*_.LETR__V118*/
25681 meltfptr[72] = 0 ;
25682 /*^clear*/
25683 /*clear*/ /*_.RETURN___V122*/
25684 meltfptr[99] = 0 ;
25685 /*_.LET___V20*/
25686 meltfptr[18] = /*_.LET___V115*/ meltfptr[77];;
25688 MELT_LOCATION("warmelt-macro.melt:7092:/ clear");
25689 /*clear*/ /*_.CONT__V21*/
25690 meltfptr[5] = 0 ;
25691 /*^clear*/
25692 /*clear*/ /*_.LOC__V22*/
25693 meltfptr[21] = 0 ;
25694 /*^clear*/
25695 /*clear*/ /*_.LIST_FIRST__V23*/
25696 meltfptr[22] = 0 ;
25697 /*^clear*/
25698 /*clear*/ /*_.SECPAIR__V24*/
25699 meltfptr[23] = 0 ;
25700 /*^clear*/
25701 /*clear*/ /*_.RESTPAIR__V25*/
25702 meltfptr[24] = 0 ;
25703 /*^clear*/
25704 /*clear*/ /*_.BINDEXPR__V26*/
25705 meltfptr[25] = 0 ;
25706 /*^clear*/
25707 /*clear*/ /*_#IS_A__L7*/
25708 meltfnum[1] = 0 ;
25709 /*^clear*/
25710 /*clear*/ /*_.SBINDLIST__V27*/
25711 meltfptr[26] = 0 ;
25712 /*^clear*/
25713 /*clear*/ /*_.LETBINDLIST__V33*/
25714 meltfptr[30] = 0 ;
25715 /*^clear*/
25716 /*clear*/ /*_.NEWENV__V34*/
25717 meltfptr[31] = 0 ;
25718 /*^clear*/
25719 /*clear*/ /*_.MACLIST__V35*/
25720 meltfptr[29] = 0 ;
25721 /*^clear*/
25722 /*clear*/ /*_.IFCPP___V38*/
25723 meltfptr[36] = 0 ;
25724 /*^clear*/
25725 /*clear*/ /*_.LIST_FIRST_ELEMENT__V41*/
25726 meltfptr[39] = 0 ;
25727 /*^clear*/
25728 /*clear*/ /*_#eqeq__L13*/
25729 meltfnum[8] = 0 ;
25730 /*^clear*/
25731 /*clear*/ /*_.LET___V115*/
25732 meltfptr[77] = 0 ;
25734 MELT_CHECK_SIGNAL();
25736 MELT_LOCATION("warmelt-macro.melt:7085:/ quasiblock");
25739 /*_._RETVAL___V1*/
25740 meltfptr[0] = /*_.LET___V20*/ meltfptr[18];;
25743 MELT_LOCATION("warmelt-macro.melt:7085:/ locexp");
25744 /*ochecknores compilobj_nrep_return*/
25745 #if MELT_HAVE_DEBUG
25746 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
25747 melt_warn_for_no_expected_secondary_results();
25748 /* we warned when secondary results are expected but not returned. */
25749 #endif /*MELT_HAVE_DEBUG*/
25753 /*^finalreturn*/
25755 /*finalret*/
25756 goto meltlabend_rout ;
25757 /*epilog*/
25759 /*^clear*/
25760 /*clear*/ /*_.IFCPP___V8*/
25761 meltfptr[6] = 0 ;
25762 /*^clear*/
25763 /*clear*/ /*_.IFCPP___V11*/
25764 meltfptr[9] = 0 ;
25765 /*^clear*/
25766 /*clear*/ /*_.IFCPP___V14*/
25767 meltfptr[12] = 0 ;
25768 /*^clear*/
25769 /*clear*/ /*_.IFCPP___V17*/
25770 meltfptr[15] = 0 ;
25771 /*^clear*/
25772 /*clear*/ /*_.LET___V20*/
25773 meltfptr[18] = 0 ;
25777 goto meltlabend_rout;
25778 meltlabend_rout:
25779 melt_trace_end("MEXPAND_LET", meltcallcount);
25780 melt_blocklevel_signals = current_blocklevel_signals_meltrout_123_WARMELTmiMACRO_MEXPAND_LET_melt;
25781 return (melt_ptr_t)(/*_._RETVAL___V1*/ meltfptr[0]);
25782 #undef meltcallcount
25783 #undef meltfram__
25784 #undef MELTFRAM_NBVARNUM
25785 #undef MELTFRAM_NBVARPTR
25786 } /*end meltrout_123_WARMELTmiMACRO_MEXPAND_LET*/
25793 melt_ptr_t MELT_MODULE_VISIBILITY
25794 meltrout_124_WARMELTmiMACRO_LAMBDA_cl17(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_,
25795 const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_)
25797 long current_blocklevel_signals_meltrout_124_WARMELTmiMACRO_LAMBDA_cl17_melt = melt_blocklevel_signals;
25799 #if MELT_HAVE_DEBUG
25800 static long melt_call_counter__;
25801 long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__;
25802 #undef meltcallcount
25803 #define meltcallcount melt_thiscallcounter__
25804 #else
25805 #undef meltcallcount
25806 #define meltcallcount 0L
25807 #endif
25808 //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1538
25810 /* start of frame for routine meltrout_124_WARMELTmiMACRO_LAMBDA_cl17 fromline 1752 */
25812 /** start of frame for meltrout_124_WARMELTmiMACRO_LAMBDA_cl17 of CLASS_PROCROUTINEOBJ from 1555**/
25814 /*curframdeclclassy*/ class MeltFrame_meltrout_124_WARMELTmiMACRO_LAMBDA_cl17// fromline 1568
25815 : public Melt_CallFrameWithValues<42>
25817 public: /* fromline 1572*/
25818 long mcfr_varnum[23];
25819 /*classy others*/
25820 long _meltsparel;
25821 void melt_mark_stuff (void)
25823 } /*end melt_mark_stuff*/
25824 virtual void melt_mark_ggc_data (void)
25826 melt_mark_values ();
25827 melt_mark_stuff ();
25828 }; /*end melt_mark_ggc_data*/
25829 MeltFrame_meltrout_124_WARMELTmiMACRO_LAMBDA_cl17(meltclosure_ptr_t clos) //the closure constructor fromline 1630
25830 : Melt_CallFrameWithValues<42> (
25831 #if ENABLE_CHECKING /*fromline 1634*/
25832 __FILE__, __LINE__,
25833 #endif /* ENABLE_CHECKING fromline 1638*/
25834 sizeof(MeltFrame_meltrout_124_WARMELTmiMACRO_LAMBDA_cl17), clos) {};
25835 MeltFrame_meltrout_124_WARMELTmiMACRO_LAMBDA_cl17() //the constructor fromline 1642
25836 : Melt_CallFrameWithValues<42> (
25837 #if ENABLE_CHECKING /*fromline 1646*/
25838 __FILE__, __LINE__,
25839 #endif /* ENABLE_CHECKING fromline 1650*/
25840 sizeof(MeltFrame_meltrout_124_WARMELTmiMACRO_LAMBDA_cl17)) {};
25841 #if ENABLE_CHECKING /*fromline 1654*/
25842 MeltFrame_meltrout_124_WARMELTmiMACRO_LAMBDA_cl17(const char*fil, int lin) //the constructor fromline 1656
25843 : Melt_CallFrameWithValues<42> (fil,lin, sizeof(MeltFrame_meltrout_124_WARMELTmiMACRO_LAMBDA_cl17)) {};
25844 MeltFrame_meltrout_124_WARMELTmiMACRO_LAMBDA_cl17(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1661
25845 : Melt_CallFrameWithValues<42> (fil,lin, sizeof(MeltFrame_meltrout_124_WARMELTmiMACRO_LAMBDA_cl17), clos) {};
25846 #endif /* ENABLE_CHECKING fromline 1666*/
25848 }; // end class MeltFrame_meltrout_124_WARMELTmiMACRO_LAMBDA_cl17
25851 /** end of frame for meltrout_124_WARMELTmiMACRO_LAMBDA_cl17 fromline 1697**/
25853 /* end of frame for routine meltrout_124_WARMELTmiMACRO_LAMBDA_cl17 fromline 1756 */
25855 /* classy proc frame meltrout_124_WARMELTmiMACRO_LAMBDA_cl17 */
25856 MeltFrame_meltrout_124_WARMELTmiMACRO_LAMBDA_cl17
25857 meltfram__ /*declfrastruct fromline 1780*/
25858 /*classyprocarg meltrout_124_WARMELTmiMACRO_LAMBDA_cl17 fromline 1785*/
25859 #if ENABLE_CHECKING
25860 (__FILE__, __LINE__, meltclosp_) /* fromline 1789*/
25861 #else /*ENABLE_CHECKING */
25862 (meltclosp_) /* fromline 1793*/
25863 #endif /*ENABLE_CHECKING */
25866 #define meltframe meltfram__
25868 melt_trace_start("LAMBDA_cl17", meltcallcount);
25869 /*use arguments*/
25870 (void) meltclosp_;
25871 (void)meltfirstargp_;
25872 (void)meltxargdescr_;
25873 (void)meltxargtab_;
25874 (void)meltxresdescr_;
25875 (void)meltxrestab_;
25876 /*getargs*/
25878 /*getarg#0*/
25879 MELT_LOCATION("warmelt-macro.melt:7208:/ getarg");
25880 /*_.SEXPRM__V2*/
25881 meltfptr[1] = (melt_ptr_t) meltfirstargp_;
25883 /*getarg#1*/
25884 /*^getarg*/
25885 if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_endgetargs;
25886 /*_.ENVM__V3*/
25887 meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL;
25888 gcc_assert(melt_discr((melt_ptr_t)(/*_.ENVM__V3*/ meltfptr[2])) != NULL);
25891 /*getarg#2*/
25892 /*^getarg*/
25893 if (meltxargdescr_[1] != MELTBPAR_PTR) goto meltlab_endgetargs;
25894 /*_.MEXPANDERM__V4*/
25895 meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL;
25896 gcc_assert(melt_discr((melt_ptr_t)(/*_.MEXPANDERM__V4*/ meltfptr[3])) != NULL);
25899 /*getarg#3*/
25900 /*^getarg*/
25901 if (meltxargdescr_[2] != MELTBPAR_PTR) goto meltlab_endgetargs;
25902 /*_.MODCTXM__V5*/
25903 meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL;
25904 gcc_assert(melt_discr((melt_ptr_t)(/*_.MODCTXM__V5*/ meltfptr[4])) != NULL);
25907 goto meltlab_endgetargs;
25908 meltlab_endgetargs:
25910 /*body*/
25911 /*^block*/
25912 /*anyblock*/
25916 #if MELT_HAVE_DEBUG
25917 MELT_LOCATION("warmelt-macro.melt:7209:/ cppif.then");
25918 /*^block*/
25919 /*anyblock*/
25924 /*^locexp*/
25925 /*melt_increment_dbgcounter*/
25926 #if MELT_HAVE_DEBUG
25927 melt_dbgcounter++;
25928 #endif
25933 MELT_CHECK_SIGNAL();
25935 /*_#MELT_NEED_DBG__L1*/
25936 meltfnum[0] =
25937 /*MELT_NEED_DBG*/
25938 #if MELT_HAVE_DEBUG
25939 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
25940 #else
25941 0 /* no melt_need_dbg */
25942 #endif /*MELT_HAVE_DEBUG*/
25944 MELT_LOCATION("warmelt-macro.melt:7209:/ cond");
25945 /*cond*/
25946 if (/*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then*/
25948 /*^cond.then*/
25949 /*^block*/
25950 /*anyblock*/
25953 /*_#MELT_CALLCOUNT__L2*/ meltfnum[1] =
25954 /* for melt_callcount */
25955 #if MELT_HAVE_DEBUG && defined (meltcallcount)
25956 meltcallcount /* melt_callcount debugging */
25957 #else
25958 0L /* melt_callcount without debug */
25959 #endif /* MELT_HAVE_DEBUG melt_callcount */
25962 MELT_CHECK_SIGNAL();
25964 MELT_LOCATION("warmelt-macro.melt:7209:/ apply");
25965 /*apply*/
25967 union meltparam_un argtab[16];
25968 memset(&argtab, 0, sizeof(argtab));
25969 /*^apply.arg*/
25970 argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L2*/ meltfnum[1];
25971 /*^apply.arg*/
25972 argtab[1].meltbp_cstring = "warmelt-macro.melt";
25973 /*^apply.arg*/
25974 argtab[2].meltbp_long = 7209;
25975 /*^apply.arg*/
25976 argtab[3].meltbp_cstring = "mexpand_let:mexpanser sexprm=";
25977 /*^apply.arg*/
25978 argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.SEXPRM__V2*/ meltfptr[1];
25979 /*^apply.arg*/
25980 argtab[5].meltbp_cstring = "\n.. envm=";
25981 /*^apply.arg*/
25982 argtab[6].meltbp_aptr = (melt_ptr_t*) &(/*!DEBUG_MORE*/ meltfrout->tabval[1]);
25983 /*^apply.arg*/
25984 argtab[7].meltbp_aptr = (melt_ptr_t*) &/*_.ENVM__V3*/ meltfptr[2];
25985 /*^apply.arg*/
25986 argtab[8].meltbp_cstring = "\n.. modctxm=";
25987 /*^apply.arg*/
25988 argtab[9].meltbp_aptr = (melt_ptr_t*) &(/*!DEBUG_LESS*/ meltfrout->tabval[2]);
25989 /*^apply.arg*/
25990 argtab[10].meltbp_aptr = (melt_ptr_t*) &/*_.MODCTXM__V5*/ meltfptr[4];
25991 /*^apply.arg*/
25992 argtab[11].meltbp_cstring = "\n.. mexpanderm=";
25993 /*^apply.arg*/
25994 argtab[12].meltbp_aptr = (melt_ptr_t*) &(/*!DEBUG_LESS*/ meltfrout->tabval[2]);
25995 /*^apply.arg*/
25996 argtab[13].meltbp_aptr = (melt_ptr_t*) &/*_.MEXPANDERM__V4*/ meltfptr[3];
25997 /*^apply.arg*/
25998 argtab[14].meltbp_cstring = "\n.. macbind=";
25999 /*^apply.arg*/
26000 argtab[15].meltbp_aptr = (melt_ptr_t*) &(/*~MACBIND*/ meltfclos->tabval[0]);
26001 /*_.MELT_DEBUG_FUN__V7*/
26002 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 MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
26005 /*_._IF___V6*/
26006 meltfptr[5] = /*_.MELT_DEBUG_FUN__V7*/ meltfptr[6];;
26007 /*epilog*/
26009 MELT_LOCATION("warmelt-macro.melt:7209:/ clear");
26010 /*clear*/ /*_#MELT_CALLCOUNT__L2*/
26011 meltfnum[1] = 0 ;
26012 /*^clear*/
26013 /*clear*/ /*_.MELT_DEBUG_FUN__V7*/
26014 meltfptr[6] = 0 ;
26018 else /*^cond.else*/
26021 /*_._IF___V6*/ meltfptr[5] = /*reallynil*/ NULL ;;
26026 MELT_LOCATION("warmelt-macro.melt:7209:/ locexp");
26027 /*void*/
26028 (void)0;
26031 /*^quasiblock*/
26034 /*epilog*/
26036 /*^clear*/
26037 /*clear*/ /*_#MELT_NEED_DBG__L1*/
26038 meltfnum[0] = 0 ;
26039 /*^clear*/
26040 /*clear*/ /*_._IF___V6*/
26041 meltfptr[5] = 0 ;
26044 #else /*MELT_HAVE_DEBUG*/
26045 /*^cppif.else*/
26046 /*^block*/
26047 /*anyblock*/
26052 /*^locexp*/
26053 /*void*/(void)0;
26056 /*epilog*/
26059 #endif /*MELT_HAVE_DEBUG*/
26063 MELT_LOCATION("warmelt-macro.melt:7214:/ locexp");
26065 #if MELT_HAVE_DEBUG
26066 if (melt_need_debug (0))
26067 melt_dbgshortbacktrace(( "mexpand_let:mexpanser"), (25));
26068 #endif
26073 MELT_CHECK_SIGNAL();
26075 /*_#MELT_ERROR_COUNTER__L3*/
26076 meltfnum[1] =
26077 melt_error_counter;;
26078 /*^compute*/
26079 /*_#gtI__L4*/
26080 meltfnum[0] =
26081 ((/*_#MELT_ERROR_COUNTER__L3*/ meltfnum[1]) > (0));;
26082 MELT_LOCATION("warmelt-macro.melt:7215:/ cond");
26083 /*cond*/
26084 if (/*_#gtI__L4*/ meltfnum[0]) /*then*/
26086 /*^cond.then*/
26087 /*^block*/
26088 /*anyblock*/
26092 #if MELT_HAVE_DEBUG
26093 MELT_LOCATION("warmelt-macro.melt:7216:/ cppif.then");
26094 /*^block*/
26095 /*anyblock*/
26100 /*^locexp*/
26101 /*melt_increment_dbgcounter*/
26102 #if MELT_HAVE_DEBUG
26103 melt_dbgcounter++;
26104 #endif
26109 MELT_CHECK_SIGNAL();
26111 /*_#MELT_NEED_DBG__L5*/
26112 meltfnum[4] =
26113 /*MELT_NEED_DBG*/
26114 #if MELT_HAVE_DEBUG
26115 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
26116 #else
26117 0 /* no melt_need_dbg */
26118 #endif /*MELT_HAVE_DEBUG*/
26120 MELT_LOCATION("warmelt-macro.melt:7216:/ cond");
26121 /*cond*/
26122 if (/*_#MELT_NEED_DBG__L5*/ meltfnum[4]) /*then*/
26124 /*^cond.then*/
26125 /*^block*/
26126 /*anyblock*/
26129 /*_#MELT_CALLCOUNT__L6*/ meltfnum[5] =
26130 /* for melt_callcount */
26131 #if MELT_HAVE_DEBUG && defined (meltcallcount)
26132 meltcallcount /* melt_callcount debugging */
26133 #else
26134 0L /* melt_callcount without debug */
26135 #endif /* MELT_HAVE_DEBUG melt_callcount */
26138 MELT_CHECK_SIGNAL();
26140 MELT_LOCATION("warmelt-macro.melt:7216:/ apply");
26141 /*apply*/
26143 union meltparam_un argtab[7];
26144 memset(&argtab, 0, sizeof(argtab));
26145 /*^apply.arg*/
26146 argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L6*/ meltfnum[5];
26147 /*^apply.arg*/
26148 argtab[1].meltbp_cstring = "warmelt-macro.melt";
26149 /*^apply.arg*/
26150 argtab[2].meltbp_long = 7216;
26151 /*^apply.arg*/
26152 argtab[3].meltbp_cstring = "mexpand_let:mexpanser";
26153 /*^apply.arg*/
26154 argtab[4].meltbp_cstring = " loc=";
26155 /*^apply.arg*/
26156 argtab[5].meltbp_aptr = (melt_ptr_t*) &(/*~LOC*/ meltfclos->tabval[1]);
26157 /*^apply.arg*/
26158 argtab[6].meltbp_cstring = " errored";
26159 /*_.MELT_DEBUG_FUN__V10*/
26160 meltfptr[9] = 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_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0);
26163 /*_._IF___V9*/
26164 meltfptr[5] = /*_.MELT_DEBUG_FUN__V10*/ meltfptr[9];;
26165 /*epilog*/
26167 MELT_LOCATION("warmelt-macro.melt:7216:/ clear");
26168 /*clear*/ /*_#MELT_CALLCOUNT__L6*/
26169 meltfnum[5] = 0 ;
26170 /*^clear*/
26171 /*clear*/ /*_.MELT_DEBUG_FUN__V10*/
26172 meltfptr[9] = 0 ;
26176 else /*^cond.else*/
26179 /*_._IF___V9*/ meltfptr[5] = /*reallynil*/ NULL ;;
26184 MELT_LOCATION("warmelt-macro.melt:7216:/ locexp");
26185 /*void*/
26186 (void)0;
26189 /*^quasiblock*/
26192 /*epilog*/
26194 /*^clear*/
26195 /*clear*/ /*_#MELT_NEED_DBG__L5*/
26196 meltfnum[4] = 0 ;
26197 /*^clear*/
26198 /*clear*/ /*_._IF___V9*/
26199 meltfptr[5] = 0 ;
26202 #else /*MELT_HAVE_DEBUG*/
26203 /*^cppif.else*/
26204 /*^block*/
26205 /*anyblock*/
26210 /*^locexp*/
26211 /*void*/(void)0;
26214 /*epilog*/
26217 #endif /*MELT_HAVE_DEBUG*/
26219 /*_#MELT_ERROR_COUNTER__L7*/
26220 meltfnum[5] =
26221 melt_error_counter;;
26223 MELT_CHECK_SIGNAL();
26225 MELT_LOCATION("warmelt-macro.melt:7217:/ apply");
26226 /*apply*/
26228 union meltparam_un argtab[3];
26229 memset(&argtab, 0, sizeof(argtab));
26230 /*^apply.arg*/
26231 argtab[0].meltbp_cstring = "MELT will not expand LET :macro $1 with #$2 errors";
26232 /*^apply.arg*/
26233 argtab[1].meltbp_aptr = (melt_ptr_t*) &(/*~MACSYMB*/ meltfclos->tabval[2]);
26234 /*^apply.arg*/
26235 argtab[2].meltbp_long = /*_#MELT_ERROR_COUNTER__L7*/ meltfnum[5];
26236 /*_.ERROR_AT__V11*/
26237 meltfptr[9] = melt_apply ((meltclosure_ptr_t)((/*!ERROR_AT*/ meltfrout->tabval[3])), (melt_ptr_t)((/*~LOC*/ meltfclos->tabval[1])), (MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_LONG ""), argtab, "", (union meltparam_un*)0);
26241 MELT_CHECK_SIGNAL();
26243 MELT_LOCATION("warmelt-macro.melt:7219:/ quasiblock");
26246 /*_._RETVAL___V1*/
26247 meltfptr[0] = (/*nil*/NULL);;
26250 MELT_LOCATION("warmelt-macro.melt:7219:/ locexp");
26251 /*ochecknores compilobj_nrep_return*/
26252 #if MELT_HAVE_DEBUG
26253 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
26254 melt_warn_for_no_expected_secondary_results();
26255 /* we warned when secondary results are expected but not returned. */
26256 #endif /*MELT_HAVE_DEBUG*/
26260 /*^finalreturn*/
26262 /*finalret*/
26263 goto meltlabend_rout ;
26264 MELT_LOCATION("warmelt-macro.melt:7215:/ quasiblock");
26267 /*_.PROGN___V13*/
26268 meltfptr[12] = /*_.RETURN___V12*/ meltfptr[5];;
26269 /*^compute*/
26270 /*_._IF___V8*/
26271 meltfptr[6] = /*_.PROGN___V13*/ meltfptr[12];;
26272 /*epilog*/
26274 MELT_LOCATION("warmelt-macro.melt:7215:/ clear");
26275 /*clear*/ /*_#MELT_ERROR_COUNTER__L7*/
26276 meltfnum[5] = 0 ;
26277 /*^clear*/
26278 /*clear*/ /*_.ERROR_AT__V11*/
26279 meltfptr[9] = 0 ;
26280 /*^clear*/
26281 /*clear*/ /*_.RETURN___V12*/
26282 meltfptr[5] = 0 ;
26283 /*^clear*/
26284 /*clear*/ /*_.PROGN___V13*/
26285 meltfptr[12] = 0 ;
26289 else /*^cond.else*/
26292 /*_._IF___V8*/ meltfptr[6] = /*reallynil*/ NULL ;;
26296 #if MELT_HAVE_DEBUG
26297 MELT_LOCATION("warmelt-macro.melt:7220:/ cppif.then");
26298 /*^block*/
26299 /*anyblock*/
26304 /*^locexp*/
26305 /*melt_increment_dbgcounter*/
26306 #if MELT_HAVE_DEBUG
26307 melt_dbgcounter++;
26308 #endif
26313 MELT_CHECK_SIGNAL();
26315 /*_#MELT_NEED_DBG__L8*/
26316 meltfnum[4] =
26317 /*MELT_NEED_DBG*/
26318 #if MELT_HAVE_DEBUG
26319 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
26320 #else
26321 0 /* no melt_need_dbg */
26322 #endif /*MELT_HAVE_DEBUG*/
26324 MELT_LOCATION("warmelt-macro.melt:7220:/ cond");
26325 /*cond*/
26326 if (/*_#MELT_NEED_DBG__L8*/ meltfnum[4]) /*then*/
26328 /*^cond.then*/
26329 /*^block*/
26330 /*anyblock*/
26333 /*_#MELT_CALLCOUNT__L9*/ meltfnum[5] =
26334 /* for melt_callcount */
26335 #if MELT_HAVE_DEBUG && defined (meltcallcount)
26336 meltcallcount /* melt_callcount debugging */
26337 #else
26338 0L /* melt_callcount without debug */
26339 #endif /* MELT_HAVE_DEBUG melt_callcount */
26342 MELT_CHECK_SIGNAL();
26344 MELT_LOCATION("warmelt-macro.melt:7220:/ apply");
26345 /*apply*/
26347 union meltparam_un argtab[8];
26348 memset(&argtab, 0, sizeof(argtab));
26349 /*^apply.arg*/
26350 argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L9*/ meltfnum[5];
26351 /*^apply.arg*/
26352 argtab[1].meltbp_cstring = "warmelt-macro.melt";
26353 /*^apply.arg*/
26354 argtab[2].meltbp_long = 7220;
26355 /*^apply.arg*/
26356 argtab[3].meltbp_cstring = "mexpand_let:mexpanser before melt_delayed_macro_expander";
26357 /*^apply.arg*/
26358 argtab[4].meltbp_cstring = " maclist=";
26359 /*^apply.arg*/
26360 argtab[5].meltbp_aptr = (melt_ptr_t*) &(/*~MACLIST*/ meltfclos->tabval[3]);
26361 /*^apply.arg*/
26362 argtab[6].meltbp_cstring = "\n.. macbind=";
26363 /*^apply.arg*/
26364 argtab[7].meltbp_aptr = (melt_ptr_t*) &(/*~MACBIND*/ meltfclos->tabval[0]);
26365 /*_.MELT_DEBUG_FUN__V15*/
26366 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_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
26369 /*_._IF___V14*/
26370 meltfptr[9] = /*_.MELT_DEBUG_FUN__V15*/ meltfptr[5];;
26371 /*epilog*/
26373 MELT_LOCATION("warmelt-macro.melt:7220:/ clear");
26374 /*clear*/ /*_#MELT_CALLCOUNT__L9*/
26375 meltfnum[5] = 0 ;
26376 /*^clear*/
26377 /*clear*/ /*_.MELT_DEBUG_FUN__V15*/
26378 meltfptr[5] = 0 ;
26382 else /*^cond.else*/
26385 /*_._IF___V14*/ meltfptr[9] = /*reallynil*/ NULL ;;
26390 MELT_LOCATION("warmelt-macro.melt:7220:/ locexp");
26391 /*void*/
26392 (void)0;
26395 /*^quasiblock*/
26398 /*epilog*/
26400 /*^clear*/
26401 /*clear*/ /*_#MELT_NEED_DBG__L8*/
26402 meltfnum[4] = 0 ;
26403 /*^clear*/
26404 /*clear*/ /*_._IF___V14*/
26405 meltfptr[9] = 0 ;
26408 #else /*MELT_HAVE_DEBUG*/
26409 /*^cppif.else*/
26410 /*^block*/
26411 /*anyblock*/
26416 /*^locexp*/
26417 /*void*/(void)0;
26420 /*epilog*/
26423 #endif /*MELT_HAVE_DEBUG*/
26426 MELT_CHECK_SIGNAL();
26428 MELT_LOCATION("warmelt-macro.melt:7222:/ apply");
26429 /*apply*/
26431 union meltparam_un argtab[4];
26432 memset(&argtab, 0, sizeof(argtab));
26433 /*^apply.arg*/
26434 argtab[0].meltbp_aptr = (melt_ptr_t*) &(/*~MACLIST*/ meltfclos->tabval[3]);
26435 /*^apply.arg*/
26436 argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.ENVM__V3*/ meltfptr[2];
26437 /*^apply.arg*/
26438 argtab[2].meltbp_aptr = (melt_ptr_t*) &/*_.MEXPANDERM__V4*/ meltfptr[3];
26439 /*^apply.arg*/
26440 argtab[3].meltbp_aptr = (melt_ptr_t*) &(/*~MODCTX*/ meltfclos->tabval[4]);
26441 /*_.MELT_DELAYED_MACRO_EXPANDER__V16*/
26442 meltfptr[12] = melt_apply ((meltclosure_ptr_t)((/*!MELT_DELAYED_MACRO_EXPANDER*/ meltfrout->tabval[4])), (melt_ptr_t)((/*~MACBIND*/ meltfclos->tabval[0])), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
26446 #if MELT_HAVE_DEBUG
26447 MELT_LOCATION("warmelt-macro.melt:7223:/ cppif.then");
26448 /*^block*/
26449 /*anyblock*/
26454 /*^locexp*/
26455 /*melt_increment_dbgcounter*/
26456 #if MELT_HAVE_DEBUG
26457 melt_dbgcounter++;
26458 #endif
26463 MELT_CHECK_SIGNAL();
26465 /*_#MELT_NEED_DBG__L10*/
26466 meltfnum[5] =
26467 /*MELT_NEED_DBG*/
26468 #if MELT_HAVE_DEBUG
26469 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
26470 #else
26471 0 /* no melt_need_dbg */
26472 #endif /*MELT_HAVE_DEBUG*/
26474 MELT_LOCATION("warmelt-macro.melt:7223:/ cond");
26475 /*cond*/
26476 if (/*_#MELT_NEED_DBG__L10*/ meltfnum[5]) /*then*/
26478 /*^cond.then*/
26479 /*^block*/
26480 /*anyblock*/
26483 /*_#MELT_CALLCOUNT__L11*/ meltfnum[4] =
26484 /* for melt_callcount */
26485 #if MELT_HAVE_DEBUG && defined (meltcallcount)
26486 meltcallcount /* melt_callcount debugging */
26487 #else
26488 0L /* melt_callcount without debug */
26489 #endif /* MELT_HAVE_DEBUG melt_callcount */
26492 MELT_CHECK_SIGNAL();
26494 MELT_LOCATION("warmelt-macro.melt:7223:/ apply");
26495 /*apply*/
26497 union meltparam_un argtab[11];
26498 memset(&argtab, 0, sizeof(argtab));
26499 /*^apply.arg*/
26500 argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L11*/ meltfnum[4];
26501 /*^apply.arg*/
26502 argtab[1].meltbp_cstring = "warmelt-macro.melt";
26503 /*^apply.arg*/
26504 argtab[2].meltbp_long = 7223;
26505 /*^apply.arg*/
26506 argtab[3].meltbp_cstring = "mexpand_let:mexpanser";
26507 /*^apply.arg*/
26508 argtab[4].meltbp_cstring = " loc=";
26509 /*^apply.arg*/
26510 argtab[5].meltbp_aptr = (melt_ptr_t*) &(/*~LOC*/ meltfclos->tabval[1]);
26511 /*^apply.arg*/
26512 argtab[6].meltbp_cstring = " after melt_delayed_macro_expander";
26513 /*^apply.arg*/
26514 argtab[7].meltbp_cstring = " maclist=";
26515 /*^apply.arg*/
26516 argtab[8].meltbp_aptr = (melt_ptr_t*) &(/*~MACLIST*/ meltfclos->tabval[3]);
26517 /*^apply.arg*/
26518 argtab[9].meltbp_cstring = "\n.. macbind=";
26519 /*^apply.arg*/
26520 argtab[10].meltbp_aptr = (melt_ptr_t*) &(/*~MACBIND*/ meltfclos->tabval[0]);
26521 /*_.MELT_DEBUG_FUN__V18*/
26522 meltfptr[9] = 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_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
26525 /*_._IF___V17*/
26526 meltfptr[5] = /*_.MELT_DEBUG_FUN__V18*/ meltfptr[9];;
26527 /*epilog*/
26529 MELT_LOCATION("warmelt-macro.melt:7223:/ clear");
26530 /*clear*/ /*_#MELT_CALLCOUNT__L11*/
26531 meltfnum[4] = 0 ;
26532 /*^clear*/
26533 /*clear*/ /*_.MELT_DEBUG_FUN__V18*/
26534 meltfptr[9] = 0 ;
26538 else /*^cond.else*/
26541 /*_._IF___V17*/ meltfptr[5] = /*reallynil*/ NULL ;;
26546 MELT_LOCATION("warmelt-macro.melt:7223:/ locexp");
26547 /*void*/
26548 (void)0;
26551 /*^quasiblock*/
26554 /*epilog*/
26556 /*^clear*/
26557 /*clear*/ /*_#MELT_NEED_DBG__L10*/
26558 meltfnum[5] = 0 ;
26559 /*^clear*/
26560 /*clear*/ /*_._IF___V17*/
26561 meltfptr[5] = 0 ;
26564 #else /*MELT_HAVE_DEBUG*/
26565 /*^cppif.else*/
26566 /*^block*/
26567 /*anyblock*/
26572 /*^locexp*/
26573 /*void*/(void)0;
26576 /*epilog*/
26579 #endif /*MELT_HAVE_DEBUG*/
26582 MELT_CHECK_SIGNAL();
26584 /*_#MELT_ERROR_COUNTER__L12*/
26585 meltfnum[4] =
26586 melt_error_counter;;
26587 /*^compute*/
26588 /*_#gtI__L13*/
26589 meltfnum[5] =
26590 ((/*_#MELT_ERROR_COUNTER__L12*/ meltfnum[4]) > (0));;
26591 MELT_LOCATION("warmelt-macro.melt:7225:/ cond");
26592 /*cond*/
26593 if (/*_#gtI__L13*/ meltfnum[5]) /*then*/
26595 /*^cond.then*/
26596 /*^block*/
26597 /*anyblock*/
26601 #if MELT_HAVE_DEBUG
26602 MELT_LOCATION("warmelt-macro.melt:7226:/ cppif.then");
26603 /*^block*/
26604 /*anyblock*/
26609 /*^locexp*/
26610 /*melt_increment_dbgcounter*/
26611 #if MELT_HAVE_DEBUG
26612 melt_dbgcounter++;
26613 #endif
26618 MELT_CHECK_SIGNAL();
26620 /*_#MELT_NEED_DBG__L14*/
26621 meltfnum[13] =
26622 /*MELT_NEED_DBG*/
26623 #if MELT_HAVE_DEBUG
26624 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
26625 #else
26626 0 /* no melt_need_dbg */
26627 #endif /*MELT_HAVE_DEBUG*/
26629 MELT_LOCATION("warmelt-macro.melt:7226:/ cond");
26630 /*cond*/
26631 if (/*_#MELT_NEED_DBG__L14*/ meltfnum[13]) /*then*/
26633 /*^cond.then*/
26634 /*^block*/
26635 /*anyblock*/
26638 /*_#MELT_CALLCOUNT__L15*/ meltfnum[14] =
26639 /* for melt_callcount */
26640 #if MELT_HAVE_DEBUG && defined (meltcallcount)
26641 meltcallcount /* melt_callcount debugging */
26642 #else
26643 0L /* melt_callcount without debug */
26644 #endif /* MELT_HAVE_DEBUG melt_callcount */
26647 MELT_CHECK_SIGNAL();
26649 MELT_LOCATION("warmelt-macro.melt:7226:/ apply");
26650 /*apply*/
26652 union meltparam_un argtab[7];
26653 memset(&argtab, 0, sizeof(argtab));
26654 /*^apply.arg*/
26655 argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L15*/ meltfnum[14];
26656 /*^apply.arg*/
26657 argtab[1].meltbp_cstring = "warmelt-macro.melt";
26658 /*^apply.arg*/
26659 argtab[2].meltbp_long = 7226;
26660 /*^apply.arg*/
26661 argtab[3].meltbp_cstring = "mexpand_let:mexpanser";
26662 /*^apply.arg*/
26663 argtab[4].meltbp_cstring = " loc=";
26664 /*^apply.arg*/
26665 argtab[5].meltbp_aptr = (melt_ptr_t*) &(/*~LOC*/ meltfclos->tabval[1]);
26666 /*^apply.arg*/
26667 argtab[6].meltbp_cstring = " delayerrored";
26668 /*_.MELT_DEBUG_FUN__V21*/
26669 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_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0);
26672 /*_._IF___V20*/
26673 meltfptr[5] = /*_.MELT_DEBUG_FUN__V21*/ meltfptr[20];;
26674 /*epilog*/
26676 MELT_LOCATION("warmelt-macro.melt:7226:/ clear");
26677 /*clear*/ /*_#MELT_CALLCOUNT__L15*/
26678 meltfnum[14] = 0 ;
26679 /*^clear*/
26680 /*clear*/ /*_.MELT_DEBUG_FUN__V21*/
26681 meltfptr[20] = 0 ;
26685 else /*^cond.else*/
26688 /*_._IF___V20*/ meltfptr[5] = /*reallynil*/ NULL ;;
26693 MELT_LOCATION("warmelt-macro.melt:7226:/ locexp");
26694 /*void*/
26695 (void)0;
26698 /*^quasiblock*/
26701 /*epilog*/
26703 /*^clear*/
26704 /*clear*/ /*_#MELT_NEED_DBG__L14*/
26705 meltfnum[13] = 0 ;
26706 /*^clear*/
26707 /*clear*/ /*_._IF___V20*/
26708 meltfptr[5] = 0 ;
26711 #else /*MELT_HAVE_DEBUG*/
26712 /*^cppif.else*/
26713 /*^block*/
26714 /*anyblock*/
26719 /*^locexp*/
26720 /*void*/(void)0;
26723 /*epilog*/
26726 #endif /*MELT_HAVE_DEBUG*/
26728 /*_#MELT_ERROR_COUNTER__L16*/
26729 meltfnum[14] =
26730 melt_error_counter;;
26732 MELT_CHECK_SIGNAL();
26734 MELT_LOCATION("warmelt-macro.melt:7227:/ apply");
26735 /*apply*/
26737 union meltparam_un argtab[3];
26738 memset(&argtab, 0, sizeof(argtab));
26739 /*^apply.arg*/
26740 argtab[0].meltbp_cstring = "MELT will not expand LET :macro $1 with #$2 errors after delayed expansion";
26741 /*^apply.arg*/
26742 argtab[1].meltbp_aptr = (melt_ptr_t*) &(/*~MACSYMB*/ meltfclos->tabval[2]);
26743 /*^apply.arg*/
26744 argtab[2].meltbp_long = /*_#MELT_ERROR_COUNTER__L16*/ meltfnum[14];
26745 /*_.ERROR_AT__V22*/
26746 meltfptr[20] = melt_apply ((meltclosure_ptr_t)((/*!ERROR_AT*/ meltfrout->tabval[3])), (melt_ptr_t)((/*~LOC*/ meltfclos->tabval[1])), (MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_LONG ""), argtab, "", (union meltparam_un*)0);
26750 MELT_CHECK_SIGNAL();
26752 MELT_LOCATION("warmelt-macro.melt:7229:/ quasiblock");
26755 /*_._RETVAL___V1*/
26756 meltfptr[0] = (/*nil*/NULL);;
26759 MELT_LOCATION("warmelt-macro.melt:7229:/ locexp");
26760 /*ochecknores compilobj_nrep_return*/
26761 #if MELT_HAVE_DEBUG
26762 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
26763 melt_warn_for_no_expected_secondary_results();
26764 /* we warned when secondary results are expected but not returned. */
26765 #endif /*MELT_HAVE_DEBUG*/
26769 /*^finalreturn*/
26771 /*finalret*/
26772 goto meltlabend_rout ;
26773 MELT_LOCATION("warmelt-macro.melt:7225:/ quasiblock");
26776 /*_.PROGN___V24*/
26777 meltfptr[23] = /*_.RETURN___V23*/ meltfptr[5];;
26778 /*^compute*/
26779 /*_._IF___V19*/
26780 meltfptr[9] = /*_.PROGN___V24*/ meltfptr[23];;
26781 /*epilog*/
26783 MELT_LOCATION("warmelt-macro.melt:7225:/ clear");
26784 /*clear*/ /*_#MELT_ERROR_COUNTER__L16*/
26785 meltfnum[14] = 0 ;
26786 /*^clear*/
26787 /*clear*/ /*_.ERROR_AT__V22*/
26788 meltfptr[20] = 0 ;
26789 /*^clear*/
26790 /*clear*/ /*_.RETURN___V23*/
26791 meltfptr[5] = 0 ;
26792 /*^clear*/
26793 /*clear*/ /*_.PROGN___V24*/
26794 meltfptr[23] = 0 ;
26798 else /*^cond.else*/
26801 /*_._IF___V19*/ meltfptr[9] = /*reallynil*/ NULL ;;
26804 MELT_LOCATION("warmelt-macro.melt:7230:/ quasiblock");
26807 /*^cond*/
26808 /*cond*/
26809 if (
26810 /*ifisa*/ melt_is_instance_of((melt_ptr_t)((/*~MACBIND*/ meltfclos->tabval[0])),
26811 (melt_ptr_t)((/*!CLASS_MACRO_BINDING*/ meltfrout->tabval[5])))
26812 ) /*then*/
26814 /*^cond.then*/
26815 /*^getslot*/
26817 melt_ptr_t slot=NULL, obj=NULL;
26818 obj = (melt_ptr_t)((/*~MACBIND*/ meltfclos->tabval[0])) /*=obj*/;
26819 melt_object_get_field(slot,obj, 1, "MBIND_EXPANSER");
26820 /*_.MCLOS__V26*/
26821 meltfptr[5] = slot;
26825 else /*^cond.else*/
26828 /*_.MCLOS__V26*/ meltfptr[5] = /*reallynil*/ NULL ;;
26831 MELT_LOCATION("warmelt-macro.melt:7231:/ cond");
26832 /*cond*/
26833 if (
26834 /*ifisa*/ melt_is_instance_of((melt_ptr_t)(/*_.SEXPRM__V2*/ meltfptr[1]),
26835 (melt_ptr_t)((/*!CLASS_LOCATED*/ meltfrout->tabval[6])))
26836 ) /*then*/
26838 /*^cond.then*/
26839 /*^getslot*/
26841 melt_ptr_t slot=NULL, obj=NULL;
26842 obj = (melt_ptr_t)(/*_.SEXPRM__V2*/ meltfptr[1]) /*=obj*/;
26843 melt_object_get_field(slot,obj, 1, "LOCA_LOCATION");
26844 /*_.LOCM__V27*/
26845 meltfptr[23] = slot;
26849 else /*^cond.else*/
26852 /*_.LOCM__V27*/ meltfptr[23] = /*reallynil*/ NULL ;;
26856 #if MELT_HAVE_DEBUG
26857 MELT_LOCATION("warmelt-macro.melt:7233:/ cppif.then");
26858 /*^block*/
26859 /*anyblock*/
26864 /*^locexp*/
26865 /*melt_increment_dbgcounter*/
26866 #if MELT_HAVE_DEBUG
26867 melt_dbgcounter++;
26868 #endif
26873 MELT_CHECK_SIGNAL();
26875 /*_#MELT_NEED_DBG__L17*/
26876 meltfnum[13] =
26877 /*MELT_NEED_DBG*/
26878 #if MELT_HAVE_DEBUG
26879 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
26880 #else
26881 0 /* no melt_need_dbg */
26882 #endif /*MELT_HAVE_DEBUG*/
26884 MELT_LOCATION("warmelt-macro.melt:7233:/ cond");
26885 /*cond*/
26886 if (/*_#MELT_NEED_DBG__L17*/ meltfnum[13]) /*then*/
26888 /*^cond.then*/
26889 /*^block*/
26890 /*anyblock*/
26893 /*_#MELT_CALLCOUNT__L18*/ meltfnum[14] =
26894 /* for melt_callcount */
26895 #if MELT_HAVE_DEBUG && defined (meltcallcount)
26896 meltcallcount /* melt_callcount debugging */
26897 #else
26898 0L /* melt_callcount without debug */
26899 #endif /* MELT_HAVE_DEBUG melt_callcount */
26902 MELT_CHECK_SIGNAL();
26904 MELT_LOCATION("warmelt-macro.melt:7233:/ apply");
26905 /*apply*/
26907 union meltparam_un argtab[15];
26908 memset(&argtab, 0, sizeof(argtab));
26909 /*^apply.arg*/
26910 argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L18*/ meltfnum[14];
26911 /*^apply.arg*/
26912 argtab[1].meltbp_cstring = "warmelt-macro.melt";
26913 /*^apply.arg*/
26914 argtab[2].meltbp_long = 7233;
26915 /*^apply.arg*/
26916 argtab[3].meltbp_cstring = "mexpand_let:mexpanser";
26917 /*^apply.arg*/
26918 argtab[4].meltbp_cstring = " afterdelay";
26919 /*^apply.arg*/
26920 argtab[5].meltbp_cstring = " loc=";
26921 /*^apply.arg*/
26922 argtab[6].meltbp_aptr = (melt_ptr_t*) &(/*~LOC*/ meltfclos->tabval[1]);
26923 /*^apply.arg*/
26924 argtab[7].meltbp_cstring = " locm=";
26925 /*^apply.arg*/
26926 argtab[8].meltbp_aptr = (melt_ptr_t*) &/*_.LOCM__V27*/ meltfptr[23];
26927 /*^apply.arg*/
26928 argtab[9].meltbp_cstring = "\n.. mclos=";
26929 /*^apply.arg*/
26930 argtab[10].meltbp_aptr = (melt_ptr_t*) &/*_.MCLOS__V26*/ meltfptr[5];
26931 /*^apply.arg*/
26932 argtab[11].meltbp_cstring = "\n.. mexpanser=";
26933 /*^apply.arg*/
26934 argtab[12].meltbp_aptr = (melt_ptr_t*) &(/*~MEXPANSER*/ meltfclos->tabval[5]);
26935 /*^apply.arg*/
26936 argtab[13].meltbp_cstring = "\n.. sexprm=";
26937 /*^apply.arg*/
26938 argtab[14].meltbp_aptr = (melt_ptr_t*) &/*_.SEXPRM__V2*/ meltfptr[1];
26939 /*_.MELT_DEBUG_FUN__V29*/
26940 meltfptr[28] = 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_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
26943 /*_._IF___V28*/
26944 meltfptr[27] = /*_.MELT_DEBUG_FUN__V29*/ meltfptr[28];;
26945 /*epilog*/
26947 MELT_LOCATION("warmelt-macro.melt:7233:/ clear");
26948 /*clear*/ /*_#MELT_CALLCOUNT__L18*/
26949 meltfnum[14] = 0 ;
26950 /*^clear*/
26951 /*clear*/ /*_.MELT_DEBUG_FUN__V29*/
26952 meltfptr[28] = 0 ;
26956 else /*^cond.else*/
26959 /*_._IF___V28*/ meltfptr[27] = /*reallynil*/ NULL ;;
26964 MELT_LOCATION("warmelt-macro.melt:7233:/ locexp");
26965 /*void*/
26966 (void)0;
26969 /*^quasiblock*/
26972 /*epilog*/
26974 /*^clear*/
26975 /*clear*/ /*_#MELT_NEED_DBG__L17*/
26976 meltfnum[13] = 0 ;
26977 /*^clear*/
26978 /*clear*/ /*_._IF___V28*/
26979 meltfptr[27] = 0 ;
26982 #else /*MELT_HAVE_DEBUG*/
26983 /*^cppif.else*/
26984 /*^block*/
26985 /*anyblock*/
26990 /*^locexp*/
26991 /*void*/(void)0;
26994 /*epilog*/
26997 #endif /*MELT_HAVE_DEBUG*/
27000 MELT_CHECK_SIGNAL();
27002 /*_#eqeq__L19*/
27003 meltfnum[14] =
27004 ((/*_.MCLOS__V26*/ meltfptr[5]) == ((/*~MEXPANSER*/ meltfclos->tabval[5])));;
27005 MELT_LOCATION("warmelt-macro.melt:7238:/ cond");
27006 /*cond*/
27007 if (/*_#eqeq__L19*/ meltfnum[14]) /*then*/
27009 /*^cond.then*/
27010 /*^block*/
27011 /*anyblock*/
27015 MELT_CHECK_SIGNAL();
27017 MELT_LOCATION("warmelt-macro.melt:7239:/ apply");
27018 /*apply*/
27020 union meltparam_un argtab[2];
27021 memset(&argtab, 0, sizeof(argtab));
27022 /*^apply.arg*/
27023 argtab[0].meltbp_cstring = "failed to macro-expand LET :macro $1";
27024 /*^apply.arg*/
27025 argtab[1].meltbp_aptr = (melt_ptr_t*) &(/*~MACSYMB*/ meltfclos->tabval[2]);
27026 /*_.ERROR_AT__V31*/
27027 meltfptr[27] = melt_apply ((meltclosure_ptr_t)((/*!ERROR_AT*/ meltfrout->tabval[3])), (melt_ptr_t)(/*_.LOCM__V27*/ meltfptr[23]), (MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
27031 MELT_CHECK_SIGNAL();
27033 MELT_LOCATION("warmelt-macro.melt:7240:/ apply");
27034 /*apply*/
27036 union meltparam_un argtab[2];
27037 memset(&argtab, 0, sizeof(argtab));
27038 /*^apply.arg*/
27039 argtab[0].meltbp_cstring = "failed to expand LET :macro $1 defined here";
27040 /*^apply.arg*/
27041 argtab[1].meltbp_aptr = (melt_ptr_t*) &(/*~MACSYMB*/ meltfclos->tabval[2]);
27042 /*_.WARNING_AT__V32*/
27043 meltfptr[31] = melt_apply ((meltclosure_ptr_t)((/*!WARNING_AT*/ meltfrout->tabval[7])), (melt_ptr_t)((/*~LOC*/ meltfclos->tabval[1])), (MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
27046 MELT_LOCATION("warmelt-macro.melt:7241:/ quasiblock");
27049 /*_._RETVAL___V1*/
27050 meltfptr[0] = /*reallynil*/ NULL ;;
27053 MELT_LOCATION("warmelt-macro.melt:7241:/ locexp");
27054 /*ochecknores compilobj_nrep_return*/
27055 #if MELT_HAVE_DEBUG
27056 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
27057 melt_warn_for_no_expected_secondary_results();
27058 /* we warned when secondary results are expected but not returned. */
27059 #endif /*MELT_HAVE_DEBUG*/
27063 /*^finalreturn*/
27065 /*finalret*/
27066 goto meltlabend_rout ;
27067 MELT_LOCATION("warmelt-macro.melt:7238:/ quasiblock");
27070 /*_.PROGN___V34*/
27071 meltfptr[33] = /*_.RETURN___V33*/ meltfptr[32];;
27072 /*^compute*/
27073 /*_._IF___V30*/
27074 meltfptr[28] = /*_.PROGN___V34*/ meltfptr[33];;
27075 /*epilog*/
27077 MELT_LOCATION("warmelt-macro.melt:7238:/ clear");
27078 /*clear*/ /*_.ERROR_AT__V31*/
27079 meltfptr[27] = 0 ;
27080 /*^clear*/
27081 /*clear*/ /*_.WARNING_AT__V32*/
27082 meltfptr[31] = 0 ;
27083 /*^clear*/
27084 /*clear*/ /*_.RETURN___V33*/
27085 meltfptr[32] = 0 ;
27086 /*^clear*/
27087 /*clear*/ /*_.PROGN___V34*/
27088 meltfptr[33] = 0 ;
27092 else /*^cond.else*/
27095 /*_._IF___V30*/ meltfptr[28] = /*reallynil*/ NULL ;;
27099 #if MELT_HAVE_DEBUG
27100 MELT_LOCATION("warmelt-macro.melt:7242:/ cppif.then");
27101 /*^block*/
27102 /*anyblock*/
27107 /*^locexp*/
27108 /*melt_increment_dbgcounter*/
27109 #if MELT_HAVE_DEBUG
27110 melt_dbgcounter++;
27111 #endif
27116 MELT_CHECK_SIGNAL();
27118 /*_#MELT_NEED_DBG__L20*/
27119 meltfnum[13] =
27120 /*MELT_NEED_DBG*/
27121 #if MELT_HAVE_DEBUG
27122 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
27123 #else
27124 0 /* no melt_need_dbg */
27125 #endif /*MELT_HAVE_DEBUG*/
27127 MELT_LOCATION("warmelt-macro.melt:7242:/ cond");
27128 /*cond*/
27129 if (/*_#MELT_NEED_DBG__L20*/ meltfnum[13]) /*then*/
27131 /*^cond.then*/
27132 /*^block*/
27133 /*anyblock*/
27136 /*_#MELT_CALLCOUNT__L21*/ meltfnum[20] =
27137 /* for melt_callcount */
27138 #if MELT_HAVE_DEBUG && defined (meltcallcount)
27139 meltcallcount /* melt_callcount debugging */
27140 #else
27141 0L /* melt_callcount without debug */
27142 #endif /* MELT_HAVE_DEBUG melt_callcount */
27145 MELT_CHECK_SIGNAL();
27147 MELT_LOCATION("warmelt-macro.melt:7242:/ apply");
27148 /*apply*/
27150 union meltparam_un argtab[13];
27151 memset(&argtab, 0, sizeof(argtab));
27152 /*^apply.arg*/
27153 argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L21*/ meltfnum[20];
27154 /*^apply.arg*/
27155 argtab[1].meltbp_cstring = "warmelt-macro.melt";
27156 /*^apply.arg*/
27157 argtab[2].meltbp_long = 7242;
27158 /*^apply.arg*/
27159 argtab[3].meltbp_cstring = "mexpand_let:mexpanser";
27160 /*^apply.arg*/
27161 argtab[4].meltbp_cstring = " beforemulticall";
27162 /*^apply.arg*/
27163 argtab[5].meltbp_cstring = " loc=";
27164 /*^apply.arg*/
27165 argtab[6].meltbp_aptr = (melt_ptr_t*) &(/*~LOC*/ meltfclos->tabval[1]);
27166 /*^apply.arg*/
27167 argtab[7].meltbp_cstring = " locm=";
27168 /*^apply.arg*/
27169 argtab[8].meltbp_aptr = (melt_ptr_t*) &/*_.LOCM__V27*/ meltfptr[23];
27170 /*^apply.arg*/
27171 argtab[9].meltbp_cstring = " mclos=";
27172 /*^apply.arg*/
27173 argtab[10].meltbp_aptr = (melt_ptr_t*) &/*_.MCLOS__V26*/ meltfptr[5];
27174 /*^apply.arg*/
27175 argtab[11].meltbp_cstring = " sexprm=";
27176 /*^apply.arg*/
27177 argtab[12].meltbp_aptr = (melt_ptr_t*) &/*_.SEXPRM__V2*/ meltfptr[1];
27178 /*_.MELT_DEBUG_FUN__V36*/
27179 meltfptr[31] = 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_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
27182 /*_._IF___V35*/
27183 meltfptr[27] = /*_.MELT_DEBUG_FUN__V36*/ meltfptr[31];;
27184 /*epilog*/
27186 MELT_LOCATION("warmelt-macro.melt:7242:/ clear");
27187 /*clear*/ /*_#MELT_CALLCOUNT__L21*/
27188 meltfnum[20] = 0 ;
27189 /*^clear*/
27190 /*clear*/ /*_.MELT_DEBUG_FUN__V36*/
27191 meltfptr[31] = 0 ;
27195 else /*^cond.else*/
27198 /*_._IF___V35*/ meltfptr[27] = /*reallynil*/ NULL ;;
27203 MELT_LOCATION("warmelt-macro.melt:7242:/ locexp");
27204 /*void*/
27205 (void)0;
27208 /*^quasiblock*/
27211 /*epilog*/
27213 /*^clear*/
27214 /*clear*/ /*_#MELT_NEED_DBG__L20*/
27215 meltfnum[13] = 0 ;
27216 /*^clear*/
27217 /*clear*/ /*_._IF___V35*/
27218 meltfptr[27] = 0 ;
27221 #else /*MELT_HAVE_DEBUG*/
27222 /*^cppif.else*/
27223 /*^block*/
27224 /*anyblock*/
27229 /*^locexp*/
27230 /*void*/(void)0;
27233 /*epilog*/
27236 #endif /*MELT_HAVE_DEBUG*/
27239 MELT_CHECK_SIGNAL();
27241 MELT_LOCATION("warmelt-macro.melt:7246:/ quasiblock");
27244 /*^multiapply*/
27245 /*multiapply 4args, 1x.res*/
27247 union meltparam_un argtab[3];
27249 union meltparam_un restab[1];
27250 memset(&restab, 0, sizeof(restab));
27251 memset(&argtab, 0, sizeof(argtab));
27252 /*^multiapply.arg*/
27253 argtab[0].meltbp_aptr = (melt_ptr_t*) &/*_.ENVM__V3*/ meltfptr[2];/*^multiapply.arg*/
27254 argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.MEXPANDERM__V4*/ meltfptr[3];/*^multiapply.arg*/
27255 argtab[2].meltbp_aptr = (melt_ptr_t*) &/*_.MODCTXM__V5*/ meltfptr[4];
27256 /*^multiapply.xres*/
27257 restab[0].meltbp_aptr = (melt_ptr_t*) &/*_.OTHERMAC__V39*/ meltfptr[31];
27258 /*^multiapply.appl*/
27259 /*_.EXPMAC__V38*/
27260 meltfptr[33] = melt_apply ((meltclosure_ptr_t)(/*_.MCLOS__V26*/ meltfptr[5]), (melt_ptr_t)(/*_.SEXPRM__V2*/ meltfptr[1]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, (MELTBPARSTR_PTR ""), restab);
27263 /*^quasiblock*/
27267 #if MELT_HAVE_DEBUG
27268 MELT_LOCATION("warmelt-macro.melt:7249:/ cppif.then");
27269 /*^block*/
27270 /*anyblock*/
27275 /*^locexp*/
27276 /*melt_increment_dbgcounter*/
27277 #if MELT_HAVE_DEBUG
27278 melt_dbgcounter++;
27279 #endif
27284 MELT_CHECK_SIGNAL();
27286 /*_#MELT_NEED_DBG__L22*/
27287 meltfnum[20] =
27288 /*MELT_NEED_DBG*/
27289 #if MELT_HAVE_DEBUG
27290 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
27291 #else
27292 0 /* no melt_need_dbg */
27293 #endif /*MELT_HAVE_DEBUG*/
27295 MELT_LOCATION("warmelt-macro.melt:7249:/ cond");
27296 /*cond*/
27297 if (/*_#MELT_NEED_DBG__L22*/ meltfnum[20]) /*then*/
27299 /*^cond.then*/
27300 /*^block*/
27301 /*anyblock*/
27304 /*_#MELT_CALLCOUNT__L23*/ meltfnum[13] =
27305 /* for melt_callcount */
27306 #if MELT_HAVE_DEBUG && defined (meltcallcount)
27307 meltcallcount /* melt_callcount debugging */
27308 #else
27309 0L /* melt_callcount without debug */
27310 #endif /* MELT_HAVE_DEBUG melt_callcount */
27313 MELT_CHECK_SIGNAL();
27315 MELT_LOCATION("warmelt-macro.melt:7249:/ apply");
27316 /*apply*/
27318 union meltparam_un argtab[7];
27319 memset(&argtab, 0, sizeof(argtab));
27320 /*^apply.arg*/
27321 argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L23*/ meltfnum[13];
27322 /*^apply.arg*/
27323 argtab[1].meltbp_cstring = "warmelt-macro.melt";
27324 /*^apply.arg*/
27325 argtab[2].meltbp_long = 7249;
27326 /*^apply.arg*/
27327 argtab[3].meltbp_cstring = "mexpand_let:mexpanser expmac=";
27328 /*^apply.arg*/
27329 argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.EXPMAC__V38*/ meltfptr[33];
27330 /*^apply.arg*/
27331 argtab[5].meltbp_cstring = " othermac=";
27332 /*^apply.arg*/
27333 argtab[6].meltbp_aptr = (melt_ptr_t*) &/*_.OTHERMAC__V39*/ meltfptr[31];
27334 /*_.MELT_DEBUG_FUN__V41*/
27335 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);
27338 /*_._IF___V40*/
27339 meltfptr[27] = /*_.MELT_DEBUG_FUN__V41*/ meltfptr[40];;
27340 /*epilog*/
27342 MELT_LOCATION("warmelt-macro.melt:7249:/ clear");
27343 /*clear*/ /*_#MELT_CALLCOUNT__L23*/
27344 meltfnum[13] = 0 ;
27345 /*^clear*/
27346 /*clear*/ /*_.MELT_DEBUG_FUN__V41*/
27347 meltfptr[40] = 0 ;
27351 else /*^cond.else*/
27354 /*_._IF___V40*/ meltfptr[27] = /*reallynil*/ NULL ;;
27359 MELT_LOCATION("warmelt-macro.melt:7249:/ locexp");
27360 /*void*/
27361 (void)0;
27364 /*^quasiblock*/
27367 /*epilog*/
27369 /*^clear*/
27370 /*clear*/ /*_#MELT_NEED_DBG__L22*/
27371 meltfnum[20] = 0 ;
27372 /*^clear*/
27373 /*clear*/ /*_._IF___V40*/
27374 meltfptr[27] = 0 ;
27377 #else /*MELT_HAVE_DEBUG*/
27378 /*^cppif.else*/
27379 /*^block*/
27380 /*anyblock*/
27385 /*^locexp*/
27386 /*void*/(void)0;
27389 /*epilog*/
27392 #endif /*MELT_HAVE_DEBUG*/
27395 MELT_CHECK_SIGNAL();
27397 MELT_LOCATION("warmelt-macro.melt:7250:/ quasiblock");
27400 /*_._RETVAL___V1*/
27401 meltfptr[0] = /*_.EXPMAC__V38*/ meltfptr[33];;
27402 MELT_LOCATION("warmelt-macro.melt:7250:/ putxtraresult");
27403 if (!meltxrestab_ || !meltxresdescr_) goto meltlabend_rout;
27404 if (meltxresdescr_[0] != MELTBPAR_PTR) goto meltlabend_rout;
27405 if (meltxrestab_[0].meltbp_aptr) *(meltxrestab_[0].meltbp_aptr) = (melt_ptr_t) (/*_.OTHERMAC__V39*/ meltfptr[31]);
27407 /*^finalreturn*/
27409 /*finalret*/
27410 goto meltlabend_rout ;
27412 MELT_CHECK_SIGNAL();
27414 /*_.MULTI___V37*/
27415 meltfptr[32] = /*_.RETURN___V42*/ meltfptr[40];;
27417 MELT_LOCATION("warmelt-macro.melt:7246:/ clear");
27418 /*clear*/ /*_.RETURN___V42*/
27419 meltfptr[40] = 0 ;
27421 /*^clear*/
27422 /*clear*/ /*_.OTHERMAC__V39*/
27423 meltfptr[31] = 0 ;
27424 /*_.LET___V25*/
27425 meltfptr[20] = /*_.MULTI___V37*/ meltfptr[32];;
27427 MELT_LOCATION("warmelt-macro.melt:7230:/ clear");
27428 /*clear*/ /*_.MCLOS__V26*/
27429 meltfptr[5] = 0 ;
27430 /*^clear*/
27431 /*clear*/ /*_.LOCM__V27*/
27432 meltfptr[23] = 0 ;
27433 /*^clear*/
27434 /*clear*/ /*_#eqeq__L19*/
27435 meltfnum[14] = 0 ;
27436 /*^clear*/
27437 /*clear*/ /*_._IF___V30*/
27438 meltfptr[28] = 0 ;
27439 /*^clear*/
27440 /*clear*/ /*_.MULTI___V37*/
27441 meltfptr[32] = 0 ;
27443 MELT_CHECK_SIGNAL();
27445 MELT_LOCATION("warmelt-macro.melt:7208:/ quasiblock");
27448 /*_._RETVAL___V1*/
27449 meltfptr[0] = /*_.LET___V25*/ meltfptr[20];;
27452 MELT_LOCATION("warmelt-macro.melt:7208:/ locexp");
27453 /*ochecknores compilobj_nrep_return*/
27454 #if MELT_HAVE_DEBUG
27455 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
27456 melt_warn_for_no_expected_secondary_results();
27457 /* we warned when secondary results are expected but not returned. */
27458 #endif /*MELT_HAVE_DEBUG*/
27462 /*^finalreturn*/
27464 /*finalret*/
27465 goto meltlabend_rout ;
27466 /*epilog*/
27468 /*^clear*/
27469 /*clear*/ /*_#MELT_ERROR_COUNTER__L3*/
27470 meltfnum[1] = 0 ;
27471 /*^clear*/
27472 /*clear*/ /*_#gtI__L4*/
27473 meltfnum[0] = 0 ;
27474 /*^clear*/
27475 /*clear*/ /*_._IF___V8*/
27476 meltfptr[6] = 0 ;
27477 /*^clear*/
27478 /*clear*/ /*_.MELT_DELAYED_MACRO_EXPANDER__V16*/
27479 meltfptr[12] = 0 ;
27480 /*^clear*/
27481 /*clear*/ /*_#MELT_ERROR_COUNTER__L12*/
27482 meltfnum[4] = 0 ;
27483 /*^clear*/
27484 /*clear*/ /*_#gtI__L13*/
27485 meltfnum[5] = 0 ;
27486 /*^clear*/
27487 /*clear*/ /*_._IF___V19*/
27488 meltfptr[9] = 0 ;
27489 /*^clear*/
27490 /*clear*/ /*_.LET___V25*/
27491 meltfptr[20] = 0 ;
27495 goto meltlabend_rout;
27496 meltlabend_rout:
27497 melt_trace_end("LAMBDA_cl17", meltcallcount);
27498 melt_blocklevel_signals = current_blocklevel_signals_meltrout_124_WARMELTmiMACRO_LAMBDA_cl17_melt;
27499 return (melt_ptr_t)(/*_._RETVAL___V1*/ meltfptr[0]);
27500 #undef meltcallcount
27501 #undef meltfram__
27502 #undef MELTFRAM_NBVARNUM
27503 #undef MELTFRAM_NBVARPTR
27504 } /*end meltrout_124_WARMELTmiMACRO_LAMBDA_cl17*/
27511 melt_ptr_t MELT_MODULE_VISIBILITY
27512 meltrout_125_WARMELTmiMACRO_YES_RECURSIVELY_CONSTRUCTIBLE(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_,
27513 const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_)
27515 long current_blocklevel_signals_meltrout_125_WARMELTmiMACRO_YES_RECURSIVELY_CONSTRUCTIBLE_melt = melt_blocklevel_signals;
27517 #if MELT_HAVE_DEBUG
27518 static long melt_call_counter__;
27519 long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__;
27520 #undef meltcallcount
27521 #define meltcallcount melt_thiscallcounter__
27522 #else
27523 #undef meltcallcount
27524 #define meltcallcount 0L
27525 #endif
27526 //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1538
27528 /* start of frame for routine meltrout_125_WARMELTmiMACRO_YES_RECURSIVELY_CONSTRUCTIBLE fromline 1752 */
27530 /** start of frame for meltrout_125_WARMELTmiMACRO_YES_RECURSIVELY_CONSTRUCTIBLE of CLASS_PROCROUTINEOBJ from 1555**/
27532 /*curframdeclclassy*/ class MeltFrame_meltrout_125_WARMELTmiMACRO_YES_RECURSIVELY_CONSTRUCTIBLE// fromline 1568
27533 : public Melt_CallFrameWithValues<5>
27535 public: /* fromline 1572*/
27536 long mcfr_varnum[2];
27537 /*classy others*/
27538 long _meltsparel;
27539 void melt_mark_stuff (void)
27541 } /*end melt_mark_stuff*/
27542 virtual void melt_mark_ggc_data (void)
27544 melt_mark_values ();
27545 melt_mark_stuff ();
27546 }; /*end melt_mark_ggc_data*/
27547 MeltFrame_meltrout_125_WARMELTmiMACRO_YES_RECURSIVELY_CONSTRUCTIBLE(meltclosure_ptr_t clos) //the closure constructor fromline 1630
27548 : Melt_CallFrameWithValues<5> (
27549 #if ENABLE_CHECKING /*fromline 1634*/
27550 __FILE__, __LINE__,
27551 #endif /* ENABLE_CHECKING fromline 1638*/
27552 sizeof(MeltFrame_meltrout_125_WARMELTmiMACRO_YES_RECURSIVELY_CONSTRUCTIBLE), clos) {};
27553 MeltFrame_meltrout_125_WARMELTmiMACRO_YES_RECURSIVELY_CONSTRUCTIBLE() //the constructor fromline 1642
27554 : Melt_CallFrameWithValues<5> (
27555 #if ENABLE_CHECKING /*fromline 1646*/
27556 __FILE__, __LINE__,
27557 #endif /* ENABLE_CHECKING fromline 1650*/
27558 sizeof(MeltFrame_meltrout_125_WARMELTmiMACRO_YES_RECURSIVELY_CONSTRUCTIBLE)) {};
27559 #if ENABLE_CHECKING /*fromline 1654*/
27560 MeltFrame_meltrout_125_WARMELTmiMACRO_YES_RECURSIVELY_CONSTRUCTIBLE(const char*fil, int lin) //the constructor fromline 1656
27561 : Melt_CallFrameWithValues<5> (fil,lin, sizeof(MeltFrame_meltrout_125_WARMELTmiMACRO_YES_RECURSIVELY_CONSTRUCTIBLE)) {};
27562 MeltFrame_meltrout_125_WARMELTmiMACRO_YES_RECURSIVELY_CONSTRUCTIBLE(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1661
27563 : Melt_CallFrameWithValues<5> (fil,lin, sizeof(MeltFrame_meltrout_125_WARMELTmiMACRO_YES_RECURSIVELY_CONSTRUCTIBLE), clos) {};
27564 #endif /* ENABLE_CHECKING fromline 1666*/
27566 }; // end class MeltFrame_meltrout_125_WARMELTmiMACRO_YES_RECURSIVELY_CONSTRUCTIBLE
27569 /** end of frame for meltrout_125_WARMELTmiMACRO_YES_RECURSIVELY_CONSTRUCTIBLE fromline 1697**/
27571 /* end of frame for routine meltrout_125_WARMELTmiMACRO_YES_RECURSIVELY_CONSTRUCTIBLE fromline 1756 */
27573 /* classy proc frame meltrout_125_WARMELTmiMACRO_YES_RECURSIVELY_CONSTRUCTIBLE */
27574 MeltFrame_meltrout_125_WARMELTmiMACRO_YES_RECURSIVELY_CONSTRUCTIBLE
27575 meltfram__ /*declfrastruct fromline 1780*/
27576 /*classyprocarg meltrout_125_WARMELTmiMACRO_YES_RECURSIVELY_CONSTRUCTIBLE fromline 1785*/
27577 #if ENABLE_CHECKING
27578 (__FILE__, __LINE__, meltclosp_) /* fromline 1789*/
27579 #else /*ENABLE_CHECKING */
27580 (meltclosp_) /* fromline 1793*/
27581 #endif /*ENABLE_CHECKING */
27584 #define meltframe meltfram__
27586 melt_trace_start("YES_RECURSIVELY_CONSTRUCTIBLE", meltcallcount);
27587 /*use arguments*/
27588 (void) meltclosp_;
27589 (void)meltfirstargp_;
27590 (void)meltxargdescr_;
27591 (void)meltxargtab_;
27592 (void)meltxresdescr_;
27593 (void)meltxrestab_;
27594 /*getargs*/
27596 /*getarg#0*/
27597 MELT_LOCATION("warmelt-macro.melt:7307:/ getarg");
27598 /*_.RECV__V2*/
27599 meltfptr[1] = (melt_ptr_t) meltfirstargp_;
27601 goto meltlab_endgetargs;
27602 meltlab_endgetargs:
27604 /*body*/
27605 /*^block*/
27606 /*anyblock*/
27610 #if MELT_HAVE_DEBUG
27611 MELT_LOCATION("warmelt-macro.melt:7308:/ cppif.then");
27612 /*^block*/
27613 /*anyblock*/
27618 /*^locexp*/
27619 /*melt_increment_dbgcounter*/
27620 #if MELT_HAVE_DEBUG
27621 melt_dbgcounter++;
27622 #endif
27627 MELT_CHECK_SIGNAL();
27629 /*_#MELT_NEED_DBG__L1*/
27630 meltfnum[0] =
27631 /*MELT_NEED_DBG*/
27632 #if MELT_HAVE_DEBUG
27633 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
27634 #else
27635 0 /* no melt_need_dbg */
27636 #endif /*MELT_HAVE_DEBUG*/
27638 MELT_LOCATION("warmelt-macro.melt:7308:/ cond");
27639 /*cond*/
27640 if (/*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then*/
27642 /*^cond.then*/
27643 /*^block*/
27644 /*anyblock*/
27647 /*_#MELT_CALLCOUNT__L2*/ meltfnum[1] =
27648 /* for melt_callcount */
27649 #if MELT_HAVE_DEBUG && defined (meltcallcount)
27650 meltcallcount /* melt_callcount debugging */
27651 #else
27652 0L /* melt_callcount without debug */
27653 #endif /* MELT_HAVE_DEBUG melt_callcount */
27656 MELT_CHECK_SIGNAL();
27658 MELT_LOCATION("warmelt-macro.melt:7308:/ apply");
27659 /*apply*/
27661 union meltparam_un argtab[5];
27662 memset(&argtab, 0, sizeof(argtab));
27663 /*^apply.arg*/
27664 argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L2*/ meltfnum[1];
27665 /*^apply.arg*/
27666 argtab[1].meltbp_cstring = "warmelt-macro.melt";
27667 /*^apply.arg*/
27668 argtab[2].meltbp_long = 7308;
27669 /*^apply.arg*/
27670 argtab[3].meltbp_cstring = "yes_recursively_constructible recv";
27671 /*^apply.arg*/
27672 argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.RECV__V2*/ meltfptr[1];
27673 /*_.MELT_DEBUG_FUN__V4*/
27674 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);
27677 /*_._IF___V3*/
27678 meltfptr[2] = /*_.MELT_DEBUG_FUN__V4*/ meltfptr[3];;
27679 /*epilog*/
27681 MELT_LOCATION("warmelt-macro.melt:7308:/ clear");
27682 /*clear*/ /*_#MELT_CALLCOUNT__L2*/
27683 meltfnum[1] = 0 ;
27684 /*^clear*/
27685 /*clear*/ /*_.MELT_DEBUG_FUN__V4*/
27686 meltfptr[3] = 0 ;
27690 else /*^cond.else*/
27693 /*_._IF___V3*/ meltfptr[2] = /*reallynil*/ NULL ;;
27698 MELT_LOCATION("warmelt-macro.melt:7308:/ locexp");
27699 /*void*/
27700 (void)0;
27703 /*^quasiblock*/
27706 /*epilog*/
27708 /*^clear*/
27709 /*clear*/ /*_#MELT_NEED_DBG__L1*/
27710 meltfnum[0] = 0 ;
27711 /*^clear*/
27712 /*clear*/ /*_._IF___V3*/
27713 meltfptr[2] = 0 ;
27716 #else /*MELT_HAVE_DEBUG*/
27717 /*^cppif.else*/
27718 /*^block*/
27719 /*anyblock*/
27724 /*^locexp*/
27725 /*void*/(void)0;
27728 /*epilog*/
27731 #endif /*MELT_HAVE_DEBUG*/
27734 MELT_CHECK_SIGNAL();
27736 MELT_LOCATION("warmelt-macro.melt:7309:/ quasiblock");
27739 /*_._RETVAL___V1*/
27740 meltfptr[0] = /*_.RECV__V2*/ meltfptr[1];;
27743 MELT_LOCATION("warmelt-macro.melt:7309:/ locexp");
27744 /*ochecknores compilobj_nrep_return*/
27745 #if MELT_HAVE_DEBUG
27746 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
27747 melt_warn_for_no_expected_secondary_results();
27748 /* we warned when secondary results are expected but not returned. */
27749 #endif /*MELT_HAVE_DEBUG*/
27753 /*^finalreturn*/
27755 /*finalret*/
27756 goto meltlabend_rout ;
27758 MELT_CHECK_SIGNAL();
27760 MELT_LOCATION("warmelt-macro.melt:7307:/ quasiblock");
27763 /*_._RETVAL___V1*/
27764 meltfptr[0] = /*_.RETURN___V5*/ meltfptr[3];;
27767 MELT_LOCATION("warmelt-macro.melt:7307:/ locexp");
27768 /*ochecknores compilobj_nrep_return*/
27769 #if MELT_HAVE_DEBUG
27770 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
27771 melt_warn_for_no_expected_secondary_results();
27772 /* we warned when secondary results are expected but not returned. */
27773 #endif /*MELT_HAVE_DEBUG*/
27777 /*^finalreturn*/
27779 /*finalret*/
27780 goto meltlabend_rout ;
27781 /*epilog*/
27783 /*^clear*/
27784 /*clear*/ /*_.RETURN___V5*/
27785 meltfptr[3] = 0 ;
27789 goto meltlabend_rout;
27790 meltlabend_rout:
27791 melt_trace_end("YES_RECURSIVELY_CONSTRUCTIBLE", meltcallcount);
27792 melt_blocklevel_signals = current_blocklevel_signals_meltrout_125_WARMELTmiMACRO_YES_RECURSIVELY_CONSTRUCTIBLE_melt;
27793 return (melt_ptr_t)(/*_._RETVAL___V1*/ meltfptr[0]);
27794 #undef meltcallcount
27795 #undef meltfram__
27796 #undef MELTFRAM_NBVARNUM
27797 #undef MELTFRAM_NBVARPTR
27798 } /*end meltrout_125_WARMELTmiMACRO_YES_RECURSIVELY_CONSTRUCTIBLE*/
27803 /**** end of warmelt-macro+05.cc ****/