2015-06-12 Basile Starynkevitch <basile@starynkevitch.net>
[official-gcc.git] / gcc / melt / generated / warmelt-moremacro+01.cc
blob7c8a9cc1a348537b072348f0e60d402c2b870b58
1 /* GCC MELT GENERATED C++ FILE warmelt-moremacro+01.cc - DO NOT EDIT - see http://gcc-melt.org/ */
2 /* secondary MELT generated C++ file of rank #1 */
3 #include "melt-run.h"
6 /* used hash from melt-run.h when compiling this file: */
7 MELT_EXTERN const char meltrun_used_md5_melt_f1[] = MELT_RUN_HASHMD5 /* from melt-run.h */;
10 /**** warmelt-moremacro+01.cc declarations ****/
11 /**** MELT GENERATED DECLARATIONS for warmelt-moremacro ** DO NOT EDIT ; see gcc-melt.org ****/
13 /****++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
14 ***
15 Copyright 2008 - 2014 Free Software Foundation, Inc.
16 Contributed by Basile Starynkevitch <basile@starynkevitch.net>
18 This file is part of GCC.
20 GCC is free software; you can redistribute it and/or modify
21 it under the terms of the GNU General Public License as published by
22 the Free Software Foundation; either version 3, or (at your option)
23 any later version.
25 GCC is distributed in the hope that it will be useful,
26 but WITHOUT ANY WARRANTY; without even the implied warranty of
27 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
28 GNU General Public License for more details.
30 You should have received a copy of the GNU General Public License
31 along with GCC; see the file COPYING3. If not see
32 <http://www.gnu.org/licenses/>.
33 ***
34 ----------------------------------------------------------------****/
37 /** ordinary MELT module meltbuild-sources/warmelt-moremacro**/
38 #define MELT_HAS_INITIAL_ENVIRONMENT 1 /*usualmodule*/
42 class Melt_InitialClassyFrame_WARMELTmiMOREMACRO_h349659287; // forward declaration fromline 6691
43 typedef Melt_InitialClassyFrame_WARMELTmiMOREMACRO_h349659287 Melt_InitialFrame;
44 /**** no MELT module variables ****/
46 /*** 6 MELT called hook declarations ***/
48 /*declare MELT called hook #0 HOOK_FRESH_ENVIRONMENT_REFERENCE_MAKER **/
49 MELT_EXTERN melt_ptr_t melthook_HOOK_FRESH_ENVIRONMENT_REFERENCE_MAKER (melt_ptr_t melthookdatap, melt_ptr_t meltinp0_PREVENV, const char* meltinp1_MODULNAME);
51 /*declare MELT called hook #1 HOOK_MACRO_EXPORTER **/
52 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);
54 /*declare MELT called hook #2 HOOK_MELT_MAKE_LOCATION **/
55 MELT_EXTERN melt_ptr_t melthook_HOOK_MELT_MAKE_LOCATION (melt_ptr_t melthookdatap, const char* meltinp0_FILENAME, long meltinp1_LINENO);
57 /*declare MELT called hook #3 HOOK_PATMACRO_EXPORTER **/
58 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);
60 /*declare MELT called hook #4 HOOK_SYMBOL_IMPORTER **/
61 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);
63 /*declare MELT called hook #5 HOOK_VALUE_EXPORTER **/
64 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);
66 /*** end of 6 MELT called hook declarations ***/
68 /*** no extra MELT c-headers ***/
73 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_1_WARMELTmiMOREMACRO_EACH_COMPONENT_IN_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_);
78 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_2_WARMELTmiMOREMACRO_FILTERGCCVERSION(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
83 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_3_WARMELTmiMOREMACRO_MEXPAND_GCCIF(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
88 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_4_WARMELTmiMOREMACRO_MEXPANDOBSOLETE_CONTAINER(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
93 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_5_WARMELTmiMOREMACRO_PATEXPANDOBSOLETE_CONTAINER(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
98 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_6_WARMELTmiMOREMACRO_EXPAND_QUOTED_SEXPR(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
103 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_7_WARMELTmiMOREMACRO_MEXPAND_QUOTE(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
108 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_8_WARMELTmiMOREMACRO_ANTIQUOTER(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
113 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_9_WARMELTmiMOREMACRO_MEXPAND_BACKQUOTE(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
118 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_10_WARMELTmiMOREMACRO_MEXPAND_COMMA(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
123 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_11_WARMELTmiMOREMACRO_SUBSTITUTE_SEXPR(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
126 MELT_EXTERN MELT_LOW_OPTIMIZATION void* melt_start_this_module (void*); /*mandatory start of module*/
128 MELT_EXTERN const char melt_module_is_gpl_compatible[];
130 /*declare opaque initial frame: */
132 typedef Melt_InitialClassyFrame_WARMELTmiMOREMACRO_h349659287 /*opaqueinitialclassy*/ meltinitial_frame_t;
135 /* define different names when debugging or not */
136 #if MELT_HAVE_DEBUG
137 MELT_EXTERN const char meltmodule_WARMELTmiMOREMACRO__melt_have_debug_enabled[];
138 #define melt_have_debug_string meltmodule_WARMELTmiMOREMACRO__melt_have_debug_enabled
139 #else /*!MELT_HAVE_DEBUG*/
140 MELT_EXTERN const char meltmodule_WARMELTmiMOREMACRO__melt_have_debug_disabled[];
141 #define melt_have_debug_string meltmodule_WARMELTmiMOREMACRO__melt_have_debug_disabled
142 #endif /*!MELT_HAVE_DEBUG*/
146 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiMOREMACRO__initialmeltchunk_0 (meltinitial_frame_t*, char*); //declare
148 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiMOREMACRO__initialmeltchunk_1 (meltinitial_frame_t*, char*); //declare
150 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiMOREMACRO__initialmeltchunk_2 (meltinitial_frame_t*, char*); //declare
154 /**** warmelt-moremacro+01.cc implementations ****/
159 melt_ptr_t MELT_MODULE_VISIBILITY
160 meltrout_8_WARMELTmiMOREMACRO_ANTIQUOTER(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_,
161 const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_)
163 long current_blocklevel_signals_meltrout_8_WARMELTmiMOREMACRO_ANTIQUOTER_melt = melt_blocklevel_signals;
165 #if MELT_HAVE_DEBUG
166 static long melt_call_counter__;
167 long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__;
168 #undef meltcallcount
169 #define meltcallcount melt_thiscallcounter__
170 #else
171 #undef meltcallcount
172 #define meltcallcount 0L
173 #endif
174 //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1538
176 /* start of frame for routine meltrout_8_WARMELTmiMOREMACRO_ANTIQUOTER fromline 1752 */
178 /** start of frame for meltrout_8_WARMELTmiMOREMACRO_ANTIQUOTER of CLASS_PROCROUTINEOBJ from 1555**/
180 /*curframdeclclassy*/ class MeltFrame_meltrout_8_WARMELTmiMOREMACRO_ANTIQUOTER// fromline 1568
181 : public Melt_CallFrameWithValues<14>
183 public: /* fromline 1572*/
184 long mcfr_varnum[6];
185 /*classy others*/
186 long _meltsparel;
187 void melt_mark_stuff (void)
189 } /*end melt_mark_stuff*/
190 virtual void melt_mark_ggc_data (void)
192 melt_mark_values ();
193 melt_mark_stuff ();
194 }; /*end melt_mark_ggc_data*/
195 MeltFrame_meltrout_8_WARMELTmiMOREMACRO_ANTIQUOTER(meltclosure_ptr_t clos) //the closure constructor fromline 1630
196 : Melt_CallFrameWithValues<14> (
197 #if ENABLE_CHECKING /*fromline 1634*/
198 __FILE__, __LINE__,
199 #endif /* ENABLE_CHECKING fromline 1638*/
200 sizeof(MeltFrame_meltrout_8_WARMELTmiMOREMACRO_ANTIQUOTER), clos) {};
201 MeltFrame_meltrout_8_WARMELTmiMOREMACRO_ANTIQUOTER() //the constructor fromline 1642
202 : Melt_CallFrameWithValues<14> (
203 #if ENABLE_CHECKING /*fromline 1646*/
204 __FILE__, __LINE__,
205 #endif /* ENABLE_CHECKING fromline 1650*/
206 sizeof(MeltFrame_meltrout_8_WARMELTmiMOREMACRO_ANTIQUOTER)) {};
207 #if ENABLE_CHECKING /*fromline 1654*/
208 MeltFrame_meltrout_8_WARMELTmiMOREMACRO_ANTIQUOTER(const char*fil, int lin) //the constructor fromline 1656
209 : Melt_CallFrameWithValues<14> (fil,lin, sizeof(MeltFrame_meltrout_8_WARMELTmiMOREMACRO_ANTIQUOTER)) {};
210 MeltFrame_meltrout_8_WARMELTmiMOREMACRO_ANTIQUOTER(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1661
211 : Melt_CallFrameWithValues<14> (fil,lin, sizeof(MeltFrame_meltrout_8_WARMELTmiMOREMACRO_ANTIQUOTER), clos) {};
212 #endif /* ENABLE_CHECKING fromline 1666*/
214 }; // end class MeltFrame_meltrout_8_WARMELTmiMOREMACRO_ANTIQUOTER
217 /** end of frame for meltrout_8_WARMELTmiMOREMACRO_ANTIQUOTER fromline 1697**/
219 /* end of frame for routine meltrout_8_WARMELTmiMOREMACRO_ANTIQUOTER fromline 1756 */
221 /* classy proc frame meltrout_8_WARMELTmiMOREMACRO_ANTIQUOTER */
222 MeltFrame_meltrout_8_WARMELTmiMOREMACRO_ANTIQUOTER
223 meltfram__ /*declfrastruct fromline 1780*/
224 /*classyprocarg meltrout_8_WARMELTmiMOREMACRO_ANTIQUOTER fromline 1785*/
225 #if ENABLE_CHECKING
226 (__FILE__, __LINE__, meltclosp_) /* fromline 1789*/
227 #else /*ENABLE_CHECKING */
228 (meltclosp_) /* fromline 1793*/
229 #endif /*ENABLE_CHECKING */
232 #define meltframe meltfram__
234 melt_trace_start("ANTIQUOTER", meltcallcount);
235 /*use arguments*/
236 (void) meltclosp_;
237 (void)meltfirstargp_;
238 (void)meltxargdescr_;
239 (void)meltxargtab_;
240 (void)meltxresdescr_;
241 (void)meltxrestab_;
242 /*getargs*/
244 /*getarg#0*/
245 MELT_LOCATION("warmelt-moremacro.melt:391:/ getarg");
246 /*_.AEXP__V2*/
247 meltfptr[1] = (melt_ptr_t) meltfirstargp_;
249 /*getarg#1*/
250 /*^getarg*/
251 if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_endgetargs;
252 /*_.ARGLIST__V3*/
253 meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL;
254 gcc_assert(melt_discr((melt_ptr_t)(/*_.ARGLIST__V3*/ meltfptr[2])) != NULL);
257 /*getarg#2*/
258 /*^getarg*/
259 if (meltxargdescr_[1] != MELTBPAR_PTR) goto meltlab_endgetargs;
260 /*_.LOC__V4*/
261 meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL;
262 gcc_assert(melt_discr((melt_ptr_t)(/*_.LOC__V4*/ meltfptr[3])) != NULL);
265 /*getarg#3*/
266 /*^getarg*/
267 if (meltxargdescr_[2] != MELTBPAR_PTR) goto meltlab_endgetargs;
268 /*_.ENV__V5*/
269 meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL;
270 gcc_assert(melt_discr((melt_ptr_t)(/*_.ENV__V5*/ meltfptr[4])) != NULL);
273 /*getarg#4*/
274 /*^getarg*/
275 if (meltxargdescr_[3] != MELTBPAR_PTR) goto meltlab_endgetargs;
276 /*_.MEXPANDER__V6*/
277 meltfptr[5] = (meltxargtab_[3].meltbp_aptr) ? (*(meltxargtab_[3].meltbp_aptr)) : NULL;
278 gcc_assert(melt_discr((melt_ptr_t)(/*_.MEXPANDER__V6*/ meltfptr[5])) != NULL);
281 /*getarg#5*/
282 /*^getarg*/
283 if (meltxargdescr_[4] != MELTBPAR_PTR) goto meltlab_endgetargs;
284 /*_.MODCTX__V7*/
285 meltfptr[6] = (meltxargtab_[4].meltbp_aptr) ? (*(meltxargtab_[4].meltbp_aptr)) : NULL;
286 gcc_assert(melt_discr((melt_ptr_t)(/*_.MODCTX__V7*/ meltfptr[6])) != NULL);
289 goto meltlab_endgetargs;
290 meltlab_endgetargs:
292 /*body*/
293 /*^block*/
294 /*anyblock*/
298 #if MELT_HAVE_DEBUG
299 MELT_LOCATION("warmelt-moremacro.melt:392:/ cppif.then");
300 /*^block*/
301 /*anyblock*/
306 /*^locexp*/
307 /*melt_increment_dbgcounter*/
308 #if MELT_HAVE_DEBUG
309 melt_dbgcounter++;
310 #endif
315 MELT_CHECK_SIGNAL();
317 /*_#MELT_NEED_DBG__L1*/
318 meltfnum[0] =
319 /*MELT_NEED_DBG*/
320 #if MELT_HAVE_DEBUG
321 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
322 #else
323 0 /* no melt_need_dbg */
324 #endif /*MELT_HAVE_DEBUG*/
326 MELT_LOCATION("warmelt-moremacro.melt:392:/ cond");
327 /*cond*/
328 if (/*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then*/
330 /*^cond.then*/
331 /*^block*/
332 /*anyblock*/
335 /*_#MELT_CALLCOUNT__L2*/ meltfnum[1] =
336 /* for melt_callcount */
337 #if MELT_HAVE_DEBUG && defined (meltcallcount)
338 meltcallcount /* melt_callcount debugging */
339 #else
340 0L /* melt_callcount without debug */
341 #endif /* MELT_HAVE_DEBUG melt_callcount */
344 MELT_CHECK_SIGNAL();
346 MELT_LOCATION("warmelt-moremacro.melt:392:/ apply");
347 /*apply*/
349 union meltparam_un argtab[7];
350 memset(&argtab, 0, sizeof(argtab));
351 /*^apply.arg*/
352 argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L2*/ meltfnum[1];
353 /*^apply.arg*/
354 argtab[1].meltbp_cstring = "warmelt-moremacro.melt";
355 /*^apply.arg*/
356 argtab[2].meltbp_long = 392;
357 /*^apply.arg*/
358 argtab[3].meltbp_cstring = "antiquoter aexp=";
359 /*^apply.arg*/
360 argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.AEXP__V2*/ meltfptr[1];
361 /*^apply.arg*/
362 argtab[5].meltbp_cstring = " arglist=";
363 /*^apply.arg*/
364 argtab[6].meltbp_aptr = (melt_ptr_t*) &/*_.ARGLIST__V3*/ meltfptr[2];
365 /*_.MELT_DEBUG_FUN__V9*/
366 meltfptr[8] = 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);
369 /*_._IF___V8*/
370 meltfptr[7] = /*_.MELT_DEBUG_FUN__V9*/ meltfptr[8];;
371 /*epilog*/
373 MELT_LOCATION("warmelt-moremacro.melt:392:/ clear");
374 /*clear*/ /*_#MELT_CALLCOUNT__L2*/
375 meltfnum[1] = 0 ;
376 /*^clear*/
377 /*clear*/ /*_.MELT_DEBUG_FUN__V9*/
378 meltfptr[8] = 0 ;
382 else /*^cond.else*/
385 /*_._IF___V8*/ meltfptr[7] = /*reallynil*/ NULL ;;
390 MELT_LOCATION("warmelt-moremacro.melt:392:/ locexp");
391 /*void*/
392 (void)0;
395 /*^quasiblock*/
398 /*epilog*/
400 /*^clear*/
401 /*clear*/ /*_#MELT_NEED_DBG__L1*/
402 meltfnum[0] = 0 ;
403 /*^clear*/
404 /*clear*/ /*_._IF___V8*/
405 meltfptr[7] = 0 ;
408 #else /*MELT_HAVE_DEBUG*/
409 /*^cppif.else*/
410 /*^block*/
411 /*anyblock*/
416 /*^locexp*/
417 /*void*/(void)0;
420 /*epilog*/
423 #endif /*MELT_HAVE_DEBUG*/
427 MELT_LOCATION("warmelt-moremacro.melt:393:/ locexp");
429 #if MELT_HAVE_DEBUG
430 if (melt_need_debug (0))
431 melt_dbgshortbacktrace(( "antiquoter"), (15));
432 #endif
436 MELT_LOCATION("warmelt-moremacro.melt:394:/ quasiblock");
440 MELT_CHECK_SIGNAL();
442 /*^apply*/
443 /*apply*/
445 union meltparam_un argtab[3];
446 memset(&argtab, 0, sizeof(argtab));
447 /*^apply.arg*/
448 argtab[0].meltbp_aptr = (melt_ptr_t*) &/*_.ENV__V5*/ meltfptr[4];
449 /*^apply.arg*/
450 argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.MEXPANDER__V6*/ meltfptr[5];
451 /*^apply.arg*/
452 argtab[2].meltbp_aptr = (melt_ptr_t*) &/*_.MODCTX__V7*/ meltfptr[6];
453 /*_.MEXP__V10*/
454 meltfptr[8] = melt_apply ((meltclosure_ptr_t)(/*_.MEXPANDER__V6*/ meltfptr[5]), (melt_ptr_t)(/*_.AEXP__V2*/ meltfptr[1]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
458 #if MELT_HAVE_DEBUG
459 MELT_LOCATION("warmelt-moremacro.melt:396:/ cppif.then");
460 /*^block*/
461 /*anyblock*/
466 /*^locexp*/
467 /*melt_increment_dbgcounter*/
468 #if MELT_HAVE_DEBUG
469 melt_dbgcounter++;
470 #endif
475 MELT_CHECK_SIGNAL();
477 /*_#MELT_NEED_DBG__L3*/
478 meltfnum[1] =
479 /*MELT_NEED_DBG*/
480 #if MELT_HAVE_DEBUG
481 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
482 #else
483 0 /* no melt_need_dbg */
484 #endif /*MELT_HAVE_DEBUG*/
486 MELT_LOCATION("warmelt-moremacro.melt:396:/ cond");
487 /*cond*/
488 if (/*_#MELT_NEED_DBG__L3*/ meltfnum[1]) /*then*/
490 /*^cond.then*/
491 /*^block*/
492 /*anyblock*/
495 /*_#MELT_CALLCOUNT__L4*/ meltfnum[0] =
496 /* for melt_callcount */
497 #if MELT_HAVE_DEBUG && defined (meltcallcount)
498 meltcallcount /* melt_callcount debugging */
499 #else
500 0L /* melt_callcount without debug */
501 #endif /* MELT_HAVE_DEBUG melt_callcount */
504 MELT_CHECK_SIGNAL();
506 MELT_LOCATION("warmelt-moremacro.melt:396:/ apply");
507 /*apply*/
509 union meltparam_un argtab[5];
510 memset(&argtab, 0, sizeof(argtab));
511 /*^apply.arg*/
512 argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L4*/ meltfnum[0];
513 /*^apply.arg*/
514 argtab[1].meltbp_cstring = "warmelt-moremacro.melt";
515 /*^apply.arg*/
516 argtab[2].meltbp_long = 396;
517 /*^apply.arg*/
518 argtab[3].meltbp_cstring = "antiquoter mexp=";
519 /*^apply.arg*/
520 argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.MEXP__V10*/ meltfptr[8];
521 /*_.MELT_DEBUG_FUN__V12*/
522 meltfptr[11] = 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);
525 /*_._IF___V11*/
526 meltfptr[7] = /*_.MELT_DEBUG_FUN__V12*/ meltfptr[11];;
527 /*epilog*/
529 MELT_LOCATION("warmelt-moremacro.melt:396:/ clear");
530 /*clear*/ /*_#MELT_CALLCOUNT__L4*/
531 meltfnum[0] = 0 ;
532 /*^clear*/
533 /*clear*/ /*_.MELT_DEBUG_FUN__V12*/
534 meltfptr[11] = 0 ;
538 else /*^cond.else*/
541 /*_._IF___V11*/ meltfptr[7] = /*reallynil*/ NULL ;;
546 MELT_LOCATION("warmelt-moremacro.melt:396:/ locexp");
547 /*void*/
548 (void)0;
551 /*^quasiblock*/
554 /*epilog*/
556 /*^clear*/
557 /*clear*/ /*_#MELT_NEED_DBG__L3*/
558 meltfnum[1] = 0 ;
559 /*^clear*/
560 /*clear*/ /*_._IF___V11*/
561 meltfptr[7] = 0 ;
564 #else /*MELT_HAVE_DEBUG*/
565 /*^cppif.else*/
566 /*^block*/
567 /*anyblock*/
572 /*^locexp*/
573 /*void*/(void)0;
576 /*epilog*/
579 #endif /*MELT_HAVE_DEBUG*/
583 MELT_LOCATION("warmelt-moremacro.melt:397:/ locexp");
584 meltgc_append_list((melt_ptr_t)(/*_.ARGLIST__V3*/ meltfptr[2]), (melt_ptr_t)(/*_.MEXP__V10*/ meltfptr[8]));
588 MELT_LOCATION("warmelt-moremacro.melt:394:/ clear");
589 /*clear*/ /*_.MEXP__V10*/
590 meltfptr[8] = 0 ;
592 #if MELT_HAVE_DEBUG
593 MELT_LOCATION("warmelt-moremacro.melt:399:/ cppif.then");
594 /*^block*/
595 /*anyblock*/
600 /*^locexp*/
601 /*melt_increment_dbgcounter*/
602 #if MELT_HAVE_DEBUG
603 melt_dbgcounter++;
604 #endif
609 MELT_CHECK_SIGNAL();
611 /*_#MELT_NEED_DBG__L5*/
612 meltfnum[0] =
613 /*MELT_NEED_DBG*/
614 #if MELT_HAVE_DEBUG
615 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
616 #else
617 0 /* no melt_need_dbg */
618 #endif /*MELT_HAVE_DEBUG*/
620 MELT_LOCATION("warmelt-moremacro.melt:399:/ cond");
621 /*cond*/
622 if (/*_#MELT_NEED_DBG__L5*/ meltfnum[0]) /*then*/
624 /*^cond.then*/
625 /*^block*/
626 /*anyblock*/
629 /*_#MELT_CALLCOUNT__L6*/ meltfnum[1] =
630 /* for melt_callcount */
631 #if MELT_HAVE_DEBUG && defined (meltcallcount)
632 meltcallcount /* melt_callcount debugging */
633 #else
634 0L /* melt_callcount without debug */
635 #endif /* MELT_HAVE_DEBUG melt_callcount */
638 MELT_CHECK_SIGNAL();
640 MELT_LOCATION("warmelt-moremacro.melt:399:/ apply");
641 /*apply*/
643 union meltparam_un argtab[5];
644 memset(&argtab, 0, sizeof(argtab));
645 /*^apply.arg*/
646 argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L6*/ meltfnum[1];
647 /*^apply.arg*/
648 argtab[1].meltbp_cstring = "warmelt-moremacro.melt";
649 /*^apply.arg*/
650 argtab[2].meltbp_long = 399;
651 /*^apply.arg*/
652 argtab[3].meltbp_cstring = "antiquoter ends with arglist=";
653 /*^apply.arg*/
654 argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.ARGLIST__V3*/ meltfptr[2];
655 /*_.MELT_DEBUG_FUN__V14*/
656 meltfptr[7] = 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);
659 /*_._IF___V13*/
660 meltfptr[11] = /*_.MELT_DEBUG_FUN__V14*/ meltfptr[7];;
661 /*epilog*/
663 MELT_LOCATION("warmelt-moremacro.melt:399:/ clear");
664 /*clear*/ /*_#MELT_CALLCOUNT__L6*/
665 meltfnum[1] = 0 ;
666 /*^clear*/
667 /*clear*/ /*_.MELT_DEBUG_FUN__V14*/
668 meltfptr[7] = 0 ;
672 else /*^cond.else*/
675 /*_._IF___V13*/ meltfptr[11] = /*reallynil*/ NULL ;;
680 MELT_LOCATION("warmelt-moremacro.melt:399:/ locexp");
681 /*void*/
682 (void)0;
685 /*^quasiblock*/
688 /*epilog*/
690 /*^clear*/
691 /*clear*/ /*_#MELT_NEED_DBG__L5*/
692 meltfnum[0] = 0 ;
693 /*^clear*/
694 /*clear*/ /*_._IF___V13*/
695 meltfptr[11] = 0 ;
698 #else /*MELT_HAVE_DEBUG*/
699 /*^cppif.else*/
700 /*^block*/
701 /*anyblock*/
706 /*^locexp*/
707 /*void*/(void)0;
710 /*epilog*/
713 #endif /*MELT_HAVE_DEBUG*/
716 MELT_CHECK_SIGNAL();
718 /*epilog*/
722 goto meltlabend_rout;
723 meltlabend_rout:
724 melt_trace_end("ANTIQUOTER", meltcallcount);
725 melt_blocklevel_signals = current_blocklevel_signals_meltrout_8_WARMELTmiMOREMACRO_ANTIQUOTER_melt;
726 return (melt_ptr_t)(/*noretval*/ NULL);
727 #undef meltcallcount
728 #undef meltfram__
729 #undef MELTFRAM_NBVARNUM
730 #undef MELTFRAM_NBVARPTR
731 } /*end meltrout_8_WARMELTmiMOREMACRO_ANTIQUOTER*/
738 melt_ptr_t MELT_MODULE_VISIBILITY
739 meltrout_9_WARMELTmiMOREMACRO_MEXPAND_BACKQUOTE(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_,
740 const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_)
742 long current_blocklevel_signals_meltrout_9_WARMELTmiMOREMACRO_MEXPAND_BACKQUOTE_melt = melt_blocklevel_signals;
744 #if MELT_HAVE_DEBUG
745 static long melt_call_counter__;
746 long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__;
747 #undef meltcallcount
748 #define meltcallcount melt_thiscallcounter__
749 #else
750 #undef meltcallcount
751 #define meltcallcount 0L
752 #endif
753 //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1538
755 /* start of frame for routine meltrout_9_WARMELTmiMOREMACRO_MEXPAND_BACKQUOTE fromline 1752 */
757 /** start of frame for meltrout_9_WARMELTmiMOREMACRO_MEXPAND_BACKQUOTE of CLASS_PROCROUTINEOBJ from 1555**/
759 /*curframdeclclassy*/ class MeltFrame_meltrout_9_WARMELTmiMOREMACRO_MEXPAND_BACKQUOTE// fromline 1568
760 : public Melt_CallFrameWithValues<27>
762 public: /* fromline 1572*/
763 long mcfr_varnum[9];
764 /*classy others*/
765 long _meltsparel;
766 void melt_mark_stuff (void)
768 } /*end melt_mark_stuff*/
769 virtual void melt_mark_ggc_data (void)
771 melt_mark_values ();
772 melt_mark_stuff ();
773 }; /*end melt_mark_ggc_data*/
774 MeltFrame_meltrout_9_WARMELTmiMOREMACRO_MEXPAND_BACKQUOTE(meltclosure_ptr_t clos) //the closure constructor fromline 1630
775 : Melt_CallFrameWithValues<27> (
776 #if ENABLE_CHECKING /*fromline 1634*/
777 __FILE__, __LINE__,
778 #endif /* ENABLE_CHECKING fromline 1638*/
779 sizeof(MeltFrame_meltrout_9_WARMELTmiMOREMACRO_MEXPAND_BACKQUOTE), clos) {};
780 MeltFrame_meltrout_9_WARMELTmiMOREMACRO_MEXPAND_BACKQUOTE() //the constructor fromline 1642
781 : Melt_CallFrameWithValues<27> (
782 #if ENABLE_CHECKING /*fromline 1646*/
783 __FILE__, __LINE__,
784 #endif /* ENABLE_CHECKING fromline 1650*/
785 sizeof(MeltFrame_meltrout_9_WARMELTmiMOREMACRO_MEXPAND_BACKQUOTE)) {};
786 #if ENABLE_CHECKING /*fromline 1654*/
787 MeltFrame_meltrout_9_WARMELTmiMOREMACRO_MEXPAND_BACKQUOTE(const char*fil, int lin) //the constructor fromline 1656
788 : Melt_CallFrameWithValues<27> (fil,lin, sizeof(MeltFrame_meltrout_9_WARMELTmiMOREMACRO_MEXPAND_BACKQUOTE)) {};
789 MeltFrame_meltrout_9_WARMELTmiMOREMACRO_MEXPAND_BACKQUOTE(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1661
790 : Melt_CallFrameWithValues<27> (fil,lin, sizeof(MeltFrame_meltrout_9_WARMELTmiMOREMACRO_MEXPAND_BACKQUOTE), clos) {};
791 #endif /* ENABLE_CHECKING fromline 1666*/
793 }; // end class MeltFrame_meltrout_9_WARMELTmiMOREMACRO_MEXPAND_BACKQUOTE
796 /** end of frame for meltrout_9_WARMELTmiMOREMACRO_MEXPAND_BACKQUOTE fromline 1697**/
798 /* end of frame for routine meltrout_9_WARMELTmiMOREMACRO_MEXPAND_BACKQUOTE fromline 1756 */
800 /* classy proc frame meltrout_9_WARMELTmiMOREMACRO_MEXPAND_BACKQUOTE */
801 MeltFrame_meltrout_9_WARMELTmiMOREMACRO_MEXPAND_BACKQUOTE
802 meltfram__ /*declfrastruct fromline 1780*/
803 /*classyprocarg meltrout_9_WARMELTmiMOREMACRO_MEXPAND_BACKQUOTE fromline 1785*/
804 #if ENABLE_CHECKING
805 (__FILE__, __LINE__, meltclosp_) /* fromline 1789*/
806 #else /*ENABLE_CHECKING */
807 (meltclosp_) /* fromline 1793*/
808 #endif /*ENABLE_CHECKING */
811 #define meltframe meltfram__
813 melt_trace_start("MEXPAND_BACKQUOTE", meltcallcount);
814 /*use arguments*/
815 (void) meltclosp_;
816 (void)meltfirstargp_;
817 (void)meltxargdescr_;
818 (void)meltxargtab_;
819 (void)meltxresdescr_;
820 (void)meltxrestab_;
821 /*getargs*/
823 /*getarg#0*/
824 MELT_LOCATION("warmelt-moremacro.melt:405:/ getarg");
825 /*_.SEXPR__V2*/
826 meltfptr[1] = (melt_ptr_t) meltfirstargp_;
828 /*getarg#1*/
829 /*^getarg*/
830 if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_endgetargs;
831 /*_.ENV__V3*/
832 meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL;
833 gcc_assert(melt_discr((melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2])) != NULL);
836 /*getarg#2*/
837 /*^getarg*/
838 if (meltxargdescr_[1] != MELTBPAR_PTR) goto meltlab_endgetargs;
839 /*_.MEXPANDER__V4*/
840 meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL;
841 gcc_assert(melt_discr((melt_ptr_t)(/*_.MEXPANDER__V4*/ meltfptr[3])) != NULL);
844 /*getarg#3*/
845 /*^getarg*/
846 if (meltxargdescr_[2] != MELTBPAR_PTR) goto meltlab_endgetargs;
847 /*_.MODCTX__V5*/
848 meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL;
849 gcc_assert(melt_discr((melt_ptr_t)(/*_.MODCTX__V5*/ meltfptr[4])) != NULL);
852 goto meltlab_endgetargs;
853 meltlab_endgetargs:
855 /*body*/
856 /*^block*/
857 /*anyblock*/
861 #if MELT_HAVE_DEBUG
862 MELT_LOCATION("warmelt-moremacro.melt:406:/ cppif.then");
863 /*^block*/
864 /*anyblock*/
869 /*^locexp*/
870 /*melt_increment_dbgcounter*/
871 #if MELT_HAVE_DEBUG
872 melt_dbgcounter++;
873 #endif
878 MELT_CHECK_SIGNAL();
880 /*_#MELT_NEED_DBG__L1*/
881 meltfnum[0] =
882 /*MELT_NEED_DBG*/
883 #if MELT_HAVE_DEBUG
884 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
885 #else
886 0 /* no melt_need_dbg */
887 #endif /*MELT_HAVE_DEBUG*/
889 MELT_LOCATION("warmelt-moremacro.melt:406:/ cond");
890 /*cond*/
891 if (/*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then*/
893 /*^cond.then*/
894 /*^block*/
895 /*anyblock*/
898 /*_#MELT_CALLCOUNT__L2*/ meltfnum[1] =
899 /* for melt_callcount */
900 #if MELT_HAVE_DEBUG && defined (meltcallcount)
901 meltcallcount /* melt_callcount debugging */
902 #else
903 0L /* melt_callcount without debug */
904 #endif /* MELT_HAVE_DEBUG melt_callcount */
907 MELT_CHECK_SIGNAL();
909 MELT_LOCATION("warmelt-moremacro.melt:406:/ apply");
910 /*apply*/
912 union meltparam_un argtab[5];
913 memset(&argtab, 0, sizeof(argtab));
914 /*^apply.arg*/
915 argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L2*/ meltfnum[1];
916 /*^apply.arg*/
917 argtab[1].meltbp_cstring = "warmelt-moremacro.melt";
918 /*^apply.arg*/
919 argtab[2].meltbp_long = 406;
920 /*^apply.arg*/
921 argtab[3].meltbp_cstring = "mexpand_backquote sexpr=";
922 /*^apply.arg*/
923 argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.SEXPR__V2*/ meltfptr[1];
924 /*_.MELT_DEBUG_FUN__V7*/
925 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);
928 /*_._IF___V6*/
929 meltfptr[5] = /*_.MELT_DEBUG_FUN__V7*/ meltfptr[6];;
930 /*epilog*/
932 MELT_LOCATION("warmelt-moremacro.melt:406:/ clear");
933 /*clear*/ /*_#MELT_CALLCOUNT__L2*/
934 meltfnum[1] = 0 ;
935 /*^clear*/
936 /*clear*/ /*_.MELT_DEBUG_FUN__V7*/
937 meltfptr[6] = 0 ;
941 else /*^cond.else*/
944 /*_._IF___V6*/ meltfptr[5] = /*reallynil*/ NULL ;;
949 MELT_LOCATION("warmelt-moremacro.melt:406:/ locexp");
950 /*void*/
951 (void)0;
954 /*^quasiblock*/
957 /*epilog*/
959 /*^clear*/
960 /*clear*/ /*_#MELT_NEED_DBG__L1*/
961 meltfnum[0] = 0 ;
962 /*^clear*/
963 /*clear*/ /*_._IF___V6*/
964 meltfptr[5] = 0 ;
967 #else /*MELT_HAVE_DEBUG*/
968 /*^cppif.else*/
969 /*^block*/
970 /*anyblock*/
975 /*^locexp*/
976 /*void*/(void)0;
979 /*epilog*/
982 #endif /*MELT_HAVE_DEBUG*/
984 MELT_LOCATION("warmelt-moremacro.melt:407:/ quasiblock");
987 /*^getslot*/
989 melt_ptr_t slot=NULL, obj=NULL;
990 obj = (melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/;
991 melt_object_get_field(slot,obj, 2, "SEXP_CONTENTS");
992 /*_.CONT__V9*/
993 meltfptr[5] = slot;
996 MELT_LOCATION("warmelt-moremacro.melt:408:/ getslot");
998 melt_ptr_t slot=NULL, obj=NULL;
999 obj = (melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/;
1000 melt_object_get_field(slot,obj, 1, "LOCA_LOCATION");
1001 /*_.LOC__V10*/
1002 meltfptr[9] = slot;
1005 /*_.LIST_FIRST__V11*/
1006 meltfptr[10] =
1007 (melt_list_first((melt_ptr_t)(/*_.CONT__V9*/ meltfptr[5])));;
1008 /*^compute*/
1009 /*_.CURPAIR__V12*/
1010 meltfptr[11] =
1011 (melt_pair_tail((melt_ptr_t)(/*_.LIST_FIRST__V11*/ meltfptr[10])));;
1012 /*^compute*/
1013 /*_.BACKQUOTED__V13*/
1014 meltfptr[12] =
1015 (melt_pair_head((melt_ptr_t)(/*_.CURPAIR__V12*/ meltfptr[11])));;
1017 MELT_CHECK_SIGNAL();
1019 /*^compute*/
1020 /*_.PAIR_TAIL__V14*/
1021 meltfptr[13] =
1022 (melt_pair_tail((melt_ptr_t)(/*_.CURPAIR__V12*/ meltfptr[11])));;
1023 MELT_LOCATION("warmelt-moremacro.melt:412:/ cond");
1024 /*cond*/
1025 if (/*_.PAIR_TAIL__V14*/ meltfptr[13]) /*then*/
1027 /*^cond.then*/
1028 /*^block*/
1029 /*anyblock*/
1034 MELT_LOCATION("warmelt-moremacro.melt:413:/ locexp");
1035 /* error_plain */
1036 melt_error_str((melt_ptr_t)(/*_.LOC__V10*/ meltfptr[9]), ( "BACKQUOTE should have only one argument"), (melt_ptr_t)0);
1039 /*epilog*/
1042 } /*noelse*/
1045 MELT_CHECK_SIGNAL();
1047 /*_#IS_A__L3*/
1048 meltfnum[1] =
1049 melt_is_instance_of((melt_ptr_t)(/*_.BACKQUOTED__V13*/ meltfptr[12]), (melt_ptr_t)((/*!CLASS_SEXPR*/ meltfrout->tabval[1])));;
1050 MELT_LOCATION("warmelt-moremacro.melt:414:/ cond");
1051 /*cond*/
1052 if (/*_#IS_A__L3*/ meltfnum[1]) /*then*/
1054 /*^cond.then*/
1055 /*^block*/
1056 /*anyblock*/
1060 #if MELT_HAVE_DEBUG
1061 MELT_LOCATION("warmelt-moremacro.melt:415:/ cppif.then");
1062 /*^block*/
1063 /*anyblock*/
1068 /*^locexp*/
1069 /*melt_increment_dbgcounter*/
1070 #if MELT_HAVE_DEBUG
1071 melt_dbgcounter++;
1072 #endif
1077 MELT_CHECK_SIGNAL();
1079 /*_#MELT_NEED_DBG__L4*/
1080 meltfnum[0] =
1081 /*MELT_NEED_DBG*/
1082 #if MELT_HAVE_DEBUG
1083 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
1084 #else
1085 0 /* no melt_need_dbg */
1086 #endif /*MELT_HAVE_DEBUG*/
1088 MELT_LOCATION("warmelt-moremacro.melt:415:/ cond");
1089 /*cond*/
1090 if (/*_#MELT_NEED_DBG__L4*/ meltfnum[0]) /*then*/
1092 /*^cond.then*/
1093 /*^block*/
1094 /*anyblock*/
1097 /*_#MELT_CALLCOUNT__L5*/ meltfnum[4] =
1098 /* for melt_callcount */
1099 #if MELT_HAVE_DEBUG && defined (meltcallcount)
1100 meltcallcount /* melt_callcount debugging */
1101 #else
1102 0L /* melt_callcount without debug */
1103 #endif /* MELT_HAVE_DEBUG melt_callcount */
1106 MELT_CHECK_SIGNAL();
1108 MELT_LOCATION("warmelt-moremacro.melt:415:/ apply");
1109 /*apply*/
1111 union meltparam_un argtab[5];
1112 memset(&argtab, 0, sizeof(argtab));
1113 /*^apply.arg*/
1114 argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L5*/ meltfnum[4];
1115 /*^apply.arg*/
1116 argtab[1].meltbp_cstring = "warmelt-moremacro.melt";
1117 /*^apply.arg*/
1118 argtab[2].meltbp_long = 415;
1119 /*^apply.arg*/
1120 argtab[3].meltbp_cstring = "mexpand_backquote backquoted sexpr ";
1121 /*^apply.arg*/
1122 argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.BACKQUOTED__V13*/ meltfptr[12];
1123 /*_.MELT_DEBUG_FUN__V17*/
1124 meltfptr[16] = 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);
1127 /*_._IF___V16*/
1128 meltfptr[15] = /*_.MELT_DEBUG_FUN__V17*/ meltfptr[16];;
1129 /*epilog*/
1131 MELT_LOCATION("warmelt-moremacro.melt:415:/ clear");
1132 /*clear*/ /*_#MELT_CALLCOUNT__L5*/
1133 meltfnum[4] = 0 ;
1134 /*^clear*/
1135 /*clear*/ /*_.MELT_DEBUG_FUN__V17*/
1136 meltfptr[16] = 0 ;
1140 else /*^cond.else*/
1143 /*_._IF___V16*/ meltfptr[15] = /*reallynil*/ NULL ;;
1148 MELT_LOCATION("warmelt-moremacro.melt:415:/ locexp");
1149 /*void*/
1150 (void)0;
1153 /*^quasiblock*/
1156 /*epilog*/
1158 /*^clear*/
1159 /*clear*/ /*_#MELT_NEED_DBG__L4*/
1160 meltfnum[0] = 0 ;
1161 /*^clear*/
1162 /*clear*/ /*_._IF___V16*/
1163 meltfptr[15] = 0 ;
1166 #else /*MELT_HAVE_DEBUG*/
1167 /*^cppif.else*/
1168 /*^block*/
1169 /*anyblock*/
1174 /*^locexp*/
1175 /*void*/(void)0;
1178 /*epilog*/
1181 #endif /*MELT_HAVE_DEBUG*/
1183 MELT_LOCATION("warmelt-moremacro.melt:416:/ quasiblock");
1187 MELT_CHECK_SIGNAL();
1189 /*^apply*/
1190 /*apply*/
1192 union meltparam_un argtab[4];
1193 memset(&argtab, 0, sizeof(argtab));
1194 /*^apply.arg*/
1195 argtab[0].meltbp_aptr = (melt_ptr_t*) &/*_.ENV__V3*/ meltfptr[2];
1196 /*^apply.arg*/
1197 argtab[1].meltbp_aptr = (melt_ptr_t*) &(/*!ANTIQUOTER*/ meltfrout->tabval[3]);
1198 /*^apply.arg*/
1199 argtab[2].meltbp_aptr = (melt_ptr_t*) &/*_.MEXPANDER__V4*/ meltfptr[3];
1200 /*^apply.arg*/
1201 argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.MODCTX__V5*/ meltfptr[4];
1202 /*_.EXPBK__V19*/
1203 meltfptr[15] = melt_apply ((meltclosure_ptr_t)((/*!EXPAND_QUOTED_SEXPR*/ meltfrout->tabval[2])), (melt_ptr_t)(/*_.BACKQUOTED__V13*/ meltfptr[12]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
1207 #if MELT_HAVE_DEBUG
1208 MELT_LOCATION("warmelt-moremacro.melt:418:/ cppif.then");
1209 /*^block*/
1210 /*anyblock*/
1215 /*^locexp*/
1216 /*melt_increment_dbgcounter*/
1217 #if MELT_HAVE_DEBUG
1218 melt_dbgcounter++;
1219 #endif
1224 MELT_CHECK_SIGNAL();
1226 /*_#MELT_NEED_DBG__L6*/
1227 meltfnum[4] =
1228 /*MELT_NEED_DBG*/
1229 #if MELT_HAVE_DEBUG
1230 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
1231 #else
1232 0 /* no melt_need_dbg */
1233 #endif /*MELT_HAVE_DEBUG*/
1235 MELT_LOCATION("warmelt-moremacro.melt:418:/ cond");
1236 /*cond*/
1237 if (/*_#MELT_NEED_DBG__L6*/ meltfnum[4]) /*then*/
1239 /*^cond.then*/
1240 /*^block*/
1241 /*anyblock*/
1244 /*_#MELT_CALLCOUNT__L7*/ meltfnum[0] =
1245 /* for melt_callcount */
1246 #if MELT_HAVE_DEBUG && defined (meltcallcount)
1247 meltcallcount /* melt_callcount debugging */
1248 #else
1249 0L /* melt_callcount without debug */
1250 #endif /* MELT_HAVE_DEBUG melt_callcount */
1253 MELT_CHECK_SIGNAL();
1255 MELT_LOCATION("warmelt-moremacro.melt:418:/ apply");
1256 /*apply*/
1258 union meltparam_un argtab[5];
1259 memset(&argtab, 0, sizeof(argtab));
1260 /*^apply.arg*/
1261 argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L7*/ meltfnum[0];
1262 /*^apply.arg*/
1263 argtab[1].meltbp_cstring = "warmelt-moremacro.melt";
1264 /*^apply.arg*/
1265 argtab[2].meltbp_long = 418;
1266 /*^apply.arg*/
1267 argtab[3].meltbp_cstring = "mexpand_backquote result expbk=";
1268 /*^apply.arg*/
1269 argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.EXPBK__V19*/ meltfptr[15];
1270 /*_.MELT_DEBUG_FUN__V21*/
1271 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);
1274 /*_._IF___V20*/
1275 meltfptr[19] = /*_.MELT_DEBUG_FUN__V21*/ meltfptr[20];;
1276 /*epilog*/
1278 MELT_LOCATION("warmelt-moremacro.melt:418:/ clear");
1279 /*clear*/ /*_#MELT_CALLCOUNT__L7*/
1280 meltfnum[0] = 0 ;
1281 /*^clear*/
1282 /*clear*/ /*_.MELT_DEBUG_FUN__V21*/
1283 meltfptr[20] = 0 ;
1287 else /*^cond.else*/
1290 /*_._IF___V20*/ meltfptr[19] = /*reallynil*/ NULL ;;
1295 MELT_LOCATION("warmelt-moremacro.melt:418:/ locexp");
1296 /*void*/
1297 (void)0;
1300 /*^quasiblock*/
1303 /*epilog*/
1305 /*^clear*/
1306 /*clear*/ /*_#MELT_NEED_DBG__L6*/
1307 meltfnum[4] = 0 ;
1308 /*^clear*/
1309 /*clear*/ /*_._IF___V20*/
1310 meltfptr[19] = 0 ;
1313 #else /*MELT_HAVE_DEBUG*/
1314 /*^cppif.else*/
1315 /*^block*/
1316 /*anyblock*/
1321 /*^locexp*/
1322 /*void*/(void)0;
1325 /*epilog*/
1328 #endif /*MELT_HAVE_DEBUG*/
1331 MELT_CHECK_SIGNAL();
1333 MELT_LOCATION("warmelt-moremacro.melt:419:/ quasiblock");
1336 /*_._RETVAL___V1*/
1337 meltfptr[0] = /*_.EXPBK__V19*/ meltfptr[15];;
1340 MELT_LOCATION("warmelt-moremacro.melt:419:/ locexp");
1341 /*ochecknores compilobj_nrep_return*/
1342 #if MELT_HAVE_DEBUG
1343 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
1344 melt_warn_for_no_expected_secondary_results();
1345 /* we warned when secondary results are expected but not returned. */
1346 #endif /*MELT_HAVE_DEBUG*/
1350 /*^finalreturn*/
1352 /*finalret*/
1353 goto meltlabend_rout ;
1354 /*_.LET___V18*/
1355 meltfptr[16] = /*_.RETURN___V22*/ meltfptr[20];;
1357 MELT_LOCATION("warmelt-moremacro.melt:416:/ clear");
1358 /*clear*/ /*_.EXPBK__V19*/
1359 meltfptr[15] = 0 ;
1360 /*^clear*/
1361 /*clear*/ /*_.RETURN___V22*/
1362 meltfptr[20] = 0 ;
1363 MELT_LOCATION("warmelt-moremacro.melt:414:/ quasiblock");
1366 /*_.PROGN___V23*/
1367 meltfptr[19] = /*_.LET___V18*/ meltfptr[16];;
1368 /*^compute*/
1369 /*_._IFELSE___V15*/
1370 meltfptr[14] = /*_.PROGN___V23*/ meltfptr[19];;
1371 /*epilog*/
1373 MELT_LOCATION("warmelt-moremacro.melt:414:/ clear");
1374 /*clear*/ /*_.LET___V18*/
1375 meltfptr[16] = 0 ;
1376 /*^clear*/
1377 /*clear*/ /*_.PROGN___V23*/
1378 meltfptr[19] = 0 ;
1382 else /*^cond.else*/
1385 /*^block*/
1386 /*anyblock*/
1390 #if MELT_HAVE_DEBUG
1391 MELT_LOCATION("warmelt-moremacro.melt:422:/ cppif.then");
1392 /*^block*/
1393 /*anyblock*/
1398 /*^locexp*/
1399 /*melt_increment_dbgcounter*/
1400 #if MELT_HAVE_DEBUG
1401 melt_dbgcounter++;
1402 #endif
1407 MELT_CHECK_SIGNAL();
1409 /*_#MELT_NEED_DBG__L8*/
1410 meltfnum[0] =
1411 /*MELT_NEED_DBG*/
1412 #if MELT_HAVE_DEBUG
1413 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
1414 #else
1415 0 /* no melt_need_dbg */
1416 #endif /*MELT_HAVE_DEBUG*/
1418 MELT_LOCATION("warmelt-moremacro.melt:422:/ cond");
1419 /*cond*/
1420 if (/*_#MELT_NEED_DBG__L8*/ meltfnum[0]) /*then*/
1422 /*^cond.then*/
1423 /*^block*/
1424 /*anyblock*/
1427 /*_#MELT_CALLCOUNT__L9*/ meltfnum[4] =
1428 /* for melt_callcount */
1429 #if MELT_HAVE_DEBUG && defined (meltcallcount)
1430 meltcallcount /* melt_callcount debugging */
1431 #else
1432 0L /* melt_callcount without debug */
1433 #endif /* MELT_HAVE_DEBUG melt_callcount */
1436 MELT_CHECK_SIGNAL();
1438 MELT_LOCATION("warmelt-moremacro.melt:422:/ apply");
1439 /*apply*/
1441 union meltparam_un argtab[5];
1442 memset(&argtab, 0, sizeof(argtab));
1443 /*^apply.arg*/
1444 argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L9*/ meltfnum[4];
1445 /*^apply.arg*/
1446 argtab[1].meltbp_cstring = "warmelt-moremacro.melt";
1447 /*^apply.arg*/
1448 argtab[2].meltbp_long = 422;
1449 /*^apply.arg*/
1450 argtab[3].meltbp_cstring = "mexpand_backquote backquoted return verbatim ";
1451 /*^apply.arg*/
1452 argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.BACKQUOTED__V13*/ meltfptr[12];
1453 /*_.MELT_DEBUG_FUN__V25*/
1454 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);
1457 /*_._IF___V24*/
1458 meltfptr[15] = /*_.MELT_DEBUG_FUN__V25*/ meltfptr[20];;
1459 /*epilog*/
1461 MELT_LOCATION("warmelt-moremacro.melt:422:/ clear");
1462 /*clear*/ /*_#MELT_CALLCOUNT__L9*/
1463 meltfnum[4] = 0 ;
1464 /*^clear*/
1465 /*clear*/ /*_.MELT_DEBUG_FUN__V25*/
1466 meltfptr[20] = 0 ;
1470 else /*^cond.else*/
1473 /*_._IF___V24*/ meltfptr[15] = /*reallynil*/ NULL ;;
1478 MELT_LOCATION("warmelt-moremacro.melt:422:/ locexp");
1479 /*void*/
1480 (void)0;
1483 /*^quasiblock*/
1486 /*epilog*/
1488 /*^clear*/
1489 /*clear*/ /*_#MELT_NEED_DBG__L8*/
1490 meltfnum[0] = 0 ;
1491 /*^clear*/
1492 /*clear*/ /*_._IF___V24*/
1493 meltfptr[15] = 0 ;
1496 #else /*MELT_HAVE_DEBUG*/
1497 /*^cppif.else*/
1498 /*^block*/
1499 /*anyblock*/
1504 /*^locexp*/
1505 /*void*/(void)0;
1508 /*epilog*/
1511 #endif /*MELT_HAVE_DEBUG*/
1514 MELT_CHECK_SIGNAL();
1516 MELT_LOCATION("warmelt-moremacro.melt:423:/ quasiblock");
1519 /*_._RETVAL___V1*/
1520 meltfptr[0] = /*_.BACKQUOTED__V13*/ meltfptr[12];;
1523 MELT_LOCATION("warmelt-moremacro.melt:423:/ locexp");
1524 /*ochecknores compilobj_nrep_return*/
1525 #if MELT_HAVE_DEBUG
1526 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
1527 melt_warn_for_no_expected_secondary_results();
1528 /* we warned when secondary results are expected but not returned. */
1529 #endif /*MELT_HAVE_DEBUG*/
1533 /*^finalreturn*/
1535 /*finalret*/
1536 goto meltlabend_rout ;
1537 MELT_LOCATION("warmelt-moremacro.melt:421:/ quasiblock");
1540 /*_.PROGN___V27*/
1541 meltfptr[19] = /*_.RETURN___V26*/ meltfptr[16];;
1542 /*^compute*/
1543 /*_._IFELSE___V15*/
1544 meltfptr[14] = /*_.PROGN___V27*/ meltfptr[19];;
1545 /*epilog*/
1547 MELT_LOCATION("warmelt-moremacro.melt:414:/ clear");
1548 /*clear*/ /*_.RETURN___V26*/
1549 meltfptr[16] = 0 ;
1550 /*^clear*/
1551 /*clear*/ /*_.PROGN___V27*/
1552 meltfptr[19] = 0 ;
1557 /*_.LET___V8*/
1558 meltfptr[6] = /*_._IFELSE___V15*/ meltfptr[14];;
1560 MELT_LOCATION("warmelt-moremacro.melt:407:/ clear");
1561 /*clear*/ /*_.CONT__V9*/
1562 meltfptr[5] = 0 ;
1563 /*^clear*/
1564 /*clear*/ /*_.LOC__V10*/
1565 meltfptr[9] = 0 ;
1566 /*^clear*/
1567 /*clear*/ /*_.LIST_FIRST__V11*/
1568 meltfptr[10] = 0 ;
1569 /*^clear*/
1570 /*clear*/ /*_.CURPAIR__V12*/
1571 meltfptr[11] = 0 ;
1572 /*^clear*/
1573 /*clear*/ /*_.BACKQUOTED__V13*/
1574 meltfptr[12] = 0 ;
1575 /*^clear*/
1576 /*clear*/ /*_.PAIR_TAIL__V14*/
1577 meltfptr[13] = 0 ;
1578 /*^clear*/
1579 /*clear*/ /*_#IS_A__L3*/
1580 meltfnum[1] = 0 ;
1581 /*^clear*/
1582 /*clear*/ /*_._IFELSE___V15*/
1583 meltfptr[14] = 0 ;
1585 MELT_CHECK_SIGNAL();
1587 MELT_LOCATION("warmelt-moremacro.melt:405:/ quasiblock");
1590 /*_._RETVAL___V1*/
1591 meltfptr[0] = /*_.LET___V8*/ meltfptr[6];;
1594 MELT_LOCATION("warmelt-moremacro.melt:405:/ locexp");
1595 /*ochecknores compilobj_nrep_return*/
1596 #if MELT_HAVE_DEBUG
1597 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
1598 melt_warn_for_no_expected_secondary_results();
1599 /* we warned when secondary results are expected but not returned. */
1600 #endif /*MELT_HAVE_DEBUG*/
1604 /*^finalreturn*/
1606 /*finalret*/
1607 goto meltlabend_rout ;
1608 /*epilog*/
1610 /*^clear*/
1611 /*clear*/ /*_.LET___V8*/
1612 meltfptr[6] = 0 ;
1616 goto meltlabend_rout;
1617 meltlabend_rout:
1618 melt_trace_end("MEXPAND_BACKQUOTE", meltcallcount);
1619 melt_blocklevel_signals = current_blocklevel_signals_meltrout_9_WARMELTmiMOREMACRO_MEXPAND_BACKQUOTE_melt;
1620 return (melt_ptr_t)(/*_._RETVAL___V1*/ meltfptr[0]);
1621 #undef meltcallcount
1622 #undef meltfram__
1623 #undef MELTFRAM_NBVARNUM
1624 #undef MELTFRAM_NBVARPTR
1625 } /*end meltrout_9_WARMELTmiMOREMACRO_MEXPAND_BACKQUOTE*/
1632 melt_ptr_t MELT_MODULE_VISIBILITY
1633 meltrout_10_WARMELTmiMOREMACRO_MEXPAND_COMMA(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_,
1634 const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_)
1636 long current_blocklevel_signals_meltrout_10_WARMELTmiMOREMACRO_MEXPAND_COMMA_melt = melt_blocklevel_signals;
1638 #if MELT_HAVE_DEBUG
1639 static long melt_call_counter__;
1640 long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__;
1641 #undef meltcallcount
1642 #define meltcallcount melt_thiscallcounter__
1643 #else
1644 #undef meltcallcount
1645 #define meltcallcount 0L
1646 #endif
1647 //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1538
1649 /* start of frame for routine meltrout_10_WARMELTmiMOREMACRO_MEXPAND_COMMA fromline 1752 */
1651 /** start of frame for meltrout_10_WARMELTmiMOREMACRO_MEXPAND_COMMA of CLASS_PROCROUTINEOBJ from 1555**/
1653 /*curframdeclclassy*/ class MeltFrame_meltrout_10_WARMELTmiMOREMACRO_MEXPAND_COMMA// fromline 1568
1654 : public Melt_CallFrameWithValues<11>
1656 public: /* fromline 1572*/
1657 long mcfr_varnum[2];
1658 /*classy others*/
1659 long _meltsparel;
1660 void melt_mark_stuff (void)
1662 } /*end melt_mark_stuff*/
1663 virtual void melt_mark_ggc_data (void)
1665 melt_mark_values ();
1666 melt_mark_stuff ();
1667 }; /*end melt_mark_ggc_data*/
1668 MeltFrame_meltrout_10_WARMELTmiMOREMACRO_MEXPAND_COMMA(meltclosure_ptr_t clos) //the closure constructor fromline 1630
1669 : Melt_CallFrameWithValues<11> (
1670 #if ENABLE_CHECKING /*fromline 1634*/
1671 __FILE__, __LINE__,
1672 #endif /* ENABLE_CHECKING fromline 1638*/
1673 sizeof(MeltFrame_meltrout_10_WARMELTmiMOREMACRO_MEXPAND_COMMA), clos) {};
1674 MeltFrame_meltrout_10_WARMELTmiMOREMACRO_MEXPAND_COMMA() //the constructor fromline 1642
1675 : Melt_CallFrameWithValues<11> (
1676 #if ENABLE_CHECKING /*fromline 1646*/
1677 __FILE__, __LINE__,
1678 #endif /* ENABLE_CHECKING fromline 1650*/
1679 sizeof(MeltFrame_meltrout_10_WARMELTmiMOREMACRO_MEXPAND_COMMA)) {};
1680 #if ENABLE_CHECKING /*fromline 1654*/
1681 MeltFrame_meltrout_10_WARMELTmiMOREMACRO_MEXPAND_COMMA(const char*fil, int lin) //the constructor fromline 1656
1682 : Melt_CallFrameWithValues<11> (fil,lin, sizeof(MeltFrame_meltrout_10_WARMELTmiMOREMACRO_MEXPAND_COMMA)) {};
1683 MeltFrame_meltrout_10_WARMELTmiMOREMACRO_MEXPAND_COMMA(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1661
1684 : Melt_CallFrameWithValues<11> (fil,lin, sizeof(MeltFrame_meltrout_10_WARMELTmiMOREMACRO_MEXPAND_COMMA), clos) {};
1685 #endif /* ENABLE_CHECKING fromline 1666*/
1687 }; // end class MeltFrame_meltrout_10_WARMELTmiMOREMACRO_MEXPAND_COMMA
1690 /** end of frame for meltrout_10_WARMELTmiMOREMACRO_MEXPAND_COMMA fromline 1697**/
1692 /* end of frame for routine meltrout_10_WARMELTmiMOREMACRO_MEXPAND_COMMA fromline 1756 */
1694 /* classy proc frame meltrout_10_WARMELTmiMOREMACRO_MEXPAND_COMMA */
1695 MeltFrame_meltrout_10_WARMELTmiMOREMACRO_MEXPAND_COMMA
1696 meltfram__ /*declfrastruct fromline 1780*/
1697 /*classyprocarg meltrout_10_WARMELTmiMOREMACRO_MEXPAND_COMMA fromline 1785*/
1698 #if ENABLE_CHECKING
1699 (__FILE__, __LINE__, meltclosp_) /* fromline 1789*/
1700 #else /*ENABLE_CHECKING */
1701 (meltclosp_) /* fromline 1793*/
1702 #endif /*ENABLE_CHECKING */
1705 #define meltframe meltfram__
1707 melt_trace_start("MEXPAND_COMMA", meltcallcount);
1708 /*use arguments*/
1709 (void) meltclosp_;
1710 (void)meltfirstargp_;
1711 (void)meltxargdescr_;
1712 (void)meltxargtab_;
1713 (void)meltxresdescr_;
1714 (void)meltxrestab_;
1715 /*getargs*/
1717 /*getarg#0*/
1718 MELT_LOCATION("warmelt-moremacro.melt:435:/ getarg");
1719 /*_.SEXPR__V2*/
1720 meltfptr[1] = (melt_ptr_t) meltfirstargp_;
1722 /*getarg#1*/
1723 /*^getarg*/
1724 if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_endgetargs;
1725 /*_.ENV__V3*/
1726 meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL;
1727 gcc_assert(melt_discr((melt_ptr_t)(/*_.ENV__V3*/ meltfptr[2])) != NULL);
1730 /*getarg#2*/
1731 /*^getarg*/
1732 if (meltxargdescr_[1] != MELTBPAR_PTR) goto meltlab_endgetargs;
1733 /*_.MEXPANDER__V4*/
1734 meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL;
1735 gcc_assert(melt_discr((melt_ptr_t)(/*_.MEXPANDER__V4*/ meltfptr[3])) != NULL);
1738 /*getarg#3*/
1739 /*^getarg*/
1740 if (meltxargdescr_[2] != MELTBPAR_PTR) goto meltlab_endgetargs;
1741 /*_.MODCTX__V5*/
1742 meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL;
1743 gcc_assert(melt_discr((melt_ptr_t)(/*_.MODCTX__V5*/ meltfptr[4])) != NULL);
1746 goto meltlab_endgetargs;
1747 meltlab_endgetargs:
1749 /*body*/
1750 /*^block*/
1751 /*anyblock*/
1755 #if MELT_HAVE_DEBUG
1756 MELT_LOCATION("warmelt-moremacro.melt:436:/ cppif.then");
1757 /*^block*/
1758 /*anyblock*/
1763 /*^locexp*/
1764 /*melt_increment_dbgcounter*/
1765 #if MELT_HAVE_DEBUG
1766 melt_dbgcounter++;
1767 #endif
1772 MELT_CHECK_SIGNAL();
1774 /*_#MELT_NEED_DBG__L1*/
1775 meltfnum[0] =
1776 /*MELT_NEED_DBG*/
1777 #if MELT_HAVE_DEBUG
1778 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
1779 #else
1780 0 /* no melt_need_dbg */
1781 #endif /*MELT_HAVE_DEBUG*/
1783 MELT_LOCATION("warmelt-moremacro.melt:436:/ cond");
1784 /*cond*/
1785 if (/*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then*/
1787 /*^cond.then*/
1788 /*^block*/
1789 /*anyblock*/
1792 /*_#MELT_CALLCOUNT__L2*/ meltfnum[1] =
1793 /* for melt_callcount */
1794 #if MELT_HAVE_DEBUG && defined (meltcallcount)
1795 meltcallcount /* melt_callcount debugging */
1796 #else
1797 0L /* melt_callcount without debug */
1798 #endif /* MELT_HAVE_DEBUG melt_callcount */
1801 MELT_CHECK_SIGNAL();
1803 MELT_LOCATION("warmelt-moremacro.melt:436:/ apply");
1804 /*apply*/
1806 union meltparam_un argtab[5];
1807 memset(&argtab, 0, sizeof(argtab));
1808 /*^apply.arg*/
1809 argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L2*/ meltfnum[1];
1810 /*^apply.arg*/
1811 argtab[1].meltbp_cstring = "warmelt-moremacro.melt";
1812 /*^apply.arg*/
1813 argtab[2].meltbp_long = 436;
1814 /*^apply.arg*/
1815 argtab[3].meltbp_cstring = "mexpand_comma sexpr=";
1816 /*^apply.arg*/
1817 argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.SEXPR__V2*/ meltfptr[1];
1818 /*_.MELT_DEBUG_FUN__V7*/
1819 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);
1822 /*_._IF___V6*/
1823 meltfptr[5] = /*_.MELT_DEBUG_FUN__V7*/ meltfptr[6];;
1824 /*epilog*/
1826 MELT_LOCATION("warmelt-moremacro.melt:436:/ clear");
1827 /*clear*/ /*_#MELT_CALLCOUNT__L2*/
1828 meltfnum[1] = 0 ;
1829 /*^clear*/
1830 /*clear*/ /*_.MELT_DEBUG_FUN__V7*/
1831 meltfptr[6] = 0 ;
1835 else /*^cond.else*/
1838 /*_._IF___V6*/ meltfptr[5] = /*reallynil*/ NULL ;;
1843 MELT_LOCATION("warmelt-moremacro.melt:436:/ locexp");
1844 /*void*/
1845 (void)0;
1848 /*^quasiblock*/
1851 /*epilog*/
1853 /*^clear*/
1854 /*clear*/ /*_#MELT_NEED_DBG__L1*/
1855 meltfnum[0] = 0 ;
1856 /*^clear*/
1857 /*clear*/ /*_._IF___V6*/
1858 meltfptr[5] = 0 ;
1861 #else /*MELT_HAVE_DEBUG*/
1862 /*^cppif.else*/
1863 /*^block*/
1864 /*anyblock*/
1869 /*^locexp*/
1870 /*void*/(void)0;
1873 /*epilog*/
1876 #endif /*MELT_HAVE_DEBUG*/
1878 MELT_LOCATION("warmelt-moremacro.melt:437:/ quasiblock");
1881 /*^getslot*/
1883 melt_ptr_t slot=NULL, obj=NULL;
1884 obj = (melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/;
1885 melt_object_get_field(slot,obj, 2, "SEXP_CONTENTS");
1886 /*_.CONT__V8*/
1887 meltfptr[6] = slot;
1890 MELT_LOCATION("warmelt-moremacro.melt:438:/ getslot");
1892 melt_ptr_t slot=NULL, obj=NULL;
1893 obj = (melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/;
1894 melt_object_get_field(slot,obj, 1, "LOCA_LOCATION");
1895 /*_.LOC__V9*/
1896 meltfptr[5] = slot;
1899 /*_.LIST_FIRST__V10*/
1900 meltfptr[9] =
1901 (melt_list_first((melt_ptr_t)(/*_.CONT__V8*/ meltfptr[6])));;
1902 /*^compute*/
1903 /*_.CURPAIR__V11*/
1904 meltfptr[10] =
1905 (melt_pair_tail((melt_ptr_t)(/*_.LIST_FIRST__V10*/ meltfptr[9])));;
1908 MELT_LOCATION("warmelt-moremacro.melt:441:/ locexp");
1909 /* error_plain */
1910 melt_error_str((melt_ptr_t)(/*_.LOC__V9*/ meltfptr[5]), ( "COMMA outside of BACKQUOTE-d expression"), (melt_ptr_t)0);
1914 MELT_LOCATION("warmelt-moremacro.melt:437:/ clear");
1915 /*clear*/ /*_.CONT__V8*/
1916 meltfptr[6] = 0 ;
1917 /*^clear*/
1918 /*clear*/ /*_.LOC__V9*/
1919 meltfptr[5] = 0 ;
1920 /*^clear*/
1921 /*clear*/ /*_.LIST_FIRST__V10*/
1922 meltfptr[9] = 0 ;
1923 /*^clear*/
1924 /*clear*/ /*_.CURPAIR__V11*/
1925 meltfptr[10] = 0 ;
1927 MELT_CHECK_SIGNAL();
1929 /*epilog*/
1933 goto meltlabend_rout;
1934 meltlabend_rout:
1935 melt_trace_end("MEXPAND_COMMA", meltcallcount);
1936 melt_blocklevel_signals = current_blocklevel_signals_meltrout_10_WARMELTmiMOREMACRO_MEXPAND_COMMA_melt;
1937 return (melt_ptr_t)(/*noretval*/ NULL);
1938 #undef meltcallcount
1939 #undef meltfram__
1940 #undef MELTFRAM_NBVARNUM
1941 #undef MELTFRAM_NBVARPTR
1942 } /*end meltrout_10_WARMELTmiMOREMACRO_MEXPAND_COMMA*/
1949 melt_ptr_t MELT_MODULE_VISIBILITY
1950 meltrout_11_WARMELTmiMOREMACRO_SUBSTITUTE_SEXPR(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_,
1951 const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_)
1953 long current_blocklevel_signals_meltrout_11_WARMELTmiMOREMACRO_SUBSTITUTE_SEXPR_melt = melt_blocklevel_signals;
1955 #if MELT_HAVE_DEBUG
1956 static long melt_call_counter__;
1957 long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__;
1958 #undef meltcallcount
1959 #define meltcallcount melt_thiscallcounter__
1960 #else
1961 #undef meltcallcount
1962 #define meltcallcount 0L
1963 #endif
1964 //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1538
1966 /* start of frame for routine meltrout_11_WARMELTmiMOREMACRO_SUBSTITUTE_SEXPR fromline 1752 */
1968 /** start of frame for meltrout_11_WARMELTmiMOREMACRO_SUBSTITUTE_SEXPR of CLASS_PROCROUTINEOBJ from 1555**/
1970 /*curframdeclclassy*/ class MeltFrame_meltrout_11_WARMELTmiMOREMACRO_SUBSTITUTE_SEXPR// fromline 1568
1971 : public Melt_CallFrameWithValues<39>
1973 public: /* fromline 1572*/
1974 long mcfr_varnum[21];
1975 /*classy others*/
1976 long _meltsparel;
1977 void melt_mark_stuff (void)
1979 } /*end melt_mark_stuff*/
1980 virtual void melt_mark_ggc_data (void)
1982 melt_mark_values ();
1983 melt_mark_stuff ();
1984 }; /*end melt_mark_ggc_data*/
1985 MeltFrame_meltrout_11_WARMELTmiMOREMACRO_SUBSTITUTE_SEXPR(meltclosure_ptr_t clos) //the closure constructor fromline 1630
1986 : Melt_CallFrameWithValues<39> (
1987 #if ENABLE_CHECKING /*fromline 1634*/
1988 __FILE__, __LINE__,
1989 #endif /* ENABLE_CHECKING fromline 1638*/
1990 sizeof(MeltFrame_meltrout_11_WARMELTmiMOREMACRO_SUBSTITUTE_SEXPR), clos) {};
1991 MeltFrame_meltrout_11_WARMELTmiMOREMACRO_SUBSTITUTE_SEXPR() //the constructor fromline 1642
1992 : Melt_CallFrameWithValues<39> (
1993 #if ENABLE_CHECKING /*fromline 1646*/
1994 __FILE__, __LINE__,
1995 #endif /* ENABLE_CHECKING fromline 1650*/
1996 sizeof(MeltFrame_meltrout_11_WARMELTmiMOREMACRO_SUBSTITUTE_SEXPR)) {};
1997 #if ENABLE_CHECKING /*fromline 1654*/
1998 MeltFrame_meltrout_11_WARMELTmiMOREMACRO_SUBSTITUTE_SEXPR(const char*fil, int lin) //the constructor fromline 1656
1999 : Melt_CallFrameWithValues<39> (fil,lin, sizeof(MeltFrame_meltrout_11_WARMELTmiMOREMACRO_SUBSTITUTE_SEXPR)) {};
2000 MeltFrame_meltrout_11_WARMELTmiMOREMACRO_SUBSTITUTE_SEXPR(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1661
2001 : Melt_CallFrameWithValues<39> (fil,lin, sizeof(MeltFrame_meltrout_11_WARMELTmiMOREMACRO_SUBSTITUTE_SEXPR), clos) {};
2002 #endif /* ENABLE_CHECKING fromline 1666*/
2004 }; // end class MeltFrame_meltrout_11_WARMELTmiMOREMACRO_SUBSTITUTE_SEXPR
2007 /** end of frame for meltrout_11_WARMELTmiMOREMACRO_SUBSTITUTE_SEXPR fromline 1697**/
2009 /* end of frame for routine meltrout_11_WARMELTmiMOREMACRO_SUBSTITUTE_SEXPR fromline 1756 */
2011 /* classy proc frame meltrout_11_WARMELTmiMOREMACRO_SUBSTITUTE_SEXPR */
2012 MeltFrame_meltrout_11_WARMELTmiMOREMACRO_SUBSTITUTE_SEXPR
2013 meltfram__ /*declfrastruct fromline 1780*/
2014 /*classyprocarg meltrout_11_WARMELTmiMOREMACRO_SUBSTITUTE_SEXPR fromline 1785*/
2015 #if ENABLE_CHECKING
2016 (__FILE__, __LINE__, meltclosp_) /* fromline 1789*/
2017 #else /*ENABLE_CHECKING */
2018 (meltclosp_) /* fromline 1793*/
2019 #endif /*ENABLE_CHECKING */
2022 #define meltframe meltfram__
2024 melt_trace_start("SUBSTITUTE_SEXPR", meltcallcount);
2025 /*use arguments*/
2026 (void) meltclosp_;
2027 (void)meltfirstargp_;
2028 (void)meltxargdescr_;
2029 (void)meltxargtab_;
2030 (void)meltxresdescr_;
2031 (void)meltxrestab_;
2032 /*getargs*/
2034 /*getarg#0*/
2035 MELT_LOCATION("warmelt-moremacro.melt:453:/ getarg");
2036 /*_.SEXPR__V2*/
2037 meltfptr[1] = (melt_ptr_t) meltfirstargp_;
2039 /*getarg#1*/
2040 /*^getarg*/
2041 if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_endgetargs;
2042 /*_.SYMBREPF__V3*/
2043 meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL;
2044 gcc_assert(melt_discr((melt_ptr_t)(/*_.SYMBREPF__V3*/ meltfptr[2])) != NULL);
2047 /*getarg#2*/
2048 /*^getarg*/
2049 if (meltxargdescr_[1] != MELTBPAR_PTR) goto meltlab_endgetargs;
2050 /*_.INSIDEF__V4*/
2051 meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL;
2052 gcc_assert(melt_discr((melt_ptr_t)(/*_.INSIDEF__V4*/ meltfptr[3])) != NULL);
2055 goto meltlab_endgetargs;
2056 meltlab_endgetargs:
2058 /*body*/
2059 /*^block*/
2060 /*anyblock*/
2064 #if MELT_HAVE_DEBUG
2065 MELT_LOCATION("warmelt-moremacro.melt:462:/ cppif.then");
2066 /*^block*/
2067 /*anyblock*/
2072 /*^locexp*/
2073 /*melt_increment_dbgcounter*/
2074 #if MELT_HAVE_DEBUG
2075 melt_dbgcounter++;
2076 #endif
2081 MELT_CHECK_SIGNAL();
2083 /*_#MELT_NEED_DBG__L1*/
2084 meltfnum[0] =
2085 /*MELT_NEED_DBG*/
2086 #if MELT_HAVE_DEBUG
2087 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
2088 #else
2089 0 /* no melt_need_dbg */
2090 #endif /*MELT_HAVE_DEBUG*/
2092 MELT_LOCATION("warmelt-moremacro.melt:462:/ cond");
2093 /*cond*/
2094 if (/*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then*/
2096 /*^cond.then*/
2097 /*^block*/
2098 /*anyblock*/
2101 /*_#MELT_CALLCOUNT__L2*/ meltfnum[1] =
2102 /* for melt_callcount */
2103 #if MELT_HAVE_DEBUG && defined (meltcallcount)
2104 meltcallcount /* melt_callcount debugging */
2105 #else
2106 0L /* melt_callcount without debug */
2107 #endif /* MELT_HAVE_DEBUG melt_callcount */
2110 MELT_CHECK_SIGNAL();
2112 MELT_LOCATION("warmelt-moremacro.melt:462:/ apply");
2113 /*apply*/
2115 union meltparam_un argtab[6];
2116 memset(&argtab, 0, sizeof(argtab));
2117 /*^apply.arg*/
2118 argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L2*/ meltfnum[1];
2119 /*^apply.arg*/
2120 argtab[1].meltbp_cstring = "warmelt-moremacro.melt";
2121 /*^apply.arg*/
2122 argtab[2].meltbp_long = 462;
2123 /*^apply.arg*/
2124 argtab[3].meltbp_cstring = "substitute_sexpr";
2125 /*^apply.arg*/
2126 argtab[4].meltbp_cstring = " sexpr=";
2127 /*^apply.arg*/
2128 argtab[5].meltbp_aptr = (melt_ptr_t*) &/*_.SEXPR__V2*/ meltfptr[1];
2129 /*_.MELT_DEBUG_FUN__V6*/
2130 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 ""), argtab, "", (union meltparam_un*)0);
2133 /*_._IF___V5*/
2134 meltfptr[4] = /*_.MELT_DEBUG_FUN__V6*/ meltfptr[5];;
2135 /*epilog*/
2137 MELT_LOCATION("warmelt-moremacro.melt:462:/ clear");
2138 /*clear*/ /*_#MELT_CALLCOUNT__L2*/
2139 meltfnum[1] = 0 ;
2140 /*^clear*/
2141 /*clear*/ /*_.MELT_DEBUG_FUN__V6*/
2142 meltfptr[5] = 0 ;
2146 else /*^cond.else*/
2149 /*_._IF___V5*/ meltfptr[4] = /*reallynil*/ NULL ;;
2154 MELT_LOCATION("warmelt-moremacro.melt:462:/ locexp");
2155 /*void*/
2156 (void)0;
2159 /*^quasiblock*/
2162 /*epilog*/
2164 /*^clear*/
2165 /*clear*/ /*_#MELT_NEED_DBG__L1*/
2166 meltfnum[0] = 0 ;
2167 /*^clear*/
2168 /*clear*/ /*_._IF___V5*/
2169 meltfptr[4] = 0 ;
2172 #else /*MELT_HAVE_DEBUG*/
2173 /*^cppif.else*/
2174 /*^block*/
2175 /*anyblock*/
2180 /*^locexp*/
2181 /*void*/(void)0;
2184 /*epilog*/
2187 #endif /*MELT_HAVE_DEBUG*/
2190 MELT_CHECK_SIGNAL();
2192 /*_#IS_NOT_A__L3*/
2193 meltfnum[1] =
2194 !melt_is_instance_of((melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_SEXPR*/ meltfrout->tabval[1])));;
2195 MELT_LOCATION("warmelt-moremacro.melt:463:/ cond");
2196 /*cond*/
2197 if (/*_#IS_NOT_A__L3*/ meltfnum[1]) /*then*/
2199 /*^cond.then*/
2200 /*^block*/
2201 /*anyblock*/
2205 #if MELT_HAVE_DEBUG
2206 MELT_LOCATION("warmelt-moremacro.melt:464:/ cppif.then");
2207 /*^block*/
2208 /*anyblock*/
2213 /*^locexp*/
2214 /*melt_increment_dbgcounter*/
2215 #if MELT_HAVE_DEBUG
2216 melt_dbgcounter++;
2217 #endif
2222 MELT_CHECK_SIGNAL();
2224 /*_#MELT_NEED_DBG__L4*/
2225 meltfnum[0] =
2226 /*MELT_NEED_DBG*/
2227 #if MELT_HAVE_DEBUG
2228 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
2229 #else
2230 0 /* no melt_need_dbg */
2231 #endif /*MELT_HAVE_DEBUG*/
2233 MELT_LOCATION("warmelt-moremacro.melt:464:/ cond");
2234 /*cond*/
2235 if (/*_#MELT_NEED_DBG__L4*/ meltfnum[0]) /*then*/
2237 /*^cond.then*/
2238 /*^block*/
2239 /*anyblock*/
2242 /*_#MELT_CALLCOUNT__L5*/ meltfnum[4] =
2243 /* for melt_callcount */
2244 #if MELT_HAVE_DEBUG && defined (meltcallcount)
2245 meltcallcount /* melt_callcount debugging */
2246 #else
2247 0L /* melt_callcount without debug */
2248 #endif /* MELT_HAVE_DEBUG melt_callcount */
2251 MELT_CHECK_SIGNAL();
2253 MELT_LOCATION("warmelt-moremacro.melt:464:/ apply");
2254 /*apply*/
2256 union meltparam_un argtab[6];
2257 memset(&argtab, 0, sizeof(argtab));
2258 /*^apply.arg*/
2259 argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L5*/ meltfnum[4];
2260 /*^apply.arg*/
2261 argtab[1].meltbp_cstring = "warmelt-moremacro.melt";
2262 /*^apply.arg*/
2263 argtab[2].meltbp_long = 464;
2264 /*^apply.arg*/
2265 argtab[3].meltbp_cstring = "substitute_sexpr";
2266 /*^apply.arg*/
2267 argtab[4].meltbp_cstring = " not an S-expr:";
2268 /*^apply.arg*/
2269 argtab[5].meltbp_aptr = (melt_ptr_t*) &/*_.SEXPR__V2*/ meltfptr[1];
2270 /*_.MELT_DEBUG_FUN__V9*/
2271 meltfptr[8] = 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);
2274 /*_._IF___V8*/
2275 meltfptr[4] = /*_.MELT_DEBUG_FUN__V9*/ meltfptr[8];;
2276 /*epilog*/
2278 MELT_LOCATION("warmelt-moremacro.melt:464:/ clear");
2279 /*clear*/ /*_#MELT_CALLCOUNT__L5*/
2280 meltfnum[4] = 0 ;
2281 /*^clear*/
2282 /*clear*/ /*_.MELT_DEBUG_FUN__V9*/
2283 meltfptr[8] = 0 ;
2287 else /*^cond.else*/
2290 /*_._IF___V8*/ meltfptr[4] = /*reallynil*/ NULL ;;
2295 MELT_LOCATION("warmelt-moremacro.melt:464:/ locexp");
2296 /*void*/
2297 (void)0;
2300 /*^quasiblock*/
2303 /*epilog*/
2305 /*^clear*/
2306 /*clear*/ /*_#MELT_NEED_DBG__L4*/
2307 meltfnum[0] = 0 ;
2308 /*^clear*/
2309 /*clear*/ /*_._IF___V8*/
2310 meltfptr[4] = 0 ;
2313 #else /*MELT_HAVE_DEBUG*/
2314 /*^cppif.else*/
2315 /*^block*/
2316 /*anyblock*/
2321 /*^locexp*/
2322 /*void*/(void)0;
2325 /*epilog*/
2328 #endif /*MELT_HAVE_DEBUG*/
2331 MELT_CHECK_SIGNAL();
2333 MELT_LOCATION("warmelt-moremacro.melt:465:/ quasiblock");
2336 /*_._RETVAL___V1*/
2337 meltfptr[0] = /*_.SEXPR__V2*/ meltfptr[1];;
2340 MELT_LOCATION("warmelt-moremacro.melt:465:/ locexp");
2341 /*ochecknores compilobj_nrep_return*/
2342 #if MELT_HAVE_DEBUG
2343 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
2344 melt_warn_for_no_expected_secondary_results();
2345 /* we warned when secondary results are expected but not returned. */
2346 #endif /*MELT_HAVE_DEBUG*/
2350 /*^finalreturn*/
2352 /*finalret*/
2353 goto meltlabend_rout ;
2354 MELT_LOCATION("warmelt-moremacro.melt:463:/ quasiblock");
2357 /*_.PROGN___V11*/
2358 meltfptr[4] = /*_.RETURN___V10*/ meltfptr[8];;
2359 /*^compute*/
2360 /*_._IF___V7*/
2361 meltfptr[5] = /*_.PROGN___V11*/ meltfptr[4];;
2362 /*epilog*/
2364 MELT_LOCATION("warmelt-moremacro.melt:463:/ clear");
2365 /*clear*/ /*_.RETURN___V10*/
2366 meltfptr[8] = 0 ;
2367 /*^clear*/
2368 /*clear*/ /*_.PROGN___V11*/
2369 meltfptr[4] = 0 ;
2373 else /*^cond.else*/
2376 /*_._IF___V7*/ meltfptr[5] = /*reallynil*/ NULL ;;
2379 MELT_LOCATION("warmelt-moremacro.melt:466:/ quasiblock");
2382 /*_.CLIST__V13*/
2383 meltfptr[4] =
2384 (meltgc_new_list((meltobject_ptr_t)((/*!DISCR_LIST*/ meltfrout->tabval[2]))));;
2385 MELT_LOCATION("warmelt-moremacro.melt:467:/ getslot");
2387 melt_ptr_t slot=NULL, obj=NULL;
2388 obj = (melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/;
2389 melt_object_get_field(slot,obj, 2, "SEXP_CONTENTS");
2390 /*_.CONT__V14*/
2391 meltfptr[13] = slot;
2394 MELT_LOCATION("warmelt-moremacro.melt:468:/ getslot");
2396 melt_ptr_t slot=NULL, obj=NULL;
2397 obj = (melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/;
2398 melt_object_get_field(slot,obj, 1, "LOCA_LOCATION");
2399 /*_.LOC__V15*/
2400 meltfptr[14] = slot;
2404 MELT_CHECK_SIGNAL();
2406 /*_#IS_A__L6*/
2407 meltfnum[4] =
2408 melt_is_instance_of((melt_ptr_t)(/*_.SEXPR__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_SEXPR_MACROSTRING*/ meltfrout->tabval[3])));;
2409 MELT_LOCATION("warmelt-moremacro.melt:469:/ cond");
2410 /*cond*/
2411 if (/*_#IS_A__L6*/ meltfnum[4]) /*then*/
2413 /*^cond.then*/
2414 /*^block*/
2415 /*anyblock*/
2419 MELT_CHECK_SIGNAL();
2421 MELT_LOCATION("warmelt-moremacro.melt:470:/ quasiblock");
2424 /*^rawallocobj*/
2425 /*rawallocobj*/
2427 melt_ptr_t newobj = 0;
2428 melt_raw_object_create(newobj,(melt_ptr_t)((/*!CLASS_SEXPR_MACROSTRING*/ meltfrout->tabval[3])), (3), "CLASS_SEXPR_MACROSTRING");
2429 /*_.INST__V18*/
2430 meltfptr[17] =
2431 newobj;
2434 /*^putslot*/
2435 /*putslot*/
2436 melt_assertmsg("checkobj putslot _ @LOCA_LOCATION", melt_magic_discr((melt_ptr_t)(/*_.INST__V18*/ meltfptr[17])) == MELTOBMAG_OBJECT);
2437 melt_putfield_object((/*_.INST__V18*/ meltfptr[17]), (1), (/*_.LOC__V15*/ meltfptr[14]), "LOCA_LOCATION");
2439 /*^putslot*/
2440 /*putslot*/
2441 melt_assertmsg("checkobj putslot _ @SEXP_CONTENTS", melt_magic_discr((melt_ptr_t)(/*_.INST__V18*/ meltfptr[17])) == MELTOBMAG_OBJECT);
2442 melt_putfield_object((/*_.INST__V18*/ meltfptr[17]), (2), (/*_.CLIST__V13*/ meltfptr[4]), "SEXP_CONTENTS");
2444 /*^touchobj*/
2446 melt_dbgtrace_written_object (/*_.INST__V18*/ meltfptr[17], "newly made instance");
2448 /*_.INST___V17*/
2449 meltfptr[16] = /*_.INST__V18*/ meltfptr[17];;
2450 /*^compute*/
2451 /*_.NEWSEXPR__V16*/
2452 meltfptr[15] = /*_.INST___V17*/ meltfptr[16];;
2453 /*epilog*/
2455 MELT_LOCATION("warmelt-moremacro.melt:469:/ clear");
2456 /*clear*/ /*_.INST___V17*/
2457 meltfptr[16] = 0 ;
2461 else /*^cond.else*/
2464 /*^block*/
2465 /*anyblock*/
2469 MELT_CHECK_SIGNAL();
2471 MELT_LOCATION("warmelt-moremacro.melt:473:/ quasiblock");
2474 /*^rawallocobj*/
2475 /*rawallocobj*/
2477 melt_ptr_t newobj = 0;
2478 melt_raw_object_create(newobj,(melt_ptr_t)((/*!CLASS_SEXPR*/ meltfrout->tabval[1])), (3), "CLASS_SEXPR");
2479 /*_.INST__V20*/
2480 meltfptr[19] =
2481 newobj;
2484 /*^putslot*/
2485 /*putslot*/
2486 melt_assertmsg("checkobj putslot _ @LOCA_LOCATION", melt_magic_discr((melt_ptr_t)(/*_.INST__V20*/ meltfptr[19])) == MELTOBMAG_OBJECT);
2487 melt_putfield_object((/*_.INST__V20*/ meltfptr[19]), (1), (/*_.LOC__V15*/ meltfptr[14]), "LOCA_LOCATION");
2489 /*^putslot*/
2490 /*putslot*/
2491 melt_assertmsg("checkobj putslot _ @SEXP_CONTENTS", melt_magic_discr((melt_ptr_t)(/*_.INST__V20*/ meltfptr[19])) == MELTOBMAG_OBJECT);
2492 melt_putfield_object((/*_.INST__V20*/ meltfptr[19]), (2), (/*_.CLIST__V13*/ meltfptr[4]), "SEXP_CONTENTS");
2494 /*^touchobj*/
2496 melt_dbgtrace_written_object (/*_.INST__V20*/ meltfptr[19], "newly made instance");
2498 /*_.INST___V19*/
2499 meltfptr[16] = /*_.INST__V20*/ meltfptr[19];;
2500 /*^compute*/
2501 /*_.NEWSEXPR__V16*/
2502 meltfptr[15] = /*_.INST___V19*/ meltfptr[16];;
2503 /*epilog*/
2505 MELT_LOCATION("warmelt-moremacro.melt:469:/ clear");
2506 /*clear*/ /*_.INST___V19*/
2507 meltfptr[16] = 0 ;
2512 /*citerblock FOREACH_PAIR_COMPONENT_IN_LIST*/
2514 /* start foreach_pair_component_in_list meltcit1__EACHLIST */
2515 for (/*_.CURPAIRINLISTSYMB__V21*/ meltfptr[16] = melt_list_first( (melt_ptr_t)/*_.CONT__V14*/ meltfptr[13]);
2516 melt_magic_discr((melt_ptr_t) /*_.CURPAIRINLISTSYMB__V21*/ meltfptr[16]) == MELTOBMAG_PAIR;
2517 /*_.CURPAIRINLISTSYMB__V21*/ meltfptr[16] = melt_pair_tail((melt_ptr_t) /*_.CURPAIRINLISTSYMB__V21*/ meltfptr[16]))
2519 /*_.CURCONT__V22*/ meltfptr[21] = melt_pair_head((melt_ptr_t) /*_.CURPAIRINLISTSYMB__V21*/ meltfptr[16]);
2523 #if MELT_HAVE_DEBUG
2524 MELT_LOCATION("warmelt-moremacro.melt:480:/ cppif.then");
2525 /*^block*/
2526 /*anyblock*/
2531 /*^locexp*/
2532 /*melt_increment_dbgcounter*/
2533 #if MELT_HAVE_DEBUG
2534 melt_dbgcounter++;
2535 #endif
2540 MELT_CHECK_SIGNAL();
2542 /*_#MELT_NEED_DBG__L7*/
2543 meltfnum[0] =
2544 /*MELT_NEED_DBG*/
2545 #if MELT_HAVE_DEBUG
2546 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
2547 #else
2548 0 /* no melt_need_dbg */
2549 #endif /*MELT_HAVE_DEBUG*/
2551 MELT_LOCATION("warmelt-moremacro.melt:480:/ cond");
2552 /*cond*/
2553 if (/*_#MELT_NEED_DBG__L7*/ meltfnum[0]) /*then*/
2555 /*^cond.then*/
2556 /*^block*/
2557 /*anyblock*/
2560 /*_#MELT_CALLCOUNT__L8*/ meltfnum[7] =
2561 /* for melt_callcount */
2562 #if MELT_HAVE_DEBUG && defined (meltcallcount)
2563 meltcallcount /* melt_callcount debugging */
2564 #else
2565 0L /* melt_callcount without debug */
2566 #endif /* MELT_HAVE_DEBUG melt_callcount */
2569 MELT_CHECK_SIGNAL();
2571 MELT_LOCATION("warmelt-moremacro.melt:480:/ apply");
2572 /*apply*/
2574 union meltparam_un argtab[6];
2575 memset(&argtab, 0, sizeof(argtab));
2576 /*^apply.arg*/
2577 argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L8*/ meltfnum[7];
2578 /*^apply.arg*/
2579 argtab[1].meltbp_cstring = "warmelt-moremacro.melt";
2580 /*^apply.arg*/
2581 argtab[2].meltbp_long = 480;
2582 /*^apply.arg*/
2583 argtab[3].meltbp_cstring = "substitute_sexpr";
2584 /*^apply.arg*/
2585 argtab[4].meltbp_cstring = " curcont=";
2586 /*^apply.arg*/
2587 argtab[5].meltbp_aptr = (melt_ptr_t*) &/*_.CURCONT__V22*/ meltfptr[21];
2588 /*_.MELT_DEBUG_FUN__V24*/
2589 meltfptr[23] = 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);
2592 /*_._IF___V23*/
2593 meltfptr[22] = /*_.MELT_DEBUG_FUN__V24*/ meltfptr[23];;
2594 /*epilog*/
2596 MELT_LOCATION("warmelt-moremacro.melt:480:/ clear");
2597 /*clear*/ /*_#MELT_CALLCOUNT__L8*/
2598 meltfnum[7] = 0 ;
2599 /*^clear*/
2600 /*clear*/ /*_.MELT_DEBUG_FUN__V24*/
2601 meltfptr[23] = 0 ;
2605 else /*^cond.else*/
2608 /*_._IF___V23*/ meltfptr[22] = /*reallynil*/ NULL ;;
2613 MELT_LOCATION("warmelt-moremacro.melt:480:/ locexp");
2614 /*void*/
2615 (void)0;
2618 /*^quasiblock*/
2621 /*epilog*/
2623 /*^clear*/
2624 /*clear*/ /*_#MELT_NEED_DBG__L7*/
2625 meltfnum[0] = 0 ;
2626 /*^clear*/
2627 /*clear*/ /*_._IF___V23*/
2628 meltfptr[22] = 0 ;
2631 #else /*MELT_HAVE_DEBUG*/
2632 /*^cppif.else*/
2633 /*^block*/
2634 /*anyblock*/
2639 /*^locexp*/
2640 /*void*/(void)0;
2643 /*epilog*/
2646 #endif /*MELT_HAVE_DEBUG*/
2649 MELT_CHECK_SIGNAL();
2651 /*_#IS_A__L9*/
2652 meltfnum[7] =
2653 melt_is_instance_of((melt_ptr_t)(/*_.CURCONT__V22*/ meltfptr[21]), (melt_ptr_t)((/*!CLASS_KEYWORD*/ meltfrout->tabval[4])));;
2654 MELT_LOCATION("warmelt-moremacro.melt:482:/ cond");
2655 /*cond*/
2656 if (/*_#IS_A__L9*/ meltfnum[7]) /*then*/
2658 /*^cond.then*/
2659 /*^block*/
2660 /*anyblock*/
2665 MELT_LOCATION("warmelt-moremacro.melt:483:/ locexp");
2666 meltgc_append_list((melt_ptr_t)(/*_.CLIST__V13*/ meltfptr[4]), (melt_ptr_t)(/*_.CURCONT__V22*/ meltfptr[21]));
2669 /*epilog*/
2673 else
2675 MELT_LOCATION("warmelt-moremacro.melt:482:/ cond.else");
2677 /*^block*/
2678 /*anyblock*/
2682 MELT_CHECK_SIGNAL();
2684 /*_#IS_A__L10*/
2685 meltfnum[0] =
2686 melt_is_instance_of((melt_ptr_t)(/*_.CURCONT__V22*/ meltfptr[21]), (melt_ptr_t)((/*!CLASS_SYMBOL*/ meltfrout->tabval[5])));;
2687 MELT_LOCATION("warmelt-moremacro.melt:484:/ cond");
2688 /*cond*/
2689 if (/*_#IS_A__L10*/ meltfnum[0]) /*then*/
2691 /*^cond.then*/
2692 /*^block*/
2693 /*anyblock*/
2696 MELT_LOCATION("warmelt-moremacro.melt:485:/ quasiblock");
2700 MELT_CHECK_SIGNAL();
2702 /*_#IS_CLOSURE__L11*/
2703 meltfnum[10] =
2704 (melt_magic_discr((melt_ptr_t)(/*_.SYMBREPF__V3*/ meltfptr[2])) == MELTOBMAG_CLOSURE);;
2705 MELT_LOCATION("warmelt-moremacro.melt:485:/ cond");
2706 /*cond*/
2707 if (/*_#IS_CLOSURE__L11*/ meltfnum[10]) /*then*/
2709 /*^cond.then*/
2710 /*^block*/
2711 /*anyblock*/
2715 MELT_CHECK_SIGNAL();
2717 MELT_LOCATION("warmelt-moremacro.melt:486:/ apply");
2718 /*apply*/
2720 /*_.SYMBREPF__V26*/ meltfptr[22] = melt_apply ((meltclosure_ptr_t)(/*_.SYMBREPF__V3*/ meltfptr[2]), (melt_ptr_t)(/*_.CURCONT__V22*/ meltfptr[21]), (""), (union meltparam_un*)0, "", (union meltparam_un*)0);
2723 /*_.REPSYMB__V25*/
2724 meltfptr[23] = /*_.SYMBREPF__V26*/ meltfptr[22];;
2725 /*epilog*/
2727 MELT_LOCATION("warmelt-moremacro.melt:485:/ clear");
2728 /*clear*/ /*_.SYMBREPF__V26*/
2729 meltfptr[22] = 0 ;
2733 else /*^cond.else*/
2736 /*_.REPSYMB__V25*/ meltfptr[23] = /*_.CURCONT__V22*/ meltfptr[21];;
2740 MELT_CHECK_SIGNAL();
2742 /*^compute*/
2743 /*_#IS_MULTIPLE__L12*/
2744 meltfnum[11] =
2745 (melt_magic_discr((melt_ptr_t)(/*_.REPSYMB__V25*/ meltfptr[23])) == MELTOBMAG_MULTIPLE);;
2746 MELT_LOCATION("warmelt-moremacro.melt:490:/ cond");
2747 /*cond*/
2748 if (/*_#IS_MULTIPLE__L12*/ meltfnum[11]) /*then*/
2750 /*^cond.then*/
2751 /*^block*/
2752 /*anyblock*/
2755 /*citerblock FOREACH_IN_MULTIPLE*/
2757 /* start foreach_in_multiple meltcit2__EACHTUP */
2758 long meltcit2__EACHTUP_ln = melt_multiple_length((melt_ptr_t)/*_.REPSYMB__V25*/ meltfptr[23]);
2759 for (/*_#RIX__L13*/ meltfnum[12] = 0;
2760 (/*_#RIX__L13*/ meltfnum[12] >= 0) && (/*_#RIX__L13*/ meltfnum[12] < meltcit2__EACHTUP_ln);
2761 /*_#RIX__L13*/ meltfnum[12]++)
2763 /*_.CURREP__V27*/ meltfptr[22] = melt_multiple_nth((melt_ptr_t)(/*_.REPSYMB__V25*/ meltfptr[23]), /*_#RIX__L13*/ meltfnum[12]);
2769 MELT_LOCATION("warmelt-moremacro.melt:494:/ locexp");
2770 meltgc_append_list((melt_ptr_t)(/*_.CLIST__V13*/ meltfptr[4]), (melt_ptr_t)(/*_.CURREP__V27*/ meltfptr[22]));
2773 if (/*_#RIX__L13*/ meltfnum[12]<0) break;
2774 } /* end foreach_in_multiple meltcit2__EACHTUP */
2776 /*citerepilog*/
2778 MELT_LOCATION("warmelt-moremacro.melt:491:/ clear");
2779 /*clear*/ /*_.CURREP__V27*/
2780 meltfptr[22] = 0 ;
2781 /*^clear*/
2782 /*clear*/ /*_#RIX__L13*/
2783 meltfnum[12] = 0 ;
2784 } /*endciterblock FOREACH_IN_MULTIPLE*/
2788 MELT_LOCATION("warmelt-moremacro.melt:496:/ locexp");
2789 /*void*/
2790 (void)0;
2793 MELT_LOCATION("warmelt-moremacro.melt:490:/ quasiblock");
2796 /*epilog*/
2800 else /*^cond.else*/
2803 /*^block*/
2804 /*anyblock*/
2808 MELT_CHECK_SIGNAL();
2810 /*_#IS_LIST__L14*/
2811 meltfnum[13] =
2812 (melt_magic_discr((melt_ptr_t)(/*_.REPSYMB__V25*/ meltfptr[23])) == MELTOBMAG_LIST);;
2813 MELT_LOCATION("warmelt-moremacro.melt:498:/ cond");
2814 /*cond*/
2815 if (/*_#IS_LIST__L14*/ meltfnum[13]) /*then*/
2817 /*^cond.then*/
2818 /*^block*/
2819 /*anyblock*/
2822 /*citerblock FOREACH_PAIR_COMPONENT_IN_LIST*/
2824 /* start foreach_pair_component_in_list meltcit3__EACHLIST */
2825 for (/*_.CURPAIRINLISTSYMB__V28*/ meltfptr[27] = melt_list_first( (melt_ptr_t)/*_.REPSYMB__V25*/ meltfptr[23]);
2826 melt_magic_discr((melt_ptr_t) /*_.CURPAIRINLISTSYMB__V28*/ meltfptr[27]) == MELTOBMAG_PAIR;
2827 /*_.CURPAIRINLISTSYMB__V28*/ meltfptr[27] = melt_pair_tail((melt_ptr_t) /*_.CURPAIRINLISTSYMB__V28*/ meltfptr[27]))
2829 /*_.CURLREP__V29*/ meltfptr[28] = melt_pair_head((melt_ptr_t) /*_.CURPAIRINLISTSYMB__V28*/ meltfptr[27]);
2834 MELT_LOCATION("warmelt-moremacro.melt:502:/ locexp");
2835 meltgc_append_list((melt_ptr_t)(/*_.CLIST__V13*/ meltfptr[4]), (melt_ptr_t)(/*_.CURLREP__V29*/ meltfptr[28]));
2838 } /* end foreach_pair_component_in_list meltcit3__EACHLIST */
2839 /*_.CURPAIRINLISTSYMB__V28*/ meltfptr[27] = NULL;
2840 /*_.CURLREP__V29*/
2841 meltfptr[28] = NULL;
2844 /*citerepilog*/
2846 MELT_LOCATION("warmelt-moremacro.melt:499:/ clear");
2847 /*clear*/ /*_.CURPAIRINLISTSYMB__V28*/
2848 meltfptr[27] = 0 ;
2849 /*^clear*/
2850 /*clear*/ /*_.CURLREP__V29*/
2851 meltfptr[28] = 0 ;
2852 } /*endciterblock FOREACH_PAIR_COMPONENT_IN_LIST*/
2856 MELT_LOCATION("warmelt-moremacro.melt:503:/ locexp");
2857 /*void*/
2858 (void)0;
2861 MELT_LOCATION("warmelt-moremacro.melt:498:/ quasiblock");
2864 /*epilog*/
2868 else /*^cond.else*/
2871 /*^block*/
2872 /*anyblock*/
2877 MELT_LOCATION("warmelt-moremacro.melt:505:/ locexp");
2878 meltgc_append_list((melt_ptr_t)(/*_.CLIST__V13*/ meltfptr[4]), (melt_ptr_t)(/*_.REPSYMB__V25*/ meltfptr[23]));
2881 MELT_LOCATION("warmelt-moremacro.melt:504:/ quasiblock");
2884 /*epilog*/
2889 /*epilog*/
2891 MELT_LOCATION("warmelt-moremacro.melt:490:/ clear");
2892 /*clear*/ /*_#IS_LIST__L14*/
2893 meltfnum[13] = 0 ;
2899 MELT_LOCATION("warmelt-moremacro.melt:485:/ clear");
2900 /*clear*/ /*_#IS_CLOSURE__L11*/
2901 meltfnum[10] = 0 ;
2902 /*^clear*/
2903 /*clear*/ /*_.REPSYMB__V25*/
2904 meltfptr[23] = 0 ;
2905 /*^clear*/
2906 /*clear*/ /*_#IS_MULTIPLE__L12*/
2907 meltfnum[11] = 0 ;
2908 /*epilog*/
2912 else
2914 MELT_LOCATION("warmelt-moremacro.melt:484:/ cond.else");
2916 /*^block*/
2917 /*anyblock*/
2921 MELT_CHECK_SIGNAL();
2923 /*_#IS_A__L15*/
2924 meltfnum[13] =
2925 melt_is_instance_of((melt_ptr_t)(/*_.CURCONT__V22*/ meltfptr[21]), (melt_ptr_t)((/*!CLASS_SEXPR*/ meltfrout->tabval[1])));;
2926 MELT_LOCATION("warmelt-moremacro.melt:507:/ cond");
2927 /*cond*/
2928 if (/*_#IS_A__L15*/ meltfnum[13]) /*then*/
2930 /*^cond.then*/
2931 /*^block*/
2932 /*anyblock*/
2935 MELT_LOCATION("warmelt-moremacro.melt:508:/ quasiblock");
2939 MELT_CHECK_SIGNAL();
2941 /*_#IS_CLOSURE__L16*/
2942 meltfnum[10] =
2943 (melt_magic_discr((melt_ptr_t)(/*_.INSIDEF__V4*/ meltfptr[3])) == MELTOBMAG_CLOSURE);;
2944 MELT_LOCATION("warmelt-moremacro.melt:509:/ cond");
2945 /*cond*/
2946 if (/*_#IS_CLOSURE__L16*/ meltfnum[10]) /*then*/
2948 /*^cond.then*/
2949 /*^block*/
2950 /*anyblock*/
2954 MELT_CHECK_SIGNAL();
2956 /*^apply*/
2957 /*apply*/
2959 /*_.INSIDEF__V31*/ meltfptr[30] = melt_apply ((meltclosure_ptr_t)(/*_.INSIDEF__V4*/ meltfptr[3]), (melt_ptr_t)(/*_.CURCONT__V22*/ meltfptr[21]), (""), (union meltparam_un*)0, "", (union meltparam_un*)0);
2962 /*_.INSIDEV__V30*/
2963 meltfptr[23] = /*_.INSIDEF__V31*/ meltfptr[30];;
2964 /*epilog*/
2966 MELT_LOCATION("warmelt-moremacro.melt:509:/ clear");
2967 /*clear*/ /*_.INSIDEF__V31*/
2968 meltfptr[30] = 0 ;
2972 else /*^cond.else*/
2975 /*_.INSIDEV__V30*/ meltfptr[23] = /*reallynil*/ NULL ;;
2979 MELT_CHECK_SIGNAL();
2981 MELT_LOCATION("warmelt-moremacro.melt:510:/ cond");
2982 /*cond*/
2983 if (/*_.INSIDEV__V30*/ meltfptr[23]) /*then*/
2985 /*^cond.then*/
2986 /*^block*/
2987 /*anyblock*/
2991 MELT_CHECK_SIGNAL();
2993 /*^apply*/
2994 /*apply*/
2996 union meltparam_un argtab[2];
2997 memset(&argtab, 0, sizeof(argtab));
2998 /*^apply.arg*/
2999 argtab[0].meltbp_aptr = (melt_ptr_t*) &/*_.SYMBREPF__V3*/ meltfptr[2];
3000 /*^apply.arg*/
3001 argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.INSIDEF__V4*/ meltfptr[3];
3002 /*_.SUBSTITUTE_SEXPR__V33*/
3003 meltfptr[32] = melt_apply ((meltclosure_ptr_t)((/*!SUBSTITUTE_SEXPR*/ meltfrout->tabval[6])), (melt_ptr_t)(/*_.CURCONT__V22*/ meltfptr[21]), (MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
3006 /*_.REPLCONT__V32*/
3007 meltfptr[30] = /*_.SUBSTITUTE_SEXPR__V33*/ meltfptr[32];;
3008 /*epilog*/
3010 MELT_LOCATION("warmelt-moremacro.melt:510:/ clear");
3011 /*clear*/ /*_.SUBSTITUTE_SEXPR__V33*/
3012 meltfptr[32] = 0 ;
3016 else /*^cond.else*/
3019 /*_.REPLCONT__V32*/ meltfptr[30] = /*_.CURCONT__V22*/ meltfptr[21];;
3023 MELT_CHECK_SIGNAL();
3025 /*^compute*/
3026 /*_#IS_MULTIPLE__L17*/
3027 meltfnum[11] =
3028 (melt_magic_discr((melt_ptr_t)(/*_.REPLCONT__V32*/ meltfptr[30])) == MELTOBMAG_MULTIPLE);;
3029 MELT_LOCATION("warmelt-moremacro.melt:513:/ cond");
3030 /*cond*/
3031 if (/*_#IS_MULTIPLE__L17*/ meltfnum[11]) /*then*/
3033 /*^cond.then*/
3034 /*^block*/
3035 /*anyblock*/
3038 /*citerblock FOREACH_IN_MULTIPLE*/
3040 /* start foreach_in_multiple meltcit4__EACHTUP */
3041 long meltcit4__EACHTUP_ln = melt_multiple_length((melt_ptr_t)/*_.INSIDEV__V30*/ meltfptr[23]);
3042 for (/*_#INSIX__L18*/ meltfnum[17] = 0;
3043 (/*_#INSIX__L18*/ meltfnum[17] >= 0) && (/*_#INSIX__L18*/ meltfnum[17] < meltcit4__EACHTUP_ln);
3044 /*_#INSIX__L18*/ meltfnum[17]++)
3046 /*_.CURINS__V34*/ meltfptr[32] = melt_multiple_nth((melt_ptr_t)(/*_.INSIDEV__V30*/ meltfptr[23]), /*_#INSIX__L18*/ meltfnum[17]);
3052 MELT_LOCATION("warmelt-moremacro.melt:517:/ locexp");
3053 meltgc_append_list((melt_ptr_t)(/*_.CLIST__V13*/ meltfptr[4]), (melt_ptr_t)(/*_.CURINS__V34*/ meltfptr[32]));
3056 if (/*_#INSIX__L18*/ meltfnum[17]<0) break;
3057 } /* end foreach_in_multiple meltcit4__EACHTUP */
3059 /*citerepilog*/
3061 MELT_LOCATION("warmelt-moremacro.melt:514:/ clear");
3062 /*clear*/ /*_.CURINS__V34*/
3063 meltfptr[32] = 0 ;
3064 /*^clear*/
3065 /*clear*/ /*_#INSIX__L18*/
3066 meltfnum[17] = 0 ;
3067 } /*endciterblock FOREACH_IN_MULTIPLE*/
3069 /*epilog*/
3073 else
3075 MELT_LOCATION("warmelt-moremacro.melt:513:/ cond.else");
3077 /*^block*/
3078 /*anyblock*/
3082 MELT_CHECK_SIGNAL();
3084 /*_#IS_LIST__L19*/
3085 meltfnum[18] =
3086 (melt_magic_discr((melt_ptr_t)(/*_.REPLCONT__V32*/ meltfptr[30])) == MELTOBMAG_LIST);;
3087 MELT_LOCATION("warmelt-moremacro.melt:518:/ cond");
3088 /*cond*/
3089 if (/*_#IS_LIST__L19*/ meltfnum[18]) /*then*/
3091 /*^cond.then*/
3092 /*^block*/
3093 /*anyblock*/
3096 /*citerblock FOREACH_PAIR_COMPONENT_IN_LIST*/
3098 /* start foreach_pair_component_in_list meltcit5__EACHLIST */
3099 for (/*_.CURPAIRINLISTSYMB__V35*/ meltfptr[34] = melt_list_first( (melt_ptr_t)/*_.REPLCONT__V32*/ meltfptr[30]);
3100 melt_magic_discr((melt_ptr_t) /*_.CURPAIRINLISTSYMB__V35*/ meltfptr[34]) == MELTOBMAG_PAIR;
3101 /*_.CURPAIRINLISTSYMB__V35*/ meltfptr[34] = melt_pair_tail((melt_ptr_t) /*_.CURPAIRINLISTSYMB__V35*/ meltfptr[34]))
3103 /*_.SUBCONT__V36*/ meltfptr[35] = melt_pair_head((melt_ptr_t) /*_.CURPAIRINLISTSYMB__V35*/ meltfptr[34]);
3108 MELT_LOCATION("warmelt-moremacro.melt:522:/ locexp");
3109 meltgc_append_list((melt_ptr_t)(/*_.CLIST__V13*/ meltfptr[4]), (melt_ptr_t)(/*_.SUBCONT__V36*/ meltfptr[35]));
3112 } /* end foreach_pair_component_in_list meltcit5__EACHLIST */
3113 /*_.CURPAIRINLISTSYMB__V35*/ meltfptr[34] = NULL;
3114 /*_.SUBCONT__V36*/
3115 meltfptr[35] = NULL;
3118 /*citerepilog*/
3120 MELT_LOCATION("warmelt-moremacro.melt:519:/ clear");
3121 /*clear*/ /*_.CURPAIRINLISTSYMB__V35*/
3122 meltfptr[34] = 0 ;
3123 /*^clear*/
3124 /*clear*/ /*_.SUBCONT__V36*/
3125 meltfptr[35] = 0 ;
3126 } /*endciterblock FOREACH_PAIR_COMPONENT_IN_LIST*/
3128 /*epilog*/
3132 else
3134 MELT_LOCATION("warmelt-moremacro.melt:518:/ cond.else");
3136 /*^block*/
3137 /*anyblock*/
3142 MELT_LOCATION("warmelt-moremacro.melt:524:/ locexp");
3143 meltgc_append_list((melt_ptr_t)(/*_.CLIST__V13*/ meltfptr[4]), (melt_ptr_t)(/*_.REPLCONT__V32*/ meltfptr[30]));
3146 MELT_LOCATION("warmelt-moremacro.melt:523:/ quasiblock");
3149 /*epilog*/
3154 /*epilog*/
3156 MELT_LOCATION("warmelt-moremacro.melt:513:/ clear");
3157 /*clear*/ /*_#IS_LIST__L19*/
3158 meltfnum[18] = 0 ;
3164 MELT_LOCATION("warmelt-moremacro.melt:508:/ clear");
3165 /*clear*/ /*_#IS_CLOSURE__L16*/
3166 meltfnum[10] = 0 ;
3167 /*^clear*/
3168 /*clear*/ /*_.INSIDEV__V30*/
3169 meltfptr[23] = 0 ;
3170 /*^clear*/
3171 /*clear*/ /*_.REPLCONT__V32*/
3172 meltfptr[30] = 0 ;
3173 /*^clear*/
3174 /*clear*/ /*_#IS_MULTIPLE__L17*/
3175 meltfnum[11] = 0 ;
3176 /*epilog*/
3180 else
3182 MELT_LOCATION("warmelt-moremacro.melt:507:/ cond.else");
3184 /*^block*/
3185 /*anyblock*/
3190 MELT_LOCATION("warmelt-moremacro.melt:528:/ locexp");
3191 meltgc_append_list((melt_ptr_t)(/*_.CLIST__V13*/ meltfptr[4]), (melt_ptr_t)(/*_.CURCONT__V22*/ meltfptr[21]));
3194 MELT_LOCATION("warmelt-moremacro.melt:527:/ quasiblock");
3197 /*epilog*/
3202 /*epilog*/
3204 MELT_LOCATION("warmelt-moremacro.melt:484:/ clear");
3205 /*clear*/ /*_#IS_A__L15*/
3206 meltfnum[13] = 0 ;
3211 /*epilog*/
3213 MELT_LOCATION("warmelt-moremacro.melt:482:/ clear");
3214 /*clear*/ /*_#IS_A__L10*/
3215 meltfnum[0] = 0 ;
3220 } /* end foreach_pair_component_in_list meltcit1__EACHLIST */
3221 /*_.CURPAIRINLISTSYMB__V21*/ meltfptr[16] = NULL;
3222 /*_.CURCONT__V22*/
3223 meltfptr[21] = NULL;
3226 /*citerepilog*/
3228 MELT_LOCATION("warmelt-moremacro.melt:477:/ clear");
3229 /*clear*/ /*_.CURPAIRINLISTSYMB__V21*/
3230 meltfptr[16] = 0 ;
3231 /*^clear*/
3232 /*clear*/ /*_.CURCONT__V22*/
3233 meltfptr[21] = 0 ;
3234 /*^clear*/
3235 /*clear*/ /*_#IS_A__L9*/
3236 meltfnum[7] = 0 ;
3237 } /*endciterblock FOREACH_PAIR_COMPONENT_IN_LIST*/
3240 #if MELT_HAVE_DEBUG
3241 MELT_LOCATION("warmelt-moremacro.melt:533:/ cppif.then");
3242 /*^block*/
3243 /*anyblock*/
3248 /*^locexp*/
3249 /*melt_increment_dbgcounter*/
3250 #if MELT_HAVE_DEBUG
3251 melt_dbgcounter++;
3252 #endif
3257 MELT_CHECK_SIGNAL();
3259 /*_#MELT_NEED_DBG__L20*/
3260 meltfnum[18] =
3261 /*MELT_NEED_DBG*/
3262 #if MELT_HAVE_DEBUG
3263 (/*melt_need_dbg*/ melt_need_debug ((int) 0))
3264 #else
3265 0 /* no melt_need_dbg */
3266 #endif /*MELT_HAVE_DEBUG*/
3268 MELT_LOCATION("warmelt-moremacro.melt:533:/ cond");
3269 /*cond*/
3270 if (/*_#MELT_NEED_DBG__L20*/ meltfnum[18]) /*then*/
3272 /*^cond.then*/
3273 /*^block*/
3274 /*anyblock*/
3277 /*_#MELT_CALLCOUNT__L21*/ meltfnum[10] =
3278 /* for melt_callcount */
3279 #if MELT_HAVE_DEBUG && defined (meltcallcount)
3280 meltcallcount /* melt_callcount debugging */
3281 #else
3282 0L /* melt_callcount without debug */
3283 #endif /* MELT_HAVE_DEBUG melt_callcount */
3286 MELT_CHECK_SIGNAL();
3288 MELT_LOCATION("warmelt-moremacro.melt:533:/ apply");
3289 /*apply*/
3291 union meltparam_un argtab[6];
3292 memset(&argtab, 0, sizeof(argtab));
3293 /*^apply.arg*/
3294 argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L21*/ meltfnum[10];
3295 /*^apply.arg*/
3296 argtab[1].meltbp_cstring = "warmelt-moremacro.melt";
3297 /*^apply.arg*/
3298 argtab[2].meltbp_long = 533;
3299 /*^apply.arg*/
3300 argtab[3].meltbp_cstring = "substitute_sexpr";
3301 /*^apply.arg*/
3302 argtab[4].meltbp_cstring = " result newsexpr=";
3303 /*^apply.arg*/
3304 argtab[5].meltbp_aptr = (melt_ptr_t*) &/*_.NEWSEXPR__V16*/ meltfptr[15];
3305 /*_.MELT_DEBUG_FUN__V38*/
3306 meltfptr[30] = 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);
3309 /*_._IF___V37*/
3310 meltfptr[23] = /*_.MELT_DEBUG_FUN__V38*/ meltfptr[30];;
3311 /*epilog*/
3313 MELT_LOCATION("warmelt-moremacro.melt:533:/ clear");
3314 /*clear*/ /*_#MELT_CALLCOUNT__L21*/
3315 meltfnum[10] = 0 ;
3316 /*^clear*/
3317 /*clear*/ /*_.MELT_DEBUG_FUN__V38*/
3318 meltfptr[30] = 0 ;
3322 else /*^cond.else*/
3325 /*_._IF___V37*/ meltfptr[23] = /*reallynil*/ NULL ;;
3330 MELT_LOCATION("warmelt-moremacro.melt:533:/ locexp");
3331 /*void*/
3332 (void)0;
3335 /*^quasiblock*/
3338 /*epilog*/
3340 /*^clear*/
3341 /*clear*/ /*_#MELT_NEED_DBG__L20*/
3342 meltfnum[18] = 0 ;
3343 /*^clear*/
3344 /*clear*/ /*_._IF___V37*/
3345 meltfptr[23] = 0 ;
3348 #else /*MELT_HAVE_DEBUG*/
3349 /*^cppif.else*/
3350 /*^block*/
3351 /*anyblock*/
3356 /*^locexp*/
3357 /*void*/(void)0;
3360 /*epilog*/
3363 #endif /*MELT_HAVE_DEBUG*/
3366 MELT_CHECK_SIGNAL();
3368 MELT_LOCATION("warmelt-moremacro.melt:534:/ quasiblock");
3371 /*_._RETVAL___V1*/
3372 meltfptr[0] = /*_.NEWSEXPR__V16*/ meltfptr[15];;
3375 MELT_LOCATION("warmelt-moremacro.melt:534:/ locexp");
3376 /*ochecknores compilobj_nrep_return*/
3377 #if MELT_HAVE_DEBUG
3378 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
3379 melt_warn_for_no_expected_secondary_results();
3380 /* we warned when secondary results are expected but not returned. */
3381 #endif /*MELT_HAVE_DEBUG*/
3385 /*^finalreturn*/
3387 /*finalret*/
3388 goto meltlabend_rout ;
3389 /*_.LET___V12*/
3390 meltfptr[8] = /*_.RETURN___V39*/ meltfptr[30];;
3392 MELT_LOCATION("warmelt-moremacro.melt:466:/ clear");
3393 /*clear*/ /*_.CLIST__V13*/
3394 meltfptr[4] = 0 ;
3395 /*^clear*/
3396 /*clear*/ /*_.CONT__V14*/
3397 meltfptr[13] = 0 ;
3398 /*^clear*/
3399 /*clear*/ /*_.LOC__V15*/
3400 meltfptr[14] = 0 ;
3401 /*^clear*/
3402 /*clear*/ /*_#IS_A__L6*/
3403 meltfnum[4] = 0 ;
3404 /*^clear*/
3405 /*clear*/ /*_.NEWSEXPR__V16*/
3406 meltfptr[15] = 0 ;
3407 /*^clear*/
3408 /*clear*/ /*_.RETURN___V39*/
3409 meltfptr[30] = 0 ;
3411 MELT_CHECK_SIGNAL();
3413 MELT_LOCATION("warmelt-moremacro.melt:453:/ quasiblock");
3416 /*_._RETVAL___V1*/
3417 meltfptr[0] = /*_.LET___V12*/ meltfptr[8];;
3420 MELT_LOCATION("warmelt-moremacro.melt:453:/ locexp");
3421 /*ochecknores compilobj_nrep_return*/
3422 #if MELT_HAVE_DEBUG
3423 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
3424 melt_warn_for_no_expected_secondary_results();
3425 /* we warned when secondary results are expected but not returned. */
3426 #endif /*MELT_HAVE_DEBUG*/
3430 /*^finalreturn*/
3432 /*finalret*/
3433 goto meltlabend_rout ;
3434 /*epilog*/
3436 /*^clear*/
3437 /*clear*/ /*_#IS_NOT_A__L3*/
3438 meltfnum[1] = 0 ;
3439 /*^clear*/
3440 /*clear*/ /*_._IF___V7*/
3441 meltfptr[5] = 0 ;
3442 /*^clear*/
3443 /*clear*/ /*_.LET___V12*/
3444 meltfptr[8] = 0 ;
3448 goto meltlabend_rout;
3449 meltlabend_rout:
3450 melt_trace_end("SUBSTITUTE_SEXPR", meltcallcount);
3451 melt_blocklevel_signals = current_blocklevel_signals_meltrout_11_WARMELTmiMOREMACRO_SUBSTITUTE_SEXPR_melt;
3452 return (melt_ptr_t)(/*_._RETVAL___V1*/ meltfptr[0]);
3453 #undef meltcallcount
3454 #undef meltfram__
3455 #undef MELTFRAM_NBVARNUM
3456 #undef MELTFRAM_NBVARPTR
3457 } /*end meltrout_11_WARMELTmiMOREMACRO_SUBSTITUTE_SEXPR*/
3462 /**** end of warmelt-moremacro+01.cc ****/