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 */
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 /****++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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)
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/>.
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
;
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 */
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,
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 */
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 */
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
;
1078 static long melt_call_counter__
;
1079 long melt_thiscallcounter__ ATTRIBUTE_UNUSED
= ++ melt_call_counter__
;
1080 #undef meltcallcount
1081 #define meltcallcount melt_thiscallcounter__
1083 #undef meltcallcount
1084 #define meltcallcount 0L
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];
1099 void melt_mark_stuff (void)
1101 } /*end melt_mark_stuff*/
1102 virtual void melt_mark_ggc_data (void)
1104 melt_mark_values ();
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*/
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*/
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*/
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
);
1149 (void)meltfirstargp_
;
1150 (void)meltxargdescr_
;
1152 (void)meltxresdescr_
;
1157 MELT_LOCATION("warmelt-macro.melt:6296:/ getarg");
1159 meltfptr
[1] = (melt_ptr_t
) meltfirstargp_
;
1163 if (meltxargdescr_
[0] != MELTBPAR_PTR
) goto meltlab_endgetargs
;
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
);
1171 if (meltxargdescr_
[1] != MELTBPAR_PTR
) goto meltlab_endgetargs
;
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
);
1179 if (meltxargdescr_
[2] != MELTBPAR_PTR
) goto meltlab_endgetargs
;
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
;
1195 MELT_LOCATION("warmelt-macro.melt:6297:/ cppif.then");
1203 /*melt_increment_dbgcounter*/
1211 MELT_CHECK_SIGNAL();
1213 /*_#MELT_NEED_DBG__L1*/
1217 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
1219 0 /* no melt_need_dbg */
1220 #endif /*MELT_HAVE_DEBUG*/
1222 MELT_LOCATION("warmelt-macro.melt:6297:/ cond");
1224 if (/*_#MELT_NEED_DBG__L1*/ meltfnum
[0]) /*then*/
1231 /*_#MELT_CALLCOUNT__L2*/ meltfnum
[1] =
1232 /* for melt_callcount */
1233 #if MELT_HAVE_DEBUG && defined (meltcallcount)
1234 meltcallcount
/* melt_callcount debugging */
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");
1245 union meltparam_un argtab
[5];
1246 memset(&argtab
, 0, sizeof(argtab
));
1248 argtab
[0].meltbp_long
= /*_#MELT_CALLCOUNT__L2*/ meltfnum
[1];
1250 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
1252 argtab
[2].meltbp_long
= 6297;
1254 argtab
[3].meltbp_cstring
= "mexpand_or sexpr";
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);
1262 meltfptr
[5] = /*_.MELT_DEBUG_FUN__V7*/ meltfptr
[6];;
1265 MELT_LOCATION("warmelt-macro.melt:6297:/ clear");
1266 /*clear*/ /*_#MELT_CALLCOUNT__L2*/
1269 /*clear*/ /*_.MELT_DEBUG_FUN__V7*/
1277 /*_._IF___V6*/ meltfptr
[5] = /*reallynil*/ NULL
;;
1282 MELT_LOCATION("warmelt-macro.melt:6297:/ locexp");
1293 /*clear*/ /*_#MELT_NEED_DBG__L1*/
1296 /*clear*/ /*_._IF___V6*/
1300 #else /*MELT_HAVE_DEBUG*/
1315 #endif /*MELT_HAVE_DEBUG*/
1319 MELT_LOCATION("warmelt-macro.melt:6298:/ cppif.then");
1325 MELT_CHECK_SIGNAL();
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");
1332 if (/*_#IS_A__L3*/ meltfnum
[1]) /*then*/
1335 /*_._IFELSE___V9*/ meltfptr
[5] = (/*nil*/NULL
);;
1339 MELT_LOCATION("warmelt-macro.melt:6298:/ cond.else");
1346 MELT_CHECK_SIGNAL();
1351 union meltparam_un argtab
[4];
1352 memset(&argtab
, 0, sizeof(argtab
));
1354 argtab
[0].meltbp_cstring
= "check sexpr";
1356 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
1358 argtab
[2].meltbp_long
= 6298;
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);
1366 meltfptr
[5] = /*_.MELT_ASSERT_FAILURE_FUN__V10*/ meltfptr
[9];;
1369 MELT_LOCATION("warmelt-macro.melt:6298:/ clear");
1370 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V10*/
1377 meltfptr
[6] = /*_._IFELSE___V9*/ meltfptr
[5];;
1380 MELT_LOCATION("warmelt-macro.melt:6298:/ clear");
1381 /*clear*/ /*_#IS_A__L3*/
1384 /*clear*/ /*_._IFELSE___V9*/
1388 #else /*MELT_HAVE_DEBUG*/
1390 /*_.IFCPP___V8*/ meltfptr
[6] = (/*nil*/NULL
);
1391 #endif /*MELT_HAVE_DEBUG*/
1395 MELT_LOCATION("warmelt-macro.melt:6299:/ cppif.then");
1401 MELT_CHECK_SIGNAL();
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");
1408 if (/*_#IS_A__L4*/ meltfnum
[0]) /*then*/
1411 /*_._IFELSE___V12*/ meltfptr
[5] = (/*nil*/NULL
);;
1415 MELT_LOCATION("warmelt-macro.melt:6299:/ cond.else");
1422 MELT_CHECK_SIGNAL();
1427 union meltparam_un argtab
[4];
1428 memset(&argtab
, 0, sizeof(argtab
));
1430 argtab
[0].meltbp_cstring
= "check env";
1432 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
1434 argtab
[2].meltbp_long
= 6299;
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);
1442 meltfptr
[5] = /*_.MELT_ASSERT_FAILURE_FUN__V13*/ meltfptr
[12];;
1445 MELT_LOCATION("warmelt-macro.melt:6299:/ clear");
1446 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V13*/
1453 meltfptr
[9] = /*_._IFELSE___V12*/ meltfptr
[5];;
1456 MELT_LOCATION("warmelt-macro.melt:6299:/ clear");
1457 /*clear*/ /*_#IS_A__L4*/
1460 /*clear*/ /*_._IFELSE___V12*/
1464 #else /*MELT_HAVE_DEBUG*/
1466 /*_.IFCPP___V11*/ meltfptr
[9] = (/*nil*/NULL
);
1467 #endif /*MELT_HAVE_DEBUG*/
1470 MELT_CHECK_SIGNAL();
1475 (/*null*/(/*_.MEXPANDER__V4*/ meltfptr
[3]) == NULL
);;
1476 MELT_LOCATION("warmelt-macro.melt:6300:/ cond");
1478 if (/*_#NULL__L5*/ meltfnum
[1]) /*then*/
1486 /*_.MEXPANDER__V4*/ meltfptr
[3] = /*_.SETQ___V15*/ meltfptr
[5] = (/*!MACROEXPAND_1*/ meltfrout
->tabval
[4]);;
1488 meltfptr
[12] = /*_.SETQ___V15*/ meltfptr
[5];;
1491 MELT_LOCATION("warmelt-macro.melt:6300:/ clear");
1492 /*clear*/ /*_.SETQ___V15*/
1500 /*_._IF___V14*/ meltfptr
[12] = /*reallynil*/ NULL
;;
1505 MELT_LOCATION("warmelt-macro.melt:6301:/ cppif.then");
1511 MELT_CHECK_SIGNAL();
1515 (melt_magic_discr((melt_ptr_t
)(/*_.MODCTX__V5*/ meltfptr
[4])) == MELTOBMAG_OBJECT
);;
1516 MELT_LOCATION("warmelt-macro.melt:6301:/ cond");
1518 if (/*_#IS_OBJECT__L6*/ meltfnum
[0]) /*then*/
1521 /*_._IFELSE___V17*/ meltfptr
[16] = (/*nil*/NULL
);;
1525 MELT_LOCATION("warmelt-macro.melt:6301:/ cond.else");
1532 MELT_CHECK_SIGNAL();
1537 union meltparam_un argtab
[4];
1538 memset(&argtab
, 0, sizeof(argtab
));
1540 argtab
[0].meltbp_cstring
= "check modctx";
1542 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
1544 argtab
[2].meltbp_long
= 6301;
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);
1552 meltfptr
[16] = /*_.MELT_ASSERT_FAILURE_FUN__V18*/ meltfptr
[17];;
1555 MELT_LOCATION("warmelt-macro.melt:6301:/ clear");
1556 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V18*/
1563 meltfptr
[5] = /*_._IFELSE___V17*/ meltfptr
[16];;
1566 MELT_LOCATION("warmelt-macro.melt:6301:/ clear");
1567 /*clear*/ /*_#IS_OBJECT__L6*/
1570 /*clear*/ /*_._IFELSE___V17*/
1574 #else /*MELT_HAVE_DEBUG*/
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");
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");
1597 meltfptr
[20] = slot
;
1600 /*_.LIST_FIRST__V22*/
1602 (melt_list_first((melt_ptr_t
)(/*_.CONT__V20*/ meltfptr
[16])));;
1604 /*_.PAIR_TAIL__V23*/
1606 (melt_pair_tail((melt_ptr_t
)(/*_.LIST_FIRST__V22*/ meltfptr
[21])));;
1608 MELT_CHECK_SIGNAL();
1610 MELT_LOCATION("warmelt-macro.melt:6305:/ apply");
1613 union meltparam_un argtab
[3];
1614 memset(&argtab
, 0, sizeof(argtab
));
1616 argtab
[0].meltbp_aptr
= (melt_ptr_t
*) &/*_.ENV__V3*/ meltfptr
[2];
1618 argtab
[1].meltbp_aptr
= (melt_ptr_t
*) &/*_.MEXPANDER__V4*/ meltfptr
[3];
1620 argtab
[2].meltbp_aptr
= (melt_ptr_t
*) &/*_.MODCTX__V5*/ meltfptr
[4];
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);
1627 (melt_multiple_length((melt_ptr_t
)(/*_.CXTUP__V24*/ meltfptr
[23])));;
1629 MELT_CHECK_SIGNAL();
1634 ((/*_#NBCOMP__L7*/ meltfnum
[0]) < (1));;
1635 MELT_LOCATION("warmelt-macro.melt:6308:/ cond");
1637 if (/*_#ltI__L8*/ meltfnum
[7]) /*then*/
1646 MELT_LOCATION("warmelt-macro.melt:6310:/ locexp");
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");
1658 meltfptr
[0] = (/*nil*/NULL
);;
1661 MELT_LOCATION("warmelt-macro.melt:6311:/ locexp");
1662 /*ochecknores compilobj_nrep_return*/
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*/
1674 goto meltlabend_rout
;
1675 MELT_LOCATION("warmelt-macro.melt:6309:/ quasiblock");
1679 meltfptr
[26] = /*_.RETURN___V26*/ meltfptr
[25];;
1682 meltfptr
[24] = /*_.PROGN___V27*/ meltfptr
[26];;
1685 MELT_LOCATION("warmelt-macro.melt:6308:/ clear");
1686 /*clear*/ /*_.RETURN___V26*/
1689 /*clear*/ /*_.PROGN___V27*/
1701 MELT_LOCATION("warmelt-macro.melt:6312:/ quasiblock");
1705 MELT_CHECK_SIGNAL();
1707 MELT_LOCATION("warmelt-macro.melt:6313:/ quasiblock");
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");
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");
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");
1732 melt_dbgtrace_written_object (/*_.INST__V30*/ meltfptr
[29], "newly made instance");
1735 meltfptr
[26] = /*_.INST__V30*/ meltfptr
[29];;
1738 MELT_LOCATION("warmelt-macro.melt:6316:/ cppif.then");
1746 /*melt_increment_dbgcounter*/
1754 MELT_CHECK_SIGNAL();
1756 /*_#MELT_NEED_DBG__L9*/
1760 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
1762 0 /* no melt_need_dbg */
1763 #endif /*MELT_HAVE_DEBUG*/
1765 MELT_LOCATION("warmelt-macro.melt:6316:/ cond");
1767 if (/*_#MELT_NEED_DBG__L9*/ meltfnum
[8]) /*then*/
1774 /*_#MELT_CALLCOUNT__L10*/ meltfnum
[9] =
1775 /* for melt_callcount */
1776 #if MELT_HAVE_DEBUG && defined (meltcallcount)
1777 meltcallcount
/* melt_callcount debugging */
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");
1788 union meltparam_un argtab
[5];
1789 memset(&argtab
, 0, sizeof(argtab
));
1791 argtab
[0].meltbp_long
= /*_#MELT_CALLCOUNT__L10*/ meltfnum
[9];
1793 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
1795 argtab
[2].meltbp_long
= 6316;
1797 argtab
[3].meltbp_cstring
= "mexpand_or res";
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);
1805 meltfptr
[30] = /*_.MELT_DEBUG_FUN__V32*/ meltfptr
[31];;
1808 MELT_LOCATION("warmelt-macro.melt:6316:/ clear");
1809 /*clear*/ /*_#MELT_CALLCOUNT__L10*/
1812 /*clear*/ /*_.MELT_DEBUG_FUN__V32*/
1820 /*_._IF___V31*/ meltfptr
[30] = /*reallynil*/ NULL
;;
1825 MELT_LOCATION("warmelt-macro.melt:6316:/ locexp");
1836 /*clear*/ /*_#MELT_NEED_DBG__L9*/
1839 /*clear*/ /*_._IF___V31*/
1843 #else /*MELT_HAVE_DEBUG*/
1858 #endif /*MELT_HAVE_DEBUG*/
1861 MELT_CHECK_SIGNAL();
1863 MELT_LOCATION("warmelt-macro.melt:6317:/ quasiblock");
1867 meltfptr
[0] = /*_.RES__V29*/ meltfptr
[26];;
1870 MELT_LOCATION("warmelt-macro.melt:6317:/ locexp");
1871 /*ochecknores compilobj_nrep_return*/
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*/
1883 goto meltlabend_rout
;
1885 meltfptr
[25] = /*_.RETURN___V33*/ meltfptr
[31];;
1887 MELT_LOCATION("warmelt-macro.melt:6312:/ clear");
1888 /*clear*/ /*_.RES__V29*/
1891 /*clear*/ /*_.RETURN___V33*/
1894 meltfptr
[24] = /*_.LET___V28*/ meltfptr
[25];;
1897 MELT_LOCATION("warmelt-macro.melt:6308:/ clear");
1898 /*clear*/ /*_.LET___V28*/
1905 meltfptr
[17] = /*_._IFELSE___V25*/ meltfptr
[24];;
1907 MELT_LOCATION("warmelt-macro.melt:6302:/ clear");
1908 /*clear*/ /*_.CONT__V20*/
1911 /*clear*/ /*_.LOC__V21*/
1914 /*clear*/ /*_.LIST_FIRST__V22*/
1917 /*clear*/ /*_.PAIR_TAIL__V23*/
1920 /*clear*/ /*_.CXTUP__V24*/
1923 /*clear*/ /*_#NBCOMP__L7*/
1926 /*clear*/ /*_#ltI__L8*/
1929 /*clear*/ /*_._IFELSE___V25*/
1932 MELT_CHECK_SIGNAL();
1934 MELT_LOCATION("warmelt-macro.melt:6296:/ quasiblock");
1938 meltfptr
[0] = /*_.LET___V19*/ meltfptr
[17];;
1941 MELT_LOCATION("warmelt-macro.melt:6296:/ locexp");
1942 /*ochecknores compilobj_nrep_return*/
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*/
1954 goto meltlabend_rout
;
1958 /*clear*/ /*_.IFCPP___V8*/
1961 /*clear*/ /*_.IFCPP___V11*/
1964 /*clear*/ /*_#NULL__L5*/
1967 /*clear*/ /*_._IF___V14*/
1970 /*clear*/ /*_.IFCPP___V16*/
1973 /*clear*/ /*_.LET___V19*/
1978 goto 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
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
;
2001 static long melt_call_counter__
;
2002 long melt_thiscallcounter__ ATTRIBUTE_UNUSED
= ++ melt_call_counter__
;
2003 #undef meltcallcount
2004 #define meltcallcount melt_thiscallcounter__
2006 #undef meltcallcount
2007 #define meltcallcount 0L
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];
2022 void melt_mark_stuff (void)
2024 } /*end melt_mark_stuff*/
2025 virtual void melt_mark_ggc_data (void)
2027 melt_mark_values ();
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*/
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*/
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*/
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
);
2072 (void)meltfirstargp_
;
2073 (void)meltxargdescr_
;
2075 (void)meltxresdescr_
;
2080 MELT_LOCATION("warmelt-macro.melt:6321:/ getarg");
2082 meltfptr
[1] = (melt_ptr_t
) meltfirstargp_
;
2086 if (meltxargdescr_
[0] != MELTBPAR_PTR
) goto meltlab_endgetargs
;
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
);
2094 if (meltxargdescr_
[1] != MELTBPAR_PTR
) goto meltlab_endgetargs
;
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
;
2110 MELT_LOCATION("warmelt-macro.melt:6322:/ cppif.then");
2118 /*melt_increment_dbgcounter*/
2126 MELT_CHECK_SIGNAL();
2128 /*_#MELT_NEED_DBG__L1*/
2132 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
2134 0 /* no melt_need_dbg */
2135 #endif /*MELT_HAVE_DEBUG*/
2137 MELT_LOCATION("warmelt-macro.melt:6322:/ cond");
2139 if (/*_#MELT_NEED_DBG__L1*/ meltfnum
[0]) /*then*/
2146 /*_#MELT_CALLCOUNT__L2*/ meltfnum
[1] =
2147 /* for melt_callcount */
2148 #if MELT_HAVE_DEBUG && defined (meltcallcount)
2149 meltcallcount
/* melt_callcount debugging */
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");
2160 union meltparam_un argtab
[5];
2161 memset(&argtab
, 0, sizeof(argtab
));
2163 argtab
[0].meltbp_long
= /*_#MELT_CALLCOUNT__L2*/ meltfnum
[1];
2165 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
2167 argtab
[2].meltbp_long
= 6322;
2169 argtab
[3].meltbp_cstring
= "patexpand_or sexpr=";
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);
2177 meltfptr
[4] = /*_.MELT_DEBUG_FUN__V6*/ meltfptr
[5];;
2180 MELT_LOCATION("warmelt-macro.melt:6322:/ clear");
2181 /*clear*/ /*_#MELT_CALLCOUNT__L2*/
2184 /*clear*/ /*_.MELT_DEBUG_FUN__V6*/
2192 /*_._IF___V5*/ meltfptr
[4] = /*reallynil*/ NULL
;;
2197 MELT_LOCATION("warmelt-macro.melt:6322:/ locexp");
2208 /*clear*/ /*_#MELT_NEED_DBG__L1*/
2211 /*clear*/ /*_._IF___V5*/
2215 #else /*MELT_HAVE_DEBUG*/
2230 #endif /*MELT_HAVE_DEBUG*/
2234 MELT_LOCATION("warmelt-macro.melt:6323:/ cppif.then");
2240 MELT_CHECK_SIGNAL();
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");
2247 if (/*_#IS_A__L3*/ meltfnum
[1]) /*then*/
2250 /*_._IFELSE___V8*/ meltfptr
[4] = (/*nil*/NULL
);;
2254 MELT_LOCATION("warmelt-macro.melt:6323:/ cond.else");
2261 MELT_CHECK_SIGNAL();
2266 union meltparam_un argtab
[4];
2267 memset(&argtab
, 0, sizeof(argtab
));
2269 argtab
[0].meltbp_cstring
= "check sexpr";
2271 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
2273 argtab
[2].meltbp_long
= 6323;
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);
2281 meltfptr
[4] = /*_.MELT_ASSERT_FAILURE_FUN__V9*/ meltfptr
[8];;
2284 MELT_LOCATION("warmelt-macro.melt:6323:/ clear");
2285 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V9*/
2292 meltfptr
[5] = /*_._IFELSE___V8*/ meltfptr
[4];;
2295 MELT_LOCATION("warmelt-macro.melt:6323:/ clear");
2296 /*clear*/ /*_#IS_A__L3*/
2299 /*clear*/ /*_._IFELSE___V8*/
2303 #else /*MELT_HAVE_DEBUG*/
2305 /*_.IFCPP___V7*/ meltfptr
[5] = (/*nil*/NULL
);
2306 #endif /*MELT_HAVE_DEBUG*/
2310 MELT_LOCATION("warmelt-macro.melt:6324:/ cppif.then");
2316 MELT_CHECK_SIGNAL();
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");
2323 if (/*_#IS_A__L4*/ meltfnum
[0]) /*then*/
2326 /*_._IFELSE___V11*/ meltfptr
[4] = (/*nil*/NULL
);;
2330 MELT_LOCATION("warmelt-macro.melt:6324:/ cond.else");
2337 MELT_CHECK_SIGNAL();
2342 union meltparam_un argtab
[4];
2343 memset(&argtab
, 0, sizeof(argtab
));
2345 argtab
[0].meltbp_cstring
= "check env";
2347 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
2349 argtab
[2].meltbp_long
= 6324;
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);
2357 meltfptr
[4] = /*_.MELT_ASSERT_FAILURE_FUN__V12*/ meltfptr
[11];;
2360 MELT_LOCATION("warmelt-macro.melt:6324:/ clear");
2361 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V12*/
2368 meltfptr
[8] = /*_._IFELSE___V11*/ meltfptr
[4];;
2371 MELT_LOCATION("warmelt-macro.melt:6324:/ clear");
2372 /*clear*/ /*_#IS_A__L4*/
2375 /*clear*/ /*_._IFELSE___V11*/
2379 #else /*MELT_HAVE_DEBUG*/
2381 /*_.IFCPP___V10*/ meltfptr
[8] = (/*nil*/NULL
);
2382 #endif /*MELT_HAVE_DEBUG*/
2386 MELT_LOCATION("warmelt-macro.melt:6325:/ cppif.then");
2392 MELT_CHECK_SIGNAL();
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");
2399 if (/*_#IS_A__L5*/ meltfnum
[1]) /*then*/
2402 /*_._IFELSE___V14*/ meltfptr
[4] = (/*nil*/NULL
);;
2406 MELT_LOCATION("warmelt-macro.melt:6325:/ cond.else");
2413 MELT_CHECK_SIGNAL();
2418 union meltparam_un argtab
[4];
2419 memset(&argtab
, 0, sizeof(argtab
));
2421 argtab
[0].meltbp_cstring
= "check pctx";
2423 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
2425 argtab
[2].meltbp_long
= 6325;
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);
2433 meltfptr
[4] = /*_.MELT_ASSERT_FAILURE_FUN__V15*/ meltfptr
[14];;
2436 MELT_LOCATION("warmelt-macro.melt:6325:/ clear");
2437 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V15*/
2444 meltfptr
[11] = /*_._IFELSE___V14*/ meltfptr
[4];;
2447 MELT_LOCATION("warmelt-macro.melt:6325:/ clear");
2448 /*clear*/ /*_#IS_A__L5*/
2451 /*clear*/ /*_._IFELSE___V14*/
2455 #else /*MELT_HAVE_DEBUG*/
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");
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");
2478 meltfptr
[17] = slot
;
2481 /*_.LIST_FIRST__V19*/
2483 (melt_list_first((melt_ptr_t
)(/*_.CONT__V17*/ meltfptr
[4])));;
2487 (melt_pair_tail((melt_ptr_t
)(/*_.LIST_FIRST__V19*/ meltfptr
[18])));;
2489 MELT_CHECK_SIGNAL();
2491 MELT_LOCATION("warmelt-macro.melt:6330:/ apply");
2494 union meltparam_un argtab
[3];
2495 memset(&argtab
, 0, sizeof(argtab
));
2497 argtab
[0].meltbp_aptr
= (melt_ptr_t
*) &/*_.ENV__V3*/ meltfptr
[2];
2499 argtab
[1].meltbp_aptr
= (melt_ptr_t
*) &/*_.PCTX__V4*/ meltfptr
[3];
2501 argtab
[2].meltbp_aptr
= (melt_ptr_t
*) &/*_.LOC__V18*/ meltfptr
[17];
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");
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");
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");
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");
2534 melt_dbgtrace_written_object (/*_.INST__V23*/ meltfptr
[22], "newly made instance");
2537 meltfptr
[21] = /*_.INST__V23*/ meltfptr
[22];;
2539 MELT_CHECK_SIGNAL();
2541 MELT_LOCATION("warmelt-macro.melt:6335:/ quasiblock");
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*/
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
);
2565 MELT_CHECK_SIGNAL();
2569 ((1) + (/*_#IMIN__L7*/ meltfnum
[1]));;
2571 /*_.MAKE_INTEGERBOX__V26*/
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");
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");
2583 meltgc_touch(/*_.RES__V22*/ meltfptr
[21]);
2587 melt_dbgtrace_written_object (/*_.RES__V22*/ meltfptr
[21], "put-fields");
2592 MELT_LOCATION("warmelt-macro.melt:6341:/ cppif.then");
2600 /*melt_increment_dbgcounter*/
2608 MELT_CHECK_SIGNAL();
2610 /*_#MELT_NEED_DBG__L10*/
2614 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
2616 0 /* no melt_need_dbg */
2617 #endif /*MELT_HAVE_DEBUG*/
2619 MELT_LOCATION("warmelt-macro.melt:6341:/ cond");
2621 if (/*_#MELT_NEED_DBG__L10*/ meltfnum
[9]) /*then*/
2628 /*_#MELT_CALLCOUNT__L11*/ meltfnum
[10] =
2629 /* for melt_callcount */
2630 #if MELT_HAVE_DEBUG && defined (meltcallcount)
2631 meltcallcount
/* melt_callcount debugging */
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");
2642 union meltparam_un argtab
[5];
2643 memset(&argtab
, 0, sizeof(argtab
));
2645 argtab
[0].meltbp_long
= /*_#MELT_CALLCOUNT__L11*/ meltfnum
[10];
2647 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
2649 argtab
[2].meltbp_long
= 6341;
2651 argtab
[3].meltbp_cstring
= "patexpand_or res";
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);
2659 meltfptr
[26] = /*_.MELT_DEBUG_FUN__V28*/ meltfptr
[27];;
2662 MELT_LOCATION("warmelt-macro.melt:6341:/ clear");
2663 /*clear*/ /*_#MELT_CALLCOUNT__L11*/
2666 /*clear*/ /*_.MELT_DEBUG_FUN__V28*/
2674 /*_._IF___V27*/ meltfptr
[26] = /*reallynil*/ NULL
;;
2679 MELT_LOCATION("warmelt-macro.melt:6341:/ locexp");
2690 /*clear*/ /*_#MELT_NEED_DBG__L10*/
2693 /*clear*/ /*_._IF___V27*/
2697 #else /*MELT_HAVE_DEBUG*/
2712 #endif /*MELT_HAVE_DEBUG*/
2715 MELT_CHECK_SIGNAL();
2717 MELT_LOCATION("warmelt-macro.melt:6342:/ quasiblock");
2721 meltfptr
[0] = /*_.RES__V22*/ meltfptr
[21];;
2724 MELT_LOCATION("warmelt-macro.melt:6342:/ locexp");
2725 /*ochecknores compilobj_nrep_return*/
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*/
2737 goto meltlabend_rout
;
2739 MELT_CHECK_SIGNAL();
2742 meltfptr
[23] = /*_.RETURN___V29*/ meltfptr
[27];;
2744 MELT_LOCATION("warmelt-macro.melt:6335:/ clear");
2745 /*clear*/ /*_#plI__L9*/
2748 /*clear*/ /*_.MAKE_INTEGERBOX__V26*/
2751 /*clear*/ /*_.RETURN___V29*/
2755 /*clear*/ /*_#IMAX__L6*/
2758 /*clear*/ /*_#IMIN__L7*/
2761 /*clear*/ /*_#ISUM__L8*/
2764 meltfptr
[14] = /*_.MULTI___V24*/ meltfptr
[23];;
2766 MELT_LOCATION("warmelt-macro.melt:6326:/ clear");
2767 /*clear*/ /*_.CONT__V17*/
2770 /*clear*/ /*_.LOC__V18*/
2773 /*clear*/ /*_.LIST_FIRST__V19*/
2776 /*clear*/ /*_.CURPAIR__V20*/
2779 /*clear*/ /*_.ARGSP__V21*/
2782 /*clear*/ /*_.RES__V22*/
2785 /*clear*/ /*_.MULTI___V24*/
2788 MELT_CHECK_SIGNAL();
2790 MELT_LOCATION("warmelt-macro.melt:6321:/ quasiblock");
2794 meltfptr
[0] = /*_.LET___V16*/ meltfptr
[14];;
2797 MELT_LOCATION("warmelt-macro.melt:6321:/ locexp");
2798 /*ochecknores compilobj_nrep_return*/
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*/
2810 goto meltlabend_rout
;
2814 /*clear*/ /*_.IFCPP___V7*/
2817 /*clear*/ /*_.IFCPP___V10*/
2820 /*clear*/ /*_.IFCPP___V13*/
2823 /*clear*/ /*_.LET___V16*/
2828 goto 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
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
;
2851 static long melt_call_counter__
;
2852 long melt_thiscallcounter__ ATTRIBUTE_UNUSED
= ++ melt_call_counter__
;
2853 #undef meltcallcount
2854 #define meltcallcount melt_thiscallcounter__
2856 #undef meltcallcount
2857 #define meltcallcount 0L
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];
2872 void melt_mark_stuff (void)
2874 } /*end melt_mark_stuff*/
2875 virtual void melt_mark_ggc_data (void)
2877 melt_mark_values ();
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*/
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*/
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*/
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
);
2922 (void)meltfirstargp_
;
2923 (void)meltxargdescr_
;
2925 (void)meltxresdescr_
;
2930 MELT_LOCATION("warmelt-macro.melt:6358:/ getarg");
2932 meltfptr
[1] = (melt_ptr_t
) meltfirstargp_
;
2936 if (meltxargdescr_
[0] != MELTBPAR_PTR
) goto meltlab_endgetargs
;
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
);
2944 if (meltxargdescr_
[1] != MELTBPAR_PTR
) goto meltlab_endgetargs
;
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
);
2952 if (meltxargdescr_
[2] != MELTBPAR_PTR
) goto meltlab_endgetargs
;
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
;
2968 MELT_LOCATION("warmelt-macro.melt:6359:/ cppif.then");
2976 /*melt_increment_dbgcounter*/
2984 MELT_CHECK_SIGNAL();
2986 /*_#MELT_NEED_DBG__L1*/
2990 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
2992 0 /* no melt_need_dbg */
2993 #endif /*MELT_HAVE_DEBUG*/
2995 MELT_LOCATION("warmelt-macro.melt:6359:/ cond");
2997 if (/*_#MELT_NEED_DBG__L1*/ meltfnum
[0]) /*then*/
3004 /*_#MELT_CALLCOUNT__L2*/ meltfnum
[1] =
3005 /* for melt_callcount */
3006 #if MELT_HAVE_DEBUG && defined (meltcallcount)
3007 meltcallcount
/* melt_callcount debugging */
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");
3018 union meltparam_un argtab
[5];
3019 memset(&argtab
, 0, sizeof(argtab
));
3021 argtab
[0].meltbp_long
= /*_#MELT_CALLCOUNT__L2*/ meltfnum
[1];
3023 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
3025 argtab
[2].meltbp_long
= 6359;
3027 argtab
[3].meltbp_cstring
= "mexpand_reference sexpr=";
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);
3035 meltfptr
[5] = /*_.MELT_DEBUG_FUN__V7*/ meltfptr
[6];;
3038 MELT_LOCATION("warmelt-macro.melt:6359:/ clear");
3039 /*clear*/ /*_#MELT_CALLCOUNT__L2*/
3042 /*clear*/ /*_.MELT_DEBUG_FUN__V7*/
3050 /*_._IF___V6*/ meltfptr
[5] = /*reallynil*/ NULL
;;
3055 MELT_LOCATION("warmelt-macro.melt:6359:/ locexp");
3066 /*clear*/ /*_#MELT_NEED_DBG__L1*/
3069 /*clear*/ /*_._IF___V6*/
3073 #else /*MELT_HAVE_DEBUG*/
3088 #endif /*MELT_HAVE_DEBUG*/
3092 MELT_LOCATION("warmelt-macro.melt:6360:/ cppif.then");
3098 MELT_CHECK_SIGNAL();
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");
3105 if (/*_#IS_A__L3*/ meltfnum
[1]) /*then*/
3108 /*_._IFELSE___V9*/ meltfptr
[5] = (/*nil*/NULL
);;
3112 MELT_LOCATION("warmelt-macro.melt:6360:/ cond.else");
3119 MELT_CHECK_SIGNAL();
3124 union meltparam_un argtab
[4];
3125 memset(&argtab
, 0, sizeof(argtab
));
3127 argtab
[0].meltbp_cstring
= "check sexpr";
3129 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
3131 argtab
[2].meltbp_long
= 6360;
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);
3139 meltfptr
[5] = /*_.MELT_ASSERT_FAILURE_FUN__V10*/ meltfptr
[9];;
3142 MELT_LOCATION("warmelt-macro.melt:6360:/ clear");
3143 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V10*/
3150 meltfptr
[6] = /*_._IFELSE___V9*/ meltfptr
[5];;
3153 MELT_LOCATION("warmelt-macro.melt:6360:/ clear");
3154 /*clear*/ /*_#IS_A__L3*/
3157 /*clear*/ /*_._IFELSE___V9*/
3161 #else /*MELT_HAVE_DEBUG*/
3163 /*_.IFCPP___V8*/ meltfptr
[6] = (/*nil*/NULL
);
3164 #endif /*MELT_HAVE_DEBUG*/
3168 MELT_LOCATION("warmelt-macro.melt:6361:/ cppif.then");
3174 MELT_CHECK_SIGNAL();
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");
3181 if (/*_#IS_A__L4*/ meltfnum
[0]) /*then*/
3184 /*_._IFELSE___V12*/ meltfptr
[5] = (/*nil*/NULL
);;
3188 MELT_LOCATION("warmelt-macro.melt:6361:/ cond.else");
3195 MELT_CHECK_SIGNAL();
3200 union meltparam_un argtab
[4];
3201 memset(&argtab
, 0, sizeof(argtab
));
3203 argtab
[0].meltbp_cstring
= "check env";
3205 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
3207 argtab
[2].meltbp_long
= 6361;
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);
3215 meltfptr
[5] = /*_.MELT_ASSERT_FAILURE_FUN__V13*/ meltfptr
[12];;
3218 MELT_LOCATION("warmelt-macro.melt:6361:/ clear");
3219 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V13*/
3226 meltfptr
[9] = /*_._IFELSE___V12*/ meltfptr
[5];;
3229 MELT_LOCATION("warmelt-macro.melt:6361:/ clear");
3230 /*clear*/ /*_#IS_A__L4*/
3233 /*clear*/ /*_._IFELSE___V12*/
3237 #else /*MELT_HAVE_DEBUG*/
3239 /*_.IFCPP___V11*/ meltfptr
[9] = (/*nil*/NULL
);
3240 #endif /*MELT_HAVE_DEBUG*/
3243 MELT_CHECK_SIGNAL();
3248 (/*null*/(/*_.MEXPANDER__V4*/ meltfptr
[3]) == NULL
);;
3249 MELT_LOCATION("warmelt-macro.melt:6362:/ cond");
3251 if (/*_#NULL__L5*/ meltfnum
[1]) /*then*/
3259 /*_.MEXPANDER__V4*/ meltfptr
[3] = /*_.SETQ___V15*/ meltfptr
[5] = (/*!MACROEXPAND_1*/ meltfrout
->tabval
[4]);;
3261 meltfptr
[12] = /*_.SETQ___V15*/ meltfptr
[5];;
3264 MELT_LOCATION("warmelt-macro.melt:6362:/ clear");
3265 /*clear*/ /*_.SETQ___V15*/
3273 /*_._IF___V14*/ meltfptr
[12] = /*reallynil*/ NULL
;;
3278 MELT_LOCATION("warmelt-macro.melt:6363:/ cppif.then");
3284 MELT_CHECK_SIGNAL();
3288 (melt_magic_discr((melt_ptr_t
)(/*_.MODCTX__V5*/ meltfptr
[4])) == MELTOBMAG_OBJECT
);;
3289 MELT_LOCATION("warmelt-macro.melt:6363:/ cond");
3291 if (/*_#IS_OBJECT__L6*/ meltfnum
[0]) /*then*/
3294 /*_._IFELSE___V17*/ meltfptr
[16] = (/*nil*/NULL
);;
3298 MELT_LOCATION("warmelt-macro.melt:6363:/ cond.else");
3305 MELT_CHECK_SIGNAL();
3310 union meltparam_un argtab
[4];
3311 memset(&argtab
, 0, sizeof(argtab
));
3313 argtab
[0].meltbp_cstring
= "check modctx";
3315 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
3317 argtab
[2].meltbp_long
= 6363;
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);
3325 meltfptr
[16] = /*_.MELT_ASSERT_FAILURE_FUN__V18*/ meltfptr
[17];;
3328 MELT_LOCATION("warmelt-macro.melt:6363:/ clear");
3329 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V18*/
3336 meltfptr
[5] = /*_._IFELSE___V17*/ meltfptr
[16];;
3339 MELT_LOCATION("warmelt-macro.melt:6363:/ clear");
3340 /*clear*/ /*_#IS_OBJECT__L6*/
3343 /*clear*/ /*_._IFELSE___V17*/
3347 #else /*MELT_HAVE_DEBUG*/
3349 /*_.IFCPP___V16*/ meltfptr
[5] = (/*nil*/NULL
);
3350 #endif /*MELT_HAVE_DEBUG*/
3354 MELT_LOCATION("warmelt-macro.melt:6364:/ cppif.then");
3360 MELT_CHECK_SIGNAL();
3362 MELT_LOCATION("warmelt-macro.melt:6366:/ cond");
3365 /*ifisa*/ melt_is_instance_of((melt_ptr_t
)((/*!CLASS_REFERENCE*/ meltfrout
->tabval
[5])),
3366 (melt_ptr_t
)((/*!CLASS_CLASS*/ meltfrout
->tabval
[6])))
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
;
3383 /*_.CLASS_FIELDS__V20*/ meltfptr
[16] = /*reallynil*/ NULL
;;
3387 /*_#MULTIPLE_LENGTH__L7*/
3389 (melt_multiple_length((melt_ptr_t
)(/*_.CLASS_FIELDS__V20*/ meltfptr
[16])));;
3393 ((1) == (/*_#MULTIPLE_LENGTH__L7*/ meltfnum
[0]));;
3394 MELT_LOCATION("warmelt-macro.melt:6364:/ cond");
3396 if (/*_#eqeqI__L8*/ meltfnum
[7]) /*then*/
3399 /*_._IFELSE___V21*/ meltfptr
[20] = (/*nil*/NULL
);;
3403 MELT_LOCATION("warmelt-macro.melt:6364:/ cond.else");
3410 MELT_CHECK_SIGNAL();
3415 union meltparam_un argtab
[4];
3416 memset(&argtab
, 0, sizeof(argtab
));
3418 argtab
[0].meltbp_cstring
= "check class_reference has one field";
3420 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
3422 argtab
[2].meltbp_long
= 6364;
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);
3430 meltfptr
[20] = /*_.MELT_ASSERT_FAILURE_FUN__V22*/ meltfptr
[21];;
3433 MELT_LOCATION("warmelt-macro.melt:6364:/ clear");
3434 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V22*/
3441 meltfptr
[17] = /*_._IFELSE___V21*/ meltfptr
[20];;
3444 MELT_LOCATION("warmelt-macro.melt:6364:/ clear");
3445 /*clear*/ /*_.CLASS_FIELDS__V20*/
3448 /*clear*/ /*_#MULTIPLE_LENGTH__L7*/
3451 /*clear*/ /*_#eqeqI__L8*/
3454 /*clear*/ /*_._IFELSE___V21*/
3458 #else /*MELT_HAVE_DEBUG*/
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");
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");
3481 meltfptr
[20] = slot
;
3485 MELT_CHECK_SIGNAL();
3487 MELT_LOCATION("warmelt-macro.melt:6372:/ apply");
3490 union meltparam_un argtab
[3];
3491 memset(&argtab
, 0, sizeof(argtab
));
3493 argtab
[0].meltbp_aptr
= (melt_ptr_t
*) &/*_.ENV__V3*/ meltfptr
[2];
3495 argtab
[1].meltbp_aptr
= (melt_ptr_t
*) &/*_.MEXPANDER__V4*/ meltfptr
[3];
3497 argtab
[2].meltbp_aptr
= (melt_ptr_t
*) &/*_.MODCTX__V5*/ meltfptr
[4];
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);
3504 (melt_multiple_length((melt_ptr_t
)(/*_.XARGTUP__V26*/ meltfptr
[25])));;
3508 (melt_multiple_nth((melt_ptr_t
)(/*_.XARGTUP__V26*/ meltfptr
[25]), (0)));;
3510 MELT_CHECK_SIGNAL();
3512 MELT_LOCATION("warmelt-macro.melt:6375:/ quasiblock");
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");
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");
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");
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");
3547 union meltparam_un argtab
[1];
3548 memset(&argtab
, 0, sizeof(argtab
));
3550 argtab
[0].meltbp_aptr
= (melt_ptr_t
*) &(/*!konst_10_CLASS_REFERENCE*/ meltfrout
->tabval
[10]);
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");
3561 union meltparam_un argtab
[6];
3562 memset(&argtab
, 0, sizeof(argtab
));
3564 argtab
[0].meltbp_aptr
= (melt_ptr_t
*) &/*_.LOC__V25*/ meltfptr
[20];
3566 argtab
[1].meltbp_aptr
= (melt_ptr_t
*) &(/*!konst_14_REFERENCED_VALUE*/ meltfrout
->tabval
[14]);
3568 argtab
[2].meltbp_aptr
= (melt_ptr_t
*) &/*_.ARG1__V27*/ meltfptr
[26];
3570 argtab
[3].meltbp_aptr
= (melt_ptr_t
*) &/*_.ENV__V3*/ meltfptr
[2];
3572 argtab
[4].meltbp_aptr
= (melt_ptr_t
*) &/*_.MEXPANDER__V4*/ meltfptr
[3];
3574 argtab
[5].meltbp_aptr
= (melt_ptr_t
*) &/*_.MODCTX__V5*/ meltfptr
[4];
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");
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*/
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;
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]);
3606 meltgc_touch(/*_.TUPLREC___V33*/ meltfptr
[32]);
3609 meltfptr
[31] = /*_.TUPLREC___V33*/ meltfptr
[32];;
3612 MELT_LOCATION("warmelt-macro.melt:6386:/ clear");
3613 /*clear*/ /*_.TUPLREC___V33*/
3616 /*clear*/ /*_.TUPLREC___V33*/
3618 } /*end multiallocblock*/
3620 MELT_LOCATION("warmelt-macro.melt:6381:/ quasiblock");
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");
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");
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");
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");
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");
3655 melt_dbgtrace_written_object (/*_.INST__V35*/ meltfptr
[34], "newly made instance");
3658 meltfptr
[32] = /*_.INST__V35*/ meltfptr
[34];;
3660 MELT_CHECK_SIGNAL();
3665 ((/*_#NBARG__L9*/ meltfnum
[0]) != (1));;
3666 MELT_LOCATION("warmelt-macro.melt:6388:/ cond");
3668 if (/*_#exeqI__L10*/ meltfnum
[7]) /*then*/
3677 MELT_LOCATION("warmelt-macro.melt:6390:/ locexp");
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");
3686 meltfptr
[0] = /*reallynil*/ NULL
;;
3689 MELT_LOCATION("warmelt-macro.melt:6391:/ locexp");
3690 /*ochecknores compilobj_nrep_return*/
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*/
3702 goto meltlabend_rout
;
3703 MELT_LOCATION("warmelt-macro.melt:6389:/ quasiblock");
3707 meltfptr
[37] = /*_.RETURN___V37*/ meltfptr
[36];;
3710 meltfptr
[35] = /*_.PROGN___V38*/ meltfptr
[37];;
3713 MELT_LOCATION("warmelt-macro.melt:6388:/ clear");
3714 /*clear*/ /*_.RETURN___V37*/
3717 /*clear*/ /*_.PROGN___V38*/
3725 /*_._IF___V36*/ meltfptr
[35] = /*reallynil*/ NULL
;;
3729 MELT_CHECK_SIGNAL();
3734 (/*null*/(/*_.CLABIND__V30*/ meltfptr
[29]) == NULL
);;
3735 MELT_LOCATION("warmelt-macro.melt:6394:/ cond");
3737 if (/*_#NULL__L11*/ meltfnum
[10]) /*then*/
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);
3757 MELT_LOCATION("warmelt-macro.melt:6397:/ cppif.then");
3765 /*melt_increment_dbgcounter*/
3773 MELT_CHECK_SIGNAL();
3775 /*_#MELT_NEED_DBG__L12*/
3779 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
3781 0 /* no melt_need_dbg */
3782 #endif /*MELT_HAVE_DEBUG*/
3784 MELT_LOCATION("warmelt-macro.melt:6397:/ cond");
3786 if (/*_#MELT_NEED_DBG__L12*/ meltfnum
[11]) /*then*/
3793 /*_#MELT_CALLCOUNT__L13*/ meltfnum
[12] =
3794 /* for melt_callcount */
3795 #if MELT_HAVE_DEBUG && defined (meltcallcount)
3796 meltcallcount
/* melt_callcount debugging */
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");
3807 union meltparam_un argtab
[5];
3808 memset(&argtab
, 0, sizeof(argtab
));
3810 argtab
[0].meltbp_long
= /*_#MELT_CALLCOUNT__L13*/ meltfnum
[12];
3812 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
3814 argtab
[2].meltbp_long
= 6397;
3816 argtab
[3].meltbp_cstring
= "mexpand_reference returns sinst";
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);
3824 meltfptr
[36] = /*_.MELT_DEBUG_FUN__V40*/ meltfptr
[37];;
3827 MELT_LOCATION("warmelt-macro.melt:6397:/ clear");
3828 /*clear*/ /*_#MELT_CALLCOUNT__L13*/
3831 /*clear*/ /*_.MELT_DEBUG_FUN__V40*/
3839 /*_._IF___V39*/ meltfptr
[36] = /*reallynil*/ NULL
;;
3844 MELT_LOCATION("warmelt-macro.melt:6397:/ locexp");
3855 /*clear*/ /*_#MELT_NEED_DBG__L12*/
3858 /*clear*/ /*_._IF___V39*/
3862 #else /*MELT_HAVE_DEBUG*/
3877 #endif /*MELT_HAVE_DEBUG*/
3880 MELT_CHECK_SIGNAL();
3882 MELT_LOCATION("warmelt-macro.melt:6398:/ quasiblock");
3886 meltfptr
[0] = /*_.SINST__V34*/ meltfptr
[32];;
3889 MELT_LOCATION("warmelt-macro.melt:6398:/ locexp");
3890 /*ochecknores compilobj_nrep_return*/
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*/
3902 goto meltlabend_rout
;
3904 meltfptr
[21] = /*_.RETURN___V41*/ meltfptr
[37];;
3906 MELT_LOCATION("warmelt-macro.melt:6369:/ clear");
3907 /*clear*/ /*_.CONT__V24*/
3910 /*clear*/ /*_.LOC__V25*/
3913 /*clear*/ /*_.XARGTUP__V26*/
3916 /*clear*/ /*_#NBARG__L9*/
3919 /*clear*/ /*_.ARG1__V27*/
3922 /*clear*/ /*_.SPREDCLASSCONT__V28*/
3925 /*clear*/ /*_.CLABIND__V30*/
3928 /*clear*/ /*_.FLDA__V31*/
3931 /*clear*/ /*_.TUPLE___V32*/
3934 /*clear*/ /*_.SINST__V34*/
3937 /*clear*/ /*_#exeqI__L10*/
3940 /*clear*/ /*_._IF___V36*/
3943 /*clear*/ /*_#NULL__L11*/
3946 /*clear*/ /*_.RETURN___V41*/
3949 MELT_CHECK_SIGNAL();
3951 MELT_LOCATION("warmelt-macro.melt:6358:/ quasiblock");
3955 meltfptr
[0] = /*_.LET___V23*/ meltfptr
[21];;
3958 MELT_LOCATION("warmelt-macro.melt:6358:/ locexp");
3959 /*ochecknores compilobj_nrep_return*/
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*/
3971 goto meltlabend_rout
;
3975 /*clear*/ /*_.IFCPP___V8*/
3978 /*clear*/ /*_.IFCPP___V11*/
3981 /*clear*/ /*_#NULL__L5*/
3984 /*clear*/ /*_._IF___V14*/
3987 /*clear*/ /*_.IFCPP___V16*/
3990 /*clear*/ /*_.IFCPP___V19*/
3993 /*clear*/ /*_.LET___V23*/
3998 goto 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
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
;
4021 static long melt_call_counter__
;
4022 long melt_thiscallcounter__ ATTRIBUTE_UNUSED
= ++ melt_call_counter__
;
4023 #undef meltcallcount
4024 #define meltcallcount melt_thiscallcounter__
4026 #undef meltcallcount
4027 #define meltcallcount 0L
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];
4042 void melt_mark_stuff (void)
4044 } /*end melt_mark_stuff*/
4045 virtual void melt_mark_ggc_data (void)
4047 melt_mark_values ();
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*/
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*/
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*/
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
);
4092 (void)meltfirstargp_
;
4093 (void)meltxargdescr_
;
4095 (void)meltxresdescr_
;
4100 MELT_LOCATION("warmelt-macro.melt:6402:/ getarg");
4102 meltfptr
[1] = (melt_ptr_t
) meltfirstargp_
;
4106 if (meltxargdescr_
[0] != MELTBPAR_PTR
) goto meltlab_endgetargs
;
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
);
4114 if (meltxargdescr_
[1] != MELTBPAR_PTR
) goto meltlab_endgetargs
;
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
;
4130 MELT_LOCATION("warmelt-macro.melt:6403:/ cppif.then");
4138 /*melt_increment_dbgcounter*/
4146 MELT_CHECK_SIGNAL();
4148 /*_#MELT_NEED_DBG__L1*/
4152 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
4154 0 /* no melt_need_dbg */
4155 #endif /*MELT_HAVE_DEBUG*/
4157 MELT_LOCATION("warmelt-macro.melt:6403:/ cond");
4159 if (/*_#MELT_NEED_DBG__L1*/ meltfnum
[0]) /*then*/
4166 /*_#MELT_CALLCOUNT__L2*/ meltfnum
[1] =
4167 /* for melt_callcount */
4168 #if MELT_HAVE_DEBUG && defined (meltcallcount)
4169 meltcallcount
/* melt_callcount debugging */
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");
4180 union meltparam_un argtab
[5];
4181 memset(&argtab
, 0, sizeof(argtab
));
4183 argtab
[0].meltbp_long
= /*_#MELT_CALLCOUNT__L2*/ meltfnum
[1];
4185 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
4187 argtab
[2].meltbp_long
= 6403;
4189 argtab
[3].meltbp_cstring
= "patexpand_reference sexpr=";
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);
4197 meltfptr
[4] = /*_.MELT_DEBUG_FUN__V6*/ meltfptr
[5];;
4200 MELT_LOCATION("warmelt-macro.melt:6403:/ clear");
4201 /*clear*/ /*_#MELT_CALLCOUNT__L2*/
4204 /*clear*/ /*_.MELT_DEBUG_FUN__V6*/
4212 /*_._IF___V5*/ meltfptr
[4] = /*reallynil*/ NULL
;;
4217 MELT_LOCATION("warmelt-macro.melt:6403:/ locexp");
4228 /*clear*/ /*_#MELT_NEED_DBG__L1*/
4231 /*clear*/ /*_._IF___V5*/
4235 #else /*MELT_HAVE_DEBUG*/
4250 #endif /*MELT_HAVE_DEBUG*/
4254 MELT_LOCATION("warmelt-macro.melt:6404:/ cppif.then");
4260 MELT_CHECK_SIGNAL();
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");
4267 if (/*_#IS_A__L3*/ meltfnum
[1]) /*then*/
4270 /*_._IFELSE___V8*/ meltfptr
[4] = (/*nil*/NULL
);;
4274 MELT_LOCATION("warmelt-macro.melt:6404:/ cond.else");
4281 MELT_CHECK_SIGNAL();
4286 union meltparam_un argtab
[4];
4287 memset(&argtab
, 0, sizeof(argtab
));
4289 argtab
[0].meltbp_cstring
= "check sexpr";
4291 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
4293 argtab
[2].meltbp_long
= 6404;
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);
4301 meltfptr
[4] = /*_.MELT_ASSERT_FAILURE_FUN__V9*/ meltfptr
[8];;
4304 MELT_LOCATION("warmelt-macro.melt:6404:/ clear");
4305 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V9*/
4312 meltfptr
[5] = /*_._IFELSE___V8*/ meltfptr
[4];;
4315 MELT_LOCATION("warmelt-macro.melt:6404:/ clear");
4316 /*clear*/ /*_#IS_A__L3*/
4319 /*clear*/ /*_._IFELSE___V8*/
4323 #else /*MELT_HAVE_DEBUG*/
4325 /*_.IFCPP___V7*/ meltfptr
[5] = (/*nil*/NULL
);
4326 #endif /*MELT_HAVE_DEBUG*/
4330 MELT_LOCATION("warmelt-macro.melt:6405:/ cppif.then");
4336 MELT_CHECK_SIGNAL();
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");
4343 if (/*_#IS_A__L4*/ meltfnum
[0]) /*then*/
4346 /*_._IFELSE___V11*/ meltfptr
[4] = (/*nil*/NULL
);;
4350 MELT_LOCATION("warmelt-macro.melt:6405:/ cond.else");
4357 MELT_CHECK_SIGNAL();
4362 union meltparam_un argtab
[4];
4363 memset(&argtab
, 0, sizeof(argtab
));
4365 argtab
[0].meltbp_cstring
= "check env";
4367 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
4369 argtab
[2].meltbp_long
= 6405;
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);
4377 meltfptr
[4] = /*_.MELT_ASSERT_FAILURE_FUN__V12*/ meltfptr
[11];;
4380 MELT_LOCATION("warmelt-macro.melt:6405:/ clear");
4381 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V12*/
4388 meltfptr
[8] = /*_._IFELSE___V11*/ meltfptr
[4];;
4391 MELT_LOCATION("warmelt-macro.melt:6405:/ clear");
4392 /*clear*/ /*_#IS_A__L4*/
4395 /*clear*/ /*_._IFELSE___V11*/
4399 #else /*MELT_HAVE_DEBUG*/
4401 /*_.IFCPP___V10*/ meltfptr
[8] = (/*nil*/NULL
);
4402 #endif /*MELT_HAVE_DEBUG*/
4406 MELT_LOCATION("warmelt-macro.melt:6406:/ cppif.then");
4412 MELT_CHECK_SIGNAL();
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");
4419 if (/*_#IS_A__L5*/ meltfnum
[1]) /*then*/
4422 /*_._IFELSE___V14*/ meltfptr
[4] = (/*nil*/NULL
);;
4426 MELT_LOCATION("warmelt-macro.melt:6406:/ cond.else");
4433 MELT_CHECK_SIGNAL();
4438 union meltparam_un argtab
[4];
4439 memset(&argtab
, 0, sizeof(argtab
));
4441 argtab
[0].meltbp_cstring
= "check pctx";
4443 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
4445 argtab
[2].meltbp_long
= 6406;
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);
4453 meltfptr
[4] = /*_.MELT_ASSERT_FAILURE_FUN__V15*/ meltfptr
[14];;
4456 MELT_LOCATION("warmelt-macro.melt:6406:/ clear");
4457 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V15*/
4464 meltfptr
[11] = /*_._IFELSE___V14*/ meltfptr
[4];;
4467 MELT_LOCATION("warmelt-macro.melt:6406:/ clear");
4468 /*clear*/ /*_#IS_A__L5*/
4471 /*clear*/ /*_._IFELSE___V14*/
4475 #else /*MELT_HAVE_DEBUG*/
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");
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");
4498 meltfptr
[17] = slot
;
4501 /*_.LIST_FIRST__V19*/
4503 (melt_list_first((melt_ptr_t
)(/*_.CONT__V17*/ meltfptr
[4])));;
4507 (melt_pair_tail((melt_ptr_t
)(/*_.LIST_FIRST__V19*/ meltfptr
[18])));;
4509 MELT_CHECK_SIGNAL();
4511 MELT_LOCATION("warmelt-macro.melt:6411:/ apply");
4514 union meltparam_un argtab
[3];
4515 memset(&argtab
, 0, sizeof(argtab
));
4517 argtab
[0].meltbp_aptr
= (melt_ptr_t
*) &/*_.ENV__V3*/ meltfptr
[2];
4519 argtab
[1].meltbp_aptr
= (melt_ptr_t
*) &/*_.PCTX__V4*/ meltfptr
[3];
4521 argtab
[2].meltbp_aptr
= (melt_ptr_t
*) &/*_.LOC__V18*/ meltfptr
[17];
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);
4528 (melt_multiple_nth((melt_ptr_t
)(/*_.ARGSP__V21*/ meltfptr
[20]), (0)));;
4530 MELT_CHECK_SIGNAL();
4532 MELT_LOCATION("warmelt-macro.melt:6413:/ apply");
4535 union meltparam_un argtab
[5];
4536 memset(&argtab
, 0, sizeof(argtab
));
4538 argtab
[0].meltbp_aptr
= (melt_ptr_t
*) &(/*!CLASS_REFERENCE*/ meltfrout
->tabval
[8]);
4540 argtab
[1].meltbp_aptr
= (melt_ptr_t
*) &/*_.ARG1__V22*/ meltfptr
[21];
4542 argtab
[2].meltbp_aptr
= (melt_ptr_t
*) &/*_.ENV__V3*/ meltfptr
[2];
4544 argtab
[3].meltbp_aptr
= (melt_ptr_t
*) &/*_.PCTX__V4*/ meltfptr
[3];
4546 argtab
[4].meltbp_aptr
= (melt_ptr_t
*) &/*_.LOC__V18*/ meltfptr
[17];
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");
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*/
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;
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]);
4578 meltgc_touch(/*_.TUPLREC___V25*/ meltfptr
[24]);
4581 meltfptr
[23] = /*_.TUPLREC___V25*/ meltfptr
[24];;
4584 MELT_LOCATION("warmelt-macro.melt:6418:/ clear");
4585 /*clear*/ /*_.TUPLREC___V25*/
4588 /*clear*/ /*_.TUPLREC___V25*/
4590 } /*end multiallocblock*/
4592 MELT_LOCATION("warmelt-macro.melt:6414:/ quasiblock");
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");
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");
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");
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");
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");
4627 melt_dbgtrace_written_object (/*_.INST__V27*/ meltfptr
[26], "newly made instance");
4630 meltfptr
[24] = /*_.INST__V27*/ meltfptr
[26];;
4632 MELT_CHECK_SIGNAL();
4635 /*_#MULTIPLE_LENGTH__L6*/
4637 (melt_multiple_length((melt_ptr_t
)(/*_.ARGSP__V21*/ meltfptr
[20])));;
4641 ((/*_#MULTIPLE_LENGTH__L6*/ meltfnum
[0]) != (1));;
4642 MELT_LOCATION("warmelt-macro.melt:6420:/ cond");
4644 if (/*_#exeqI__L7*/ meltfnum
[1]) /*then*/
4653 MELT_LOCATION("warmelt-macro.melt:6422:/ locexp");
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");
4662 meltfptr
[0] = /*reallynil*/ NULL
;;
4665 MELT_LOCATION("warmelt-macro.melt:6423:/ locexp");
4666 /*ochecknores compilobj_nrep_return*/
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*/
4678 goto meltlabend_rout
;
4679 MELT_LOCATION("warmelt-macro.melt:6421:/ quasiblock");
4683 meltfptr
[29] = /*_.RETURN___V29*/ meltfptr
[28];;
4686 meltfptr
[27] = /*_.PROGN___V30*/ meltfptr
[29];;
4689 MELT_LOCATION("warmelt-macro.melt:6420:/ clear");
4690 /*clear*/ /*_.RETURN___V29*/
4693 /*clear*/ /*_.PROGN___V30*/
4701 /*_._IF___V28*/ meltfptr
[27] = /*reallynil*/ NULL
;;
4706 MELT_LOCATION("warmelt-macro.melt:6424:/ cppif.then");
4714 /*melt_increment_dbgcounter*/
4722 MELT_CHECK_SIGNAL();
4724 /*_#MELT_NEED_DBG__L8*/
4728 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
4730 0 /* no melt_need_dbg */
4731 #endif /*MELT_HAVE_DEBUG*/
4733 MELT_LOCATION("warmelt-macro.melt:6424:/ cond");
4735 if (/*_#MELT_NEED_DBG__L8*/ meltfnum
[7]) /*then*/
4742 /*_#MELT_CALLCOUNT__L9*/ meltfnum
[8] =
4743 /* for melt_callcount */
4744 #if MELT_HAVE_DEBUG && defined (meltcallcount)
4745 meltcallcount
/* melt_callcount debugging */
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");
4756 union meltparam_un argtab
[5];
4757 memset(&argtab
, 0, sizeof(argtab
));
4759 argtab
[0].meltbp_long
= /*_#MELT_CALLCOUNT__L9*/ meltfnum
[8];
4761 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
4763 argtab
[2].meltbp_long
= 6424;
4765 argtab
[3].meltbp_cstring
= "patexpand_reference res";
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);
4773 meltfptr
[28] = /*_.MELT_DEBUG_FUN__V32*/ meltfptr
[29];;
4776 MELT_LOCATION("warmelt-macro.melt:6424:/ clear");
4777 /*clear*/ /*_#MELT_CALLCOUNT__L9*/
4780 /*clear*/ /*_.MELT_DEBUG_FUN__V32*/
4788 /*_._IF___V31*/ meltfptr
[28] = /*reallynil*/ NULL
;;
4793 MELT_LOCATION("warmelt-macro.melt:6424:/ locexp");
4804 /*clear*/ /*_#MELT_NEED_DBG__L8*/
4807 /*clear*/ /*_._IF___V31*/
4811 #else /*MELT_HAVE_DEBUG*/
4826 #endif /*MELT_HAVE_DEBUG*/
4829 MELT_CHECK_SIGNAL();
4831 MELT_LOCATION("warmelt-macro.melt:6425:/ quasiblock");
4835 meltfptr
[0] = /*_.RES__V26*/ meltfptr
[24];;
4838 MELT_LOCATION("warmelt-macro.melt:6425:/ locexp");
4839 /*ochecknores compilobj_nrep_return*/
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*/
4851 goto meltlabend_rout
;
4853 meltfptr
[14] = /*_.RETURN___V33*/ meltfptr
[29];;
4855 MELT_LOCATION("warmelt-macro.melt:6407:/ clear");
4856 /*clear*/ /*_.CONT__V17*/
4859 /*clear*/ /*_.LOC__V18*/
4862 /*clear*/ /*_.LIST_FIRST__V19*/
4865 /*clear*/ /*_.CURPAIR__V20*/
4868 /*clear*/ /*_.ARGSP__V21*/
4871 /*clear*/ /*_.ARG1__V22*/
4874 /*clear*/ /*_.FLDP__V23*/
4877 /*clear*/ /*_.TUPLE___V24*/
4880 /*clear*/ /*_.RES__V26*/
4883 /*clear*/ /*_#MULTIPLE_LENGTH__L6*/
4886 /*clear*/ /*_#exeqI__L7*/
4889 /*clear*/ /*_._IF___V28*/
4892 /*clear*/ /*_.RETURN___V33*/
4895 MELT_CHECK_SIGNAL();
4897 MELT_LOCATION("warmelt-macro.melt:6402:/ quasiblock");
4901 meltfptr
[0] = /*_.LET___V16*/ meltfptr
[14];;
4904 MELT_LOCATION("warmelt-macro.melt:6402:/ locexp");
4905 /*ochecknores compilobj_nrep_return*/
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*/
4917 goto meltlabend_rout
;
4921 /*clear*/ /*_.IFCPP___V7*/
4924 /*clear*/ /*_.IFCPP___V10*/
4927 /*clear*/ /*_.IFCPP___V13*/
4930 /*clear*/ /*_.LET___V16*/
4935 goto 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
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
;
4958 static long melt_call_counter__
;
4959 long melt_thiscallcounter__ ATTRIBUTE_UNUSED
= ++ melt_call_counter__
;
4960 #undef meltcallcount
4961 #define meltcallcount melt_thiscallcounter__
4963 #undef meltcallcount
4964 #define meltcallcount 0L
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];
4979 void melt_mark_stuff (void)
4981 } /*end melt_mark_stuff*/
4982 virtual void melt_mark_ggc_data (void)
4984 melt_mark_values ();
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*/
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*/
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*/
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
);
5029 (void)meltfirstargp_
;
5030 (void)meltxargdescr_
;
5032 (void)meltxresdescr_
;
5037 MELT_LOCATION("warmelt-macro.melt:6442:/ getarg");
5039 meltfptr
[1] = (melt_ptr_t
) meltfirstargp_
;
5043 if (meltxargdescr_
[0] != MELTBPAR_PTR
) goto meltlab_endgetargs
;
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
);
5051 if (meltxargdescr_
[1] != MELTBPAR_PTR
) goto meltlab_endgetargs
;
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
);
5059 if (meltxargdescr_
[2] != MELTBPAR_PTR
) goto meltlab_endgetargs
;
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
;
5075 MELT_LOCATION("warmelt-macro.melt:6443:/ cppif.then");
5083 /*melt_increment_dbgcounter*/
5091 MELT_CHECK_SIGNAL();
5093 /*_#MELT_NEED_DBG__L1*/
5097 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
5099 0 /* no melt_need_dbg */
5100 #endif /*MELT_HAVE_DEBUG*/
5102 MELT_LOCATION("warmelt-macro.melt:6443:/ cond");
5104 if (/*_#MELT_NEED_DBG__L1*/ meltfnum
[0]) /*then*/
5111 /*_#MELT_CALLCOUNT__L2*/ meltfnum
[1] =
5112 /* for melt_callcount */
5113 #if MELT_HAVE_DEBUG && defined (meltcallcount)
5114 meltcallcount
/* melt_callcount debugging */
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");
5125 union meltparam_un argtab
[5];
5126 memset(&argtab
, 0, sizeof(argtab
));
5128 argtab
[0].meltbp_long
= /*_#MELT_CALLCOUNT__L2*/ meltfnum
[1];
5130 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
5132 argtab
[2].meltbp_long
= 6443;
5134 argtab
[3].meltbp_cstring
= "mexpand_deref sexpr";
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);
5142 meltfptr
[5] = /*_.MELT_DEBUG_FUN__V7*/ meltfptr
[6];;
5145 MELT_LOCATION("warmelt-macro.melt:6443:/ clear");
5146 /*clear*/ /*_#MELT_CALLCOUNT__L2*/
5149 /*clear*/ /*_.MELT_DEBUG_FUN__V7*/
5157 /*_._IF___V6*/ meltfptr
[5] = /*reallynil*/ NULL
;;
5162 MELT_LOCATION("warmelt-macro.melt:6443:/ locexp");
5173 /*clear*/ /*_#MELT_NEED_DBG__L1*/
5176 /*clear*/ /*_._IF___V6*/
5180 #else /*MELT_HAVE_DEBUG*/
5195 #endif /*MELT_HAVE_DEBUG*/
5199 MELT_LOCATION("warmelt-macro.melt:6444:/ cppif.then");
5205 MELT_CHECK_SIGNAL();
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");
5212 if (/*_#IS_A__L3*/ meltfnum
[1]) /*then*/
5215 /*_._IFELSE___V9*/ meltfptr
[5] = (/*nil*/NULL
);;
5219 MELT_LOCATION("warmelt-macro.melt:6444:/ cond.else");
5226 MELT_CHECK_SIGNAL();
5231 union meltparam_un argtab
[4];
5232 memset(&argtab
, 0, sizeof(argtab
));
5234 argtab
[0].meltbp_cstring
= "check sexpr";
5236 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
5238 argtab
[2].meltbp_long
= 6444;
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);
5246 meltfptr
[5] = /*_.MELT_ASSERT_FAILURE_FUN__V10*/ meltfptr
[9];;
5249 MELT_LOCATION("warmelt-macro.melt:6444:/ clear");
5250 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V10*/
5257 meltfptr
[6] = /*_._IFELSE___V9*/ meltfptr
[5];;
5260 MELT_LOCATION("warmelt-macro.melt:6444:/ clear");
5261 /*clear*/ /*_#IS_A__L3*/
5264 /*clear*/ /*_._IFELSE___V9*/
5268 #else /*MELT_HAVE_DEBUG*/
5270 /*_.IFCPP___V8*/ meltfptr
[6] = (/*nil*/NULL
);
5271 #endif /*MELT_HAVE_DEBUG*/
5275 MELT_LOCATION("warmelt-macro.melt:6445:/ cppif.then");
5281 MELT_CHECK_SIGNAL();
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");
5288 if (/*_#IS_A__L4*/ meltfnum
[0]) /*then*/
5291 /*_._IFELSE___V12*/ meltfptr
[5] = (/*nil*/NULL
);;
5295 MELT_LOCATION("warmelt-macro.melt:6445:/ cond.else");
5302 MELT_CHECK_SIGNAL();
5307 union meltparam_un argtab
[4];
5308 memset(&argtab
, 0, sizeof(argtab
));
5310 argtab
[0].meltbp_cstring
= "check env";
5312 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
5314 argtab
[2].meltbp_long
= 6445;
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);
5322 meltfptr
[5] = /*_.MELT_ASSERT_FAILURE_FUN__V13*/ meltfptr
[12];;
5325 MELT_LOCATION("warmelt-macro.melt:6445:/ clear");
5326 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V13*/
5333 meltfptr
[9] = /*_._IFELSE___V12*/ meltfptr
[5];;
5336 MELT_LOCATION("warmelt-macro.melt:6445:/ clear");
5337 /*clear*/ /*_#IS_A__L4*/
5340 /*clear*/ /*_._IFELSE___V12*/
5344 #else /*MELT_HAVE_DEBUG*/
5346 /*_.IFCPP___V11*/ meltfptr
[9] = (/*nil*/NULL
);
5347 #endif /*MELT_HAVE_DEBUG*/
5351 MELT_LOCATION("warmelt-macro.melt:6446:/ cppif.then");
5357 MELT_CHECK_SIGNAL();
5361 (melt_magic_discr((melt_ptr_t
)(/*_.MODCTX__V5*/ meltfptr
[4])) == MELTOBMAG_OBJECT
);;
5362 MELT_LOCATION("warmelt-macro.melt:6446:/ cond");
5364 if (/*_#IS_OBJECT__L5*/ meltfnum
[1]) /*then*/
5367 /*_._IFELSE___V15*/ meltfptr
[5] = (/*nil*/NULL
);;
5371 MELT_LOCATION("warmelt-macro.melt:6446:/ cond.else");
5378 MELT_CHECK_SIGNAL();
5383 union meltparam_un argtab
[4];
5384 memset(&argtab
, 0, sizeof(argtab
));
5386 argtab
[0].meltbp_cstring
= "check modctx";
5388 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
5390 argtab
[2].meltbp_long
= 6446;
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);
5398 meltfptr
[5] = /*_.MELT_ASSERT_FAILURE_FUN__V16*/ meltfptr
[15];;
5401 MELT_LOCATION("warmelt-macro.melt:6446:/ clear");
5402 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V16*/
5409 meltfptr
[12] = /*_._IFELSE___V15*/ meltfptr
[5];;
5412 MELT_LOCATION("warmelt-macro.melt:6446:/ clear");
5413 /*clear*/ /*_#IS_OBJECT__L5*/
5416 /*clear*/ /*_._IFELSE___V15*/
5420 #else /*MELT_HAVE_DEBUG*/
5422 /*_.IFCPP___V14*/ meltfptr
[12] = (/*nil*/NULL
);
5423 #endif /*MELT_HAVE_DEBUG*/
5427 MELT_LOCATION("warmelt-macro.melt:6447:/ cppif.then");
5433 MELT_CHECK_SIGNAL();
5435 MELT_LOCATION("warmelt-macro.melt:6449:/ cond");
5438 /*ifisa*/ melt_is_instance_of((melt_ptr_t
)((/*!CLASS_REFERENCE*/ meltfrout
->tabval
[4])),
5439 (melt_ptr_t
)((/*!CLASS_CLASS*/ meltfrout
->tabval
[5])))
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*/
5456 /*_.CLASS_FIELDS__V18*/ meltfptr
[5] = /*reallynil*/ NULL
;;
5460 /*_#MULTIPLE_LENGTH__L6*/
5462 (melt_multiple_length((melt_ptr_t
)(/*_.CLASS_FIELDS__V18*/ meltfptr
[5])));;
5466 ((1) == (/*_#MULTIPLE_LENGTH__L6*/ meltfnum
[0]));;
5467 MELT_LOCATION("warmelt-macro.melt:6447:/ cond");
5469 if (/*_#eqeqI__L7*/ meltfnum
[1]) /*then*/
5472 /*_._IFELSE___V19*/ meltfptr
[18] = (/*nil*/NULL
);;
5476 MELT_LOCATION("warmelt-macro.melt:6447:/ cond.else");
5483 MELT_CHECK_SIGNAL();
5488 union meltparam_un argtab
[4];
5489 memset(&argtab
, 0, sizeof(argtab
));
5491 argtab
[0].meltbp_cstring
= "check class_reference has one field";
5493 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
5495 argtab
[2].meltbp_long
= 6447;
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);
5503 meltfptr
[18] = /*_.MELT_ASSERT_FAILURE_FUN__V20*/ meltfptr
[19];;
5506 MELT_LOCATION("warmelt-macro.melt:6447:/ clear");
5507 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V20*/
5514 meltfptr
[15] = /*_._IFELSE___V19*/ meltfptr
[18];;
5517 MELT_LOCATION("warmelt-macro.melt:6447:/ clear");
5518 /*clear*/ /*_.CLASS_FIELDS__V18*/
5521 /*clear*/ /*_#MULTIPLE_LENGTH__L6*/
5524 /*clear*/ /*_#eqeqI__L7*/
5527 /*clear*/ /*_._IFELSE___V19*/
5531 #else /*MELT_HAVE_DEBUG*/
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");
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");
5554 meltfptr
[18] = slot
;
5558 MELT_CHECK_SIGNAL();
5560 MELT_LOCATION("warmelt-macro.melt:6454:/ apply");
5563 union meltparam_un argtab
[3];
5564 memset(&argtab
, 0, sizeof(argtab
));
5566 argtab
[0].meltbp_aptr
= (melt_ptr_t
*) &/*_.ENV__V3*/ meltfptr
[2];
5568 argtab
[1].meltbp_aptr
= (melt_ptr_t
*) &/*_.MEXPANDER__V4*/ meltfptr
[3];
5570 argtab
[2].meltbp_aptr
= (melt_ptr_t
*) &/*_.MODCTX__V5*/ meltfptr
[4];
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);
5577 (melt_multiple_length((melt_ptr_t
)(/*_.XARGTUP__V24*/ meltfptr
[23])));;
5581 (melt_multiple_nth((melt_ptr_t
)(/*_.XARGTUP__V24*/ meltfptr
[23]), (0)));;
5583 MELT_CHECK_SIGNAL();
5585 MELT_LOCATION("warmelt-macro.melt:6457:/ quasiblock");
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");
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");
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");
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");
5620 union meltparam_un argtab
[1];
5621 memset(&argtab
, 0, sizeof(argtab
));
5623 argtab
[0].meltbp_aptr
= (melt_ptr_t
*) &(/*!konst_8_CLASS_REFERENCE*/ meltfrout
->tabval
[8]);
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");
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");
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");
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");
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");
5661 melt_dbgtrace_written_object (/*_.INST__V30*/ meltfptr
[29], "newly made instance");
5664 meltfptr
[28] = /*_.INST__V30*/ meltfptr
[29];;
5667 MELT_LOCATION("warmelt-macro.melt:6467:/ cppif.then");
5673 MELT_CHECK_SIGNAL();
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");
5680 if (/*_#IS_A__L9*/ meltfnum
[1]) /*then*/
5683 /*_._IFELSE___V32*/ meltfptr
[31] = (/*nil*/NULL
);;
5687 MELT_LOCATION("warmelt-macro.melt:6467:/ cond.else");
5694 MELT_CHECK_SIGNAL();
5699 union meltparam_un argtab
[4];
5700 memset(&argtab
, 0, sizeof(argtab
));
5702 argtab
[0].meltbp_cstring
= "check referenced_value";
5704 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
5706 argtab
[2].meltbp_long
= 6467;
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);
5714 meltfptr
[31] = /*_.MELT_ASSERT_FAILURE_FUN__V33*/ meltfptr
[32];;
5717 MELT_LOCATION("warmelt-macro.melt:6467:/ clear");
5718 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V33*/
5725 meltfptr
[30] = /*_._IFELSE___V32*/ meltfptr
[31];;
5728 MELT_LOCATION("warmelt-macro.melt:6467:/ clear");
5729 /*clear*/ /*_#IS_A__L9*/
5732 /*clear*/ /*_._IFELSE___V32*/
5736 #else /*MELT_HAVE_DEBUG*/
5738 /*_.IFCPP___V31*/ meltfptr
[30] = (/*nil*/NULL
);
5739 #endif /*MELT_HAVE_DEBUG*/
5742 MELT_CHECK_SIGNAL();
5747 ((/*_#NBARG__L8*/ meltfnum
[0]) != (1));;
5748 MELT_LOCATION("warmelt-macro.melt:6468:/ cond");
5750 if (/*_#exeqI__L10*/ meltfnum
[1]) /*then*/
5759 MELT_LOCATION("warmelt-macro.melt:6470:/ locexp");
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");
5768 meltfptr
[0] = /*reallynil*/ NULL
;;
5771 MELT_LOCATION("warmelt-macro.melt:6471:/ locexp");
5772 /*ochecknores compilobj_nrep_return*/
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*/
5784 goto meltlabend_rout
;
5785 MELT_LOCATION("warmelt-macro.melt:6469:/ quasiblock");
5789 meltfptr
[35] = /*_.RETURN___V35*/ meltfptr
[31];;
5792 meltfptr
[32] = /*_.PROGN___V36*/ meltfptr
[35];;
5795 MELT_LOCATION("warmelt-macro.melt:6468:/ clear");
5796 /*clear*/ /*_.RETURN___V35*/
5799 /*clear*/ /*_.PROGN___V36*/
5807 /*_._IF___V34*/ meltfptr
[32] = /*reallynil*/ NULL
;;
5811 MELT_CHECK_SIGNAL();
5816 (/*null*/(/*_.CLABIND__V28*/ meltfptr
[27]) == NULL
);;
5817 MELT_LOCATION("warmelt-macro.melt:6474:/ cond");
5819 if (/*_#NULL__L11*/ meltfnum
[10]) /*then*/
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);
5839 MELT_LOCATION("warmelt-macro.melt:6476:/ cppif.then");
5847 /*melt_increment_dbgcounter*/
5855 MELT_CHECK_SIGNAL();
5857 /*_#MELT_NEED_DBG__L12*/
5861 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
5863 0 /* no melt_need_dbg */
5864 #endif /*MELT_HAVE_DEBUG*/
5866 MELT_LOCATION("warmelt-macro.melt:6476:/ cond");
5868 if (/*_#MELT_NEED_DBG__L12*/ meltfnum
[11]) /*then*/
5875 /*_#MELT_CALLCOUNT__L13*/ meltfnum
[12] =
5876 /* for melt_callcount */
5877 #if MELT_HAVE_DEBUG && defined (meltcallcount)
5878 meltcallcount
/* melt_callcount debugging */
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");
5889 union meltparam_un argtab
[5];
5890 memset(&argtab
, 0, sizeof(argtab
));
5892 argtab
[0].meltbp_long
= /*_#MELT_CALLCOUNT__L13*/ meltfnum
[12];
5894 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
5896 argtab
[2].meltbp_long
= 6476;
5898 argtab
[3].meltbp_cstring
= "mexpand_deref returns sget";
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);
5906 meltfptr
[31] = /*_.MELT_DEBUG_FUN__V38*/ meltfptr
[35];;
5909 MELT_LOCATION("warmelt-macro.melt:6476:/ clear");
5910 /*clear*/ /*_#MELT_CALLCOUNT__L13*/
5913 /*clear*/ /*_.MELT_DEBUG_FUN__V38*/
5921 /*_._IF___V37*/ meltfptr
[31] = /*reallynil*/ NULL
;;
5926 MELT_LOCATION("warmelt-macro.melt:6476:/ locexp");
5937 /*clear*/ /*_#MELT_NEED_DBG__L12*/
5940 /*clear*/ /*_._IF___V37*/
5944 #else /*MELT_HAVE_DEBUG*/
5959 #endif /*MELT_HAVE_DEBUG*/
5962 MELT_CHECK_SIGNAL();
5964 MELT_LOCATION("warmelt-macro.melt:6477:/ quasiblock");
5968 meltfptr
[0] = /*_.SGET__V29*/ meltfptr
[28];;
5971 MELT_LOCATION("warmelt-macro.melt:6477:/ locexp");
5972 /*ochecknores compilobj_nrep_return*/
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*/
5984 goto meltlabend_rout
;
5986 meltfptr
[19] = /*_.RETURN___V39*/ meltfptr
[35];;
5988 MELT_LOCATION("warmelt-macro.melt:6451:/ clear");
5989 /*clear*/ /*_.CONT__V22*/
5992 /*clear*/ /*_.LOC__V23*/
5995 /*clear*/ /*_.XARGTUP__V24*/
5998 /*clear*/ /*_#NBARG__L8*/
6001 /*clear*/ /*_.ARG1__V25*/
6004 /*clear*/ /*_.SPREDCLASSCONT__V26*/
6007 /*clear*/ /*_.CLABIND__V28*/
6010 /*clear*/ /*_.SGET__V29*/
6013 /*clear*/ /*_.IFCPP___V31*/
6016 /*clear*/ /*_#exeqI__L10*/
6019 /*clear*/ /*_._IF___V34*/
6022 /*clear*/ /*_#NULL__L11*/
6025 /*clear*/ /*_.RETURN___V39*/
6028 MELT_CHECK_SIGNAL();
6030 MELT_LOCATION("warmelt-macro.melt:6442:/ quasiblock");
6034 meltfptr
[0] = /*_.LET___V21*/ meltfptr
[19];;
6037 MELT_LOCATION("warmelt-macro.melt:6442:/ locexp");
6038 /*ochecknores compilobj_nrep_return*/
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*/
6050 goto meltlabend_rout
;
6054 /*clear*/ /*_.IFCPP___V8*/
6057 /*clear*/ /*_.IFCPP___V11*/
6060 /*clear*/ /*_.IFCPP___V14*/
6063 /*clear*/ /*_.IFCPP___V17*/
6066 /*clear*/ /*_.LET___V21*/
6071 goto 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
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
;
6094 static long melt_call_counter__
;
6095 long melt_thiscallcounter__ ATTRIBUTE_UNUSED
= ++ melt_call_counter__
;
6096 #undef meltcallcount
6097 #define meltcallcount melt_thiscallcounter__
6099 #undef meltcallcount
6100 #define meltcallcount 0L
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];
6115 void melt_mark_stuff (void)
6117 } /*end melt_mark_stuff*/
6118 virtual void melt_mark_ggc_data (void)
6120 melt_mark_values ();
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*/
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*/
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*/
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
);
6165 (void)meltfirstargp_
;
6166 (void)meltxargdescr_
;
6168 (void)meltxresdescr_
;
6173 MELT_LOCATION("warmelt-macro.melt:6487:/ getarg");
6175 meltfptr
[1] = (melt_ptr_t
) meltfirstargp_
;
6179 if (meltxargdescr_
[0] != MELTBPAR_PTR
) goto meltlab_endgetargs
;
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
);
6187 if (meltxargdescr_
[1] != MELTBPAR_PTR
) goto meltlab_endgetargs
;
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
);
6195 if (meltxargdescr_
[2] != MELTBPAR_PTR
) goto meltlab_endgetargs
;
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
;
6211 MELT_LOCATION("warmelt-macro.melt:6488:/ cppif.then");
6219 /*melt_increment_dbgcounter*/
6227 MELT_CHECK_SIGNAL();
6229 /*_#MELT_NEED_DBG__L1*/
6233 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
6235 0 /* no melt_need_dbg */
6236 #endif /*MELT_HAVE_DEBUG*/
6238 MELT_LOCATION("warmelt-macro.melt:6488:/ cond");
6240 if (/*_#MELT_NEED_DBG__L1*/ meltfnum
[0]) /*then*/
6247 /*_#MELT_CALLCOUNT__L2*/ meltfnum
[1] =
6248 /* for melt_callcount */
6249 #if MELT_HAVE_DEBUG && defined (meltcallcount)
6250 meltcallcount
/* melt_callcount debugging */
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");
6261 union meltparam_un argtab
[5];
6262 memset(&argtab
, 0, sizeof(argtab
));
6264 argtab
[0].meltbp_long
= /*_#MELT_CALLCOUNT__L2*/ meltfnum
[1];
6266 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
6268 argtab
[2].meltbp_long
= 6488;
6270 argtab
[3].meltbp_cstring
= "mexpandobsolete_content sexpr";
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);
6278 meltfptr
[5] = /*_.MELT_DEBUG_FUN__V7*/ meltfptr
[6];;
6281 MELT_LOCATION("warmelt-macro.melt:6488:/ clear");
6282 /*clear*/ /*_#MELT_CALLCOUNT__L2*/
6285 /*clear*/ /*_.MELT_DEBUG_FUN__V7*/
6293 /*_._IF___V6*/ meltfptr
[5] = /*reallynil*/ NULL
;;
6298 MELT_LOCATION("warmelt-macro.melt:6488:/ locexp");
6309 /*clear*/ /*_#MELT_NEED_DBG__L1*/
6312 /*clear*/ /*_._IF___V6*/
6316 #else /*MELT_HAVE_DEBUG*/
6331 #endif /*MELT_HAVE_DEBUG*/
6335 MELT_LOCATION("warmelt-macro.melt:6489:/ cppif.then");
6341 MELT_CHECK_SIGNAL();
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");
6348 if (/*_#IS_A__L3*/ meltfnum
[1]) /*then*/
6351 /*_._IFELSE___V9*/ meltfptr
[5] = (/*nil*/NULL
);;
6355 MELT_LOCATION("warmelt-macro.melt:6489:/ cond.else");
6362 MELT_CHECK_SIGNAL();
6367 union meltparam_un argtab
[4];
6368 memset(&argtab
, 0, sizeof(argtab
));
6370 argtab
[0].meltbp_cstring
= "check sexpr";
6372 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
6374 argtab
[2].meltbp_long
= 6489;
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);
6382 meltfptr
[5] = /*_.MELT_ASSERT_FAILURE_FUN__V10*/ meltfptr
[9];;
6385 MELT_LOCATION("warmelt-macro.melt:6489:/ clear");
6386 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V10*/
6393 meltfptr
[6] = /*_._IFELSE___V9*/ meltfptr
[5];;
6396 MELT_LOCATION("warmelt-macro.melt:6489:/ clear");
6397 /*clear*/ /*_#IS_A__L3*/
6400 /*clear*/ /*_._IFELSE___V9*/
6404 #else /*MELT_HAVE_DEBUG*/
6406 /*_.IFCPP___V8*/ meltfptr
[6] = (/*nil*/NULL
);
6407 #endif /*MELT_HAVE_DEBUG*/
6409 MELT_LOCATION("warmelt-macro.melt:6490:/ cond");
6412 /*ifisa*/ melt_is_instance_of((melt_ptr_t
)(/*_.SEXPR__V2*/ meltfptr
[1]),
6413 (melt_ptr_t
)((/*!CLASS_LOCATED*/ meltfrout
->tabval
[3])))
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*/
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");
6445 union meltparam_un argtab
[3];
6446 memset(&argtab
, 0, sizeof(argtab
));
6448 argtab
[0].meltbp_aptr
= (melt_ptr_t
*) &/*_.ENV__V3*/ meltfptr
[2];
6450 argtab
[1].meltbp_aptr
= (melt_ptr_t
*) &/*_.MEXPANDER__V4*/ meltfptr
[3];
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");
6464 meltfptr
[0] = /*_.MEXPAND_DEREF__V12*/ meltfptr
[5];;
6467 MELT_LOCATION("warmelt-macro.melt:6487:/ locexp");
6468 /*ochecknores compilobj_nrep_return*/
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*/
6480 goto meltlabend_rout
;
6484 /*clear*/ /*_.IFCPP___V8*/
6487 /*clear*/ /*_.LOCA_LOCATION__V11*/
6490 /*clear*/ /*_.MEXPAND_DEREF__V12*/
6495 goto 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
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
;
6518 static long melt_call_counter__
;
6519 long melt_thiscallcounter__ ATTRIBUTE_UNUSED
= ++ melt_call_counter__
;
6520 #undef meltcallcount
6521 #define meltcallcount melt_thiscallcounter__
6523 #undef meltcallcount
6524 #define meltcallcount 0L
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];
6539 void melt_mark_stuff (void)
6541 } /*end melt_mark_stuff*/
6542 virtual void melt_mark_ggc_data (void)
6544 melt_mark_values ();
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*/
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*/
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*/
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
);
6589 (void)meltfirstargp_
;
6590 (void)meltxargdescr_
;
6592 (void)meltxresdescr_
;
6597 MELT_LOCATION("warmelt-macro.melt:6509:/ getarg");
6599 meltfptr
[1] = (melt_ptr_t
) meltfirstargp_
;
6603 if (meltxargdescr_
[0] != MELTBPAR_PTR
) goto meltlab_endgetargs
;
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
);
6611 if (meltxargdescr_
[1] != MELTBPAR_PTR
) goto meltlab_endgetargs
;
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
);
6619 if (meltxargdescr_
[2] != MELTBPAR_PTR
) goto meltlab_endgetargs
;
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
;
6635 MELT_LOCATION("warmelt-macro.melt:6510:/ cppif.then");
6643 /*melt_increment_dbgcounter*/
6651 MELT_CHECK_SIGNAL();
6653 /*_#MELT_NEED_DBG__L1*/
6657 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
6659 0 /* no melt_need_dbg */
6660 #endif /*MELT_HAVE_DEBUG*/
6662 MELT_LOCATION("warmelt-macro.melt:6510:/ cond");
6664 if (/*_#MELT_NEED_DBG__L1*/ meltfnum
[0]) /*then*/
6671 /*_#MELT_CALLCOUNT__L2*/ meltfnum
[1] =
6672 /* for melt_callcount */
6673 #if MELT_HAVE_DEBUG && defined (meltcallcount)
6674 meltcallcount
/* melt_callcount debugging */
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");
6685 union meltparam_un argtab
[5];
6686 memset(&argtab
, 0, sizeof(argtab
));
6688 argtab
[0].meltbp_long
= /*_#MELT_CALLCOUNT__L2*/ meltfnum
[1];
6690 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
6692 argtab
[2].meltbp_long
= 6510;
6694 argtab
[3].meltbp_cstring
= "mexpand_set_ref sexpr=";
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);
6702 meltfptr
[5] = /*_.MELT_DEBUG_FUN__V7*/ meltfptr
[6];;
6705 MELT_LOCATION("warmelt-macro.melt:6510:/ clear");
6706 /*clear*/ /*_#MELT_CALLCOUNT__L2*/
6709 /*clear*/ /*_.MELT_DEBUG_FUN__V7*/
6717 /*_._IF___V6*/ meltfptr
[5] = /*reallynil*/ NULL
;;
6722 MELT_LOCATION("warmelt-macro.melt:6510:/ locexp");
6733 /*clear*/ /*_#MELT_NEED_DBG__L1*/
6736 /*clear*/ /*_._IF___V6*/
6740 #else /*MELT_HAVE_DEBUG*/
6755 #endif /*MELT_HAVE_DEBUG*/
6759 MELT_LOCATION("warmelt-macro.melt:6511:/ cppif.then");
6765 MELT_CHECK_SIGNAL();
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");
6772 if (/*_#IS_A__L3*/ meltfnum
[1]) /*then*/
6775 /*_._IFELSE___V9*/ meltfptr
[5] = (/*nil*/NULL
);;
6779 MELT_LOCATION("warmelt-macro.melt:6511:/ cond.else");
6786 MELT_CHECK_SIGNAL();
6791 union meltparam_un argtab
[4];
6792 memset(&argtab
, 0, sizeof(argtab
));
6794 argtab
[0].meltbp_cstring
= "check sexpr";
6796 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
6798 argtab
[2].meltbp_long
= 6511;
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);
6806 meltfptr
[5] = /*_.MELT_ASSERT_FAILURE_FUN__V10*/ meltfptr
[9];;
6809 MELT_LOCATION("warmelt-macro.melt:6511:/ clear");
6810 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V10*/
6817 meltfptr
[6] = /*_._IFELSE___V9*/ meltfptr
[5];;
6820 MELT_LOCATION("warmelt-macro.melt:6511:/ clear");
6821 /*clear*/ /*_#IS_A__L3*/
6824 /*clear*/ /*_._IFELSE___V9*/
6828 #else /*MELT_HAVE_DEBUG*/
6830 /*_.IFCPP___V8*/ meltfptr
[6] = (/*nil*/NULL
);
6831 #endif /*MELT_HAVE_DEBUG*/
6835 MELT_LOCATION("warmelt-macro.melt:6512:/ cppif.then");
6841 MELT_CHECK_SIGNAL();
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");
6848 if (/*_#IS_A__L4*/ meltfnum
[0]) /*then*/
6851 /*_._IFELSE___V12*/ meltfptr
[5] = (/*nil*/NULL
);;
6855 MELT_LOCATION("warmelt-macro.melt:6512:/ cond.else");
6862 MELT_CHECK_SIGNAL();
6867 union meltparam_un argtab
[4];
6868 memset(&argtab
, 0, sizeof(argtab
));
6870 argtab
[0].meltbp_cstring
= "check env";
6872 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
6874 argtab
[2].meltbp_long
= 6512;
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);
6882 meltfptr
[5] = /*_.MELT_ASSERT_FAILURE_FUN__V13*/ meltfptr
[12];;
6885 MELT_LOCATION("warmelt-macro.melt:6512:/ clear");
6886 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V13*/
6893 meltfptr
[9] = /*_._IFELSE___V12*/ meltfptr
[5];;
6896 MELT_LOCATION("warmelt-macro.melt:6512:/ clear");
6897 /*clear*/ /*_#IS_A__L4*/
6900 /*clear*/ /*_._IFELSE___V12*/
6904 #else /*MELT_HAVE_DEBUG*/
6906 /*_.IFCPP___V11*/ meltfptr
[9] = (/*nil*/NULL
);
6907 #endif /*MELT_HAVE_DEBUG*/
6911 MELT_LOCATION("warmelt-macro.melt:6513:/ cppif.then");
6917 MELT_CHECK_SIGNAL();
6921 (melt_magic_discr((melt_ptr_t
)(/*_.MODCTX__V5*/ meltfptr
[4])) == MELTOBMAG_OBJECT
);;
6922 MELT_LOCATION("warmelt-macro.melt:6513:/ cond");
6924 if (/*_#IS_OBJECT__L5*/ meltfnum
[1]) /*then*/
6927 /*_._IFELSE___V15*/ meltfptr
[5] = (/*nil*/NULL
);;
6931 MELT_LOCATION("warmelt-macro.melt:6513:/ cond.else");
6938 MELT_CHECK_SIGNAL();
6943 union meltparam_un argtab
[4];
6944 memset(&argtab
, 0, sizeof(argtab
));
6946 argtab
[0].meltbp_cstring
= "check modctx";
6948 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
6950 argtab
[2].meltbp_long
= 6513;
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);
6958 meltfptr
[5] = /*_.MELT_ASSERT_FAILURE_FUN__V16*/ meltfptr
[15];;
6961 MELT_LOCATION("warmelt-macro.melt:6513:/ clear");
6962 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V16*/
6969 meltfptr
[12] = /*_._IFELSE___V15*/ meltfptr
[5];;
6972 MELT_LOCATION("warmelt-macro.melt:6513:/ clear");
6973 /*clear*/ /*_#IS_OBJECT__L5*/
6976 /*clear*/ /*_._IFELSE___V15*/
6980 #else /*MELT_HAVE_DEBUG*/
6982 /*_.IFCPP___V14*/ meltfptr
[12] = (/*nil*/NULL
);
6983 #endif /*MELT_HAVE_DEBUG*/
6987 MELT_LOCATION("warmelt-macro.melt:6514:/ cppif.then");
6993 MELT_CHECK_SIGNAL();
6995 MELT_LOCATION("warmelt-macro.melt:6516:/ cond");
6998 /*ifisa*/ melt_is_instance_of((melt_ptr_t
)((/*!CLASS_REFERENCE*/ meltfrout
->tabval
[4])),
6999 (melt_ptr_t
)((/*!CLASS_CLASS*/ meltfrout
->tabval
[5])))
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*/
7016 /*_.CLASS_FIELDS__V18*/ meltfptr
[5] = /*reallynil*/ NULL
;;
7020 /*_#MULTIPLE_LENGTH__L6*/
7022 (melt_multiple_length((melt_ptr_t
)(/*_.CLASS_FIELDS__V18*/ meltfptr
[5])));;
7026 ((1) == (/*_#MULTIPLE_LENGTH__L6*/ meltfnum
[0]));;
7027 MELT_LOCATION("warmelt-macro.melt:6514:/ cond");
7029 if (/*_#eqeqI__L7*/ meltfnum
[1]) /*then*/
7032 /*_._IFELSE___V19*/ meltfptr
[18] = (/*nil*/NULL
);;
7036 MELT_LOCATION("warmelt-macro.melt:6514:/ cond.else");
7043 MELT_CHECK_SIGNAL();
7048 union meltparam_un argtab
[4];
7049 memset(&argtab
, 0, sizeof(argtab
));
7051 argtab
[0].meltbp_cstring
= "check class_reference has one field";
7053 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
7055 argtab
[2].meltbp_long
= 6514;
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);
7063 meltfptr
[18] = /*_.MELT_ASSERT_FAILURE_FUN__V20*/ meltfptr
[19];;
7066 MELT_LOCATION("warmelt-macro.melt:6514:/ clear");
7067 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V20*/
7074 meltfptr
[15] = /*_._IFELSE___V19*/ meltfptr
[18];;
7077 MELT_LOCATION("warmelt-macro.melt:6514:/ clear");
7078 /*clear*/ /*_.CLASS_FIELDS__V18*/
7081 /*clear*/ /*_#MULTIPLE_LENGTH__L6*/
7084 /*clear*/ /*_#eqeqI__L7*/
7087 /*clear*/ /*_._IFELSE___V19*/
7091 #else /*MELT_HAVE_DEBUG*/
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");
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");
7114 meltfptr
[18] = slot
;
7118 MELT_CHECK_SIGNAL();
7120 MELT_LOCATION("warmelt-macro.melt:6521:/ apply");
7123 union meltparam_un argtab
[3];
7124 memset(&argtab
, 0, sizeof(argtab
));
7126 argtab
[0].meltbp_aptr
= (melt_ptr_t
*) &/*_.ENV__V3*/ meltfptr
[2];
7128 argtab
[1].meltbp_aptr
= (melt_ptr_t
*) &/*_.MEXPANDER__V4*/ meltfptr
[3];
7130 argtab
[2].meltbp_aptr
= (melt_ptr_t
*) &/*_.MODCTX__V5*/ meltfptr
[4];
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);
7137 (melt_multiple_length((melt_ptr_t
)(/*_.XARGTUP__V24*/ meltfptr
[23])));;
7141 (melt_multiple_nth((melt_ptr_t
)(/*_.XARGTUP__V24*/ meltfptr
[23]), (0)));;
7145 (melt_multiple_nth((melt_ptr_t
)(/*_.XARGTUP__V24*/ meltfptr
[23]), (1)));;
7147 MELT_CHECK_SIGNAL();
7149 MELT_LOCATION("warmelt-macro.melt:6525:/ quasiblock");
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");
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");
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");
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");
7184 union meltparam_un argtab
[1];
7185 memset(&argtab
, 0, sizeof(argtab
));
7187 argtab
[0].meltbp_aptr
= (melt_ptr_t
*) &(/*!konst_8_CLASS_REFERENCE*/ meltfrout
->tabval
[8]);
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");
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");
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");
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");
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");
7225 melt_dbgtrace_written_object (/*_.INST__V31*/ meltfptr
[30], "newly made instance");
7228 meltfptr
[29] = /*_.INST__V31*/ meltfptr
[30];;
7229 MELT_LOCATION("warmelt-macro.melt:6529:/ blockmultialloc");
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*/
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;
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]);
7253 meltgc_touch(/*_.TUPLREC___V33*/ meltfptr
[32]);
7256 meltfptr
[31] = /*_.TUPLREC___V33*/ meltfptr
[32];;
7259 MELT_LOCATION("warmelt-macro.melt:6529:/ clear");
7260 /*clear*/ /*_.TUPLREC___V33*/
7263 /*clear*/ /*_.TUPLREC___V33*/
7265 } /*end multiallocblock*/
7268 MELT_CHECK_SIGNAL();
7270 MELT_LOCATION("warmelt-macro.melt:6535:/ quasiblock");
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");
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");
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");
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");
7300 melt_dbgtrace_written_object (/*_.INST__V35*/ meltfptr
[34], "newly made instance");
7303 meltfptr
[32] = /*_.INST__V35*/ meltfptr
[34];;
7306 MELT_LOCATION("warmelt-macro.melt:6541:/ cppif.then");
7312 MELT_CHECK_SIGNAL();
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");
7319 if (/*_#IS_A__L9*/ meltfnum
[1]) /*then*/
7322 /*_._IFELSE___V37*/ meltfptr
[36] = (/*nil*/NULL
);;
7326 MELT_LOCATION("warmelt-macro.melt:6541:/ cond.else");
7333 MELT_CHECK_SIGNAL();
7338 union meltparam_un argtab
[4];
7339 memset(&argtab
, 0, sizeof(argtab
));
7341 argtab
[0].meltbp_cstring
= "check referenced_value";
7343 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
7345 argtab
[2].meltbp_long
= 6541;
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);
7353 meltfptr
[36] = /*_.MELT_ASSERT_FAILURE_FUN__V38*/ meltfptr
[37];;
7356 MELT_LOCATION("warmelt-macro.melt:6541:/ clear");
7357 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V38*/
7364 meltfptr
[35] = /*_._IFELSE___V37*/ meltfptr
[36];;
7367 MELT_LOCATION("warmelt-macro.melt:6541:/ clear");
7368 /*clear*/ /*_#IS_A__L9*/
7371 /*clear*/ /*_._IFELSE___V37*/
7375 #else /*MELT_HAVE_DEBUG*/
7377 /*_.IFCPP___V36*/ meltfptr
[35] = (/*nil*/NULL
);
7378 #endif /*MELT_HAVE_DEBUG*/
7381 MELT_CHECK_SIGNAL();
7386 ((/*_#NBARG__L8*/ meltfnum
[0]) != (2));;
7387 MELT_LOCATION("warmelt-macro.melt:6542:/ cond");
7389 if (/*_#exeqI__L10*/ meltfnum
[1]) /*then*/
7398 MELT_LOCATION("warmelt-macro.melt:6544:/ locexp");
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");
7407 meltfptr
[0] = /*reallynil*/ NULL
;;
7410 MELT_LOCATION("warmelt-macro.melt:6545:/ locexp");
7411 /*ochecknores compilobj_nrep_return*/
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*/
7423 goto meltlabend_rout
;
7424 MELT_LOCATION("warmelt-macro.melt:6543:/ quasiblock");
7428 meltfptr
[40] = /*_.RETURN___V40*/ meltfptr
[36];;
7431 meltfptr
[37] = /*_.PROGN___V41*/ meltfptr
[40];;
7434 MELT_LOCATION("warmelt-macro.melt:6542:/ clear");
7435 /*clear*/ /*_.RETURN___V40*/
7438 /*clear*/ /*_.PROGN___V41*/
7446 /*_._IF___V39*/ meltfptr
[37] = /*reallynil*/ NULL
;;
7450 MELT_CHECK_SIGNAL();
7455 (/*null*/(/*_.CLABIND__V29*/ meltfptr
[28]) == NULL
);;
7456 MELT_LOCATION("warmelt-macro.melt:6548:/ cond");
7458 if (/*_#NULL__L11*/ meltfnum
[10]) /*then*/
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);
7478 MELT_LOCATION("warmelt-macro.melt:6550:/ cppif.then");
7486 /*melt_increment_dbgcounter*/
7494 MELT_CHECK_SIGNAL();
7496 /*_#MELT_NEED_DBG__L12*/
7500 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
7502 0 /* no melt_need_dbg */
7503 #endif /*MELT_HAVE_DEBUG*/
7505 MELT_LOCATION("warmelt-macro.melt:6550:/ cond");
7507 if (/*_#MELT_NEED_DBG__L12*/ meltfnum
[11]) /*then*/
7514 /*_#MELT_CALLCOUNT__L13*/ meltfnum
[12] =
7515 /* for melt_callcount */
7516 #if MELT_HAVE_DEBUG && defined (meltcallcount)
7517 meltcallcount
/* melt_callcount debugging */
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");
7528 union meltparam_un argtab
[5];
7529 memset(&argtab
, 0, sizeof(argtab
));
7531 argtab
[0].meltbp_long
= /*_#MELT_CALLCOUNT__L13*/ meltfnum
[12];
7533 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
7535 argtab
[2].meltbp_long
= 6550;
7537 argtab
[3].meltbp_cstring
= "mexpand_set_ref returns sput";
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);
7545 meltfptr
[36] = /*_.MELT_DEBUG_FUN__V43*/ meltfptr
[40];;
7548 MELT_LOCATION("warmelt-macro.melt:6550:/ clear");
7549 /*clear*/ /*_#MELT_CALLCOUNT__L13*/
7552 /*clear*/ /*_.MELT_DEBUG_FUN__V43*/
7560 /*_._IF___V42*/ meltfptr
[36] = /*reallynil*/ NULL
;;
7565 MELT_LOCATION("warmelt-macro.melt:6550:/ locexp");
7576 /*clear*/ /*_#MELT_NEED_DBG__L12*/
7579 /*clear*/ /*_._IF___V42*/
7583 #else /*MELT_HAVE_DEBUG*/
7598 #endif /*MELT_HAVE_DEBUG*/
7601 MELT_CHECK_SIGNAL();
7603 MELT_LOCATION("warmelt-macro.melt:6551:/ quasiblock");
7607 meltfptr
[0] = /*_.SPUT__V34*/ meltfptr
[32];;
7610 MELT_LOCATION("warmelt-macro.melt:6551:/ locexp");
7611 /*ochecknores compilobj_nrep_return*/
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*/
7623 goto meltlabend_rout
;
7625 meltfptr
[19] = /*_.RETURN___V44*/ meltfptr
[40];;
7627 MELT_LOCATION("warmelt-macro.melt:6518:/ clear");
7628 /*clear*/ /*_.CONT__V22*/
7631 /*clear*/ /*_.LOC__V23*/
7634 /*clear*/ /*_.XARGTUP__V24*/
7637 /*clear*/ /*_#NBARG__L8*/
7640 /*clear*/ /*_.ARG1__V25*/
7643 /*clear*/ /*_.ARG2__V26*/
7646 /*clear*/ /*_.SPREDCLASSCONT__V27*/
7649 /*clear*/ /*_.CLABIND__V29*/
7652 /*clear*/ /*_.INST___V30*/
7655 /*clear*/ /*_.PUTUP__V32*/
7658 /*clear*/ /*_.SPUT__V34*/
7661 /*clear*/ /*_.IFCPP___V36*/
7664 /*clear*/ /*_#exeqI__L10*/
7667 /*clear*/ /*_._IF___V39*/
7670 /*clear*/ /*_#NULL__L11*/
7673 /*clear*/ /*_.RETURN___V44*/
7676 MELT_CHECK_SIGNAL();
7678 MELT_LOCATION("warmelt-macro.melt:6509:/ quasiblock");
7682 meltfptr
[0] = /*_.LET___V21*/ meltfptr
[19];;
7685 MELT_LOCATION("warmelt-macro.melt:6509:/ locexp");
7686 /*ochecknores compilobj_nrep_return*/
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*/
7698 goto meltlabend_rout
;
7702 /*clear*/ /*_.IFCPP___V8*/
7705 /*clear*/ /*_.IFCPP___V11*/
7708 /*clear*/ /*_.IFCPP___V14*/
7711 /*clear*/ /*_.IFCPP___V17*/
7714 /*clear*/ /*_.LET___V21*/
7719 goto 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
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
;
7742 static long melt_call_counter__
;
7743 long melt_thiscallcounter__ ATTRIBUTE_UNUSED
= ++ melt_call_counter__
;
7744 #undef meltcallcount
7745 #define meltcallcount melt_thiscallcounter__
7747 #undef meltcallcount
7748 #define meltcallcount 0L
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];
7763 void melt_mark_stuff (void)
7765 } /*end melt_mark_stuff*/
7766 virtual void melt_mark_ggc_data (void)
7768 melt_mark_values ();
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*/
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*/
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*/
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
);
7813 (void)meltfirstargp_
;
7814 (void)meltxargdescr_
;
7816 (void)meltxresdescr_
;
7821 MELT_LOCATION("warmelt-macro.melt:6562:/ getarg");
7823 meltfptr
[1] = (melt_ptr_t
) meltfirstargp_
;
7827 if (meltxargdescr_
[0] != MELTBPAR_PTR
) goto meltlab_endgetargs
;
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
);
7835 if (meltxargdescr_
[1] != MELTBPAR_PTR
) goto meltlab_endgetargs
;
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
);
7843 if (meltxargdescr_
[2] != MELTBPAR_PTR
) goto meltlab_endgetargs
;
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
;
7859 MELT_LOCATION("warmelt-macro.melt:6563:/ cppif.then");
7867 /*melt_increment_dbgcounter*/
7875 MELT_CHECK_SIGNAL();
7877 /*_#MELT_NEED_DBG__L1*/
7881 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
7883 0 /* no melt_need_dbg */
7884 #endif /*MELT_HAVE_DEBUG*/
7886 MELT_LOCATION("warmelt-macro.melt:6563:/ cond");
7888 if (/*_#MELT_NEED_DBG__L1*/ meltfnum
[0]) /*then*/
7895 /*_#MELT_CALLCOUNT__L2*/ meltfnum
[1] =
7896 /* for melt_callcount */
7897 #if MELT_HAVE_DEBUG && defined (meltcallcount)
7898 meltcallcount
/* melt_callcount debugging */
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");
7909 union meltparam_un argtab
[5];
7910 memset(&argtab
, 0, sizeof(argtab
));
7912 argtab
[0].meltbp_long
= /*_#MELT_CALLCOUNT__L2*/ meltfnum
[1];
7914 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
7916 argtab
[2].meltbp_long
= 6563;
7918 argtab
[3].meltbp_cstring
= "mexpand_plus sexpr=";
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);
7926 meltfptr
[5] = /*_.MELT_DEBUG_FUN__V7*/ meltfptr
[6];;
7929 MELT_LOCATION("warmelt-macro.melt:6563:/ clear");
7930 /*clear*/ /*_#MELT_CALLCOUNT__L2*/
7933 /*clear*/ /*_.MELT_DEBUG_FUN__V7*/
7941 /*_._IF___V6*/ meltfptr
[5] = /*reallynil*/ NULL
;;
7946 MELT_LOCATION("warmelt-macro.melt:6563:/ locexp");
7957 /*clear*/ /*_#MELT_NEED_DBG__L1*/
7960 /*clear*/ /*_._IF___V6*/
7964 #else /*MELT_HAVE_DEBUG*/
7979 #endif /*MELT_HAVE_DEBUG*/
7983 MELT_LOCATION("warmelt-macro.melt:6564:/ cppif.then");
7989 MELT_CHECK_SIGNAL();
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");
7996 if (/*_#IS_A__L3*/ meltfnum
[1]) /*then*/
7999 /*_._IFELSE___V9*/ meltfptr
[5] = (/*nil*/NULL
);;
8003 MELT_LOCATION("warmelt-macro.melt:6564:/ cond.else");
8010 MELT_CHECK_SIGNAL();
8015 union meltparam_un argtab
[4];
8016 memset(&argtab
, 0, sizeof(argtab
));
8018 argtab
[0].meltbp_cstring
= "check sexpr";
8020 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
8022 argtab
[2].meltbp_long
= 6564;
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);
8030 meltfptr
[5] = /*_.MELT_ASSERT_FAILURE_FUN__V10*/ meltfptr
[9];;
8033 MELT_LOCATION("warmelt-macro.melt:6564:/ clear");
8034 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V10*/
8041 meltfptr
[6] = /*_._IFELSE___V9*/ meltfptr
[5];;
8044 MELT_LOCATION("warmelt-macro.melt:6564:/ clear");
8045 /*clear*/ /*_#IS_A__L3*/
8048 /*clear*/ /*_._IFELSE___V9*/
8052 #else /*MELT_HAVE_DEBUG*/
8054 /*_.IFCPP___V8*/ meltfptr
[6] = (/*nil*/NULL
);
8055 #endif /*MELT_HAVE_DEBUG*/
8059 MELT_LOCATION("warmelt-macro.melt:6565:/ cppif.then");
8065 MELT_CHECK_SIGNAL();
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");
8072 if (/*_#IS_A__L4*/ meltfnum
[0]) /*then*/
8075 /*_._IFELSE___V12*/ meltfptr
[5] = (/*nil*/NULL
);;
8079 MELT_LOCATION("warmelt-macro.melt:6565:/ cond.else");
8086 MELT_CHECK_SIGNAL();
8091 union meltparam_un argtab
[4];
8092 memset(&argtab
, 0, sizeof(argtab
));
8094 argtab
[0].meltbp_cstring
= "check env";
8096 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
8098 argtab
[2].meltbp_long
= 6565;
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);
8106 meltfptr
[5] = /*_.MELT_ASSERT_FAILURE_FUN__V13*/ meltfptr
[12];;
8109 MELT_LOCATION("warmelt-macro.melt:6565:/ clear");
8110 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V13*/
8117 meltfptr
[9] = /*_._IFELSE___V12*/ meltfptr
[5];;
8120 MELT_LOCATION("warmelt-macro.melt:6565:/ clear");
8121 /*clear*/ /*_#IS_A__L4*/
8124 /*clear*/ /*_._IFELSE___V12*/
8128 #else /*MELT_HAVE_DEBUG*/
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");
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");
8151 meltfptr
[15] = slot
;
8155 MELT_CHECK_SIGNAL();
8157 MELT_LOCATION("warmelt-macro.melt:6569:/ apply");
8160 union meltparam_un argtab
[3];
8161 memset(&argtab
, 0, sizeof(argtab
));
8163 argtab
[0].meltbp_aptr
= (melt_ptr_t
*) &/*_.ENV__V3*/ meltfptr
[2];
8165 argtab
[1].meltbp_aptr
= (melt_ptr_t
*) &/*_.MEXPANDER__V4*/ meltfptr
[3];
8167 argtab
[2].meltbp_aptr
= (melt_ptr_t
*) &/*_.MODCTX__V5*/ meltfptr
[4];
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");
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");
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");
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");
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");
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");
8210 melt_dbgtrace_written_object (/*_.INST__V19*/ meltfptr
[18], "newly made instance");
8213 meltfptr
[17] = /*_.INST__V19*/ meltfptr
[18];;
8215 MELT_CHECK_SIGNAL();
8218 /*_#MULTIPLE_LENGTH__L5*/
8220 (melt_multiple_length((melt_ptr_t
)(/*_.XARGTUP__V17*/ meltfptr
[16])));;
8224 ((0) == (/*_#MULTIPLE_LENGTH__L5*/ meltfnum
[1]));;
8225 MELT_LOCATION("warmelt-macro.melt:6577:/ cond");
8227 if (/*_#eqeqI__L6*/ meltfnum
[0]) /*then*/
8236 MELT_LOCATION("warmelt-macro.melt:6578:/ locexp");
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");
8245 meltfptr
[0] = /*reallynil*/ NULL
;;
8248 MELT_LOCATION("warmelt-macro.melt:6579:/ locexp");
8249 /*ochecknores compilobj_nrep_return*/
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*/
8261 goto meltlabend_rout
;
8262 MELT_LOCATION("warmelt-macro.melt:6577:/ quasiblock");
8266 meltfptr
[21] = /*_.RETURN___V21*/ meltfptr
[20];;
8269 meltfptr
[19] = /*_.PROGN___V22*/ meltfptr
[21];;
8272 MELT_LOCATION("warmelt-macro.melt:6577:/ clear");
8273 /*clear*/ /*_.RETURN___V21*/
8276 /*clear*/ /*_.PROGN___V22*/
8284 /*_._IF___V20*/ meltfptr
[19] = /*reallynil*/ NULL
;;
8289 MELT_LOCATION("warmelt-macro.melt:6580:/ cppif.then");
8297 /*melt_increment_dbgcounter*/
8305 MELT_CHECK_SIGNAL();
8307 /*_#MELT_NEED_DBG__L7*/
8311 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
8313 0 /* no melt_need_dbg */
8314 #endif /*MELT_HAVE_DEBUG*/
8316 MELT_LOCATION("warmelt-macro.melt:6580:/ cond");
8318 if (/*_#MELT_NEED_DBG__L7*/ meltfnum
[6]) /*then*/
8325 /*_#MELT_CALLCOUNT__L8*/ meltfnum
[7] =
8326 /* for melt_callcount */
8327 #if MELT_HAVE_DEBUG && defined (meltcallcount)
8328 meltcallcount
/* melt_callcount debugging */
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");
8339 union meltparam_un argtab
[5];
8340 memset(&argtab
, 0, sizeof(argtab
));
8342 argtab
[0].meltbp_long
= /*_#MELT_CALLCOUNT__L8*/ meltfnum
[7];
8344 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
8346 argtab
[2].meltbp_long
= 6580;
8348 argtab
[3].meltbp_cstring
= "mexpand_plus result";
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);
8356 meltfptr
[20] = /*_.MELT_DEBUG_FUN__V24*/ meltfptr
[21];;
8359 MELT_LOCATION("warmelt-macro.melt:6580:/ clear");
8360 /*clear*/ /*_#MELT_CALLCOUNT__L8*/
8363 /*clear*/ /*_.MELT_DEBUG_FUN__V24*/
8371 /*_._IF___V23*/ meltfptr
[20] = /*reallynil*/ NULL
;;
8376 MELT_LOCATION("warmelt-macro.melt:6580:/ locexp");
8387 /*clear*/ /*_#MELT_NEED_DBG__L7*/
8390 /*clear*/ /*_._IF___V23*/
8394 #else /*MELT_HAVE_DEBUG*/
8409 #endif /*MELT_HAVE_DEBUG*/
8412 MELT_CHECK_SIGNAL();
8414 MELT_LOCATION("warmelt-macro.melt:6581:/ quasiblock");
8418 meltfptr
[0] = /*_.RES__V18*/ meltfptr
[17];;
8421 MELT_LOCATION("warmelt-macro.melt:6581:/ locexp");
8422 /*ochecknores compilobj_nrep_return*/
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*/
8434 goto meltlabend_rout
;
8436 meltfptr
[12] = /*_.RETURN___V25*/ meltfptr
[21];;
8438 MELT_LOCATION("warmelt-macro.melt:6566:/ clear");
8439 /*clear*/ /*_.CONT__V15*/
8442 /*clear*/ /*_.LOC__V16*/
8445 /*clear*/ /*_.XARGTUP__V17*/
8448 /*clear*/ /*_.RES__V18*/
8451 /*clear*/ /*_#MULTIPLE_LENGTH__L5*/
8454 /*clear*/ /*_#eqeqI__L6*/
8457 /*clear*/ /*_._IF___V20*/
8460 /*clear*/ /*_.RETURN___V25*/
8463 MELT_CHECK_SIGNAL();
8465 MELT_LOCATION("warmelt-macro.melt:6562:/ quasiblock");
8469 meltfptr
[0] = /*_.LET___V14*/ meltfptr
[12];;
8472 MELT_LOCATION("warmelt-macro.melt:6562:/ locexp");
8473 /*ochecknores compilobj_nrep_return*/
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*/
8485 goto meltlabend_rout
;
8489 /*clear*/ /*_.IFCPP___V8*/
8492 /*clear*/ /*_.IFCPP___V11*/
8495 /*clear*/ /*_.LET___V14*/
8500 goto 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
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
;
8523 static long melt_call_counter__
;
8524 long melt_thiscallcounter__ ATTRIBUTE_UNUSED
= ++ melt_call_counter__
;
8525 #undef meltcallcount
8526 #define meltcallcount melt_thiscallcounter__
8528 #undef meltcallcount
8529 #define meltcallcount 0L
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];
8544 void melt_mark_stuff (void)
8546 } /*end melt_mark_stuff*/
8547 virtual void melt_mark_ggc_data (void)
8549 melt_mark_values ();
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*/
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*/
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*/
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
);
8594 (void)meltfirstargp_
;
8595 (void)meltxargdescr_
;
8597 (void)meltxresdescr_
;
8602 MELT_LOCATION("warmelt-macro.melt:6591:/ getarg");
8604 meltfptr
[1] = (melt_ptr_t
) meltfirstargp_
;
8608 if (meltxargdescr_
[0] != MELTBPAR_PTR
) goto meltlab_endgetargs
;
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
);
8616 if (meltxargdescr_
[1] != MELTBPAR_PTR
) goto meltlab_endgetargs
;
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
);
8624 if (meltxargdescr_
[2] != MELTBPAR_PTR
) goto meltlab_endgetargs
;
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
;
8640 MELT_LOCATION("warmelt-macro.melt:6592:/ cppif.then");
8648 /*melt_increment_dbgcounter*/
8656 MELT_CHECK_SIGNAL();
8658 /*_#MELT_NEED_DBG__L1*/
8662 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
8664 0 /* no melt_need_dbg */
8665 #endif /*MELT_HAVE_DEBUG*/
8667 MELT_LOCATION("warmelt-macro.melt:6592:/ cond");
8669 if (/*_#MELT_NEED_DBG__L1*/ meltfnum
[0]) /*then*/
8676 /*_#MELT_CALLCOUNT__L2*/ meltfnum
[1] =
8677 /* for melt_callcount */
8678 #if MELT_HAVE_DEBUG && defined (meltcallcount)
8679 meltcallcount
/* melt_callcount debugging */
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");
8690 union meltparam_un argtab
[5];
8691 memset(&argtab
, 0, sizeof(argtab
));
8693 argtab
[0].meltbp_long
= /*_#MELT_CALLCOUNT__L2*/ meltfnum
[1];
8695 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
8697 argtab
[2].meltbp_long
= 6592;
8699 argtab
[3].meltbp_cstring
= "mexpand_minus sexpr=";
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);
8707 meltfptr
[5] = /*_.MELT_DEBUG_FUN__V7*/ meltfptr
[6];;
8710 MELT_LOCATION("warmelt-macro.melt:6592:/ clear");
8711 /*clear*/ /*_#MELT_CALLCOUNT__L2*/
8714 /*clear*/ /*_.MELT_DEBUG_FUN__V7*/
8722 /*_._IF___V6*/ meltfptr
[5] = /*reallynil*/ NULL
;;
8727 MELT_LOCATION("warmelt-macro.melt:6592:/ locexp");
8738 /*clear*/ /*_#MELT_NEED_DBG__L1*/
8741 /*clear*/ /*_._IF___V6*/
8745 #else /*MELT_HAVE_DEBUG*/
8760 #endif /*MELT_HAVE_DEBUG*/
8764 MELT_LOCATION("warmelt-macro.melt:6593:/ cppif.then");
8770 MELT_CHECK_SIGNAL();
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");
8777 if (/*_#IS_A__L3*/ meltfnum
[1]) /*then*/
8780 /*_._IFELSE___V9*/ meltfptr
[5] = (/*nil*/NULL
);;
8784 MELT_LOCATION("warmelt-macro.melt:6593:/ cond.else");
8791 MELT_CHECK_SIGNAL();
8796 union meltparam_un argtab
[4];
8797 memset(&argtab
, 0, sizeof(argtab
));
8799 argtab
[0].meltbp_cstring
= "check sexpr";
8801 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
8803 argtab
[2].meltbp_long
= 6593;
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);
8811 meltfptr
[5] = /*_.MELT_ASSERT_FAILURE_FUN__V10*/ meltfptr
[9];;
8814 MELT_LOCATION("warmelt-macro.melt:6593:/ clear");
8815 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V10*/
8822 meltfptr
[6] = /*_._IFELSE___V9*/ meltfptr
[5];;
8825 MELT_LOCATION("warmelt-macro.melt:6593:/ clear");
8826 /*clear*/ /*_#IS_A__L3*/
8829 /*clear*/ /*_._IFELSE___V9*/
8833 #else /*MELT_HAVE_DEBUG*/
8835 /*_.IFCPP___V8*/ meltfptr
[6] = (/*nil*/NULL
);
8836 #endif /*MELT_HAVE_DEBUG*/
8840 MELT_LOCATION("warmelt-macro.melt:6594:/ cppif.then");
8846 MELT_CHECK_SIGNAL();
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");
8853 if (/*_#IS_A__L4*/ meltfnum
[0]) /*then*/
8856 /*_._IFELSE___V12*/ meltfptr
[5] = (/*nil*/NULL
);;
8860 MELT_LOCATION("warmelt-macro.melt:6594:/ cond.else");
8867 MELT_CHECK_SIGNAL();
8872 union meltparam_un argtab
[4];
8873 memset(&argtab
, 0, sizeof(argtab
));
8875 argtab
[0].meltbp_cstring
= "check env";
8877 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
8879 argtab
[2].meltbp_long
= 6594;
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);
8887 meltfptr
[5] = /*_.MELT_ASSERT_FAILURE_FUN__V13*/ meltfptr
[12];;
8890 MELT_LOCATION("warmelt-macro.melt:6594:/ clear");
8891 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V13*/
8898 meltfptr
[9] = /*_._IFELSE___V12*/ meltfptr
[5];;
8901 MELT_LOCATION("warmelt-macro.melt:6594:/ clear");
8902 /*clear*/ /*_#IS_A__L4*/
8905 /*clear*/ /*_._IFELSE___V12*/
8909 #else /*MELT_HAVE_DEBUG*/
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");
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");
8932 meltfptr
[15] = slot
;
8936 MELT_CHECK_SIGNAL();
8938 MELT_LOCATION("warmelt-macro.melt:6598:/ apply");
8941 union meltparam_un argtab
[3];
8942 memset(&argtab
, 0, sizeof(argtab
));
8944 argtab
[0].meltbp_aptr
= (melt_ptr_t
*) &/*_.ENV__V3*/ meltfptr
[2];
8946 argtab
[1].meltbp_aptr
= (melt_ptr_t
*) &/*_.MEXPANDER__V4*/ meltfptr
[3];
8948 argtab
[2].meltbp_aptr
= (melt_ptr_t
*) &/*_.MODCTX__V5*/ meltfptr
[4];
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");
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");
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");
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");
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");
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");
8991 melt_dbgtrace_written_object (/*_.INST__V19*/ meltfptr
[18], "newly made instance");
8994 meltfptr
[17] = /*_.INST__V19*/ meltfptr
[18];;
8996 MELT_CHECK_SIGNAL();
8999 /*_#MULTIPLE_LENGTH__L5*/
9001 (melt_multiple_length((melt_ptr_t
)(/*_.XARGTUP__V17*/ meltfptr
[16])));;
9005 ((0) == (/*_#MULTIPLE_LENGTH__L5*/ meltfnum
[1]));;
9006 MELT_LOCATION("warmelt-macro.melt:6606:/ cond");
9008 if (/*_#eqeqI__L6*/ meltfnum
[0]) /*then*/
9017 MELT_LOCATION("warmelt-macro.melt:6607:/ locexp");
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");
9026 meltfptr
[0] = /*reallynil*/ NULL
;;
9029 MELT_LOCATION("warmelt-macro.melt:6608:/ locexp");
9030 /*ochecknores compilobj_nrep_return*/
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*/
9042 goto meltlabend_rout
;
9043 MELT_LOCATION("warmelt-macro.melt:6606:/ quasiblock");
9047 meltfptr
[21] = /*_.RETURN___V21*/ meltfptr
[20];;
9050 meltfptr
[19] = /*_.PROGN___V22*/ meltfptr
[21];;
9053 MELT_LOCATION("warmelt-macro.melt:6606:/ clear");
9054 /*clear*/ /*_.RETURN___V21*/
9057 /*clear*/ /*_.PROGN___V22*/
9065 /*_._IF___V20*/ meltfptr
[19] = /*reallynil*/ NULL
;;
9070 MELT_LOCATION("warmelt-macro.melt:6609:/ cppif.then");
9078 /*melt_increment_dbgcounter*/
9086 MELT_CHECK_SIGNAL();
9088 /*_#MELT_NEED_DBG__L7*/
9092 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
9094 0 /* no melt_need_dbg */
9095 #endif /*MELT_HAVE_DEBUG*/
9097 MELT_LOCATION("warmelt-macro.melt:6609:/ cond");
9099 if (/*_#MELT_NEED_DBG__L7*/ meltfnum
[6]) /*then*/
9106 /*_#MELT_CALLCOUNT__L8*/ meltfnum
[7] =
9107 /* for melt_callcount */
9108 #if MELT_HAVE_DEBUG && defined (meltcallcount)
9109 meltcallcount
/* melt_callcount debugging */
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");
9120 union meltparam_un argtab
[5];
9121 memset(&argtab
, 0, sizeof(argtab
));
9123 argtab
[0].meltbp_long
= /*_#MELT_CALLCOUNT__L8*/ meltfnum
[7];
9125 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
9127 argtab
[2].meltbp_long
= 6609;
9129 argtab
[3].meltbp_cstring
= "mexpand_minus result";
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);
9137 meltfptr
[20] = /*_.MELT_DEBUG_FUN__V24*/ meltfptr
[21];;
9140 MELT_LOCATION("warmelt-macro.melt:6609:/ clear");
9141 /*clear*/ /*_#MELT_CALLCOUNT__L8*/
9144 /*clear*/ /*_.MELT_DEBUG_FUN__V24*/
9152 /*_._IF___V23*/ meltfptr
[20] = /*reallynil*/ NULL
;;
9157 MELT_LOCATION("warmelt-macro.melt:6609:/ locexp");
9168 /*clear*/ /*_#MELT_NEED_DBG__L7*/
9171 /*clear*/ /*_._IF___V23*/
9175 #else /*MELT_HAVE_DEBUG*/
9190 #endif /*MELT_HAVE_DEBUG*/
9193 MELT_CHECK_SIGNAL();
9195 MELT_LOCATION("warmelt-macro.melt:6610:/ quasiblock");
9199 meltfptr
[0] = /*_.RES__V18*/ meltfptr
[17];;
9202 MELT_LOCATION("warmelt-macro.melt:6610:/ locexp");
9203 /*ochecknores compilobj_nrep_return*/
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*/
9215 goto meltlabend_rout
;
9217 meltfptr
[12] = /*_.RETURN___V25*/ meltfptr
[21];;
9219 MELT_LOCATION("warmelt-macro.melt:6595:/ clear");
9220 /*clear*/ /*_.CONT__V15*/
9223 /*clear*/ /*_.LOC__V16*/
9226 /*clear*/ /*_.XARGTUP__V17*/
9229 /*clear*/ /*_.RES__V18*/
9232 /*clear*/ /*_#MULTIPLE_LENGTH__L5*/
9235 /*clear*/ /*_#eqeqI__L6*/
9238 /*clear*/ /*_._IF___V20*/
9241 /*clear*/ /*_.RETURN___V25*/
9244 MELT_CHECK_SIGNAL();
9246 MELT_LOCATION("warmelt-macro.melt:6591:/ quasiblock");
9250 meltfptr
[0] = /*_.LET___V14*/ meltfptr
[12];;
9253 MELT_LOCATION("warmelt-macro.melt:6591:/ locexp");
9254 /*ochecknores compilobj_nrep_return*/
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*/
9266 goto meltlabend_rout
;
9270 /*clear*/ /*_.IFCPP___V8*/
9273 /*clear*/ /*_.IFCPP___V11*/
9276 /*clear*/ /*_.LET___V14*/
9281 goto 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
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
;
9304 static long melt_call_counter__
;
9305 long melt_thiscallcounter__ ATTRIBUTE_UNUSED
= ++ melt_call_counter__
;
9306 #undef meltcallcount
9307 #define meltcallcount melt_thiscallcounter__
9309 #undef meltcallcount
9310 #define meltcallcount 0L
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];
9325 void melt_mark_stuff (void)
9327 } /*end melt_mark_stuff*/
9328 virtual void melt_mark_ggc_data (void)
9330 melt_mark_values ();
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*/
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*/
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*/
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
);
9375 (void)meltfirstargp_
;
9376 (void)meltxargdescr_
;
9378 (void)meltxresdescr_
;
9383 MELT_LOCATION("warmelt-macro.melt:6620:/ getarg");
9385 meltfptr
[1] = (melt_ptr_t
) meltfirstargp_
;
9389 if (meltxargdescr_
[0] != MELTBPAR_PTR
) goto meltlab_endgetargs
;
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
);
9397 if (meltxargdescr_
[1] != MELTBPAR_PTR
) goto meltlab_endgetargs
;
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
);
9405 if (meltxargdescr_
[2] != MELTBPAR_PTR
) goto meltlab_endgetargs
;
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
;
9421 MELT_LOCATION("warmelt-macro.melt:6621:/ cppif.then");
9429 /*melt_increment_dbgcounter*/
9437 MELT_CHECK_SIGNAL();
9439 /*_#MELT_NEED_DBG__L1*/
9443 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
9445 0 /* no melt_need_dbg */
9446 #endif /*MELT_HAVE_DEBUG*/
9448 MELT_LOCATION("warmelt-macro.melt:6621:/ cond");
9450 if (/*_#MELT_NEED_DBG__L1*/ meltfnum
[0]) /*then*/
9457 /*_#MELT_CALLCOUNT__L2*/ meltfnum
[1] =
9458 /* for melt_callcount */
9459 #if MELT_HAVE_DEBUG && defined (meltcallcount)
9460 meltcallcount
/* melt_callcount debugging */
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");
9471 union meltparam_un argtab
[5];
9472 memset(&argtab
, 0, sizeof(argtab
));
9474 argtab
[0].meltbp_long
= /*_#MELT_CALLCOUNT__L2*/ meltfnum
[1];
9476 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
9478 argtab
[2].meltbp_long
= 6621;
9480 argtab
[3].meltbp_cstring
= "mexpand_times sexpr=";
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);
9488 meltfptr
[5] = /*_.MELT_DEBUG_FUN__V7*/ meltfptr
[6];;
9491 MELT_LOCATION("warmelt-macro.melt:6621:/ clear");
9492 /*clear*/ /*_#MELT_CALLCOUNT__L2*/
9495 /*clear*/ /*_.MELT_DEBUG_FUN__V7*/
9503 /*_._IF___V6*/ meltfptr
[5] = /*reallynil*/ NULL
;;
9508 MELT_LOCATION("warmelt-macro.melt:6621:/ locexp");
9519 /*clear*/ /*_#MELT_NEED_DBG__L1*/
9522 /*clear*/ /*_._IF___V6*/
9526 #else /*MELT_HAVE_DEBUG*/
9541 #endif /*MELT_HAVE_DEBUG*/
9545 MELT_LOCATION("warmelt-macro.melt:6622:/ cppif.then");
9551 MELT_CHECK_SIGNAL();
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");
9558 if (/*_#IS_A__L3*/ meltfnum
[1]) /*then*/
9561 /*_._IFELSE___V9*/ meltfptr
[5] = (/*nil*/NULL
);;
9565 MELT_LOCATION("warmelt-macro.melt:6622:/ cond.else");
9572 MELT_CHECK_SIGNAL();
9577 union meltparam_un argtab
[4];
9578 memset(&argtab
, 0, sizeof(argtab
));
9580 argtab
[0].meltbp_cstring
= "check sexpr";
9582 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
9584 argtab
[2].meltbp_long
= 6622;
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);
9592 meltfptr
[5] = /*_.MELT_ASSERT_FAILURE_FUN__V10*/ meltfptr
[9];;
9595 MELT_LOCATION("warmelt-macro.melt:6622:/ clear");
9596 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V10*/
9603 meltfptr
[6] = /*_._IFELSE___V9*/ meltfptr
[5];;
9606 MELT_LOCATION("warmelt-macro.melt:6622:/ clear");
9607 /*clear*/ /*_#IS_A__L3*/
9610 /*clear*/ /*_._IFELSE___V9*/
9614 #else /*MELT_HAVE_DEBUG*/
9616 /*_.IFCPP___V8*/ meltfptr
[6] = (/*nil*/NULL
);
9617 #endif /*MELT_HAVE_DEBUG*/
9621 MELT_LOCATION("warmelt-macro.melt:6623:/ cppif.then");
9627 MELT_CHECK_SIGNAL();
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");
9634 if (/*_#IS_A__L4*/ meltfnum
[0]) /*then*/
9637 /*_._IFELSE___V12*/ meltfptr
[5] = (/*nil*/NULL
);;
9641 MELT_LOCATION("warmelt-macro.melt:6623:/ cond.else");
9648 MELT_CHECK_SIGNAL();
9653 union meltparam_un argtab
[4];
9654 memset(&argtab
, 0, sizeof(argtab
));
9656 argtab
[0].meltbp_cstring
= "check env";
9658 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
9660 argtab
[2].meltbp_long
= 6623;
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);
9668 meltfptr
[5] = /*_.MELT_ASSERT_FAILURE_FUN__V13*/ meltfptr
[12];;
9671 MELT_LOCATION("warmelt-macro.melt:6623:/ clear");
9672 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V13*/
9679 meltfptr
[9] = /*_._IFELSE___V12*/ meltfptr
[5];;
9682 MELT_LOCATION("warmelt-macro.melt:6623:/ clear");
9683 /*clear*/ /*_#IS_A__L4*/
9686 /*clear*/ /*_._IFELSE___V12*/
9690 #else /*MELT_HAVE_DEBUG*/
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");
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");
9713 meltfptr
[15] = slot
;
9717 MELT_CHECK_SIGNAL();
9719 MELT_LOCATION("warmelt-macro.melt:6627:/ apply");
9722 union meltparam_un argtab
[3];
9723 memset(&argtab
, 0, sizeof(argtab
));
9725 argtab
[0].meltbp_aptr
= (melt_ptr_t
*) &/*_.ENV__V3*/ meltfptr
[2];
9727 argtab
[1].meltbp_aptr
= (melt_ptr_t
*) &/*_.MEXPANDER__V4*/ meltfptr
[3];
9729 argtab
[2].meltbp_aptr
= (melt_ptr_t
*) &/*_.MODCTX__V5*/ meltfptr
[4];
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");
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");
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");
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");
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");
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");
9772 melt_dbgtrace_written_object (/*_.INST__V19*/ meltfptr
[18], "newly made instance");
9775 meltfptr
[17] = /*_.INST__V19*/ meltfptr
[18];;
9777 MELT_CHECK_SIGNAL();
9780 /*_#MULTIPLE_LENGTH__L5*/
9782 (melt_multiple_length((melt_ptr_t
)(/*_.XARGTUP__V17*/ meltfptr
[16])));;
9786 ((0) == (/*_#MULTIPLE_LENGTH__L5*/ meltfnum
[1]));;
9787 MELT_LOCATION("warmelt-macro.melt:6635:/ cond");
9789 if (/*_#eqeqI__L6*/ meltfnum
[0]) /*then*/
9798 MELT_LOCATION("warmelt-macro.melt:6636:/ locexp");
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");
9807 meltfptr
[0] = /*reallynil*/ NULL
;;
9810 MELT_LOCATION("warmelt-macro.melt:6637:/ locexp");
9811 /*ochecknores compilobj_nrep_return*/
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*/
9823 goto meltlabend_rout
;
9824 MELT_LOCATION("warmelt-macro.melt:6635:/ quasiblock");
9828 meltfptr
[21] = /*_.RETURN___V21*/ meltfptr
[20];;
9831 meltfptr
[19] = /*_.PROGN___V22*/ meltfptr
[21];;
9834 MELT_LOCATION("warmelt-macro.melt:6635:/ clear");
9835 /*clear*/ /*_.RETURN___V21*/
9838 /*clear*/ /*_.PROGN___V22*/
9846 /*_._IF___V20*/ meltfptr
[19] = /*reallynil*/ NULL
;;
9851 MELT_LOCATION("warmelt-macro.melt:6638:/ cppif.then");
9859 /*melt_increment_dbgcounter*/
9867 MELT_CHECK_SIGNAL();
9869 /*_#MELT_NEED_DBG__L7*/
9873 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
9875 0 /* no melt_need_dbg */
9876 #endif /*MELT_HAVE_DEBUG*/
9878 MELT_LOCATION("warmelt-macro.melt:6638:/ cond");
9880 if (/*_#MELT_NEED_DBG__L7*/ meltfnum
[6]) /*then*/
9887 /*_#MELT_CALLCOUNT__L8*/ meltfnum
[7] =
9888 /* for melt_callcount */
9889 #if MELT_HAVE_DEBUG && defined (meltcallcount)
9890 meltcallcount
/* melt_callcount debugging */
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");
9901 union meltparam_un argtab
[5];
9902 memset(&argtab
, 0, sizeof(argtab
));
9904 argtab
[0].meltbp_long
= /*_#MELT_CALLCOUNT__L8*/ meltfnum
[7];
9906 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
9908 argtab
[2].meltbp_long
= 6638;
9910 argtab
[3].meltbp_cstring
= "mexpand_times result";
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);
9918 meltfptr
[20] = /*_.MELT_DEBUG_FUN__V24*/ meltfptr
[21];;
9921 MELT_LOCATION("warmelt-macro.melt:6638:/ clear");
9922 /*clear*/ /*_#MELT_CALLCOUNT__L8*/
9925 /*clear*/ /*_.MELT_DEBUG_FUN__V24*/
9933 /*_._IF___V23*/ meltfptr
[20] = /*reallynil*/ NULL
;;
9938 MELT_LOCATION("warmelt-macro.melt:6638:/ locexp");
9949 /*clear*/ /*_#MELT_NEED_DBG__L7*/
9952 /*clear*/ /*_._IF___V23*/
9956 #else /*MELT_HAVE_DEBUG*/
9971 #endif /*MELT_HAVE_DEBUG*/
9974 MELT_CHECK_SIGNAL();
9976 MELT_LOCATION("warmelt-macro.melt:6639:/ quasiblock");
9980 meltfptr
[0] = /*_.RES__V18*/ meltfptr
[17];;
9983 MELT_LOCATION("warmelt-macro.melt:6639:/ locexp");
9984 /*ochecknores compilobj_nrep_return*/
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*/
9996 goto meltlabend_rout
;
9998 meltfptr
[12] = /*_.RETURN___V25*/ meltfptr
[21];;
10000 MELT_LOCATION("warmelt-macro.melt:6624:/ clear");
10001 /*clear*/ /*_.CONT__V15*/
10004 /*clear*/ /*_.LOC__V16*/
10007 /*clear*/ /*_.XARGTUP__V17*/
10010 /*clear*/ /*_.RES__V18*/
10013 /*clear*/ /*_#MULTIPLE_LENGTH__L5*/
10016 /*clear*/ /*_#eqeqI__L6*/
10019 /*clear*/ /*_._IF___V20*/
10022 /*clear*/ /*_.RETURN___V25*/
10025 MELT_CHECK_SIGNAL();
10027 MELT_LOCATION("warmelt-macro.melt:6620:/ quasiblock");
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*/
10047 goto meltlabend_rout
;
10051 /*clear*/ /*_.IFCPP___V8*/
10054 /*clear*/ /*_.IFCPP___V11*/
10057 /*clear*/ /*_.LET___V14*/
10062 goto 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
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__
10090 #undef meltcallcount
10091 #define meltcallcount 0L
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];
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
);
10156 (void)meltfirstargp_
;
10157 (void)meltxargdescr_
;
10158 (void)meltxargtab_
;
10159 (void)meltxresdescr_
;
10160 (void)meltxrestab_
;
10164 MELT_LOCATION("warmelt-macro.melt:6649:/ getarg");
10166 meltfptr
[1] = (melt_ptr_t
) meltfirstargp_
;
10170 if (meltxargdescr_
[0] != MELTBPAR_PTR
) goto meltlab_endgetargs
;
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
);
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
);
10186 if (meltxargdescr_
[2] != MELTBPAR_PTR
) goto meltlab_endgetargs
;
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
:
10201 #if MELT_HAVE_DEBUG
10202 MELT_LOCATION("warmelt-macro.melt:6650:/ cppif.then");
10210 /*melt_increment_dbgcounter*/
10211 #if MELT_HAVE_DEBUG
10218 MELT_CHECK_SIGNAL();
10220 /*_#MELT_NEED_DBG__L1*/
10223 #if MELT_HAVE_DEBUG
10224 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
10226 0 /* no melt_need_dbg */
10227 #endif /*MELT_HAVE_DEBUG*/
10229 MELT_LOCATION("warmelt-macro.melt:6650:/ cond");
10231 if (/*_#MELT_NEED_DBG__L1*/ meltfnum
[0]) /*then*/
10238 /*_#MELT_CALLCOUNT__L2*/ meltfnum
[1] =
10239 /* for melt_callcount */
10240 #if MELT_HAVE_DEBUG && defined (meltcallcount)
10241 meltcallcount
/* melt_callcount debugging */
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");
10252 union meltparam_un argtab
[5];
10253 memset(&argtab
, 0, sizeof(argtab
));
10255 argtab
[0].meltbp_long
= /*_#MELT_CALLCOUNT__L2*/ meltfnum
[1];
10257 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
10259 argtab
[2].meltbp_long
= 6650;
10261 argtab
[3].meltbp_cstring
= "mexpand_div sexpr=";
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);
10269 meltfptr
[5] = /*_.MELT_DEBUG_FUN__V7*/ meltfptr
[6];;
10272 MELT_LOCATION("warmelt-macro.melt:6650:/ clear");
10273 /*clear*/ /*_#MELT_CALLCOUNT__L2*/
10276 /*clear*/ /*_.MELT_DEBUG_FUN__V7*/
10281 else /*^cond.else*/
10284 /*_._IF___V6*/ meltfptr
[5] = /*reallynil*/ NULL
;;
10289 MELT_LOCATION("warmelt-macro.melt:6650:/ locexp");
10300 /*clear*/ /*_#MELT_NEED_DBG__L1*/
10303 /*clear*/ /*_._IF___V6*/
10307 #else /*MELT_HAVE_DEBUG*/
10322 #endif /*MELT_HAVE_DEBUG*/
10325 #if MELT_HAVE_DEBUG
10326 MELT_LOCATION("warmelt-macro.melt:6651:/ cppif.then");
10332 MELT_CHECK_SIGNAL();
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");
10339 if (/*_#IS_A__L3*/ meltfnum
[1]) /*then*/
10342 /*_._IFELSE___V9*/ meltfptr
[5] = (/*nil*/NULL
);;
10346 MELT_LOCATION("warmelt-macro.melt:6651:/ cond.else");
10353 MELT_CHECK_SIGNAL();
10358 union meltparam_un argtab
[4];
10359 memset(&argtab
, 0, sizeof(argtab
));
10361 argtab
[0].meltbp_cstring
= "check sexpr";
10363 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
10365 argtab
[2].meltbp_long
= 6651;
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);
10373 meltfptr
[5] = /*_.MELT_ASSERT_FAILURE_FUN__V10*/ meltfptr
[9];;
10376 MELT_LOCATION("warmelt-macro.melt:6651:/ clear");
10377 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V10*/
10384 meltfptr
[6] = /*_._IFELSE___V9*/ meltfptr
[5];;
10387 MELT_LOCATION("warmelt-macro.melt:6651:/ clear");
10388 /*clear*/ /*_#IS_A__L3*/
10391 /*clear*/ /*_._IFELSE___V9*/
10395 #else /*MELT_HAVE_DEBUG*/
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");
10408 MELT_CHECK_SIGNAL();
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");
10415 if (/*_#IS_A__L4*/ meltfnum
[0]) /*then*/
10418 /*_._IFELSE___V12*/ meltfptr
[5] = (/*nil*/NULL
);;
10422 MELT_LOCATION("warmelt-macro.melt:6652:/ cond.else");
10429 MELT_CHECK_SIGNAL();
10434 union meltparam_un argtab
[4];
10435 memset(&argtab
, 0, sizeof(argtab
));
10437 argtab
[0].meltbp_cstring
= "check env";
10439 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
10441 argtab
[2].meltbp_long
= 6652;
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];;
10452 MELT_LOCATION("warmelt-macro.melt:6652:/ clear");
10453 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V13*/
10460 meltfptr
[9] = /*_._IFELSE___V12*/ meltfptr
[5];;
10463 MELT_LOCATION("warmelt-macro.melt:6652:/ clear");
10464 /*clear*/ /*_#IS_A__L4*/
10467 /*clear*/ /*_._IFELSE___V12*/
10471 #else /*MELT_HAVE_DEBUG*/
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");
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");
10494 meltfptr
[15] = slot
;
10498 MELT_CHECK_SIGNAL();
10500 MELT_LOCATION("warmelt-macro.melt:6656:/ apply");
10503 union meltparam_un argtab
[3];
10504 memset(&argtab
, 0, sizeof(argtab
));
10506 argtab
[0].meltbp_aptr
= (melt_ptr_t
*) &/*_.ENV__V3*/ meltfptr
[2];
10508 argtab
[1].meltbp_aptr
= (melt_ptr_t
*) &/*_.MEXPANDER__V4*/ meltfptr
[3];
10510 argtab
[2].meltbp_aptr
= (melt_ptr_t
*) &/*_.MODCTX__V5*/ meltfptr
[4];
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");
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");
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");
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");
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");
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");
10553 melt_dbgtrace_written_object (/*_.INST__V19*/ meltfptr
[18], "newly made instance");
10556 meltfptr
[17] = /*_.INST__V19*/ meltfptr
[18];;
10558 MELT_CHECK_SIGNAL();
10561 /*_#MULTIPLE_LENGTH__L5*/
10563 (melt_multiple_length((melt_ptr_t
)(/*_.XARGTUP__V17*/ meltfptr
[16])));;
10567 ((0) == (/*_#MULTIPLE_LENGTH__L5*/ meltfnum
[1]));;
10568 MELT_LOCATION("warmelt-macro.melt:6664:/ cond");
10570 if (/*_#eqeqI__L6*/ meltfnum
[0]) /*then*/
10579 MELT_LOCATION("warmelt-macro.melt:6665:/ locexp");
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");
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*/
10604 goto meltlabend_rout
;
10605 MELT_LOCATION("warmelt-macro.melt:6664:/ quasiblock");
10609 meltfptr
[21] = /*_.RETURN___V21*/ meltfptr
[20];;
10612 meltfptr
[19] = /*_.PROGN___V22*/ meltfptr
[21];;
10615 MELT_LOCATION("warmelt-macro.melt:6664:/ clear");
10616 /*clear*/ /*_.RETURN___V21*/
10619 /*clear*/ /*_.PROGN___V22*/
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");
10640 /*melt_increment_dbgcounter*/
10641 #if MELT_HAVE_DEBUG
10648 MELT_CHECK_SIGNAL();
10650 /*_#MELT_NEED_DBG__L7*/
10653 #if MELT_HAVE_DEBUG
10654 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
10656 0 /* no melt_need_dbg */
10657 #endif /*MELT_HAVE_DEBUG*/
10659 MELT_LOCATION("warmelt-macro.melt:6667:/ cond");
10661 if (/*_#MELT_NEED_DBG__L7*/ meltfnum
[6]) /*then*/
10668 /*_#MELT_CALLCOUNT__L8*/ meltfnum
[7] =
10669 /* for melt_callcount */
10670 #if MELT_HAVE_DEBUG && defined (meltcallcount)
10671 meltcallcount
/* melt_callcount debugging */
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");
10682 union meltparam_un argtab
[5];
10683 memset(&argtab
, 0, sizeof(argtab
));
10685 argtab
[0].meltbp_long
= /*_#MELT_CALLCOUNT__L8*/ meltfnum
[7];
10687 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
10689 argtab
[2].meltbp_long
= 6667;
10691 argtab
[3].meltbp_cstring
= "mexpand_div result";
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);
10699 meltfptr
[20] = /*_.MELT_DEBUG_FUN__V24*/ meltfptr
[21];;
10702 MELT_LOCATION("warmelt-macro.melt:6667:/ clear");
10703 /*clear*/ /*_#MELT_CALLCOUNT__L8*/
10706 /*clear*/ /*_.MELT_DEBUG_FUN__V24*/
10711 else /*^cond.else*/
10714 /*_._IF___V23*/ meltfptr
[20] = /*reallynil*/ NULL
;;
10719 MELT_LOCATION("warmelt-macro.melt:6667:/ locexp");
10730 /*clear*/ /*_#MELT_NEED_DBG__L7*/
10733 /*clear*/ /*_._IF___V23*/
10737 #else /*MELT_HAVE_DEBUG*/
10752 #endif /*MELT_HAVE_DEBUG*/
10755 MELT_CHECK_SIGNAL();
10757 MELT_LOCATION("warmelt-macro.melt:6668:/ quasiblock");
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*/
10777 goto meltlabend_rout
;
10779 meltfptr
[12] = /*_.RETURN___V25*/ meltfptr
[21];;
10781 MELT_LOCATION("warmelt-macro.melt:6653:/ clear");
10782 /*clear*/ /*_.CONT__V15*/
10785 /*clear*/ /*_.LOC__V16*/
10788 /*clear*/ /*_.XARGTUP__V17*/
10791 /*clear*/ /*_.RES__V18*/
10794 /*clear*/ /*_#MULTIPLE_LENGTH__L5*/
10797 /*clear*/ /*_#eqeqI__L6*/
10800 /*clear*/ /*_._IF___V20*/
10803 /*clear*/ /*_.RETURN___V25*/
10806 MELT_CHECK_SIGNAL();
10808 MELT_LOCATION("warmelt-macro.melt:6649:/ quasiblock");
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*/
10828 goto meltlabend_rout
;
10832 /*clear*/ /*_.IFCPP___V8*/
10835 /*clear*/ /*_.IFCPP___V11*/
10838 /*clear*/ /*_.LET___V14*/
10843 goto 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
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__
10871 #undef meltcallcount
10872 #define meltcallcount 0L
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];
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
);
10937 (void)meltfirstargp_
;
10938 (void)meltxargdescr_
;
10939 (void)meltxargtab_
;
10940 (void)meltxresdescr_
;
10941 (void)meltxrestab_
;
10945 MELT_LOCATION("warmelt-macro.melt:6678:/ getarg");
10947 meltfptr
[1] = (melt_ptr_t
) meltfirstargp_
;
10951 if (meltxargdescr_
[0] != MELTBPAR_PTR
) goto meltlab_endgetargs
;
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
);
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
);
10967 if (meltxargdescr_
[2] != MELTBPAR_PTR
) goto meltlab_endgetargs
;
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
:
10982 #if MELT_HAVE_DEBUG
10983 MELT_LOCATION("warmelt-macro.melt:6679:/ cppif.then");
10991 /*melt_increment_dbgcounter*/
10992 #if MELT_HAVE_DEBUG
10999 MELT_CHECK_SIGNAL();
11001 /*_#MELT_NEED_DBG__L1*/
11004 #if MELT_HAVE_DEBUG
11005 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
11007 0 /* no melt_need_dbg */
11008 #endif /*MELT_HAVE_DEBUG*/
11010 MELT_LOCATION("warmelt-macro.melt:6679:/ cond");
11012 if (/*_#MELT_NEED_DBG__L1*/ meltfnum
[0]) /*then*/
11019 /*_#MELT_CALLCOUNT__L2*/ meltfnum
[1] =
11020 /* for melt_callcount */
11021 #if MELT_HAVE_DEBUG && defined (meltcallcount)
11022 meltcallcount
/* melt_callcount debugging */
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");
11033 union meltparam_un argtab
[5];
11034 memset(&argtab
, 0, sizeof(argtab
));
11036 argtab
[0].meltbp_long
= /*_#MELT_CALLCOUNT__L2*/ meltfnum
[1];
11038 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
11040 argtab
[2].meltbp_long
= 6679;
11042 argtab
[3].meltbp_cstring
= "mexpand_tuple sexpr=";
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);
11050 meltfptr
[5] = /*_.MELT_DEBUG_FUN__V7*/ meltfptr
[6];;
11053 MELT_LOCATION("warmelt-macro.melt:6679:/ clear");
11054 /*clear*/ /*_#MELT_CALLCOUNT__L2*/
11057 /*clear*/ /*_.MELT_DEBUG_FUN__V7*/
11062 else /*^cond.else*/
11065 /*_._IF___V6*/ meltfptr
[5] = /*reallynil*/ NULL
;;
11070 MELT_LOCATION("warmelt-macro.melt:6679:/ locexp");
11081 /*clear*/ /*_#MELT_NEED_DBG__L1*/
11084 /*clear*/ /*_._IF___V6*/
11088 #else /*MELT_HAVE_DEBUG*/
11103 #endif /*MELT_HAVE_DEBUG*/
11106 #if MELT_HAVE_DEBUG
11107 MELT_LOCATION("warmelt-macro.melt:6680:/ cppif.then");
11113 MELT_CHECK_SIGNAL();
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");
11120 if (/*_#IS_A__L3*/ meltfnum
[1]) /*then*/
11123 /*_._IFELSE___V9*/ meltfptr
[5] = (/*nil*/NULL
);;
11127 MELT_LOCATION("warmelt-macro.melt:6680:/ cond.else");
11134 MELT_CHECK_SIGNAL();
11139 union meltparam_un argtab
[4];
11140 memset(&argtab
, 0, sizeof(argtab
));
11142 argtab
[0].meltbp_cstring
= "check sexpr";
11144 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
11146 argtab
[2].meltbp_long
= 6680;
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);
11154 meltfptr
[5] = /*_.MELT_ASSERT_FAILURE_FUN__V10*/ meltfptr
[9];;
11157 MELT_LOCATION("warmelt-macro.melt:6680:/ clear");
11158 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V10*/
11165 meltfptr
[6] = /*_._IFELSE___V9*/ meltfptr
[5];;
11168 MELT_LOCATION("warmelt-macro.melt:6680:/ clear");
11169 /*clear*/ /*_#IS_A__L3*/
11172 /*clear*/ /*_._IFELSE___V9*/
11176 #else /*MELT_HAVE_DEBUG*/
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");
11189 MELT_CHECK_SIGNAL();
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");
11196 if (/*_#IS_A__L4*/ meltfnum
[0]) /*then*/
11199 /*_._IFELSE___V12*/ meltfptr
[5] = (/*nil*/NULL
);;
11203 MELT_LOCATION("warmelt-macro.melt:6681:/ cond.else");
11210 MELT_CHECK_SIGNAL();
11215 union meltparam_un argtab
[4];
11216 memset(&argtab
, 0, sizeof(argtab
));
11218 argtab
[0].meltbp_cstring
= "check env";
11220 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
11222 argtab
[2].meltbp_long
= 6681;
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];;
11233 MELT_LOCATION("warmelt-macro.melt:6681:/ clear");
11234 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V13*/
11241 meltfptr
[9] = /*_._IFELSE___V12*/ meltfptr
[5];;
11244 MELT_LOCATION("warmelt-macro.melt:6681:/ clear");
11245 /*clear*/ /*_#IS_A__L4*/
11248 /*clear*/ /*_._IFELSE___V12*/
11252 #else /*MELT_HAVE_DEBUG*/
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");
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");
11275 meltfptr
[15] = slot
;
11279 MELT_CHECK_SIGNAL();
11281 MELT_LOCATION("warmelt-macro.melt:6685:/ apply");
11284 union meltparam_un argtab
[3];
11285 memset(&argtab
, 0, sizeof(argtab
));
11287 argtab
[0].meltbp_aptr
= (melt_ptr_t
*) &/*_.ENV__V3*/ meltfptr
[2];
11289 argtab
[1].meltbp_aptr
= (melt_ptr_t
*) &/*_.MEXPANDER__V4*/ meltfptr
[3];
11291 argtab
[2].meltbp_aptr
= (melt_ptr_t
*) &/*_.MODCTX__V5*/ meltfptr
[4];
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");
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");
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");
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");
11324 melt_dbgtrace_written_object (/*_.INST__V19*/ meltfptr
[18], "newly made instance");
11327 meltfptr
[17] = /*_.INST__V19*/ meltfptr
[18];;
11329 #if MELT_HAVE_DEBUG
11330 MELT_LOCATION("warmelt-macro.melt:6690:/ cppif.then");
11338 /*melt_increment_dbgcounter*/
11339 #if MELT_HAVE_DEBUG
11346 MELT_CHECK_SIGNAL();
11348 /*_#MELT_NEED_DBG__L5*/
11351 #if MELT_HAVE_DEBUG
11352 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
11354 0 /* no melt_need_dbg */
11355 #endif /*MELT_HAVE_DEBUG*/
11357 MELT_LOCATION("warmelt-macro.melt:6690:/ cond");
11359 if (/*_#MELT_NEED_DBG__L5*/ meltfnum
[1]) /*then*/
11366 /*_#MELT_CALLCOUNT__L6*/ meltfnum
[0] =
11367 /* for melt_callcount */
11368 #if MELT_HAVE_DEBUG && defined (meltcallcount)
11369 meltcallcount
/* melt_callcount debugging */
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");
11380 union meltparam_un argtab
[5];
11381 memset(&argtab
, 0, sizeof(argtab
));
11383 argtab
[0].meltbp_long
= /*_#MELT_CALLCOUNT__L6*/ meltfnum
[0];
11385 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
11387 argtab
[2].meltbp_long
= 6690;
11389 argtab
[3].meltbp_cstring
= "mexpand_tuple result";
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);
11397 meltfptr
[19] = /*_.MELT_DEBUG_FUN__V21*/ meltfptr
[20];;
11400 MELT_LOCATION("warmelt-macro.melt:6690:/ clear");
11401 /*clear*/ /*_#MELT_CALLCOUNT__L6*/
11404 /*clear*/ /*_.MELT_DEBUG_FUN__V21*/
11409 else /*^cond.else*/
11412 /*_._IF___V20*/ meltfptr
[19] = /*reallynil*/ NULL
;;
11417 MELT_LOCATION("warmelt-macro.melt:6690:/ locexp");
11428 /*clear*/ /*_#MELT_NEED_DBG__L5*/
11431 /*clear*/ /*_._IF___V20*/
11435 #else /*MELT_HAVE_DEBUG*/
11450 #endif /*MELT_HAVE_DEBUG*/
11453 MELT_CHECK_SIGNAL();
11455 MELT_LOCATION("warmelt-macro.melt:6691:/ quasiblock");
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*/
11475 goto meltlabend_rout
;
11477 meltfptr
[12] = /*_.RETURN___V22*/ meltfptr
[20];;
11479 MELT_LOCATION("warmelt-macro.melt:6682:/ clear");
11480 /*clear*/ /*_.CONT__V15*/
11483 /*clear*/ /*_.LOC__V16*/
11486 /*clear*/ /*_.XARGTUP__V17*/
11489 /*clear*/ /*_.RES__V18*/
11492 /*clear*/ /*_.RETURN___V22*/
11495 MELT_CHECK_SIGNAL();
11497 MELT_LOCATION("warmelt-macro.melt:6678:/ quasiblock");
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*/
11517 goto meltlabend_rout
;
11521 /*clear*/ /*_.IFCPP___V8*/
11524 /*clear*/ /*_.IFCPP___V11*/
11527 /*clear*/ /*_.LET___V14*/
11532 goto 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
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__
11560 #undef meltcallcount
11561 #define meltcallcount 0L
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];
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
);
11626 (void)meltfirstargp_
;
11627 (void)meltxargdescr_
;
11628 (void)meltxargtab_
;
11629 (void)meltxresdescr_
;
11630 (void)meltxrestab_
;
11634 MELT_LOCATION("warmelt-macro.melt:6695:/ getarg");
11636 meltfptr
[1] = (melt_ptr_t
) meltfirstargp_
;
11640 if (meltxargdescr_
[0] != MELTBPAR_PTR
) goto meltlab_endgetargs
;
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
);
11648 if (meltxargdescr_
[1] != MELTBPAR_PTR
) goto meltlab_endgetargs
;
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
:
11663 #if MELT_HAVE_DEBUG
11664 MELT_LOCATION("warmelt-macro.melt:6696:/ cppif.then");
11672 /*melt_increment_dbgcounter*/
11673 #if MELT_HAVE_DEBUG
11680 MELT_CHECK_SIGNAL();
11682 /*_#MELT_NEED_DBG__L1*/
11685 #if MELT_HAVE_DEBUG
11686 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
11688 0 /* no melt_need_dbg */
11689 #endif /*MELT_HAVE_DEBUG*/
11691 MELT_LOCATION("warmelt-macro.melt:6696:/ cond");
11693 if (/*_#MELT_NEED_DBG__L1*/ meltfnum
[0]) /*then*/
11700 /*_#MELT_CALLCOUNT__L2*/ meltfnum
[1] =
11701 /* for melt_callcount */
11702 #if MELT_HAVE_DEBUG && defined (meltcallcount)
11703 meltcallcount
/* melt_callcount debugging */
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");
11714 union meltparam_un argtab
[5];
11715 memset(&argtab
, 0, sizeof(argtab
));
11717 argtab
[0].meltbp_long
= /*_#MELT_CALLCOUNT__L2*/ meltfnum
[1];
11719 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
11721 argtab
[2].meltbp_long
= 6696;
11723 argtab
[3].meltbp_cstring
= "patexpand_tuple sexpr=";
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);
11731 meltfptr
[4] = /*_.MELT_DEBUG_FUN__V6*/ meltfptr
[5];;
11734 MELT_LOCATION("warmelt-macro.melt:6696:/ clear");
11735 /*clear*/ /*_#MELT_CALLCOUNT__L2*/
11738 /*clear*/ /*_.MELT_DEBUG_FUN__V6*/
11743 else /*^cond.else*/
11746 /*_._IF___V5*/ meltfptr
[4] = /*reallynil*/ NULL
;;
11751 MELT_LOCATION("warmelt-macro.melt:6696:/ locexp");
11762 /*clear*/ /*_#MELT_NEED_DBG__L1*/
11765 /*clear*/ /*_._IF___V5*/
11769 #else /*MELT_HAVE_DEBUG*/
11784 #endif /*MELT_HAVE_DEBUG*/
11787 #if MELT_HAVE_DEBUG
11788 MELT_LOCATION("warmelt-macro.melt:6697:/ cppif.then");
11794 MELT_CHECK_SIGNAL();
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");
11801 if (/*_#IS_A__L3*/ meltfnum
[1]) /*then*/
11804 /*_._IFELSE___V8*/ meltfptr
[4] = (/*nil*/NULL
);;
11808 MELT_LOCATION("warmelt-macro.melt:6697:/ cond.else");
11815 MELT_CHECK_SIGNAL();
11820 union meltparam_un argtab
[4];
11821 memset(&argtab
, 0, sizeof(argtab
));
11823 argtab
[0].meltbp_cstring
= "check sexpr";
11825 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
11827 argtab
[2].meltbp_long
= 6697;
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);
11835 meltfptr
[4] = /*_.MELT_ASSERT_FAILURE_FUN__V9*/ meltfptr
[8];;
11838 MELT_LOCATION("warmelt-macro.melt:6697:/ clear");
11839 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V9*/
11846 meltfptr
[5] = /*_._IFELSE___V8*/ meltfptr
[4];;
11849 MELT_LOCATION("warmelt-macro.melt:6697:/ clear");
11850 /*clear*/ /*_#IS_A__L3*/
11853 /*clear*/ /*_._IFELSE___V8*/
11857 #else /*MELT_HAVE_DEBUG*/
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");
11870 MELT_CHECK_SIGNAL();
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");
11877 if (/*_#IS_A__L4*/ meltfnum
[0]) /*then*/
11880 /*_._IFELSE___V11*/ meltfptr
[4] = (/*nil*/NULL
);;
11884 MELT_LOCATION("warmelt-macro.melt:6698:/ cond.else");
11891 MELT_CHECK_SIGNAL();
11896 union meltparam_un argtab
[4];
11897 memset(&argtab
, 0, sizeof(argtab
));
11899 argtab
[0].meltbp_cstring
= "check env";
11901 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
11903 argtab
[2].meltbp_long
= 6698;
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];;
11914 MELT_LOCATION("warmelt-macro.melt:6698:/ clear");
11915 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V12*/
11922 meltfptr
[8] = /*_._IFELSE___V11*/ meltfptr
[4];;
11925 MELT_LOCATION("warmelt-macro.melt:6698:/ clear");
11926 /*clear*/ /*_#IS_A__L4*/
11929 /*clear*/ /*_._IFELSE___V11*/
11933 #else /*MELT_HAVE_DEBUG*/
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");
11946 MELT_CHECK_SIGNAL();
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");
11953 if (/*_#IS_A__L5*/ meltfnum
[1]) /*then*/
11956 /*_._IFELSE___V14*/ meltfptr
[4] = (/*nil*/NULL
);;
11960 MELT_LOCATION("warmelt-macro.melt:6699:/ cond.else");
11967 MELT_CHECK_SIGNAL();
11972 union meltparam_un argtab
[4];
11973 memset(&argtab
, 0, sizeof(argtab
));
11975 argtab
[0].meltbp_cstring
= "check pctx";
11977 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
11979 argtab
[2].meltbp_long
= 6699;
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];;
11990 MELT_LOCATION("warmelt-macro.melt:6699:/ clear");
11991 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V15*/
11998 meltfptr
[11] = /*_._IFELSE___V14*/ meltfptr
[4];;
12001 MELT_LOCATION("warmelt-macro.melt:6699:/ clear");
12002 /*clear*/ /*_#IS_A__L5*/
12005 /*clear*/ /*_._IFELSE___V14*/
12009 #else /*MELT_HAVE_DEBUG*/
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");
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");
12032 meltfptr
[17] = slot
;
12035 /*_.LIST_FIRST__V19*/
12037 (melt_list_first((melt_ptr_t
)(/*_.CONT__V17*/ meltfptr
[4])));;
12041 (melt_pair_tail((melt_ptr_t
)(/*_.LIST_FIRST__V19*/ meltfptr
[18])));;
12043 MELT_CHECK_SIGNAL();
12045 MELT_LOCATION("warmelt-macro.melt:6704:/ apply");
12048 union meltparam_un argtab
[3];
12049 memset(&argtab
, 0, sizeof(argtab
));
12051 argtab
[0].meltbp_aptr
= (melt_ptr_t
*) &/*_.ENV__V3*/ meltfptr
[2];
12053 argtab
[1].meltbp_aptr
= (melt_ptr_t
*) &/*_.PCTX__V4*/ meltfptr
[3];
12055 argtab
[2].meltbp_aptr
= (melt_ptr_t
*) &/*_.LOC__V18*/ meltfptr
[17];
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");
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");
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");
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");
12088 melt_dbgtrace_written_object (/*_.INST__V23*/ meltfptr
[22], "newly made instance");
12091 meltfptr
[21] = /*_.INST__V23*/ meltfptr
[22];;
12093 #if MELT_HAVE_DEBUG
12094 MELT_LOCATION("warmelt-macro.melt:6709:/ cppif.then");
12102 /*melt_increment_dbgcounter*/
12103 #if MELT_HAVE_DEBUG
12110 MELT_CHECK_SIGNAL();
12112 /*_#MELT_NEED_DBG__L6*/
12115 #if MELT_HAVE_DEBUG
12116 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
12118 0 /* no melt_need_dbg */
12119 #endif /*MELT_HAVE_DEBUG*/
12121 MELT_LOCATION("warmelt-macro.melt:6709:/ cond");
12123 if (/*_#MELT_NEED_DBG__L6*/ meltfnum
[0]) /*then*/
12130 /*_#MELT_CALLCOUNT__L7*/ meltfnum
[1] =
12131 /* for melt_callcount */
12132 #if MELT_HAVE_DEBUG && defined (meltcallcount)
12133 meltcallcount
/* melt_callcount debugging */
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");
12144 union meltparam_un argtab
[5];
12145 memset(&argtab
, 0, sizeof(argtab
));
12147 argtab
[0].meltbp_long
= /*_#MELT_CALLCOUNT__L7*/ meltfnum
[1];
12149 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
12151 argtab
[2].meltbp_long
= 6709;
12153 argtab
[3].meltbp_cstring
= "patexpand_tuple res";
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);
12161 meltfptr
[23] = /*_.MELT_DEBUG_FUN__V25*/ meltfptr
[24];;
12164 MELT_LOCATION("warmelt-macro.melt:6709:/ clear");
12165 /*clear*/ /*_#MELT_CALLCOUNT__L7*/
12168 /*clear*/ /*_.MELT_DEBUG_FUN__V25*/
12173 else /*^cond.else*/
12176 /*_._IF___V24*/ meltfptr
[23] = /*reallynil*/ NULL
;;
12181 MELT_LOCATION("warmelt-macro.melt:6709:/ locexp");
12192 /*clear*/ /*_#MELT_NEED_DBG__L6*/
12195 /*clear*/ /*_._IF___V24*/
12199 #else /*MELT_HAVE_DEBUG*/
12214 #endif /*MELT_HAVE_DEBUG*/
12217 MELT_CHECK_SIGNAL();
12219 MELT_LOCATION("warmelt-macro.melt:6710:/ quasiblock");
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*/
12239 goto meltlabend_rout
;
12241 meltfptr
[14] = /*_.RETURN___V26*/ meltfptr
[24];;
12243 MELT_LOCATION("warmelt-macro.melt:6700:/ clear");
12244 /*clear*/ /*_.CONT__V17*/
12247 /*clear*/ /*_.LOC__V18*/
12250 /*clear*/ /*_.LIST_FIRST__V19*/
12253 /*clear*/ /*_.CURPAIR__V20*/
12256 /*clear*/ /*_.ARGSP__V21*/
12259 /*clear*/ /*_.RES__V22*/
12262 /*clear*/ /*_.RETURN___V26*/
12265 MELT_CHECK_SIGNAL();
12267 MELT_LOCATION("warmelt-macro.melt:6695:/ quasiblock");
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*/
12287 goto meltlabend_rout
;
12291 /*clear*/ /*_.IFCPP___V7*/
12294 /*clear*/ /*_.IFCPP___V10*/
12297 /*clear*/ /*_.IFCPP___V13*/
12300 /*clear*/ /*_.LET___V16*/
12305 goto 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
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__
12333 #undef meltcallcount
12334 #define meltcallcount 0L
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];
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
);
12399 (void)meltfirstargp_
;
12400 (void)meltxargdescr_
;
12401 (void)meltxargtab_
;
12402 (void)meltxresdescr_
;
12403 (void)meltxrestab_
;
12407 MELT_LOCATION("warmelt-macro.melt:6724:/ getarg");
12409 meltfptr
[1] = (melt_ptr_t
) meltfirstargp_
;
12413 if (meltxargdescr_
[0] != MELTBPAR_PTR
) goto meltlab_endgetargs
;
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
);
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
);
12429 if (meltxargdescr_
[2] != MELTBPAR_PTR
) goto meltlab_endgetargs
;
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
:
12444 #if MELT_HAVE_DEBUG
12445 MELT_LOCATION("warmelt-macro.melt:6725:/ cppif.then");
12453 /*melt_increment_dbgcounter*/
12454 #if MELT_HAVE_DEBUG
12461 MELT_CHECK_SIGNAL();
12463 /*_#MELT_NEED_DBG__L1*/
12466 #if MELT_HAVE_DEBUG
12467 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
12469 0 /* no melt_need_dbg */
12470 #endif /*MELT_HAVE_DEBUG*/
12472 MELT_LOCATION("warmelt-macro.melt:6725:/ cond");
12474 if (/*_#MELT_NEED_DBG__L1*/ meltfnum
[0]) /*then*/
12481 /*_#MELT_CALLCOUNT__L2*/ meltfnum
[1] =
12482 /* for melt_callcount */
12483 #if MELT_HAVE_DEBUG && defined (meltcallcount)
12484 meltcallcount
/* melt_callcount debugging */
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");
12495 union meltparam_un argtab
[5];
12496 memset(&argtab
, 0, sizeof(argtab
));
12498 argtab
[0].meltbp_long
= /*_#MELT_CALLCOUNT__L2*/ meltfnum
[1];
12500 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
12502 argtab
[2].meltbp_long
= 6725;
12504 argtab
[3].meltbp_cstring
= "mexpand_list sexpr=";
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);
12512 meltfptr
[5] = /*_.MELT_DEBUG_FUN__V7*/ meltfptr
[6];;
12515 MELT_LOCATION("warmelt-macro.melt:6725:/ clear");
12516 /*clear*/ /*_#MELT_CALLCOUNT__L2*/
12519 /*clear*/ /*_.MELT_DEBUG_FUN__V7*/
12524 else /*^cond.else*/
12527 /*_._IF___V6*/ meltfptr
[5] = /*reallynil*/ NULL
;;
12532 MELT_LOCATION("warmelt-macro.melt:6725:/ locexp");
12543 /*clear*/ /*_#MELT_NEED_DBG__L1*/
12546 /*clear*/ /*_._IF___V6*/
12550 #else /*MELT_HAVE_DEBUG*/
12565 #endif /*MELT_HAVE_DEBUG*/
12568 #if MELT_HAVE_DEBUG
12569 MELT_LOCATION("warmelt-macro.melt:6726:/ cppif.then");
12575 MELT_CHECK_SIGNAL();
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");
12582 if (/*_#IS_A__L3*/ meltfnum
[1]) /*then*/
12585 /*_._IFELSE___V9*/ meltfptr
[5] = (/*nil*/NULL
);;
12589 MELT_LOCATION("warmelt-macro.melt:6726:/ cond.else");
12596 MELT_CHECK_SIGNAL();
12601 union meltparam_un argtab
[4];
12602 memset(&argtab
, 0, sizeof(argtab
));
12604 argtab
[0].meltbp_cstring
= "check sexpr";
12606 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
12608 argtab
[2].meltbp_long
= 6726;
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);
12616 meltfptr
[5] = /*_.MELT_ASSERT_FAILURE_FUN__V10*/ meltfptr
[9];;
12619 MELT_LOCATION("warmelt-macro.melt:6726:/ clear");
12620 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V10*/
12627 meltfptr
[6] = /*_._IFELSE___V9*/ meltfptr
[5];;
12630 MELT_LOCATION("warmelt-macro.melt:6726:/ clear");
12631 /*clear*/ /*_#IS_A__L3*/
12634 /*clear*/ /*_._IFELSE___V9*/
12638 #else /*MELT_HAVE_DEBUG*/
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");
12651 MELT_CHECK_SIGNAL();
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");
12658 if (/*_#IS_A__L4*/ meltfnum
[0]) /*then*/
12661 /*_._IFELSE___V12*/ meltfptr
[5] = (/*nil*/NULL
);;
12665 MELT_LOCATION("warmelt-macro.melt:6727:/ cond.else");
12672 MELT_CHECK_SIGNAL();
12677 union meltparam_un argtab
[4];
12678 memset(&argtab
, 0, sizeof(argtab
));
12680 argtab
[0].meltbp_cstring
= "check env";
12682 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
12684 argtab
[2].meltbp_long
= 6727;
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];;
12695 MELT_LOCATION("warmelt-macro.melt:6727:/ clear");
12696 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V13*/
12703 meltfptr
[9] = /*_._IFELSE___V12*/ meltfptr
[5];;
12706 MELT_LOCATION("warmelt-macro.melt:6727:/ clear");
12707 /*clear*/ /*_#IS_A__L4*/
12710 /*clear*/ /*_._IFELSE___V12*/
12714 #else /*MELT_HAVE_DEBUG*/
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");
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");
12737 meltfptr
[15] = slot
;
12741 MELT_CHECK_SIGNAL();
12743 MELT_LOCATION("warmelt-macro.melt:6731:/ apply");
12746 union meltparam_un argtab
[3];
12747 memset(&argtab
, 0, sizeof(argtab
));
12749 argtab
[0].meltbp_aptr
= (melt_ptr_t
*) &/*_.ENV__V3*/ meltfptr
[2];
12751 argtab
[1].meltbp_aptr
= (melt_ptr_t
*) &/*_.MEXPANDER__V4*/ meltfptr
[3];
12753 argtab
[2].meltbp_aptr
= (melt_ptr_t
*) &/*_.MODCTX__V5*/ meltfptr
[4];
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");
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");
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");
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");
12786 melt_dbgtrace_written_object (/*_.INST__V19*/ meltfptr
[18], "newly made instance");
12789 meltfptr
[17] = /*_.INST__V19*/ meltfptr
[18];;
12791 #if MELT_HAVE_DEBUG
12792 MELT_LOCATION("warmelt-macro.melt:6736:/ cppif.then");
12800 /*melt_increment_dbgcounter*/
12801 #if MELT_HAVE_DEBUG
12808 MELT_CHECK_SIGNAL();
12810 /*_#MELT_NEED_DBG__L5*/
12813 #if MELT_HAVE_DEBUG
12814 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
12816 0 /* no melt_need_dbg */
12817 #endif /*MELT_HAVE_DEBUG*/
12819 MELT_LOCATION("warmelt-macro.melt:6736:/ cond");
12821 if (/*_#MELT_NEED_DBG__L5*/ meltfnum
[1]) /*then*/
12828 /*_#MELT_CALLCOUNT__L6*/ meltfnum
[0] =
12829 /* for melt_callcount */
12830 #if MELT_HAVE_DEBUG && defined (meltcallcount)
12831 meltcallcount
/* melt_callcount debugging */
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");
12842 union meltparam_un argtab
[5];
12843 memset(&argtab
, 0, sizeof(argtab
));
12845 argtab
[0].meltbp_long
= /*_#MELT_CALLCOUNT__L6*/ meltfnum
[0];
12847 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
12849 argtab
[2].meltbp_long
= 6736;
12851 argtab
[3].meltbp_cstring
= "mexpand_list result";
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);
12859 meltfptr
[19] = /*_.MELT_DEBUG_FUN__V21*/ meltfptr
[20];;
12862 MELT_LOCATION("warmelt-macro.melt:6736:/ clear");
12863 /*clear*/ /*_#MELT_CALLCOUNT__L6*/
12866 /*clear*/ /*_.MELT_DEBUG_FUN__V21*/
12871 else /*^cond.else*/
12874 /*_._IF___V20*/ meltfptr
[19] = /*reallynil*/ NULL
;;
12879 MELT_LOCATION("warmelt-macro.melt:6736:/ locexp");
12890 /*clear*/ /*_#MELT_NEED_DBG__L5*/
12893 /*clear*/ /*_._IF___V20*/
12897 #else /*MELT_HAVE_DEBUG*/
12912 #endif /*MELT_HAVE_DEBUG*/
12915 MELT_CHECK_SIGNAL();
12917 MELT_LOCATION("warmelt-macro.melt:6737:/ quasiblock");
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*/
12937 goto meltlabend_rout
;
12939 meltfptr
[12] = /*_.RETURN___V22*/ meltfptr
[20];;
12941 MELT_LOCATION("warmelt-macro.melt:6728:/ clear");
12942 /*clear*/ /*_.CONT__V15*/
12945 /*clear*/ /*_.LOC__V16*/
12948 /*clear*/ /*_.XARGTUP__V17*/
12951 /*clear*/ /*_.RES__V18*/
12954 /*clear*/ /*_.RETURN___V22*/
12957 MELT_CHECK_SIGNAL();
12959 MELT_LOCATION("warmelt-macro.melt:6724:/ quasiblock");
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*/
12979 goto meltlabend_rout
;
12983 /*clear*/ /*_.IFCPP___V8*/
12986 /*clear*/ /*_.IFCPP___V11*/
12989 /*clear*/ /*_.LET___V14*/
12994 goto 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
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__
13022 #undef meltcallcount
13023 #define meltcallcount 0L
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];
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
);
13088 (void)meltfirstargp_
;
13089 (void)meltxargdescr_
;
13090 (void)meltxargtab_
;
13091 (void)meltxresdescr_
;
13092 (void)meltxrestab_
;
13096 MELT_LOCATION("warmelt-macro.melt:6741:/ getarg");
13098 meltfptr
[1] = (melt_ptr_t
) meltfirstargp_
;
13102 if (meltxargdescr_
[0] != MELTBPAR_PTR
) goto meltlab_endgetargs
;
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
);
13110 if (meltxargdescr_
[1] != MELTBPAR_PTR
) goto meltlab_endgetargs
;
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
:
13125 #if MELT_HAVE_DEBUG
13126 MELT_LOCATION("warmelt-macro.melt:6742:/ cppif.then");
13134 /*melt_increment_dbgcounter*/
13135 #if MELT_HAVE_DEBUG
13142 MELT_CHECK_SIGNAL();
13144 /*_#MELT_NEED_DBG__L1*/
13147 #if MELT_HAVE_DEBUG
13148 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
13150 0 /* no melt_need_dbg */
13151 #endif /*MELT_HAVE_DEBUG*/
13153 MELT_LOCATION("warmelt-macro.melt:6742:/ cond");
13155 if (/*_#MELT_NEED_DBG__L1*/ meltfnum
[0]) /*then*/
13162 /*_#MELT_CALLCOUNT__L2*/ meltfnum
[1] =
13163 /* for melt_callcount */
13164 #if MELT_HAVE_DEBUG && defined (meltcallcount)
13165 meltcallcount
/* melt_callcount debugging */
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");
13176 union meltparam_un argtab
[5];
13177 memset(&argtab
, 0, sizeof(argtab
));
13179 argtab
[0].meltbp_long
= /*_#MELT_CALLCOUNT__L2*/ meltfnum
[1];
13181 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
13183 argtab
[2].meltbp_long
= 6742;
13185 argtab
[3].meltbp_cstring
= "patexpand_list sexpr=";
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);
13193 meltfptr
[4] = /*_.MELT_DEBUG_FUN__V6*/ meltfptr
[5];;
13196 MELT_LOCATION("warmelt-macro.melt:6742:/ clear");
13197 /*clear*/ /*_#MELT_CALLCOUNT__L2*/
13200 /*clear*/ /*_.MELT_DEBUG_FUN__V6*/
13205 else /*^cond.else*/
13208 /*_._IF___V5*/ meltfptr
[4] = /*reallynil*/ NULL
;;
13213 MELT_LOCATION("warmelt-macro.melt:6742:/ locexp");
13224 /*clear*/ /*_#MELT_NEED_DBG__L1*/
13227 /*clear*/ /*_._IF___V5*/
13231 #else /*MELT_HAVE_DEBUG*/
13246 #endif /*MELT_HAVE_DEBUG*/
13249 #if MELT_HAVE_DEBUG
13250 MELT_LOCATION("warmelt-macro.melt:6743:/ cppif.then");
13256 MELT_CHECK_SIGNAL();
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");
13263 if (/*_#IS_A__L3*/ meltfnum
[1]) /*then*/
13266 /*_._IFELSE___V8*/ meltfptr
[4] = (/*nil*/NULL
);;
13270 MELT_LOCATION("warmelt-macro.melt:6743:/ cond.else");
13277 MELT_CHECK_SIGNAL();
13282 union meltparam_un argtab
[4];
13283 memset(&argtab
, 0, sizeof(argtab
));
13285 argtab
[0].meltbp_cstring
= "check sexpr";
13287 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
13289 argtab
[2].meltbp_long
= 6743;
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);
13297 meltfptr
[4] = /*_.MELT_ASSERT_FAILURE_FUN__V9*/ meltfptr
[8];;
13300 MELT_LOCATION("warmelt-macro.melt:6743:/ clear");
13301 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V9*/
13308 meltfptr
[5] = /*_._IFELSE___V8*/ meltfptr
[4];;
13311 MELT_LOCATION("warmelt-macro.melt:6743:/ clear");
13312 /*clear*/ /*_#IS_A__L3*/
13315 /*clear*/ /*_._IFELSE___V8*/
13319 #else /*MELT_HAVE_DEBUG*/
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");
13332 MELT_CHECK_SIGNAL();
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");
13339 if (/*_#IS_A__L4*/ meltfnum
[0]) /*then*/
13342 /*_._IFELSE___V11*/ meltfptr
[4] = (/*nil*/NULL
);;
13346 MELT_LOCATION("warmelt-macro.melt:6744:/ cond.else");
13353 MELT_CHECK_SIGNAL();
13358 union meltparam_un argtab
[4];
13359 memset(&argtab
, 0, sizeof(argtab
));
13361 argtab
[0].meltbp_cstring
= "check env";
13363 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
13365 argtab
[2].meltbp_long
= 6744;
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];;
13376 MELT_LOCATION("warmelt-macro.melt:6744:/ clear");
13377 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V12*/
13384 meltfptr
[8] = /*_._IFELSE___V11*/ meltfptr
[4];;
13387 MELT_LOCATION("warmelt-macro.melt:6744:/ clear");
13388 /*clear*/ /*_#IS_A__L4*/
13391 /*clear*/ /*_._IFELSE___V11*/
13395 #else /*MELT_HAVE_DEBUG*/
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");
13408 MELT_CHECK_SIGNAL();
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");
13415 if (/*_#IS_A__L5*/ meltfnum
[1]) /*then*/
13418 /*_._IFELSE___V14*/ meltfptr
[4] = (/*nil*/NULL
);;
13422 MELT_LOCATION("warmelt-macro.melt:6745:/ cond.else");
13429 MELT_CHECK_SIGNAL();
13434 union meltparam_un argtab
[4];
13435 memset(&argtab
, 0, sizeof(argtab
));
13437 argtab
[0].meltbp_cstring
= "check pctx";
13439 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
13441 argtab
[2].meltbp_long
= 6745;
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];;
13452 MELT_LOCATION("warmelt-macro.melt:6745:/ clear");
13453 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V15*/
13460 meltfptr
[11] = /*_._IFELSE___V14*/ meltfptr
[4];;
13463 MELT_LOCATION("warmelt-macro.melt:6745:/ clear");
13464 /*clear*/ /*_#IS_A__L5*/
13467 /*clear*/ /*_._IFELSE___V14*/
13471 #else /*MELT_HAVE_DEBUG*/
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");
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");
13494 meltfptr
[17] = slot
;
13497 /*_.LIST_FIRST__V19*/
13499 (melt_list_first((melt_ptr_t
)(/*_.CONT__V17*/ meltfptr
[4])));;
13503 (melt_pair_tail((melt_ptr_t
)(/*_.LIST_FIRST__V19*/ meltfptr
[18])));;
13505 MELT_CHECK_SIGNAL();
13507 MELT_LOCATION("warmelt-macro.melt:6750:/ apply");
13510 union meltparam_un argtab
[3];
13511 memset(&argtab
, 0, sizeof(argtab
));
13513 argtab
[0].meltbp_aptr
= (melt_ptr_t
*) &/*_.ENV__V3*/ meltfptr
[2];
13515 argtab
[1].meltbp_aptr
= (melt_ptr_t
*) &/*_.PCTX__V4*/ meltfptr
[3];
13517 argtab
[2].meltbp_aptr
= (melt_ptr_t
*) &/*_.LOC__V18*/ meltfptr
[17];
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");
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");
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");
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");
13550 melt_dbgtrace_written_object (/*_.INST__V23*/ meltfptr
[22], "newly made instance");
13553 meltfptr
[21] = /*_.INST__V23*/ meltfptr
[22];;
13555 #if MELT_HAVE_DEBUG
13556 MELT_LOCATION("warmelt-macro.melt:6755:/ cppif.then");
13564 /*melt_increment_dbgcounter*/
13565 #if MELT_HAVE_DEBUG
13572 MELT_CHECK_SIGNAL();
13574 /*_#MELT_NEED_DBG__L6*/
13577 #if MELT_HAVE_DEBUG
13578 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
13580 0 /* no melt_need_dbg */
13581 #endif /*MELT_HAVE_DEBUG*/
13583 MELT_LOCATION("warmelt-macro.melt:6755:/ cond");
13585 if (/*_#MELT_NEED_DBG__L6*/ meltfnum
[0]) /*then*/
13592 /*_#MELT_CALLCOUNT__L7*/ meltfnum
[1] =
13593 /* for melt_callcount */
13594 #if MELT_HAVE_DEBUG && defined (meltcallcount)
13595 meltcallcount
/* melt_callcount debugging */
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");
13606 union meltparam_un argtab
[5];
13607 memset(&argtab
, 0, sizeof(argtab
));
13609 argtab
[0].meltbp_long
= /*_#MELT_CALLCOUNT__L7*/ meltfnum
[1];
13611 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
13613 argtab
[2].meltbp_long
= 6755;
13615 argtab
[3].meltbp_cstring
= "patexpand_list res";
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);
13623 meltfptr
[23] = /*_.MELT_DEBUG_FUN__V25*/ meltfptr
[24];;
13626 MELT_LOCATION("warmelt-macro.melt:6755:/ clear");
13627 /*clear*/ /*_#MELT_CALLCOUNT__L7*/
13630 /*clear*/ /*_.MELT_DEBUG_FUN__V25*/
13635 else /*^cond.else*/
13638 /*_._IF___V24*/ meltfptr
[23] = /*reallynil*/ NULL
;;
13643 MELT_LOCATION("warmelt-macro.melt:6755:/ locexp");
13654 /*clear*/ /*_#MELT_NEED_DBG__L6*/
13657 /*clear*/ /*_._IF___V24*/
13661 #else /*MELT_HAVE_DEBUG*/
13676 #endif /*MELT_HAVE_DEBUG*/
13679 MELT_CHECK_SIGNAL();
13681 MELT_LOCATION("warmelt-macro.melt:6756:/ quasiblock");
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*/
13701 goto meltlabend_rout
;
13703 meltfptr
[14] = /*_.RETURN___V26*/ meltfptr
[24];;
13705 MELT_LOCATION("warmelt-macro.melt:6746:/ clear");
13706 /*clear*/ /*_.CONT__V17*/
13709 /*clear*/ /*_.LOC__V18*/
13712 /*clear*/ /*_.LIST_FIRST__V19*/
13715 /*clear*/ /*_.CURPAIR__V20*/
13718 /*clear*/ /*_.ARGSP__V21*/
13721 /*clear*/ /*_.RES__V22*/
13724 /*clear*/ /*_.RETURN___V26*/
13727 MELT_CHECK_SIGNAL();
13729 MELT_LOCATION("warmelt-macro.melt:6741:/ quasiblock");
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*/
13749 goto meltlabend_rout
;
13753 /*clear*/ /*_.IFCPP___V7*/
13756 /*clear*/ /*_.IFCPP___V10*/
13759 /*clear*/ /*_.IFCPP___V13*/
13762 /*clear*/ /*_.LET___V16*/
13767 goto 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
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__
13795 #undef meltcallcount
13796 #define meltcallcount 0L
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];
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
);
13861 (void)meltfirstargp_
;
13862 (void)meltxargdescr_
;
13863 (void)meltxargtab_
;
13864 (void)meltxresdescr_
;
13865 (void)meltxrestab_
;
13869 MELT_LOCATION("warmelt-macro.melt:6771:/ getarg");
13871 meltfptr
[1] = (melt_ptr_t
) meltfirstargp_
;
13875 if (meltxargdescr_
[0] != MELTBPAR_PTR
) goto meltlab_endgetargs
;
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
);
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
);
13891 if (meltxargdescr_
[2] != MELTBPAR_PTR
) goto meltlab_endgetargs
;
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
:
13906 #if MELT_HAVE_DEBUG
13907 MELT_LOCATION("warmelt-macro.melt:6772:/ cppif.then");
13915 /*melt_increment_dbgcounter*/
13916 #if MELT_HAVE_DEBUG
13923 MELT_CHECK_SIGNAL();
13925 /*_#MELT_NEED_DBG__L1*/
13928 #if MELT_HAVE_DEBUG
13929 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
13931 0 /* no melt_need_dbg */
13932 #endif /*MELT_HAVE_DEBUG*/
13934 MELT_LOCATION("warmelt-macro.melt:6772:/ cond");
13936 if (/*_#MELT_NEED_DBG__L1*/ meltfnum
[0]) /*then*/
13943 /*_#MELT_CALLCOUNT__L2*/ meltfnum
[1] =
13944 /* for melt_callcount */
13945 #if MELT_HAVE_DEBUG && defined (meltcallcount)
13946 meltcallcount
/* melt_callcount debugging */
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");
13957 union meltparam_un argtab
[5];
13958 memset(&argtab
, 0, sizeof(argtab
));
13960 argtab
[0].meltbp_long
= /*_#MELT_CALLCOUNT__L2*/ meltfnum
[1];
13962 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
13964 argtab
[2].meltbp_long
= 6772;
13966 argtab
[3].meltbp_cstring
= "mexpand_match sexpr=";
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);
13974 meltfptr
[5] = /*_.MELT_DEBUG_FUN__V7*/ meltfptr
[6];;
13977 MELT_LOCATION("warmelt-macro.melt:6772:/ clear");
13978 /*clear*/ /*_#MELT_CALLCOUNT__L2*/
13981 /*clear*/ /*_.MELT_DEBUG_FUN__V7*/
13986 else /*^cond.else*/
13989 /*_._IF___V6*/ meltfptr
[5] = /*reallynil*/ NULL
;;
13994 MELT_LOCATION("warmelt-macro.melt:6772:/ locexp");
14005 /*clear*/ /*_#MELT_NEED_DBG__L1*/
14008 /*clear*/ /*_._IF___V6*/
14012 #else /*MELT_HAVE_DEBUG*/
14027 #endif /*MELT_HAVE_DEBUG*/
14030 #if MELT_HAVE_DEBUG
14031 MELT_LOCATION("warmelt-macro.melt:6773:/ cppif.then");
14037 MELT_CHECK_SIGNAL();
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");
14044 if (/*_#IS_A__L3*/ meltfnum
[1]) /*then*/
14047 /*_._IFELSE___V9*/ meltfptr
[5] = (/*nil*/NULL
);;
14051 MELT_LOCATION("warmelt-macro.melt:6773:/ cond.else");
14058 MELT_CHECK_SIGNAL();
14063 union meltparam_un argtab
[4];
14064 memset(&argtab
, 0, sizeof(argtab
));
14066 argtab
[0].meltbp_cstring
= "check sexpr";
14068 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
14070 argtab
[2].meltbp_long
= 6773;
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);
14078 meltfptr
[5] = /*_.MELT_ASSERT_FAILURE_FUN__V10*/ meltfptr
[9];;
14081 MELT_LOCATION("warmelt-macro.melt:6773:/ clear");
14082 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V10*/
14089 meltfptr
[6] = /*_._IFELSE___V9*/ meltfptr
[5];;
14092 MELT_LOCATION("warmelt-macro.melt:6773:/ clear");
14093 /*clear*/ /*_#IS_A__L3*/
14096 /*clear*/ /*_._IFELSE___V9*/
14100 #else /*MELT_HAVE_DEBUG*/
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");
14113 MELT_CHECK_SIGNAL();
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");
14120 if (/*_#IS_A__L4*/ meltfnum
[0]) /*then*/
14123 /*_._IFELSE___V12*/ meltfptr
[5] = (/*nil*/NULL
);;
14127 MELT_LOCATION("warmelt-macro.melt:6774:/ cond.else");
14134 MELT_CHECK_SIGNAL();
14139 union meltparam_un argtab
[4];
14140 memset(&argtab
, 0, sizeof(argtab
));
14142 argtab
[0].meltbp_cstring
= "check env";
14144 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
14146 argtab
[2].meltbp_long
= 6774;
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];;
14157 MELT_LOCATION("warmelt-macro.melt:6774:/ clear");
14158 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V13*/
14165 meltfptr
[9] = /*_._IFELSE___V12*/ meltfptr
[5];;
14168 MELT_LOCATION("warmelt-macro.melt:6774:/ clear");
14169 /*clear*/ /*_#IS_A__L4*/
14172 /*clear*/ /*_._IFELSE___V12*/
14176 #else /*MELT_HAVE_DEBUG*/
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");
14189 MELT_CHECK_SIGNAL();
14191 /*_#IS_OBJECT__L5*/
14193 (melt_magic_discr((melt_ptr_t
)(/*_.MODCTX__V5*/ meltfptr
[4])) == MELTOBMAG_OBJECT
);;
14194 MELT_LOCATION("warmelt-macro.melt:6775:/ cond");
14196 if (/*_#IS_OBJECT__L5*/ meltfnum
[1]) /*then*/
14199 /*_._IFELSE___V15*/ meltfptr
[5] = (/*nil*/NULL
);;
14203 MELT_LOCATION("warmelt-macro.melt:6775:/ cond.else");
14210 MELT_CHECK_SIGNAL();
14215 union meltparam_un argtab
[4];
14216 memset(&argtab
, 0, sizeof(argtab
));
14218 argtab
[0].meltbp_cstring
= "check modctx";
14220 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
14222 argtab
[2].meltbp_long
= 6775;
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];;
14233 MELT_LOCATION("warmelt-macro.melt:6775:/ clear");
14234 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V16*/
14241 meltfptr
[12] = /*_._IFELSE___V15*/ meltfptr
[5];;
14244 MELT_LOCATION("warmelt-macro.melt:6775:/ clear");
14245 /*clear*/ /*_#IS_OBJECT__L5*/
14248 /*clear*/ /*_._IFELSE___V15*/
14252 #else /*MELT_HAVE_DEBUG*/
14254 /*_.IFCPP___V14*/ meltfptr
[12] = (/*nil*/NULL
);
14255 #endif /*MELT_HAVE_DEBUG*/
14258 MELT_CHECK_SIGNAL();
14263 (/*null*/(/*_.MEXPANDER__V4*/ meltfptr
[3]) == NULL
);;
14264 MELT_LOCATION("warmelt-macro.melt:6776:/ cond");
14266 if (/*_#NULL__L6*/ meltfnum
[0]) /*then*/
14274 /*_.MEXPANDER__V4*/ meltfptr
[3] = /*_.SETQ___V18*/ meltfptr
[5] = (/*!MACROEXPAND_1*/ meltfrout
->tabval
[4]);;
14276 meltfptr
[15] = /*_.SETQ___V18*/ meltfptr
[5];;
14279 MELT_LOCATION("warmelt-macro.melt:6776:/ clear");
14280 /*clear*/ /*_.SETQ___V18*/
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");
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");
14309 meltfptr
[20] = slot
;
14312 /*_.LIST_FIRST__V22*/
14314 (melt_list_first((melt_ptr_t
)(/*_.CONT__V20*/ meltfptr
[19])));;
14316 /*_.PAIR_TAIL__V23*/
14318 (melt_pair_tail((melt_ptr_t
)(/*_.LIST_FIRST__V22*/ meltfptr
[21])));;
14322 (melt_pair_head((melt_ptr_t
)(/*_.PAIR_TAIL__V23*/ meltfptr
[22])));;
14324 MELT_CHECK_SIGNAL();
14326 MELT_LOCATION("warmelt-macro.melt:6781:/ apply");
14329 union meltparam_un argtab
[3];
14330 memset(&argtab
, 0, sizeof(argtab
));
14332 argtab
[0].meltbp_aptr
= (melt_ptr_t
*) &/*_.ENV__V3*/ meltfptr
[2];
14334 argtab
[1].meltbp_aptr
= (melt_ptr_t
*) &/*_.MEXPANDER__V4*/ meltfptr
[3];
14336 argtab
[2].meltbp_aptr
= (melt_ptr_t
*) &/*_.MODCTX__V5*/ meltfptr
[4];
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*/
14343 (melt_list_first((melt_ptr_t
)(/*_.CONT__V20*/ meltfptr
[19])));;
14345 /*_.PAIR_TAIL__V27*/
14347 (melt_pair_tail((melt_ptr_t
)(/*_.LIST_FIRST__V26*/ meltfptr
[25])));;
14349 /*_.PAIR_TAIL__V28*/
14351 (melt_pair_tail((melt_ptr_t
)(/*_.PAIR_TAIL__V27*/ meltfptr
[26])));;
14352 MELT_LOCATION("warmelt-macro.melt:6785:/ quasiblock");
14356 /*newclosure*/ /*_.LAMBDA___V30*/
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));
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]);
14367 meltfptr
[28] = /*_.LAMBDA___V30*/ meltfptr
[29];;
14369 MELT_CHECK_SIGNAL();
14371 MELT_LOCATION("warmelt-macro.melt:6782:/ apply");
14374 union meltparam_un argtab
[2];
14375 memset(&argtab
, 0, sizeof(argtab
));
14377 argtab
[0].meltbp_aptr
= (melt_ptr_t
*) &(/*!DISCR_MULTIPLE*/ meltfrout
->tabval
[6]);
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);
14386 (melt_multiple_length((melt_ptr_t
)(/*_.MEXPTUPLE__V31*/ meltfptr
[30])));;
14387 MELT_LOCATION("warmelt-macro.melt:6791:/ quasiblock");
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");
14403 /*melt_increment_dbgcounter*/
14404 #if MELT_HAVE_DEBUG
14411 MELT_CHECK_SIGNAL();
14413 /*_#MELT_NEED_DBG__L8*/
14416 #if MELT_HAVE_DEBUG
14417 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
14419 0 /* no melt_need_dbg */
14420 #endif /*MELT_HAVE_DEBUG*/
14422 MELT_LOCATION("warmelt-macro.melt:6792:/ cond");
14424 if (/*_#MELT_NEED_DBG__L8*/ meltfnum
[7]) /*then*/
14431 /*_#MELT_CALLCOUNT__L9*/ meltfnum
[8] =
14432 /* for melt_callcount */
14433 #if MELT_HAVE_DEBUG && defined (meltcallcount)
14434 meltcallcount
/* melt_callcount debugging */
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");
14445 union meltparam_un argtab
[5];
14446 memset(&argtab
, 0, sizeof(argtab
));
14448 argtab
[0].meltbp_long
= /*_#MELT_CALLCOUNT__L9*/ meltfnum
[8];
14450 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
14452 argtab
[2].meltbp_long
= 6792;
14454 argtab
[3].meltbp_cstring
= "mexpand_match lastmexp lx";
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);
14462 meltfptr
[33] = /*_.MELT_DEBUG_FUN__V35*/ meltfptr
[34];;
14465 MELT_LOCATION("warmelt-macro.melt:6792:/ clear");
14466 /*clear*/ /*_#MELT_CALLCOUNT__L9*/
14469 /*clear*/ /*_.MELT_DEBUG_FUN__V35*/
14474 else /*^cond.else*/
14477 /*_._IF___V34*/ meltfptr
[33] = /*reallynil*/ NULL
;;
14482 MELT_LOCATION("warmelt-macro.melt:6792:/ locexp");
14493 /*clear*/ /*_#MELT_NEED_DBG__L8*/
14496 /*clear*/ /*_._IF___V34*/
14500 #else /*MELT_HAVE_DEBUG*/
14515 #endif /*MELT_HAVE_DEBUG*/
14518 meltfptr
[31] = /*_.LX__V33*/ meltfptr
[32];;
14520 MELT_LOCATION("warmelt-macro.melt:6791:/ clear");
14521 /*clear*/ /*_.LX__V33*/
14523 /*_.LASTMEXP__V36*/
14524 meltfptr
[34] = /*_.LET___V32*/ meltfptr
[31];;
14528 ((/*_#NBMATCH__L7*/ meltfnum
[1]) - (1));;
14530 /*_.CASELIST__V37*/
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");
14543 /*melt_increment_dbgcounter*/
14544 #if MELT_HAVE_DEBUG
14551 MELT_CHECK_SIGNAL();
14553 /*_#MELT_NEED_DBG__L11*/
14556 #if MELT_HAVE_DEBUG
14557 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
14559 0 /* no melt_need_dbg */
14560 #endif /*MELT_HAVE_DEBUG*/
14562 MELT_LOCATION("warmelt-macro.melt:6797:/ cond");
14564 if (/*_#MELT_NEED_DBG__L11*/ meltfnum
[7]) /*then*/
14571 /*_#MELT_CALLCOUNT__L12*/ meltfnum
[11] =
14572 /* for melt_callcount */
14573 #if MELT_HAVE_DEBUG && defined (meltcallcount)
14574 meltcallcount
/* melt_callcount debugging */
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");
14585 union meltparam_un argtab
[5];
14586 memset(&argtab
, 0, sizeof(argtab
));
14588 argtab
[0].meltbp_long
= /*_#MELT_CALLCOUNT__L12*/ meltfnum
[11];
14590 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
14592 argtab
[2].meltbp_long
= 6797;
14594 argtab
[3].meltbp_cstring
= "mexpand_match mexptuple";
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);
14602 meltfptr
[32] = /*_.MELT_DEBUG_FUN__V39*/ meltfptr
[38];;
14605 MELT_LOCATION("warmelt-macro.melt:6797:/ clear");
14606 /*clear*/ /*_#MELT_CALLCOUNT__L12*/
14609 /*clear*/ /*_.MELT_DEBUG_FUN__V39*/
14614 else /*^cond.else*/
14617 /*_._IF___V38*/ meltfptr
[32] = /*reallynil*/ NULL
;;
14622 MELT_LOCATION("warmelt-macro.melt:6797:/ locexp");
14633 /*clear*/ /*_#MELT_NEED_DBG__L11*/
14636 /*clear*/ /*_._IF___V38*/
14640 #else /*MELT_HAVE_DEBUG*/
14655 #endif /*MELT_HAVE_DEBUG*/
14657 MELT_LOCATION("warmelt-macro.melt:6798:/ loop");
14660 meltlabloop_MATCHLOOP_1
:;/*^loopbody*/
14667 MELT_CHECK_SIGNAL();
14670 MELT_CHECK_SIGNAL();
14674 ((/*_#IX__L10*/ meltfnum
[8]) < (0));;
14675 MELT_LOCATION("warmelt-macro.melt:6799:/ cond");
14677 if (/*_#ltI__L13*/ meltfnum
[11]) /*then*/
14688 /*_.MATCHLOOP__V41*/ meltfptr
[32] = /*reallynil*/ NULL
;;
14693 goto meltlabexit_MATCHLOOP_1
;
14701 MELT_LOCATION("warmelt-macro.melt:6800:/ quasiblock");
14704 /*_.CURMATCH__V42*/
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");
14717 /*melt_increment_dbgcounter*/
14718 #if MELT_HAVE_DEBUG
14725 MELT_CHECK_SIGNAL();
14727 /*_#MELT_NEED_DBG__L14*/
14730 #if MELT_HAVE_DEBUG
14731 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
14733 0 /* no melt_need_dbg */
14734 #endif /*MELT_HAVE_DEBUG*/
14736 MELT_LOCATION("warmelt-macro.melt:6801:/ cond");
14738 if (/*_#MELT_NEED_DBG__L14*/ meltfnum
[7]) /*then*/
14745 /*_#MELT_CALLCOUNT__L15*/ meltfnum
[14] =
14746 /* for melt_callcount */
14747 #if MELT_HAVE_DEBUG && defined (meltcallcount)
14748 meltcallcount
/* melt_callcount debugging */
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");
14759 union meltparam_un argtab
[5];
14760 memset(&argtab
, 0, sizeof(argtab
));
14762 argtab
[0].meltbp_long
= /*_#MELT_CALLCOUNT__L15*/ meltfnum
[14];
14764 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
14766 argtab
[2].meltbp_long
= 6801;
14768 argtab
[3].meltbp_cstring
= "mexpand_match curmatch";
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);
14776 meltfptr
[42] = /*_.MELT_DEBUG_FUN__V44*/ meltfptr
[43];;
14779 MELT_LOCATION("warmelt-macro.melt:6801:/ clear");
14780 /*clear*/ /*_#MELT_CALLCOUNT__L15*/
14783 /*clear*/ /*_.MELT_DEBUG_FUN__V44*/
14788 else /*^cond.else*/
14791 /*_._IF___V43*/ meltfptr
[42] = /*reallynil*/ NULL
;;
14796 MELT_LOCATION("warmelt-macro.melt:6801:/ locexp");
14807 /*clear*/ /*_#MELT_NEED_DBG__L14*/
14810 /*clear*/ /*_._IF___V43*/
14814 #else /*MELT_HAVE_DEBUG*/
14829 #endif /*MELT_HAVE_DEBUG*/
14832 MELT_CHECK_SIGNAL();
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");
14839 if (/*_#IS_A__L16*/ meltfnum
[14]) /*then*/
14846 MELT_LOCATION("warmelt-macro.melt:6805:/ quasiblock");
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*/
14869 (melt_list_first((melt_ptr_t
)(/*_.CURMATCHCONT__V45*/ meltfptr
[43])));;
14871 /*_.CURMATCHPATX__V48*/
14873 (melt_pair_head((melt_ptr_t
)(/*_.LIST_FIRST__V47*/ meltfptr
[46])));;
14875 /*_.LIST_FIRST__V49*/
14877 (melt_list_first((melt_ptr_t
)(/*_.CURMATCHCONT__V45*/ meltfptr
[43])));;
14879 /*_.CURMATCHRESTPAIRS__V50*/
14881 (melt_pair_tail((melt_ptr_t
)(/*_.LIST_FIRST__V49*/ meltfptr
[48])));;
14883 MELT_CHECK_SIGNAL();
14886 /*_.MAKE_MAPOBJECT__V51*/
14888 (meltgc_new_mapobjects( (meltobject_ptr_t
) ((/*!DISCR_MAP_OBJECTS*/ meltfrout
->tabval
[12])), (17)));;
14889 MELT_LOCATION("warmelt-macro.melt:6809:/ quasiblock");
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");
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");
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");
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");
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");
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();
14937 union meltparam_un argtab
[3];
14938 memset(&argtab
, 0, sizeof(argtab
));
14940 argtab
[0].meltbp_aptr
= (melt_ptr_t
*) &/*_.ENV__V3*/ meltfptr
[2];
14942 argtab
[1].meltbp_aptr
= (melt_ptr_t
*) &/*_.CURPATCTX__V52*/ meltfptr
[51];
14944 argtab
[2].meltbp_aptr
= (melt_ptr_t
*) &/*_.CURMATCHLOC__V46*/ meltfptr
[42];
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");
14959 /*melt_increment_dbgcounter*/
14960 #if MELT_HAVE_DEBUG
14967 MELT_CHECK_SIGNAL();
14969 /*_#MELT_NEED_DBG__L17*/
14972 #if MELT_HAVE_DEBUG
14973 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
14975 0 /* no melt_need_dbg */
14976 #endif /*MELT_HAVE_DEBUG*/
14978 MELT_LOCATION("warmelt-macro.melt:6816:/ cond");
14980 if (/*_#MELT_NEED_DBG__L17*/ meltfnum
[7]) /*then*/
14987 /*_#MELT_CALLCOUNT__L18*/ meltfnum
[17] =
14988 /* for melt_callcount */
14989 #if MELT_HAVE_DEBUG && defined (meltcallcount)
14990 meltcallcount
/* melt_callcount debugging */
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");
15001 union meltparam_un argtab
[5];
15002 memset(&argtab
, 0, sizeof(argtab
));
15004 argtab
[0].meltbp_long
= /*_#MELT_CALLCOUNT__L18*/ meltfnum
[17];
15006 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
15008 argtab
[2].meltbp_long
= 6816;
15010 argtab
[3].meltbp_cstring
= "mexpand_match curpat";
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);
15018 meltfptr
[55] = /*_.MELT_DEBUG_FUN__V57*/ meltfptr
[56];;
15021 MELT_LOCATION("warmelt-macro.melt:6816:/ clear");
15022 /*clear*/ /*_#MELT_CALLCOUNT__L18*/
15025 /*clear*/ /*_.MELT_DEBUG_FUN__V57*/
15030 else /*^cond.else*/
15033 /*_._IF___V56*/ meltfptr
[55] = /*reallynil*/ NULL
;;
15038 MELT_LOCATION("warmelt-macro.melt:6816:/ locexp");
15049 /*clear*/ /*_#MELT_NEED_DBG__L17*/
15052 /*clear*/ /*_._IF___V56*/
15056 #else /*MELT_HAVE_DEBUG*/
15071 #endif /*MELT_HAVE_DEBUG*/
15074 #if MELT_HAVE_DEBUG
15075 MELT_LOCATION("warmelt-macro.melt:6817:/ cppif.then");
15081 MELT_CHECK_SIGNAL();
15085 if (/*_.CP__V55*/ meltfptr
[54]) /*then*/
15088 /*_._IFELSE___V59*/ meltfptr
[55] = (/*nil*/NULL
);;
15092 MELT_LOCATION("warmelt-macro.melt:6817:/ cond.else");
15099 MELT_CHECK_SIGNAL();
15104 union meltparam_un argtab
[3];
15105 memset(&argtab
, 0, sizeof(argtab
));
15107 argtab
[0].meltbp_cstring
= "check curpat";
15109 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
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];;
15120 MELT_LOCATION("warmelt-macro.melt:6817:/ clear");
15121 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V60*/
15128 meltfptr
[56] = /*_._IFELSE___V59*/ meltfptr
[55];;
15131 MELT_LOCATION("warmelt-macro.melt:6817:/ clear");
15132 /*clear*/ /*_._IFELSE___V59*/
15136 #else /*MELT_HAVE_DEBUG*/
15138 /*_.IFCPP___V58*/ meltfptr
[56] = (/*nil*/NULL
);
15139 #endif /*MELT_HAVE_DEBUG*/
15143 meltfptr
[53] = /*_.CP__V55*/ meltfptr
[54];;
15145 MELT_LOCATION("warmelt-macro.melt:6815:/ clear");
15146 /*clear*/ /*_.CP__V55*/
15149 /*clear*/ /*_.IFCPP___V58*/
15152 meltfptr
[59] = /*_.LET___V54*/ meltfptr
[53];;
15154 MELT_CHECK_SIGNAL();
15156 MELT_LOCATION("warmelt-macro.melt:6819:/ apply");
15159 union meltparam_un argtab
[3];
15160 memset(&argtab
, 0, sizeof(argtab
));
15162 argtab
[0].meltbp_aptr
= (melt_ptr_t
*) &/*_.ENV__V3*/ meltfptr
[2];
15164 argtab
[1].meltbp_aptr
= (melt_ptr_t
*) &/*_.MEXPANDER__V4*/ meltfptr
[3];
15166 argtab
[2].meltbp_aptr
= (melt_ptr_t
*) &/*_.MODCTX__V5*/ meltfptr
[4];
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");
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");
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");
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");
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");
15204 melt_dbgtrace_written_object (/*_.INST__V64*/ meltfptr
[56], "newly made instance");
15207 meltfptr
[54] = /*_.INST__V64*/ meltfptr
[56];;
15209 #if MELT_HAVE_DEBUG
15210 MELT_LOCATION("warmelt-macro.melt:6825:/ cppif.then");
15218 /*melt_increment_dbgcounter*/
15219 #if MELT_HAVE_DEBUG
15226 MELT_CHECK_SIGNAL();
15228 /*_#MELT_NEED_DBG__L19*/
15231 #if MELT_HAVE_DEBUG
15232 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
15234 0 /* no melt_need_dbg */
15235 #endif /*MELT_HAVE_DEBUG*/
15237 MELT_LOCATION("warmelt-macro.melt:6825:/ cond");
15239 if (/*_#MELT_NEED_DBG__L19*/ meltfnum
[17]) /*then*/
15246 /*_#MELT_CALLCOUNT__L20*/ meltfnum
[7] =
15247 /* for melt_callcount */
15248 #if MELT_HAVE_DEBUG && defined (meltcallcount)
15249 meltcallcount
/* melt_callcount debugging */
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");
15260 union meltparam_un argtab
[5];
15261 memset(&argtab
, 0, sizeof(argtab
));
15263 argtab
[0].meltbp_long
= /*_#MELT_CALLCOUNT__L20*/ meltfnum
[7];
15265 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
15267 argtab
[2].meltbp_long
= 6825;
15269 argtab
[3].meltbp_cstring
= "mexpand_match curcase";
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);
15277 meltfptr
[64] = /*_.MELT_DEBUG_FUN__V66*/ meltfptr
[65];;
15280 MELT_LOCATION("warmelt-macro.melt:6825:/ clear");
15281 /*clear*/ /*_#MELT_CALLCOUNT__L20*/
15284 /*clear*/ /*_.MELT_DEBUG_FUN__V66*/
15289 else /*^cond.else*/
15292 /*_._IF___V65*/ meltfptr
[64] = /*reallynil*/ NULL
;;
15297 MELT_LOCATION("warmelt-macro.melt:6825:/ locexp");
15308 /*clear*/ /*_#MELT_NEED_DBG__L19*/
15311 /*clear*/ /*_._IF___V65*/
15315 #else /*MELT_HAVE_DEBUG*/
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*/
15343 /*clear*/ /*_.CURMATCHLOC__V46*/
15346 /*clear*/ /*_.LIST_FIRST__V47*/
15349 /*clear*/ /*_.CURMATCHPATX__V48*/
15352 /*clear*/ /*_.LIST_FIRST__V49*/
15355 /*clear*/ /*_.CURMATCHRESTPAIRS__V50*/
15358 /*clear*/ /*_.MAKE_MAPOBJECT__V51*/
15361 /*clear*/ /*_.CURPATCTX__V52*/
15364 /*clear*/ /*_.LET___V54*/
15367 /*clear*/ /*_.CURPAT__V61*/
15370 /*clear*/ /*_.CURBODY__V62*/
15373 /*clear*/ /*_.CURCASE__V63*/
15381 MELT_LOCATION("warmelt-macro.melt:6804:/ cond.else");
15389 MELT_LOCATION("warmelt-macro.melt:6830:/ locexp");
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");
15403 MELT_LOCATION("warmelt-macro.melt:6800:/ clear");
15404 /*clear*/ /*_.CURMATCH__V42*/
15407 /*clear*/ /*_#IS_A__L16*/
15411 ((/*_#IX__L10*/ meltfnum
[8]) - (1));;
15412 MELT_LOCATION("warmelt-macro.melt:6832:/ compute");
15414 meltfnum
[8] = /*_#SETQ___L22*/ meltfnum
[17] = /*_#miI__L21*/ meltfnum
[7];;
15416 MELT_CHECK_SIGNAL();
15420 MELT_LOCATION("warmelt-macro.melt:6798:/ clear");
15421 /*clear*/ /*_#ltI__L13*/
15424 /*clear*/ /*_#miI__L21*/
15427 /*clear*/ /*_#SETQ___L22*/
15432 goto meltlabloop_MATCHLOOP_1
;
15433 meltlabexit_MATCHLOOP_1
:;/*^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");
15449 /*melt_increment_dbgcounter*/
15450 #if MELT_HAVE_DEBUG
15457 MELT_CHECK_SIGNAL();
15459 /*_#MELT_NEED_DBG__L23*/
15462 #if MELT_HAVE_DEBUG
15463 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
15465 0 /* no melt_need_dbg */
15466 #endif /*MELT_HAVE_DEBUG*/
15468 MELT_LOCATION("warmelt-macro.melt:6833:/ cond");
15470 if (/*_#MELT_NEED_DBG__L23*/ meltfnum
[14]) /*then*/
15477 /*_#MELT_CALLCOUNT__L24*/ meltfnum
[11] =
15478 /* for melt_callcount */
15479 #if MELT_HAVE_DEBUG && defined (meltcallcount)
15480 meltcallcount
/* melt_callcount debugging */
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");
15491 union meltparam_un argtab
[5];
15492 memset(&argtab
, 0, sizeof(argtab
));
15494 argtab
[0].meltbp_long
= /*_#MELT_CALLCOUNT__L24*/ meltfnum
[11];
15496 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
15498 argtab
[2].meltbp_long
= 6833;
15500 argtab
[3].meltbp_cstring
= "mexpand_match caselist";
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);
15508 meltfptr
[65] = /*_.MELT_DEBUG_FUN__V68*/ meltfptr
[64];;
15511 MELT_LOCATION("warmelt-macro.melt:6833:/ clear");
15512 /*clear*/ /*_#MELT_CALLCOUNT__L24*/
15515 /*clear*/ /*_.MELT_DEBUG_FUN__V68*/
15520 else /*^cond.else*/
15523 /*_._IF___V67*/ meltfptr
[65] = /*reallynil*/ NULL
;;
15528 MELT_LOCATION("warmelt-macro.melt:6833:/ locexp");
15539 /*clear*/ /*_#MELT_NEED_DBG__L23*/
15542 /*clear*/ /*_._IF___V67*/
15546 #else /*MELT_HAVE_DEBUG*/
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");
15572 union meltparam_un argtab
[1];
15573 memset(&argtab
, 0, sizeof(argtab
));
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*/
15582 (melt_multiple_nth((melt_ptr_t
)(/*_.CASETUPL__V70*/ meltfptr
[42]), (-1)));;
15584 MELT_CHECK_SIGNAL();
15586 MELT_LOCATION("warmelt-macro.melt:6837:/ quasiblock");
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");
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");
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");
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");
15616 melt_dbgtrace_written_object (/*_.INST__V73*/ meltfptr
[48], "newly made instance");
15619 meltfptr
[47] = /*_.INST__V73*/ meltfptr
[48];;
15621 MELT_CHECK_SIGNAL();
15623 MELT_LOCATION("warmelt-macro.melt:6845:/ cond");
15626 /*ifisa*/ melt_is_instance_of((melt_ptr_t
)(/*_.LASTCASE__V71*/ meltfptr
[46]),
15627 (melt_ptr_t
)((/*!CLASS_SOURCE_MATCH_CASE*/ meltfrout
->tabval
[14])))
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
;;
15648 /*_#IS_NOT_A__L25*/
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");
15653 if (/*_#IS_NOT_A__L25*/ meltfnum
[7]) /*then*/
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);
15672 #if MELT_HAVE_DEBUG
15673 MELT_LOCATION("warmelt-macro.melt:6849:/ cppif.then");
15681 /*melt_increment_dbgcounter*/
15682 #if MELT_HAVE_DEBUG
15689 MELT_CHECK_SIGNAL();
15691 /*_#MELT_NEED_DBG__L26*/
15694 #if MELT_HAVE_DEBUG
15695 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
15697 0 /* no melt_need_dbg */
15698 #endif /*MELT_HAVE_DEBUG*/
15700 MELT_LOCATION("warmelt-macro.melt:6849:/ cond");
15702 if (/*_#MELT_NEED_DBG__L26*/ meltfnum
[17]) /*then*/
15709 /*_#MELT_CALLCOUNT__L27*/ meltfnum
[11] =
15710 /* for melt_callcount */
15711 #if MELT_HAVE_DEBUG && defined (meltcallcount)
15712 meltcallcount
/* melt_callcount debugging */
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");
15723 union meltparam_un argtab
[5];
15724 memset(&argtab
, 0, sizeof(argtab
));
15726 argtab
[0].meltbp_long
= /*_#MELT_CALLCOUNT__L27*/ meltfnum
[11];
15728 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
15730 argtab
[2].meltbp_long
= 6849;
15732 argtab
[3].meltbp_cstring
= "mexpand_match result smat";
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);
15740 meltfptr
[50] = /*_.MELT_DEBUG_FUN__V76*/ meltfptr
[51];;
15743 MELT_LOCATION("warmelt-macro.melt:6849:/ clear");
15744 /*clear*/ /*_#MELT_CALLCOUNT__L27*/
15747 /*clear*/ /*_.MELT_DEBUG_FUN__V76*/
15752 else /*^cond.else*/
15755 /*_._IF___V75*/ meltfptr
[50] = /*reallynil*/ NULL
;;
15760 MELT_LOCATION("warmelt-macro.melt:6849:/ locexp");
15771 /*clear*/ /*_#MELT_NEED_DBG__L26*/
15774 /*clear*/ /*_._IF___V75*/
15778 #else /*MELT_HAVE_DEBUG*/
15793 #endif /*MELT_HAVE_DEBUG*/
15796 MELT_CHECK_SIGNAL();
15798 MELT_LOCATION("warmelt-macro.melt:6850:/ quasiblock");
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*/
15818 goto meltlabend_rout
;
15820 meltfptr
[43] = /*_.RETURN___V77*/ meltfptr
[53];;
15822 MELT_LOCATION("warmelt-macro.melt:6834:/ clear");
15823 /*clear*/ /*_.CASETUPL__V70*/
15826 /*clear*/ /*_.LASTCASE__V71*/
15829 /*clear*/ /*_.SMAT__V72*/
15832 /*clear*/ /*_.SCAM_PATT__V74*/
15835 /*clear*/ /*_#IS_NOT_A__L25*/
15838 /*clear*/ /*_.RETURN___V77*/
15841 meltfptr
[5] = /*_.LET___V69*/ meltfptr
[43];;
15843 MELT_LOCATION("warmelt-macro.melt:6777:/ clear");
15844 /*clear*/ /*_.CONT__V20*/
15847 /*clear*/ /*_.LOC__V21*/
15850 /*clear*/ /*_.LIST_FIRST__V22*/
15853 /*clear*/ /*_.PAIR_TAIL__V23*/
15856 /*clear*/ /*_.MSEXP__V24*/
15859 /*clear*/ /*_.MATSX__V25*/
15862 /*clear*/ /*_.LIST_FIRST__V26*/
15865 /*clear*/ /*_.PAIR_TAIL__V27*/
15868 /*clear*/ /*_.PAIR_TAIL__V28*/
15871 /*clear*/ /*_.LAMBDA___V29*/
15874 /*clear*/ /*_.MEXPTUPLE__V31*/
15877 /*clear*/ /*_#NBMATCH__L7*/
15880 /*clear*/ /*_.LET___V32*/
15883 /*clear*/ /*_.LASTMEXP__V36*/
15886 /*clear*/ /*_#IX__L10*/
15889 /*clear*/ /*_.CASELIST__V37*/
15892 /*clear*/ /*_.FOREVER___V40*/
15895 /*clear*/ /*_.LET___V69*/
15898 MELT_CHECK_SIGNAL();
15900 MELT_LOCATION("warmelt-macro.melt:6771:/ quasiblock");
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*/
15920 goto meltlabend_rout
;
15924 /*clear*/ /*_.IFCPP___V8*/
15927 /*clear*/ /*_.IFCPP___V11*/
15930 /*clear*/ /*_.IFCPP___V14*/
15933 /*clear*/ /*_#NULL__L6*/
15936 /*clear*/ /*_._IF___V17*/
15939 /*clear*/ /*_.LET___V19*/
15944 goto 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
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__
15972 #undef meltcallcount
15973 #define meltcallcount 0L
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];
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
);
16038 (void)meltfirstargp_
;
16039 (void)meltxargdescr_
;
16040 (void)meltxargtab_
;
16041 (void)meltxresdescr_
;
16042 (void)meltxrestab_
;
16046 MELT_LOCATION("warmelt-macro.melt:6785:/ getarg");
16048 meltfptr
[1] = (melt_ptr_t
) meltfirstargp_
;
16050 goto meltlab_endgetargs
;
16051 meltlab_endgetargs
:
16059 MELT_CHECK_SIGNAL();
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");
16066 if (/*_#IS_NOT_A__L1*/ meltfnum
[0]) /*then*/
16075 MELT_LOCATION("warmelt-macro.melt:6787:/ locexp");
16077 melt_error_str((melt_ptr_t
)((/*~LOC*/ meltfclos
->tabval
[0])), ( "MATCH with non-sexpr"), (melt_ptr_t
)0);
16086 MELT_CHECK_SIGNAL();
16088 MELT_LOCATION("warmelt-macro.melt:6785:/ quasiblock");
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*/
16108 goto meltlabend_rout
;
16112 /*clear*/ /*_#IS_NOT_A__L1*/
16117 goto 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
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__
16145 #undef meltcallcount
16146 #define meltcallcount 0L
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];
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
);
16211 (void)meltfirstargp_
;
16212 (void)meltxargdescr_
;
16213 (void)meltxargtab_
;
16214 (void)meltxresdescr_
;
16215 (void)meltxrestab_
;
16219 MELT_LOCATION("warmelt-macro.melt:6865:/ getarg");
16221 meltfptr
[1] = (melt_ptr_t
) meltfirstargp_
;
16225 if (meltxargdescr_
[0] != MELTBPAR_PTR
) goto meltlab_endgetargs
;
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
);
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
);
16241 if (meltxargdescr_
[2] != MELTBPAR_PTR
) goto meltlab_endgetargs
;
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
:
16256 #if MELT_HAVE_DEBUG
16257 MELT_LOCATION("warmelt-macro.melt:6866:/ cppif.then");
16265 /*melt_increment_dbgcounter*/
16266 #if MELT_HAVE_DEBUG
16273 MELT_CHECK_SIGNAL();
16275 /*_#MELT_NEED_DBG__L1*/
16278 #if MELT_HAVE_DEBUG
16279 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
16281 0 /* no melt_need_dbg */
16282 #endif /*MELT_HAVE_DEBUG*/
16284 MELT_LOCATION("warmelt-macro.melt:6866:/ cond");
16286 if (/*_#MELT_NEED_DBG__L1*/ meltfnum
[0]) /*then*/
16293 /*_#MELT_CALLCOUNT__L2*/ meltfnum
[1] =
16294 /* for melt_callcount */
16295 #if MELT_HAVE_DEBUG && defined (meltcallcount)
16296 meltcallcount
/* melt_callcount debugging */
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");
16307 union meltparam_un argtab
[5];
16308 memset(&argtab
, 0, sizeof(argtab
));
16310 argtab
[0].meltbp_long
= /*_#MELT_CALLCOUNT__L2*/ meltfnum
[1];
16312 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
16314 argtab
[2].meltbp_long
= 6866;
16316 argtab
[3].meltbp_cstring
= "mexpand_matchalt sexpr=";
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);
16324 meltfptr
[5] = /*_.MELT_DEBUG_FUN__V7*/ meltfptr
[6];;
16327 MELT_LOCATION("warmelt-macro.melt:6866:/ clear");
16328 /*clear*/ /*_#MELT_CALLCOUNT__L2*/
16331 /*clear*/ /*_.MELT_DEBUG_FUN__V7*/
16336 else /*^cond.else*/
16339 /*_._IF___V6*/ meltfptr
[5] = /*reallynil*/ NULL
;;
16344 MELT_LOCATION("warmelt-macro.melt:6866:/ locexp");
16355 /*clear*/ /*_#MELT_NEED_DBG__L1*/
16358 /*clear*/ /*_._IF___V6*/
16362 #else /*MELT_HAVE_DEBUG*/
16377 #endif /*MELT_HAVE_DEBUG*/
16380 #if MELT_HAVE_DEBUG
16381 MELT_LOCATION("warmelt-macro.melt:6867:/ cppif.then");
16387 MELT_CHECK_SIGNAL();
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");
16394 if (/*_#IS_A__L3*/ meltfnum
[1]) /*then*/
16397 /*_._IFELSE___V9*/ meltfptr
[5] = (/*nil*/NULL
);;
16401 MELT_LOCATION("warmelt-macro.melt:6867:/ cond.else");
16408 MELT_CHECK_SIGNAL();
16413 union meltparam_un argtab
[4];
16414 memset(&argtab
, 0, sizeof(argtab
));
16416 argtab
[0].meltbp_cstring
= "check sexpr";
16418 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
16420 argtab
[2].meltbp_long
= 6867;
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);
16428 meltfptr
[5] = /*_.MELT_ASSERT_FAILURE_FUN__V10*/ meltfptr
[9];;
16431 MELT_LOCATION("warmelt-macro.melt:6867:/ clear");
16432 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V10*/
16439 meltfptr
[6] = /*_._IFELSE___V9*/ meltfptr
[5];;
16442 MELT_LOCATION("warmelt-macro.melt:6867:/ clear");
16443 /*clear*/ /*_#IS_A__L3*/
16446 /*clear*/ /*_._IFELSE___V9*/
16450 #else /*MELT_HAVE_DEBUG*/
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");
16463 MELT_CHECK_SIGNAL();
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");
16470 if (/*_#IS_A__L4*/ meltfnum
[0]) /*then*/
16473 /*_._IFELSE___V12*/ meltfptr
[5] = (/*nil*/NULL
);;
16477 MELT_LOCATION("warmelt-macro.melt:6868:/ cond.else");
16484 MELT_CHECK_SIGNAL();
16489 union meltparam_un argtab
[4];
16490 memset(&argtab
, 0, sizeof(argtab
));
16492 argtab
[0].meltbp_cstring
= "check env";
16494 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
16496 argtab
[2].meltbp_long
= 6868;
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];;
16507 MELT_LOCATION("warmelt-macro.melt:6868:/ clear");
16508 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V13*/
16515 meltfptr
[9] = /*_._IFELSE___V12*/ meltfptr
[5];;
16518 MELT_LOCATION("warmelt-macro.melt:6868:/ clear");
16519 /*clear*/ /*_#IS_A__L4*/
16522 /*clear*/ /*_._IFELSE___V12*/
16526 #else /*MELT_HAVE_DEBUG*/
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");
16539 MELT_CHECK_SIGNAL();
16541 /*_#IS_OBJECT__L5*/
16543 (melt_magic_discr((melt_ptr_t
)(/*_.MODCTX__V5*/ meltfptr
[4])) == MELTOBMAG_OBJECT
);;
16544 MELT_LOCATION("warmelt-macro.melt:6869:/ cond");
16546 if (/*_#IS_OBJECT__L5*/ meltfnum
[1]) /*then*/
16549 /*_._IFELSE___V15*/ meltfptr
[5] = (/*nil*/NULL
);;
16553 MELT_LOCATION("warmelt-macro.melt:6869:/ cond.else");
16560 MELT_CHECK_SIGNAL();
16565 union meltparam_un argtab
[4];
16566 memset(&argtab
, 0, sizeof(argtab
));
16568 argtab
[0].meltbp_cstring
= "check modctx";
16570 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
16572 argtab
[2].meltbp_long
= 6869;
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];;
16583 MELT_LOCATION("warmelt-macro.melt:6869:/ clear");
16584 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V16*/
16591 meltfptr
[12] = /*_._IFELSE___V15*/ meltfptr
[5];;
16594 MELT_LOCATION("warmelt-macro.melt:6869:/ clear");
16595 /*clear*/ /*_#IS_OBJECT__L5*/
16598 /*clear*/ /*_._IFELSE___V15*/
16602 #else /*MELT_HAVE_DEBUG*/
16604 /*_.IFCPP___V14*/ meltfptr
[12] = (/*nil*/NULL
);
16605 #endif /*MELT_HAVE_DEBUG*/
16608 MELT_CHECK_SIGNAL();
16613 (/*null*/(/*_.MEXPANDER__V4*/ meltfptr
[3]) == NULL
);;
16614 MELT_LOCATION("warmelt-macro.melt:6870:/ cond");
16616 if (/*_#NULL__L6*/ meltfnum
[0]) /*then*/
16624 /*_.MEXPANDER__V4*/ meltfptr
[3] = /*_.SETQ___V18*/ meltfptr
[5] = (/*!MACROEXPAND_1*/ meltfrout
->tabval
[4]);;
16626 meltfptr
[15] = /*_.SETQ___V18*/ meltfptr
[5];;
16629 MELT_LOCATION("warmelt-macro.melt:6870:/ clear");
16630 /*clear*/ /*_.SETQ___V18*/
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");
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");
16659 meltfptr
[20] = slot
;
16662 /*_.LIST_FIRST__V22*/
16664 (melt_list_first((melt_ptr_t
)(/*_.CONT__V20*/ meltfptr
[19])));;
16666 /*_.PAIR_TAIL__V23*/
16668 (melt_pair_tail((melt_ptr_t
)(/*_.LIST_FIRST__V22*/ meltfptr
[21])));;
16672 (melt_pair_head((melt_ptr_t
)(/*_.PAIR_TAIL__V23*/ meltfptr
[22])));;
16674 MELT_CHECK_SIGNAL();
16676 MELT_LOCATION("warmelt-macro.melt:6875:/ apply");
16679 union meltparam_un argtab
[3];
16680 memset(&argtab
, 0, sizeof(argtab
));
16682 argtab
[0].meltbp_aptr
= (melt_ptr_t
*) &/*_.ENV__V3*/ meltfptr
[2];
16684 argtab
[1].meltbp_aptr
= (melt_ptr_t
*) &/*_.MEXPANDER__V4*/ meltfptr
[3];
16686 argtab
[2].meltbp_aptr
= (melt_ptr_t
*) &/*_.MODCTX__V5*/ meltfptr
[4];
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*/
16693 (melt_list_first((melt_ptr_t
)(/*_.CONT__V20*/ meltfptr
[19])));;
16695 /*_.PAIR_TAIL__V27*/
16697 (melt_pair_tail((melt_ptr_t
)(/*_.LIST_FIRST__V26*/ meltfptr
[25])));;
16699 /*_.PAIR_TAIL__V28*/
16701 (melt_pair_tail((melt_ptr_t
)(/*_.PAIR_TAIL__V27*/ meltfptr
[26])));;
16702 MELT_LOCATION("warmelt-macro.melt:6879:/ quasiblock");
16706 /*newclosure*/ /*_.LAMBDA___V30*/
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));
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]);
16717 meltfptr
[28] = /*_.LAMBDA___V30*/ meltfptr
[29];;
16719 MELT_CHECK_SIGNAL();
16721 MELT_LOCATION("warmelt-macro.melt:6876:/ apply");
16724 union meltparam_un argtab
[2];
16725 memset(&argtab
, 0, sizeof(argtab
));
16727 argtab
[0].meltbp_aptr
= (melt_ptr_t
*) &(/*!DISCR_MULTIPLE*/ meltfrout
->tabval
[6]);
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);
16736 (melt_multiple_length((melt_ptr_t
)(/*_.MEXPTUPLE__V31*/ meltfptr
[30])));;
16737 MELT_LOCATION("warmelt-macro.melt:6885:/ quasiblock");
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");
16753 /*melt_increment_dbgcounter*/
16754 #if MELT_HAVE_DEBUG
16761 MELT_CHECK_SIGNAL();
16763 /*_#MELT_NEED_DBG__L8*/
16766 #if MELT_HAVE_DEBUG
16767 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
16769 0 /* no melt_need_dbg */
16770 #endif /*MELT_HAVE_DEBUG*/
16772 MELT_LOCATION("warmelt-macro.melt:6886:/ cond");
16774 if (/*_#MELT_NEED_DBG__L8*/ meltfnum
[7]) /*then*/
16781 /*_#MELT_CALLCOUNT__L9*/ meltfnum
[8] =
16782 /* for melt_callcount */
16783 #if MELT_HAVE_DEBUG && defined (meltcallcount)
16784 meltcallcount
/* melt_callcount debugging */
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");
16795 union meltparam_un argtab
[5];
16796 memset(&argtab
, 0, sizeof(argtab
));
16798 argtab
[0].meltbp_long
= /*_#MELT_CALLCOUNT__L9*/ meltfnum
[8];
16800 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
16802 argtab
[2].meltbp_long
= 6886;
16804 argtab
[3].meltbp_cstring
= "mexpand_matchalt lastmexp lx";
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);
16812 meltfptr
[33] = /*_.MELT_DEBUG_FUN__V35*/ meltfptr
[34];;
16815 MELT_LOCATION("warmelt-macro.melt:6886:/ clear");
16816 /*clear*/ /*_#MELT_CALLCOUNT__L9*/
16819 /*clear*/ /*_.MELT_DEBUG_FUN__V35*/
16824 else /*^cond.else*/
16827 /*_._IF___V34*/ meltfptr
[33] = /*reallynil*/ NULL
;;
16832 MELT_LOCATION("warmelt-macro.melt:6886:/ locexp");
16843 /*clear*/ /*_#MELT_NEED_DBG__L8*/
16846 /*clear*/ /*_._IF___V34*/
16850 #else /*MELT_HAVE_DEBUG*/
16865 #endif /*MELT_HAVE_DEBUG*/
16868 meltfptr
[31] = /*_.LX__V33*/ meltfptr
[32];;
16870 MELT_LOCATION("warmelt-macro.melt:6885:/ clear");
16871 /*clear*/ /*_.LX__V33*/
16873 /*_.LASTMEXP__V36*/
16874 meltfptr
[34] = /*_.LET___V32*/ meltfptr
[31];;
16878 ((/*_#NBMATCH__L7*/ meltfnum
[1]) - (1));;
16880 /*_.CASELIST__V37*/
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");
16893 /*melt_increment_dbgcounter*/
16894 #if MELT_HAVE_DEBUG
16901 MELT_CHECK_SIGNAL();
16903 /*_#MELT_NEED_DBG__L11*/
16906 #if MELT_HAVE_DEBUG
16907 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
16909 0 /* no melt_need_dbg */
16910 #endif /*MELT_HAVE_DEBUG*/
16912 MELT_LOCATION("warmelt-macro.melt:6891:/ cond");
16914 if (/*_#MELT_NEED_DBG__L11*/ meltfnum
[7]) /*then*/
16921 /*_#MELT_CALLCOUNT__L12*/ meltfnum
[11] =
16922 /* for melt_callcount */
16923 #if MELT_HAVE_DEBUG && defined (meltcallcount)
16924 meltcallcount
/* melt_callcount debugging */
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");
16935 union meltparam_un argtab
[5];
16936 memset(&argtab
, 0, sizeof(argtab
));
16938 argtab
[0].meltbp_long
= /*_#MELT_CALLCOUNT__L12*/ meltfnum
[11];
16940 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
16942 argtab
[2].meltbp_long
= 6891;
16944 argtab
[3].meltbp_cstring
= "mexpand_matchalt mexptuple";
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);
16952 meltfptr
[32] = /*_.MELT_DEBUG_FUN__V39*/ meltfptr
[38];;
16955 MELT_LOCATION("warmelt-macro.melt:6891:/ clear");
16956 /*clear*/ /*_#MELT_CALLCOUNT__L12*/
16959 /*clear*/ /*_.MELT_DEBUG_FUN__V39*/
16964 else /*^cond.else*/
16967 /*_._IF___V38*/ meltfptr
[32] = /*reallynil*/ NULL
;;
16972 MELT_LOCATION("warmelt-macro.melt:6891:/ locexp");
16983 /*clear*/ /*_#MELT_NEED_DBG__L11*/
16986 /*clear*/ /*_._IF___V38*/
16990 #else /*MELT_HAVE_DEBUG*/
17005 #endif /*MELT_HAVE_DEBUG*/
17007 MELT_LOCATION("warmelt-macro.melt:6892:/ loop");
17010 meltlabloop_MATCHLOOP_2
:;/*^loopbody*/
17017 MELT_CHECK_SIGNAL();
17020 MELT_CHECK_SIGNAL();
17024 ((/*_#IX__L10*/ meltfnum
[8]) < (0));;
17025 MELT_LOCATION("warmelt-macro.melt:6893:/ cond");
17027 if (/*_#ltI__L13*/ meltfnum
[11]) /*then*/
17038 /*_.MATCHLOOP__V41*/ meltfptr
[32] = /*reallynil*/ NULL
;;
17043 goto meltlabexit_MATCHLOOP_2
;
17051 MELT_LOCATION("warmelt-macro.melt:6894:/ quasiblock");
17054 /*_.CURMATCH__V42*/
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");
17067 /*melt_increment_dbgcounter*/
17068 #if MELT_HAVE_DEBUG
17075 MELT_CHECK_SIGNAL();
17077 /*_#MELT_NEED_DBG__L14*/
17080 #if MELT_HAVE_DEBUG
17081 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
17083 0 /* no melt_need_dbg */
17084 #endif /*MELT_HAVE_DEBUG*/
17086 MELT_LOCATION("warmelt-macro.melt:6895:/ cond");
17088 if (/*_#MELT_NEED_DBG__L14*/ meltfnum
[7]) /*then*/
17095 /*_#MELT_CALLCOUNT__L15*/ meltfnum
[14] =
17096 /* for melt_callcount */
17097 #if MELT_HAVE_DEBUG && defined (meltcallcount)
17098 meltcallcount
/* melt_callcount debugging */
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");
17109 union meltparam_un argtab
[5];
17110 memset(&argtab
, 0, sizeof(argtab
));
17112 argtab
[0].meltbp_long
= /*_#MELT_CALLCOUNT__L15*/ meltfnum
[14];
17114 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
17116 argtab
[2].meltbp_long
= 6895;
17118 argtab
[3].meltbp_cstring
= "mexpand_matchalt curmatch";
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);
17126 meltfptr
[42] = /*_.MELT_DEBUG_FUN__V44*/ meltfptr
[43];;
17129 MELT_LOCATION("warmelt-macro.melt:6895:/ clear");
17130 /*clear*/ /*_#MELT_CALLCOUNT__L15*/
17133 /*clear*/ /*_.MELT_DEBUG_FUN__V44*/
17138 else /*^cond.else*/
17141 /*_._IF___V43*/ meltfptr
[42] = /*reallynil*/ NULL
;;
17146 MELT_LOCATION("warmelt-macro.melt:6895:/ locexp");
17157 /*clear*/ /*_#MELT_NEED_DBG__L14*/
17160 /*clear*/ /*_._IF___V43*/
17164 #else /*MELT_HAVE_DEBUG*/
17179 #endif /*MELT_HAVE_DEBUG*/
17182 MELT_CHECK_SIGNAL();
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");
17189 if (/*_#IS_A__L16*/ meltfnum
[14]) /*then*/
17196 MELT_LOCATION("warmelt-macro.melt:6899:/ quasiblock");
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*/
17219 (melt_list_first((melt_ptr_t
)(/*_.CURMATCHCONT__V45*/ meltfptr
[43])));;
17221 /*_.CURMATCHPATX__V48*/
17223 (melt_pair_head((melt_ptr_t
)(/*_.LIST_FIRST__V47*/ meltfptr
[46])));;
17225 /*_.LIST_FIRST__V49*/
17227 (melt_list_first((melt_ptr_t
)(/*_.CURMATCHCONT__V45*/ meltfptr
[43])));;
17229 /*_.CURMATCHRESTPAIRS__V50*/
17231 (melt_pair_tail((melt_ptr_t
)(/*_.LIST_FIRST__V49*/ meltfptr
[48])));;
17233 MELT_CHECK_SIGNAL();
17236 /*_.MAKE_MAPOBJECT__V51*/
17238 (meltgc_new_mapobjects( (meltobject_ptr_t
) ((/*!DISCR_MAP_OBJECTS*/ meltfrout
->tabval
[12])), (17)));;
17239 MELT_LOCATION("warmelt-macro.melt:6903:/ quasiblock");
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");
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");
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");
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");
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");
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();
17287 union meltparam_un argtab
[3];
17288 memset(&argtab
, 0, sizeof(argtab
));
17290 argtab
[0].meltbp_aptr
= (melt_ptr_t
*) &/*_.ENV__V3*/ meltfptr
[2];
17292 argtab
[1].meltbp_aptr
= (melt_ptr_t
*) &/*_.CURPATCTX__V52*/ meltfptr
[51];
17294 argtab
[2].meltbp_aptr
= (melt_ptr_t
*) &/*_.CURMATCHLOC__V46*/ meltfptr
[42];
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");
17309 /*melt_increment_dbgcounter*/
17310 #if MELT_HAVE_DEBUG
17317 MELT_CHECK_SIGNAL();
17319 /*_#MELT_NEED_DBG__L17*/
17322 #if MELT_HAVE_DEBUG
17323 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
17325 0 /* no melt_need_dbg */
17326 #endif /*MELT_HAVE_DEBUG*/
17328 MELT_LOCATION("warmelt-macro.melt:6910:/ cond");
17330 if (/*_#MELT_NEED_DBG__L17*/ meltfnum
[7]) /*then*/
17337 /*_#MELT_CALLCOUNT__L18*/ meltfnum
[17] =
17338 /* for melt_callcount */
17339 #if MELT_HAVE_DEBUG && defined (meltcallcount)
17340 meltcallcount
/* melt_callcount debugging */
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");
17351 union meltparam_un argtab
[5];
17352 memset(&argtab
, 0, sizeof(argtab
));
17354 argtab
[0].meltbp_long
= /*_#MELT_CALLCOUNT__L18*/ meltfnum
[17];
17356 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
17358 argtab
[2].meltbp_long
= 6910;
17360 argtab
[3].meltbp_cstring
= "mexpand_matchalt curpat";
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);
17368 meltfptr
[55] = /*_.MELT_DEBUG_FUN__V57*/ meltfptr
[56];;
17371 MELT_LOCATION("warmelt-macro.melt:6910:/ clear");
17372 /*clear*/ /*_#MELT_CALLCOUNT__L18*/
17375 /*clear*/ /*_.MELT_DEBUG_FUN__V57*/
17380 else /*^cond.else*/
17383 /*_._IF___V56*/ meltfptr
[55] = /*reallynil*/ NULL
;;
17388 MELT_LOCATION("warmelt-macro.melt:6910:/ locexp");
17399 /*clear*/ /*_#MELT_NEED_DBG__L17*/
17402 /*clear*/ /*_._IF___V56*/
17406 #else /*MELT_HAVE_DEBUG*/
17421 #endif /*MELT_HAVE_DEBUG*/
17424 #if MELT_HAVE_DEBUG
17425 MELT_LOCATION("warmelt-macro.melt:6911:/ cppif.then");
17431 MELT_CHECK_SIGNAL();
17435 if (/*_.CP__V55*/ meltfptr
[54]) /*then*/
17438 /*_._IFELSE___V59*/ meltfptr
[55] = (/*nil*/NULL
);;
17442 MELT_LOCATION("warmelt-macro.melt:6911:/ cond.else");
17449 MELT_CHECK_SIGNAL();
17454 union meltparam_un argtab
[3];
17455 memset(&argtab
, 0, sizeof(argtab
));
17457 argtab
[0].meltbp_cstring
= "check curpat";
17459 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
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];;
17470 MELT_LOCATION("warmelt-macro.melt:6911:/ clear");
17471 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V60*/
17478 meltfptr
[56] = /*_._IFELSE___V59*/ meltfptr
[55];;
17481 MELT_LOCATION("warmelt-macro.melt:6911:/ clear");
17482 /*clear*/ /*_._IFELSE___V59*/
17486 #else /*MELT_HAVE_DEBUG*/
17488 /*_.IFCPP___V58*/ meltfptr
[56] = (/*nil*/NULL
);
17489 #endif /*MELT_HAVE_DEBUG*/
17493 meltfptr
[53] = /*_.CP__V55*/ meltfptr
[54];;
17495 MELT_LOCATION("warmelt-macro.melt:6909:/ clear");
17496 /*clear*/ /*_.CP__V55*/
17499 /*clear*/ /*_.IFCPP___V58*/
17502 meltfptr
[59] = /*_.LET___V54*/ meltfptr
[53];;
17504 MELT_CHECK_SIGNAL();
17506 MELT_LOCATION("warmelt-macro.melt:6913:/ apply");
17509 union meltparam_un argtab
[3];
17510 memset(&argtab
, 0, sizeof(argtab
));
17512 argtab
[0].meltbp_aptr
= (melt_ptr_t
*) &/*_.ENV__V3*/ meltfptr
[2];
17514 argtab
[1].meltbp_aptr
= (melt_ptr_t
*) &/*_.MEXPANDER__V4*/ meltfptr
[3];
17516 argtab
[2].meltbp_aptr
= (melt_ptr_t
*) &/*_.MODCTX__V5*/ meltfptr
[4];
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");
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");
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");
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");
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");
17554 melt_dbgtrace_written_object (/*_.INST__V64*/ meltfptr
[56], "newly made instance");
17557 meltfptr
[54] = /*_.INST__V64*/ meltfptr
[56];;
17559 #if MELT_HAVE_DEBUG
17560 MELT_LOCATION("warmelt-macro.melt:6919:/ cppif.then");
17568 /*melt_increment_dbgcounter*/
17569 #if MELT_HAVE_DEBUG
17576 MELT_CHECK_SIGNAL();
17578 /*_#MELT_NEED_DBG__L19*/
17581 #if MELT_HAVE_DEBUG
17582 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
17584 0 /* no melt_need_dbg */
17585 #endif /*MELT_HAVE_DEBUG*/
17587 MELT_LOCATION("warmelt-macro.melt:6919:/ cond");
17589 if (/*_#MELT_NEED_DBG__L19*/ meltfnum
[17]) /*then*/
17596 /*_#MELT_CALLCOUNT__L20*/ meltfnum
[7] =
17597 /* for melt_callcount */
17598 #if MELT_HAVE_DEBUG && defined (meltcallcount)
17599 meltcallcount
/* melt_callcount debugging */
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");
17610 union meltparam_un argtab
[5];
17611 memset(&argtab
, 0, sizeof(argtab
));
17613 argtab
[0].meltbp_long
= /*_#MELT_CALLCOUNT__L20*/ meltfnum
[7];
17615 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
17617 argtab
[2].meltbp_long
= 6919;
17619 argtab
[3].meltbp_cstring
= "mexpand_matchalt curcase";
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);
17627 meltfptr
[64] = /*_.MELT_DEBUG_FUN__V66*/ meltfptr
[65];;
17630 MELT_LOCATION("warmelt-macro.melt:6919:/ clear");
17631 /*clear*/ /*_#MELT_CALLCOUNT__L20*/
17634 /*clear*/ /*_.MELT_DEBUG_FUN__V66*/
17639 else /*^cond.else*/
17642 /*_._IF___V65*/ meltfptr
[64] = /*reallynil*/ NULL
;;
17647 MELT_LOCATION("warmelt-macro.melt:6919:/ locexp");
17658 /*clear*/ /*_#MELT_NEED_DBG__L19*/
17661 /*clear*/ /*_._IF___V65*/
17665 #else /*MELT_HAVE_DEBUG*/
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*/
17693 /*clear*/ /*_.CURMATCHLOC__V46*/
17696 /*clear*/ /*_.LIST_FIRST__V47*/
17699 /*clear*/ /*_.CURMATCHPATX__V48*/
17702 /*clear*/ /*_.LIST_FIRST__V49*/
17705 /*clear*/ /*_.CURMATCHRESTPAIRS__V50*/
17708 /*clear*/ /*_.MAKE_MAPOBJECT__V51*/
17711 /*clear*/ /*_.CURPATCTX__V52*/
17714 /*clear*/ /*_.LET___V54*/
17717 /*clear*/ /*_.CURPAT__V61*/
17720 /*clear*/ /*_.CURBODY__V62*/
17723 /*clear*/ /*_.CURCASE__V63*/
17731 MELT_LOCATION("warmelt-macro.melt:6898:/ cond.else");
17739 MELT_LOCATION("warmelt-macro.melt:6924:/ locexp");
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");
17753 MELT_LOCATION("warmelt-macro.melt:6894:/ clear");
17754 /*clear*/ /*_.CURMATCH__V42*/
17757 /*clear*/ /*_#IS_A__L16*/
17761 ((/*_#IX__L10*/ meltfnum
[8]) - (1));;
17762 MELT_LOCATION("warmelt-macro.melt:6926:/ compute");
17764 meltfnum
[8] = /*_#SETQ___L22*/ meltfnum
[17] = /*_#miI__L21*/ meltfnum
[7];;
17766 MELT_CHECK_SIGNAL();
17770 MELT_LOCATION("warmelt-macro.melt:6892:/ clear");
17771 /*clear*/ /*_#ltI__L13*/
17774 /*clear*/ /*_#miI__L21*/
17777 /*clear*/ /*_#SETQ___L22*/
17782 goto meltlabloop_MATCHLOOP_2
;
17783 meltlabexit_MATCHLOOP_2
:;/*^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");
17799 /*melt_increment_dbgcounter*/
17800 #if MELT_HAVE_DEBUG
17807 MELT_CHECK_SIGNAL();
17809 /*_#MELT_NEED_DBG__L23*/
17812 #if MELT_HAVE_DEBUG
17813 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
17815 0 /* no melt_need_dbg */
17816 #endif /*MELT_HAVE_DEBUG*/
17818 MELT_LOCATION("warmelt-macro.melt:6927:/ cond");
17820 if (/*_#MELT_NEED_DBG__L23*/ meltfnum
[14]) /*then*/
17827 /*_#MELT_CALLCOUNT__L24*/ meltfnum
[11] =
17828 /* for melt_callcount */
17829 #if MELT_HAVE_DEBUG && defined (meltcallcount)
17830 meltcallcount
/* melt_callcount debugging */
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");
17841 union meltparam_un argtab
[5];
17842 memset(&argtab
, 0, sizeof(argtab
));
17844 argtab
[0].meltbp_long
= /*_#MELT_CALLCOUNT__L24*/ meltfnum
[11];
17846 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
17848 argtab
[2].meltbp_long
= 6927;
17850 argtab
[3].meltbp_cstring
= "mexpand_matchalt caselist";
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);
17858 meltfptr
[65] = /*_.MELT_DEBUG_FUN__V68*/ meltfptr
[64];;
17861 MELT_LOCATION("warmelt-macro.melt:6927:/ clear");
17862 /*clear*/ /*_#MELT_CALLCOUNT__L24*/
17865 /*clear*/ /*_.MELT_DEBUG_FUN__V68*/
17870 else /*^cond.else*/
17873 /*_._IF___V67*/ meltfptr
[65] = /*reallynil*/ NULL
;;
17878 MELT_LOCATION("warmelt-macro.melt:6927:/ locexp");
17889 /*clear*/ /*_#MELT_NEED_DBG__L23*/
17892 /*clear*/ /*_._IF___V67*/
17896 #else /*MELT_HAVE_DEBUG*/
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");
17922 union meltparam_un argtab
[1];
17923 memset(&argtab
, 0, sizeof(argtab
));
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*/
17932 (melt_multiple_nth((melt_ptr_t
)(/*_.CASETUPL__V70*/ meltfptr
[42]), (-1)));;
17934 MELT_CHECK_SIGNAL();
17936 MELT_LOCATION("warmelt-macro.melt:6931:/ quasiblock");
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");
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");
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");
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");
17966 melt_dbgtrace_written_object (/*_.INST__V73*/ meltfptr
[48], "newly made instance");
17969 meltfptr
[47] = /*_.INST__V73*/ meltfptr
[48];;
17971 MELT_CHECK_SIGNAL();
17973 MELT_LOCATION("warmelt-macro.melt:6939:/ cond");
17976 /*ifisa*/ melt_is_instance_of((melt_ptr_t
)(/*_.LASTCASE__V71*/ meltfptr
[46]),
17977 (melt_ptr_t
)((/*!CLASS_SOURCE_MATCH_CASE*/ meltfrout
->tabval
[14])))
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
;;
17998 /*_#IS_NOT_A__L25*/
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");
18003 if (/*_#IS_NOT_A__L25*/ meltfnum
[7]) /*then*/
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);
18022 #if MELT_HAVE_DEBUG
18023 MELT_LOCATION("warmelt-macro.melt:6943:/ cppif.then");
18031 /*melt_increment_dbgcounter*/
18032 #if MELT_HAVE_DEBUG
18039 MELT_CHECK_SIGNAL();
18041 /*_#MELT_NEED_DBG__L26*/
18044 #if MELT_HAVE_DEBUG
18045 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
18047 0 /* no melt_need_dbg */
18048 #endif /*MELT_HAVE_DEBUG*/
18050 MELT_LOCATION("warmelt-macro.melt:6943:/ cond");
18052 if (/*_#MELT_NEED_DBG__L26*/ meltfnum
[17]) /*then*/
18059 /*_#MELT_CALLCOUNT__L27*/ meltfnum
[11] =
18060 /* for melt_callcount */
18061 #if MELT_HAVE_DEBUG && defined (meltcallcount)
18062 meltcallcount
/* melt_callcount debugging */
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");
18073 union meltparam_un argtab
[5];
18074 memset(&argtab
, 0, sizeof(argtab
));
18076 argtab
[0].meltbp_long
= /*_#MELT_CALLCOUNT__L27*/ meltfnum
[11];
18078 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
18080 argtab
[2].meltbp_long
= 6943;
18082 argtab
[3].meltbp_cstring
= "mexpand_matchalt result smat";
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);
18090 meltfptr
[50] = /*_.MELT_DEBUG_FUN__V76*/ meltfptr
[51];;
18093 MELT_LOCATION("warmelt-macro.melt:6943:/ clear");
18094 /*clear*/ /*_#MELT_CALLCOUNT__L27*/
18097 /*clear*/ /*_.MELT_DEBUG_FUN__V76*/
18102 else /*^cond.else*/
18105 /*_._IF___V75*/ meltfptr
[50] = /*reallynil*/ NULL
;;
18110 MELT_LOCATION("warmelt-macro.melt:6943:/ locexp");
18121 /*clear*/ /*_#MELT_NEED_DBG__L26*/
18124 /*clear*/ /*_._IF___V75*/
18128 #else /*MELT_HAVE_DEBUG*/
18143 #endif /*MELT_HAVE_DEBUG*/
18146 MELT_CHECK_SIGNAL();
18148 MELT_LOCATION("warmelt-macro.melt:6944:/ quasiblock");
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*/
18168 goto meltlabend_rout
;
18170 meltfptr
[43] = /*_.RETURN___V77*/ meltfptr
[53];;
18172 MELT_LOCATION("warmelt-macro.melt:6928:/ clear");
18173 /*clear*/ /*_.CASETUPL__V70*/
18176 /*clear*/ /*_.LASTCASE__V71*/
18179 /*clear*/ /*_.SMAT__V72*/
18182 /*clear*/ /*_.SCAM_PATT__V74*/
18185 /*clear*/ /*_#IS_NOT_A__L25*/
18188 /*clear*/ /*_.RETURN___V77*/
18191 meltfptr
[5] = /*_.LET___V69*/ meltfptr
[43];;
18193 MELT_LOCATION("warmelt-macro.melt:6871:/ clear");
18194 /*clear*/ /*_.CONT__V20*/
18197 /*clear*/ /*_.LOC__V21*/
18200 /*clear*/ /*_.LIST_FIRST__V22*/
18203 /*clear*/ /*_.PAIR_TAIL__V23*/
18206 /*clear*/ /*_.MSEXP__V24*/
18209 /*clear*/ /*_.MATSX__V25*/
18212 /*clear*/ /*_.LIST_FIRST__V26*/
18215 /*clear*/ /*_.PAIR_TAIL__V27*/
18218 /*clear*/ /*_.PAIR_TAIL__V28*/
18221 /*clear*/ /*_.LAMBDA___V29*/
18224 /*clear*/ /*_.MEXPTUPLE__V31*/
18227 /*clear*/ /*_#NBMATCH__L7*/
18230 /*clear*/ /*_.LET___V32*/
18233 /*clear*/ /*_.LASTMEXP__V36*/
18236 /*clear*/ /*_#IX__L10*/
18239 /*clear*/ /*_.CASELIST__V37*/
18242 /*clear*/ /*_.FOREVER___V40*/
18245 /*clear*/ /*_.LET___V69*/
18248 MELT_CHECK_SIGNAL();
18250 MELT_LOCATION("warmelt-macro.melt:6865:/ quasiblock");
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*/
18270 goto meltlabend_rout
;
18274 /*clear*/ /*_.IFCPP___V8*/
18277 /*clear*/ /*_.IFCPP___V11*/
18280 /*clear*/ /*_.IFCPP___V14*/
18283 /*clear*/ /*_#NULL__L6*/
18286 /*clear*/ /*_._IF___V17*/
18289 /*clear*/ /*_.LET___V19*/
18294 goto 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
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__
18322 #undef meltcallcount
18323 #define meltcallcount 0L
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];
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
);
18388 (void)meltfirstargp_
;
18389 (void)meltxargdescr_
;
18390 (void)meltxargtab_
;
18391 (void)meltxresdescr_
;
18392 (void)meltxrestab_
;
18396 MELT_LOCATION("warmelt-macro.melt:6879:/ getarg");
18398 meltfptr
[1] = (melt_ptr_t
) meltfirstargp_
;
18400 goto meltlab_endgetargs
;
18401 meltlab_endgetargs
:
18409 MELT_CHECK_SIGNAL();
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");
18416 if (/*_#IS_NOT_A__L1*/ meltfnum
[0]) /*then*/
18425 MELT_LOCATION("warmelt-macro.melt:6881:/ locexp");
18427 melt_error_str((melt_ptr_t
)((/*~LOC*/ meltfclos
->tabval
[0])), ( "MATCHALT with non-sexpr"), (melt_ptr_t
)0);
18436 MELT_CHECK_SIGNAL();
18438 MELT_LOCATION("warmelt-macro.melt:6879:/ quasiblock");
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*/
18458 goto meltlabend_rout
;
18462 /*clear*/ /*_#IS_NOT_A__L1*/
18467 goto 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
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__
18495 #undef meltcallcount
18496 #define meltcallcount 0L
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];
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
);
18561 (void)meltfirstargp_
;
18562 (void)meltxargdescr_
;
18563 (void)meltxargtab_
;
18564 (void)meltxresdescr_
;
18565 (void)meltxrestab_
;
18569 MELT_LOCATION("warmelt-macro.melt:6957:/ getarg");
18571 meltfptr
[1] = (melt_ptr_t
) meltfirstargp_
;
18575 if (meltxargdescr_
[0] != MELTBPAR_PTR
) goto meltlab_endgetargs
;
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
);
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
);
18591 if (meltxargdescr_
[2] != MELTBPAR_PTR
) goto meltlab_endgetargs
;
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
:
18606 #if MELT_HAVE_DEBUG
18607 MELT_LOCATION("warmelt-macro.melt:6958:/ cppif.then");
18615 /*melt_increment_dbgcounter*/
18616 #if MELT_HAVE_DEBUG
18623 MELT_CHECK_SIGNAL();
18625 /*_#MELT_NEED_DBG__L1*/
18628 #if MELT_HAVE_DEBUG
18629 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
18631 0 /* no melt_need_dbg */
18632 #endif /*MELT_HAVE_DEBUG*/
18634 MELT_LOCATION("warmelt-macro.melt:6958:/ cond");
18636 if (/*_#MELT_NEED_DBG__L1*/ meltfnum
[0]) /*then*/
18643 /*_#MELT_CALLCOUNT__L2*/ meltfnum
[1] =
18644 /* for melt_callcount */
18645 #if MELT_HAVE_DEBUG && defined (meltcallcount)
18646 meltcallcount
/* melt_callcount debugging */
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");
18657 union meltparam_un argtab
[9];
18658 memset(&argtab
, 0, sizeof(argtab
));
18660 argtab
[0].meltbp_long
= /*_#MELT_CALLCOUNT__L2*/ meltfnum
[1];
18662 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
18664 argtab
[2].meltbp_long
= 6958;
18666 argtab
[3].meltbp_cstring
= "mexpand_letbinding";
18668 argtab
[4].meltbp_cstring
= " sexpr=";
18670 argtab
[5].meltbp_aptr
= (melt_ptr_t
*) &/*_.SEXPR__V2*/ meltfptr
[1];
18672 argtab
[6].meltbp_cstring
= "\n.. env=";
18674 argtab
[7].meltbp_aptr
= (melt_ptr_t
*) &(/*!DEBUG_LESS*/ meltfrout
->tabval
[1]);
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);
18682 meltfptr
[5] = /*_.MELT_DEBUG_FUN__V7*/ meltfptr
[6];;
18685 MELT_LOCATION("warmelt-macro.melt:6958:/ clear");
18686 /*clear*/ /*_#MELT_CALLCOUNT__L2*/
18689 /*clear*/ /*_.MELT_DEBUG_FUN__V7*/
18694 else /*^cond.else*/
18697 /*_._IF___V6*/ meltfptr
[5] = /*reallynil*/ NULL
;;
18702 MELT_LOCATION("warmelt-macro.melt:6958:/ locexp");
18713 /*clear*/ /*_#MELT_NEED_DBG__L1*/
18716 /*clear*/ /*_._IF___V6*/
18720 #else /*MELT_HAVE_DEBUG*/
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));
18749 #if MELT_HAVE_DEBUG
18750 MELT_LOCATION("warmelt-macro.melt:6960:/ cppif.then");
18756 MELT_CHECK_SIGNAL();
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");
18763 if (/*_#IS_A__L3*/ meltfnum
[1]) /*then*/
18766 /*_._IFELSE___V9*/ meltfptr
[5] = (/*nil*/NULL
);;
18770 MELT_LOCATION("warmelt-macro.melt:6960:/ cond.else");
18777 MELT_CHECK_SIGNAL();
18782 union meltparam_un argtab
[4];
18783 memset(&argtab
, 0, sizeof(argtab
));
18785 argtab
[0].meltbp_cstring
= "check sexpr";
18787 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
18789 argtab
[2].meltbp_long
= 6960;
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);
18797 meltfptr
[5] = /*_.MELT_ASSERT_FAILURE_FUN__V10*/ meltfptr
[9];;
18800 MELT_LOCATION("warmelt-macro.melt:6960:/ clear");
18801 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V10*/
18808 meltfptr
[6] = /*_._IFELSE___V9*/ meltfptr
[5];;
18811 MELT_LOCATION("warmelt-macro.melt:6960:/ clear");
18812 /*clear*/ /*_#IS_A__L3*/
18815 /*clear*/ /*_._IFELSE___V9*/
18819 #else /*MELT_HAVE_DEBUG*/
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");
18832 MELT_CHECK_SIGNAL();
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");
18839 if (/*_#IS_A__L4*/ meltfnum
[0]) /*then*/
18842 /*_._IFELSE___V12*/ meltfptr
[5] = (/*nil*/NULL
);;
18846 MELT_LOCATION("warmelt-macro.melt:6961:/ cond.else");
18853 MELT_CHECK_SIGNAL();
18858 union meltparam_un argtab
[4];
18859 memset(&argtab
, 0, sizeof(argtab
));
18861 argtab
[0].meltbp_cstring
= "check env";
18863 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
18865 argtab
[2].meltbp_long
= 6961;
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];;
18876 MELT_LOCATION("warmelt-macro.melt:6961:/ clear");
18877 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V13*/
18884 meltfptr
[9] = /*_._IFELSE___V12*/ meltfptr
[5];;
18887 MELT_LOCATION("warmelt-macro.melt:6961:/ clear");
18888 /*clear*/ /*_#IS_A__L4*/
18891 /*clear*/ /*_._IFELSE___V12*/
18895 #else /*MELT_HAVE_DEBUG*/
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");
18908 MELT_CHECK_SIGNAL();
18910 /*_#IS_CLOSURE__L5*/
18912 (melt_magic_discr((melt_ptr_t
)(/*_.MEXPANDER__V4*/ meltfptr
[3])) == MELTOBMAG_CLOSURE
);;
18913 MELT_LOCATION("warmelt-macro.melt:6962:/ cond");
18915 if (/*_#IS_CLOSURE__L5*/ meltfnum
[1]) /*then*/
18918 /*_._IFELSE___V15*/ meltfptr
[5] = (/*nil*/NULL
);;
18922 MELT_LOCATION("warmelt-macro.melt:6962:/ cond.else");
18929 MELT_CHECK_SIGNAL();
18934 union meltparam_un argtab
[4];
18935 memset(&argtab
, 0, sizeof(argtab
));
18937 argtab
[0].meltbp_cstring
= "check mexpander";
18939 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
18941 argtab
[2].meltbp_long
= 6962;
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];;
18952 MELT_LOCATION("warmelt-macro.melt:6962:/ clear");
18953 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V16*/
18960 meltfptr
[12] = /*_._IFELSE___V15*/ meltfptr
[5];;
18963 MELT_LOCATION("warmelt-macro.melt:6962:/ clear");
18964 /*clear*/ /*_#IS_CLOSURE__L5*/
18967 /*clear*/ /*_._IFELSE___V15*/
18971 #else /*MELT_HAVE_DEBUG*/
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");
18984 MELT_CHECK_SIGNAL();
18986 /*_#IS_OBJECT__L6*/
18988 (melt_magic_discr((melt_ptr_t
)(/*_.MODCTX__V5*/ meltfptr
[4])) == MELTOBMAG_OBJECT
);;
18989 MELT_LOCATION("warmelt-macro.melt:6963:/ cond");
18991 if (/*_#IS_OBJECT__L6*/ meltfnum
[0]) /*then*/
18994 /*_._IFELSE___V18*/ meltfptr
[5] = (/*nil*/NULL
);;
18998 MELT_LOCATION("warmelt-macro.melt:6963:/ cond.else");
19005 MELT_CHECK_SIGNAL();
19010 union meltparam_un argtab
[4];
19011 memset(&argtab
, 0, sizeof(argtab
));
19013 argtab
[0].meltbp_cstring
= "check modctx";
19015 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
19017 argtab
[2].meltbp_long
= 6963;
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];;
19028 MELT_LOCATION("warmelt-macro.melt:6963:/ clear");
19029 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V19*/
19036 meltfptr
[15] = /*_._IFELSE___V18*/ meltfptr
[5];;
19039 MELT_LOCATION("warmelt-macro.melt:6963:/ clear");
19040 /*clear*/ /*_#IS_OBJECT__L6*/
19043 /*clear*/ /*_._IFELSE___V18*/
19047 #else /*MELT_HAVE_DEBUG*/
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");
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");
19070 meltfptr
[21] = slot
;
19074 meltfptr
[22] = (/*!QUASI_CTYPE_AUTO*/ meltfrout
->tabval
[5]);;
19077 meltfptr
[23] = (/*nil*/NULL
);;
19080 meltfptr
[24] = (/*nil*/NULL
);;
19084 (melt_list_first((melt_ptr_t
)(/*_.CONT__V21*/ meltfptr
[5])));;
19087 meltfptr
[26] = (/*nil*/NULL
);;
19089 /*_.PAIR_HEAD__V28*/
19091 (melt_pair_head((melt_ptr_t
)(/*_.CURPAIR__V26*/ meltfptr
[25])));;
19092 MELT_LOCATION("warmelt-macro.melt:6973:/ compute");
19094 meltfptr
[26] = /*_.SETQ___V29*/ meltfptr
[28] = /*_.PAIR_HEAD__V28*/ meltfptr
[27];;
19096 MELT_CHECK_SIGNAL();
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");
19103 if (/*_#IS_A__L7*/ meltfnum
[1]) /*then*/
19110 MELT_LOCATION("warmelt-macro.melt:6976:/ quasiblock");
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");
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");
19128 meltfptr
[32] = slot
;
19132 MELT_CHECK_SIGNAL();
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");
19139 if (/*_#IS_NOT_A__L8*/ meltfnum
[0]) /*then*/
19147 MELT_CHECK_SIGNAL();
19149 MELT_LOCATION("warmelt-macro.melt:6981:/ apply");
19152 union meltparam_un argtab
[2];
19153 memset(&argtab
, 0, sizeof(argtab
));
19155 argtab
[0].meltbp_cstring
= "letbinding with invalid type keyword $1";
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];;
19166 MELT_LOCATION("warmelt-macro.melt:6980:/ clear");
19167 /*clear*/ /*_.ERROR_AT__V35*/
19172 else /*^cond.else*/
19180 MELT_CHECK_SIGNAL();
19182 MELT_LOCATION("warmelt-macro.melt:6982:/ cond");
19185 /*ifisa*/ melt_is_instance_of((melt_ptr_t
)(/*_.CTY__V32*/ meltfptr
[31]),
19186 (melt_ptr_t
)((/*!CLASS_QUASI_CTYPE*/ meltfrout
->tabval
[7])))
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
;;
19209 ((/*_.CTYPE_KEYWORD__V36*/ meltfptr
[34]) == (/*_.CURARG__V27*/ meltfptr
[26]));;
19210 MELT_LOCATION("warmelt-macro.melt:6982:/ cond");
19212 if (/*_#eqeq__L9*/ meltfnum
[8]) /*then*/
19219 MELT_LOCATION("warmelt-macro.melt:6983:/ compute");
19221 meltfptr
[22] = /*_.SETQ___V38*/ meltfptr
[37] = /*_.CTY__V32*/ meltfptr
[31];;
19222 /*_._IFELSE___V37*/
19223 meltfptr
[36] = /*_.SETQ___V38*/ meltfptr
[37];;
19226 MELT_LOCATION("warmelt-macro.melt:6982:/ clear");
19227 /*clear*/ /*_.SETQ___V38*/
19232 else /*^cond.else*/
19240 MELT_CHECK_SIGNAL();
19242 MELT_LOCATION("warmelt-macro.melt:6984:/ cond");
19245 /*ifisa*/ melt_is_instance_of((melt_ptr_t
)(/*_.CTY__V32*/ meltfptr
[31]),
19246 (melt_ptr_t
)((/*!CLASS_CTYPE*/ meltfrout
->tabval
[9])))
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
;;
19269 ((/*_.CTYPE_ALTKEYWORD__V39*/ meltfptr
[37]) == (/*_.CURARG__V27*/ meltfptr
[26]));;
19270 MELT_LOCATION("warmelt-macro.melt:6984:/ cond");
19272 if (/*_#eqeq__L10*/ meltfnum
[9]) /*then*/
19279 MELT_LOCATION("warmelt-macro.melt:6985:/ compute");
19281 meltfptr
[22] = /*_.SETQ___V41*/ meltfptr
[40] = /*_.CTY__V32*/ meltfptr
[31];;
19282 MELT_LOCATION("warmelt-macro.melt:6987:/ cond");
19285 /*ifisa*/ melt_is_instance_of((melt_ptr_t
)(/*_.CTYP__V23*/ meltfptr
[22]),
19286 (melt_ptr_t
)((/*!CLASS_QUASI_CTYPE*/ meltfrout
->tabval
[7])))
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");
19309 /*ifisa*/ melt_is_instance_of((melt_ptr_t
)(/*_.CTYPE_KEYWORD__V42*/ meltfptr
[41]),
19310 (melt_ptr_t
)((/*!CLASS_NAMED*/ meltfrout
->tabval
[11])))
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");
19336 union meltparam_un argtab
[3];
19337 memset(&argtab
, 0, sizeof(argtab
));
19339 argtab
[0].meltbp_cstring
= "obsolete alternate ctype $1 keyword in let binding, wanting $2";
19341 argtab
[1].meltbp_aptr
= (melt_ptr_t
*) &/*_.TYNAM__V33*/ meltfptr
[32];
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");
19352 meltfptr
[44] = /*_.WARNING_AT__V44*/ meltfptr
[43];;
19354 /*_._IFELSE___V40*/
19355 meltfptr
[39] = /*_.PROGN___V45*/ meltfptr
[44];;
19358 MELT_LOCATION("warmelt-macro.melt:6984:/ clear");
19359 /*clear*/ /*_.SETQ___V41*/
19362 /*clear*/ /*_.CTYPE_KEYWORD__V42*/
19365 /*clear*/ /*_.NAMED_NAME__V43*/
19368 /*clear*/ /*_.WARNING_AT__V44*/
19371 /*clear*/ /*_.PROGN___V45*/
19376 else /*^cond.else*/
19384 MELT_CHECK_SIGNAL();
19386 MELT_LOCATION("warmelt-macro.melt:6990:/ apply");
19389 union meltparam_un argtab
[2];
19390 memset(&argtab
, 0, sizeof(argtab
));
19392 argtab
[0].meltbp_cstring
= "let-binding with invalid type keyword $1";
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");
19403 meltfptr
[41] = /*_.ERROR_AT__V46*/ meltfptr
[40];;
19405 /*_._IFELSE___V40*/
19406 meltfptr
[39] = /*_.PROGN___V47*/ meltfptr
[41];;
19409 MELT_LOCATION("warmelt-macro.melt:6984:/ clear");
19410 /*clear*/ /*_.ERROR_AT__V46*/
19413 /*clear*/ /*_.PROGN___V47*/
19419 /*_._IFELSE___V37*/
19420 meltfptr
[36] = /*_._IFELSE___V40*/ meltfptr
[39];;
19423 MELT_LOCATION("warmelt-macro.melt:6982:/ clear");
19424 /*clear*/ /*_.CTYPE_ALTKEYWORD__V39*/
19427 /*clear*/ /*_#eqeq__L10*/
19430 /*clear*/ /*_._IFELSE___V40*/
19436 /*_._IFELSE___V34*/
19437 meltfptr
[33] = /*_._IFELSE___V37*/ meltfptr
[36];;
19440 MELT_LOCATION("warmelt-macro.melt:6980:/ clear");
19441 /*clear*/ /*_.CTYPE_KEYWORD__V36*/
19444 /*clear*/ /*_#eqeq__L9*/
19447 /*clear*/ /*_._IFELSE___V37*/
19453 /*_.PAIR_TAIL__V48*/
19455 (melt_pair_tail((melt_ptr_t
)(/*_.CURPAIR__V26*/ meltfptr
[25])));;
19456 MELT_LOCATION("warmelt-macro.melt:6992:/ compute");
19458 meltfptr
[25] = /*_.SETQ___V49*/ meltfptr
[43] = /*_.PAIR_TAIL__V48*/ meltfptr
[42];;
19459 /*_.PAIR_HEAD__V50*/
19461 (melt_pair_head((melt_ptr_t
)(/*_.CURPAIR__V26*/ meltfptr
[25])));;
19462 MELT_LOCATION("warmelt-macro.melt:6993:/ compute");
19464 meltfptr
[26] = /*_.SETQ___V51*/ meltfptr
[40] = /*_.PAIR_HEAD__V50*/ meltfptr
[44];;
19466 meltfptr
[30] = /*_.SETQ___V51*/ meltfptr
[40];;
19468 MELT_LOCATION("warmelt-macro.melt:6976:/ clear");
19469 /*clear*/ /*_.CTY__V32*/
19472 /*clear*/ /*_.TYNAM__V33*/
19475 /*clear*/ /*_#IS_NOT_A__L8*/
19478 /*clear*/ /*_._IFELSE___V34*/
19481 /*clear*/ /*_.PAIR_TAIL__V48*/
19484 /*clear*/ /*_.SETQ___V49*/
19487 /*clear*/ /*_.PAIR_HEAD__V50*/
19490 /*clear*/ /*_.SETQ___V51*/
19493 meltfptr
[29] = /*_.LET___V31*/ meltfptr
[30];;
19496 MELT_LOCATION("warmelt-macro.melt:6975:/ clear");
19497 /*clear*/ /*_.LET___V31*/
19502 else /*^cond.else*/
19505 /*_._IF___V30*/ meltfptr
[29] = /*reallynil*/ NULL
;;
19509 MELT_CHECK_SIGNAL();
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");
19517 if (/*_#IS_A__L11*/ meltfnum
[9]) /*then*/
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");
19539 union meltparam_un argtab
[2];
19540 memset(&argtab
, 0, sizeof(argtab
));
19542 argtab
[0].meltbp_cstring
= "let-binding cannot bind keyword $1";
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];;
19553 MELT_LOCATION("warmelt-macro.melt:6996:/ clear");
19554 /*clear*/ /*_.NAMED_NAME__V53*/
19557 /*clear*/ /*_.ERROR_AT__V54*/
19562 else /*^cond.else*/
19570 MELT_CHECK_SIGNAL();
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");
19577 if (/*_#IS_A__L12*/ meltfnum
[8]) /*then*/
19584 MELT_LOCATION("warmelt-macro.melt:7000:/ compute");
19586 meltfptr
[23] = /*_.SETQ___V56*/ meltfptr
[36] = /*_.CURARG__V27*/ meltfptr
[26];;
19587 /*_.PAIR_TAIL__V57*/
19589 (melt_pair_tail((melt_ptr_t
)(/*_.CURPAIR__V26*/ meltfptr
[25])));;
19590 MELT_LOCATION("warmelt-macro.melt:7001:/ compute");
19592 meltfptr
[25] = /*_.SETQ___V58*/ meltfptr
[32] = /*_.PAIR_TAIL__V57*/ meltfptr
[31];;
19593 /*_.PAIR_HEAD__V59*/
19595 (melt_pair_head((melt_ptr_t
)(/*_.CURPAIR__V26*/ meltfptr
[25])));;
19596 MELT_LOCATION("warmelt-macro.melt:7002:/ compute");
19598 meltfptr
[26] = /*_.SETQ___V60*/ meltfptr
[42] = /*_.PAIR_HEAD__V59*/ meltfptr
[33];;
19599 MELT_LOCATION("warmelt-macro.melt:6999:/ quasiblock");
19603 meltfptr
[43] = /*_.SETQ___V60*/ meltfptr
[42];;
19605 /*_._IFELSE___V55*/
19606 meltfptr
[34] = /*_.PROGN___V61*/ meltfptr
[43];;
19609 MELT_LOCATION("warmelt-macro.melt:6999:/ clear");
19610 /*clear*/ /*_.SETQ___V56*/
19613 /*clear*/ /*_.PAIR_TAIL__V57*/
19616 /*clear*/ /*_.SETQ___V58*/
19619 /*clear*/ /*_.PAIR_HEAD__V59*/
19622 /*clear*/ /*_.SETQ___V60*/
19625 /*clear*/ /*_.PROGN___V61*/
19630 else /*^cond.else*/
19633 /*_._IFELSE___V55*/ meltfptr
[34] = /*reallynil*/ NULL
;;
19637 /*_._IFELSE___V52*/
19638 meltfptr
[41] = /*_._IFELSE___V55*/ meltfptr
[34];;
19641 MELT_LOCATION("warmelt-macro.melt:6996:/ clear");
19642 /*clear*/ /*_#IS_A__L12*/
19645 /*clear*/ /*_._IFELSE___V55*/
19652 MELT_CHECK_SIGNAL();
19656 (/*null*/(/*_.VAR__V24*/ meltfptr
[23]) == NULL
);;
19657 MELT_LOCATION("warmelt-macro.melt:7004:/ cond");
19659 if (/*_#NULL__L13*/ meltfnum
[0]) /*then*/
19667 MELT_CHECK_SIGNAL();
19669 MELT_LOCATION("warmelt-macro.melt:7005:/ apply");
19672 union meltparam_un argtab
[1];
19673 memset(&argtab
, 0, sizeof(argtab
));
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);
19681 meltfptr
[44] = /*_.ERROR_AT__V63*/ meltfptr
[40];;
19684 MELT_LOCATION("warmelt-macro.melt:7004:/ clear");
19685 /*clear*/ /*_.ERROR_AT__V63*/
19690 else /*^cond.else*/
19693 /*_._IF___V62*/ meltfptr
[44] = /*reallynil*/ NULL
;;
19697 MELT_CHECK_SIGNAL();
19702 ((/*_.CTYP__V23*/ meltfptr
[22]) == ((/*!QUASI_CTYPE_MACRO*/ meltfrout
->tabval
[13])));;
19703 MELT_LOCATION("warmelt-macro.melt:7008:/ cond");
19705 if (/*_#eqeq__L14*/ meltfnum
[8]) /*then*/
19712 MELT_LOCATION("warmelt-macro.melt:7009:/ quasiblock");
19716 MELT_CHECK_SIGNAL();
19721 union meltparam_un argtab
[4];
19722 memset(&argtab
, 0, sizeof(argtab
));
19724 argtab
[0].meltbp_aptr
= (melt_ptr_t
*) &(/*!konst_15_CHECKARG*/ meltfrout
->tabval
[15]);
19726 argtab
[1].meltbp_aptr
= (melt_ptr_t
*) &/*_.ENV__V3*/ meltfptr
[2];
19728 argtab
[2].meltbp_aptr
= (melt_ptr_t
*) &/*_.MEXPANDER__V4*/ meltfptr
[3];
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");
19741 meltfptr
[36] = slot
;
19745 meltfptr
[31] = (/*nil*/NULL
);;
19747 MELT_CHECK_SIGNAL();
19749 MELT_LOCATION("warmelt-macro.melt:7012:/ 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");
19765 /*melt_increment_dbgcounter*/
19766 #if MELT_HAVE_DEBUG
19773 MELT_CHECK_SIGNAL();
19775 /*_#MELT_NEED_DBG__L15*/
19778 #if MELT_HAVE_DEBUG
19779 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
19781 0 /* no melt_need_dbg */
19782 #endif /*MELT_HAVE_DEBUG*/
19784 MELT_LOCATION("warmelt-macro.melt:7014:/ cond");
19786 if (/*_#MELT_NEED_DBG__L15*/ meltfnum
[14]) /*then*/
19793 /*_#MELT_CALLCOUNT__L16*/ meltfnum
[15] =
19794 /* for melt_callcount */
19795 #if MELT_HAVE_DEBUG && defined (meltcallcount)
19796 meltcallcount
/* melt_callcount debugging */
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");
19807 union meltparam_un argtab
[8];
19808 memset(&argtab
, 0, sizeof(argtab
));
19810 argtab
[0].meltbp_long
= /*_#MELT_CALLCOUNT__L16*/ meltfnum
[15];
19812 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
19814 argtab
[2].meltbp_long
= 7014;
19816 argtab
[3].meltbp_cstring
= "mexpand_letbinding macformals=";
19818 argtab
[4].meltbp_aptr
= (melt_ptr_t
*) &/*_.MACFORMALS__V66*/ meltfptr
[39];
19820 argtab
[5].meltbp_cstring
= "\n.. newenv=";
19822 argtab
[6].meltbp_aptr
= (melt_ptr_t
*) &(/*!DEBUG_LESS*/ meltfrout
->tabval
[1]);
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);
19830 meltfptr
[33] = /*_.MELT_DEBUG_FUN__V71*/ meltfptr
[42];;
19833 MELT_LOCATION("warmelt-macro.melt:7014:/ clear");
19834 /*clear*/ /*_#MELT_CALLCOUNT__L16*/
19837 /*clear*/ /*_.MELT_DEBUG_FUN__V71*/
19842 else /*^cond.else*/
19845 /*_._IF___V70*/ meltfptr
[33] = /*reallynil*/ NULL
;;
19850 MELT_LOCATION("warmelt-macro.melt:7014:/ locexp");
19861 /*clear*/ /*_#MELT_NEED_DBG__L15*/
19864 /*clear*/ /*_._IF___V70*/
19868 #else /*MELT_HAVE_DEBUG*/
19883 #endif /*MELT_HAVE_DEBUG*/
19885 /*_.PAIR_TAIL__V72*/
19887 (melt_pair_tail((melt_ptr_t
)(/*_.CURPAIR__V26*/ meltfptr
[25])));;
19888 MELT_LOCATION("warmelt-macro.melt:7015:/ compute");
19890 meltfptr
[25] = /*_.SETQ___V73*/ meltfptr
[34] = /*_.PAIR_TAIL__V72*/ meltfptr
[43];;
19892 MELT_CHECK_SIGNAL();
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");
19899 if (/*_#IS_A__L17*/ meltfnum
[15]) /*then*/
19907 MELT_CHECK_SIGNAL();
19909 MELT_LOCATION("warmelt-macro.melt:7017:/ apply");
19912 union meltparam_un argtab
[2];
19913 memset(&argtab
, 0, sizeof(argtab
));
19915 argtab
[0].meltbp_cstring
= ":macro let-binding $1 cannot be variadic";
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);
19923 meltfptr
[40] = /*_.ERROR_AT__V75*/ meltfptr
[42];;
19926 MELT_LOCATION("warmelt-macro.melt:7016:/ clear");
19927 /*clear*/ /*_.ERROR_AT__V75*/
19932 else /*^cond.else*/
19935 /*_._IF___V74*/ meltfptr
[40] = /*reallynil*/ NULL
;;
19939 MELT_CHECK_SIGNAL();
19942 /*_#MULTIPLE_LENGTH__L18*/
19944 (melt_multiple_length((melt_ptr_t
)(/*_.MACFORMALS__V66*/ meltfptr
[39])));;
19948 ((/*_#MULTIPLE_LENGTH__L18*/ meltfnum
[14]) > (4));;
19949 MELT_LOCATION("warmelt-macro.melt:7018:/ cond");
19951 if (/*_#gtI__L19*/ meltfnum
[18]) /*then*/
19959 MELT_CHECK_SIGNAL();
19961 MELT_LOCATION("warmelt-macro.melt:7019:/ apply");
19964 union meltparam_un argtab
[2];
19965 memset(&argtab
, 0, sizeof(argtab
));
19967 argtab
[0].meltbp_cstring
= ":macro $1 let-binding should have at most 4 formals";
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);
19975 meltfptr
[33] = /*_.ERROR_AT__V77*/ meltfptr
[42];;
19978 MELT_LOCATION("warmelt-macro.melt:7018:/ clear");
19979 /*clear*/ /*_.ERROR_AT__V77*/
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");
20012 /*melt_increment_dbgcounter*/
20013 #if MELT_HAVE_DEBUG
20020 MELT_CHECK_SIGNAL();
20022 /*_#MELT_NEED_DBG__L21*/
20025 #if MELT_HAVE_DEBUG
20026 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
20028 0 /* no melt_need_dbg */
20029 #endif /*MELT_HAVE_DEBUG*/
20031 MELT_LOCATION("warmelt-macro.melt:7023:/ cond");
20033 if (/*_#MELT_NEED_DBG__L21*/ meltfnum
[20]) /*then*/
20040 /*_#MELT_CALLCOUNT__L22*/ meltfnum
[21] =
20041 /* for melt_callcount */
20042 #if MELT_HAVE_DEBUG && defined (meltcallcount)
20043 meltcallcount
/* melt_callcount debugging */
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");
20054 union meltparam_un argtab
[5];
20055 memset(&argtab
, 0, sizeof(argtab
));
20057 argtab
[0].meltbp_long
= /*_#MELT_CALLCOUNT__L22*/ meltfnum
[21];
20059 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
20061 argtab
[2].meltbp_long
= 7023;
20063 argtab
[3].meltbp_cstring
= "mexpand_letbinding curmacformal=";
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);
20071 meltfptr
[78] = /*_.MELT_DEBUG_FUN__V80*/ meltfptr
[79];;
20074 MELT_LOCATION("warmelt-macro.melt:7023:/ clear");
20075 /*clear*/ /*_#MELT_CALLCOUNT__L22*/
20078 /*clear*/ /*_.MELT_DEBUG_FUN__V80*/
20083 else /*^cond.else*/
20086 /*_._IF___V79*/ meltfptr
[78] = /*reallynil*/ NULL
;;
20091 MELT_LOCATION("warmelt-macro.melt:7023:/ locexp");
20102 /*clear*/ /*_#MELT_NEED_DBG__L21*/
20105 /*clear*/ /*_._IF___V79*/
20109 #else /*MELT_HAVE_DEBUG*/
20124 #endif /*MELT_HAVE_DEBUG*/
20127 #if MELT_HAVE_DEBUG
20128 MELT_LOCATION("warmelt-macro.melt:7024:/ cppif.then");
20134 MELT_CHECK_SIGNAL();
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");
20141 if (/*_#IS_A__L23*/ meltfnum
[21]) /*then*/
20144 /*_._IFELSE___V82*/ meltfptr
[78] = (/*nil*/NULL
);;
20148 MELT_LOCATION("warmelt-macro.melt:7024:/ cond.else");
20155 MELT_CHECK_SIGNAL();
20160 union meltparam_un argtab
[4];
20161 memset(&argtab
, 0, sizeof(argtab
));
20163 argtab
[0].meltbp_cstring
= "check curmacformal";
20165 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
20167 argtab
[2].meltbp_long
= 7024;
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];;
20178 MELT_LOCATION("warmelt-macro.melt:7024:/ clear");
20179 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V83*/
20186 meltfptr
[79] = /*_._IFELSE___V82*/ meltfptr
[78];;
20189 MELT_LOCATION("warmelt-macro.melt:7024:/ clear");
20190 /*clear*/ /*_#IS_A__L23*/
20193 /*clear*/ /*_._IFELSE___V82*/
20197 #else /*MELT_HAVE_DEBUG*/
20199 /*_.IFCPP___V81*/ meltfptr
[79] = (/*nil*/NULL
);
20200 #endif /*MELT_HAVE_DEBUG*/
20202 MELT_LOCATION("warmelt-macro.melt:7025:/ quasiblock");
20208 /*ifisa*/ melt_is_instance_of((melt_ptr_t
)(/*_.CURMACFORMAL__V78*/ meltfptr
[42]),
20209 (melt_ptr_t
)((/*!CLASS_ANY_BINDING*/ meltfrout
->tabval
[19])))
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");
20219 meltfptr
[78] = slot
;
20223 else /*^cond.else*/
20226 /*_.BINDER__V85*/ meltfptr
[78] = /*reallynil*/ NULL
;;
20229 MELT_LOCATION("warmelt-macro.melt:7025:/ cond");
20232 /*ifisa*/ melt_is_instance_of((melt_ptr_t
)(/*_.BINDER__V85*/ meltfptr
[78]),
20233 (melt_ptr_t
)((/*!CLASS_NAMED*/ meltfrout
->tabval
[11])))
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");
20259 /*ifisa*/ melt_is_instance_of((melt_ptr_t
)(/*_.CURMACFORMAL__V78*/ meltfptr
[42]),
20260 (melt_ptr_t
)((/*!CLASS_FORMAL_BINDING*/ meltfrout
->tabval
[18])))
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
;;
20283 ((/*_.FBIND_TYPE__V87*/ meltfptr
[86]) != ((/*!CTYPE_VALUE*/ meltfrout
->tabval
[20])));;
20284 MELT_LOCATION("warmelt-macro.melt:7027:/ cond");
20286 if (/*_#exeq__L24*/ meltfnum
[20]) /*then*/
20294 MELT_CHECK_SIGNAL();
20296 MELT_LOCATION("warmelt-macro.melt:7028:/ apply");
20299 union meltparam_un argtab
[2];
20300 memset(&argtab
, 0, sizeof(argtab
));
20302 argtab
[0].meltbp_cstring
= ":macro $1 let-binding should be :value";
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);
20310 meltfptr
[87] = /*_.ERROR_AT__V89*/ meltfptr
[88];;
20313 MELT_LOCATION("warmelt-macro.melt:7027:/ clear");
20314 /*clear*/ /*_.ERROR_AT__V89*/
20319 else /*^cond.else*/
20322 /*_._IF___V88*/ meltfptr
[87] = /*reallynil*/ NULL
;;
20326 MELT_CHECK_SIGNAL();
20328 MELT_LOCATION("warmelt-macro.melt:7029:/ cond");
20331 /*ifisa*/ melt_is_instance_of((melt_ptr_t
)(/*_.CURMACFORMAL__V78*/ meltfptr
[42]),
20332 (melt_ptr_t
)((/*!CLASS_ANY_BINDING*/ meltfrout
->tabval
[19])))
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");
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");
20358 union meltparam_un argtab
[1];
20359 memset(&argtab
, 0, sizeof(argtab
));
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);
20368 if (/*_.FIND_ENV__V91*/ meltfptr
[90]) /*then*/
20376 MELT_CHECK_SIGNAL();
20378 MELT_LOCATION("warmelt-macro.melt:7030:/ apply");
20381 union meltparam_un argtab
[2];
20382 memset(&argtab
, 0, sizeof(argtab
));
20384 argtab
[0].meltbp_cstring
= ":macro $1 formal already bound";
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);
20392 meltfptr
[91] = /*_.ERROR_AT__V93*/ meltfptr
[92];;
20395 MELT_LOCATION("warmelt-macro.melt:7029:/ clear");
20396 /*clear*/ /*_.ERROR_AT__V93*/
20401 else /*^cond.else*/
20404 /*_._IF___V92*/ meltfptr
[91] = /*reallynil*/ NULL
;;
20408 MELT_CHECK_SIGNAL();
20410 MELT_LOCATION("warmelt-macro.melt:7031:/ apply");
20413 union meltparam_un argtab
[1];
20414 memset(&argtab
, 0, sizeof(argtab
));
20416 argtab
[0].meltbp_aptr
= (melt_ptr_t
*) &/*_.CURMACFORMAL__V78*/ meltfptr
[42];
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);
20422 meltfptr
[82] = /*_.PUT_ENV__V94*/ meltfptr
[92];;
20424 MELT_LOCATION("warmelt-macro.melt:7025:/ clear");
20425 /*clear*/ /*_.BINDER__V85*/
20428 /*clear*/ /*_.CURFORMALNAME__V86*/
20431 /*clear*/ /*_.FBIND_TYPE__V87*/
20434 /*clear*/ /*_#exeq__L24*/
20437 /*clear*/ /*_._IF___V88*/
20440 /*clear*/ /*_.BINDER__V90*/
20443 /*clear*/ /*_.FIND_ENV__V91*/
20446 /*clear*/ /*_._IF___V92*/
20449 /*clear*/ /*_.PUT_ENV__V94*/
20451 if (/*_#IX__L20*/ meltfnum
[19]<0) break;
20452 } /* end foreach_in_multiple meltcit1__EACHTUP */
20456 MELT_LOCATION("warmelt-macro.melt:7020:/ clear");
20457 /*clear*/ /*_.CURMACFORMAL__V78*/
20460 /*clear*/ /*_#IX__L20*/
20463 /*clear*/ /*_.IFCPP___V81*/
20466 /*clear*/ /*_.LET___V84*/
20468 } /*endciterblock FOREACH_IN_MULTIPLE*/
20471 MELT_CHECK_SIGNAL();
20473 MELT_LOCATION("warmelt-macro.melt:7033:/ apply");
20476 union meltparam_un argtab
[3];
20477 memset(&argtab
, 0, sizeof(argtab
));
20479 argtab
[0].meltbp_aptr
= (melt_ptr_t
*) &/*_.NEWENV__V69*/ meltfptr
[32];
20481 argtab
[1].meltbp_aptr
= (melt_ptr_t
*) &/*_.MEXPANDER__V4*/ meltfptr
[3];
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);
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");
20501 /*melt_increment_dbgcounter*/
20502 #if MELT_HAVE_DEBUG
20509 MELT_CHECK_SIGNAL();
20511 /*_#MELT_NEED_DBG__L25*/
20514 #if MELT_HAVE_DEBUG
20515 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
20517 0 /* no melt_need_dbg */
20518 #endif /*MELT_HAVE_DEBUG*/
20520 MELT_LOCATION("warmelt-macro.melt:7034:/ cond");
20522 if (/*_#MELT_NEED_DBG__L25*/ meltfnum
[21]) /*then*/
20529 /*_#MELT_CALLCOUNT__L26*/ meltfnum
[20] =
20530 /* for melt_callcount */
20531 #if MELT_HAVE_DEBUG && defined (meltcallcount)
20532 meltcallcount
/* melt_callcount debugging */
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");
20543 union meltparam_un argtab
[5];
20544 memset(&argtab
, 0, sizeof(argtab
));
20546 argtab
[0].meltbp_long
= /*_#MELT_CALLCOUNT__L26*/ meltfnum
[20];
20548 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
20550 argtab
[2].meltbp_long
= 7034;
20552 argtab
[3].meltbp_cstring
= "mexpand_letbinding macbody=";
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);
20560 meltfptr
[86] = /*_.MELT_DEBUG_FUN__V98*/ meltfptr
[87];;
20563 MELT_LOCATION("warmelt-macro.melt:7034:/ clear");
20564 /*clear*/ /*_#MELT_CALLCOUNT__L26*/
20567 /*clear*/ /*_.MELT_DEBUG_FUN__V98*/
20572 else /*^cond.else*/
20575 /*_._IF___V97*/ meltfptr
[86] = /*reallynil*/ NULL
;;
20580 MELT_LOCATION("warmelt-macro.melt:7034:/ locexp");
20591 /*clear*/ /*_#MELT_NEED_DBG__L25*/
20594 /*clear*/ /*_._IF___V97*/
20598 #else /*MELT_HAVE_DEBUG*/
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");
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");
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");
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");
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");
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");
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");
20670 /*melt_increment_dbgcounter*/
20671 #if MELT_HAVE_DEBUG
20678 MELT_CHECK_SIGNAL();
20680 /*_#MELT_NEED_DBG__L27*/
20683 #if MELT_HAVE_DEBUG
20684 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
20686 0 /* no melt_need_dbg */
20687 #endif /*MELT_HAVE_DEBUG*/
20689 MELT_LOCATION("warmelt-macro.melt:7043:/ cond");
20691 if (/*_#MELT_NEED_DBG__L27*/ meltfnum
[20]) /*then*/
20698 /*_#MELT_CALLCOUNT__L28*/ meltfnum
[21] =
20699 /* for melt_callcount */
20700 #if MELT_HAVE_DEBUG && defined (meltcallcount)
20701 meltcallcount
/* melt_callcount debugging */
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");
20712 union meltparam_un argtab
[5];
20713 memset(&argtab
, 0, sizeof(argtab
));
20715 argtab
[0].meltbp_long
= /*_#MELT_CALLCOUNT__L28*/ meltfnum
[21];
20717 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
20719 argtab
[2].meltbp_long
= 7043;
20721 argtab
[3].meltbp_cstring
= "mexpand_letbinding smacbind=";
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);
20729 meltfptr
[92] = /*_.MELT_DEBUG_FUN__V103*/ meltfptr
[87];;
20732 MELT_LOCATION("warmelt-macro.melt:7043:/ clear");
20733 /*clear*/ /*_#MELT_CALLCOUNT__L28*/
20736 /*clear*/ /*_.MELT_DEBUG_FUN__V103*/
20741 else /*^cond.else*/
20744 /*_._IF___V102*/ meltfptr
[92] = /*reallynil*/ NULL
;;
20749 MELT_LOCATION("warmelt-macro.melt:7043:/ locexp");
20760 /*clear*/ /*_#MELT_NEED_DBG__L27*/
20763 /*clear*/ /*_._IF___V102*/
20767 #else /*MELT_HAVE_DEBUG*/
20782 #endif /*MELT_HAVE_DEBUG*/
20785 MELT_CHECK_SIGNAL();
20787 MELT_LOCATION("warmelt-macro.melt:7044:/ quasiblock");
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*/
20807 goto meltlabend_rout
;
20809 meltfptr
[88] = /*_.RETURN___V104*/ meltfptr
[86];;
20811 MELT_LOCATION("warmelt-macro.melt:7035:/ clear");
20812 /*clear*/ /*_.SMACBIND__V100*/
20815 /*clear*/ /*_.RETURN___V104*/
20818 meltfptr
[37] = /*_.LET___V99*/ meltfptr
[88];;
20820 MELT_LOCATION("warmelt-macro.melt:7009:/ clear");
20821 /*clear*/ /*_.MACFORMALS__V66*/
20824 /*clear*/ /*_.VARNAME__V67*/
20827 /*clear*/ /*_.MACBODY__V68*/
20830 /*clear*/ /*_.NEWENV__V69*/
20833 /*clear*/ /*_.PAIR_TAIL__V72*/
20836 /*clear*/ /*_.SETQ___V73*/
20839 /*clear*/ /*_#IS_A__L17*/
20842 /*clear*/ /*_._IF___V74*/
20845 /*clear*/ /*_#MULTIPLE_LENGTH__L18*/
20848 /*clear*/ /*_#gtI__L19*/
20851 /*clear*/ /*_._IF___V76*/
20854 /*clear*/ /*_.EXPAND_PAIRLIST_AS_TUPLE__V95*/
20857 /*clear*/ /*_.SETQ___V96*/
20860 /*clear*/ /*_.LET___V99*/
20863 meltfptr
[30] = /*_.LET___V65*/ meltfptr
[37];;
20866 MELT_LOCATION("warmelt-macro.melt:7008:/ clear");
20867 /*clear*/ /*_.LET___V65*/
20872 else /*^cond.else*/
20875 /*_._IF___V64*/ meltfptr
[30] = /*reallynil*/ NULL
;;
20879 MELT_CHECK_SIGNAL();
20881 MELT_LOCATION("warmelt-macro.melt:7047:/ cond");
20883 if (/*_.CURARG__V27*/ meltfptr
[26]) /*then*/
20891 MELT_CHECK_SIGNAL();
20893 MELT_LOCATION("warmelt-macro.melt:7048:/ apply");
20896 union meltparam_un argtab
[3];
20897 memset(&argtab
, 0, sizeof(argtab
));
20899 argtab
[0].meltbp_aptr
= (melt_ptr_t
*) &/*_.ENV__V3*/ meltfptr
[2];
20901 argtab
[1].meltbp_aptr
= (melt_ptr_t
*) &/*_.MEXPANDER__V4*/ meltfptr
[3];
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);
20910 meltfptr
[24] = /*_.SETQ___V106*/ meltfptr
[92] = /*_.MEXPANDER__V105*/ meltfptr
[87];;
20911 /*_.PAIR_TAIL__V107*/
20913 (melt_pair_tail((melt_ptr_t
)(/*_.CURPAIR__V26*/ meltfptr
[25])));;
20914 MELT_LOCATION("warmelt-macro.melt:7049:/ compute");
20916 meltfptr
[25] = /*_.SETQ___V108*/ meltfptr
[86] = /*_.PAIR_TAIL__V107*/ meltfptr
[90];;
20917 /*_.PAIR_HEAD__V109*/
20919 (melt_pair_head((melt_ptr_t
)(/*_.CURPAIR__V26*/ meltfptr
[25])));;
20920 MELT_LOCATION("warmelt-macro.melt:7050:/ compute");
20922 meltfptr
[26] = /*_.SETQ___V110*/ meltfptr
[36] = /*_.PAIR_HEAD__V109*/ meltfptr
[39];;
20924 MELT_CHECK_SIGNAL();
20926 MELT_LOCATION("warmelt-macro.melt:7051:/ cond");
20928 if (/*_.CURARG__V27*/ meltfptr
[26]) /*then*/
20938 /* error_plain */ melt_error_str((melt_ptr_t
)(/*_.LOC__V22*/ meltfptr
[21]), ( "too long letbinding"), (melt_ptr_t
)0);
20946 MELT_LOCATION("warmelt-macro.melt:7047:/ quasiblock");
20952 /*clear*/ /*_.MEXPANDER__V105*/
20955 /*clear*/ /*_.SETQ___V106*/
20958 /*clear*/ /*_.PAIR_TAIL__V107*/
20961 /*clear*/ /*_.SETQ___V108*/
20964 /*clear*/ /*_.PAIR_HEAD__V109*/
20967 /*clear*/ /*_.SETQ___V110*/
20973 MELT_LOCATION("warmelt-macro.melt:7053:/ quasiblock");
20977 MELT_CHECK_SIGNAL();
20982 union meltparam_un argtab
[1];
20983 memset(&argtab
, 0, sizeof(argtab
));
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();
20995 (/*null*/(/*_.PREVBIND__V112*/ meltfptr
[32]) == NULL
);;
20996 MELT_LOCATION("warmelt-macro.melt:7055:/ cond");
20998 if (/*_#NULL__L29*/ meltfnum
[21]) /*then*/
21001 /*_._IFELSE___V113*/ meltfptr
[43] = (/*nil*/NULL
);;
21005 MELT_LOCATION("warmelt-macro.melt:7055:/ cond.else");
21012 MELT_CHECK_SIGNAL();
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");
21019 if (/*_#IS_A__L30*/ meltfnum
[20]) /*then*/
21026 MELT_LOCATION("warmelt-macro.melt:7057:/ quasiblock");
21032 /*ifisa*/ melt_is_instance_of((melt_ptr_t
)(/*_.PREVBIND__V112*/ meltfptr
[32]),
21033 (melt_ptr_t
)((/*!CLASS_LET_BINDING*/ meltfrout
->tabval
[25])))
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");
21056 /*ifisa*/ melt_is_instance_of((melt_ptr_t
)(/*_.VAR__V24*/ meltfptr
[23]),
21057 (melt_ptr_t
)((/*!CLASS_NAMED*/ meltfrout
->tabval
[11])))
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");
21083 union meltparam_un argtab
[2];
21084 memset(&argtab
, 0, sizeof(argtab
));
21086 argtab
[0].meltbp_cstring
= "local let binding $1 hides upper one";
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");
21098 if (/*_.PREVLOC__V116*/ meltfptr
[33]) /*then*/
21105 MELT_LOCATION("warmelt-macro.melt:7064:/ cond");
21108 /*ifisa*/ melt_is_instance_of((melt_ptr_t
)(/*_.VAR__V24*/ meltfptr
[23]),
21109 (melt_ptr_t
)((/*!CLASS_NAMED*/ meltfrout
->tabval
[11])))
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");
21135 union meltparam_un argtab
[2];
21136 memset(&argtab
, 0, sizeof(argtab
));
21138 argtab
[0].meltbp_cstring
= "here is the hidden binding of $1";
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);
21146 meltfptr
[88] = /*_.WARNING_AT__V121*/ meltfptr
[87];;
21149 MELT_LOCATION("warmelt-macro.melt:7061:/ clear");
21150 /*clear*/ /*_.NAMED_NAME__V120*/
21153 /*clear*/ /*_.WARNING_AT__V121*/
21158 else /*^cond.else*/
21161 /*_._IF___V119*/ meltfptr
[88] = /*reallynil*/ NULL
;;
21166 meltfptr
[40] = /*_._IF___V119*/ meltfptr
[88];;
21168 MELT_LOCATION("warmelt-macro.melt:7057:/ clear");
21169 /*clear*/ /*_.PREVLOC__V116*/
21172 /*clear*/ /*_.NAMED_NAME__V117*/
21175 /*clear*/ /*_.WARNING_AT__V118*/
21178 /*clear*/ /*_._IF___V119*/
21180 /*_._IFELSE___V114*/
21181 meltfptr
[34] = /*_.LET___V115*/ meltfptr
[40];;
21184 MELT_LOCATION("warmelt-macro.melt:7056:/ clear");
21185 /*clear*/ /*_.LET___V115*/
21190 else /*^cond.else*/
21198 MELT_CHECK_SIGNAL();
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");
21205 if (/*_#IS_A__L31*/ meltfnum
[15]) /*then*/
21212 MELT_LOCATION("warmelt-macro.melt:7070:/ cond");
21215 /*ifisa*/ melt_is_instance_of((melt_ptr_t
)(/*_.VAR__V24*/ meltfptr
[23]),
21216 (melt_ptr_t
)((/*!CLASS_NAMED*/ meltfrout
->tabval
[11])))
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");
21242 union meltparam_un argtab
[2];
21243 memset(&argtab
, 0, sizeof(argtab
));
21245 argtab
[0].meltbp_cstring
= "local let binding $1 hides definition";
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];;
21256 MELT_LOCATION("warmelt-macro.melt:7067:/ clear");
21257 /*clear*/ /*_.NAMED_NAME__V123*/
21260 /*clear*/ /*_.WARNING_AT__V124*/
21265 else /*^cond.else*/
21268 /*_._IFELSE___V122*/ meltfptr
[92] = /*reallynil*/ NULL
;;
21272 /*_._IFELSE___V114*/
21273 meltfptr
[34] = /*_._IFELSE___V122*/ meltfptr
[92];;
21276 MELT_LOCATION("warmelt-macro.melt:7056:/ clear");
21277 /*clear*/ /*_#IS_A__L31*/
21280 /*clear*/ /*_._IFELSE___V122*/
21286 /*_._IFELSE___V113*/
21287 meltfptr
[43] = /*_._IFELSE___V114*/ meltfptr
[34];;
21290 MELT_LOCATION("warmelt-macro.melt:7055:/ clear");
21291 /*clear*/ /*_#IS_A__L30*/
21294 /*clear*/ /*_._IFELSE___V114*/
21301 meltfptr
[31] = /*_._IFELSE___V113*/ meltfptr
[43];;
21303 MELT_LOCATION("warmelt-macro.melt:7053:/ clear");
21304 /*clear*/ /*_.PREVBIND__V112*/
21307 /*clear*/ /*_#NULL__L29*/
21310 /*clear*/ /*_._IFELSE___V113*/
21312 MELT_LOCATION("warmelt-macro.melt:7073:/ quasiblock");
21316 MELT_CHECK_SIGNAL();
21318 MELT_LOCATION("warmelt-macro.melt:7074:/ quasiblock");
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");
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");
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");
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");
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");
21353 melt_dbgtrace_written_object (/*_.INST__V127*/ meltfptr
[37], "newly made instance");
21356 meltfptr
[36] = /*_.INST__V127*/ meltfptr
[37];;
21358 MELT_CHECK_SIGNAL();
21360 MELT_LOCATION("warmelt-macro.melt:7079:/ quasiblock");
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*/
21380 goto meltlabend_rout
;
21382 meltfptr
[39] = /*_.RETURN___V128*/ meltfptr
[87];;
21384 MELT_LOCATION("warmelt-macro.melt:7073:/ clear");
21385 /*clear*/ /*_.LETB__V126*/
21388 /*clear*/ /*_.RETURN___V128*/
21391 meltfptr
[18] = /*_.LET___V125*/ meltfptr
[39];;
21393 MELT_LOCATION("warmelt-macro.melt:6964:/ clear");
21394 /*clear*/ /*_.CONT__V21*/
21397 /*clear*/ /*_.LOC__V22*/
21400 /*clear*/ /*_.CTYP__V23*/
21403 /*clear*/ /*_.VAR__V24*/
21406 /*clear*/ /*_.EXPR__V25*/
21409 /*clear*/ /*_.CURPAIR__V26*/
21412 /*clear*/ /*_.CURARG__V27*/
21415 /*clear*/ /*_.PAIR_HEAD__V28*/
21418 /*clear*/ /*_.SETQ___V29*/
21421 /*clear*/ /*_#IS_A__L7*/
21424 /*clear*/ /*_._IF___V30*/
21427 /*clear*/ /*_#IS_A__L11*/
21430 /*clear*/ /*_._IFELSE___V52*/
21433 /*clear*/ /*_#NULL__L13*/
21436 /*clear*/ /*_._IF___V62*/
21439 /*clear*/ /*_#eqeq__L14*/
21442 /*clear*/ /*_._IF___V64*/
21445 /*clear*/ /*_.LET___V111*/
21448 /*clear*/ /*_.LET___V125*/
21451 MELT_CHECK_SIGNAL();
21453 MELT_LOCATION("warmelt-macro.melt:6957:/ quasiblock");
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*/
21473 goto meltlabend_rout
;
21477 /*clear*/ /*_.IFCPP___V8*/
21480 /*clear*/ /*_.IFCPP___V11*/
21483 /*clear*/ /*_.IFCPP___V14*/
21486 /*clear*/ /*_.IFCPP___V17*/
21489 /*clear*/ /*_.LET___V20*/
21494 goto 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
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__
21522 #undef meltcallcount
21523 #define meltcallcount 0L
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];
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
);
21588 (void)meltfirstargp_
;
21589 (void)meltxargdescr_
;
21590 (void)meltxargtab_
;
21591 (void)meltxresdescr_
;
21592 (void)meltxrestab_
;
21596 MELT_LOCATION("warmelt-macro.melt:7085:/ getarg");
21598 meltfptr
[1] = (melt_ptr_t
) meltfirstargp_
;
21602 if (meltxargdescr_
[0] != MELTBPAR_PTR
) goto meltlab_endgetargs
;
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
);
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
);
21618 if (meltxargdescr_
[2] != MELTBPAR_PTR
) goto meltlab_endgetargs
;
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
:
21633 #if MELT_HAVE_DEBUG
21634 MELT_LOCATION("warmelt-macro.melt:7086:/ cppif.then");
21642 /*melt_increment_dbgcounter*/
21643 #if MELT_HAVE_DEBUG
21650 MELT_CHECK_SIGNAL();
21652 /*_#MELT_NEED_DBG__L1*/
21655 #if MELT_HAVE_DEBUG
21656 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
21658 0 /* no melt_need_dbg */
21659 #endif /*MELT_HAVE_DEBUG*/
21661 MELT_LOCATION("warmelt-macro.melt:7086:/ cond");
21663 if (/*_#MELT_NEED_DBG__L1*/ meltfnum
[0]) /*then*/
21670 /*_#MELT_CALLCOUNT__L2*/ meltfnum
[1] =
21671 /* for melt_callcount */
21672 #if MELT_HAVE_DEBUG && defined (meltcallcount)
21673 meltcallcount
/* melt_callcount debugging */
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");
21684 union meltparam_un argtab
[11];
21685 memset(&argtab
, 0, sizeof(argtab
));
21687 argtab
[0].meltbp_long
= /*_#MELT_CALLCOUNT__L2*/ meltfnum
[1];
21689 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
21691 argtab
[2].meltbp_long
= 7086;
21693 argtab
[3].meltbp_cstring
= "mexpand_let";
21695 argtab
[4].meltbp_cstring
= " start sexpr=";
21697 argtab
[5].meltbp_aptr
= (melt_ptr_t
*) &/*_.SEXPR__V2*/ meltfptr
[1];
21699 argtab
[6].meltbp_cstring
= " env=";
21701 argtab
[7].meltbp_aptr
= (melt_ptr_t
*) &(/*!DEBUG_LESS*/ meltfrout
->tabval
[1]);
21703 argtab
[8].meltbp_aptr
= (melt_ptr_t
*) &/*_.ENV__V3*/ meltfptr
[2];
21705 argtab
[9].meltbp_cstring
= "\n.. modctx=";
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);
21713 meltfptr
[5] = /*_.MELT_DEBUG_FUN__V7*/ meltfptr
[6];;
21716 MELT_LOCATION("warmelt-macro.melt:7086:/ clear");
21717 /*clear*/ /*_#MELT_CALLCOUNT__L2*/
21720 /*clear*/ /*_.MELT_DEBUG_FUN__V7*/
21725 else /*^cond.else*/
21728 /*_._IF___V6*/ meltfptr
[5] = /*reallynil*/ NULL
;;
21733 MELT_LOCATION("warmelt-macro.melt:7086:/ locexp");
21744 /*clear*/ /*_#MELT_NEED_DBG__L1*/
21747 /*clear*/ /*_._IF___V6*/
21751 #else /*MELT_HAVE_DEBUG*/
21766 #endif /*MELT_HAVE_DEBUG*/
21769 #if MELT_HAVE_DEBUG
21770 MELT_LOCATION("warmelt-macro.melt:7088:/ cppif.then");
21776 MELT_CHECK_SIGNAL();
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");
21783 if (/*_#IS_A__L3*/ meltfnum
[1]) /*then*/
21786 /*_._IFELSE___V9*/ meltfptr
[5] = (/*nil*/NULL
);;
21790 MELT_LOCATION("warmelt-macro.melt:7088:/ cond.else");
21797 MELT_CHECK_SIGNAL();
21802 union meltparam_un argtab
[4];
21803 memset(&argtab
, 0, sizeof(argtab
));
21805 argtab
[0].meltbp_cstring
= "check sexpr";
21807 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
21809 argtab
[2].meltbp_long
= 7088;
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);
21817 meltfptr
[5] = /*_.MELT_ASSERT_FAILURE_FUN__V10*/ meltfptr
[9];;
21820 MELT_LOCATION("warmelt-macro.melt:7088:/ clear");
21821 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V10*/
21828 meltfptr
[6] = /*_._IFELSE___V9*/ meltfptr
[5];;
21831 MELT_LOCATION("warmelt-macro.melt:7088:/ clear");
21832 /*clear*/ /*_#IS_A__L3*/
21835 /*clear*/ /*_._IFELSE___V9*/
21839 #else /*MELT_HAVE_DEBUG*/
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");
21852 MELT_CHECK_SIGNAL();
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");
21859 if (/*_#IS_A__L4*/ meltfnum
[0]) /*then*/
21862 /*_._IFELSE___V12*/ meltfptr
[5] = (/*nil*/NULL
);;
21866 MELT_LOCATION("warmelt-macro.melt:7089:/ cond.else");
21873 MELT_CHECK_SIGNAL();
21878 union meltparam_un argtab
[4];
21879 memset(&argtab
, 0, sizeof(argtab
));
21881 argtab
[0].meltbp_cstring
= "check env";
21883 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
21885 argtab
[2].meltbp_long
= 7089;
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];;
21896 MELT_LOCATION("warmelt-macro.melt:7089:/ clear");
21897 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V13*/
21904 meltfptr
[9] = /*_._IFELSE___V12*/ meltfptr
[5];;
21907 MELT_LOCATION("warmelt-macro.melt:7089:/ clear");
21908 /*clear*/ /*_#IS_A__L4*/
21911 /*clear*/ /*_._IFELSE___V12*/
21915 #else /*MELT_HAVE_DEBUG*/
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");
21928 MELT_CHECK_SIGNAL();
21930 /*_#IS_CLOSURE__L5*/
21932 (melt_magic_discr((melt_ptr_t
)(/*_.MEXPANDER__V4*/ meltfptr
[3])) == MELTOBMAG_CLOSURE
);;
21933 MELT_LOCATION("warmelt-macro.melt:7090:/ cond");
21935 if (/*_#IS_CLOSURE__L5*/ meltfnum
[1]) /*then*/
21938 /*_._IFELSE___V15*/ meltfptr
[5] = (/*nil*/NULL
);;
21942 MELT_LOCATION("warmelt-macro.melt:7090:/ cond.else");
21949 MELT_CHECK_SIGNAL();
21954 union meltparam_un argtab
[4];
21955 memset(&argtab
, 0, sizeof(argtab
));
21957 argtab
[0].meltbp_cstring
= "check mexpander";
21959 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
21961 argtab
[2].meltbp_long
= 7090;
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];;
21972 MELT_LOCATION("warmelt-macro.melt:7090:/ clear");
21973 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V16*/
21980 meltfptr
[12] = /*_._IFELSE___V15*/ meltfptr
[5];;
21983 MELT_LOCATION("warmelt-macro.melt:7090:/ clear");
21984 /*clear*/ /*_#IS_CLOSURE__L5*/
21987 /*clear*/ /*_._IFELSE___V15*/
21991 #else /*MELT_HAVE_DEBUG*/
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");
22004 MELT_CHECK_SIGNAL();
22006 /*_#IS_OBJECT__L6*/
22008 (melt_magic_discr((melt_ptr_t
)(/*_.MODCTX__V5*/ meltfptr
[4])) == MELTOBMAG_OBJECT
);;
22009 MELT_LOCATION("warmelt-macro.melt:7091:/ cond");
22011 if (/*_#IS_OBJECT__L6*/ meltfnum
[0]) /*then*/
22014 /*_._IFELSE___V18*/ meltfptr
[5] = (/*nil*/NULL
);;
22018 MELT_LOCATION("warmelt-macro.melt:7091:/ cond.else");
22025 MELT_CHECK_SIGNAL();
22030 union meltparam_un argtab
[4];
22031 memset(&argtab
, 0, sizeof(argtab
));
22033 argtab
[0].meltbp_cstring
= "check modctx";
22035 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
22037 argtab
[2].meltbp_long
= 7091;
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];;
22048 MELT_LOCATION("warmelt-macro.melt:7091:/ clear");
22049 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V19*/
22056 meltfptr
[15] = /*_._IFELSE___V18*/ meltfptr
[5];;
22059 MELT_LOCATION("warmelt-macro.melt:7091:/ clear");
22060 /*clear*/ /*_#IS_OBJECT__L6*/
22063 /*clear*/ /*_._IFELSE___V18*/
22067 #else /*MELT_HAVE_DEBUG*/
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");
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");
22090 meltfptr
[21] = slot
;
22093 /*_.LIST_FIRST__V23*/
22095 (melt_list_first((melt_ptr_t
)(/*_.CONT__V21*/ meltfptr
[5])));;
22099 (melt_pair_tail((melt_ptr_t
)(/*_.LIST_FIRST__V23*/ meltfptr
[22])));;
22101 /*_.RESTPAIR__V25*/
22103 (melt_pair_tail((melt_ptr_t
)(/*_.SECPAIR__V24*/ meltfptr
[23])));;
22105 /*_.BINDEXPR__V26*/
22107 (melt_pair_head((melt_ptr_t
)(/*_.SECPAIR__V24*/ meltfptr
[23])));;
22109 MELT_CHECK_SIGNAL();
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");
22117 if (/*_#IS_A__L7*/ meltfnum
[1]) /*then*/
22124 MELT_LOCATION("warmelt-macro.melt:7100:/ cond");
22127 /*ifisa*/ melt_is_instance_of((melt_ptr_t
)(/*_.BINDEXPR__V26*/ meltfptr
[25]),
22128 (melt_ptr_t
)((/*!CLASS_SEXPR*/ meltfrout
->tabval
[2])))
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
;;
22149 /*_.SBINDLIST__V27*/
22150 meltfptr
[26] = /*_.SEXP_CONTENTS__V28*/ meltfptr
[27];;
22153 MELT_LOCATION("warmelt-macro.melt:7099:/ clear");
22154 /*clear*/ /*_.SEXP_CONTENTS__V28*/
22159 else /*^cond.else*/
22167 MELT_CHECK_SIGNAL();
22171 (/*null*/(/*_.BINDEXPR__V26*/ meltfptr
[25]) == NULL
);;
22172 MELT_LOCATION("warmelt-macro.melt:7101:/ cond");
22174 if (/*_#NULL__L8*/ meltfnum
[0]) /*then*/
22177 /*_._IFELSE___V29*/ meltfptr
[27] = (/*nil*/NULL
);;
22181 MELT_LOCATION("warmelt-macro.melt:7101:/ cond.else");
22188 MELT_CHECK_SIGNAL();
22192 (melt_magic_discr((melt_ptr_t
)(/*_.BINDEXPR__V26*/ meltfptr
[25])) == MELTOBMAG_LIST
);;
22193 MELT_LOCATION("warmelt-macro.melt:7103:/ cond");
22195 if (/*_#IS_LIST__L9*/ meltfnum
[8]) /*then*/
22198 /*_._IFELSE___V30*/ meltfptr
[29] = /*_.BINDEXPR__V26*/ meltfptr
[25];;
22202 MELT_LOCATION("warmelt-macro.melt:7103:/ cond.else");
22209 MELT_CHECK_SIGNAL();
22211 MELT_LOCATION("warmelt-macro.melt:7106:/ apply");
22214 union meltparam_un argtab
[1];
22215 memset(&argtab
, 0, sizeof(argtab
));
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");
22226 meltfptr
[31] = (/*nil*/NULL
);;
22228 /*_._IFELSE___V30*/
22229 meltfptr
[29] = /*_.PROGN___V32*/ meltfptr
[31];;
22232 MELT_LOCATION("warmelt-macro.melt:7103:/ clear");
22233 /*clear*/ /*_.ERROR_AT__V31*/
22236 /*clear*/ /*_.PROGN___V32*/
22242 /*_._IFELSE___V29*/
22243 meltfptr
[27] = /*_._IFELSE___V30*/ meltfptr
[29];;
22246 MELT_LOCATION("warmelt-macro.melt:7101:/ clear");
22247 /*clear*/ /*_#IS_LIST__L9*/
22250 /*clear*/ /*_._IFELSE___V30*/
22256 /*_.SBINDLIST__V27*/
22257 meltfptr
[26] = /*_._IFELSE___V29*/ meltfptr
[27];;
22260 MELT_LOCATION("warmelt-macro.melt:7099:/ clear");
22261 /*clear*/ /*_#NULL__L8*/
22264 /*clear*/ /*_._IFELSE___V29*/
22270 /*_.LETBINDLIST__V33*/
22272 (meltgc_new_list((meltobject_ptr_t
)((/*!DISCR_LIST*/ meltfrout
->tabval
[6]))));;
22274 MELT_CHECK_SIGNAL();
22276 MELT_LOCATION("warmelt-macro.melt:7109:/ 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");
22285 /*ifisa*/ melt_is_instance_of((melt_ptr_t
)(/*_.MODCTX__V5*/ meltfptr
[4]),
22286 (melt_ptr_t
)((/*!CLASS_ANY_MODULE_CONTEXT*/ meltfrout
->tabval
[8])))
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");
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");
22316 /*melt_increment_dbgcounter*/
22317 #if MELT_HAVE_DEBUG
22324 MELT_CHECK_SIGNAL();
22326 /*_#MELT_NEED_DBG__L10*/
22329 #if MELT_HAVE_DEBUG
22330 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
22332 0 /* no melt_need_dbg */
22333 #endif /*MELT_HAVE_DEBUG*/
22335 MELT_LOCATION("warmelt-macro.melt:7112:/ cond");
22337 if (/*_#MELT_NEED_DBG__L10*/ meltfnum
[8]) /*then*/
22344 /*_#MELT_CALLCOUNT__L11*/ meltfnum
[0] =
22345 /* for melt_callcount */
22346 #if MELT_HAVE_DEBUG && defined (meltcallcount)
22347 meltcallcount
/* melt_callcount debugging */
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");
22358 union meltparam_un argtab
[15];
22359 memset(&argtab
, 0, sizeof(argtab
));
22361 argtab
[0].meltbp_long
= /*_#MELT_CALLCOUNT__L11*/ meltfnum
[0];
22363 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
22365 argtab
[2].meltbp_long
= 7112;
22367 argtab
[3].meltbp_cstring
= "mexpand_let";
22369 argtab
[4].meltbp_cstring
= " loc=";
22371 argtab
[5].meltbp_aptr
= (melt_ptr_t
*) &/*_.LOC__V22*/ meltfptr
[21];
22373 argtab
[6].meltbp_cstring
= " cont=";
22375 argtab
[7].meltbp_aptr
= (melt_ptr_t
*) &/*_.CONT__V21*/ meltfptr
[5];
22377 argtab
[8].meltbp_cstring
= "\n.. newenv=";
22379 argtab
[9].meltbp_aptr
= (melt_ptr_t
*) &(/*!DEBUG_LESS*/ meltfrout
->tabval
[1]);
22381 argtab
[10].meltbp_aptr
= (melt_ptr_t
*) &/*_.NEWENV__V34*/ meltfptr
[31];
22383 argtab
[11].meltbp_cstring
= "\n..sbindlist=";
22385 argtab
[12].meltbp_aptr
= (melt_ptr_t
*) &/*_.SBINDLIST__V27*/ meltfptr
[26];
22387 argtab
[13].meltbp_cstring
= "\n.. maclist=";
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);
22395 meltfptr
[27] = /*_.MELT_DEBUG_FUN__V37*/ meltfptr
[36];;
22398 MELT_LOCATION("warmelt-macro.melt:7112:/ clear");
22399 /*clear*/ /*_#MELT_CALLCOUNT__L11*/
22402 /*clear*/ /*_.MELT_DEBUG_FUN__V37*/
22407 else /*^cond.else*/
22410 /*_._IF___V36*/ meltfptr
[27] = /*reallynil*/ NULL
;;
22415 MELT_LOCATION("warmelt-macro.melt:7112:/ locexp");
22426 /*clear*/ /*_#MELT_NEED_DBG__L10*/
22429 /*clear*/ /*_._IF___V36*/
22433 #else /*MELT_HAVE_DEBUG*/
22448 #endif /*MELT_HAVE_DEBUG*/
22451 #if MELT_HAVE_DEBUG
22452 MELT_LOCATION("warmelt-macro.melt:7114:/ cppif.then");
22458 MELT_CHECK_SIGNAL();
22460 /*_#IS_LIST_OR_NULL__L12*/
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");
22466 if (/*_#IS_LIST_OR_NULL__L12*/ meltfnum
[0]) /*then*/
22469 /*_._IFELSE___V39*/ meltfptr
[27] = (/*nil*/NULL
);;
22473 MELT_LOCATION("warmelt-macro.melt:7114:/ cond.else");
22480 MELT_CHECK_SIGNAL();
22485 union meltparam_un argtab
[5];
22486 memset(&argtab
, 0, sizeof(argtab
));
22488 argtab
[0].meltbp_cstring
= "check sbindlist";
22490 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
22492 argtab
[2].meltbp_long
= 7114;
22494 argtab
[3].meltbp_aptr
= (melt_ptr_t
*) &/*_.SBINDLIST__V27*/ meltfptr
[26];
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];;
22505 MELT_LOCATION("warmelt-macro.melt:7114:/ clear");
22506 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V40*/
22513 meltfptr
[36] = /*_._IFELSE___V39*/ meltfptr
[27];;
22516 MELT_LOCATION("warmelt-macro.melt:7114:/ clear");
22517 /*clear*/ /*_#IS_LIST_OR_NULL__L12*/
22520 /*clear*/ /*_._IFELSE___V39*/
22524 #else /*MELT_HAVE_DEBUG*/
22526 /*_.IFCPP___V38*/ meltfptr
[36] = (/*nil*/NULL
);
22527 #endif /*MELT_HAVE_DEBUG*/
22530 MELT_CHECK_SIGNAL();
22533 /*_.LIST_FIRST_ELEMENT__V41*/
22535 (melt_pair_head (melt_list_first((melt_ptr_t
)(/*_.SBINDLIST__V27*/ meltfptr
[26]))));;
22539 ((/*_.LIST_FIRST_ELEMENT__V41*/ meltfptr
[39]) == ((/*!konst_9_EXPAND*/ meltfrout
->tabval
[9])));;
22540 MELT_LOCATION("warmelt-macro.melt:7116:/ cond");
22542 if (/*_#eqeq__L13*/ meltfnum
[8]) /*then*/
22549 MELT_LOCATION("warmelt-macro.melt:7117:/ quasiblock");
22553 MELT_CHECK_SIGNAL();
22558 union meltparam_un argtab
[3];
22559 memset(&argtab
, 0, sizeof(argtab
));
22561 argtab
[0].meltbp_aptr
= (melt_ptr_t
*) &/*_.ENV__V3*/ meltfptr
[2];
22563 argtab
[1].meltbp_aptr
= (melt_ptr_t
*) &/*_.MEXPANDER__V4*/ meltfptr
[3];
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");
22580 /*melt_increment_dbgcounter*/
22581 #if MELT_HAVE_DEBUG
22588 MELT_CHECK_SIGNAL();
22590 /*_#MELT_NEED_DBG__L14*/
22593 #if MELT_HAVE_DEBUG
22594 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
22596 0 /* no melt_need_dbg */
22597 #endif /*MELT_HAVE_DEBUG*/
22599 MELT_LOCATION("warmelt-macro.melt:7119:/ cond");
22601 if (/*_#MELT_NEED_DBG__L14*/ meltfnum
[0]) /*then*/
22608 /*_#MELT_CALLCOUNT__L15*/ meltfnum
[14] =
22609 /* for melt_callcount */
22610 #if MELT_HAVE_DEBUG && defined (meltcallcount)
22611 meltcallcount
/* melt_callcount debugging */
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");
22622 union meltparam_un argtab
[8];
22623 memset(&argtab
, 0, sizeof(argtab
));
22625 argtab
[0].meltbp_long
= /*_#MELT_CALLCOUNT__L15*/ meltfnum
[14];
22627 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
22629 argtab
[2].meltbp_long
= 7119;
22631 argtab
[3].meltbp_cstring
= "mexpand_let:expand";
22633 argtab
[4].meltbp_cstring
= " loc=";
22635 argtab
[5].meltbp_aptr
= (melt_ptr_t
*) &/*_.LOC__V22*/ meltfptr
[21];
22637 argtab
[6].meltbp_cstring
= " xpbindlist=";
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);
22645 meltfptr
[42] = /*_.MELT_DEBUG_FUN__V44*/ meltfptr
[43];;
22648 MELT_LOCATION("warmelt-macro.melt:7119:/ clear");
22649 /*clear*/ /*_#MELT_CALLCOUNT__L15*/
22652 /*clear*/ /*_.MELT_DEBUG_FUN__V44*/
22657 else /*^cond.else*/
22660 /*_._IF___V43*/ meltfptr
[42] = /*reallynil*/ NULL
;;
22665 MELT_LOCATION("warmelt-macro.melt:7119:/ locexp");
22676 /*clear*/ /*_#MELT_NEED_DBG__L14*/
22679 /*clear*/ /*_._IF___V43*/
22683 #else /*MELT_HAVE_DEBUG*/
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");
22720 /*melt_increment_dbgcounter*/
22721 #if MELT_HAVE_DEBUG
22728 MELT_CHECK_SIGNAL();
22730 /*_#MELT_NEED_DBG__L16*/
22733 #if MELT_HAVE_DEBUG
22734 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
22736 0 /* no melt_need_dbg */
22737 #endif /*MELT_HAVE_DEBUG*/
22739 MELT_LOCATION("warmelt-macro.melt:7123:/ cond");
22741 if (/*_#MELT_NEED_DBG__L16*/ meltfnum
[14]) /*then*/
22748 /*_#MELT_CALLCOUNT__L17*/ meltfnum
[0] =
22749 /* for melt_callcount */
22750 #if MELT_HAVE_DEBUG && defined (meltcallcount)
22751 meltcallcount
/* melt_callcount debugging */
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");
22762 union meltparam_un argtab
[8];
22763 memset(&argtab
, 0, sizeof(argtab
));
22765 argtab
[0].meltbp_long
= /*_#MELT_CALLCOUNT__L17*/ meltfnum
[0];
22767 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
22769 argtab
[2].meltbp_long
= 7123;
22771 argtab
[3].meltbp_cstring
= "mexpand_let:expand";
22773 argtab
[4].meltbp_cstring
= " loc=";
22775 argtab
[5].meltbp_aptr
= (melt_ptr_t
*) &/*_.LOC__V22*/ meltfptr
[21];
22777 argtab
[6].meltbp_cstring
= " curxpbind=";
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);
22785 meltfptr
[46] = /*_.MELT_DEBUG_FUN__V48*/ meltfptr
[47];;
22788 MELT_LOCATION("warmelt-macro.melt:7123:/ clear");
22789 /*clear*/ /*_#MELT_CALLCOUNT__L17*/
22792 /*clear*/ /*_.MELT_DEBUG_FUN__V48*/
22797 else /*^cond.else*/
22800 /*_._IF___V47*/ meltfptr
[46] = /*reallynil*/ NULL
;;
22805 MELT_LOCATION("warmelt-macro.melt:7123:/ locexp");
22816 /*clear*/ /*_#MELT_NEED_DBG__L16*/
22819 /*clear*/ /*_._IF___V47*/
22823 #else /*MELT_HAVE_DEBUG*/
22838 #endif /*MELT_HAVE_DEBUG*/
22841 MELT_CHECK_SIGNAL();
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");
22848 if (/*_#IS_A__L18*/ meltfnum
[0]) /*then*/
22856 MELT_CHECK_SIGNAL();
22858 MELT_LOCATION("warmelt-macro.melt:7126:/ apply");
22861 union meltparam_un argtab
[1];
22862 memset(&argtab
, 0, sizeof(argtab
));
22864 argtab
[0].meltbp_aptr
= (melt_ptr_t
*) &/*_.CURXPBIND__V46*/ meltfptr
[42];
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");
22881 /*clear*/ /*_.PUT_ENV__V50*/
22886 else /*^cond.else*/
22894 MELT_CHECK_SIGNAL();
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");
22901 if (/*_#IS_A__L19*/ meltfnum
[14]) /*then*/
22908 MELT_LOCATION("warmelt-macro.melt:7131:/ cond");
22911 /*ifisa*/ melt_is_instance_of((melt_ptr_t
)(/*_.CURXPBIND__V46*/ meltfptr
[42]),
22912 (melt_ptr_t
)((/*!CLASS_ANY_BINDING*/ meltfrout
->tabval
[14])))
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");
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");
22938 union meltparam_un argtab
[2];
22939 memset(&argtab
, 0, sizeof(argtab
));
22941 argtab
[0].meltbp_cstring
= ":expand LET binding cannot give macro-binding for $1";
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];;
22952 MELT_LOCATION("warmelt-macro.melt:7129:/ clear");
22953 /*clear*/ /*_.BINDER__V52*/
22956 /*clear*/ /*_.ERROR_AT__V53*/
22961 else /*^cond.else*/
22964 /*_._IFELSE___V51*/ meltfptr
[46] = /*reallynil*/ NULL
;;
22968 /*_._IFELSE___V49*/
22969 meltfptr
[47] = /*_._IFELSE___V51*/ meltfptr
[46];;
22972 MELT_LOCATION("warmelt-macro.melt:7125:/ clear");
22973 /*clear*/ /*_#IS_A__L19*/
22976 /*clear*/ /*_._IFELSE___V51*/
22982 } /* end foreach_pair_component_in_list meltcit1__EACHLIST */
22983 /*_.CURPAIRINLISTSYMB__V45*/ meltfptr
[43] = NULL
;
22984 /*_.CURXPBIND__V46*/
22985 meltfptr
[42] = NULL
;
22990 MELT_LOCATION("warmelt-macro.melt:7120:/ clear");
22991 /*clear*/ /*_.CURPAIRINLISTSYMB__V45*/
22994 /*clear*/ /*_.CURXPBIND__V46*/
22997 /*clear*/ /*_#IS_A__L18*/
23000 /*clear*/ /*_._IFELSE___V49*/
23002 } /*endciterblock FOREACH_PAIR_COMPONENT_IN_LIST*/
23006 MELT_LOCATION("warmelt-macro.melt:7134:/ locexp");
23012 MELT_LOCATION("warmelt-macro.melt:7117:/ clear");
23013 /*clear*/ /*_.XPBINDLIST__V42*/
23021 MELT_LOCATION("warmelt-macro.melt:7116:/ cond.else");
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");
23047 /*melt_increment_dbgcounter*/
23048 #if MELT_HAVE_DEBUG
23055 MELT_CHECK_SIGNAL();
23057 /*_#MELT_NEED_DBG__L20*/
23060 #if MELT_HAVE_DEBUG
23061 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
23063 0 /* no melt_need_dbg */
23064 #endif /*MELT_HAVE_DEBUG*/
23066 MELT_LOCATION("warmelt-macro.melt:7140:/ cond");
23068 if (/*_#MELT_NEED_DBG__L20*/ meltfnum
[14]) /*then*/
23075 /*_#MELT_CALLCOUNT__L21*/ meltfnum
[20] =
23076 /* for melt_callcount */
23077 #if MELT_HAVE_DEBUG && defined (meltcallcount)
23078 meltcallcount
/* melt_callcount debugging */
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");
23089 union meltparam_un argtab
[6];
23090 memset(&argtab
, 0, sizeof(argtab
));
23092 argtab
[0].meltbp_long
= /*_#MELT_CALLCOUNT__L21*/ meltfnum
[20];
23094 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
23096 argtab
[2].meltbp_long
= 7140;
23098 argtab
[3].meltbp_cstring
= "mexpand_let";
23100 argtab
[4].meltbp_cstring
= " curbindsrc=";
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);
23108 meltfptr
[46] = /*_.MELT_DEBUG_FUN__V57*/ meltfptr
[27];;
23111 MELT_LOCATION("warmelt-macro.melt:7140:/ clear");
23112 /*clear*/ /*_#MELT_CALLCOUNT__L21*/
23115 /*clear*/ /*_.MELT_DEBUG_FUN__V57*/
23120 else /*^cond.else*/
23123 /*_._IF___V56*/ meltfptr
[46] = /*reallynil*/ NULL
;;
23128 MELT_LOCATION("warmelt-macro.melt:7140:/ locexp");
23139 /*clear*/ /*_#MELT_NEED_DBG__L20*/
23142 /*clear*/ /*_._IF___V56*/
23146 #else /*MELT_HAVE_DEBUG*/
23161 #endif /*MELT_HAVE_DEBUG*/
23163 MELT_LOCATION("warmelt-macro.melt:7141:/ quasiblock");
23167 MELT_CHECK_SIGNAL();
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");
23174 if (/*_#IS_A__L22*/ meltfnum
[20]) /*then*/
23177 /*_.CURSBIND__V59*/ meltfptr
[46] = /*_.CURBINDSRC__V55*/ meltfptr
[52];;
23181 MELT_LOCATION("warmelt-macro.melt:7143:/ cond.else");
23188 MELT_CHECK_SIGNAL();
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");
23195 if (/*_#IS_A__L23*/ meltfnum
[14]) /*then*/
23203 MELT_CHECK_SIGNAL();
23205 MELT_LOCATION("warmelt-macro.melt:7147:/ apply");
23208 union meltparam_un argtab
[3];
23209 memset(&argtab
, 0, sizeof(argtab
));
23211 argtab
[0].meltbp_aptr
= (melt_ptr_t
*) &/*_.NEWENV__V34*/ meltfptr
[31];
23213 argtab
[1].meltbp_aptr
= (melt_ptr_t
*) &/*_.MEXPANDER__V4*/ meltfptr
[3];
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];;
23224 MELT_LOCATION("warmelt-macro.melt:7146:/ clear");
23225 /*clear*/ /*_.MEXPAND_LETBINDING__V61*/
23230 else /*^cond.else*/
23238 MELT_CHECK_SIGNAL();
23240 MELT_LOCATION("warmelt-macro.melt:7149:/ apply");
23243 union meltparam_un argtab
[2];
23244 memset(&argtab
, 0, sizeof(argtab
));
23246 argtab
[0].meltbp_cstring
= "inexpected binding $1 in LET";
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");
23257 meltfptr
[62] = (/*nil*/NULL
);;
23259 /*_._IFELSE___V60*/
23260 meltfptr
[59] = /*_.PROGN___V63*/ meltfptr
[62];;
23263 MELT_LOCATION("warmelt-macro.melt:7146:/ clear");
23264 /*clear*/ /*_.ERROR_AT__V62*/
23267 /*clear*/ /*_.PROGN___V63*/
23273 /*_.CURSBIND__V59*/
23274 meltfptr
[46] = /*_._IFELSE___V60*/ meltfptr
[59];;
23277 MELT_LOCATION("warmelt-macro.melt:7143:/ clear");
23278 /*clear*/ /*_#IS_A__L23*/
23281 /*clear*/ /*_._IFELSE___V60*/
23288 #if MELT_HAVE_DEBUG
23289 MELT_LOCATION("warmelt-macro.melt:7152:/ cppif.then");
23297 /*melt_increment_dbgcounter*/
23298 #if MELT_HAVE_DEBUG
23305 MELT_CHECK_SIGNAL();
23307 /*_#MELT_NEED_DBG__L24*/
23310 #if MELT_HAVE_DEBUG
23311 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
23313 0 /* no melt_need_dbg */
23314 #endif /*MELT_HAVE_DEBUG*/
23316 MELT_LOCATION("warmelt-macro.melt:7152:/ cond");
23318 if (/*_#MELT_NEED_DBG__L24*/ meltfnum
[14]) /*then*/
23325 /*_#MELT_CALLCOUNT__L25*/ meltfnum
[24] =
23326 /* for melt_callcount */
23327 #if MELT_HAVE_DEBUG && defined (meltcallcount)
23328 meltcallcount
/* melt_callcount debugging */
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");
23339 union meltparam_un argtab
[9];
23340 memset(&argtab
, 0, sizeof(argtab
));
23342 argtab
[0].meltbp_long
= /*_#MELT_CALLCOUNT__L25*/ meltfnum
[24];
23344 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
23346 argtab
[2].meltbp_long
= 7152;
23348 argtab
[3].meltbp_cstring
= "mexpand_let";
23350 argtab
[4].meltbp_cstring
= " cursbind=";
23352 argtab
[5].meltbp_aptr
= (melt_ptr_t
*) &/*_.CURSBIND__V59*/ meltfptr
[46];
23354 argtab
[6].meltbp_cstring
= "\n..for curbindsrc=";
23356 argtab
[7].meltbp_aptr
= (melt_ptr_t
*) &(/*!DEBUG_LESS*/ meltfrout
->tabval
[1]);
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);
23364 meltfptr
[60] = /*_.MELT_DEBUG_FUN__V65*/ meltfptr
[62];;
23367 MELT_LOCATION("warmelt-macro.melt:7152:/ clear");
23368 /*clear*/ /*_#MELT_CALLCOUNT__L25*/
23371 /*clear*/ /*_.MELT_DEBUG_FUN__V65*/
23376 else /*^cond.else*/
23379 /*_._IF___V64*/ meltfptr
[60] = /*reallynil*/ NULL
;;
23384 MELT_LOCATION("warmelt-macro.melt:7152:/ locexp");
23395 /*clear*/ /*_#MELT_NEED_DBG__L24*/
23398 /*clear*/ /*_._IF___V64*/
23402 #else /*MELT_HAVE_DEBUG*/
23417 #endif /*MELT_HAVE_DEBUG*/
23420 #if MELT_HAVE_DEBUG
23421 MELT_LOCATION("warmelt-macro.melt:7154:/ cppif.then");
23427 MELT_CHECK_SIGNAL();
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");
23434 if (/*_#IS_A__L26*/ meltfnum
[24]) /*then*/
23437 /*_._IFELSE___V67*/ meltfptr
[62] = (/*nil*/NULL
);;
23441 MELT_LOCATION("warmelt-macro.melt:7154:/ cond.else");
23448 MELT_CHECK_SIGNAL();
23453 union meltparam_un argtab
[6];
23454 memset(&argtab
, 0, sizeof(argtab
));
23456 argtab
[0].meltbp_cstring
= "check cursbind";
23458 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
23460 argtab
[2].meltbp_long
= 7154;
23462 argtab
[3].meltbp_aptr
= (melt_ptr_t
*) &/*_.CURSBIND__V59*/ meltfptr
[46];
23464 argtab
[4].meltbp_aptr
= (melt_ptr_t
*) &/*_.CURBINDSRC__V55*/ meltfptr
[52];
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];;
23475 MELT_LOCATION("warmelt-macro.melt:7154:/ clear");
23476 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V68*/
23483 meltfptr
[59] = /*_._IFELSE___V67*/ meltfptr
[62];;
23486 MELT_LOCATION("warmelt-macro.melt:7154:/ clear");
23487 /*clear*/ /*_#IS_A__L26*/
23490 /*clear*/ /*_._IFELSE___V67*/
23494 #else /*MELT_HAVE_DEBUG*/
23496 /*_.IFCPP___V66*/ meltfptr
[59] = (/*nil*/NULL
);
23497 #endif /*MELT_HAVE_DEBUG*/
23500 MELT_CHECK_SIGNAL();
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");
23508 if (/*_#IS_A__L27*/ meltfnum
[14]) /*then*/
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");
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");
23551 /*ifisa*/ melt_is_instance_of((melt_ptr_t
)(/*_.CURSBIND__V59*/ meltfptr
[46]),
23552 (melt_ptr_t
)((/*!CLASS_LOCATED*/ meltfrout
->tabval
[18])))
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");
23574 if (/*_.LOCA_LOCATION__V73*/ meltfptr
[72]) /*then*/
23577 /*_.OR___V74*/ meltfptr
[73] = /*_.LOCA_LOCATION__V73*/ meltfptr
[72];;
23581 MELT_LOCATION("warmelt-macro.melt:7163:/ cond.else");
23584 meltfptr
[73] = /*_.LOC__V22*/ meltfptr
[21];;
23587 MELT_LOCATION("warmelt-macro.melt:7159:/ quasiblock");
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");
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");
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");
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");
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");
23622 melt_dbgtrace_written_object (/*_.INST__V76*/ meltfptr
[75], "newly made instance");
23625 meltfptr
[74] = /*_.INST__V76*/ meltfptr
[75];;
23627 #if MELT_HAVE_DEBUG
23628 MELT_LOCATION("warmelt-macro.melt:7165:/ cppif.then");
23636 /*melt_increment_dbgcounter*/
23637 #if MELT_HAVE_DEBUG
23644 MELT_CHECK_SIGNAL();
23646 /*_#MELT_NEED_DBG__L28*/
23649 #if MELT_HAVE_DEBUG
23650 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
23652 0 /* no melt_need_dbg */
23653 #endif /*MELT_HAVE_DEBUG*/
23655 MELT_LOCATION("warmelt-macro.melt:7165:/ cond");
23657 if (/*_#MELT_NEED_DBG__L28*/ meltfnum
[24]) /*then*/
23664 /*_#MELT_CALLCOUNT__L29*/ meltfnum
[28] =
23665 /* for melt_callcount */
23666 #if MELT_HAVE_DEBUG && defined (meltcallcount)
23667 meltcallcount
/* melt_callcount debugging */
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");
23678 union meltparam_un argtab
[6];
23679 memset(&argtab
, 0, sizeof(argtab
));
23681 argtab
[0].meltbp_long
= /*_#MELT_CALLCOUNT__L29*/ meltfnum
[28];
23683 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
23685 argtab
[2].meltbp_long
= 7165;
23687 argtab
[3].meltbp_cstring
= "mexpand_let";
23689 argtab
[4].meltbp_cstring
= " letbind=";
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);
23697 meltfptr
[76] = /*_.MELT_DEBUG_FUN__V78*/ meltfptr
[77];;
23700 MELT_LOCATION("warmelt-macro.melt:7165:/ clear");
23701 /*clear*/ /*_#MELT_CALLCOUNT__L29*/
23704 /*clear*/ /*_.MELT_DEBUG_FUN__V78*/
23709 else /*^cond.else*/
23712 /*_._IF___V77*/ meltfptr
[76] = /*reallynil*/ NULL
;;
23717 MELT_LOCATION("warmelt-macro.melt:7165:/ locexp");
23728 /*clear*/ /*_#MELT_NEED_DBG__L28*/
23731 /*clear*/ /*_._IF___V77*/
23735 #else /*MELT_HAVE_DEBUG*/
23750 #endif /*MELT_HAVE_DEBUG*/
23753 MELT_CHECK_SIGNAL();
23755 MELT_LOCATION("warmelt-macro.melt:7166:/ apply");
23758 union meltparam_un argtab
[1];
23759 memset(&argtab
, 0, sizeof(argtab
));
23761 argtab
[0].meltbp_aptr
= (melt_ptr_t
*) &/*_.LETBIND__V75*/ meltfptr
[74];
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");
23782 /*melt_increment_dbgcounter*/
23783 #if MELT_HAVE_DEBUG
23790 MELT_CHECK_SIGNAL();
23792 /*_#MELT_NEED_DBG__L30*/
23795 #if MELT_HAVE_DEBUG
23796 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
23798 0 /* no melt_need_dbg */
23799 #endif /*MELT_HAVE_DEBUG*/
23801 MELT_LOCATION("warmelt-macro.melt:7168:/ cond");
23803 if (/*_#MELT_NEED_DBG__L30*/ meltfnum
[28]) /*then*/
23810 /*_#MELT_CALLCOUNT__L31*/ meltfnum
[24] =
23811 /* for melt_callcount */
23812 #if MELT_HAVE_DEBUG && defined (meltcallcount)
23813 meltcallcount
/* melt_callcount debugging */
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");
23824 union meltparam_un argtab
[8];
23825 memset(&argtab
, 0, sizeof(argtab
));
23827 argtab
[0].meltbp_long
= /*_#MELT_CALLCOUNT__L31*/ meltfnum
[24];
23829 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
23831 argtab
[2].meltbp_long
= 7168;
23833 argtab
[3].meltbp_cstring
= "mexpand_let";
23835 argtab
[4].meltbp_cstring
= " letbind-updated newenv=";
23837 argtab
[5].meltbp_aptr
= (melt_ptr_t
*) &/*_.NEWENV__V34*/ meltfptr
[31];
23839 argtab
[6].meltbp_cstring
= "\n.. for cursbind=";
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);
23847 meltfptr
[76] = /*_.MELT_DEBUG_FUN__V81*/ meltfptr
[80];;
23850 MELT_LOCATION("warmelt-macro.melt:7168:/ clear");
23851 /*clear*/ /*_#MELT_CALLCOUNT__L31*/
23854 /*clear*/ /*_.MELT_DEBUG_FUN__V81*/
23859 else /*^cond.else*/
23862 /*_._IF___V80*/ meltfptr
[76] = /*reallynil*/ NULL
;;
23867 MELT_LOCATION("warmelt-macro.melt:7168:/ locexp");
23878 /*clear*/ /*_#MELT_NEED_DBG__L30*/
23881 /*clear*/ /*_._IF___V80*/
23885 #else /*MELT_HAVE_DEBUG*/
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*/
23909 /*clear*/ /*_.SLETB_BINDER__V71*/
23912 /*clear*/ /*_.SLETB_TYPE__V72*/
23915 /*clear*/ /*_.LOCA_LOCATION__V73*/
23918 /*clear*/ /*_.OR___V74*/
23921 /*clear*/ /*_.LETBIND__V75*/
23924 /*clear*/ /*_.PUT_ENV__V79*/
23932 MELT_LOCATION("warmelt-macro.melt:7156:/ cond.else");
23939 MELT_CHECK_SIGNAL();
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");
23946 if (/*_#IS_A__L32*/ meltfnum
[24]) /*then*/
23954 #if MELT_HAVE_DEBUG
23955 MELT_LOCATION("warmelt-macro.melt:7173:/ cppif.then");
23963 /*melt_increment_dbgcounter*/
23964 #if MELT_HAVE_DEBUG
23971 MELT_CHECK_SIGNAL();
23973 /*_#MELT_NEED_DBG__L33*/
23976 #if MELT_HAVE_DEBUG
23977 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
23979 0 /* no melt_need_dbg */
23980 #endif /*MELT_HAVE_DEBUG*/
23982 MELT_LOCATION("warmelt-macro.melt:7173:/ cond");
23984 if (/*_#MELT_NEED_DBG__L33*/ meltfnum
[28]) /*then*/
23991 /*_#MELT_CALLCOUNT__L34*/ meltfnum
[33] =
23992 /* for melt_callcount */
23993 #if MELT_HAVE_DEBUG && defined (meltcallcount)
23994 meltcallcount
/* melt_callcount debugging */
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");
24005 union meltparam_un argtab
[8];
24006 memset(&argtab
, 0, sizeof(argtab
));
24008 argtab
[0].meltbp_long
= /*_#MELT_CALLCOUNT__L34*/ meltfnum
[33];
24010 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
24012 argtab
[2].meltbp_long
= 7173;
24014 argtab
[3].meltbp_cstring
= "mexpand_let:macro";
24016 argtab
[4].meltbp_cstring
= " loc=";
24018 argtab
[5].meltbp_aptr
= (melt_ptr_t
*) &/*_.LOC__V22*/ meltfptr
[21];
24020 argtab
[6].meltbp_cstring
= "; cursbind=";
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);
24028 meltfptr
[76] = /*_.MELT_DEBUG_FUN__V84*/ meltfptr
[62];;
24031 MELT_LOCATION("warmelt-macro.melt:7173:/ clear");
24032 /*clear*/ /*_#MELT_CALLCOUNT__L34*/
24035 /*clear*/ /*_.MELT_DEBUG_FUN__V84*/
24040 else /*^cond.else*/
24043 /*_._IF___V83*/ meltfptr
[76] = /*reallynil*/ NULL
;;
24048 MELT_LOCATION("warmelt-macro.melt:7173:/ locexp");
24059 /*clear*/ /*_#MELT_NEED_DBG__L33*/
24062 /*clear*/ /*_._IF___V83*/
24066 #else /*MELT_HAVE_DEBUG*/
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));
24095 #if MELT_HAVE_DEBUG
24096 MELT_LOCATION("warmelt-macro.melt:7175:/ cppif.then");
24102 MELT_CHECK_SIGNAL();
24106 (melt_magic_discr((melt_ptr_t
)(/*_.MACLIST__V35*/ meltfptr
[29])) == MELTOBMAG_LIST
);;
24107 MELT_LOCATION("warmelt-macro.melt:7175:/ cond");
24109 if (/*_#IS_LIST__L35*/ meltfnum
[33]) /*then*/
24112 /*_._IFELSE___V86*/ meltfptr
[71] = (/*nil*/NULL
);;
24116 MELT_LOCATION("warmelt-macro.melt:7175:/ cond.else");
24123 MELT_CHECK_SIGNAL();
24128 union meltparam_un argtab
[5];
24129 memset(&argtab
, 0, sizeof(argtab
));
24131 argtab
[0].meltbp_cstring
= "check maclist";
24133 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
24135 argtab
[2].meltbp_long
= 7175;
24137 argtab
[3].meltbp_aptr
= (melt_ptr_t
*) &/*_.MACLIST__V35*/ meltfptr
[29];
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];;
24148 MELT_LOCATION("warmelt-macro.melt:7175:/ clear");
24149 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V87*/
24156 meltfptr
[70] = /*_._IFELSE___V86*/ meltfptr
[71];;
24159 MELT_LOCATION("warmelt-macro.melt:7175:/ clear");
24160 /*clear*/ /*_#IS_LIST__L35*/
24163 /*clear*/ /*_._IFELSE___V86*/
24167 #else /*MELT_HAVE_DEBUG*/
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");
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])))
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");
24189 meltfptr
[73] = slot
;
24193 else /*^cond.else*/
24196 /*_.MACSYMB__V88*/ meltfptr
[73] = /*reallynil*/ NULL
;;
24199 MELT_LOCATION("warmelt-macro.melt:7178:/ cond");
24202 /*ifisa*/ melt_is_instance_of((melt_ptr_t
)(/*_.CURSBIND__V59*/ meltfptr
[46]),
24203 (melt_ptr_t
)((/*!CLASS_LOCATED*/ meltfrout
->tabval
[18])))
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");
24225 if (/*_.LOCA_LOCATION__V89*/ meltfptr
[74]) /*then*/
24228 /*_.MACLOC__V90*/ meltfptr
[77] = /*_.LOCA_LOCATION__V89*/ meltfptr
[74];;
24232 MELT_LOCATION("warmelt-macro.melt:7178:/ cond.else");
24235 meltfptr
[77] = /*_.LOC__V22*/ meltfptr
[21];;
24238 MELT_LOCATION("warmelt-macro.melt:7179:/ cond");
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])))
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");
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])))
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");
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");
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");
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");
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");
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");
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");
24324 melt_dbgtrace_written_object (/*_.INST__V94*/ meltfptr
[71], "newly made instance");
24327 meltfptr
[72] = /*_.INST__V94*/ meltfptr
[71];;
24329 MELT_CHECK_SIGNAL();
24331 MELT_LOCATION("warmelt-macro.melt:7187:/ quasiblock");
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");
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");
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");
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");
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");
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");
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");
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");
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");
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");
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");
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");
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");
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");
24438 /*melt_increment_dbgcounter*/
24439 #if MELT_HAVE_DEBUG
24446 MELT_CHECK_SIGNAL();
24448 /*_#MELT_NEED_DBG__L36*/
24451 #if MELT_HAVE_DEBUG
24452 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
24454 0 /* no melt_need_dbg */
24455 #endif /*MELT_HAVE_DEBUG*/
24457 MELT_LOCATION("warmelt-macro.melt:7201:/ cond");
24459 if (/*_#MELT_NEED_DBG__L36*/ meltfnum
[28]) /*then*/
24466 /*_#MELT_CALLCOUNT__L37*/ meltfnum
[33] =
24467 /* for melt_callcount */
24468 #if MELT_HAVE_DEBUG && defined (meltcallcount)
24469 meltcallcount
/* melt_callcount debugging */
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");
24480 union meltparam_un argtab
[14];
24481 memset(&argtab
, 0, sizeof(argtab
));
24483 argtab
[0].meltbp_long
= /*_#MELT_CALLCOUNT__L37*/ meltfnum
[33];
24485 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
24487 argtab
[2].meltbp_long
= 7201;
24489 argtab
[3].meltbp_cstring
= "mexpand_let:macro";
24491 argtab
[4].meltbp_cstring
= " loc=";
24493 argtab
[5].meltbp_aptr
= (melt_ptr_t
*) &/*_.LOC__V22*/ meltfptr
[21];
24495 argtab
[6].meltbp_cstring
= "\n.. macbind=";
24497 argtab
[7].meltbp_aptr
= (melt_ptr_t
*) &/*_.MACBIND__V93*/ meltfptr
[72];
24499 argtab
[8].meltbp_cstring
= "\n.. defmaclet=";
24501 argtab
[9].meltbp_aptr
= (melt_ptr_t
*) &/*_.DEFMACLET__V95*/ meltfptr
[94];
24503 argtab
[10].meltbp_cstring
= "\n.. updated maclist=";
24505 argtab
[11].meltbp_aptr
= (melt_ptr_t
*) &/*_.MACLIST__V35*/ meltfptr
[29];
24507 argtab
[12].meltbp_cstring
= "\n.. sinstmac=";
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);
24515 meltfptr
[98] = /*_.MELT_DEBUG_FUN__V100*/ meltfptr
[99];;
24518 MELT_LOCATION("warmelt-macro.melt:7201:/ clear");
24519 /*clear*/ /*_#MELT_CALLCOUNT__L37*/
24522 /*clear*/ /*_.MELT_DEBUG_FUN__V100*/
24527 else /*^cond.else*/
24530 /*_._IF___V99*/ meltfptr
[98] = /*reallynil*/ NULL
;;
24535 MELT_LOCATION("warmelt-macro.melt:7201:/ locexp");
24546 /*clear*/ /*_#MELT_NEED_DBG__L36*/
24549 /*clear*/ /*_._IF___V99*/
24553 #else /*MELT_HAVE_DEBUG*/
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");
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]));
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]);
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]);
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]);
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]);
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]);
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]);
24632 meltgc_touch(/*_.MEXPANSER__V101*/ meltfptr
[99]);
24635 #if MELT_HAVE_DEBUG
24636 MELT_LOCATION("warmelt-macro.melt:7255:/ cppif.then");
24644 /*melt_increment_dbgcounter*/
24645 #if MELT_HAVE_DEBUG
24652 MELT_CHECK_SIGNAL();
24654 /*_#MELT_NEED_DBG__L38*/
24657 #if MELT_HAVE_DEBUG
24658 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
24660 0 /* no melt_need_dbg */
24661 #endif /*MELT_HAVE_DEBUG*/
24663 MELT_LOCATION("warmelt-macro.melt:7255:/ cond");
24665 if (/*_#MELT_NEED_DBG__L38*/ meltfnum
[33]) /*then*/
24672 /*_#MELT_CALLCOUNT__L39*/ meltfnum
[28] =
24673 /* for melt_callcount */
24674 #if MELT_HAVE_DEBUG && defined (meltcallcount)
24675 meltcallcount
/* melt_callcount debugging */
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");
24686 union meltparam_un argtab
[10];
24687 memset(&argtab
, 0, sizeof(argtab
));
24689 argtab
[0].meltbp_long
= /*_#MELT_CALLCOUNT__L39*/ meltfnum
[28];
24691 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
24693 argtab
[2].meltbp_long
= 7255;
24695 argtab
[3].meltbp_cstring
= "mexpand_let:macro";
24697 argtab
[4].meltbp_cstring
= " loc=";
24699 argtab
[5].meltbp_aptr
= (melt_ptr_t
*) &/*_.LOC__V22*/ meltfptr
[21];
24701 argtab
[6].meltbp_cstring
= " mexpanser=";
24703 argtab
[7].meltbp_aptr
= (melt_ptr_t
*) &/*_.MEXPANSER__V101*/ meltfptr
[99];
24705 argtab
[8].meltbp_cstring
= "\n.. macbind=";
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);
24713 meltfptr
[98] = /*_.MELT_DEBUG_FUN__V103*/ meltfptr
[102];;
24716 MELT_LOCATION("warmelt-macro.melt:7255:/ clear");
24717 /*clear*/ /*_#MELT_CALLCOUNT__L39*/
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");
24744 /*clear*/ /*_#MELT_NEED_DBG__L38*/
24747 /*clear*/ /*_._IF___V102*/
24751 #else /*MELT_HAVE_DEBUG*/
24766 #endif /*MELT_HAVE_DEBUG*/
24769 MELT_CHECK_SIGNAL();
24771 MELT_LOCATION("warmelt-macro.melt:7256:/ cond");
24774 /*ifisa*/ melt_is_instance_of((melt_ptr_t
)(/*_.MACBIND__V93*/ meltfptr
[72]),
24775 (melt_ptr_t
)((/*!CLASS_MACRO_BINDING*/ meltfrout
->tabval
[31])))
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");
24789 meltgc_touch(/*_.MACBIND__V93*/ meltfptr
[72]);
24793 melt_dbgtrace_written_object (/*_.MACBIND__V93*/ meltfptr
[72], "put-fields");
24801 #if MELT_HAVE_DEBUG
24802 MELT_LOCATION("warmelt-macro.melt:7257:/ cppif.then");
24810 /*melt_increment_dbgcounter*/
24811 #if MELT_HAVE_DEBUG
24818 MELT_CHECK_SIGNAL();
24820 /*_#MELT_NEED_DBG__L40*/
24823 #if MELT_HAVE_DEBUG
24824 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
24826 0 /* no melt_need_dbg */
24827 #endif /*MELT_HAVE_DEBUG*/
24829 MELT_LOCATION("warmelt-macro.melt:7257:/ cond");
24831 if (/*_#MELT_NEED_DBG__L40*/ meltfnum
[28]) /*then*/
24838 /*_#MELT_CALLCOUNT__L41*/ meltfnum
[33] =
24839 /* for melt_callcount */
24840 #if MELT_HAVE_DEBUG && defined (meltcallcount)
24841 meltcallcount
/* melt_callcount debugging */
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");
24852 union meltparam_un argtab
[8];
24853 memset(&argtab
, 0, sizeof(argtab
));
24855 argtab
[0].meltbp_long
= /*_#MELT_CALLCOUNT__L41*/ meltfnum
[33];
24857 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
24859 argtab
[2].meltbp_long
= 7257;
24861 argtab
[3].meltbp_cstring
= "mexpand_let:macro";
24863 argtab
[4].meltbp_cstring
= " loc=";
24865 argtab
[5].meltbp_aptr
= (melt_ptr_t
*) &/*_.LOC__V22*/ meltfptr
[21];
24867 argtab
[6].meltbp_cstring
= " update macbind=";
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);
24875 meltfptr
[102] = /*_.MELT_DEBUG_FUN__V105*/ meltfptr
[98];;
24878 MELT_LOCATION("warmelt-macro.melt:7257:/ clear");
24879 /*clear*/ /*_#MELT_CALLCOUNT__L41*/
24882 /*clear*/ /*_.MELT_DEBUG_FUN__V105*/
24887 else /*^cond.else*/
24890 /*_._IF___V104*/ meltfptr
[102] = /*reallynil*/ NULL
;;
24895 MELT_LOCATION("warmelt-macro.melt:7257:/ locexp");
24906 /*clear*/ /*_#MELT_NEED_DBG__L40*/
24909 /*clear*/ /*_._IF___V104*/
24910 meltfptr
[102] = 0 ;
24913 #else /*MELT_HAVE_DEBUG*/
24928 #endif /*MELT_HAVE_DEBUG*/
24931 MELT_CHECK_SIGNAL();
24933 MELT_LOCATION("warmelt-macro.melt:7258:/ apply");
24936 union meltparam_un argtab
[1];
24937 memset(&argtab
, 0, sizeof(argtab
));
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");
24960 /*melt_increment_dbgcounter*/
24961 #if MELT_HAVE_DEBUG
24968 MELT_CHECK_SIGNAL();
24970 /*_#MELT_NEED_DBG__L42*/
24973 #if MELT_HAVE_DEBUG
24974 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
24976 0 /* no melt_need_dbg */
24977 #endif /*MELT_HAVE_DEBUG*/
24979 MELT_LOCATION("warmelt-macro.melt:7260:/ cond");
24981 if (/*_#MELT_NEED_DBG__L42*/ meltfnum
[33]) /*then*/
24988 /*_#MELT_CALLCOUNT__L43*/ meltfnum
[28] =
24989 /* for melt_callcount */
24990 #if MELT_HAVE_DEBUG && defined (meltcallcount)
24991 meltcallcount
/* melt_callcount debugging */
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");
25002 union meltparam_un argtab
[11];
25003 memset(&argtab
, 0, sizeof(argtab
));
25005 argtab
[0].meltbp_long
= /*_#MELT_CALLCOUNT__L43*/ meltfnum
[28];
25007 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
25009 argtab
[2].meltbp_long
= 7260;
25011 argtab
[3].meltbp_cstring
= "mexpand_let:macro";
25013 argtab
[4].meltbp_cstring
= " letbind-updated newenv=";
25015 argtab
[5].meltbp_aptr
= (melt_ptr_t
*) &(/*!DEBUG_MORE*/ meltfrout
->tabval
[32]);
25017 argtab
[6].meltbp_aptr
= (melt_ptr_t
*) &/*_.NEWENV__V34*/ meltfptr
[31];
25019 argtab
[7].meltbp_cstring
= "\n.. for cursbind=";
25021 argtab
[8].meltbp_aptr
= (melt_ptr_t
*) &/*_.CURSBIND__V59*/ meltfptr
[46];
25023 argtab
[9].meltbp_cstring
= "\n.. macbind=";
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);
25031 meltfptr
[102] = /*_.MELT_DEBUG_FUN__V108*/ meltfptr
[107];;
25034 MELT_LOCATION("warmelt-macro.melt:7260:/ clear");
25035 /*clear*/ /*_#MELT_CALLCOUNT__L43*/
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");
25062 /*clear*/ /*_#MELT_NEED_DBG__L42*/
25065 /*clear*/ /*_._IF___V107*/
25066 meltfptr
[102] = 0 ;
25069 #else /*MELT_HAVE_DEBUG*/
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));
25099 MELT_LOCATION("warmelt-macro.melt:7207:/ clear");
25100 /*clear*/ /*_.MEXPANSER__V101*/
25103 /*clear*/ /*_.MEXPANSER__V101*/
25106 /*clear*/ /*_.PUT_ENV__V106*/
25108 } /*end multiallocblock*/
25111 MELT_LOCATION("warmelt-macro.melt:7176:/ clear");
25112 /*clear*/ /*_.MACSYMB__V88*/
25115 /*clear*/ /*_.LOCA_LOCATION__V89*/
25118 /*clear*/ /*_.MACLOC__V90*/
25121 /*clear*/ /*_.MACFORMALS__V91*/
25124 /*clear*/ /*_.MACBODY__V92*/
25127 /*clear*/ /*_.MACBIND__V93*/
25130 /*clear*/ /*_.DEFMACLET__V95*/
25133 /*clear*/ /*_.SINSTMAC__V97*/
25135 MELT_LOCATION("warmelt-macro.melt:7172:/ quasiblock");
25141 /*clear*/ /*_.IFCPP___V85*/
25146 else /*^cond.else*/
25154 #if MELT_HAVE_DEBUG
25155 MELT_LOCATION("warmelt-macro.melt:7267:/ cppif.then");
25161 MELT_CHECK_SIGNAL();
25165 if ((/*nil*/NULL
)) /*then*/
25168 /*_._IFELSE___V110*/ meltfptr
[102] = (/*nil*/NULL
);;
25172 MELT_LOCATION("warmelt-macro.melt:7267:/ cond.else");
25179 MELT_CHECK_SIGNAL();
25184 union meltparam_un argtab
[5];
25185 memset(&argtab
, 0, sizeof(argtab
));
25187 argtab
[0].meltbp_cstring
= "impossible cursbind";
25189 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
25191 argtab
[2].meltbp_long
= 7267;
25193 argtab
[3].meltbp_aptr
= (melt_ptr_t
*) &/*_.CURSBIND__V59*/ meltfptr
[46];
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];;
25204 MELT_LOCATION("warmelt-macro.melt:7267:/ clear");
25205 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V111*/
25212 meltfptr
[107] = /*_._IFELSE___V110*/ meltfptr
[102];;
25215 MELT_LOCATION("warmelt-macro.melt:7267:/ clear");
25216 /*clear*/ /*_._IFELSE___V110*/
25217 meltfptr
[102] = 0 ;
25220 #else /*MELT_HAVE_DEBUG*/
25222 /*_.IFCPP___V109*/ meltfptr
[107] = (/*nil*/NULL
);
25223 #endif /*MELT_HAVE_DEBUG*/
25225 MELT_LOCATION("warmelt-macro.melt:7266:/ quasiblock");
25229 meltfptr
[98] = /*_.IFCPP___V109*/ meltfptr
[107];;
25231 /*_._IFELSE___V82*/
25232 meltfptr
[80] = /*_.PROGN___V112*/ meltfptr
[98];;
25235 MELT_LOCATION("warmelt-macro.melt:7172:/ clear");
25236 /*clear*/ /*_.IFCPP___V109*/
25237 meltfptr
[107] = 0 ;
25239 /*clear*/ /*_.PROGN___V112*/
25245 /*_._IFELSE___V69*/
25246 meltfptr
[60] = /*_._IFELSE___V82*/ meltfptr
[80];;
25249 MELT_LOCATION("warmelt-macro.melt:7156:/ clear");
25250 /*clear*/ /*_#IS_A__L32*/
25253 /*clear*/ /*_._IFELSE___V82*/
25260 meltfptr
[27] = /*_._IFELSE___V69*/ meltfptr
[60];;
25262 MELT_LOCATION("warmelt-macro.melt:7141:/ clear");
25263 /*clear*/ /*_#IS_A__L22*/
25266 /*clear*/ /*_.CURSBIND__V59*/
25269 /*clear*/ /*_.IFCPP___V66*/
25272 /*clear*/ /*_#IS_A__L27*/
25275 /*clear*/ /*_._IFELSE___V69*/
25277 } /* end foreach_pair_component_in_list meltcit2__EACHLIST */
25278 /*_.CURPAIRINLISTSYMB__V54*/ meltfptr
[51] = NULL
;
25279 /*_.CURBINDSRC__V55*/
25280 meltfptr
[52] = NULL
;
25285 MELT_LOCATION("warmelt-macro.melt:7137:/ clear");
25286 /*clear*/ /*_.CURPAIRINLISTSYMB__V54*/
25289 /*clear*/ /*_.CURBINDSRC__V55*/
25292 /*clear*/ /*_.LET___V58*/
25294 } /*endciterblock FOREACH_PAIR_COMPONENT_IN_LIST*/
25296 MELT_LOCATION("warmelt-macro.melt:7136:/ quasiblock");
25305 #if MELT_HAVE_DEBUG
25306 MELT_LOCATION("warmelt-macro.melt:7272:/ cppif.then");
25314 /*melt_increment_dbgcounter*/
25315 #if MELT_HAVE_DEBUG
25322 MELT_CHECK_SIGNAL();
25324 /*_#MELT_NEED_DBG__L44*/
25327 #if MELT_HAVE_DEBUG
25328 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
25330 0 /* no melt_need_dbg */
25331 #endif /*MELT_HAVE_DEBUG*/
25333 MELT_LOCATION("warmelt-macro.melt:7272:/ cond");
25335 if (/*_#MELT_NEED_DBG__L44*/ meltfnum
[28]) /*then*/
25342 /*_#MELT_CALLCOUNT__L45*/ meltfnum
[33] =
25343 /* for melt_callcount */
25344 #if MELT_HAVE_DEBUG && defined (meltcallcount)
25345 meltcallcount
/* melt_callcount debugging */
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");
25356 union meltparam_un argtab
[11];
25357 memset(&argtab
, 0, sizeof(argtab
));
25359 argtab
[0].meltbp_long
= /*_#MELT_CALLCOUNT__L45*/ meltfnum
[33];
25361 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
25363 argtab
[2].meltbp_long
= 7272;
25365 argtab
[3].meltbp_cstring
= "mexpand_let";
25367 argtab
[4].meltbp_cstring
= " loc=";
25369 argtab
[5].meltbp_aptr
= (melt_ptr_t
*) &/*_.LOC__V22*/ meltfptr
[21];
25371 argtab
[6].meltbp_cstring
= " final newenv=";
25373 argtab
[7].meltbp_aptr
= (melt_ptr_t
*) &(/*!DEBUG_MORE*/ meltfrout
->tabval
[32]);
25375 argtab
[8].meltbp_aptr
= (melt_ptr_t
*) &/*_.NEWENV__V34*/ meltfptr
[31];
25377 argtab
[9].meltbp_cstring
= "\n.. restpair=";
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);
25385 meltfptr
[73] = /*_.MELT_DEBUG_FUN__V114*/ meltfptr
[74];;
25388 MELT_LOCATION("warmelt-macro.melt:7272:/ clear");
25389 /*clear*/ /*_#MELT_CALLCOUNT__L45*/
25392 /*clear*/ /*_.MELT_DEBUG_FUN__V114*/
25397 else /*^cond.else*/
25400 /*_._IF___V113*/ meltfptr
[73] = /*reallynil*/ NULL
;;
25405 MELT_LOCATION("warmelt-macro.melt:7272:/ locexp");
25416 /*clear*/ /*_#MELT_NEED_DBG__L44*/
25419 /*clear*/ /*_._IF___V113*/
25423 #else /*MELT_HAVE_DEBUG*/
25438 #endif /*MELT_HAVE_DEBUG*/
25440 MELT_LOCATION("warmelt-macro.melt:7274:/ quasiblock");
25444 MELT_CHECK_SIGNAL();
25449 union meltparam_un argtab
[3];
25450 memset(&argtab
, 0, sizeof(argtab
));
25452 argtab
[0].meltbp_aptr
= (melt_ptr_t
*) &/*_.NEWENV__V34*/ meltfptr
[31];
25454 argtab
[1].meltbp_aptr
= (melt_ptr_t
*) &/*_.MEXPANDER__V4*/ meltfptr
[3];
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");
25467 union meltparam_un argtab
[1];
25468 memset(&argtab
, 0, sizeof(argtab
));
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");
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");
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");
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");
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");
25508 melt_dbgtrace_written_object (/*_.INST__V119*/ meltfptr
[94], "newly made instance");
25511 meltfptr
[72] = /*_.INST__V119*/ meltfptr
[94];;
25513 #if MELT_HAVE_DEBUG
25514 MELT_LOCATION("warmelt-macro.melt:7282:/ cppif.then");
25522 /*melt_increment_dbgcounter*/
25523 #if MELT_HAVE_DEBUG
25530 MELT_CHECK_SIGNAL();
25532 /*_#MELT_NEED_DBG__L46*/
25535 #if MELT_HAVE_DEBUG
25536 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
25538 0 /* no melt_need_dbg */
25539 #endif /*MELT_HAVE_DEBUG*/
25541 MELT_LOCATION("warmelt-macro.melt:7282:/ cond");
25543 if (/*_#MELT_NEED_DBG__L46*/ meltfnum
[24]) /*then*/
25550 /*_#MELT_CALLCOUNT__L47*/ meltfnum
[20] =
25551 /* for melt_callcount */
25552 #if MELT_HAVE_DEBUG && defined (meltcallcount)
25553 meltcallcount
/* melt_callcount debugging */
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");
25564 union meltparam_un argtab
[10];
25565 memset(&argtab
, 0, sizeof(argtab
));
25567 argtab
[0].meltbp_long
= /*_#MELT_CALLCOUNT__L47*/ meltfnum
[20];
25569 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
25571 argtab
[2].meltbp_long
= 7282;
25573 argtab
[3].meltbp_cstring
= "mexpand_let";
25575 argtab
[4].meltbp_cstring
= " loc=";
25577 argtab
[5].meltbp_aptr
= (melt_ptr_t
*) &/*_.LOC__V22*/ meltfptr
[21];
25579 argtab
[6].meltbp_cstring
= " result letr=";
25581 argtab
[7].meltbp_aptr
= (melt_ptr_t
*) &/*_.LETR__V118*/ meltfptr
[72];
25583 argtab
[8].meltbp_cstring
= "\n.. modctx=";
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);
25591 meltfptr
[96] = /*_.MELT_DEBUG_FUN__V121*/ meltfptr
[70];;
25594 MELT_LOCATION("warmelt-macro.melt:7282:/ clear");
25595 /*clear*/ /*_#MELT_CALLCOUNT__L47*/
25598 /*clear*/ /*_.MELT_DEBUG_FUN__V121*/
25603 else /*^cond.else*/
25606 /*_._IF___V120*/ meltfptr
[96] = /*reallynil*/ NULL
;;
25611 MELT_LOCATION("warmelt-macro.melt:7282:/ locexp");
25622 /*clear*/ /*_#MELT_NEED_DBG__L46*/
25625 /*clear*/ /*_._IF___V120*/
25629 #else /*MELT_HAVE_DEBUG*/
25644 #endif /*MELT_HAVE_DEBUG*/
25647 MELT_CHECK_SIGNAL();
25649 MELT_LOCATION("warmelt-macro.melt:7283:/ quasiblock");
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*/
25669 goto meltlabend_rout
;
25671 meltfptr
[77] = /*_.RETURN___V122*/ meltfptr
[99];;
25673 MELT_LOCATION("warmelt-macro.melt:7274:/ clear");
25674 /*clear*/ /*_.BODYTUP__V116*/
25677 /*clear*/ /*_.BINDTUP__V117*/
25680 /*clear*/ /*_.LETR__V118*/
25683 /*clear*/ /*_.RETURN___V122*/
25686 meltfptr
[18] = /*_.LET___V115*/ meltfptr
[77];;
25688 MELT_LOCATION("warmelt-macro.melt:7092:/ clear");
25689 /*clear*/ /*_.CONT__V21*/
25692 /*clear*/ /*_.LOC__V22*/
25695 /*clear*/ /*_.LIST_FIRST__V23*/
25698 /*clear*/ /*_.SECPAIR__V24*/
25701 /*clear*/ /*_.RESTPAIR__V25*/
25704 /*clear*/ /*_.BINDEXPR__V26*/
25707 /*clear*/ /*_#IS_A__L7*/
25710 /*clear*/ /*_.SBINDLIST__V27*/
25713 /*clear*/ /*_.LETBINDLIST__V33*/
25716 /*clear*/ /*_.NEWENV__V34*/
25719 /*clear*/ /*_.MACLIST__V35*/
25722 /*clear*/ /*_.IFCPP___V38*/
25725 /*clear*/ /*_.LIST_FIRST_ELEMENT__V41*/
25728 /*clear*/ /*_#eqeq__L13*/
25731 /*clear*/ /*_.LET___V115*/
25734 MELT_CHECK_SIGNAL();
25736 MELT_LOCATION("warmelt-macro.melt:7085:/ quasiblock");
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*/
25756 goto meltlabend_rout
;
25760 /*clear*/ /*_.IFCPP___V8*/
25763 /*clear*/ /*_.IFCPP___V11*/
25766 /*clear*/ /*_.IFCPP___V14*/
25769 /*clear*/ /*_.IFCPP___V17*/
25772 /*clear*/ /*_.LET___V20*/
25777 goto 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
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__
25805 #undef meltcallcount
25806 #define meltcallcount 0L
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];
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
);
25871 (void)meltfirstargp_
;
25872 (void)meltxargdescr_
;
25873 (void)meltxargtab_
;
25874 (void)meltxresdescr_
;
25875 (void)meltxrestab_
;
25879 MELT_LOCATION("warmelt-macro.melt:7208:/ getarg");
25881 meltfptr
[1] = (melt_ptr_t
) meltfirstargp_
;
25885 if (meltxargdescr_
[0] != MELTBPAR_PTR
) goto meltlab_endgetargs
;
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
);
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
);
25901 if (meltxargdescr_
[2] != MELTBPAR_PTR
) goto meltlab_endgetargs
;
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
:
25916 #if MELT_HAVE_DEBUG
25917 MELT_LOCATION("warmelt-macro.melt:7209:/ cppif.then");
25925 /*melt_increment_dbgcounter*/
25926 #if MELT_HAVE_DEBUG
25933 MELT_CHECK_SIGNAL();
25935 /*_#MELT_NEED_DBG__L1*/
25938 #if MELT_HAVE_DEBUG
25939 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
25941 0 /* no melt_need_dbg */
25942 #endif /*MELT_HAVE_DEBUG*/
25944 MELT_LOCATION("warmelt-macro.melt:7209:/ cond");
25946 if (/*_#MELT_NEED_DBG__L1*/ meltfnum
[0]) /*then*/
25953 /*_#MELT_CALLCOUNT__L2*/ meltfnum
[1] =
25954 /* for melt_callcount */
25955 #if MELT_HAVE_DEBUG && defined (meltcallcount)
25956 meltcallcount
/* melt_callcount debugging */
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");
25967 union meltparam_un argtab
[16];
25968 memset(&argtab
, 0, sizeof(argtab
));
25970 argtab
[0].meltbp_long
= /*_#MELT_CALLCOUNT__L2*/ meltfnum
[1];
25972 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
25974 argtab
[2].meltbp_long
= 7209;
25976 argtab
[3].meltbp_cstring
= "mexpand_let:mexpanser sexprm=";
25978 argtab
[4].meltbp_aptr
= (melt_ptr_t
*) &/*_.SEXPRM__V2*/ meltfptr
[1];
25980 argtab
[5].meltbp_cstring
= "\n.. envm=";
25982 argtab
[6].meltbp_aptr
= (melt_ptr_t
*) &(/*!DEBUG_MORE*/ meltfrout
->tabval
[1]);
25984 argtab
[7].meltbp_aptr
= (melt_ptr_t
*) &/*_.ENVM__V3*/ meltfptr
[2];
25986 argtab
[8].meltbp_cstring
= "\n.. modctxm=";
25988 argtab
[9].meltbp_aptr
= (melt_ptr_t
*) &(/*!DEBUG_LESS*/ meltfrout
->tabval
[2]);
25990 argtab
[10].meltbp_aptr
= (melt_ptr_t
*) &/*_.MODCTXM__V5*/ meltfptr
[4];
25992 argtab
[11].meltbp_cstring
= "\n.. mexpanderm=";
25994 argtab
[12].meltbp_aptr
= (melt_ptr_t
*) &(/*!DEBUG_LESS*/ meltfrout
->tabval
[2]);
25996 argtab
[13].meltbp_aptr
= (melt_ptr_t
*) &/*_.MEXPANDERM__V4*/ meltfptr
[3];
25998 argtab
[14].meltbp_cstring
= "\n.. macbind=";
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);
26006 meltfptr
[5] = /*_.MELT_DEBUG_FUN__V7*/ meltfptr
[6];;
26009 MELT_LOCATION("warmelt-macro.melt:7209:/ clear");
26010 /*clear*/ /*_#MELT_CALLCOUNT__L2*/
26013 /*clear*/ /*_.MELT_DEBUG_FUN__V7*/
26018 else /*^cond.else*/
26021 /*_._IF___V6*/ meltfptr
[5] = /*reallynil*/ NULL
;;
26026 MELT_LOCATION("warmelt-macro.melt:7209:/ locexp");
26037 /*clear*/ /*_#MELT_NEED_DBG__L1*/
26040 /*clear*/ /*_._IF___V6*/
26044 #else /*MELT_HAVE_DEBUG*/
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));
26073 MELT_CHECK_SIGNAL();
26075 /*_#MELT_ERROR_COUNTER__L3*/
26077 melt_error_counter
;;
26081 ((/*_#MELT_ERROR_COUNTER__L3*/ meltfnum
[1]) > (0));;
26082 MELT_LOCATION("warmelt-macro.melt:7215:/ cond");
26084 if (/*_#gtI__L4*/ meltfnum
[0]) /*then*/
26092 #if MELT_HAVE_DEBUG
26093 MELT_LOCATION("warmelt-macro.melt:7216:/ cppif.then");
26101 /*melt_increment_dbgcounter*/
26102 #if MELT_HAVE_DEBUG
26109 MELT_CHECK_SIGNAL();
26111 /*_#MELT_NEED_DBG__L5*/
26114 #if MELT_HAVE_DEBUG
26115 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
26117 0 /* no melt_need_dbg */
26118 #endif /*MELT_HAVE_DEBUG*/
26120 MELT_LOCATION("warmelt-macro.melt:7216:/ cond");
26122 if (/*_#MELT_NEED_DBG__L5*/ meltfnum
[4]) /*then*/
26129 /*_#MELT_CALLCOUNT__L6*/ meltfnum
[5] =
26130 /* for melt_callcount */
26131 #if MELT_HAVE_DEBUG && defined (meltcallcount)
26132 meltcallcount
/* melt_callcount debugging */
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");
26143 union meltparam_un argtab
[7];
26144 memset(&argtab
, 0, sizeof(argtab
));
26146 argtab
[0].meltbp_long
= /*_#MELT_CALLCOUNT__L6*/ meltfnum
[5];
26148 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
26150 argtab
[2].meltbp_long
= 7216;
26152 argtab
[3].meltbp_cstring
= "mexpand_let:mexpanser";
26154 argtab
[4].meltbp_cstring
= " loc=";
26156 argtab
[5].meltbp_aptr
= (melt_ptr_t
*) &(/*~LOC*/ meltfclos
->tabval
[1]);
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);
26164 meltfptr
[5] = /*_.MELT_DEBUG_FUN__V10*/ meltfptr
[9];;
26167 MELT_LOCATION("warmelt-macro.melt:7216:/ clear");
26168 /*clear*/ /*_#MELT_CALLCOUNT__L6*/
26171 /*clear*/ /*_.MELT_DEBUG_FUN__V10*/
26176 else /*^cond.else*/
26179 /*_._IF___V9*/ meltfptr
[5] = /*reallynil*/ NULL
;;
26184 MELT_LOCATION("warmelt-macro.melt:7216:/ locexp");
26195 /*clear*/ /*_#MELT_NEED_DBG__L5*/
26198 /*clear*/ /*_._IF___V9*/
26202 #else /*MELT_HAVE_DEBUG*/
26217 #endif /*MELT_HAVE_DEBUG*/
26219 /*_#MELT_ERROR_COUNTER__L7*/
26221 melt_error_counter
;;
26223 MELT_CHECK_SIGNAL();
26225 MELT_LOCATION("warmelt-macro.melt:7217:/ apply");
26228 union meltparam_un argtab
[3];
26229 memset(&argtab
, 0, sizeof(argtab
));
26231 argtab
[0].meltbp_cstring
= "MELT will not expand LET :macro $1 with #$2 errors";
26233 argtab
[1].meltbp_aptr
= (melt_ptr_t
*) &(/*~MACSYMB*/ meltfclos
->tabval
[2]);
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");
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*/
26263 goto meltlabend_rout
;
26264 MELT_LOCATION("warmelt-macro.melt:7215:/ quasiblock");
26268 meltfptr
[12] = /*_.RETURN___V12*/ meltfptr
[5];;
26271 meltfptr
[6] = /*_.PROGN___V13*/ meltfptr
[12];;
26274 MELT_LOCATION("warmelt-macro.melt:7215:/ clear");
26275 /*clear*/ /*_#MELT_ERROR_COUNTER__L7*/
26278 /*clear*/ /*_.ERROR_AT__V11*/
26281 /*clear*/ /*_.RETURN___V12*/
26284 /*clear*/ /*_.PROGN___V13*/
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");
26305 /*melt_increment_dbgcounter*/
26306 #if MELT_HAVE_DEBUG
26313 MELT_CHECK_SIGNAL();
26315 /*_#MELT_NEED_DBG__L8*/
26318 #if MELT_HAVE_DEBUG
26319 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
26321 0 /* no melt_need_dbg */
26322 #endif /*MELT_HAVE_DEBUG*/
26324 MELT_LOCATION("warmelt-macro.melt:7220:/ cond");
26326 if (/*_#MELT_NEED_DBG__L8*/ meltfnum
[4]) /*then*/
26333 /*_#MELT_CALLCOUNT__L9*/ meltfnum
[5] =
26334 /* for melt_callcount */
26335 #if MELT_HAVE_DEBUG && defined (meltcallcount)
26336 meltcallcount
/* melt_callcount debugging */
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");
26347 union meltparam_un argtab
[8];
26348 memset(&argtab
, 0, sizeof(argtab
));
26350 argtab
[0].meltbp_long
= /*_#MELT_CALLCOUNT__L9*/ meltfnum
[5];
26352 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
26354 argtab
[2].meltbp_long
= 7220;
26356 argtab
[3].meltbp_cstring
= "mexpand_let:mexpanser before melt_delayed_macro_expander";
26358 argtab
[4].meltbp_cstring
= " maclist=";
26360 argtab
[5].meltbp_aptr
= (melt_ptr_t
*) &(/*~MACLIST*/ meltfclos
->tabval
[3]);
26362 argtab
[6].meltbp_cstring
= "\n.. macbind=";
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);
26370 meltfptr
[9] = /*_.MELT_DEBUG_FUN__V15*/ meltfptr
[5];;
26373 MELT_LOCATION("warmelt-macro.melt:7220:/ clear");
26374 /*clear*/ /*_#MELT_CALLCOUNT__L9*/
26377 /*clear*/ /*_.MELT_DEBUG_FUN__V15*/
26382 else /*^cond.else*/
26385 /*_._IF___V14*/ meltfptr
[9] = /*reallynil*/ NULL
;;
26390 MELT_LOCATION("warmelt-macro.melt:7220:/ locexp");
26401 /*clear*/ /*_#MELT_NEED_DBG__L8*/
26404 /*clear*/ /*_._IF___V14*/
26408 #else /*MELT_HAVE_DEBUG*/
26423 #endif /*MELT_HAVE_DEBUG*/
26426 MELT_CHECK_SIGNAL();
26428 MELT_LOCATION("warmelt-macro.melt:7222:/ apply");
26431 union meltparam_un argtab
[4];
26432 memset(&argtab
, 0, sizeof(argtab
));
26434 argtab
[0].meltbp_aptr
= (melt_ptr_t
*) &(/*~MACLIST*/ meltfclos
->tabval
[3]);
26436 argtab
[1].meltbp_aptr
= (melt_ptr_t
*) &/*_.ENVM__V3*/ meltfptr
[2];
26438 argtab
[2].meltbp_aptr
= (melt_ptr_t
*) &/*_.MEXPANDERM__V4*/ meltfptr
[3];
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");
26455 /*melt_increment_dbgcounter*/
26456 #if MELT_HAVE_DEBUG
26463 MELT_CHECK_SIGNAL();
26465 /*_#MELT_NEED_DBG__L10*/
26468 #if MELT_HAVE_DEBUG
26469 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
26471 0 /* no melt_need_dbg */
26472 #endif /*MELT_HAVE_DEBUG*/
26474 MELT_LOCATION("warmelt-macro.melt:7223:/ cond");
26476 if (/*_#MELT_NEED_DBG__L10*/ meltfnum
[5]) /*then*/
26483 /*_#MELT_CALLCOUNT__L11*/ meltfnum
[4] =
26484 /* for melt_callcount */
26485 #if MELT_HAVE_DEBUG && defined (meltcallcount)
26486 meltcallcount
/* melt_callcount debugging */
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");
26497 union meltparam_un argtab
[11];
26498 memset(&argtab
, 0, sizeof(argtab
));
26500 argtab
[0].meltbp_long
= /*_#MELT_CALLCOUNT__L11*/ meltfnum
[4];
26502 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
26504 argtab
[2].meltbp_long
= 7223;
26506 argtab
[3].meltbp_cstring
= "mexpand_let:mexpanser";
26508 argtab
[4].meltbp_cstring
= " loc=";
26510 argtab
[5].meltbp_aptr
= (melt_ptr_t
*) &(/*~LOC*/ meltfclos
->tabval
[1]);
26512 argtab
[6].meltbp_cstring
= " after melt_delayed_macro_expander";
26514 argtab
[7].meltbp_cstring
= " maclist=";
26516 argtab
[8].meltbp_aptr
= (melt_ptr_t
*) &(/*~MACLIST*/ meltfclos
->tabval
[3]);
26518 argtab
[9].meltbp_cstring
= "\n.. macbind=";
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);
26526 meltfptr
[5] = /*_.MELT_DEBUG_FUN__V18*/ meltfptr
[9];;
26529 MELT_LOCATION("warmelt-macro.melt:7223:/ clear");
26530 /*clear*/ /*_#MELT_CALLCOUNT__L11*/
26533 /*clear*/ /*_.MELT_DEBUG_FUN__V18*/
26538 else /*^cond.else*/
26541 /*_._IF___V17*/ meltfptr
[5] = /*reallynil*/ NULL
;;
26546 MELT_LOCATION("warmelt-macro.melt:7223:/ locexp");
26557 /*clear*/ /*_#MELT_NEED_DBG__L10*/
26560 /*clear*/ /*_._IF___V17*/
26564 #else /*MELT_HAVE_DEBUG*/
26579 #endif /*MELT_HAVE_DEBUG*/
26582 MELT_CHECK_SIGNAL();
26584 /*_#MELT_ERROR_COUNTER__L12*/
26586 melt_error_counter
;;
26590 ((/*_#MELT_ERROR_COUNTER__L12*/ meltfnum
[4]) > (0));;
26591 MELT_LOCATION("warmelt-macro.melt:7225:/ cond");
26593 if (/*_#gtI__L13*/ meltfnum
[5]) /*then*/
26601 #if MELT_HAVE_DEBUG
26602 MELT_LOCATION("warmelt-macro.melt:7226:/ cppif.then");
26610 /*melt_increment_dbgcounter*/
26611 #if MELT_HAVE_DEBUG
26618 MELT_CHECK_SIGNAL();
26620 /*_#MELT_NEED_DBG__L14*/
26623 #if MELT_HAVE_DEBUG
26624 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
26626 0 /* no melt_need_dbg */
26627 #endif /*MELT_HAVE_DEBUG*/
26629 MELT_LOCATION("warmelt-macro.melt:7226:/ cond");
26631 if (/*_#MELT_NEED_DBG__L14*/ meltfnum
[13]) /*then*/
26638 /*_#MELT_CALLCOUNT__L15*/ meltfnum
[14] =
26639 /* for melt_callcount */
26640 #if MELT_HAVE_DEBUG && defined (meltcallcount)
26641 meltcallcount
/* melt_callcount debugging */
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");
26652 union meltparam_un argtab
[7];
26653 memset(&argtab
, 0, sizeof(argtab
));
26655 argtab
[0].meltbp_long
= /*_#MELT_CALLCOUNT__L15*/ meltfnum
[14];
26657 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
26659 argtab
[2].meltbp_long
= 7226;
26661 argtab
[3].meltbp_cstring
= "mexpand_let:mexpanser";
26663 argtab
[4].meltbp_cstring
= " loc=";
26665 argtab
[5].meltbp_aptr
= (melt_ptr_t
*) &(/*~LOC*/ meltfclos
->tabval
[1]);
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);
26673 meltfptr
[5] = /*_.MELT_DEBUG_FUN__V21*/ meltfptr
[20];;
26676 MELT_LOCATION("warmelt-macro.melt:7226:/ clear");
26677 /*clear*/ /*_#MELT_CALLCOUNT__L15*/
26680 /*clear*/ /*_.MELT_DEBUG_FUN__V21*/
26685 else /*^cond.else*/
26688 /*_._IF___V20*/ meltfptr
[5] = /*reallynil*/ NULL
;;
26693 MELT_LOCATION("warmelt-macro.melt:7226:/ locexp");
26704 /*clear*/ /*_#MELT_NEED_DBG__L14*/
26707 /*clear*/ /*_._IF___V20*/
26711 #else /*MELT_HAVE_DEBUG*/
26726 #endif /*MELT_HAVE_DEBUG*/
26728 /*_#MELT_ERROR_COUNTER__L16*/
26730 melt_error_counter
;;
26732 MELT_CHECK_SIGNAL();
26734 MELT_LOCATION("warmelt-macro.melt:7227:/ apply");
26737 union meltparam_un argtab
[3];
26738 memset(&argtab
, 0, sizeof(argtab
));
26740 argtab
[0].meltbp_cstring
= "MELT will not expand LET :macro $1 with #$2 errors after delayed expansion";
26742 argtab
[1].meltbp_aptr
= (melt_ptr_t
*) &(/*~MACSYMB*/ meltfclos
->tabval
[2]);
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");
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*/
26772 goto meltlabend_rout
;
26773 MELT_LOCATION("warmelt-macro.melt:7225:/ quasiblock");
26777 meltfptr
[23] = /*_.RETURN___V23*/ meltfptr
[5];;
26780 meltfptr
[9] = /*_.PROGN___V24*/ meltfptr
[23];;
26783 MELT_LOCATION("warmelt-macro.melt:7225:/ clear");
26784 /*clear*/ /*_#MELT_ERROR_COUNTER__L16*/
26787 /*clear*/ /*_.ERROR_AT__V22*/
26790 /*clear*/ /*_.RETURN___V23*/
26793 /*clear*/ /*_.PROGN___V24*/
26798 else /*^cond.else*/
26801 /*_._IF___V19*/ meltfptr
[9] = /*reallynil*/ NULL
;;
26804 MELT_LOCATION("warmelt-macro.melt:7230:/ quasiblock");
26810 /*ifisa*/ melt_is_instance_of((melt_ptr_t
)((/*~MACBIND*/ meltfclos
->tabval
[0])),
26811 (melt_ptr_t
)((/*!CLASS_MACRO_BINDING*/ meltfrout
->tabval
[5])))
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");
26821 meltfptr
[5] = slot
;
26825 else /*^cond.else*/
26828 /*_.MCLOS__V26*/ meltfptr
[5] = /*reallynil*/ NULL
;;
26831 MELT_LOCATION("warmelt-macro.melt:7231:/ cond");
26834 /*ifisa*/ melt_is_instance_of((melt_ptr_t
)(/*_.SEXPRM__V2*/ meltfptr
[1]),
26835 (melt_ptr_t
)((/*!CLASS_LOCATED*/ meltfrout
->tabval
[6])))
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");
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");
26865 /*melt_increment_dbgcounter*/
26866 #if MELT_HAVE_DEBUG
26873 MELT_CHECK_SIGNAL();
26875 /*_#MELT_NEED_DBG__L17*/
26878 #if MELT_HAVE_DEBUG
26879 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
26881 0 /* no melt_need_dbg */
26882 #endif /*MELT_HAVE_DEBUG*/
26884 MELT_LOCATION("warmelt-macro.melt:7233:/ cond");
26886 if (/*_#MELT_NEED_DBG__L17*/ meltfnum
[13]) /*then*/
26893 /*_#MELT_CALLCOUNT__L18*/ meltfnum
[14] =
26894 /* for melt_callcount */
26895 #if MELT_HAVE_DEBUG && defined (meltcallcount)
26896 meltcallcount
/* melt_callcount debugging */
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");
26907 union meltparam_un argtab
[15];
26908 memset(&argtab
, 0, sizeof(argtab
));
26910 argtab
[0].meltbp_long
= /*_#MELT_CALLCOUNT__L18*/ meltfnum
[14];
26912 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
26914 argtab
[2].meltbp_long
= 7233;
26916 argtab
[3].meltbp_cstring
= "mexpand_let:mexpanser";
26918 argtab
[4].meltbp_cstring
= " afterdelay";
26920 argtab
[5].meltbp_cstring
= " loc=";
26922 argtab
[6].meltbp_aptr
= (melt_ptr_t
*) &(/*~LOC*/ meltfclos
->tabval
[1]);
26924 argtab
[7].meltbp_cstring
= " locm=";
26926 argtab
[8].meltbp_aptr
= (melt_ptr_t
*) &/*_.LOCM__V27*/ meltfptr
[23];
26928 argtab
[9].meltbp_cstring
= "\n.. mclos=";
26930 argtab
[10].meltbp_aptr
= (melt_ptr_t
*) &/*_.MCLOS__V26*/ meltfptr
[5];
26932 argtab
[11].meltbp_cstring
= "\n.. mexpanser=";
26934 argtab
[12].meltbp_aptr
= (melt_ptr_t
*) &(/*~MEXPANSER*/ meltfclos
->tabval
[5]);
26936 argtab
[13].meltbp_cstring
= "\n.. sexprm=";
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);
26944 meltfptr
[27] = /*_.MELT_DEBUG_FUN__V29*/ meltfptr
[28];;
26947 MELT_LOCATION("warmelt-macro.melt:7233:/ clear");
26948 /*clear*/ /*_#MELT_CALLCOUNT__L18*/
26951 /*clear*/ /*_.MELT_DEBUG_FUN__V29*/
26956 else /*^cond.else*/
26959 /*_._IF___V28*/ meltfptr
[27] = /*reallynil*/ NULL
;;
26964 MELT_LOCATION("warmelt-macro.melt:7233:/ locexp");
26975 /*clear*/ /*_#MELT_NEED_DBG__L17*/
26978 /*clear*/ /*_._IF___V28*/
26982 #else /*MELT_HAVE_DEBUG*/
26997 #endif /*MELT_HAVE_DEBUG*/
27000 MELT_CHECK_SIGNAL();
27004 ((/*_.MCLOS__V26*/ meltfptr
[5]) == ((/*~MEXPANSER*/ meltfclos
->tabval
[5])));;
27005 MELT_LOCATION("warmelt-macro.melt:7238:/ cond");
27007 if (/*_#eqeq__L19*/ meltfnum
[14]) /*then*/
27015 MELT_CHECK_SIGNAL();
27017 MELT_LOCATION("warmelt-macro.melt:7239:/ apply");
27020 union meltparam_un argtab
[2];
27021 memset(&argtab
, 0, sizeof(argtab
));
27023 argtab
[0].meltbp_cstring
= "failed to macro-expand LET :macro $1";
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");
27036 union meltparam_un argtab
[2];
27037 memset(&argtab
, 0, sizeof(argtab
));
27039 argtab
[0].meltbp_cstring
= "failed to expand LET :macro $1 defined here";
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");
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*/
27066 goto meltlabend_rout
;
27067 MELT_LOCATION("warmelt-macro.melt:7238:/ quasiblock");
27071 meltfptr
[33] = /*_.RETURN___V33*/ meltfptr
[32];;
27074 meltfptr
[28] = /*_.PROGN___V34*/ meltfptr
[33];;
27077 MELT_LOCATION("warmelt-macro.melt:7238:/ clear");
27078 /*clear*/ /*_.ERROR_AT__V31*/
27081 /*clear*/ /*_.WARNING_AT__V32*/
27084 /*clear*/ /*_.RETURN___V33*/
27087 /*clear*/ /*_.PROGN___V34*/
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");
27108 /*melt_increment_dbgcounter*/
27109 #if MELT_HAVE_DEBUG
27116 MELT_CHECK_SIGNAL();
27118 /*_#MELT_NEED_DBG__L20*/
27121 #if MELT_HAVE_DEBUG
27122 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
27124 0 /* no melt_need_dbg */
27125 #endif /*MELT_HAVE_DEBUG*/
27127 MELT_LOCATION("warmelt-macro.melt:7242:/ cond");
27129 if (/*_#MELT_NEED_DBG__L20*/ meltfnum
[13]) /*then*/
27136 /*_#MELT_CALLCOUNT__L21*/ meltfnum
[20] =
27137 /* for melt_callcount */
27138 #if MELT_HAVE_DEBUG && defined (meltcallcount)
27139 meltcallcount
/* melt_callcount debugging */
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");
27150 union meltparam_un argtab
[13];
27151 memset(&argtab
, 0, sizeof(argtab
));
27153 argtab
[0].meltbp_long
= /*_#MELT_CALLCOUNT__L21*/ meltfnum
[20];
27155 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
27157 argtab
[2].meltbp_long
= 7242;
27159 argtab
[3].meltbp_cstring
= "mexpand_let:mexpanser";
27161 argtab
[4].meltbp_cstring
= " beforemulticall";
27163 argtab
[5].meltbp_cstring
= " loc=";
27165 argtab
[6].meltbp_aptr
= (melt_ptr_t
*) &(/*~LOC*/ meltfclos
->tabval
[1]);
27167 argtab
[7].meltbp_cstring
= " locm=";
27169 argtab
[8].meltbp_aptr
= (melt_ptr_t
*) &/*_.LOCM__V27*/ meltfptr
[23];
27171 argtab
[9].meltbp_cstring
= " mclos=";
27173 argtab
[10].meltbp_aptr
= (melt_ptr_t
*) &/*_.MCLOS__V26*/ meltfptr
[5];
27175 argtab
[11].meltbp_cstring
= " sexprm=";
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);
27183 meltfptr
[27] = /*_.MELT_DEBUG_FUN__V36*/ meltfptr
[31];;
27186 MELT_LOCATION("warmelt-macro.melt:7242:/ clear");
27187 /*clear*/ /*_#MELT_CALLCOUNT__L21*/
27190 /*clear*/ /*_.MELT_DEBUG_FUN__V36*/
27195 else /*^cond.else*/
27198 /*_._IF___V35*/ meltfptr
[27] = /*reallynil*/ NULL
;;
27203 MELT_LOCATION("warmelt-macro.melt:7242:/ locexp");
27214 /*clear*/ /*_#MELT_NEED_DBG__L20*/
27217 /*clear*/ /*_._IF___V35*/
27221 #else /*MELT_HAVE_DEBUG*/
27236 #endif /*MELT_HAVE_DEBUG*/
27239 MELT_CHECK_SIGNAL();
27241 MELT_LOCATION("warmelt-macro.melt:7246:/ quasiblock");
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*/
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
);
27267 #if MELT_HAVE_DEBUG
27268 MELT_LOCATION("warmelt-macro.melt:7249:/ cppif.then");
27276 /*melt_increment_dbgcounter*/
27277 #if MELT_HAVE_DEBUG
27284 MELT_CHECK_SIGNAL();
27286 /*_#MELT_NEED_DBG__L22*/
27289 #if MELT_HAVE_DEBUG
27290 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
27292 0 /* no melt_need_dbg */
27293 #endif /*MELT_HAVE_DEBUG*/
27295 MELT_LOCATION("warmelt-macro.melt:7249:/ cond");
27297 if (/*_#MELT_NEED_DBG__L22*/ meltfnum
[20]) /*then*/
27304 /*_#MELT_CALLCOUNT__L23*/ meltfnum
[13] =
27305 /* for melt_callcount */
27306 #if MELT_HAVE_DEBUG && defined (meltcallcount)
27307 meltcallcount
/* melt_callcount debugging */
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");
27318 union meltparam_un argtab
[7];
27319 memset(&argtab
, 0, sizeof(argtab
));
27321 argtab
[0].meltbp_long
= /*_#MELT_CALLCOUNT__L23*/ meltfnum
[13];
27323 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
27325 argtab
[2].meltbp_long
= 7249;
27327 argtab
[3].meltbp_cstring
= "mexpand_let:mexpanser expmac=";
27329 argtab
[4].meltbp_aptr
= (melt_ptr_t
*) &/*_.EXPMAC__V38*/ meltfptr
[33];
27331 argtab
[5].meltbp_cstring
= " othermac=";
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);
27339 meltfptr
[27] = /*_.MELT_DEBUG_FUN__V41*/ meltfptr
[40];;
27342 MELT_LOCATION("warmelt-macro.melt:7249:/ clear");
27343 /*clear*/ /*_#MELT_CALLCOUNT__L23*/
27346 /*clear*/ /*_.MELT_DEBUG_FUN__V41*/
27351 else /*^cond.else*/
27354 /*_._IF___V40*/ meltfptr
[27] = /*reallynil*/ NULL
;;
27359 MELT_LOCATION("warmelt-macro.melt:7249:/ locexp");
27370 /*clear*/ /*_#MELT_NEED_DBG__L22*/
27373 /*clear*/ /*_._IF___V40*/
27377 #else /*MELT_HAVE_DEBUG*/
27392 #endif /*MELT_HAVE_DEBUG*/
27395 MELT_CHECK_SIGNAL();
27397 MELT_LOCATION("warmelt-macro.melt:7250:/ quasiblock");
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]);
27410 goto meltlabend_rout
;
27412 MELT_CHECK_SIGNAL();
27415 meltfptr
[32] = /*_.RETURN___V42*/ meltfptr
[40];;
27417 MELT_LOCATION("warmelt-macro.melt:7246:/ clear");
27418 /*clear*/ /*_.RETURN___V42*/
27422 /*clear*/ /*_.OTHERMAC__V39*/
27425 meltfptr
[20] = /*_.MULTI___V37*/ meltfptr
[32];;
27427 MELT_LOCATION("warmelt-macro.melt:7230:/ clear");
27428 /*clear*/ /*_.MCLOS__V26*/
27431 /*clear*/ /*_.LOCM__V27*/
27434 /*clear*/ /*_#eqeq__L19*/
27437 /*clear*/ /*_._IF___V30*/
27440 /*clear*/ /*_.MULTI___V37*/
27443 MELT_CHECK_SIGNAL();
27445 MELT_LOCATION("warmelt-macro.melt:7208:/ quasiblock");
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*/
27465 goto meltlabend_rout
;
27469 /*clear*/ /*_#MELT_ERROR_COUNTER__L3*/
27472 /*clear*/ /*_#gtI__L4*/
27475 /*clear*/ /*_._IF___V8*/
27478 /*clear*/ /*_.MELT_DELAYED_MACRO_EXPANDER__V16*/
27481 /*clear*/ /*_#MELT_ERROR_COUNTER__L12*/
27484 /*clear*/ /*_#gtI__L13*/
27487 /*clear*/ /*_._IF___V19*/
27490 /*clear*/ /*_.LET___V25*/
27495 goto 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
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__
27523 #undef meltcallcount
27524 #define meltcallcount 0L
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];
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
);
27589 (void)meltfirstargp_
;
27590 (void)meltxargdescr_
;
27591 (void)meltxargtab_
;
27592 (void)meltxresdescr_
;
27593 (void)meltxrestab_
;
27597 MELT_LOCATION("warmelt-macro.melt:7307:/ getarg");
27599 meltfptr
[1] = (melt_ptr_t
) meltfirstargp_
;
27601 goto meltlab_endgetargs
;
27602 meltlab_endgetargs
:
27610 #if MELT_HAVE_DEBUG
27611 MELT_LOCATION("warmelt-macro.melt:7308:/ cppif.then");
27619 /*melt_increment_dbgcounter*/
27620 #if MELT_HAVE_DEBUG
27627 MELT_CHECK_SIGNAL();
27629 /*_#MELT_NEED_DBG__L1*/
27632 #if MELT_HAVE_DEBUG
27633 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
27635 0 /* no melt_need_dbg */
27636 #endif /*MELT_HAVE_DEBUG*/
27638 MELT_LOCATION("warmelt-macro.melt:7308:/ cond");
27640 if (/*_#MELT_NEED_DBG__L1*/ meltfnum
[0]) /*then*/
27647 /*_#MELT_CALLCOUNT__L2*/ meltfnum
[1] =
27648 /* for melt_callcount */
27649 #if MELT_HAVE_DEBUG && defined (meltcallcount)
27650 meltcallcount
/* melt_callcount debugging */
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");
27661 union meltparam_un argtab
[5];
27662 memset(&argtab
, 0, sizeof(argtab
));
27664 argtab
[0].meltbp_long
= /*_#MELT_CALLCOUNT__L2*/ meltfnum
[1];
27666 argtab
[1].meltbp_cstring
= "warmelt-macro.melt";
27668 argtab
[2].meltbp_long
= 7308;
27670 argtab
[3].meltbp_cstring
= "yes_recursively_constructible recv";
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);
27678 meltfptr
[2] = /*_.MELT_DEBUG_FUN__V4*/ meltfptr
[3];;
27681 MELT_LOCATION("warmelt-macro.melt:7308:/ clear");
27682 /*clear*/ /*_#MELT_CALLCOUNT__L2*/
27685 /*clear*/ /*_.MELT_DEBUG_FUN__V4*/
27690 else /*^cond.else*/
27693 /*_._IF___V3*/ meltfptr
[2] = /*reallynil*/ NULL
;;
27698 MELT_LOCATION("warmelt-macro.melt:7308:/ locexp");
27709 /*clear*/ /*_#MELT_NEED_DBG__L1*/
27712 /*clear*/ /*_._IF___V3*/
27716 #else /*MELT_HAVE_DEBUG*/
27731 #endif /*MELT_HAVE_DEBUG*/
27734 MELT_CHECK_SIGNAL();
27736 MELT_LOCATION("warmelt-macro.melt:7309:/ quasiblock");
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*/
27756 goto meltlabend_rout
;
27758 MELT_CHECK_SIGNAL();
27760 MELT_LOCATION("warmelt-macro.melt:7307:/ quasiblock");
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*/
27780 goto meltlabend_rout
;
27784 /*clear*/ /*_.RETURN___V5*/
27789 goto 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
27796 #undef MELTFRAM_NBVARNUM
27797 #undef MELTFRAM_NBVARPTR
27798 } /*end meltrout_125_WARMELTmiMACRO_YES_RECURSIVELY_CONSTRUCTIBLE*/
27803 /**** end of warmelt-macro+05.cc ****/