/* GCC MELT GENERATED FILE warmelt-normatch+01.c - DO NOT EDIT */ /* secondary MELT generated C file of rank #1 */ #include "melt-run.h" /* used hash from melt-run.h when compiling this file: */ MELT_EXTERN const char meltrun_used_md5_melt_f1[] = MELT_RUN_HASHMD5 /* from melt-run.h */ ; /**** warmelt-normatch+01.c declarations ****/ /*************************************************** *** Copyright 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc. Contributed by Basile Starynkevitch This file is part of GCC. GCC is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. GCC is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GCC; see the file COPYING3. If not see . *** ****************************************************/ /* ordinary MELT module */ #define MELT_HAS_INITIAL_ENVIRONMENT 1 /*usual */ struct melt_callframe_st; /*defined in melt-runtime.h */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_1_warmelt_normatch_SCANPAT_ANYRECV (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_2_warmelt_normatch_SCANPAT_ANYPATTERN (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_3_warmelt_normatch_SCANPAT_SRCPATVAR (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_4_warmelt_normatch_SCANPAT_SRCPATJOKER (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_5_warmelt_normatch_SCANPAT_SRCPATCONSTANT (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_6_warmelt_normatch_SCANPAT_SRCPATCONSTRUCT (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_7_warmelt_normatch_SCANPAT_SRCPATOBJECT (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_8_warmelt_normatch_SCANPAT_SRCPATCOMPOSITE (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_9_warmelt_normatch_SCANPAT_SRCPATOR (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_10_warmelt_normatch_LAMBDA___1__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_11_warmelt_normatch_SCANPAT_SRCPATAND (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_12_warmelt_normatch_REGISTER_NEW_NORMTESTER (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_13_warmelt_normatch_PUT_TESTER_THEN (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_14_warmelt_normatch_SET_NEW_TESTER_LAST_THEN (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_15_warmelt_normatch_SET_NEW_TESTER_ALL_ELSES (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_16_warmelt_normatch_NORMPAT_ANYRECV (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_17_warmelt_normatch_NORMPAT_ANYPAT (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_18_warmelt_normatch_NORMVARPAT_GENREUSETEST (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_19_warmelt_normatch_LAMBDA___2__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_20_warmelt_normatch_NORMPAT_VARIABLEPAT (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_21_warmelt_normatch_NORMPAT_JOKERPAT (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_22_warmelt_normatch_NORMPAT_INSTANCEPAT (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_23_warmelt_normatch_LAMBDA___3__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_24_warmelt_normatch_LAMBDA___4__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_25_warmelt_normatch_LAMBDA___5__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_26_warmelt_normatch_NORMPAT_TUPLEPAT (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_27_warmelt_normatch_LAMBDA___6__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_28_warmelt_normatch_LAMBDA___7__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_29_warmelt_normatch_LAMBDA___8__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_30_warmelt_normatch_NORMPAT_ANDPAT (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_31_warmelt_normatch_LAMBDA___9__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_32_warmelt_normatch_NORMPAT_ORPAT (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_33_warmelt_normatch_LAMBDA___10__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_34_warmelt_normatch_LAMBDA___11__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_35_warmelt_normatch_LAMBDA___12__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_36_warmelt_normatch_NORMPAT_ANYMATCHPAT (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_37_warmelt_normatch_LAMBDA___13__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_38_warmelt_normatch_LAMBDA___14__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_39_warmelt_normatch_LAMBDA___15__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_40_warmelt_normatch_LAMBDA___16__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_41_warmelt_normatch_NORMPAT_CONSTPAT (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_42_warmelt_normatch_LAMBDA___17__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_43_warmelt_normatch_MATCH_GRAPHIC_OPTSET (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_44_warmelt_normatch_MG_OUT_NODE_NAME (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_45_warmelt_normatch_MGLABEL_ANY (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_46_warmelt_normatch_MGLABEL_ANY_TEST (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_47_warmelt_normatch_MGLABEL_INSTANCE_TEST (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_48_warmelt_normatch_MGLABEL_SUCCESS_TEST (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_49_warmelt_normatch_MATCHGRAPHIC_TESTS (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_50_warmelt_normatch_MG_DRAW_MATCH_GRAPHVIZ_FILE (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_51_warmelt_normatch_NORMEXP_MATCH (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_52_warmelt_normatch_LAMBDA___18__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_53_warmelt_normatch_NORMBIND_MATCHBIND (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_54_warmelt_normatch_MAKE_MATCH_FLAG (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_55_warmelt_normatch_SCANSUBPAT_ANYRECV (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_56_warmelt_normatch_SCANSTEPDATA_ANYRECV (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_57_warmelt_normatch_SCANSTEPFLAG_ANYRECV (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_58_warmelt_normatch_SCANSUBPAT_NOOP (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_59_warmelt_normatch_SCANSUBPAT_OR (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_60_warmelt_normatch_SCANSUBPAT_AND (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_61_warmelt_normatch_SCANSUBPAT_CONSTRUCT (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_62_warmelt_normatch_SCANSUBPAT_OBJECT (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_63_warmelt_normatch_FILL_MATCHCASE (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_64_warmelt_normatch_LAMBDA___19__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_65_warmelt_normatch_PUTTHEN_MATCHANY (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_66_warmelt_normatch_START_STEP (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_67_warmelt_normatch_PUTTHEN_MATCHTHEN (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_68_warmelt_normatch_PUTTHEN_MATCHGROUP (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_69_warmelt_normatch_PUTELSE_MATCHANY (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_70_warmelt_normatch_PUTELSE_MATCHSTEPTHEN (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_71_warmelt_normatch_PUTELSE_MATCHTEST (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_72_warmelt_normatch_PUTELSE_MATCHGROUP (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_73_warmelt_normatch_SCANSTEPDATA_TESTINS (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_74_warmelt_normatch_SCANSTEPDATA_TESTTUPLE (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_75_warmelt_normatch_SCANSTEPDATA_TESTWITHFLAG (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_76_warmelt_normatch_SCANSTEPDATA_TESTMATCHER (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_77_warmelt_normatch_SCANSTEPFLAG_STEPWITHFLAG (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_78_warmelt_normatch_SCANSTEPFLAG_STEPFLAGOPER (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_79_warmelt_normatch_SCANSTEPFLAG_STEPWITHDATA (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_80_warmelt_normatch_TRANSLPAT_ANYRECV (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_81_warmelt_normatch_TRANSLPAT_JOKERPAT (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_82_warmelt_normatch_TRANSLPAT_CONSTPAT (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_83_warmelt_normatch_TRANSLPAT_LISTPAT (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_84_warmelt_normatch_TRANSLPAT_TUPLEPAT (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_85_warmelt_normatch_LAMBDA___20__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_86_warmelt_normatch_TRANSLPAT_INSPAT (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_87_warmelt_normatch_TRANSLPAT_VARPAT (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_88_warmelt_normatch_TRANSLPAT_ANDPAT (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_89_warmelt_normatch_TRANSLPAT_ORPAT (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_90_warmelt_normatch_LAMBDA___21__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_91_warmelt_normatch_LAMBDA___22__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_92_warmelt_normatch_TRANSLPAT_PATMAT (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_93_warmelt_normatch_MGALTSTEP_ANY (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_94_warmelt_normatch_MGALTSTEP_STEPTESTVAR (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_95_warmelt_normatch_MGALTSTEP_STEPTESTINST (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_96_warmelt_normatch_MGALTSTEP_STEPTESTMULT (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_97_warmelt_normatch_MGALTSTEP_STEPTESTGROUP (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_98_warmelt_normatch_MGALTSTEP_STEPTESTMATCHER (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_99_warmelt_normatch_MGALTSTEP_STEPSUCCESS (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_100_warmelt_normatch_MGALTSTEP_STEPCLEAR (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_101_warmelt_normatch_MGALTSTEP_STEPFLAGSET (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_102_warmelt_normatch_MGALTSTEP_STEPFLAGOPER (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_103_warmelt_normatch_TRANSLATE_MATCHCASE (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_104_warmelt_normatch_LAMBDA___23__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_105_warmelt_normatch_ALTMATCH_NORMALIZE_FLAG (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_106_warmelt_normatch_MATCH_DATA_UPDATE_DATA_STEPS_INDEX (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_107_warmelt_normatch_MATCH_STEP_INDEX (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_108_warmelt_normatch_COMPLETE_NORMSTEP_IF_LAST (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_109_warmelt_normatch_NORMSTEP_ANYRECV (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_110_warmelt_normatch_NORMSTEP_MFLAGSET (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_111_warmelt_normatch_NORMSTEP_MFLAGCONJ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_112_warmelt_normatch_NORMSTEP_MTESTINSTANCE (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_113_warmelt_normatch_NORMSTEP_MTESTMULTIPLE (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_114_warmelt_normatch_NORMSTEP_MTESTVAR (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_115_warmelt_normatch_NORMSTEP_MGROUP (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_116_warmelt_normatch_LAMBDA___24__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_117_warmelt_normatch_LAMBDA___25__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_118_warmelt_normatch_LAMBDA___26__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_119_warmelt_normatch_LAMBDA___27__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_120_warmelt_normatch_NORMSTEP_MSUCCWHENFLAG (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_121_warmelt_normatch_NORMTESTMATCH_CATCHALL (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_122_warmelt_normatch_NORMFILLMATCH_CATCHALL (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_123_warmelt_normatch_NORMTESTMATCH_CMATCHER (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_124_warmelt_normatch_NORMFILLMATCH_CMATCHER (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_125_warmelt_normatch_NORMSTEP_MTESTMATCHER (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_126_warmelt_normatch_ALTMATCH_NORMALIZE_STEP (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_127_warmelt_normatch_ALTMATCH_NORMALIZE_MDATA (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_128_warmelt_normatch_ALTMATCH_HANDLE_NORMALIZED_MDATA (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_129_warmelt_normatch_ALTMATCH_MAKE_MATCH_NORMALIZATION_CONTEXT (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_130_warmelt_normatch_ALTMATCH_NORMALIZE_MATCH_CONTEXT (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_131_warmelt_normatch_LAMBDA___28__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_132_warmelt_normatch_NORMEXP_ALTMATCH (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_133_warmelt_normatch_LAMBDA___29__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_134_warmelt_normatch_ALTERNATE_MATCH_OPTSET (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_135_warmelt_normatch_MG_ALTDRAW_GRAPHVIZ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_136_warmelt_normatch_LAMBDA___30__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_137_warmelt_normatch_LAMBDA___31__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_138_warmelt_normatch_LAMBDA___32__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_139_warmelt_normatch_LAMBDA___33__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_140_warmelt_normatch_LAMBDA___34__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); MELT_EXTERN void *melt_start_this_module (void *); /* define different names when debugging or not */ #if MELT_HAVE_DEBUG MELT_EXTERN const char meltmodule_warmelt_normatch__melt_have_debug_enabled[]; #define melt_have_debug_string meltmodule_warmelt_normatch__melt_have_debug_enabled #else /*!MELT_HAVE_DEBUG */ MELT_EXTERN const char meltmodule_warmelt_normatch__melt_have_debug_disabled[]; #define melt_have_debug_string meltmodule_warmelt_normatch__melt_have_debug_disabled #endif /*!MELT_HAVE_DEBUG */ struct frame_melt_start_this_module_st; void MELT_MODULE_VISIBILITY meltmod__warmelt_normatch__initialmeltchunk_0 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normatch__initialmeltchunk_1 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normatch__initialmeltchunk_2 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normatch__initialmeltchunk_3 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normatch__initialmeltchunk_4 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normatch__initialmeltchunk_5 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normatch__initialmeltchunk_6 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normatch__initialmeltchunk_7 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normatch__initialmeltchunk_8 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normatch__initialmeltchunk_9 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normatch__initialmeltchunk_10 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normatch__initialmeltchunk_11 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normatch__initialmeltchunk_12 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normatch__initialmeltchunk_13 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normatch__initialmeltchunk_14 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normatch__initialmeltchunk_15 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normatch__initialmeltchunk_16 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normatch__initialmeltchunk_17 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normatch__initialmeltchunk_18 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normatch__initialmeltchunk_19 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normatch__initialmeltchunk_20 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normatch__initialmeltchunk_21 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normatch__initialmeltchunk_22 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normatch__initialmeltchunk_23 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normatch__initialmeltchunk_24 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normatch__initialmeltchunk_25 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normatch__initialmeltchunk_26 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normatch__initialmeltchunk_27 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normatch__initialmeltchunk_28 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normatch__initialmeltchunk_29 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normatch__initialmeltchunk_30 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normatch__initialmeltchunk_31 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normatch__initialmeltchunk_32 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normatch__initialmeltchunk_33 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normatch__forward_or_mark_module_start_frame (struct melt_callframe_st *fp, int marking); #define meltmarking_melt_start_this_module meltmod__warmelt_normatch__forward_or_mark_module_start_frame /**** warmelt-normatch+01.c implementations ****/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_5_warmelt_normatch_SCANPAT_SRCPATCONSTANT (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_) { long current_blocklevel_signals_meltrout_5_warmelt_normatch_SCANPAT_SRCPATCONSTANT_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_5_warmelt_normatch_SCANPAT_SRCPATCONSTANT_st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 65 melt_ptr_t mcfr_varptr[65]; #define MELTFRAM_NBVARNUM 21 long mcfr_varnum[21]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_5_warmelt_normatch_SCANPAT_SRCPATCONSTANT is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_5_warmelt_normatch_SCANPAT_SRCPATCONSTANT_st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 65; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_5_warmelt_normatch_SCANPAT_SRCPATCONSTANT nbval 65*/ meltfram__.mcfr_nbvar = 65 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("SCANPAT_SRCPATCONSTANT", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normatch.melt:165:/ getarg"); /*_.RECV__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.PSLOC__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.PSLOC__V3*/ meltfptr[2])) != NULL); /*getarg#2 */ /*^getarg */ if (meltxargdescr_[1] != MELTBPAR_PTR) goto lab_endgetargs; /*_.CTYP__V4*/ meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.CTYP__V4*/ meltfptr[3])) != NULL); /*getarg#3 */ /*^getarg */ if (meltxargdescr_[2] != MELTBPAR_PTR) goto lab_endgetargs; /*_.PCN__V5*/ meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:166:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:166:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:166:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 166; /*^apply.arg */ argtab[3].meltbp_cstring = "scanpat_srcpatconst recv"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.RECV__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V8*/ 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); } ; /*_.IF___V7*/ meltfptr[6] = /*_.MELT_DEBUG_FUN__V8*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:166:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V8*/ meltfptr[7] = 0; } ; } else { /*^cond.else */ /*_.IF___V7*/ meltfptr[6] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:166:/ quasiblock"); /*_.PROGN___V9*/ meltfptr[7] = /*_.IF___V7*/ meltfptr[6];; /*^compute */ /*_.IFCPP___V6*/ meltfptr[5] = /*_.PROGN___V9*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:166:/ clear"); /*clear *//*_#MELT_NEED_DBG__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V7*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.PROGN___V9*/ meltfptr[7] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V6*/ meltfptr[5] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:167:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L3*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]), (melt_ptr_t) (( /*!CLASS_PATTERN_CONTEXT */ meltfrout->tabval[1])));; MELT_LOCATION ("warmelt-normatch.melt:167:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V11*/ meltfptr[7] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:167:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check pcn"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (167) ? (167) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V11*/ meltfptr[7] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[6] = /*_.IFELSE___V11*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:167:/ clear"); /*clear *//*_#IS_A__L3*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V11*/ meltfptr[7] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V10*/ meltfptr[6] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:168:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L4*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_SOURCE_PATTERN_CONSTANT */ meltfrout->tabval[2])));; MELT_LOCATION ("warmelt-normatch.melt:168:/ cond"); /*cond */ if ( /*_#IS_A__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V13*/ meltfptr[12] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:168:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check recv"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (168) ? (168) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V13*/ meltfptr[12] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V12*/ meltfptr[7] = /*_.IFELSE___V13*/ meltfptr[12];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:168:/ clear"); /*clear *//*_#IS_A__L4*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V13*/ meltfptr[12] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V12*/ meltfptr[7] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:169:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 3, "SPAT_CONSTX"); /*_.SCONST__V15*/ meltfptr[14] = slot; }; ; MELT_LOCATION ("warmelt-normatch.melt:170:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "LOCA_LOCATION"); /*_.SLOC__V16*/ meltfptr[15] = slot; }; ; MELT_LOCATION ("warmelt-normatch.melt:171:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]) /*=obj*/ ; melt_object_get_field (slot, obj, 0, "PCTN_NORMCTXT"); /*_.NCX__V17*/ meltfptr[16] = slot; }; ; MELT_LOCATION ("warmelt-normatch.melt:172:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]) /*=obj*/ ; melt_object_get_field (slot, obj, 4, "PCTN_MAPATCST"); /*_.MAPCST__V18*/ meltfptr[17] = slot; }; ; MELT_LOCATION ("warmelt-normatch.melt:173:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#IS_OBJECT__L5*/ meltfnum[1] = (melt_magic_discr ((melt_ptr_t) ( /*_.SCONST__V15*/ meltfptr[14])) == MELTOBMAG_OBJECT);; MELT_LOCATION ("warmelt-normatch.melt:173:/ cond"); /*cond */ if ( /*_#IS_OBJECT__L5*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_.MAPOBJECT_GET__V20*/ meltfptr[19] = /*mapobject_get */ melt_get_mapobjects ((meltmapobjects_ptr_t) ( /*_.MAPCST__V18*/ meltfptr[17]), (meltobject_ptr_t) ( /*_.SCONST__V15*/ meltfptr[14]));; /*^compute */ /*_.MCST__V19*/ meltfptr[18] = /*_.MAPOBJECT_GET__V20*/ meltfptr[19];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:173:/ clear"); /*clear *//*_.MAPOBJECT_GET__V20*/ meltfptr[19] = 0; } ; } else { /*^cond.else */ /*_.MCST__V19*/ meltfptr[18] = NULL;; } ; /*^compute */ /*_.NCST__V21*/ meltfptr[19] = /*_.MCST__V19*/ meltfptr[18];; MELT_LOCATION ("warmelt-normatch.melt:175:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]) /*=obj*/ ; melt_object_get_field (slot, obj, 6, "PCTN_BINDLIST"); /*_.BINDLIST__V22*/ meltfptr[21] = slot; }; ; MELT_LOCATION ("warmelt-normatch.melt:176:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "PCTN_ENV"); /*_.ENV__V23*/ meltfptr[22] = slot; }; ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:178:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_LIST__L6*/ meltfnum[0] = (melt_magic_discr ((melt_ptr_t) ( /*_.BINDLIST__V22*/ meltfptr[21])) == MELTOBMAG_LIST);; MELT_LOCATION ("warmelt-normatch.melt:178:/ cond"); /*cond */ if ( /*_#IS_LIST__L6*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V25*/ meltfptr[24] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:178:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check bindlist"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (178) ? (178) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V25*/ meltfptr[24] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V24*/ meltfptr[23] = /*_.IFELSE___V25*/ meltfptr[24];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:178:/ clear"); /*clear *//*_#IS_LIST__L6*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V25*/ meltfptr[24] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V24*/ meltfptr[23] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:180:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#IS_OBJECT__L7*/ meltfnum[0] = (melt_magic_discr ((melt_ptr_t) ( /*_.SCONST__V15*/ meltfptr[14])) == MELTOBMAG_OBJECT);; /*^compute */ /*_#NOT__L8*/ meltfnum[7] = (!( /*_#IS_OBJECT__L7*/ meltfnum[0]));; MELT_LOCATION ("warmelt-normatch.melt:180:/ cond"); /*cond */ if ( /*_#NOT__L8*/ meltfnum[7]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:181:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L9*/ meltfnum[8] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:181:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L9*/ meltfnum[8]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L10*/ meltfnum[9] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:181:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L10*/ meltfnum[9]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 181; /*^apply.arg */ argtab[3].meltbp_cstring = "scanpat_srcpatconstant nonobj literal const"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.SCONST__V15*/ meltfptr[14]; /*_.MELT_DEBUG_FUN__V29*/ 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_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V28*/ meltfptr[27] = /*_.MELT_DEBUG_FUN__V29*/ meltfptr[28];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:181:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L10*/ meltfnum[9] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V29*/ meltfptr[28] = 0; } ; } else { /*^cond.else */ /*_.IF___V28*/ meltfptr[27] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:181:/ quasiblock"); /*_.PROGN___V30*/ meltfptr[28] = /*_.IF___V28*/ meltfptr[27];; /*^compute */ /*_.IFCPP___V27*/ meltfptr[26] = /*_.PROGN___V30*/ meltfptr[28];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:181:/ clear"); /*clear *//*_#MELT_NEED_DBG__L9*/ meltfnum[8] = 0; /*^clear */ /*clear *//*_.IF___V28*/ meltfptr[27] = 0; /*^clear */ /*clear *//*_.PROGN___V30*/ meltfptr[28] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V27*/ meltfptr[26] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:182:/ compute"); /*_.NCST__V21*/ meltfptr[19] = /*_.SETQ___V31*/ meltfptr[27] = /*_.SCONST__V15*/ meltfptr[14];; MELT_LOCATION ("warmelt-normatch.melt:180:/ quasiblock"); /*_.PROGN___V32*/ meltfptr[28] = /*_.SETQ___V31*/ meltfptr[27];; /*^compute */ /*_.IFELSE___V26*/ meltfptr[24] = /*_.PROGN___V32*/ meltfptr[28];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:180:/ clear"); /*clear *//*_.IFCPP___V27*/ meltfptr[26] = 0; /*^clear */ /*clear *//*_.SETQ___V31*/ meltfptr[27] = 0; /*^clear */ /*clear *//*_.PROGN___V32*/ meltfptr[28] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normatch.melt:184:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#NULL__L11*/ meltfnum[9] = (( /*_.MCST__V19*/ meltfptr[18]) == NULL);; MELT_LOCATION ("warmelt-normatch.melt:184:/ cond"); /*cond */ if ( /*_#NULL__L11*/ meltfnum[9]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normatch.melt:187:/ checksignal"); MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normatch.melt:185:/ quasiblock"); /*^multimsend */ /*multimsend */ { union meltparam_un argtab[3]; union meltparam_un restab[1]; memset (&argtab, 0, sizeof (argtab)); memset (&restab, 0, sizeof (restab)); /*^multimsend.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.ENV__V23*/ meltfptr[22]; /*^multimsend.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.NCX__V17*/ meltfptr[16]; /*^multimsend.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & /*_.SLOC__V16*/ meltfptr[15]; /*^multimsend.xres */ restab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NBINDCONST__V36*/ meltfptr[35]; /*^multimsend.send */ /*_.NCONST__V35*/ meltfptr[28] = meltgc_send ((melt_ptr_t) ( /*_.SCONST__V15*/ meltfptr[14]), ((melt_ptr_t) (( /*!NORMAL_EXP */ meltfrout->tabval[3]))), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, (MELTBPARSTR_PTR ""), restab); } ; /*^quasiblock */ #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:188:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L12*/ meltfnum[8] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:188:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L12*/ meltfnum[8]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L13*/ meltfnum[12] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:188:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L13*/ meltfnum[12]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 188; /*^apply.arg */ argtab[3].meltbp_cstring = "scanpat_srcpatconstant nconst"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NCONST__V35*/ meltfptr[28]; /*_.MELT_DEBUG_FUN__V39*/ meltfptr[38] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V38*/ meltfptr[37] = /*_.MELT_DEBUG_FUN__V39*/ meltfptr[38];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:188:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L13*/ meltfnum[12] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V39*/ meltfptr[38] = 0; } ; } else { /*^cond.else */ /*_.IF___V38*/ meltfptr[37] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:188:/ quasiblock"); /*_.PROGN___V40*/ meltfptr[38] = /*_.IF___V38*/ meltfptr[37];; /*^compute */ /*_.IFCPP___V37*/ meltfptr[36] = /*_.PROGN___V40*/ meltfptr[38];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:188:/ clear"); /*clear *//*_#MELT_NEED_DBG__L12*/ meltfnum[8] = 0; /*^clear */ /*clear *//*_.IF___V38*/ meltfptr[37] = 0; /*^clear */ /*clear *//*_.PROGN___V40*/ meltfptr[38] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V37*/ meltfptr[36] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; { MELT_LOCATION ("warmelt-normatch.melt:189:/ locexp"); meltgc_put_mapobjects ((meltmapobjects_ptr_t) ( /*_.MAPCST__V18*/ meltfptr[17]), (meltobject_ptr_t) ( /*_.SCONST__V15*/ meltfptr[14]), (melt_ptr_t) ( /*_.NCONST__V35*/ meltfptr[28])); } ; MELT_LOCATION ("warmelt-normatch.melt:190:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^cond */ /*cond */ if ( /*_.NBINDCONST__V36*/ meltfptr[35]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NBINDCONST__V36*/ meltfptr[35]; /*_.LIST_APPEND2LIST__V42*/ meltfptr[38] = melt_apply ((meltclosure_ptr_t) (( /*!LIST_APPEND2LIST */ meltfrout-> tabval[4])), (melt_ptr_t) ( /*_.BINDLIST__V22*/ meltfptr[21]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V41*/ meltfptr[37] = /*_.LIST_APPEND2LIST__V42*/ meltfptr[38];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:190:/ clear"); /*clear *//*_.LIST_APPEND2LIST__V42*/ meltfptr[38] = 0; } ; } else { /*^cond.else */ /*_.IF___V41*/ meltfptr[37] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:191:/ compute"); /*_.NCST__V21*/ meltfptr[19] = /*_.SETQ___V43*/ meltfptr[38] = /*_.NCONST__V35*/ meltfptr[28];; MELT_LOCATION ("warmelt-normatch.melt:185:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_.MULTI___V34*/ meltfptr[27] = /*_.SETQ___V43*/ meltfptr[38];; MELT_LOCATION ("warmelt-normatch.melt:185:/ clear"); /*clear *//*_.IFCPP___V37*/ meltfptr[36] = 0; /*^clear */ /*clear *//*_.IF___V41*/ meltfptr[37] = 0; /*^clear */ /*clear *//*_.SETQ___V43*/ meltfptr[38] = 0; /*^clear */ /*clear *//*_.NBINDCONST__V36*/ meltfptr[35] = 0; /*_.IFELSE___V33*/ meltfptr[26] = /*_.MULTI___V34*/ meltfptr[27];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:184:/ clear"); /*clear *//*_.MULTI___V34*/ meltfptr[27] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:194:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L14*/ meltfnum[12] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:194:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L14*/ meltfnum[12]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L15*/ meltfnum[8] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:194:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L15*/ meltfnum[8]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 194; /*^apply.arg */ argtab[3].meltbp_cstring = "scanpat_srcpatconstant got mcst"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.MCST__V19*/ meltfptr[18]; /*_.MELT_DEBUG_FUN__V46*/ meltfptr[38] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V45*/ meltfptr[37] = /*_.MELT_DEBUG_FUN__V46*/ meltfptr[38];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:194:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L15*/ meltfnum[8] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V46*/ meltfptr[38] = 0; } ; } else { /*^cond.else */ /*_.IF___V45*/ meltfptr[37] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:194:/ quasiblock"); /*_.PROGN___V47*/ meltfptr[28] = /*_.IF___V45*/ meltfptr[37];; /*^compute */ /*_.IFCPP___V44*/ meltfptr[36] = /*_.PROGN___V47*/ meltfptr[28];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:194:/ clear"); /*clear *//*_#MELT_NEED_DBG__L14*/ meltfnum[12] = 0; /*^clear */ /*clear *//*_.IF___V45*/ meltfptr[37] = 0; /*^clear */ /*clear *//*_.PROGN___V47*/ meltfptr[28] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V44*/ meltfptr[36] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:193:/ quasiblock"); /*_.PROGN___V48*/ meltfptr[35] = /*_.IFCPP___V44*/ meltfptr[36];; /*^compute */ /*_.IFELSE___V33*/ meltfptr[26] = /*_.PROGN___V48*/ meltfptr[35];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:184:/ clear"); /*clear *//*_.IFCPP___V44*/ meltfptr[36] = 0; /*^clear */ /*clear *//*_.PROGN___V48*/ meltfptr[35] = 0; } ; } ; /*_.IFELSE___V26*/ meltfptr[24] = /*_.IFELSE___V33*/ meltfptr[26];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:180:/ clear"); /*clear *//*_#NULL__L11*/ meltfnum[9] = 0; /*^clear */ /*clear *//*_.IFELSE___V33*/ meltfptr[26] = 0; } ; } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:196:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L16*/ meltfnum[8] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:196:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L16*/ meltfnum[8]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L17*/ meltfnum[12] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:196:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L17*/ meltfnum[12]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 196; /*^apply.arg */ argtab[3].meltbp_cstring = "scanpat_srcpatconstant ncst"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NCST__V21*/ meltfptr[19]; /*_.MELT_DEBUG_FUN__V51*/ 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); } ; /*_.IF___V50*/ meltfptr[38] = /*_.MELT_DEBUG_FUN__V51*/ meltfptr[37];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:196:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L17*/ meltfnum[12] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V51*/ meltfptr[37] = 0; } ; } else { /*^cond.else */ /*_.IF___V50*/ meltfptr[38] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:196:/ quasiblock"); /*_.PROGN___V52*/ meltfptr[28] = /*_.IF___V50*/ meltfptr[38];; /*^compute */ /*_.IFCPP___V49*/ meltfptr[27] = /*_.PROGN___V52*/ meltfptr[28];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:196:/ clear"); /*clear *//*_#MELT_NEED_DBG__L16*/ meltfnum[8] = 0; /*^clear */ /*clear *//*_.IF___V50*/ meltfptr[38] = 0; /*^clear */ /*clear *//*_.PROGN___V52*/ meltfptr[28] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V49*/ meltfptr[27] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:197:/ quasiblock"); /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*^msend */ /*msend */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^ojbmsend.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.ENV__V23*/ meltfptr[22]; /*_.RECTYP__V54*/ meltfptr[35] = meltgc_send ((melt_ptr_t) ( /*_.NCST__V21*/ meltfptr[19]), (melt_ptr_t) (( /*!GET_CTYPE */ meltfrout->tabval[5])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:198:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L18*/ meltfnum[9] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:198:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L18*/ meltfnum[9]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L19*/ meltfnum[12] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:198:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L19*/ meltfnum[12]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 198; /*^apply.arg */ argtab[3].meltbp_cstring = "scanpat_srcpatconstant rectyp"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.RECTYP__V54*/ meltfptr[35]; /*_.MELT_DEBUG_FUN__V57*/ meltfptr[38] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V56*/ meltfptr[37] = /*_.MELT_DEBUG_FUN__V57*/ meltfptr[38];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:198:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L19*/ meltfnum[12] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V57*/ meltfptr[38] = 0; } ; } else { /*^cond.else */ /*_.IF___V56*/ meltfptr[37] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:198:/ quasiblock"); /*_.PROGN___V58*/ meltfptr[28] = /*_.IF___V56*/ meltfptr[37];; /*^compute */ /*_.IFCPP___V55*/ meltfptr[26] = /*_.PROGN___V58*/ meltfptr[28];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:198:/ clear"); /*clear *//*_#MELT_NEED_DBG__L18*/ meltfnum[9] = 0; /*^clear */ /*clear *//*_.IF___V56*/ meltfptr[37] = 0; /*^clear */ /*clear *//*_.PROGN___V58*/ meltfptr[28] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V55*/ meltfptr[26] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:199:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L20*/ meltfnum[8] = melt_is_instance_of ((melt_ptr_t) ( /*_.RECTYP__V54*/ meltfptr[35]), (melt_ptr_t) (( /*!CLASS_CTYPE */ meltfrout-> tabval[6])));; MELT_LOCATION ("warmelt-normatch.melt:199:/ cond"); /*cond */ if ( /*_#IS_A__L20*/ meltfnum[8]) /*then */ { /*^cond.then */ /*_.IFELSE___V60*/ meltfptr[37] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:199:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check rectyp"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (199) ? (199) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V60*/ meltfptr[37] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V59*/ meltfptr[38] = /*_.IFELSE___V60*/ meltfptr[37];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:199:/ clear"); /*clear *//*_#IS_A__L20*/ meltfnum[8] = 0; /*^clear */ /*clear *//*_.IFELSE___V60*/ meltfptr[37] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V59*/ meltfptr[38] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:200:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#__L21*/ meltfnum[12] = (( /*_.RECTYP__V54*/ meltfptr[35]) != ( /*_.CTYP__V4*/ meltfptr[3]));; MELT_LOCATION ("warmelt-normatch.melt:200:/ cond"); /*cond */ if ( /*_#__L21*/ meltfnum[12]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normatch.melt:202:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECTYP__V54*/ meltfptr[35]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V62*/ meltfptr[37] = slot; }; ; { MELT_LOCATION ("warmelt-normatch.melt:201:/ locexp"); melt_error_str ((melt_ptr_t) ( /*_.SLOC__V16*/ meltfptr[15]), ("invalid ctype in constant pattern - expecting"), (melt_ptr_t) ( /*_.NAMED_NAME__V62*/ meltfptr[37])); } ; MELT_LOCATION ("warmelt-normatch.melt:204:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CTYP__V4*/ meltfptr[3]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V63*/ meltfptr[62] = slot; }; ; { MELT_LOCATION ("warmelt-normatch.melt:203:/ locexp"); melt_warning_str (0, (melt_ptr_t) ( /*_.SLOC__V16*/ meltfptr[15]), ("got ctype"), (melt_ptr_t) ( /*_.NAMED_NAME__V63*/ meltfptr[62])); } ; MELT_LOCATION ("warmelt-normatch.melt:206:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]), (melt_ptr_t) (( /*!CLASS_PATTERN_CONTEXT */ meltfrout->tabval[1]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "PCTN_SRC"); /*_.PCTN_SRC__V64*/ meltfptr[63] = slot; }; ; } else { /*^cond.else */ /*_.PCTN_SRC__V64*/ meltfptr[63] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:206:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.PCTN_SRC__V64*/ meltfptr[63]), (melt_ptr_t) (( /*!CLASS_LOCATED */ meltfrout->tabval[7]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.PCTN_SRC__V64*/ meltfptr[63]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "LOCA_LOCATION"); /*_.LOCA_LOCATION__V65*/ meltfptr[64] = slot; }; ; } else { /*^cond.else */ /*_.LOCA_LOCATION__V65*/ meltfptr[64] = NULL;; } ; { MELT_LOCATION ("warmelt-normatch.melt:205:/ locexp"); melt_warning_str (0, (melt_ptr_t) ( /*_.LOCA_LOCATION__V65*/ meltfptr[64]), ("perhaps this MATCH expression is badly parenthesised"), (melt_ptr_t) 0); } ; MELT_LOCATION ("warmelt-normatch.melt:200:/ quasiblock"); /*epilog */ /*^clear */ /*clear *//*_.NAMED_NAME__V62*/ meltfptr[37] = 0; /*^clear */ /*clear *//*_.NAMED_NAME__V63*/ meltfptr[62] = 0; /*^clear */ /*clear *//*_.PCTN_SRC__V64*/ meltfptr[63] = 0; /*^clear */ /*clear *//*_.LOCA_LOCATION__V65*/ meltfptr[64] = 0; } ; } else { /*^cond.else */ /*_.IFELSE___V61*/ meltfptr[28] = NULL;; } ; /*^compute */ /*_.LET___V53*/ meltfptr[36] = /*_.IFELSE___V61*/ meltfptr[28];; MELT_LOCATION ("warmelt-normatch.melt:197:/ clear"); /*clear *//*_.RECTYP__V54*/ meltfptr[35] = 0; /*^clear */ /*clear *//*_.IFCPP___V55*/ meltfptr[26] = 0; /*^clear */ /*clear *//*_.IFCPP___V59*/ meltfptr[38] = 0; /*^clear */ /*clear *//*_#__L21*/ meltfnum[12] = 0; /*^clear */ /*clear *//*_.IFELSE___V61*/ meltfptr[28] = 0; /*_.LET___V14*/ meltfptr[12] = /*_.LET___V53*/ meltfptr[36];; MELT_LOCATION ("warmelt-normatch.melt:169:/ clear"); /*clear *//*_.SCONST__V15*/ meltfptr[14] = 0; /*^clear */ /*clear *//*_.SLOC__V16*/ meltfptr[15] = 0; /*^clear */ /*clear *//*_.NCX__V17*/ meltfptr[16] = 0; /*^clear */ /*clear *//*_.MAPCST__V18*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_#IS_OBJECT__L5*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MCST__V19*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_.NCST__V21*/ meltfptr[19] = 0; /*^clear */ /*clear *//*_.BINDLIST__V22*/ meltfptr[21] = 0; /*^clear */ /*clear *//*_.ENV__V23*/ meltfptr[22] = 0; /*^clear */ /*clear *//*_.IFCPP___V24*/ meltfptr[23] = 0; /*^clear */ /*clear *//*_#IS_OBJECT__L7*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_#NOT__L8*/ meltfnum[7] = 0; /*^clear */ /*clear *//*_.IFELSE___V26*/ meltfptr[24] = 0; /*^clear */ /*clear *//*_.IFCPP___V49*/ meltfptr[27] = 0; /*^clear */ /*clear *//*_.LET___V53*/ meltfptr[36] = 0; MELT_LOCATION ("warmelt-normatch.melt:165:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V14*/ meltfptr[12];; { MELT_LOCATION ("warmelt-normatch.melt:165:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V6*/ meltfptr[5] = 0; /*^clear */ /*clear *//*_.IFCPP___V10*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.IFCPP___V12*/ meltfptr[7] = 0; /*^clear */ /*clear *//*_.LET___V14*/ meltfptr[12] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("SCANPAT_SRCPATCONSTANT", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_5_warmelt_normatch_SCANPAT_SRCPATCONSTANT_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_5_warmelt_normatch_SCANPAT_SRCPATCONSTANT */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_6_warmelt_normatch_SCANPAT_SRCPATCONSTRUCT (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un * meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un * meltxrestab_) { long current_blocklevel_signals_meltrout_6_warmelt_normatch_SCANPAT_SRCPATCONSTRUCT_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_6_warmelt_normatch_SCANPAT_SRCPATCONSTRUCT_st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 33 melt_ptr_t mcfr_varptr[33]; #define MELTFRAM_NBVARNUM 12 long mcfr_varnum[12]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_6_warmelt_normatch_SCANPAT_SRCPATCONSTRUCT is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_6_warmelt_normatch_SCANPAT_SRCPATCONSTRUCT_st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 33; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_6_warmelt_normatch_SCANPAT_SRCPATCONSTRUCT nbval 33*/ meltfram__.mcfr_nbvar = 33 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("SCANPAT_SRCPATCONSTRUCT", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normatch.melt:217:/ getarg"); /*_.RECV__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.PSLOC__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.PSLOC__V3*/ meltfptr[2])) != NULL); /*getarg#2 */ /*^getarg */ if (meltxargdescr_[1] != MELTBPAR_PTR) goto lab_endgetargs; /*_.CTYP__V4*/ meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.CTYP__V4*/ meltfptr[3])) != NULL); /*getarg#3 */ /*^getarg */ if (meltxargdescr_[2] != MELTBPAR_PTR) goto lab_endgetargs; /*_.PCN__V5*/ meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:218:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:218:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:218:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 218; /*^apply.arg */ argtab[3].meltbp_cstring = "scanpat_srcpatconstruct recv"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.RECV__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V8*/ 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); } ; /*_.IF___V7*/ meltfptr[6] = /*_.MELT_DEBUG_FUN__V8*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:218:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V8*/ meltfptr[7] = 0; } ; } else { /*^cond.else */ /*_.IF___V7*/ meltfptr[6] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:218:/ quasiblock"); /*_.PROGN___V9*/ meltfptr[7] = /*_.IF___V7*/ meltfptr[6];; /*^compute */ /*_.IFCPP___V6*/ meltfptr[5] = /*_.PROGN___V9*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:218:/ clear"); /*clear *//*_#MELT_NEED_DBG__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V7*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.PROGN___V9*/ meltfptr[7] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V6*/ meltfptr[5] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:219:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L3*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]), (melt_ptr_t) (( /*!CLASS_PATTERN_CONTEXT */ meltfrout->tabval[1])));; MELT_LOCATION ("warmelt-normatch.melt:219:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V11*/ meltfptr[7] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:219:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check pcn"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (219) ? (219) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V11*/ meltfptr[7] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[6] = /*_.IFELSE___V11*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:219:/ clear"); /*clear *//*_#IS_A__L3*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V11*/ meltfptr[7] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V10*/ meltfptr[6] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:220:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L4*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_SOURCE_PATTERN_CONSTRUCT */ meltfrout->tabval[2])));; MELT_LOCATION ("warmelt-normatch.melt:220:/ cond"); /*cond */ if ( /*_#IS_A__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V13*/ meltfptr[12] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:220:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check recv"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (220) ? (220) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V13*/ meltfptr[12] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V12*/ meltfptr[7] = /*_.IFELSE___V13*/ meltfptr[12];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:220:/ clear"); /*clear *//*_#IS_A__L4*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V13*/ meltfptr[12] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V12*/ meltfptr[7] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:221:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "LOCA_LOCATION"); /*_.SLOC__V15*/ meltfptr[14] = slot; }; ; MELT_LOCATION ("warmelt-normatch.melt:222:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 3, "CTPAT_SUBPA"); /*_.SUBPA__V16*/ meltfptr[15] = slot; }; ; MELT_LOCATION ("warmelt-normatch.melt:223:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]) /*=obj*/ ; melt_object_get_field (slot, obj, 0, "PCTN_NORMCTXT"); /*_.NCX__V17*/ meltfptr[16] = slot; }; ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:225:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#__L5*/ meltfnum[1] = (( /*_.CTYP__V4*/ meltfptr[3]) == (( /*!CTYPE_VALUE */ meltfrout->tabval[3])));; MELT_LOCATION ("warmelt-normatch.melt:225:/ cond"); /*cond */ if ( /*_#__L5*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V19*/ meltfptr[18] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:225:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check ctyp is value"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (225) ? (225) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V19*/ meltfptr[18] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V18*/ meltfptr[17] = /*_.IFELSE___V19*/ meltfptr[18];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:225:/ clear"); /*clear *//*_#__L5*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V19*/ meltfptr[18] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V18*/ meltfptr[17] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; /*citerblock FOREACH_IN_MULTIPLE */ { /* start foreach_in_multiple meltcit1__EACHTUP */ long meltcit1__EACHTUP_ln = melt_multiple_length ((melt_ptr_t) /*_.SUBPA__V16*/ meltfptr[15]); for ( /*_#SUBIX__L6*/ meltfnum[0] = 0; ( /*_#SUBIX__L6*/ meltfnum[0] >= 0) && ( /*_#SUBIX__L6*/ meltfnum[0] < meltcit1__EACHTUP_ln); /*_#SUBIX__L6*/ meltfnum[0]++) { /*_.CURSUBPA__V20*/ meltfptr[18] = melt_multiple_nth ((melt_ptr_t) ( /*_.SUBPA__V16*/ meltfptr[15]), /*_#SUBIX__L6*/ meltfnum[0]); #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:229:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L7*/ meltfnum[1] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:229:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L7*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L8*/ meltfnum[7] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:229:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L8*/ meltfnum[7]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 229; /*^apply.arg */ argtab[3].meltbp_cstring = "scanpat_srcpatconstruct before scan_pattern cursubpa="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CURSUBPA__V20*/ meltfptr[18]; /*^apply.arg */ argtab[5].meltbp_cstring = " subix="; /*^apply.arg */ argtab[6].meltbp_long = /*_#SUBIX__L6*/ meltfnum[0]; /*_.MELT_DEBUG_FUN__V23*/ meltfptr[22] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_LONG ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V22*/ meltfptr[21] = /*_.MELT_DEBUG_FUN__V23*/ meltfptr[22];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:229:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L8*/ meltfnum[7] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V23*/ meltfptr[22] = 0; } ; } else { /*^cond.else */ /*_.IF___V22*/ meltfptr[21] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:229:/ quasiblock"); /*_.PROGN___V24*/ meltfptr[22] = /*_.IF___V22*/ meltfptr[21];; /*^compute */ /*_.IFCPP___V21*/ meltfptr[20] = /*_.PROGN___V24*/ meltfptr[22];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:229:/ clear"); /*clear *//*_#MELT_NEED_DBG__L7*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IF___V22*/ meltfptr[21] = 0; /*^clear */ /*clear *//*_.PROGN___V24*/ meltfptr[22] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V21*/ meltfptr[20] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:230:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^msend */ /*msend */ { union meltparam_un argtab[3]; memset (&argtab, 0, sizeof (argtab)); /*^ojbmsend.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.SLOC__V15*/ meltfptr[14]; /*^ojbmsend.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & ( /*!CTYPE_VALUE */ meltfrout->tabval[3]); /*^ojbmsend.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & /*_.PCN__V5*/ meltfptr[4]; /*_.SCAN_PATTERN__V25*/ meltfptr[21] = meltgc_send ((melt_ptr_t) ( /*_.CURSUBPA__V20*/ meltfptr[18]), (melt_ptr_t) (( /*!SCAN_PATTERN */ meltfrout-> tabval[4])), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:231:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L9*/ meltfnum[7] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:231:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L9*/ meltfnum[7]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L10*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:231:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L10*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 231; /*^apply.arg */ argtab[3].meltbp_cstring = "scanpat_srcpatconstruct after scan_pattern cursubpa="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CURSUBPA__V20*/ meltfptr[18]; /*^apply.arg */ argtab[5].meltbp_cstring = " subix="; /*^apply.arg */ argtab[6].meltbp_long = /*_#SUBIX__L6*/ meltfnum[0]; /*_.MELT_DEBUG_FUN__V28*/ 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 MELTBPARSTR_CSTRING MELTBPARSTR_LONG ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V27*/ meltfptr[26] = /*_.MELT_DEBUG_FUN__V28*/ meltfptr[27];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:231:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L10*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V28*/ meltfptr[27] = 0; } ; } else { /*^cond.else */ /*_.IF___V27*/ meltfptr[26] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:231:/ quasiblock"); /*_.PROGN___V29*/ meltfptr[27] = /*_.IF___V27*/ meltfptr[26];; /*^compute */ /*_.IFCPP___V26*/ meltfptr[22] = /*_.PROGN___V29*/ meltfptr[27];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:231:/ clear"); /*clear *//*_#MELT_NEED_DBG__L9*/ meltfnum[7] = 0; /*^clear */ /*clear *//*_.IF___V27*/ meltfptr[26] = 0; /*^clear */ /*clear *//*_.PROGN___V29*/ meltfptr[27] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V26*/ meltfptr[22] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; if ( /*_#SUBIX__L6*/ meltfnum[0] < 0) break; } /* end foreach_in_multiple meltcit1__EACHTUP */ /*citerepilog */ MELT_LOCATION ("warmelt-normatch.melt:226:/ clear"); /*clear *//*_.CURSUBPA__V20*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_#SUBIX__L6*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFCPP___V21*/ meltfptr[20] = 0; /*^clear */ /*clear *//*_.SCAN_PATTERN__V25*/ meltfptr[21] = 0; /*^clear */ /*clear *//*_.IFCPP___V26*/ meltfptr[22] = 0; } /*endciterblock FOREACH_IN_MULTIPLE */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:233:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L11*/ meltfnum[1] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:233:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L11*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L12*/ meltfnum[7] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:233:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L12*/ meltfnum[7]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 233; /*^apply.arg */ argtab[3].meltbp_cstring = "scanpat_srcpatconstruct done subpa="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.SUBPA__V16*/ meltfptr[15]; /*_.MELT_DEBUG_FUN__V32*/ 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); } ; /*_.IF___V31*/ meltfptr[27] = /*_.MELT_DEBUG_FUN__V32*/ meltfptr[31];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:233:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L12*/ meltfnum[7] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V32*/ meltfptr[31] = 0; } ; } else { /*^cond.else */ /*_.IF___V31*/ meltfptr[27] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:233:/ quasiblock"); /*_.PROGN___V33*/ meltfptr[31] = /*_.IF___V31*/ meltfptr[27];; /*^compute */ /*_.IFCPP___V30*/ meltfptr[26] = /*_.PROGN___V33*/ meltfptr[31];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:233:/ clear"); /*clear *//*_#MELT_NEED_DBG__L11*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IF___V31*/ meltfptr[27] = 0; /*^clear */ /*clear *//*_.PROGN___V33*/ meltfptr[31] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V30*/ meltfptr[26] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; /*^compute */ /*_.LET___V14*/ meltfptr[12] = /*_.IFCPP___V30*/ meltfptr[26];; MELT_LOCATION ("warmelt-normatch.melt:221:/ clear"); /*clear *//*_.SLOC__V15*/ meltfptr[14] = 0; /*^clear */ /*clear *//*_.SUBPA__V16*/ meltfptr[15] = 0; /*^clear */ /*clear *//*_.NCX__V17*/ meltfptr[16] = 0; /*^clear */ /*clear *//*_.IFCPP___V18*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_.IFCPP___V30*/ meltfptr[26] = 0; MELT_LOCATION ("warmelt-normatch.melt:217:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V14*/ meltfptr[12];; { MELT_LOCATION ("warmelt-normatch.melt:217:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V6*/ meltfptr[5] = 0; /*^clear */ /*clear *//*_.IFCPP___V10*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.IFCPP___V12*/ meltfptr[7] = 0; /*^clear */ /*clear *//*_.LET___V14*/ meltfptr[12] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("SCANPAT_SRCPATCONSTRUCT", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_6_warmelt_normatch_SCANPAT_SRCPATCONSTRUCT_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_6_warmelt_normatch_SCANPAT_SRCPATCONSTRUCT */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_7_warmelt_normatch_SCANPAT_SRCPATOBJECT (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un * meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un * meltxrestab_) { long current_blocklevel_signals_meltrout_7_warmelt_normatch_SCANPAT_SRCPATOBJECT_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_7_warmelt_normatch_SCANPAT_SRCPATOBJECT_st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 43 melt_ptr_t mcfr_varptr[43]; #define MELTFRAM_NBVARNUM 13 long mcfr_varnum[13]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_7_warmelt_normatch_SCANPAT_SRCPATOBJECT is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_7_warmelt_normatch_SCANPAT_SRCPATOBJECT_st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 43; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_7_warmelt_normatch_SCANPAT_SRCPATOBJECT nbval 43*/ meltfram__.mcfr_nbvar = 43 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("SCANPAT_SRCPATOBJECT", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normatch.melt:242:/ getarg"); /*_.RECV__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.PSLOC__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.PSLOC__V3*/ meltfptr[2])) != NULL); /*getarg#2 */ /*^getarg */ if (meltxargdescr_[1] != MELTBPAR_PTR) goto lab_endgetargs; /*_.CTYP__V4*/ meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.CTYP__V4*/ meltfptr[3])) != NULL); /*getarg#3 */ /*^getarg */ if (meltxargdescr_[2] != MELTBPAR_PTR) goto lab_endgetargs; /*_.PCN__V5*/ meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:243:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:243:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:243:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 243; /*^apply.arg */ argtab[3].meltbp_cstring = "scanpat_srcpatobject recv"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.RECV__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V8*/ 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); } ; /*_.IF___V7*/ meltfptr[6] = /*_.MELT_DEBUG_FUN__V8*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:243:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V8*/ meltfptr[7] = 0; } ; } else { /*^cond.else */ /*_.IF___V7*/ meltfptr[6] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:243:/ quasiblock"); /*_.PROGN___V9*/ meltfptr[7] = /*_.IF___V7*/ meltfptr[6];; /*^compute */ /*_.IFCPP___V6*/ meltfptr[5] = /*_.PROGN___V9*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:243:/ clear"); /*clear *//*_#MELT_NEED_DBG__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V7*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.PROGN___V9*/ meltfptr[7] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V6*/ meltfptr[5] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:244:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L3*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]), (melt_ptr_t) (( /*!CLASS_PATTERN_CONTEXT */ meltfrout->tabval[1])));; MELT_LOCATION ("warmelt-normatch.melt:244:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V11*/ meltfptr[7] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:244:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check pcn"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (244) ? (244) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V11*/ meltfptr[7] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[6] = /*_.IFELSE___V11*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:244:/ clear"); /*clear *//*_#IS_A__L3*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V11*/ meltfptr[7] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V10*/ meltfptr[6] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:245:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L4*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_SOURCE_PATTERN_OBJECT */ meltfrout->tabval[2])));; MELT_LOCATION ("warmelt-normatch.melt:245:/ cond"); /*cond */ if ( /*_#IS_A__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V13*/ meltfptr[12] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:245:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check recv"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (245) ? (245) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V13*/ meltfptr[12] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V12*/ meltfptr[7] = /*_.IFELSE___V13*/ meltfptr[12];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:245:/ clear"); /*clear *//*_#IS_A__L4*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V13*/ meltfptr[12] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V12*/ meltfptr[7] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:246:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "LOCA_LOCATION"); /*_.SLOC__V15*/ meltfptr[14] = slot; }; ; MELT_LOCATION ("warmelt-normatch.melt:247:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 3, "SPAT_CLASS"); /*_.SCLA__V16*/ meltfptr[15] = slot; }; ; MELT_LOCATION ("warmelt-normatch.melt:248:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 4, "SPAT_FIELDS"); /*_.SFIELDS__V17*/ meltfptr[16] = slot; }; ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:250:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L5*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.SCLA__V16*/ meltfptr[15]), (melt_ptr_t) (( /*!CLASS_CLASS */ meltfrout-> tabval[3])));; MELT_LOCATION ("warmelt-normatch.melt:250:/ cond"); /*cond */ if ( /*_#IS_A__L5*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V19*/ meltfptr[18] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:250:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check scla"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (250) ? (250) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V19*/ meltfptr[18] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V18*/ meltfptr[17] = /*_.IFELSE___V19*/ meltfptr[18];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:250:/ clear"); /*clear *//*_#IS_A__L5*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V19*/ meltfptr[18] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V18*/ meltfptr[17] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:251:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_MULTIPLE__L6*/ meltfnum[0] = (melt_magic_discr ((melt_ptr_t) ( /*_.SFIELDS__V17*/ meltfptr[16])) == MELTOBMAG_MULTIPLE);; MELT_LOCATION ("warmelt-normatch.melt:251:/ cond"); /*cond */ if ( /*_#IS_MULTIPLE__L6*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V21*/ meltfptr[20] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:251:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check sfields"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (251) ? (251) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V21*/ meltfptr[20] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V20*/ meltfptr[18] = /*_.IFELSE___V21*/ meltfptr[20];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:251:/ clear"); /*clear *//*_#IS_MULTIPLE__L6*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V21*/ meltfptr[20] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V20*/ meltfptr[18] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; /*citerblock FOREACH_IN_MULTIPLE */ { /* start foreach_in_multiple meltcit1__EACHTUP */ long meltcit1__EACHTUP_ln = melt_multiple_length ((melt_ptr_t) /*_.SFIELDS__V17*/ meltfptr[16]); for ( /*_#IX__L7*/ meltfnum[1] = 0; ( /*_#IX__L7*/ meltfnum[1] >= 0) && ( /*_#IX__L7*/ meltfnum[1] < meltcit1__EACHTUP_ln); /*_#IX__L7*/ meltfnum[1]++) { /*_.FLDPA__V22*/ meltfptr[20] = melt_multiple_nth ((melt_ptr_t) ( /*_.SFIELDS__V17*/ meltfptr[16]), /*_#IX__L7*/ meltfnum[1]); #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:255:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L8*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.FLDPA__V22*/ meltfptr[20]), (melt_ptr_t) (( /*!CLASS_SOURCE_FIELD_PATTERN */ meltfrout->tabval[4])));; MELT_LOCATION ("warmelt-normatch.melt:255:/ cond"); /*cond */ if ( /*_#IS_A__L8*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V24*/ meltfptr[23] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:255:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check fldp"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (255) ? (255) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V24*/ meltfptr[23] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V23*/ meltfptr[22] = /*_.IFELSE___V24*/ meltfptr[23];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:255:/ clear"); /*clear *//*_#IS_A__L8*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V24*/ meltfptr[23] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V23*/ meltfptr[22] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:256:/ quasiblock"); /*^quasiblock */ /*^cond */ /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.FLDPA__V22*/ meltfptr[20]), (melt_ptr_t) (( /*!CLASS_SOURCE_FIELD_PATTERN */ meltfrout->tabval[4]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.FLDPA__V22*/ meltfptr[20]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "SPAF_FIELD"); /*_.F__V27*/ meltfptr[26] = slot; }; ; } else { /*^cond.else */ /*_.F__V27*/ meltfptr[26] = NULL;; } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:257:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L9*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.F__V27*/ meltfptr[26]), (melt_ptr_t) (( /*!CLASS_FIELD */ meltfrout->tabval[5])));; MELT_LOCATION ("warmelt-normatch.melt:257:/ cond"); /*cond */ if ( /*_#IS_A__L9*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V29*/ meltfptr[28] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:257:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check fld"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (257) ? (257) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V29*/ meltfptr[28] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V28*/ meltfptr[27] = /*_.IFELSE___V29*/ meltfptr[28];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:257:/ clear"); /*clear *//*_#IS_A__L9*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V29*/ meltfptr[28] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V28*/ meltfptr[27] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; /*^compute */ /*_.LET___V26*/ meltfptr[25] = /*_.F__V27*/ meltfptr[26];; MELT_LOCATION ("warmelt-normatch.melt:256:/ clear"); /*clear *//*_.F__V27*/ meltfptr[26] = 0; /*^clear */ /*clear *//*_.IFCPP___V28*/ meltfptr[27] = 0; /*_.FLD__V30*/ meltfptr[28] = /*_.LET___V26*/ meltfptr[25];; MELT_LOCATION ("warmelt-normatch.melt:259:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.FLD__V30*/ meltfptr[28]), (melt_ptr_t) (( /*!CLASS_FIELD */ meltfrout->tabval[5]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.FLD__V30*/ meltfptr[28]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "FLD_OWNCLASS"); /*_.FLCLA__V31*/ meltfptr[26] = slot; }; ; } else { /*^cond.else */ /*_.FLCLA__V31*/ meltfptr[26] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:260:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.FLDPA__V22*/ meltfptr[20]) /*=obj*/ ; melt_object_get_field (slot, obj, 3, "SPAF_PATTERN"); /*_.FPAT__V32*/ meltfptr[27] = slot; }; ; MELT_LOCATION ("warmelt-normatch.melt:262:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#SUBCLASS_OR_EQ__L10*/ meltfnum[0] = (( /*_.SCLA__V16*/ meltfptr[15] == /*_.FLCLA__V31*/ meltfptr[26]) || melt_is_subclass_of ((meltobject_ptr_t) ( /*_.SCLA__V16*/ meltfptr[15]), (meltobject_ptr_t) ( /*_.FLCLA__V31*/ meltfptr[26])));; /*^compute */ /*_#NOT__L11*/ meltfnum[10] = (!( /*_#SUBCLASS_OR_EQ__L10*/ meltfnum[0]));; MELT_LOCATION ("warmelt-normatch.melt:262:/ cond"); /*cond */ if ( /*_#NOT__L11*/ meltfnum[10]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normatch.melt:264:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.FLD__V30*/ meltfptr[28]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V34*/ meltfptr[33] = slot; }; ; { MELT_LOCATION ("warmelt-normatch.melt:263:/ locexp"); melt_error_str ((melt_ptr_t) ( /*_.SLOC__V15*/ meltfptr[14]), ("bad field in object pattern"), (melt_ptr_t) ( /*_.NAMED_NAME__V34*/ meltfptr[33])); } ; MELT_LOCATION ("warmelt-normatch.melt:265:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.SCLA__V16*/ meltfptr[15]), (melt_ptr_t) (( /*!CLASS_NAMED */ meltfrout->tabval[6]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.SCLA__V16*/ meltfptr[15]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V35*/ meltfptr[34] = slot; }; ; } else { /*^cond.else */ /*_.NAMED_NAME__V35*/ meltfptr[34] = NULL;; } ; { MELT_LOCATION ("warmelt-normatch.melt:265:/ locexp"); melt_inform_str ((melt_ptr_t) ( /*_.SLOC__V15*/ meltfptr[14]), ("class in pattern is"), (melt_ptr_t) ( /*_.NAMED_NAME__V35*/ meltfptr[34])); } ; MELT_LOCATION ("warmelt-normatch.melt:266:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.FLCLA__V31*/ meltfptr[26]), (melt_ptr_t) (( /*!CLASS_NAMED */ meltfrout->tabval[6]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.FLCLA__V31*/ meltfptr[26]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V36*/ meltfptr[35] = slot; }; ; } else { /*^cond.else */ /*_.NAMED_NAME__V36*/ meltfptr[35] = NULL;; } ; { MELT_LOCATION ("warmelt-normatch.melt:266:/ locexp"); melt_inform_str ((melt_ptr_t) ( /*_.SLOC__V15*/ meltfptr[14]), ("class of field is"), (melt_ptr_t) ( /*_.NAMED_NAME__V36*/ meltfptr[35])); } ; MELT_LOCATION ("warmelt-normatch.melt:267:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = NULL;; { MELT_LOCATION ("warmelt-normatch.melt:267:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; MELT_LOCATION ("warmelt-normatch.melt:262:/ quasiblock"); /*_.PROGN___V38*/ meltfptr[37] = /*_.RETURN___V37*/ meltfptr[36];; /*^compute */ /*_.IFELSE___V33*/ meltfptr[32] = /*_.PROGN___V38*/ meltfptr[37];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:262:/ clear"); /*clear *//*_.NAMED_NAME__V34*/ meltfptr[33] = 0; /*^clear */ /*clear *//*_.NAMED_NAME__V35*/ meltfptr[34] = 0; /*^clear */ /*clear *//*_.NAMED_NAME__V36*/ meltfptr[35] = 0; /*^clear */ /*clear *//*_.RETURN___V37*/ meltfptr[36] = 0; /*^clear */ /*clear *//*_.PROGN___V38*/ meltfptr[37] = 0; } ; } else { /*^cond.else */ /*_.IFELSE___V33*/ meltfptr[32] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:268:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^msend */ /*msend */ { union meltparam_un argtab[3]; memset (&argtab, 0, sizeof (argtab)); /*^ojbmsend.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.SLOC__V15*/ meltfptr[14]; /*^ojbmsend.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & ( /*!CTYPE_VALUE */ meltfrout->tabval[8]); /*^ojbmsend.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & /*_.PCN__V5*/ meltfptr[4]; /*_.SCAN_PATTERN__V39*/ meltfptr[33] = meltgc_send ((melt_ptr_t) ( /*_.FPAT__V32*/ meltfptr[27]), (melt_ptr_t) (( /*!SCAN_PATTERN */ meltfrout-> tabval[7])), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.LET___V25*/ meltfptr[23] = /*_.SCAN_PATTERN__V39*/ meltfptr[33];; MELT_LOCATION ("warmelt-normatch.melt:256:/ clear"); /*clear *//*_.LET___V26*/ meltfptr[25] = 0; /*^clear */ /*clear *//*_.FLD__V30*/ meltfptr[28] = 0; /*^clear */ /*clear *//*_.FLCLA__V31*/ meltfptr[26] = 0; /*^clear */ /*clear *//*_.FPAT__V32*/ meltfptr[27] = 0; /*^clear */ /*clear *//*_#SUBCLASS_OR_EQ__L10*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_#NOT__L11*/ meltfnum[10] = 0; /*^clear */ /*clear *//*_.IFELSE___V33*/ meltfptr[32] = 0; /*^clear */ /*clear *//*_.SCAN_PATTERN__V39*/ meltfptr[33] = 0; if ( /*_#IX__L7*/ meltfnum[1] < 0) break; } /* end foreach_in_multiple meltcit1__EACHTUP */ /*citerepilog */ MELT_LOCATION ("warmelt-normatch.melt:252:/ clear"); /*clear *//*_.FLDPA__V22*/ meltfptr[20] = 0; /*^clear */ /*clear *//*_#IX__L7*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFCPP___V23*/ meltfptr[22] = 0; /*^clear */ /*clear *//*_.LET___V25*/ meltfptr[23] = 0; } /*endciterblock FOREACH_IN_MULTIPLE */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:271:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L12*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:271:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L12*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L13*/ meltfnum[10] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:271:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L13*/ meltfnum[10]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 271; /*^apply.arg */ argtab[3].meltbp_cstring = "scanpat_srcpatobject end recv"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.RECV__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V42*/ 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_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V41*/ meltfptr[35] = /*_.MELT_DEBUG_FUN__V42*/ meltfptr[36];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:271:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L13*/ meltfnum[10] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V42*/ meltfptr[36] = 0; } ; } else { /*^cond.else */ /*_.IF___V41*/ meltfptr[35] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:271:/ quasiblock"); /*_.PROGN___V43*/ meltfptr[37] = /*_.IF___V41*/ meltfptr[35];; /*^compute */ /*_.IFCPP___V40*/ meltfptr[34] = /*_.PROGN___V43*/ meltfptr[37];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:271:/ clear"); /*clear *//*_#MELT_NEED_DBG__L12*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V41*/ meltfptr[35] = 0; /*^clear */ /*clear *//*_.PROGN___V43*/ meltfptr[37] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V40*/ meltfptr[34] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; /*^compute */ /*_.LET___V14*/ meltfptr[12] = /*_.IFCPP___V40*/ meltfptr[34];; MELT_LOCATION ("warmelt-normatch.melt:246:/ clear"); /*clear *//*_.SLOC__V15*/ meltfptr[14] = 0; /*^clear */ /*clear *//*_.SCLA__V16*/ meltfptr[15] = 0; /*^clear */ /*clear *//*_.SFIELDS__V17*/ meltfptr[16] = 0; /*^clear */ /*clear *//*_.IFCPP___V18*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_.IFCPP___V20*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_.IFCPP___V40*/ meltfptr[34] = 0; MELT_LOCATION ("warmelt-normatch.melt:242:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V14*/ meltfptr[12];; { MELT_LOCATION ("warmelt-normatch.melt:242:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V6*/ meltfptr[5] = 0; /*^clear */ /*clear *//*_.IFCPP___V10*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.IFCPP___V12*/ meltfptr[7] = 0; /*^clear */ /*clear *//*_.LET___V14*/ meltfptr[12] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("SCANPAT_SRCPATOBJECT", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_7_warmelt_normatch_SCANPAT_SRCPATOBJECT_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_7_warmelt_normatch_SCANPAT_SRCPATOBJECT */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_8_warmelt_normatch_SCANPAT_SRCPATCOMPOSITE (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un * meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un * meltxrestab_) { long current_blocklevel_signals_meltrout_8_warmelt_normatch_SCANPAT_SRCPATCOMPOSITE_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_8_warmelt_normatch_SCANPAT_SRCPATCOMPOSITE_st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 95 melt_ptr_t mcfr_varptr[95]; #define MELTFRAM_NBVARNUM 31 long mcfr_varnum[31]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_8_warmelt_normatch_SCANPAT_SRCPATCOMPOSITE is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_8_warmelt_normatch_SCANPAT_SRCPATCOMPOSITE_st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 95; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_8_warmelt_normatch_SCANPAT_SRCPATCOMPOSITE nbval 95*/ meltfram__.mcfr_nbvar = 95 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("SCANPAT_SRCPATCOMPOSITE", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normatch.melt:280:/ getarg"); /*_.RECV__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.PSLOC__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.PSLOC__V3*/ meltfptr[2])) != NULL); /*getarg#2 */ /*^getarg */ if (meltxargdescr_[1] != MELTBPAR_PTR) goto lab_endgetargs; /*_.CTYP__V4*/ meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.CTYP__V4*/ meltfptr[3])) != NULL); /*getarg#3 */ /*^getarg */ if (meltxargdescr_[2] != MELTBPAR_PTR) goto lab_endgetargs; /*_.PCN__V5*/ meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:281:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L1*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]), (melt_ptr_t) (( /*!CLASS_PATTERN_CONTEXT */ meltfrout->tabval[0])));; MELT_LOCATION ("warmelt-normatch.melt:281:/ cond"); /*cond */ if ( /*_#IS_A__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V7*/ meltfptr[6] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:281:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check pcn"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (281) ? (281) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V7*/ meltfptr[6] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V6*/ meltfptr[5] = /*_.IFELSE___V7*/ meltfptr[6];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:281:/ clear"); /*clear *//*_#IS_A__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V7*/ meltfptr[6] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V6*/ meltfptr[5] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:282:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L2*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:282:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L2*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L3*/ meltfnum[2] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:282:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L3*/ meltfnum[2]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 282; /*^apply.arg */ argtab[3].meltbp_cstring = "scanpat_srcpatcomposite start recv="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.RECV__V2*/ meltfptr[1]; /*^apply.arg */ argtab[5].meltbp_cstring = " ctyp="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.CTYP__V4*/ meltfptr[3]; /*_.MELT_DEBUG_FUN__V10*/ meltfptr[9] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[1])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V9*/ meltfptr[8] = /*_.MELT_DEBUG_FUN__V10*/ meltfptr[9];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:282:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L3*/ meltfnum[2] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V10*/ meltfptr[9] = 0; } ; } else { /*^cond.else */ /*_.IF___V9*/ meltfptr[8] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:282:/ quasiblock"); /*_.PROGN___V11*/ meltfptr[9] = /*_.IF___V9*/ meltfptr[8];; /*^compute */ /*_.IFCPP___V8*/ meltfptr[6] = /*_.PROGN___V11*/ meltfptr[9];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:282:/ clear"); /*clear *//*_#MELT_NEED_DBG__L2*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V9*/ meltfptr[8] = 0; /*^clear */ /*clear *//*_.PROGN___V11*/ meltfptr[9] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V8*/ meltfptr[6] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:283:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L4*/ meltfnum[2] = melt_is_instance_of ((melt_ptr_t) ( /*_.CTYP__V4*/ meltfptr[3]), (melt_ptr_t) (( /*!CLASS_CTYPE */ meltfrout-> tabval[2])));; MELT_LOCATION ("warmelt-normatch.melt:283:/ cond"); /*cond */ if ( /*_#IS_A__L4*/ meltfnum[2]) /*then */ { /*^cond.then */ /*_.IFELSE___V13*/ meltfptr[9] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:283:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check ctyp"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (283) ? (283) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V13*/ meltfptr[9] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V12*/ meltfptr[8] = /*_.IFELSE___V13*/ meltfptr[9];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:283:/ clear"); /*clear *//*_#IS_A__L4*/ meltfnum[2] = 0; /*^clear */ /*clear *//*_.IFELSE___V13*/ meltfptr[9] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V12*/ meltfptr[8] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:284:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L5*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_SOURCE_PATTERN_COMPOSITE */ meltfrout->tabval[3])));; MELT_LOCATION ("warmelt-normatch.melt:284:/ cond"); /*cond */ if ( /*_#IS_A__L5*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V15*/ meltfptr[14] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:284:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check recv"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (284) ? (284) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V15*/ meltfptr[14] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V14*/ meltfptr[9] = /*_.IFELSE___V15*/ meltfptr[14];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:284:/ clear"); /*clear *//*_#IS_A__L5*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V15*/ meltfptr[14] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V14*/ meltfptr[9] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:285:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "LOCA_LOCATION"); /*_.SLOC__V17*/ meltfptr[16] = slot; }; ; MELT_LOCATION ("warmelt-normatch.melt:286:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 5, "SPAC_OPERATOR"); /*_.SOP__V19*/ meltfptr[18] = slot; }; ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:287:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L6*/ meltfnum[2] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:287:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L6*/ meltfnum[2]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L7*/ meltfnum[0] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:287:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L7*/ meltfnum[0]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 287; /*^apply.arg */ argtab[3].meltbp_cstring = "scanpat_srcpatcomposite soper"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.SOP__V19*/ meltfptr[18]; /*_.MELT_DEBUG_FUN__V22*/ meltfptr[21] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[1])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V21*/ meltfptr[20] = /*_.MELT_DEBUG_FUN__V22*/ meltfptr[21];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:287:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L7*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V22*/ meltfptr[21] = 0; } ; } else { /*^cond.else */ /*_.IF___V21*/ meltfptr[20] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:287:/ quasiblock"); /*_.PROGN___V23*/ meltfptr[21] = /*_.IF___V21*/ meltfptr[20];; /*^compute */ /*_.IFCPP___V20*/ meltfptr[19] = /*_.PROGN___V23*/ meltfptr[21];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:287:/ clear"); /*clear *//*_#MELT_NEED_DBG__L6*/ meltfnum[2] = 0; /*^clear */ /*clear *//*_.IF___V21*/ meltfptr[20] = 0; /*^clear */ /*clear *//*_.PROGN___V23*/ meltfptr[21] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V20*/ meltfptr[19] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:288:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L8*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.SOP__V19*/ meltfptr[18]), (melt_ptr_t) (( /*!CLASS_ANY_MATCHER */ meltfrout->tabval[4])));; MELT_LOCATION ("warmelt-normatch.melt:288:/ cond"); /*cond */ if ( /*_#IS_A__L8*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V25*/ meltfptr[21] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:288:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check soper"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (288) ? (288) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V25*/ meltfptr[21] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V24*/ meltfptr[20] = /*_.IFELSE___V25*/ meltfptr[21];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:288:/ clear"); /*clear *//*_#IS_A__L8*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V25*/ meltfptr[21] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V24*/ meltfptr[20] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; /*^compute */ /*_.LET___V18*/ meltfptr[17] = /*_.SOP__V19*/ meltfptr[18];; MELT_LOCATION ("warmelt-normatch.melt:286:/ clear"); /*clear *//*_.SOP__V19*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_.IFCPP___V20*/ meltfptr[19] = 0; /*^clear */ /*clear *//*_.IFCPP___V24*/ meltfptr[20] = 0; /*_.SOPER__V26*/ meltfptr[21] = /*_.LET___V18*/ meltfptr[17];; MELT_LOCATION ("warmelt-normatch.melt:290:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 7, "SPAC_INARGS"); /*_.SINS__V27*/ meltfptr[18] = slot; }; ; MELT_LOCATION ("warmelt-normatch.melt:291:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 8, "SPAC_OUTARGS"); /*_.SOUTS__V28*/ meltfptr[19] = slot; }; ; MELT_LOCATION ("warmelt-normatch.melt:292:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.SOPER__V26*/ meltfptr[21]) /*=obj*/ ; melt_object_get_field (slot, obj, 3, "AMATCH_MATCHBIND"); /*_.MB__V30*/ meltfptr[29] = slot; }; ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:293:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L9*/ meltfnum[2] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:293:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L9*/ meltfnum[2]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L10*/ meltfnum[0] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:293:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L10*/ meltfnum[0]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 293; /*^apply.arg */ argtab[3].meltbp_cstring = "scanpat_srcpatcomposite matmb"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.MB__V30*/ meltfptr[29]; /*_.MELT_DEBUG_FUN__V33*/ meltfptr[32] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[1])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V32*/ meltfptr[31] = /*_.MELT_DEBUG_FUN__V33*/ meltfptr[32];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:293:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L10*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V33*/ meltfptr[32] = 0; } ; } else { /*^cond.else */ /*_.IF___V32*/ meltfptr[31] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:293:/ quasiblock"); /*_.PROGN___V34*/ meltfptr[32] = /*_.IF___V32*/ meltfptr[31];; /*^compute */ /*_.IFCPP___V31*/ meltfptr[30] = /*_.PROGN___V34*/ meltfptr[32];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:293:/ clear"); /*clear *//*_#MELT_NEED_DBG__L9*/ meltfnum[2] = 0; /*^clear */ /*clear *//*_.IF___V32*/ meltfptr[31] = 0; /*^clear */ /*clear *//*_.PROGN___V34*/ meltfptr[32] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V31*/ meltfptr[30] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:294:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L11*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.MB__V30*/ meltfptr[29]), (melt_ptr_t) (( /*!CLASS_FORMAL_BINDING */ meltfrout->tabval[5])));; MELT_LOCATION ("warmelt-normatch.melt:294:/ cond"); /*cond */ if ( /*_#IS_A__L11*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V36*/ meltfptr[32] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:294:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check matmb"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (294) ? (294) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V36*/ meltfptr[32] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V35*/ meltfptr[31] = /*_.IFELSE___V36*/ meltfptr[32];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:294:/ clear"); /*clear *//*_#IS_A__L11*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V36*/ meltfptr[32] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V35*/ meltfptr[31] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; /*^compute */ /*_.LET___V29*/ meltfptr[20] = /*_.MB__V30*/ meltfptr[29];; MELT_LOCATION ("warmelt-normatch.melt:292:/ clear"); /*clear *//*_.MB__V30*/ meltfptr[29] = 0; /*^clear */ /*clear *//*_.IFCPP___V31*/ meltfptr[30] = 0; /*^clear */ /*clear *//*_.IFCPP___V35*/ meltfptr[31] = 0; /*_.MATMB__V37*/ meltfptr[32] = /*_.LET___V29*/ meltfptr[20];; MELT_LOCATION ("warmelt-normatch.melt:296:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.SOPER__V26*/ meltfptr[21]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "AMATCH_IN"); /*_.MATIN__V38*/ meltfptr[29] = slot; }; ; MELT_LOCATION ("warmelt-normatch.melt:297:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.SOPER__V26*/ meltfptr[21]) /*=obj*/ ; melt_object_get_field (slot, obj, 4, "AMATCH_OUT"); /*_.MATOUT__V39*/ meltfptr[30] = slot; }; ; MELT_LOCATION ("warmelt-normatch.melt:298:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.SOPER__V26*/ meltfptr[21]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.OPNAM__V40*/ meltfptr[31] = slot; }; ; MELT_LOCATION ("warmelt-normatch.melt:299:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.MATMB__V37*/ meltfptr[32]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "FBIND_TYPE"); /*_.MATCTYP__V41*/ meltfptr[40] = slot; }; ; MELT_LOCATION ("warmelt-normatch.melt:300:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "PCTN_ENV"); /*_.ENV__V42*/ meltfptr[41] = slot; }; ; MELT_LOCATION ("warmelt-normatch.melt:301:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]) /*=obj*/ ; melt_object_get_field (slot, obj, 0, "PCTN_NORMCTXT"); /*_.NCX__V43*/ meltfptr[42] = slot; }; ; MELT_LOCATION ("warmelt-normatch.melt:302:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]) /*=obj*/ ; melt_object_get_field (slot, obj, 6, "PCTN_BINDLIST"); /*_.BINDLIST__V44*/ meltfptr[43] = slot; }; ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:304:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L12*/ meltfnum[2] = melt_is_instance_of ((melt_ptr_t) ( /*_.MATCTYP__V41*/ meltfptr[40]), (melt_ptr_t) (( /*!CLASS_CTYPE */ meltfrout-> tabval[2])));; MELT_LOCATION ("warmelt-normatch.melt:304:/ cond"); /*cond */ if ( /*_#IS_A__L12*/ meltfnum[2]) /*then */ { /*^cond.then */ /*_.IFELSE___V46*/ meltfptr[45] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:304:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check matctyp"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (304) ? (304) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V46*/ meltfptr[45] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V45*/ meltfptr[44] = /*_.IFELSE___V46*/ meltfptr[45];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:304:/ clear"); /*clear *//*_#IS_A__L12*/ meltfnum[2] = 0; /*^clear */ /*clear *//*_.IFELSE___V46*/ meltfptr[45] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V45*/ meltfptr[44] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:305:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L13*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:305:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L13*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L14*/ meltfnum[2] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:305:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L14*/ meltfnum[2]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 305; /*^apply.arg */ argtab[3].meltbp_cstring = "scanpat_srcpatcomposite matout"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.MATOUT__V39*/ meltfptr[30]; /*_.MELT_DEBUG_FUN__V49*/ meltfptr[48] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[1])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V48*/ meltfptr[47] = /*_.MELT_DEBUG_FUN__V49*/ meltfptr[48];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:305:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L14*/ meltfnum[2] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V49*/ meltfptr[48] = 0; } ; } else { /*^cond.else */ /*_.IF___V48*/ meltfptr[47] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:305:/ quasiblock"); /*_.PROGN___V50*/ meltfptr[48] = /*_.IF___V48*/ meltfptr[47];; /*^compute */ /*_.IFCPP___V47*/ meltfptr[45] = /*_.PROGN___V50*/ meltfptr[48];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:305:/ clear"); /*clear *//*_#MELT_NEED_DBG__L13*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V48*/ meltfptr[47] = 0; /*^clear */ /*clear *//*_.PROGN___V50*/ meltfptr[48] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V47*/ meltfptr[45] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:306:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#__L15*/ meltfnum[2] = (( /*_.CTYP__V4*/ meltfptr[3]) != ( /*_.MATCTYP__V41*/ meltfptr[40]));; MELT_LOCATION ("warmelt-normatch.melt:306:/ cond"); /*cond */ if ( /*_#__L15*/ meltfnum[2]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normatch.melt:308:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.MATCTYP__V41*/ meltfptr[40]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V52*/ meltfptr[48] = slot; }; ; { MELT_LOCATION ("warmelt-normatch.melt:307:/ locexp"); melt_error_str ((melt_ptr_t) ( /*_.SLOC__V17*/ meltfptr[16]), ("invalid ctype in composite pattern - expecting"), (melt_ptr_t) ( /*_.NAMED_NAME__V52*/ meltfptr[48])); } ; MELT_LOCATION ("warmelt-normatch.melt:310:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CTYP__V4*/ meltfptr[3]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V53*/ meltfptr[52] = slot; }; ; { MELT_LOCATION ("warmelt-normatch.melt:309:/ locexp"); melt_warning_str (0, (melt_ptr_t) ( /*_.SLOC__V17*/ meltfptr[16]), ("got ctype"), (melt_ptr_t) ( /*_.NAMED_NAME__V53*/ meltfptr[52])); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:311:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L16*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:311:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L16*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L17*/ meltfnum[16] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:311:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[9]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L17*/ meltfnum[16]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 311; /*^apply.arg */ argtab[3].meltbp_cstring = "scanpat_srcpatcomposite mismatched ctyp="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CTYP__V4*/ meltfptr[3]; /*^apply.arg */ argtab[5].meltbp_cstring = " matctyp="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.MATCTYP__V41*/ meltfptr[40]; /*^apply.arg */ argtab[7].meltbp_cstring = " mismatched recv="; /*^apply.arg */ argtab[8].meltbp_aptr = (melt_ptr_t *) & /*_.RECV__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V56*/ meltfptr[55] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[1])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V55*/ meltfptr[54] = /*_.MELT_DEBUG_FUN__V56*/ meltfptr[55];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:311:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L17*/ meltfnum[16] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V56*/ meltfptr[55] = 0; } ; } else { /*^cond.else */ /*_.IF___V55*/ meltfptr[54] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:311:/ quasiblock"); /*_.PROGN___V57*/ meltfptr[55] = /*_.IF___V55*/ meltfptr[54];; /*^compute */ /*_.IFCPP___V54*/ meltfptr[53] = /*_.PROGN___V57*/ meltfptr[55];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:311:/ clear"); /*clear *//*_#MELT_NEED_DBG__L16*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V55*/ meltfptr[54] = 0; /*^clear */ /*clear *//*_.PROGN___V57*/ meltfptr[55] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V54*/ meltfptr[53] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:314:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = NULL;; { MELT_LOCATION ("warmelt-normatch.melt:314:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; MELT_LOCATION ("warmelt-normatch.melt:306:/ quasiblock"); /*_.PROGN___V59*/ meltfptr[55] = /*_.RETURN___V58*/ meltfptr[54];; /*^compute */ /*_.IFELSE___V51*/ meltfptr[47] = /*_.PROGN___V59*/ meltfptr[55];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:306:/ clear"); /*clear *//*_.NAMED_NAME__V52*/ meltfptr[48] = 0; /*^clear */ /*clear *//*_.NAMED_NAME__V53*/ meltfptr[52] = 0; /*^clear */ /*clear *//*_.IFCPP___V54*/ meltfptr[53] = 0; /*^clear */ /*clear *//*_.RETURN___V58*/ meltfptr[54] = 0; /*^clear */ /*clear *//*_.PROGN___V59*/ meltfptr[55] = 0; } ; } else { /*^cond.else */ /*_.IFELSE___V51*/ meltfptr[47] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:317:/ checksignal"); MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normatch.melt:315:/ quasiblock"); /*^multiapply */ /*multiapply 4args, 1x.res */ { union meltparam_un argtab[3]; union meltparam_un restab[1]; memset (&restab, 0, sizeof (restab)); memset (&argtab, 0, sizeof (argtab)); /*^multiapply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.ENV__V42*/ meltfptr[41]; /*^multiapply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.NCX__V43*/ meltfptr[42]; /*^multiapply.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & /*_.SLOC__V17*/ meltfptr[16]; /*^multiapply.xres */ restab[0].meltbp_aptr = (melt_ptr_t *) & /*_.BINDINS__V62*/ meltfptr[53]; /*^multiapply.appl */ /*_.NINS__V61*/ meltfptr[52] = melt_apply ((meltclosure_ptr_t) (( /*!NORMALIZE_TUPLE */ meltfrout->tabval[6])), (melt_ptr_t) ( /*_.SINS__V27*/ meltfptr[18]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, (MELTBPARSTR_PTR ""), restab); } ; /*^quasiblock */ #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:318:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L18*/ meltfnum[16] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:318:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L18*/ meltfnum[16]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L19*/ meltfnum[0] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:318:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L19*/ meltfnum[0]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 318; /*^apply.arg */ argtab[3].meltbp_cstring = "scanpat_srcpatcomposite nins"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NINS__V61*/ meltfptr[52]; /*_.MELT_DEBUG_FUN__V65*/ meltfptr[64] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[1])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V64*/ meltfptr[55] = /*_.MELT_DEBUG_FUN__V65*/ meltfptr[64];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:318:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L19*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V65*/ meltfptr[64] = 0; } ; } else { /*^cond.else */ /*_.IF___V64*/ meltfptr[55] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:318:/ quasiblock"); /*_.PROGN___V66*/ meltfptr[64] = /*_.IF___V64*/ meltfptr[55];; /*^compute */ /*_.IFCPP___V63*/ meltfptr[54] = /*_.PROGN___V66*/ meltfptr[64];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:318:/ clear"); /*clear *//*_#MELT_NEED_DBG__L18*/ meltfnum[16] = 0; /*^clear */ /*clear *//*_.IF___V64*/ meltfptr[55] = 0; /*^clear */ /*clear *//*_.PROGN___V66*/ meltfptr[64] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V63*/ meltfptr[54] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:319:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^cond */ /*cond */ if ( /*_.BINDINS__V62*/ meltfptr[53]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.BINDINS__V62*/ meltfptr[53]; /*_.LIST_APPEND2LIST__V68*/ meltfptr[64] = melt_apply ((meltclosure_ptr_t) (( /*!LIST_APPEND2LIST */ meltfrout->tabval[7])), (melt_ptr_t) ( /*_.BINDLIST__V44*/ meltfptr[43]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V67*/ meltfptr[55] = /*_.LIST_APPEND2LIST__V68*/ meltfptr[64];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:319:/ clear"); /*clear *//*_.LIST_APPEND2LIST__V68*/ meltfptr[64] = 0; } ; } else { /*^cond.else */ /*_.IF___V67*/ meltfptr[55] = NULL;; } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:320:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L20*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:320:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L20*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L21*/ meltfnum[16] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:320:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L21*/ meltfnum[16]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 320; /*^apply.arg */ argtab[3].meltbp_cstring = "scanpat_srcpatcomposite souts="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.SOUTS__V28*/ meltfptr[19]; /*^apply.arg */ argtab[5].meltbp_cstring = " matout="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.MATOUT__V39*/ meltfptr[30]; /*_.MELT_DEBUG_FUN__V71*/ meltfptr[70] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[1])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V70*/ meltfptr[69] = /*_.MELT_DEBUG_FUN__V71*/ meltfptr[70];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:320:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L21*/ meltfnum[16] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V71*/ meltfptr[70] = 0; } ; } else { /*^cond.else */ /*_.IF___V70*/ meltfptr[69] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:320:/ quasiblock"); /*_.PROGN___V72*/ meltfptr[70] = /*_.IF___V70*/ meltfptr[69];; /*^compute */ /*_.IFCPP___V69*/ meltfptr[64] = /*_.PROGN___V72*/ meltfptr[70];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:320:/ clear"); /*clear *//*_#MELT_NEED_DBG__L20*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V70*/ meltfptr[69] = 0; /*^clear */ /*clear *//*_.PROGN___V72*/ meltfptr[70] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V69*/ meltfptr[64] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; /*citerblock FOREACH_IN_MULTIPLE */ { /* start foreach_in_multiple meltcit1__EACHTUP */ long meltcit1__EACHTUP_ln = melt_multiple_length ((melt_ptr_t) /*_.SOUTS__V28*/ meltfptr[19]); for ( /*_#IX__L22*/ meltfnum[16] = 0; ( /*_#IX__L22*/ meltfnum[16] >= 0) && ( /*_#IX__L22*/ meltfnum[16] < meltcit1__EACHTUP_ln); /*_#IX__L22*/ meltfnum[16]++) { /*_.POUT__V73*/ meltfptr[69] = melt_multiple_nth ((melt_ptr_t) ( /*_.SOUTS__V28*/ meltfptr[19]), /*_#IX__L22*/ meltfnum[16]); #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:324:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L23*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:324:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L23*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L24*/ meltfnum[23] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:324:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L24*/ meltfnum[23]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 324; /*^apply.arg */ argtab[3].meltbp_cstring = "scanpat_srcpatcomposite before scan_pattern pout"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.POUT__V73*/ meltfptr[69]; /*_.MELT_DEBUG_FUN__V76*/ meltfptr[75] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[1])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V75*/ meltfptr[74] = /*_.MELT_DEBUG_FUN__V76*/ meltfptr[75];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:324:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L24*/ meltfnum[23] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V76*/ meltfptr[75] = 0; } ; } else { /*^cond.else */ /*_.IF___V75*/ meltfptr[74] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:324:/ quasiblock"); /*_.PROGN___V77*/ meltfptr[75] = /*_.IF___V75*/ meltfptr[74];; /*^compute */ /*_.IFCPP___V74*/ meltfptr[70] = /*_.PROGN___V77*/ meltfptr[75];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:324:/ clear"); /*clear *//*_#MELT_NEED_DBG__L23*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V75*/ meltfptr[74] = 0; /*^clear */ /*clear *//*_.PROGN___V77*/ meltfptr[75] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V74*/ meltfptr[70] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:325:/ quasiblock"); /*_.CUROBIND__V79*/ meltfptr[75] = (melt_multiple_nth ((melt_ptr_t) ( /*_.MATOUT__V39*/ meltfptr[30]), ( /*_#IX__L22*/ meltfnum[16])));; MELT_LOCATION ("warmelt-normatch.melt:326:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CUROBIND__V79*/ meltfptr[75]), (melt_ptr_t) (( /*!CLASS_FORMAL_BINDING */ meltfrout->tabval[5]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CUROBIND__V79*/ meltfptr[75]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "FBIND_TYPE"); /*_.CURCTYPE__V80*/ meltfptr[79] = slot; }; ; } else { /*^cond.else */ /*_.CURCTYPE__V80*/ meltfptr[79] = NULL;; } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:328:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L25*/ meltfnum[23] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:328:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L25*/ meltfnum[23]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L26*/ meltfnum[0] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:328:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L26*/ meltfnum[0]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 328; /*^apply.arg */ argtab[3].meltbp_cstring = "scanpat_srcpatcomposite curobind="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CUROBIND__V79*/ meltfptr[75]; /*^apply.arg */ argtab[5].meltbp_cstring = " curctype="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.CURCTYPE__V80*/ meltfptr[79]; /*_.MELT_DEBUG_FUN__V83*/ meltfptr[82] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[1])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V82*/ meltfptr[81] = /*_.MELT_DEBUG_FUN__V83*/ meltfptr[82];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:328:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L26*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V83*/ meltfptr[82] = 0; } ; } else { /*^cond.else */ /*_.IF___V82*/ meltfptr[81] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:328:/ quasiblock"); /*_.PROGN___V84*/ meltfptr[82] = /*_.IF___V82*/ meltfptr[81];; /*^compute */ /*_.IFCPP___V81*/ meltfptr[80] = /*_.PROGN___V84*/ meltfptr[82];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:328:/ clear"); /*clear *//*_#MELT_NEED_DBG__L25*/ meltfnum[23] = 0; /*^clear */ /*clear *//*_.IF___V82*/ meltfptr[81] = 0; /*^clear */ /*clear *//*_.PROGN___V84*/ meltfptr[82] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V81*/ meltfptr[80] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:329:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L27*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.CURCTYPE__V80*/ meltfptr[79]), (melt_ptr_t) (( /*!CLASS_CTYPE */ meltfrout->tabval[2])));; MELT_LOCATION ("warmelt-normatch.melt:329:/ cond"); /*cond */ if ( /*_#IS_A__L27*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V86*/ meltfptr[82] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:329:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check curctype"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (329) ? (329) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V86*/ meltfptr[82] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V85*/ meltfptr[81] = /*_.IFELSE___V86*/ meltfptr[82];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:329:/ clear"); /*clear *//*_#IS_A__L27*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V86*/ meltfptr[82] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V85*/ meltfptr[81] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:330:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^msend */ /*msend */ { union meltparam_un argtab[3]; memset (&argtab, 0, sizeof (argtab)); /*^ojbmsend.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.SLOC__V17*/ meltfptr[16]; /*^ojbmsend.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.CURCTYPE__V80*/ meltfptr[79]; /*^ojbmsend.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & /*_.PCN__V5*/ meltfptr[4]; /*_.SCAN_PATTERN__V87*/ meltfptr[82] = meltgc_send ((melt_ptr_t) ( /*_.POUT__V73*/ meltfptr[69]), (melt_ptr_t) (( /*!SCAN_PATTERN */ meltfrout-> tabval[8])), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:331:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L28*/ meltfnum[23] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:331:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L28*/ meltfnum[23]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L29*/ meltfnum[0] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:331:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L29*/ meltfnum[0]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 331; /*^apply.arg */ argtab[3].meltbp_cstring = "scanpat_srcpatcomposite after scan_pattern pout"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.POUT__V73*/ meltfptr[69]; /*_.MELT_DEBUG_FUN__V90*/ meltfptr[89] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[1])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V89*/ meltfptr[88] = /*_.MELT_DEBUG_FUN__V90*/ meltfptr[89];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:331:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L29*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V90*/ meltfptr[89] = 0; } ; } else { /*^cond.else */ /*_.IF___V89*/ meltfptr[88] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:331:/ quasiblock"); /*_.PROGN___V91*/ meltfptr[89] = /*_.IF___V89*/ meltfptr[88];; /*^compute */ /*_.IFCPP___V88*/ meltfptr[87] = /*_.PROGN___V91*/ meltfptr[89];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:331:/ clear"); /*clear *//*_#MELT_NEED_DBG__L28*/ meltfnum[23] = 0; /*^clear */ /*clear *//*_.IF___V89*/ meltfptr[88] = 0; /*^clear */ /*clear *//*_.PROGN___V91*/ meltfptr[89] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V88*/ meltfptr[87] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; /*^compute */ /*_.LET___V78*/ meltfptr[74] = /*_.IFCPP___V88*/ meltfptr[87];; MELT_LOCATION ("warmelt-normatch.melt:325:/ clear"); /*clear *//*_.CUROBIND__V79*/ meltfptr[75] = 0; /*^clear */ /*clear *//*_.CURCTYPE__V80*/ meltfptr[79] = 0; /*^clear */ /*clear *//*_.IFCPP___V81*/ meltfptr[80] = 0; /*^clear */ /*clear *//*_.IFCPP___V85*/ meltfptr[81] = 0; /*^clear */ /*clear *//*_.SCAN_PATTERN__V87*/ meltfptr[82] = 0; /*^clear */ /*clear *//*_.IFCPP___V88*/ meltfptr[87] = 0; if ( /*_#IX__L22*/ meltfnum[16] < 0) break; } /* end foreach_in_multiple meltcit1__EACHTUP */ /*citerepilog */ MELT_LOCATION ("warmelt-normatch.melt:321:/ clear"); /*clear *//*_.POUT__V73*/ meltfptr[69] = 0; /*^clear */ /*clear *//*_#IX__L22*/ meltfnum[16] = 0; /*^clear */ /*clear *//*_.IFCPP___V74*/ meltfptr[70] = 0; /*^clear */ /*clear *//*_.LET___V78*/ meltfptr[74] = 0; } /*endciterblock FOREACH_IN_MULTIPLE */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:333:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L30*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:333:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L30*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L31*/ meltfnum[23] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:333:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L31*/ meltfnum[23]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 333; /*^apply.arg */ argtab[3].meltbp_cstring = "scanpat_srcpatcomposite end recv"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.RECV__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V94*/ meltfptr[75] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[1])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V93*/ meltfptr[89] = /*_.MELT_DEBUG_FUN__V94*/ meltfptr[75];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:333:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L31*/ meltfnum[23] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V94*/ meltfptr[75] = 0; } ; } else { /*^cond.else */ /*_.IF___V93*/ meltfptr[89] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:333:/ quasiblock"); /*_.PROGN___V95*/ meltfptr[79] = /*_.IF___V93*/ meltfptr[89];; /*^compute */ /*_.IFCPP___V92*/ meltfptr[88] = /*_.PROGN___V95*/ meltfptr[79];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:333:/ clear"); /*clear *//*_#MELT_NEED_DBG__L30*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V93*/ meltfptr[89] = 0; /*^clear */ /*clear *//*_.PROGN___V95*/ meltfptr[79] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V92*/ meltfptr[88] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:315:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_.MULTI___V60*/ meltfptr[48] = /*_.IFCPP___V92*/ meltfptr[88];; MELT_LOCATION ("warmelt-normatch.melt:315:/ clear"); /*clear *//*_.IFCPP___V63*/ meltfptr[54] = 0; /*^clear */ /*clear *//*_.IF___V67*/ meltfptr[55] = 0; /*^clear */ /*clear *//*_.IFCPP___V69*/ meltfptr[64] = 0; /*^clear */ /*clear *//*_.IFCPP___V92*/ meltfptr[88] = 0; /*^clear */ /*clear *//*_.BINDINS__V62*/ meltfptr[53] = 0; /*_.LET___V16*/ meltfptr[14] = /*_.MULTI___V60*/ meltfptr[48];; MELT_LOCATION ("warmelt-normatch.melt:285:/ clear"); /*clear *//*_.SLOC__V17*/ meltfptr[16] = 0; /*^clear */ /*clear *//*_.LET___V18*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_.SOPER__V26*/ meltfptr[21] = 0; /*^clear */ /*clear *//*_.SINS__V27*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_.SOUTS__V28*/ meltfptr[19] = 0; /*^clear */ /*clear *//*_.LET___V29*/ meltfptr[20] = 0; /*^clear */ /*clear *//*_.MATMB__V37*/ meltfptr[32] = 0; /*^clear */ /*clear *//*_.MATIN__V38*/ meltfptr[29] = 0; /*^clear */ /*clear *//*_.MATOUT__V39*/ meltfptr[30] = 0; /*^clear */ /*clear *//*_.OPNAM__V40*/ meltfptr[31] = 0; /*^clear */ /*clear *//*_.MATCTYP__V41*/ meltfptr[40] = 0; /*^clear */ /*clear *//*_.ENV__V42*/ meltfptr[41] = 0; /*^clear */ /*clear *//*_.NCX__V43*/ meltfptr[42] = 0; /*^clear */ /*clear *//*_.BINDLIST__V44*/ meltfptr[43] = 0; /*^clear */ /*clear *//*_.IFCPP___V45*/ meltfptr[44] = 0; /*^clear */ /*clear *//*_.IFCPP___V47*/ meltfptr[45] = 0; /*^clear */ /*clear *//*_#__L15*/ meltfnum[2] = 0; /*^clear */ /*clear *//*_.IFELSE___V51*/ meltfptr[47] = 0; /*^clear */ /*clear *//*_.MULTI___V60*/ meltfptr[48] = 0; MELT_LOCATION ("warmelt-normatch.melt:280:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V16*/ meltfptr[14];; { MELT_LOCATION ("warmelt-normatch.melt:280:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V6*/ meltfptr[5] = 0; /*^clear */ /*clear *//*_.IFCPP___V8*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.IFCPP___V12*/ meltfptr[8] = 0; /*^clear */ /*clear *//*_.IFCPP___V14*/ meltfptr[9] = 0; /*^clear */ /*clear *//*_.LET___V16*/ meltfptr[14] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("SCANPAT_SRCPATCOMPOSITE", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_8_warmelt_normatch_SCANPAT_SRCPATCOMPOSITE_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_8_warmelt_normatch_SCANPAT_SRCPATCOMPOSITE */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_9_warmelt_normatch_SCANPAT_SRCPATOR (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un * meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un * meltxrestab_) { long current_blocklevel_signals_meltrout_9_warmelt_normatch_SCANPAT_SRCPATOR_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_9_warmelt_normatch_SCANPAT_SRCPATOR_st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 67 melt_ptr_t mcfr_varptr[67]; #define MELTFRAM_NBVARNUM 33 long mcfr_varnum[33]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_9_warmelt_normatch_SCANPAT_SRCPATOR is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_9_warmelt_normatch_SCANPAT_SRCPATOR_st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 67; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_9_warmelt_normatch_SCANPAT_SRCPATOR nbval 67*/ meltfram__.mcfr_nbvar = 67 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("SCANPAT_SRCPATOR", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normatch.melt:342:/ getarg"); /*_.RECV__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.PSLOC__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.PSLOC__V3*/ meltfptr[2])) != NULL); /*getarg#2 */ /*^getarg */ if (meltxargdescr_[1] != MELTBPAR_PTR) goto lab_endgetargs; /*_.CTYP__V4*/ meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.CTYP__V4*/ meltfptr[3])) != NULL); /*getarg#3 */ /*^getarg */ if (meltxargdescr_[2] != MELTBPAR_PTR) goto lab_endgetargs; /*_.PCN__V5*/ meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:343:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:343:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:343:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 343; /*^apply.arg */ argtab[3].meltbp_cstring = "scanpat_srcpator recv"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.RECV__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V8*/ 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); } ; /*_.IF___V7*/ meltfptr[6] = /*_.MELT_DEBUG_FUN__V8*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:343:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V8*/ meltfptr[7] = 0; } ; } else { /*^cond.else */ /*_.IF___V7*/ meltfptr[6] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:343:/ quasiblock"); /*_.PROGN___V9*/ meltfptr[7] = /*_.IF___V7*/ meltfptr[6];; /*^compute */ /*_.IFCPP___V6*/ meltfptr[5] = /*_.PROGN___V9*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:343:/ clear"); /*clear *//*_#MELT_NEED_DBG__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V7*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.PROGN___V9*/ meltfptr[7] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V6*/ meltfptr[5] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:344:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L3*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]), (melt_ptr_t) (( /*!CLASS_PATTERN_CONTEXT */ meltfrout->tabval[1])));; MELT_LOCATION ("warmelt-normatch.melt:344:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V11*/ meltfptr[7] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:344:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check pcn"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (344) ? (344) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V11*/ meltfptr[7] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[6] = /*_.IFELSE___V11*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:344:/ clear"); /*clear *//*_#IS_A__L3*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V11*/ meltfptr[7] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V10*/ meltfptr[6] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:345:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L4*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_SOURCE_PATTERN_OR */ meltfrout->tabval[2])));; MELT_LOCATION ("warmelt-normatch.melt:345:/ cond"); /*cond */ if ( /*_#IS_A__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V13*/ meltfptr[12] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:345:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check recv"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (345) ? (345) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V13*/ meltfptr[12] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V12*/ meltfptr[7] = /*_.IFELSE___V13*/ meltfptr[12];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:345:/ clear"); /*clear *//*_#IS_A__L4*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V13*/ meltfptr[12] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V12*/ meltfptr[7] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:346:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L5*/ meltfnum[1] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:346:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L5*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L6*/ meltfnum[0] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:346:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L6*/ meltfnum[0]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 346; /*^apply.arg */ argtab[3].meltbp_cstring = "scanpat_srcpator pcn start"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.PCN__V5*/ meltfptr[4]; /*_.MELT_DEBUG_FUN__V16*/ meltfptr[15] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V15*/ meltfptr[14] = /*_.MELT_DEBUG_FUN__V16*/ meltfptr[15];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:346:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L6*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V16*/ meltfptr[15] = 0; } ; } else { /*^cond.else */ /*_.IF___V15*/ meltfptr[14] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:346:/ quasiblock"); /*_.PROGN___V17*/ meltfptr[15] = /*_.IF___V15*/ meltfptr[14];; /*^compute */ /*_.IFCPP___V14*/ meltfptr[12] = /*_.PROGN___V17*/ meltfptr[15];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:346:/ clear"); /*clear *//*_#MELT_NEED_DBG__L5*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IF___V15*/ meltfptr[14] = 0; /*^clear */ /*clear *//*_.PROGN___V17*/ meltfptr[15] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V14*/ meltfptr[12] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:347:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "LOCA_LOCATION"); /*_.SLOC__V19*/ meltfptr[15] = slot; }; ; MELT_LOCATION ("warmelt-normatch.melt:348:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 3, "ORPAT_DISJ"); /*_.SDISJ__V20*/ meltfptr[19] = slot; }; ; MELT_LOCATION ("warmelt-normatch.melt:349:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]) /*=obj*/ ; melt_object_get_field (slot, obj, 3, "PCTN_MAPATVAR"); /*_.PVARMAP__V21*/ meltfptr[20] = slot; }; ; /*_#CNTPVARMAP__L7*/ meltfnum[0] = (melt_count_mapobjects ((meltmapobjects_ptr_t) ( /*_.PVARMAP__V21*/ meltfptr[20])));; /*^compute */ /*_#I__L8*/ meltfnum[1] = (( /*_#CNTPVARMAP__L7*/ meltfnum[0]) * (2));; /*^compute */ /*_#I__L9*/ meltfnum[8] = ((4) + ( /*_#I__L8*/ meltfnum[1]));; /*^compute */ /*_.OWNVARMAP__V22*/ meltfptr[21] = (meltgc_new_mapobjects ((meltobject_ptr_t) (( /*!DISCR_MAP_OBJECTS */ meltfrout->tabval[3])), ( /*_#I__L9*/ meltfnum[8])));; MELT_LOCATION ("warmelt-normatch.melt:352:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]) /*=obj*/ ; melt_object_get_field (slot, obj, 10, "PCTN_VARHANDLERS"); /*_.VARHDLERLIST__V23*/ meltfptr[22] = slot; }; ; MELT_LOCATION ("warmelt-normatch.melt:354:/ quasiblock"); /*^newclosure */ /*newclosure *//*_.LAMBDA___V25*/ meltfptr[24] = (melt_ptr_t) meltgc_new_closure ((meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_CLOSURE)))), (meltroutine_ptr_t) (( /*!konst_6 */ meltfrout-> tabval[6])), (2)); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V25*/ meltfptr[24])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 0 >= 0 && 0 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V25*/ meltfptr[24]))); ((meltclosure_ptr_t) /*_.LAMBDA___V25*/ meltfptr[24])->tabval[0] = (melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V25*/ meltfptr[24])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 1 >= 0 && 1 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V25*/ meltfptr[24]))); ((meltclosure_ptr_t) /*_.LAMBDA___V25*/ meltfptr[24])->tabval[1] = (melt_ptr_t) ( /*_.OWNVARMAP__V22*/ meltfptr[21]); ; /*_.OWNVARHANDLER__V24*/ meltfptr[23] = /*_.LAMBDA___V25*/ meltfptr[24];; MELT_LOCATION ("warmelt-normatch.melt:362:/ quasiblock"); /*_#I__L10*/ meltfnum[9] = (( /*_#CNTPVARMAP__L7*/ meltfnum[0]) * (5));; /*^compute */ /*_#I__L11*/ meltfnum[10] = (melt_idiv (( /*_#I__L10*/ meltfnum[9]), (4)));; /*^compute */ /*_#I__L12*/ meltfnum[11] = ((3) + ( /*_#I__L11*/ meltfnum[10]));; /*^compute */ /*_.INIMAP__V27*/ meltfptr[26] = (meltgc_new_mapobjects ((meltobject_ptr_t) (( /*!DISCR_MAP_OBJECTS */ meltfrout->tabval[3])), ( /*_#I__L12*/ meltfnum[11])));; /*citerblock FOREACH_IN_MAPOBJECT */ { /* foreach_in_mapobject meltcit1__EACHOBMAP : */ int meltcit1__EACHOBMAP_ix = 0, meltcit1__EACHOBMAP_siz = 0; for (meltcit1__EACHOBMAP_ix = 0; /* we retrieve in meltcit1__EACHOBMAP_siz the size at each iteration since it could change. */ meltcit1__EACHOBMAP_ix >= 0 && (meltcit1__EACHOBMAP_siz = melt_size_mapobjects ((meltmapobjects_ptr_t) /*_.PVARMAP__V21*/ meltfptr[20])) > 0 && meltcit1__EACHOBMAP_ix < meltcit1__EACHOBMAP_siz; meltcit1__EACHOBMAP_ix++) { /*_.CURSYM__V28*/ meltfptr[27] = NULL; /*_.CURPATVAR__V29*/ meltfptr[28] = NULL; /*_.CURSYM__V28*/ meltfptr[27] = (melt_ptr_t) (((meltmapobjects_ptr_t) /*_.PVARMAP__V21*/ meltfptr[20])->entab[meltcit1__EACHOBMAP_ix].e_at); if ( /*_.CURSYM__V28*/ meltfptr[27] == HTAB_DELETED_ENTRY) { /*_.CURSYM__V28*/ meltfptr[27] = NULL; continue; }; if (! /*_.CURSYM__V28*/ meltfptr[27]) continue; /*_.CURPATVAR__V29*/ meltfptr[28] = ((meltmapobjects_ptr_t) /*_.PVARMAP__V21*/ meltfptr[20])-> entab[meltcit1__EACHOBMAP_ix].e_va; if (! /*_.CURPATVAR__V29*/ meltfptr[28]) continue; { MELT_LOCATION ("warmelt-normatch.melt:369:/ locexp"); meltgc_put_mapobjects ((meltmapobjects_ptr_t) ( /*_.INIMAP__V27*/ meltfptr[26]), (meltobject_ptr_t) ( /*_.CURSYM__V28*/ meltfptr[27]), (melt_ptr_t) ( /*_.CURPATVAR__V29*/ meltfptr[28])); } ; /* foreach_in_mapobject end meltcit1__EACHOBMAP */ /*_.CURSYM__V28*/ meltfptr[27] = NULL; /*_.CURPATVAR__V29*/ meltfptr[28] = NULL; } /*citerepilog */ MELT_LOCATION ("warmelt-normatch.melt:366:/ clear"); /*clear *//*_.CURSYM__V28*/ meltfptr[27] = 0; /*^clear */ /*clear *//*_.CURPATVAR__V29*/ meltfptr[28] = 0; } /*endciterblock FOREACH_IN_MAPOBJECT */ ; /*_.LET___V26*/ meltfptr[25] = /*_.INIMAP__V27*/ meltfptr[26];; MELT_LOCATION ("warmelt-normatch.melt:362:/ clear"); /*clear *//*_#I__L10*/ meltfnum[9] = 0; /*^clear */ /*clear *//*_#I__L11*/ meltfnum[10] = 0; /*^clear */ /*clear *//*_#I__L12*/ meltfnum[11] = 0; /*^clear */ /*clear *//*_.INIMAP__V27*/ meltfptr[26] = 0; /*_.INIPVARMAP__V30*/ meltfptr[26] = /*_.LET___V26*/ meltfptr[25];; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:372:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L13*/ meltfnum[9] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:372:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L13*/ meltfnum[9]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L14*/ meltfnum[10] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:372:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L14*/ meltfnum[10]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 372; /*^apply.arg */ argtab[3].meltbp_cstring = "scanpat_srcpator sdisj"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.SDISJ__V20*/ meltfptr[19]; /*_.MELT_DEBUG_FUN__V33*/ meltfptr[32] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V32*/ meltfptr[31] = /*_.MELT_DEBUG_FUN__V33*/ meltfptr[32];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:372:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L14*/ meltfnum[10] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V33*/ meltfptr[32] = 0; } ; } else { /*^cond.else */ /*_.IF___V32*/ meltfptr[31] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:372:/ quasiblock"); /*_.PROGN___V34*/ meltfptr[32] = /*_.IF___V32*/ meltfptr[31];; /*^compute */ /*_.IFCPP___V31*/ meltfptr[30] = /*_.PROGN___V34*/ meltfptr[32];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:372:/ clear"); /*clear *//*_#MELT_NEED_DBG__L13*/ meltfnum[9] = 0; /*^clear */ /*clear *//*_.IF___V32*/ meltfptr[31] = 0; /*^clear */ /*clear *//*_.PROGN___V34*/ meltfptr[32] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V31*/ meltfptr[30] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:373:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_MULTIPLE__L15*/ meltfnum[11] = (melt_magic_discr ((melt_ptr_t) ( /*_.SDISJ__V20*/ meltfptr[19])) == MELTOBMAG_MULTIPLE);; MELT_LOCATION ("warmelt-normatch.melt:373:/ cond"); /*cond */ if ( /*_#IS_MULTIPLE__L15*/ meltfnum[11]) /*then */ { /*^cond.then */ /*_.IFELSE___V36*/ meltfptr[32] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:373:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check sdisj"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (373) ? (373) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V36*/ meltfptr[32] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V35*/ meltfptr[31] = /*_.IFELSE___V36*/ meltfptr[32];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:373:/ clear"); /*clear *//*_#IS_MULTIPLE__L15*/ meltfnum[11] = 0; /*^clear */ /*clear *//*_.IFELSE___V36*/ meltfptr[32] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V35*/ meltfptr[31] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; { MELT_LOCATION ("warmelt-normatch.melt:374:/ locexp"); meltgc_prepend_list ((melt_ptr_t) ( /*_.VARHDLERLIST__V23*/ meltfptr[22]), (melt_ptr_t) ( /*_.OWNVARHANDLER__V24*/ meltfptr[23])); } ; /*citerblock FOREACH_IN_MULTIPLE */ { /* start foreach_in_multiple meltcit2__EACHTUP */ long meltcit2__EACHTUP_ln = melt_multiple_length ((melt_ptr_t) /*_.SDISJ__V20*/ meltfptr[19]); for ( /*_#IX__L16*/ meltfnum[10] = 0; ( /*_#IX__L16*/ meltfnum[10] >= 0) && ( /*_#IX__L16*/ meltfnum[10] < meltcit2__EACHTUP_ln); /*_#IX__L16*/ meltfnum[10]++) { /*_.DIS__V37*/ meltfptr[32] = melt_multiple_nth ((melt_ptr_t) ( /*_.SDISJ__V20*/ meltfptr[19]), /*_#IX__L16*/ meltfnum[10]); #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:378:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L17*/ meltfnum[9] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:378:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L17*/ meltfnum[9]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L18*/ meltfnum[11] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:378:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L18*/ meltfnum[11]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 378; /*^apply.arg */ argtab[3].meltbp_cstring = "scanpat_srcpator dis"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.DIS__V37*/ meltfptr[32]; /*_.MELT_DEBUG_FUN__V40*/ meltfptr[39] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V39*/ meltfptr[38] = /*_.MELT_DEBUG_FUN__V40*/ meltfptr[39];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:378:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L18*/ meltfnum[11] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V40*/ meltfptr[39] = 0; } ; } else { /*^cond.else */ /*_.IF___V39*/ meltfptr[38] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:378:/ quasiblock"); /*_.PROGN___V41*/ meltfptr[39] = /*_.IF___V39*/ meltfptr[38];; /*^compute */ /*_.IFCPP___V38*/ meltfptr[37] = /*_.PROGN___V41*/ meltfptr[39];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:378:/ clear"); /*clear *//*_#MELT_NEED_DBG__L17*/ meltfnum[9] = 0; /*^clear */ /*clear *//*_.IF___V39*/ meltfptr[38] = 0; /*^clear */ /*clear *//*_.PROGN___V41*/ meltfptr[39] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V38*/ meltfptr[37] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:379:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^msend */ /*msend */ { union meltparam_un argtab[3]; memset (&argtab, 0, sizeof (argtab)); /*^ojbmsend.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.SLOC__V19*/ meltfptr[15]; /*^ojbmsend.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.CTYP__V4*/ meltfptr[3]; /*^ojbmsend.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & /*_.PCN__V5*/ meltfptr[4]; /*_.SCAN_PATTERN__V42*/ meltfptr[38] = meltgc_send ((melt_ptr_t) ( /*_.DIS__V37*/ meltfptr[32]), (melt_ptr_t) (( /*!SCAN_PATTERN */ meltfrout-> tabval[7])), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; if ( /*_#IX__L16*/ meltfnum[10] < 0) break; } /* end foreach_in_multiple meltcit2__EACHTUP */ /*citerepilog */ MELT_LOCATION ("warmelt-normatch.melt:375:/ clear"); /*clear *//*_.DIS__V37*/ meltfptr[32] = 0; /*^clear */ /*clear *//*_#IX__L16*/ meltfnum[10] = 0; /*^clear */ /*clear *//*_.IFCPP___V38*/ meltfptr[37] = 0; /*^clear */ /*clear *//*_.SCAN_PATTERN__V42*/ meltfptr[38] = 0; } /*endciterblock FOREACH_IN_MULTIPLE */ ; MELT_LOCATION ("warmelt-normatch.melt:381:/ quasiblock"); /*_#MAPOBJECT_COUNT__L19*/ meltfnum[11] = (melt_count_mapobjects ((meltmapobjects_ptr_t) ( /*_.PVARMAP__V21*/ meltfptr[20])));; /*^compute */ /*_#INCRPVARMAP__L20*/ meltfnum[9] = (( /*_#MAPOBJECT_COUNT__L19*/ meltfnum[11]) - ( /*_#CNTPVARMAP__L7*/ meltfnum[0]));; MELT_LOCATION ("warmelt-normatch.melt:384:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]), (melt_ptr_t) (( /*!CLASS_PATTERN_CONTEXT */ meltfrout->tabval[1]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]) /*=obj*/ ; melt_object_get_field (slot, obj, 5, "PCTN_MAPOR"); /*_.PMAPOR__V43*/ meltfptr[39] = slot; }; ; } else { /*^cond.else */ /*_.PMAPOR__V43*/ meltfptr[39] = NULL;; } ; /*^compute */ /*_#I__L21*/ meltfnum[20] = (( /*_#INCRPVARMAP__L20*/ meltfnum[9]) * (5));; /*^compute */ /*_#I__L22*/ meltfnum[21] = (melt_idiv (( /*_#I__L21*/ meltfnum[20]), (4)));; /*^compute */ /*_#I__L23*/ meltfnum[22] = ((3) + ( /*_#I__L22*/ meltfnum[21]));; /*^compute */ /*_.ORVARMAP__V44*/ meltfptr[43] = (meltgc_new_mapobjects ((meltobject_ptr_t) (( /*!DISCR_MAP_OBJECTS */ meltfrout->tabval[3])), ( /*_#I__L23*/ meltfnum[22])));; /*^compute */ /*_.OLDVARHDLER__V45*/ meltfptr[44] = (meltgc_popfirst_list ((melt_ptr_t) ( /*_.VARHDLERLIST__V23*/ meltfptr[22])));; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:389:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_MAPOBJECT__L24*/ meltfnum[23] = /*is_mapobject: */ (melt_magic_discr ((melt_ptr_t) ( /*_.PMAPOR__V43*/ meltfptr[39])) == MELTOBMAG_MAPOBJECTS);; MELT_LOCATION ("warmelt-normatch.melt:389:/ cond"); /*cond */ if ( /*_#IS_MAPOBJECT__L24*/ meltfnum[23]) /*then */ { /*^cond.then */ /*_.IFELSE___V47*/ meltfptr[46] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:389:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check pmapor"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (389) ? (389) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V47*/ meltfptr[46] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V46*/ meltfptr[45] = /*_.IFELSE___V47*/ meltfptr[46];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:389:/ clear"); /*clear *//*_#IS_MAPOBJECT__L24*/ meltfnum[23] = 0; /*^clear */ /*clear *//*_.IFELSE___V47*/ meltfptr[46] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V46*/ meltfptr[45] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:390:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#__L25*/ meltfnum[23] = (( /*_.OLDVARHDLER__V45*/ meltfptr[44]) == ( /*_.OWNVARHANDLER__V24*/ meltfptr[23]));; MELT_LOCATION ("warmelt-normatch.melt:390:/ cond"); /*cond */ if ( /*_#__L25*/ meltfnum[23]) /*then */ { /*^cond.then */ /*_.IFELSE___V49*/ meltfptr[48] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:390:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check oldvarhdler"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (390) ? (390) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V49*/ meltfptr[48] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V48*/ meltfptr[46] = /*_.IFELSE___V49*/ meltfptr[48];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:390:/ clear"); /*clear *//*_#__L25*/ meltfnum[23] = 0; /*^clear */ /*clear *//*_.IFELSE___V49*/ meltfptr[48] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V48*/ meltfptr[46] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; /*citerblock FOREACH_IN_MAPOBJECT */ { /* foreach_in_mapobject meltcit3__EACHOBMAP : */ int meltcit3__EACHOBMAP_ix = 0, meltcit3__EACHOBMAP_siz = 0; for (meltcit3__EACHOBMAP_ix = 0; /* we retrieve in meltcit3__EACHOBMAP_siz the size at each iteration since it could change. */ meltcit3__EACHOBMAP_ix >= 0 && (meltcit3__EACHOBMAP_siz = melt_size_mapobjects ((meltmapobjects_ptr_t) /*_.PVARMAP__V21*/ meltfptr[20])) > 0 && meltcit3__EACHOBMAP_ix < meltcit3__EACHOBMAP_siz; meltcit3__EACHOBMAP_ix++) { /*_.CURSYM__V50*/ meltfptr[48] = NULL; /*_.CURPATVAR__V51*/ meltfptr[50] = NULL; /*_.CURSYM__V50*/ meltfptr[48] = (melt_ptr_t) (((meltmapobjects_ptr_t) /*_.PVARMAP__V21*/ meltfptr[20])->entab[meltcit3__EACHOBMAP_ix].e_at); if ( /*_.CURSYM__V50*/ meltfptr[48] == HTAB_DELETED_ENTRY) { /*_.CURSYM__V50*/ meltfptr[48] = NULL; continue; }; if (! /*_.CURSYM__V50*/ meltfptr[48]) continue; /*_.CURPATVAR__V51*/ meltfptr[50] = ((meltmapobjects_ptr_t) /*_.PVARMAP__V21*/ meltfptr[20])-> entab[meltcit3__EACHOBMAP_ix].e_va; if (! /*_.CURPATVAR__V51*/ meltfptr[50]) continue; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:395:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L26*/ meltfnum[23] = melt_is_instance_of ((melt_ptr_t) ( /*_.CURSYM__V50*/ meltfptr[48]), (melt_ptr_t) (( /*!CLASS_SYMBOL */ meltfrout->tabval[8])));; MELT_LOCATION ("warmelt-normatch.melt:395:/ cond"); /*cond */ if ( /*_#IS_A__L26*/ meltfnum[23]) /*then */ { /*^cond.then */ /*_.IFELSE___V53*/ meltfptr[52] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:395:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check cursym"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (395) ? (395) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V53*/ meltfptr[52] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V52*/ meltfptr[51] = /*_.IFELSE___V53*/ meltfptr[52];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:395:/ clear"); /*clear *//*_#IS_A__L26*/ meltfnum[23] = 0; /*^clear */ /*clear *//*_.IFELSE___V53*/ meltfptr[52] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V52*/ meltfptr[51] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:396:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L27*/ meltfnum[23] = melt_is_instance_of ((melt_ptr_t) ( /*_.CURPATVAR__V51*/ meltfptr[50]), (melt_ptr_t) (( /*!CLASS_SOURCE_PATTERN_VARIABLE */ meltfrout->tabval[9])));; MELT_LOCATION ("warmelt-normatch.melt:396:/ cond"); /*cond */ if ( /*_#IS_A__L27*/ meltfnum[23]) /*then */ { /*^cond.then */ /*_.IFELSE___V55*/ meltfptr[54] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:396:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check curpatvar"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (396) ? (396) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V55*/ meltfptr[54] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V54*/ meltfptr[52] = /*_.IFELSE___V55*/ meltfptr[54];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:396:/ clear"); /*clear *//*_#IS_A__L27*/ meltfnum[23] = 0; /*^clear */ /*clear *//*_.IFELSE___V55*/ meltfptr[54] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V54*/ meltfptr[52] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:398:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normatch.melt:399:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURPATVAR__V51*/ meltfptr[50]), (melt_ptr_t) (( /*!CLASS_SOURCE_PATTERN_VARIABLE */ meltfrout->tabval[9]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURPATVAR__V51*/ meltfptr[50]) /*=obj*/ ; melt_object_get_field (slot, obj, 3, "SPATVAR_SYMB"); /*_.SPATVAR_SYMB__V57*/ meltfptr[56] = slot; }; ; } else { /*^cond.else */ /*_.SPATVAR_SYMB__V57*/ meltfptr[56] = NULL;; } ; /*^compute */ /*_#__L28*/ meltfnum[23] = (( /*_.SPATVAR_SYMB__V57*/ meltfptr[56]) == ( /*_.CURSYM__V50*/ meltfptr[48]));; MELT_LOCATION ("warmelt-normatch.melt:398:/ cond"); /*cond */ if ( /*_#__L28*/ meltfnum[23]) /*then */ { /*^cond.then */ /*_.IFELSE___V58*/ meltfptr[57] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:398:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("good curpatvar"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (398) ? (398) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V58*/ meltfptr[57] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V56*/ meltfptr[54] = /*_.IFELSE___V58*/ meltfptr[57];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:398:/ clear"); /*clear *//*_.SPATVAR_SYMB__V57*/ meltfptr[56] = 0; /*^clear */ /*clear *//*_#__L28*/ meltfnum[23] = 0; /*^clear */ /*clear *//*_.IFELSE___V58*/ meltfptr[57] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V56*/ meltfptr[54] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:400:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_.MAPOBJECT_GET__V59*/ meltfptr[56] = /*mapobject_get */ melt_get_mapobjects ((meltmapobjects_ptr_t) ( /*_.INIPVARMAP__V30*/ meltfptr[26]), (meltobject_ptr_t) ( /*_.CURSYM__V50*/ meltfptr[48]));; /*^compute */ /*_#NULL__L29*/ meltfnum[23] = (( /*_.MAPOBJECT_GET__V59*/ meltfptr[56]) == NULL);; MELT_LOCATION ("warmelt-normatch.melt:400:/ cond"); /*cond */ if ( /*_#NULL__L29*/ meltfnum[23]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-normatch.melt:401:/ locexp"); meltgc_put_mapobjects ((meltmapobjects_ptr_t) ( /*_.ORVARMAP__V44*/ meltfptr[43]), (meltobject_ptr_t) ( /*_.CURSYM__V50*/ meltfptr[48]), (melt_ptr_t) ( /*_.CURPATVAR__V51*/ meltfptr[50])); } ; /*epilog */ } ; } /*noelse */ ; /* foreach_in_mapobject end meltcit3__EACHOBMAP */ /*_.CURSYM__V50*/ meltfptr[48] = NULL; /*_.CURPATVAR__V51*/ meltfptr[50] = NULL; } /*citerepilog */ MELT_LOCATION ("warmelt-normatch.melt:392:/ clear"); /*clear *//*_.CURSYM__V50*/ meltfptr[48] = 0; /*^clear */ /*clear *//*_.CURPATVAR__V51*/ meltfptr[50] = 0; /*^clear */ /*clear *//*_.IFCPP___V52*/ meltfptr[51] = 0; /*^clear */ /*clear *//*_.IFCPP___V54*/ meltfptr[52] = 0; /*^clear */ /*clear *//*_.IFCPP___V56*/ meltfptr[54] = 0; /*^clear */ /*clear *//*_.MAPOBJECT_GET__V59*/ meltfptr[56] = 0; /*^clear */ /*clear *//*_#NULL__L29*/ meltfnum[23] = 0; } /*endciterblock FOREACH_IN_MAPOBJECT */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:403:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L30*/ meltfnum[29] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:403:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L30*/ meltfnum[29]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L31*/ meltfnum[30] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:403:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L31*/ meltfnum[30]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 403; /*^apply.arg */ argtab[3].meltbp_cstring = "scanpat_srcpator orvarmap"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.ORVARMAP__V44*/ meltfptr[43]; /*_.MELT_DEBUG_FUN__V62*/ meltfptr[61] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V61*/ meltfptr[60] = /*_.MELT_DEBUG_FUN__V62*/ meltfptr[61];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:403:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L31*/ meltfnum[30] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V62*/ meltfptr[61] = 0; } ; } else { /*^cond.else */ /*_.IF___V61*/ meltfptr[60] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:403:/ quasiblock"); /*_.PROGN___V63*/ meltfptr[61] = /*_.IF___V61*/ meltfptr[60];; /*^compute */ /*_.IFCPP___V60*/ meltfptr[57] = /*_.PROGN___V63*/ meltfptr[61];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:403:/ clear"); /*clear *//*_#MELT_NEED_DBG__L30*/ meltfnum[29] = 0; /*^clear */ /*clear *//*_.IF___V61*/ meltfptr[60] = 0; /*^clear */ /*clear *//*_.PROGN___V63*/ meltfptr[61] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V60*/ meltfptr[57] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; { MELT_LOCATION ("warmelt-normatch.melt:404:/ locexp"); meltgc_put_mapobjects ((meltmapobjects_ptr_t) ( /*_.PMAPOR__V43*/ meltfptr[39]), (meltobject_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), (melt_ptr_t) ( /*_.ORVARMAP__V44*/ meltfptr[43])); } ; MELT_LOCATION ("warmelt-normatch.melt:381:/ clear"); /*clear *//*_#MAPOBJECT_COUNT__L19*/ meltfnum[11] = 0; /*^clear */ /*clear *//*_#INCRPVARMAP__L20*/ meltfnum[9] = 0; /*^clear */ /*clear *//*_.PMAPOR__V43*/ meltfptr[39] = 0; /*^clear */ /*clear *//*_#I__L21*/ meltfnum[20] = 0; /*^clear */ /*clear *//*_#I__L22*/ meltfnum[21] = 0; /*^clear */ /*clear *//*_#I__L23*/ meltfnum[22] = 0; /*^clear */ /*clear *//*_.ORVARMAP__V44*/ meltfptr[43] = 0; /*^clear */ /*clear *//*_.OLDVARHDLER__V45*/ meltfptr[44] = 0; /*^clear */ /*clear *//*_.IFCPP___V46*/ meltfptr[45] = 0; /*^clear */ /*clear *//*_.IFCPP___V48*/ meltfptr[46] = 0; /*^clear */ /*clear *//*_.IFCPP___V60*/ meltfptr[57] = 0; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:406:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L32*/ meltfnum[30] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:406:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L32*/ meltfnum[30]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L33*/ meltfnum[29] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:406:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L33*/ meltfnum[29]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 406; /*^apply.arg */ argtab[3].meltbp_cstring = "scanpat_srcpator end pcn="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.PCN__V5*/ meltfptr[4]; /*^apply.arg */ argtab[5].meltbp_cstring = " recv="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.RECV__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V66*/ meltfptr[39] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V65*/ meltfptr[61] = /*_.MELT_DEBUG_FUN__V66*/ meltfptr[39];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:406:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L33*/ meltfnum[29] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V66*/ meltfptr[39] = 0; } ; } else { /*^cond.else */ /*_.IF___V65*/ meltfptr[61] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:406:/ quasiblock"); /*_.PROGN___V67*/ meltfptr[43] = /*_.IF___V65*/ meltfptr[61];; /*^compute */ /*_.IFCPP___V64*/ meltfptr[60] = /*_.PROGN___V67*/ meltfptr[43];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:406:/ clear"); /*clear *//*_#MELT_NEED_DBG__L32*/ meltfnum[30] = 0; /*^clear */ /*clear *//*_.IF___V65*/ meltfptr[61] = 0; /*^clear */ /*clear *//*_.PROGN___V67*/ meltfptr[43] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V64*/ meltfptr[60] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; /*^compute */ /*_.LET___V18*/ meltfptr[14] = /*_.IFCPP___V64*/ meltfptr[60];; MELT_LOCATION ("warmelt-normatch.melt:347:/ clear"); /*clear *//*_.SLOC__V19*/ meltfptr[15] = 0; /*^clear */ /*clear *//*_.SDISJ__V20*/ meltfptr[19] = 0; /*^clear */ /*clear *//*_.PVARMAP__V21*/ meltfptr[20] = 0; /*^clear */ /*clear *//*_#CNTPVARMAP__L7*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_#I__L8*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_#I__L9*/ meltfnum[8] = 0; /*^clear */ /*clear *//*_.OWNVARMAP__V22*/ meltfptr[21] = 0; /*^clear */ /*clear *//*_.VARHDLERLIST__V23*/ meltfptr[22] = 0; /*^clear */ /*clear *//*_.OWNVARHANDLER__V24*/ meltfptr[23] = 0; /*^clear */ /*clear *//*_.LET___V26*/ meltfptr[25] = 0; /*^clear */ /*clear *//*_.INIPVARMAP__V30*/ meltfptr[26] = 0; /*^clear */ /*clear *//*_.IFCPP___V31*/ meltfptr[30] = 0; /*^clear */ /*clear *//*_.IFCPP___V35*/ meltfptr[31] = 0; /*^clear */ /*clear *//*_.IFCPP___V64*/ meltfptr[60] = 0; MELT_LOCATION ("warmelt-normatch.melt:342:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V18*/ meltfptr[14];; { MELT_LOCATION ("warmelt-normatch.melt:342:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V6*/ meltfptr[5] = 0; /*^clear */ /*clear *//*_.IFCPP___V10*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.IFCPP___V12*/ meltfptr[7] = 0; /*^clear */ /*clear *//*_.IFCPP___V14*/ meltfptr[12] = 0; /*^clear */ /*clear *//*_.LET___V18*/ meltfptr[14] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("SCANPAT_SRCPATOR", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_9_warmelt_normatch_SCANPAT_SRCPATOR_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_9_warmelt_normatch_SCANPAT_SRCPATOR */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_10_warmelt_normatch_LAMBDA___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_) { long current_blocklevel_signals_meltrout_10_warmelt_normatch_LAMBDA___1___melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_10_warmelt_normatch_LAMBDA___1___st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 13 melt_ptr_t mcfr_varptr[13]; #define MELTFRAM_NBVARNUM 4 long mcfr_varnum[4]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_10_warmelt_normatch_LAMBDA___1__ is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_10_warmelt_normatch_LAMBDA___1___st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 13; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_10_warmelt_normatch_LAMBDA___1__ nbval 13*/ meltfram__.mcfr_nbvar = 13 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("LAMBDA_", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normatch.melt:354:/ getarg"); /*_.MVAR__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.MYPCN__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.MYPCN__V3*/ meltfptr[2])) != NULL); /*getarg#2 */ /*^getarg */ if (meltxargdescr_[1] != MELTBPAR_PTR) goto lab_endgetargs; /*_.PVAR__V4*/ meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.PVAR__V4*/ meltfptr[3])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:355:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:355:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:355:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 355; /*^apply.arg */ argtab[3].meltbp_cstring = "scanpat_srcpator.ownvarhandler mvar"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.MVAR__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V7*/ meltfptr[6] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V6*/ meltfptr[5] = /*_.MELT_DEBUG_FUN__V7*/ meltfptr[6];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:355:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V7*/ meltfptr[6] = 0; } ; } else { /*^cond.else */ /*_.IF___V6*/ meltfptr[5] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:355:/ quasiblock"); /*_.PROGN___V8*/ meltfptr[6] = /*_.IF___V6*/ meltfptr[5];; /*^compute */ /*_.IFCPP___V5*/ meltfptr[4] = /*_.PROGN___V8*/ meltfptr[6];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:355:/ clear"); /*clear *//*_#MELT_NEED_DBG__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V6*/ meltfptr[5] = 0; /*^clear */ /*clear *//*_.PROGN___V8*/ meltfptr[6] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V5*/ meltfptr[4] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:356:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L3*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.MVAR__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_SOURCE_PATTERN_VARIABLE */ meltfrout->tabval[1])));; MELT_LOCATION ("warmelt-normatch.melt:356:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V10*/ meltfptr[6] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:356:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check mvar"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (356) ? (356) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V10*/ meltfptr[6] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V9*/ meltfptr[5] = /*_.IFELSE___V10*/ meltfptr[6];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:356:/ clear"); /*clear *//*_#IS_A__L3*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V10*/ meltfptr[6] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V9*/ meltfptr[5] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:357:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#__L4*/ meltfnum[0] = (( /*_.MYPCN__V3*/ meltfptr[2]) == (( /*~PCN */ meltfclos->tabval[0])));; MELT_LOCATION ("warmelt-normatch.melt:357:/ cond"); /*cond */ if ( /*_#__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V12*/ meltfptr[11] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:357:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check mypcn"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (357) ? (357) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V12*/ meltfptr[11] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V11*/ meltfptr[6] = /*_.IFELSE___V12*/ meltfptr[11];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:357:/ clear"); /*clear *//*_#__L4*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V12*/ meltfptr[11] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V11*/ meltfptr[6] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:358:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.MVAR__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 3, "SPATVAR_SYMB"); /*_.MSYMB__V13*/ meltfptr[11] = slot; }; ; { MELT_LOCATION ("warmelt-normatch.melt:359:/ locexp"); meltgc_put_mapobjects ((meltmapobjects_ptr_t) (( /*~OWNVARMAP */ meltfclos->tabval[1])), (meltobject_ptr_t) ( /*_.MSYMB__V13*/ meltfptr[11]), (melt_ptr_t) ( /*_.MVAR__V2*/ meltfptr[1])); } ; MELT_LOCATION ("warmelt-normatch.melt:358:/ clear"); /*clear *//*_.MSYMB__V13*/ meltfptr[11] = 0; MELT_LOCATION ("warmelt-normatch.melt:354:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V5*/ meltfptr[4] = 0; /*^clear */ /*clear *//*_.IFCPP___V9*/ meltfptr[5] = 0; /*^clear */ /*clear *//*_.IFCPP___V11*/ meltfptr[6] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("LAMBDA_", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_10_warmelt_normatch_LAMBDA___1___melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*noretval */ NULL); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_10_warmelt_normatch_LAMBDA___1__ */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_11_warmelt_normatch_SCANPAT_SRCPATAND (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un * meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un * meltxrestab_) { long current_blocklevel_signals_meltrout_11_warmelt_normatch_SCANPAT_SRCPATAND_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_11_warmelt_normatch_SCANPAT_SRCPATAND_st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 24 melt_ptr_t mcfr_varptr[24]; #define MELTFRAM_NBVARNUM 8 long mcfr_varnum[8]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_11_warmelt_normatch_SCANPAT_SRCPATAND is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_11_warmelt_normatch_SCANPAT_SRCPATAND_st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 24; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_11_warmelt_normatch_SCANPAT_SRCPATAND nbval 24*/ meltfram__.mcfr_nbvar = 24 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("SCANPAT_SRCPATAND", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normatch.melt:416:/ getarg"); /*_.RECV__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.PSLOC__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.PSLOC__V3*/ meltfptr[2])) != NULL); /*getarg#2 */ /*^getarg */ if (meltxargdescr_[1] != MELTBPAR_PTR) goto lab_endgetargs; /*_.CTYP__V4*/ meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.CTYP__V4*/ meltfptr[3])) != NULL); /*getarg#3 */ /*^getarg */ if (meltxargdescr_[2] != MELTBPAR_PTR) goto lab_endgetargs; /*_.PCN__V5*/ meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:417:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:417:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:417:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 417; /*^apply.arg */ argtab[3].meltbp_cstring = "scanpat_srcpatand recv"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.RECV__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V8*/ 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); } ; /*_.IF___V7*/ meltfptr[6] = /*_.MELT_DEBUG_FUN__V8*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:417:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V8*/ meltfptr[7] = 0; } ; } else { /*^cond.else */ /*_.IF___V7*/ meltfptr[6] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:417:/ quasiblock"); /*_.PROGN___V9*/ meltfptr[7] = /*_.IF___V7*/ meltfptr[6];; /*^compute */ /*_.IFCPP___V6*/ meltfptr[5] = /*_.PROGN___V9*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:417:/ clear"); /*clear *//*_#MELT_NEED_DBG__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V7*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.PROGN___V9*/ meltfptr[7] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V6*/ meltfptr[5] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:418:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L3*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]), (melt_ptr_t) (( /*!CLASS_PATTERN_CONTEXT */ meltfrout->tabval[1])));; MELT_LOCATION ("warmelt-normatch.melt:418:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V11*/ meltfptr[7] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:418:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check pcn"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (418) ? (418) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V11*/ meltfptr[7] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[6] = /*_.IFELSE___V11*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:418:/ clear"); /*clear *//*_#IS_A__L3*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V11*/ meltfptr[7] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V10*/ meltfptr[6] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:419:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L4*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_SOURCE_PATTERN_AND */ meltfrout->tabval[2])));; MELT_LOCATION ("warmelt-normatch.melt:419:/ cond"); /*cond */ if ( /*_#IS_A__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V13*/ meltfptr[12] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:419:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check recv"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (419) ? (419) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V13*/ meltfptr[12] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V12*/ meltfptr[7] = /*_.IFELSE___V13*/ meltfptr[12];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:419:/ clear"); /*clear *//*_#IS_A__L4*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V13*/ meltfptr[12] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V12*/ meltfptr[7] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:420:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "LOCA_LOCATION"); /*_.SLOC__V15*/ meltfptr[14] = slot; }; ; MELT_LOCATION ("warmelt-normatch.melt:421:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 3, "ANDPAT_CONJ"); /*_.SCONJ__V16*/ meltfptr[15] = slot; }; ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:423:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_MULTIPLE__L5*/ meltfnum[1] = (melt_magic_discr ((melt_ptr_t) ( /*_.SCONJ__V16*/ meltfptr[15])) == MELTOBMAG_MULTIPLE);; MELT_LOCATION ("warmelt-normatch.melt:423:/ cond"); /*cond */ if ( /*_#IS_MULTIPLE__L5*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V18*/ meltfptr[17] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:423:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check sconj"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (423) ? (423) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V18*/ meltfptr[17] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V17*/ meltfptr[16] = /*_.IFELSE___V18*/ meltfptr[17];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:423:/ clear"); /*clear *//*_#IS_MULTIPLE__L5*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V18*/ meltfptr[17] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V17*/ meltfptr[16] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; /*citerblock FOREACH_IN_MULTIPLE */ { /* start foreach_in_multiple meltcit1__EACHTUP */ long meltcit1__EACHTUP_ln = melt_multiple_length ((melt_ptr_t) /*_.SCONJ__V16*/ meltfptr[15]); for ( /*_#IX__L6*/ meltfnum[0] = 0; ( /*_#IX__L6*/ meltfnum[0] >= 0) && ( /*_#IX__L6*/ meltfnum[0] < meltcit1__EACHTUP_ln); /*_#IX__L6*/ meltfnum[0]++) { /*_.DIS__V19*/ meltfptr[17] = melt_multiple_nth ((melt_ptr_t) ( /*_.SCONJ__V16*/ meltfptr[15]), /*_#IX__L6*/ meltfnum[0]); MELT_LOCATION ("warmelt-normatch.melt:427:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^msend */ /*msend */ { union meltparam_un argtab[3]; memset (&argtab, 0, sizeof (argtab)); /*^ojbmsend.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.SLOC__V15*/ meltfptr[14]; /*^ojbmsend.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.CTYP__V4*/ meltfptr[3]; /*^ojbmsend.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & /*_.PCN__V5*/ meltfptr[4]; /*_.SCAN_PATTERN__V20*/ meltfptr[19] = meltgc_send ((melt_ptr_t) ( /*_.DIS__V19*/ meltfptr[17]), (melt_ptr_t) (( /*!SCAN_PATTERN */ meltfrout-> tabval[3])), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; if ( /*_#IX__L6*/ meltfnum[0] < 0) break; } /* end foreach_in_multiple meltcit1__EACHTUP */ /*citerepilog */ MELT_LOCATION ("warmelt-normatch.melt:424:/ clear"); /*clear *//*_.DIS__V19*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_#IX__L6*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.SCAN_PATTERN__V20*/ meltfptr[19] = 0; } /*endciterblock FOREACH_IN_MULTIPLE */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:429:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L7*/ meltfnum[1] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:429:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L7*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L8*/ meltfnum[7] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:429:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L8*/ meltfnum[7]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 429; /*^apply.arg */ argtab[3].meltbp_cstring = "scanpat_srcpatand end recv"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.RECV__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V23*/ meltfptr[22] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V22*/ meltfptr[21] = /*_.MELT_DEBUG_FUN__V23*/ meltfptr[22];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:429:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L8*/ meltfnum[7] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V23*/ meltfptr[22] = 0; } ; } else { /*^cond.else */ /*_.IF___V22*/ meltfptr[21] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:429:/ quasiblock"); /*_.PROGN___V24*/ meltfptr[22] = /*_.IF___V22*/ meltfptr[21];; /*^compute */ /*_.IFCPP___V21*/ meltfptr[20] = /*_.PROGN___V24*/ meltfptr[22];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:429:/ clear"); /*clear *//*_#MELT_NEED_DBG__L7*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IF___V22*/ meltfptr[21] = 0; /*^clear */ /*clear *//*_.PROGN___V24*/ meltfptr[22] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V21*/ meltfptr[20] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; /*^compute */ /*_.LET___V14*/ meltfptr[12] = /*_.IFCPP___V21*/ meltfptr[20];; MELT_LOCATION ("warmelt-normatch.melt:420:/ clear"); /*clear *//*_.SLOC__V15*/ meltfptr[14] = 0; /*^clear */ /*clear *//*_.SCONJ__V16*/ meltfptr[15] = 0; /*^clear */ /*clear *//*_.IFCPP___V17*/ meltfptr[16] = 0; /*^clear */ /*clear *//*_.IFCPP___V21*/ meltfptr[20] = 0; MELT_LOCATION ("warmelt-normatch.melt:416:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V14*/ meltfptr[12];; { MELT_LOCATION ("warmelt-normatch.melt:416:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V6*/ meltfptr[5] = 0; /*^clear */ /*clear *//*_.IFCPP___V10*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.IFCPP___V12*/ meltfptr[7] = 0; /*^clear */ /*clear *//*_.LET___V14*/ meltfptr[12] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("SCANPAT_SRCPATAND", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_11_warmelt_normatch_SCANPAT_SRCPATAND_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_11_warmelt_normatch_SCANPAT_SRCPATAND */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_12_warmelt_normatch_REGISTER_NEW_NORMTESTER (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un * meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un * meltxrestab_) { long current_blocklevel_signals_meltrout_12_warmelt_normatch_REGISTER_NEW_NORMTESTER_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_12_warmelt_normatch_REGISTER_NEW_NORMTESTER_st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 32 melt_ptr_t mcfr_varptr[32]; #define MELTFRAM_NBVARNUM 10 long mcfr_varnum[10]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_12_warmelt_normatch_REGISTER_NEW_NORMTESTER is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_12_warmelt_normatch_REGISTER_NEW_NORMTESTER_st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 32; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_12_warmelt_normatch_REGISTER_NEW_NORMTESTER nbval 32*/ meltfram__.mcfr_nbvar = 32 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("REGISTER_NEW_NORMTESTER", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normatch.melt:568:/ getarg"); /*_.NTEST__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.PCN__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.PCN__V3*/ meltfptr[2])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:569:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:569:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:569:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 569; /*^apply.arg */ argtab[3].meltbp_cstring = "register_new_normtester ntest="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NTEST__V2*/ meltfptr[1]; /*^apply.arg */ argtab[5].meltbp_cstring = " pcn="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.PCN__V3*/ meltfptr[2]; /*_.MELT_DEBUG_FUN__V6*/ meltfptr[5] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V5*/ meltfptr[4] = /*_.MELT_DEBUG_FUN__V6*/ meltfptr[5];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:569:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V6*/ meltfptr[5] = 0; } ; } else { /*^cond.else */ /*_.IF___V5*/ meltfptr[4] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:569:/ quasiblock"); /*_.PROGN___V7*/ meltfptr[5] = /*_.IF___V5*/ meltfptr[4];; /*^compute */ /*_.IFCPP___V4*/ meltfptr[3] = /*_.PROGN___V7*/ meltfptr[5];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:569:/ clear"); /*clear *//*_#MELT_NEED_DBG__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V5*/ meltfptr[4] = 0; /*^clear */ /*clear *//*_.PROGN___V7*/ meltfptr[5] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V4*/ meltfptr[3] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:570:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L3*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.NTEST__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_NORMTESTER_ANY */ meltfrout->tabval[1])));; MELT_LOCATION ("warmelt-normatch.melt:570:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V9*/ meltfptr[5] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:570:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check ntest"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (570) ? (570) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V9*/ meltfptr[5] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V8*/ meltfptr[4] = /*_.IFELSE___V9*/ meltfptr[5];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:570:/ clear"); /*clear *//*_#IS_A__L3*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V9*/ meltfptr[5] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V8*/ meltfptr[4] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:571:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L4*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.PCN__V3*/ meltfptr[2]), (melt_ptr_t) (( /*!CLASS_PATTERN_CONTEXT */ meltfrout->tabval[2])));; MELT_LOCATION ("warmelt-normatch.melt:571:/ cond"); /*cond */ if ( /*_#IS_A__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V11*/ meltfptr[10] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:571:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check pcn"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (571) ? (571) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V11*/ meltfptr[10] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[5] = /*_.IFELSE___V11*/ meltfptr[10];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:571:/ clear"); /*clear *//*_#IS_A__L4*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V11*/ meltfptr[10] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V10*/ meltfptr[5] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:572:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.NTEST__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NTEST_MATCHED"); /*_.NMATCHED__V13*/ meltfptr[12] = slot; }; ; MELT_LOCATION ("warmelt-normatch.melt:573:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.PCN__V3*/ meltfptr[2]) /*=obj*/ ; melt_object_get_field (slot, obj, 7, "PCTN_STUFFMAP"); /*_.STUFFMAP__V14*/ meltfptr[13] = slot; }; ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:575:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_OBJECT__L5*/ meltfnum[1] = (melt_magic_discr ((melt_ptr_t) ( /*_.NMATCHED__V13*/ meltfptr[12])) == MELTOBMAG_OBJECT);; MELT_LOCATION ("warmelt-normatch.melt:575:/ cond"); /*cond */ if ( /*_#IS_OBJECT__L5*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V16*/ meltfptr[15] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:575:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nmatched"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (575) ? (575) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V16*/ meltfptr[15] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V15*/ meltfptr[14] = /*_.IFELSE___V16*/ meltfptr[15];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:575:/ clear"); /*clear *//*_#IS_OBJECT__L5*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V16*/ meltfptr[15] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V15*/ meltfptr[14] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:576:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_MAPOBJECT__L6*/ meltfnum[0] = /*is_mapobject: */ (melt_magic_discr ((melt_ptr_t) ( /*_.STUFFMAP__V14*/ meltfptr[13])) == MELTOBMAG_MAPOBJECTS);; MELT_LOCATION ("warmelt-normatch.melt:576:/ cond"); /*cond */ if ( /*_#IS_MAPOBJECT__L6*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V18*/ meltfptr[17] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:576:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check stuffmap"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (576) ? (576) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V18*/ meltfptr[17] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V17*/ meltfptr[15] = /*_.IFELSE___V18*/ meltfptr[17];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:576:/ clear"); /*clear *//*_#IS_MAPOBJECT__L6*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V18*/ meltfptr[17] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V17*/ meltfptr[15] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:577:/ quasiblock"); MELT_LOCATION ("warmelt-normatch.melt:579:/ quasiblock"); /*_.NTL__V21*/ meltfptr[20] = /*mapobject_get */ melt_get_mapobjects ((meltmapobjects_ptr_t) ( /*_.STUFFMAP__V14*/ meltfptr[13]), (meltobject_ptr_t) ( /*_.NMATCHED__V13*/ meltfptr[12]));; MELT_LOCATION ("warmelt-normatch.melt:580:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#IS_LIST__L7*/ meltfnum[1] = (melt_magic_discr ((melt_ptr_t) ( /*_.NTL__V21*/ meltfptr[20])) == MELTOBMAG_LIST);; MELT_LOCATION ("warmelt-normatch.melt:580:/ cond"); /*cond */ if ( /*_#IS_LIST__L7*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V22*/ meltfptr[21] = /*_.NTL__V21*/ meltfptr[20];; } else { MELT_LOCATION ("warmelt-normatch.melt:580:/ cond.else"); /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normatch.melt:582:/ quasiblock"); /*_.NEWNTL__V24*/ meltfptr[23] = (meltgc_new_list ((meltobject_ptr_t) (( /*!DISCR_LIST */ meltfrout->tabval[3]))));; { MELT_LOCATION ("warmelt-normatch.melt:583:/ locexp"); meltgc_put_mapobjects ((meltmapobjects_ptr_t) ( /*_.STUFFMAP__V14*/ meltfptr[13]), (meltobject_ptr_t) ( /*_.NMATCHED__V13*/ meltfptr[12]), (melt_ptr_t) ( /*_.NEWNTL__V24*/ meltfptr[23])); } ; /*_.LET___V23*/ meltfptr[22] = /*_.NEWNTL__V24*/ meltfptr[23];; MELT_LOCATION ("warmelt-normatch.melt:582:/ clear"); /*clear *//*_.NEWNTL__V24*/ meltfptr[23] = 0; /*_.IFELSE___V22*/ meltfptr[21] = /*_.LET___V23*/ meltfptr[22];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:580:/ clear"); /*clear *//*_.LET___V23*/ meltfptr[22] = 0; } ; } ; /*_.LET___V20*/ meltfptr[19] = /*_.IFELSE___V22*/ meltfptr[21];; MELT_LOCATION ("warmelt-normatch.melt:579:/ clear"); /*clear *//*_.NTL__V21*/ meltfptr[20] = 0; /*^clear */ /*clear *//*_#IS_LIST__L7*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V22*/ meltfptr[21] = 0; /*_.NTLIST__V25*/ meltfptr[23] = /*_.LET___V20*/ meltfptr[19];; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:587:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_LIST__L8*/ meltfnum[0] = (melt_magic_discr ((melt_ptr_t) ( /*_.NTLIST__V25*/ meltfptr[23])) == MELTOBMAG_LIST);; MELT_LOCATION ("warmelt-normatch.melt:587:/ cond"); /*cond */ if ( /*_#IS_LIST__L8*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V27*/ meltfptr[20] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:587:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check ntlist"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (587) ? (587) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V27*/ meltfptr[20] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V26*/ meltfptr[22] = /*_.IFELSE___V27*/ meltfptr[20];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:587:/ clear"); /*clear *//*_#IS_LIST__L8*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V27*/ meltfptr[20] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V26*/ meltfptr[22] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; { MELT_LOCATION ("warmelt-normatch.melt:588:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.NTLIST__V25*/ meltfptr[23]), (melt_ptr_t) ( /*_.NTEST__V2*/ meltfptr[1])); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:589:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L9*/ meltfnum[1] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:589:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L9*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L10*/ meltfnum[0] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:589:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L10*/ meltfnum[0]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 589; /*^apply.arg */ argtab[3].meltbp_cstring = "register_new_normtester updated stuffmap"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.STUFFMAP__V14*/ meltfptr[13]; /*_.MELT_DEBUG_FUN__V30*/ meltfptr[29] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V29*/ meltfptr[20] = /*_.MELT_DEBUG_FUN__V30*/ meltfptr[29];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:589:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L10*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V30*/ meltfptr[29] = 0; } ; } else { /*^cond.else */ /*_.IF___V29*/ meltfptr[20] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:589:/ quasiblock"); /*_.PROGN___V31*/ meltfptr[29] = /*_.IF___V29*/ meltfptr[20];; /*^compute */ /*_.IFCPP___V28*/ meltfptr[21] = /*_.PROGN___V31*/ meltfptr[29];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:589:/ clear"); /*clear *//*_#MELT_NEED_DBG__L9*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IF___V29*/ meltfptr[20] = 0; /*^clear */ /*clear *//*_.PROGN___V31*/ meltfptr[29] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V28*/ meltfptr[21] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:590:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = NULL;; { MELT_LOCATION ("warmelt-normatch.melt:590:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*_.LET___V19*/ meltfptr[17] = /*_.RETURN___V32*/ meltfptr[20];; MELT_LOCATION ("warmelt-normatch.melt:577:/ clear"); /*clear *//*_.LET___V20*/ meltfptr[19] = 0; /*^clear */ /*clear *//*_.NTLIST__V25*/ meltfptr[23] = 0; /*^clear */ /*clear *//*_.IFCPP___V26*/ meltfptr[22] = 0; /*^clear */ /*clear *//*_.IFCPP___V28*/ meltfptr[21] = 0; /*^clear */ /*clear *//*_.RETURN___V32*/ meltfptr[20] = 0; /*_.LET___V12*/ meltfptr[10] = /*_.LET___V19*/ meltfptr[17];; MELT_LOCATION ("warmelt-normatch.melt:572:/ clear"); /*clear *//*_.NMATCHED__V13*/ meltfptr[12] = 0; /*^clear */ /*clear *//*_.STUFFMAP__V14*/ meltfptr[13] = 0; /*^clear */ /*clear *//*_.IFCPP___V15*/ meltfptr[14] = 0; /*^clear */ /*clear *//*_.IFCPP___V17*/ meltfptr[15] = 0; /*^clear */ /*clear *//*_.LET___V19*/ meltfptr[17] = 0; MELT_LOCATION ("warmelt-normatch.melt:568:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V12*/ meltfptr[10];; { MELT_LOCATION ("warmelt-normatch.melt:568:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V4*/ meltfptr[3] = 0; /*^clear */ /*clear *//*_.IFCPP___V8*/ meltfptr[4] = 0; /*^clear */ /*clear *//*_.IFCPP___V10*/ meltfptr[5] = 0; /*^clear */ /*clear *//*_.LET___V12*/ meltfptr[10] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("REGISTER_NEW_NORMTESTER", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_12_warmelt_normatch_REGISTER_NEW_NORMTESTER_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_12_warmelt_normatch_REGISTER_NEW_NORMTESTER */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_13_warmelt_normatch_PUT_TESTER_THEN (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un * meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un * meltxrestab_) { long current_blocklevel_signals_meltrout_13_warmelt_normatch_PUT_TESTER_THEN_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_13_warmelt_normatch_PUT_TESTER_THEN_st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 45 melt_ptr_t mcfr_varptr[45]; #define MELTFRAM_NBVARNUM 19 long mcfr_varnum[19]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_13_warmelt_normatch_PUT_TESTER_THEN is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_13_warmelt_normatch_PUT_TESTER_THEN_st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 45; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_13_warmelt_normatch_PUT_TESTER_THEN nbval 45*/ meltfram__.mcfr_nbvar = 45 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("PUT_TESTER_THEN", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normatch.melt:598:/ getarg"); /*_.CURTESTER__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.THENTESTER__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.THENTESTER__V3*/ meltfptr[2])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:599:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:599:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:599:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 599; /*^apply.arg */ argtab[3].meltbp_cstring = "put_tester_then curtester="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CURTESTER__V2*/ meltfptr[1]; /*^apply.arg */ argtab[5].meltbp_cstring = " thentester="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.THENTESTER__V3*/ meltfptr[2]; /*_.MELT_DEBUG_FUN__V6*/ meltfptr[5] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V5*/ meltfptr[4] = /*_.MELT_DEBUG_FUN__V6*/ meltfptr[5];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:599:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V6*/ meltfptr[5] = 0; } ; } else { /*^cond.else */ /*_.IF___V5*/ meltfptr[4] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:599:/ quasiblock"); /*_.PROGN___V7*/ meltfptr[5] = /*_.IF___V5*/ meltfptr[4];; /*^compute */ /*_.IFCPP___V4*/ meltfptr[3] = /*_.PROGN___V7*/ meltfptr[5];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:599:/ clear"); /*clear *//*_#MELT_NEED_DBG__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V5*/ meltfptr[4] = 0; /*^clear */ /*clear *//*_.PROGN___V7*/ meltfptr[5] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V4*/ meltfptr[3] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:600:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L3*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.CURTESTER__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_NORMTESTER_ANY */ meltfrout->tabval[1])));; MELT_LOCATION ("warmelt-normatch.melt:600:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V9*/ meltfptr[5] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:600:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check curtester"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (600) ? (600) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V9*/ meltfptr[5] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V8*/ meltfptr[4] = /*_.IFELSE___V9*/ meltfptr[5];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:600:/ clear"); /*clear *//*_#IS_A__L3*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V9*/ meltfptr[5] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V8*/ meltfptr[4] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:601:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L4*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.THENTESTER__V3*/ meltfptr[2]), (melt_ptr_t) (( /*!CLASS_NORMTESTER_ANY */ meltfrout->tabval[1])));; MELT_LOCATION ("warmelt-normatch.melt:601:/ cond"); /*cond */ if ( /*_#IS_A__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V11*/ meltfptr[10] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:601:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check thentester"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (601) ? (601) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V11*/ meltfptr[10] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[5] = /*_.IFELSE___V11*/ meltfptr[10];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:601:/ clear"); /*clear *//*_#IS_A__L4*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V11*/ meltfptr[10] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V10*/ meltfptr[5] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:602:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normatch.melt:603:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURTESTER__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "NTEST_THEN"); /*_.NTEST_THEN__V13*/ meltfptr[12] = slot; }; ; /*_#NULL__L5*/ meltfnum[1] = (( /*_.NTEST_THEN__V13*/ meltfptr[12]) == NULL);; MELT_LOCATION ("warmelt-normatch.melt:602:/ cond"); /*cond */ if ( /*_#NULL__L5*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V14*/ meltfptr[13] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:602:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check curtester has no then"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (602) ? (602) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V14*/ meltfptr[13] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V12*/ meltfptr[10] = /*_.IFELSE___V14*/ meltfptr[13];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:602:/ clear"); /*clear *//*_.NTEST_THEN__V13*/ meltfptr[12] = 0; /*^clear */ /*clear *//*_#NULL__L5*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V14*/ meltfptr[13] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V12*/ meltfptr[10] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:604:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.THENTESTER__V3*/ meltfptr[2]) /*=obj*/ ; melt_object_get_field (slot, obj, 6, "NTEST_COMEFROM"); /*_.THENCOME__V15*/ meltfptr[12] = slot; }; ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:605:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_LIST__L6*/ meltfnum[0] = (melt_magic_discr ((melt_ptr_t) ( /*_.THENCOME__V15*/ meltfptr[12])) == MELTOBMAG_LIST);; MELT_LOCATION ("warmelt-normatch.melt:605:/ cond"); /*cond */ if ( /*_#IS_LIST__L6*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V17*/ meltfptr[16] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:605:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check thencome"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (605) ? (605) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V17*/ meltfptr[16] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V16*/ meltfptr[13] = /*_.IFELSE___V17*/ meltfptr[16];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:605:/ clear"); /*clear *//*_#IS_LIST__L6*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V17*/ meltfptr[16] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V16*/ meltfptr[13] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; { MELT_LOCATION ("warmelt-normatch.melt:606:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.THENCOME__V15*/ meltfptr[12]), (melt_ptr_t) ( /*_.CURTESTER__V2*/ meltfptr[1])); } ; MELT_LOCATION ("warmelt-normatch.melt:604:/ clear"); /*clear *//*_.THENCOME__V15*/ meltfptr[12] = 0; /*^clear */ /*clear *//*_.IFCPP___V16*/ meltfptr[13] = 0; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:607:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_NOT_A__L7*/ meltfnum[1] = !melt_is_instance_of ((melt_ptr_t) ( /*_.CURTESTER__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_NORMTESTER_SUCCESS */ meltfrout->tabval[2])));; MELT_LOCATION ("warmelt-normatch.melt:607:/ cond"); /*cond */ if ( /*_#IS_NOT_A__L7*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V19*/ meltfptr[12] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:607:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check curtester not a normtester success"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (607) ? (607) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V19*/ meltfptr[12] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V18*/ meltfptr[16] = /*_.IFELSE___V19*/ meltfptr[12];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:607:/ clear"); /*clear *//*_#IS_NOT_A__L7*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V19*/ meltfptr[12] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V18*/ meltfptr[16] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:609:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NTEST_THEN", melt_magic_discr ((melt_ptr_t) ( /*_.CURTESTER__V2*/ meltfptr[1])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.CURTESTER__V2*/ meltfptr[1]), (2), ( /*_.THENTESTER__V3*/ meltfptr[2]), "NTEST_THEN"); ; /*^touch */ meltgc_touch ( /*_.CURTESTER__V2*/ meltfptr[1]); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.CURTESTER__V2*/ meltfptr[1], "put-fields"); ; MELT_LOCATION ("warmelt-normatch.melt:611:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#IS_A__L8*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.CURTESTER__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_NORMTESTER_DISJUNCTION */ meltfrout->tabval[3])));; MELT_LOCATION ("warmelt-normatch.melt:611:/ cond"); /*cond */ if ( /*_#IS_A__L8*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normatch.melt:612:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURTESTER__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 7, "NTDISJUNCTS"); /*_.CURDISJTUPLE__V20*/ meltfptr[13] = slot; }; ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:613:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L9*/ meltfnum[1] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:613:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L9*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L10*/ meltfnum[9] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:613:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L10*/ meltfnum[9]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 613; /*^apply.arg */ argtab[3].meltbp_cstring = "put_tester_then curdisjtuple"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CURDISJTUPLE__V20*/ meltfptr[13]; /*_.MELT_DEBUG_FUN__V23*/ meltfptr[22] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V22*/ meltfptr[21] = /*_.MELT_DEBUG_FUN__V23*/ meltfptr[22];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:613:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L10*/ meltfnum[9] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V23*/ meltfptr[22] = 0; } ; } else { /*^cond.else */ /*_.IF___V22*/ meltfptr[21] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:613:/ quasiblock"); /*_.PROGN___V24*/ meltfptr[22] = /*_.IF___V22*/ meltfptr[21];; /*^compute */ /*_.IFCPP___V21*/ meltfptr[12] = /*_.PROGN___V24*/ meltfptr[22];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:613:/ clear"); /*clear *//*_#MELT_NEED_DBG__L9*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IF___V22*/ meltfptr[21] = 0; /*^clear */ /*clear *//*_.PROGN___V24*/ meltfptr[22] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V21*/ meltfptr[12] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; /*citerblock FOREACH_IN_MULTIPLE */ { /* start foreach_in_multiple meltcit1__EACHTUP */ long meltcit1__EACHTUP_ln = melt_multiple_length ((melt_ptr_t) /*_.CURDISJTUPLE__V20*/ meltfptr[13]); for ( /*_#DISJIX__L11*/ meltfnum[9] = 0; ( /*_#DISJIX__L11*/ meltfnum[9] >= 0) && ( /*_#DISJIX__L11*/ meltfnum[9] < meltcit1__EACHTUP_ln); /*_#DISJIX__L11*/ meltfnum[9]++) { /*_.CURDISJ__V25*/ meltfptr[21] = melt_multiple_nth ((melt_ptr_t) ( /*_.CURDISJTUPLE__V20*/ meltfptr[13]), /*_#DISJIX__L11*/ meltfnum[9]); #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:617:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L12*/ meltfnum[1] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:617:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L12*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L13*/ meltfnum[12] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:617:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L13*/ meltfnum[12]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 617; /*^apply.arg */ argtab[3].meltbp_cstring = "put_tester_then curdisj="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CURDISJ__V25*/ meltfptr[21]; /*_.MELT_DEBUG_FUN__V28*/ 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); } ; /*_.IF___V27*/ meltfptr[26] = /*_.MELT_DEBUG_FUN__V28*/ meltfptr[27];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:617:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L13*/ meltfnum[12] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V28*/ meltfptr[27] = 0; } ; } else { /*^cond.else */ /*_.IF___V27*/ meltfptr[26] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:617:/ quasiblock"); /*_.PROGN___V29*/ meltfptr[27] = /*_.IF___V27*/ meltfptr[26];; /*^compute */ /*_.IFCPP___V26*/ meltfptr[22] = /*_.PROGN___V29*/ meltfptr[27];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:617:/ clear"); /*clear *//*_#MELT_NEED_DBG__L12*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IF___V27*/ meltfptr[26] = 0; /*^clear */ /*clear *//*_.PROGN___V29*/ meltfptr[27] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V26*/ meltfptr[22] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:618:/ quasiblock"); /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_REFERENCE */ meltfrout->tabval[4])), (1), "CLASS_REFERENCE"); /*_.INST__V32*/ meltfptr[31] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @REFERENCED_VALUE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V32*/ meltfptr[31])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V32*/ meltfptr[31]), (0), ( /*_.CURDISJ__V25*/ meltfptr[21]), "REFERENCED_VALUE"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V32*/ meltfptr[31], "newly made instance"); ; /*_.CURCONT__V31*/ meltfptr[27] = /*_.INST__V32*/ meltfptr[31];; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:619:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L14*/ meltfnum[12] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:619:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L14*/ meltfnum[12]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L15*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:619:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L15*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 619; /*^apply.arg */ argtab[3].meltbp_cstring = "put_tester_then curcont start="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CURCONT__V31*/ meltfptr[27]; /*_.MELT_DEBUG_FUN__V35*/ meltfptr[34] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V34*/ meltfptr[33] = /*_.MELT_DEBUG_FUN__V35*/ meltfptr[34];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:619:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L15*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V35*/ meltfptr[34] = 0; } ; } else { /*^cond.else */ /*_.IF___V34*/ meltfptr[33] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:619:/ quasiblock"); /*_.PROGN___V36*/ meltfptr[34] = /*_.IF___V34*/ meltfptr[33];; /*^compute */ /*_.IFCPP___V33*/ meltfptr[32] = /*_.PROGN___V36*/ meltfptr[34];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:619:/ clear"); /*clear *//*_#MELT_NEED_DBG__L14*/ meltfnum[12] = 0; /*^clear */ /*clear *//*_.IF___V34*/ meltfptr[33] = 0; /*^clear */ /*clear *//*_.PROGN___V36*/ meltfptr[34] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V33*/ meltfptr[32] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:620:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.CURCONT__V31*/ meltfptr[27]; /*_.SET_NEW_TESTER_LAST_THEN__V37*/ meltfptr[33] = melt_apply ((meltclosure_ptr_t) (( /*!SET_NEW_TESTER_LAST_THEN */ meltfrout-> tabval[5])), (melt_ptr_t) ( /*_.THENTESTER__V3*/ meltfptr[2]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:621:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L16*/ meltfnum[1] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:621:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L16*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L17*/ meltfnum[12] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:621:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L17*/ meltfnum[12]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 621; /*^apply.arg */ argtab[3].meltbp_cstring = "put_tester_then curcont done"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CURCONT__V31*/ meltfptr[27]; /*_.MELT_DEBUG_FUN__V40*/ meltfptr[39] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V39*/ meltfptr[38] = /*_.MELT_DEBUG_FUN__V40*/ meltfptr[39];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:621:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L17*/ meltfnum[12] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V40*/ meltfptr[39] = 0; } ; } else { /*^cond.else */ /*_.IF___V39*/ meltfptr[38] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:621:/ quasiblock"); /*_.PROGN___V41*/ meltfptr[39] = /*_.IF___V39*/ meltfptr[38];; /*^compute */ /*_.IFCPP___V38*/ meltfptr[34] = /*_.PROGN___V41*/ meltfptr[39];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:621:/ clear"); /*clear *//*_#MELT_NEED_DBG__L16*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IF___V39*/ meltfptr[38] = 0; /*^clear */ /*clear *//*_.PROGN___V41*/ meltfptr[39] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V38*/ meltfptr[34] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; /*^compute */ /*_.LET___V30*/ meltfptr[26] = /*_.IFCPP___V38*/ meltfptr[34];; MELT_LOCATION ("warmelt-normatch.melt:618:/ clear"); /*clear *//*_.CURCONT__V31*/ meltfptr[27] = 0; /*^clear */ /*clear *//*_.IFCPP___V33*/ meltfptr[32] = 0; /*^clear */ /*clear *//*_.SET_NEW_TESTER_LAST_THEN__V37*/ meltfptr[33] = 0; /*^clear */ /*clear *//*_.IFCPP___V38*/ meltfptr[34] = 0; if ( /*_#DISJIX__L11*/ meltfnum[9] < 0) break; } /* end foreach_in_multiple meltcit1__EACHTUP */ /*citerepilog */ MELT_LOCATION ("warmelt-normatch.melt:614:/ clear"); /*clear *//*_.CURDISJ__V25*/ meltfptr[21] = 0; /*^clear */ /*clear *//*_#DISJIX__L11*/ meltfnum[9] = 0; /*^clear */ /*clear *//*_.IFCPP___V26*/ meltfptr[22] = 0; /*^clear */ /*clear *//*_.LET___V30*/ meltfptr[26] = 0; } /*endciterblock FOREACH_IN_MULTIPLE */ ; MELT_LOCATION ("warmelt-normatch.melt:612:/ clear"); /*clear *//*_.CURDISJTUPLE__V20*/ meltfptr[13] = 0; /*^clear */ /*clear *//*_.IFCPP___V21*/ meltfptr[12] = 0; /*epilog */ } ; } /*noelse */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:624:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L18*/ meltfnum[12] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:624:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L18*/ meltfnum[12]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L19*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:624:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L19*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 624; /*^apply.arg */ argtab[3].meltbp_cstring = "put_tester_then curtester done"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CURTESTER__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V44*/ 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); } ; /*_.IF___V43*/ meltfptr[39] = /*_.MELT_DEBUG_FUN__V44*/ meltfptr[27];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:624:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L19*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V44*/ meltfptr[27] = 0; } ; } else { /*^cond.else */ /*_.IF___V43*/ meltfptr[39] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:624:/ quasiblock"); /*_.PROGN___V45*/ meltfptr[32] = /*_.IF___V43*/ meltfptr[39];; /*^compute */ /*_.IFCPP___V42*/ meltfptr[38] = /*_.PROGN___V45*/ meltfptr[32];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:624:/ clear"); /*clear *//*_#MELT_NEED_DBG__L18*/ meltfnum[12] = 0; /*^clear */ /*clear *//*_.IF___V43*/ meltfptr[39] = 0; /*^clear */ /*clear *//*_.PROGN___V45*/ meltfptr[32] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V42*/ meltfptr[38] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:598:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.IFCPP___V42*/ meltfptr[38];; { MELT_LOCATION ("warmelt-normatch.melt:598:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V4*/ meltfptr[3] = 0; /*^clear */ /*clear *//*_.IFCPP___V8*/ meltfptr[4] = 0; /*^clear */ /*clear *//*_.IFCPP___V10*/ meltfptr[5] = 0; /*^clear */ /*clear *//*_.IFCPP___V12*/ meltfptr[10] = 0; /*^clear */ /*clear *//*_.IFCPP___V18*/ meltfptr[16] = 0; /*^clear */ /*clear *//*_#IS_A__L8*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFCPP___V42*/ meltfptr[38] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("PUT_TESTER_THEN", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_13_warmelt_normatch_PUT_TESTER_THEN_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_13_warmelt_normatch_PUT_TESTER_THEN */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_14_warmelt_normatch_SET_NEW_TESTER_LAST_THEN (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un * meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un * meltxrestab_) { long current_blocklevel_signals_meltrout_14_warmelt_normatch_SET_NEW_TESTER_LAST_THEN_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_14_warmelt_normatch_SET_NEW_TESTER_LAST_THEN_st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 34 melt_ptr_t mcfr_varptr[34]; #define MELTFRAM_NBVARNUM 11 long mcfr_varnum[11]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_14_warmelt_normatch_SET_NEW_TESTER_LAST_THEN is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_14_warmelt_normatch_SET_NEW_TESTER_LAST_THEN_st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 34; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_14_warmelt_normatch_SET_NEW_TESTER_LAST_THEN nbval 34*/ meltfram__.mcfr_nbvar = 34 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("SET_NEW_TESTER_LAST_THEN", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normatch.melt:628:/ getarg"); /*_.NEWTESTER__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.TESTERCONT__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.TESTERCONT__V3*/ meltfptr[2])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:629:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:629:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:629:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 629; /*^apply.arg */ argtab[3].meltbp_cstring = "set_new_tester_last_then newtester="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NEWTESTER__V2*/ meltfptr[1]; /*^apply.arg */ argtab[5].meltbp_cstring = " testercont="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.TESTERCONT__V3*/ meltfptr[2]; /*_.MELT_DEBUG_FUN__V6*/ meltfptr[5] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V5*/ meltfptr[4] = /*_.MELT_DEBUG_FUN__V6*/ meltfptr[5];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:629:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V6*/ meltfptr[5] = 0; } ; } else { /*^cond.else */ /*_.IF___V5*/ meltfptr[4] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:629:/ quasiblock"); /*_.PROGN___V7*/ meltfptr[5] = /*_.IF___V5*/ meltfptr[4];; /*^compute */ /*_.IFCPP___V4*/ meltfptr[3] = /*_.PROGN___V7*/ meltfptr[5];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:629:/ clear"); /*clear *//*_#MELT_NEED_DBG__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V5*/ meltfptr[4] = 0; /*^clear */ /*clear *//*_.PROGN___V7*/ meltfptr[5] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V4*/ meltfptr[3] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; { MELT_LOCATION ("warmelt-normatch.melt:630:/ locexp"); #if MELT_HAVE_DEBUG if (melt_need_debug (0)) melt_dbgshortbacktrace (("set_new_tester_last_then start"), (15)); #endif ; } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:631:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L3*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.NEWTESTER__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_NORMTESTER_ANY */ meltfrout->tabval[1])));; MELT_LOCATION ("warmelt-normatch.melt:631:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V9*/ meltfptr[5] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:631:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check newtester"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (631) ? (631) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V9*/ meltfptr[5] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V8*/ meltfptr[4] = /*_.IFELSE___V9*/ meltfptr[5];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:631:/ clear"); /*clear *//*_#IS_A__L3*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V9*/ meltfptr[5] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V8*/ meltfptr[4] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:632:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L4*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.TESTERCONT__V3*/ meltfptr[2]), (melt_ptr_t) (( /*!CLASS_REFERENCE */ meltfrout-> tabval[2])));; MELT_LOCATION ("warmelt-normatch.melt:632:/ cond"); /*cond */ if ( /*_#IS_A__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V11*/ meltfptr[10] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:632:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check testercont"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (632) ? (632) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V11*/ meltfptr[10] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[5] = /*_.IFELSE___V11*/ meltfptr[10];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:632:/ clear"); /*clear *//*_#IS_A__L4*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V11*/ meltfptr[10] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V10*/ meltfptr[5] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:633:/ quasiblock"); /*^cond */ /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.TESTERCONT__V3*/ meltfptr[2]), (melt_ptr_t) (( /*!CLASS_REFERENCE */ meltfrout->tabval[2]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.TESTERCONT__V3*/ meltfptr[2]) /*=obj*/ ; melt_object_get_field (slot, obj, 0, "REFERENCED_VALUE"); /*_.CURTESTER__V13*/ meltfptr[12] = slot; }; ; } else { /*^cond.else */ /*_.CURTESTER__V13*/ meltfptr[12] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:634:/ loop"); /*loop */ { labloop_LASTESTERLOOP_1:; /*^loopbody */ /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:636:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L5*/ meltfnum[1] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:636:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L5*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L6*/ meltfnum[0] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:636:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L6*/ meltfnum[0]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 636; /*^apply.arg */ argtab[3].meltbp_cstring = "set_new_tester_last_then loop curtester"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CURTESTER__V13*/ meltfptr[12]; /*_.MELT_DEBUG_FUN__V18*/ meltfptr[17] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V17*/ meltfptr[16] = /*_.MELT_DEBUG_FUN__V18*/ meltfptr[17];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:636:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L6*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V18*/ meltfptr[17] = 0; } ; } else { /*^cond.else */ /*_.IF___V17*/ meltfptr[16] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:636:/ quasiblock"); /*_.PROGN___V19*/ meltfptr[17] = /*_.IF___V17*/ meltfptr[16];; /*^compute */ /*_.IFCPP___V16*/ meltfptr[15] = /*_.PROGN___V19*/ meltfptr[17];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:636:/ clear"); /*clear *//*_#MELT_NEED_DBG__L5*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IF___V17*/ meltfptr[16] = 0; /*^clear */ /*clear *//*_.PROGN___V19*/ meltfptr[17] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V16*/ meltfptr[15] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:638:/ quasiblock"); /*^cond */ /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURTESTER__V13*/ meltfptr[12]), (melt_ptr_t) (( /*!CLASS_NORMTESTER_ANY */ meltfrout->tabval[1]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURTESTER__V13*/ meltfptr[12]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "NTEST_THEN"); /*_.NEXTESTER__V21*/ meltfptr[17] = slot; }; ; } else { /*^cond.else */ /*_.NEXTESTER__V21*/ meltfptr[17] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:639:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#IS_A__L7*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.NEXTESTER__V21*/ meltfptr[17]), (melt_ptr_t) (( /*!CLASS_NORMTESTER_ANY */ meltfrout->tabval[1])));; MELT_LOCATION ("warmelt-normatch.melt:639:/ cond"); /*cond */ if ( /*_#IS_A__L7*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normatch.melt:640:/ compute"); /*_.CURTESTER__V13*/ meltfptr[12] = /*_.SETQ___V23*/ meltfptr[22] = /*_.NEXTESTER__V21*/ meltfptr[17];; /*_.IFELSE___V22*/ meltfptr[21] = /*_.SETQ___V23*/ meltfptr[22];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:639:/ clear"); /*clear *//*_.SETQ___V23*/ meltfptr[22] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normatch.melt:641:/ quasiblock"); /*^compute */ /*_.LASTESTERLOOP__V15*/ meltfptr[14] = /*_.IFELSE___V22*/ meltfptr[21] = NULL;; /*^exit */ /*exit */ { goto labexit_LASTESTERLOOP_1; } ; /*epilog */ } ; } ; /*_.LET___V20*/ meltfptr[16] = /*_.IFELSE___V22*/ meltfptr[21];; MELT_LOCATION ("warmelt-normatch.melt:638:/ clear"); /*clear *//*_.NEXTESTER__V21*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_#IS_A__L7*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V22*/ meltfptr[21] = 0; MELT_LOCATION ("warmelt-normatch.melt:634:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V16*/ meltfptr[15] = 0; /*^clear */ /*clear *//*_.LET___V20*/ meltfptr[16] = 0; } ; ; goto labloop_LASTESTERLOOP_1; labexit_LASTESTERLOOP_1:; /*^loopepilog */ /*loopepilog */ /*_.FOREVER___V14*/ meltfptr[13] = /*_.LASTESTERLOOP__V15*/ meltfptr[14];; } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:642:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L8*/ meltfnum[1] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:642:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L8*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L9*/ meltfnum[0] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:642:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L9*/ meltfnum[0]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 642; /*^apply.arg */ argtab[3].meltbp_cstring = "set_new_tester_last_then final curtester"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CURTESTER__V13*/ meltfptr[12]; /*_.MELT_DEBUG_FUN__V26*/ meltfptr[21] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V25*/ meltfptr[17] = /*_.MELT_DEBUG_FUN__V26*/ meltfptr[21];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:642:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L9*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V26*/ meltfptr[21] = 0; } ; } else { /*^cond.else */ /*_.IF___V25*/ meltfptr[17] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:642:/ quasiblock"); /*_.PROGN___V27*/ meltfptr[15] = /*_.IF___V25*/ meltfptr[17];; /*^compute */ /*_.IFCPP___V24*/ meltfptr[22] = /*_.PROGN___V27*/ meltfptr[15];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:642:/ clear"); /*clear *//*_#MELT_NEED_DBG__L8*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IF___V25*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_.PROGN___V27*/ meltfptr[15] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V24*/ meltfptr[22] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:643:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*^cond */ /*cond */ if ( /*_.CURTESTER__V13*/ meltfptr[12]) /*then */ { /*^cond.then */ /*_.IFELSE___V29*/ meltfptr[21] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:643:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check curtester set_new_tester_last_then"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (643) ? (643) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V29*/ meltfptr[21] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V28*/ meltfptr[16] = /*_.IFELSE___V29*/ meltfptr[21];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:643:/ clear"); /*clear *//*_.IFELSE___V29*/ meltfptr[21] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V28*/ meltfptr[16] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:644:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^cond */ /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.TESTERCONT__V3*/ meltfptr[2]), (melt_ptr_t) (( /*!CLASS_REFERENCE */ meltfrout->tabval[2]))) ) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @REFERENCED_VALUE", melt_magic_discr ((melt_ptr_t) ( /*_.TESTERCONT__V3*/ meltfptr[2])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.TESTERCONT__V3*/ meltfptr[2]), (0), ( /*_.CURTESTER__V13*/ meltfptr[12]), "REFERENCED_VALUE"); ; /*^touch */ meltgc_touch ( /*_.TESTERCONT__V3*/ meltfptr[2]); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.TESTERCONT__V3*/ meltfptr[2], "put-fields"); ; /*epilog */ } ; } /*noelse */ ; MELT_LOCATION ("warmelt-normatch.melt:645:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NEWTESTER__V2*/ meltfptr[1]; /*_.PUT_TESTER_THEN__V30*/ meltfptr[17] = melt_apply ((meltclosure_ptr_t) (( /*!PUT_TESTER_THEN */ meltfrout->tabval[3])), (melt_ptr_t) ( /*_.CURTESTER__V13*/ meltfptr[12]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:646:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L10*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:646:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L10*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L11*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:646:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L11*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 646; /*^apply.arg */ argtab[3].meltbp_cstring = "set_new_tester_last_then end testercont"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.TESTERCONT__V3*/ meltfptr[2]; /*_.MELT_DEBUG_FUN__V33*/ meltfptr[32] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V32*/ meltfptr[21] = /*_.MELT_DEBUG_FUN__V33*/ meltfptr[32];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:646:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L11*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V33*/ meltfptr[32] = 0; } ; } else { /*^cond.else */ /*_.IF___V32*/ meltfptr[21] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:646:/ quasiblock"); /*_.PROGN___V34*/ meltfptr[32] = /*_.IF___V32*/ meltfptr[21];; /*^compute */ /*_.IFCPP___V31*/ meltfptr[15] = /*_.PROGN___V34*/ meltfptr[32];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:646:/ clear"); /*clear *//*_#MELT_NEED_DBG__L10*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V32*/ meltfptr[21] = 0; /*^clear */ /*clear *//*_.PROGN___V34*/ meltfptr[32] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V31*/ meltfptr[15] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; /*^compute */ /*_.LET___V12*/ meltfptr[10] = /*_.IFCPP___V31*/ meltfptr[15];; MELT_LOCATION ("warmelt-normatch.melt:633:/ clear"); /*clear *//*_.CURTESTER__V13*/ meltfptr[12] = 0; /*^clear */ /*clear *//*_.FOREVER___V14*/ meltfptr[13] = 0; /*^clear */ /*clear *//*_.IFCPP___V24*/ meltfptr[22] = 0; /*^clear */ /*clear *//*_.IFCPP___V28*/ meltfptr[16] = 0; /*^clear */ /*clear *//*_.PUT_TESTER_THEN__V30*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_.IFCPP___V31*/ meltfptr[15] = 0; MELT_LOCATION ("warmelt-normatch.melt:628:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V12*/ meltfptr[10];; { MELT_LOCATION ("warmelt-normatch.melt:628:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V4*/ meltfptr[3] = 0; /*^clear */ /*clear *//*_.IFCPP___V8*/ meltfptr[4] = 0; /*^clear */ /*clear *//*_.IFCPP___V10*/ meltfptr[5] = 0; /*^clear */ /*clear *//*_.LET___V12*/ meltfptr[10] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("SET_NEW_TESTER_LAST_THEN", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_14_warmelt_normatch_SET_NEW_TESTER_LAST_THEN_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_14_warmelt_normatch_SET_NEW_TESTER_LAST_THEN */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_15_warmelt_normatch_SET_NEW_TESTER_ALL_ELSES (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un * meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un * meltxrestab_) { long current_blocklevel_signals_meltrout_15_warmelt_normatch_SET_NEW_TESTER_ALL_ELSES_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_15_warmelt_normatch_SET_NEW_TESTER_ALL_ELSES_st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 59 melt_ptr_t mcfr_varptr[59]; #define MELTFRAM_NBVARNUM 26 long mcfr_varnum[26]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_15_warmelt_normatch_SET_NEW_TESTER_ALL_ELSES is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_15_warmelt_normatch_SET_NEW_TESTER_ALL_ELSES_st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 59; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_15_warmelt_normatch_SET_NEW_TESTER_ALL_ELSES nbval 59*/ meltfram__.mcfr_nbvar = 59 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("SET_NEW_TESTER_ALL_ELSES", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normatch.melt:653:/ getarg"); /*_.NEWTESTER__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.PARTESTER__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.PARTESTER__V3*/ meltfptr[2])) != NULL); /*getarg#2 */ /*^getarg */ if (meltxargdescr_[1] != MELTBPAR_PTR) goto lab_endgetargs; /*_.UPDATLIST__V4*/ meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.UPDATLIST__V4*/ meltfptr[3])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:654:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:654:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:654:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 654; /*^apply.arg */ argtab[3].meltbp_cstring = "set_new_tester_all_elses newtester"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NEWTESTER__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V7*/ meltfptr[6] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V6*/ meltfptr[5] = /*_.MELT_DEBUG_FUN__V7*/ meltfptr[6];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:654:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V7*/ meltfptr[6] = 0; } ; } else { /*^cond.else */ /*_.IF___V6*/ meltfptr[5] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:654:/ quasiblock"); /*_.PROGN___V8*/ meltfptr[6] = /*_.IF___V6*/ meltfptr[5];; /*^compute */ /*_.IFCPP___V5*/ meltfptr[4] = /*_.PROGN___V8*/ meltfptr[6];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:654:/ clear"); /*clear *//*_#MELT_NEED_DBG__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V6*/ meltfptr[5] = 0; /*^clear */ /*clear *//*_.PROGN___V8*/ meltfptr[6] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V5*/ meltfptr[4] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:655:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L3*/ meltfnum[1] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:655:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L3*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L4*/ meltfnum[0] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:655:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L4*/ meltfnum[0]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 655; /*^apply.arg */ argtab[3].meltbp_cstring = "set_new_tester_all_elses partester"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.PARTESTER__V3*/ meltfptr[2]; /*_.MELT_DEBUG_FUN__V11*/ meltfptr[10] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V10*/ meltfptr[6] = /*_.MELT_DEBUG_FUN__V11*/ meltfptr[10];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:655:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L4*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V11*/ meltfptr[10] = 0; } ; } else { /*^cond.else */ /*_.IF___V10*/ meltfptr[6] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:655:/ quasiblock"); /*_.PROGN___V12*/ meltfptr[10] = /*_.IF___V10*/ meltfptr[6];; /*^compute */ /*_.IFCPP___V9*/ meltfptr[5] = /*_.PROGN___V12*/ meltfptr[10];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:655:/ clear"); /*clear *//*_#MELT_NEED_DBG__L3*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IF___V10*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.PROGN___V12*/ meltfptr[10] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V9*/ meltfptr[5] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; { MELT_LOCATION ("warmelt-normatch.melt:656:/ locexp"); #if MELT_HAVE_DEBUG if (melt_need_debug (0)) melt_dbgshortbacktrace (("set_new_tester_all_elses start"), (15)); #endif ; } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:657:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L5*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.NEWTESTER__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_NORMTESTER_ANY */ meltfrout->tabval[1])));; MELT_LOCATION ("warmelt-normatch.melt:657:/ cond"); /*cond */ if ( /*_#IS_A__L5*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V14*/ meltfptr[10] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:657:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check newtester"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (657) ? (657) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V14*/ meltfptr[10] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V13*/ meltfptr[6] = /*_.IFELSE___V14*/ meltfptr[10];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:657:/ clear"); /*clear *//*_#IS_A__L5*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V14*/ meltfptr[10] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V13*/ meltfptr[6] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:658:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L6*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.PARTESTER__V3*/ meltfptr[2]), (melt_ptr_t) (( /*!CLASS_NORMTESTER_ANY */ meltfrout->tabval[1])));; MELT_LOCATION ("warmelt-normatch.melt:658:/ cond"); /*cond */ if ( /*_#IS_A__L6*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V16*/ meltfptr[15] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:658:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check partester"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (658) ? (658) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V16*/ meltfptr[15] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V15*/ meltfptr[10] = /*_.IFELSE___V16*/ meltfptr[15];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:658:/ clear"); /*clear *//*_#IS_A__L6*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V16*/ meltfptr[15] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V15*/ meltfptr[10] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:659:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#NULL__L7*/ meltfnum[0] = (( /*_.UPDATLIST__V4*/ meltfptr[3]) == NULL);; MELT_LOCATION ("warmelt-normatch.melt:659:/ cond"); /*cond */ if ( /*_#NULL__L7*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_.MAKE_LIST__V18*/ meltfptr[17] = (meltgc_new_list ((meltobject_ptr_t) (( /*!DISCR_LIST */ meltfrout->tabval[2]))));; MELT_LOCATION ("warmelt-normatch.melt:660:/ compute"); /*_.UPDATLIST__V4*/ meltfptr[3] = /*_.SETQ___V19*/ meltfptr[18] = /*_.MAKE_LIST__V18*/ meltfptr[17];; /*_.IF___V17*/ meltfptr[15] = /*_.SETQ___V19*/ meltfptr[18];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:659:/ clear"); /*clear *//*_.MAKE_LIST__V18*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_.SETQ___V19*/ meltfptr[18] = 0; } ; } else { /*^cond.else */ /*_.IF___V17*/ meltfptr[15] = NULL;; } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:661:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_LIST__L8*/ meltfnum[1] = (melt_magic_discr ((melt_ptr_t) ( /*_.UPDATLIST__V4*/ meltfptr[3])) == MELTOBMAG_LIST);; MELT_LOCATION ("warmelt-normatch.melt:661:/ cond"); /*cond */ if ( /*_#IS_LIST__L8*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V21*/ meltfptr[18] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:661:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check updatlist"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (661) ? (661) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V21*/ meltfptr[18] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V20*/ meltfptr[17] = /*_.IFELSE___V21*/ meltfptr[18];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:661:/ clear"); /*clear *//*_#IS_LIST__L8*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V21*/ meltfptr[18] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V20*/ meltfptr[17] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:662:/ loop"); /*loop */ { labloop_ALLELSELOOP_1:; /*^loopbody */ /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:664:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L9*/ meltfnum[1] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:664:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L9*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L10*/ meltfnum[9] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:664:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L10*/ meltfnum[9]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 664; /*^apply.arg */ argtab[3].meltbp_cstring = "set_new_tester_all_elses allelseloop partester"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.PARTESTER__V3*/ meltfptr[2]; /*_.MELT_DEBUG_FUN__V26*/ meltfptr[25] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V25*/ meltfptr[24] = /*_.MELT_DEBUG_FUN__V26*/ meltfptr[25];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:664:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L10*/ meltfnum[9] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V26*/ meltfptr[25] = 0; } ; } else { /*^cond.else */ /*_.IF___V25*/ meltfptr[24] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:664:/ quasiblock"); /*_.PROGN___V27*/ meltfptr[25] = /*_.IF___V25*/ meltfptr[24];; /*^compute */ /*_.IFCPP___V24*/ meltfptr[23] = /*_.PROGN___V27*/ meltfptr[25];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:664:/ clear"); /*clear *//*_#MELT_NEED_DBG__L9*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IF___V25*/ meltfptr[24] = 0; /*^clear */ /*clear *//*_.PROGN___V27*/ meltfptr[25] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V24*/ meltfptr[23] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:666:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#NULL__L11*/ meltfnum[9] = (( /*_.PARTESTER__V3*/ meltfptr[2]) == NULL);; MELT_LOCATION ("warmelt-normatch.melt:666:/ cond"); /*cond */ if ( /*_#NULL__L11*/ meltfnum[9]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normatch.melt:667:/ quasiblock"); /*^compute */ /*_.ALLELSELOOP__V23*/ meltfptr[22] = /*_.IFELSE___V28*/ meltfptr[24] = NULL;; /*^exit */ /*exit */ { goto labexit_ALLELSELOOP_1; } ; /*epilog */ } ; } else { MELT_LOCATION ("warmelt-normatch.melt:666:/ cond.else"); /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normatch.melt:668:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#IS_A__L12*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.PARTESTER__V3*/ meltfptr[2]), (melt_ptr_t) (( /*!CLASS_NORMTESTER_ANYTESTER */ meltfrout->tabval[3])));; MELT_LOCATION ("warmelt-normatch.melt:668:/ cond"); /*cond */ if ( /*_#IS_A__L12*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normatch.melt:669:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.PARTESTER__V3*/ meltfptr[2]) /*=obj*/ ; melt_object_get_field (slot, obj, 3, "NTEST_ELSE"); /*_.ELTEST__V31*/ meltfptr[30] = slot; }; ; MELT_LOCATION ("warmelt-normatch.melt:670:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.PARTESTER__V3*/ meltfptr[2]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "NTEST_THEN"); /*_.THTEST__V32*/ meltfptr[31] = slot; }; ; MELT_LOCATION ("warmelt-normatch.melt:673:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#NULL__L13*/ meltfnum[12] = (( /*_.ELTEST__V31*/ meltfptr[30]) == NULL);; MELT_LOCATION ("warmelt-normatch.melt:673:/ cond"); /*cond */ if ( /*_#NULL__L13*/ meltfnum[12]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normatch.melt:674:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^cond */ /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.PARTESTER__V3*/ meltfptr[2]), (melt_ptr_t) (( /*!CLASS_NORMTESTER_ANY */ meltfrout->tabval[1]))) ) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NTEST_ELSE", melt_magic_discr ((melt_ptr_t) ( /*_.PARTESTER__V3*/ meltfptr[2])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.PARTESTER__V3*/ meltfptr[2]), (3), ( /*_.NEWTESTER__V2*/ meltfptr[1]), "NTEST_ELSE"); ; /*^touch */ meltgc_touch ( /*_.PARTESTER__V3*/ meltfptr[2]); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.PARTESTER__V3*/ meltfptr[2], "put-fields"); ; /*epilog */ } ; } /*noelse */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:675:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L14*/ meltfnum[13] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:675:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L14*/ meltfnum[13]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L15*/ meltfnum[14] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:675:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L15*/ meltfnum[14]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 675; /*^apply.arg */ argtab[3].meltbp_cstring = "set_new_tester_all_elses updated partester"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.PARTESTER__V3*/ meltfptr[2]; /*_.MELT_DEBUG_FUN__V36*/ meltfptr[35] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V35*/ meltfptr[34] = /*_.MELT_DEBUG_FUN__V36*/ meltfptr[35];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:675:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L15*/ meltfnum[14] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V36*/ meltfptr[35] = 0; } ; } else { /*^cond.else */ /*_.IF___V35*/ meltfptr[34] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:675:/ quasiblock"); /*_.PROGN___V37*/ meltfptr[35] = /*_.IF___V35*/ meltfptr[34];; /*^compute */ /*_.IFCPP___V34*/ meltfptr[33] = /*_.PROGN___V37*/ meltfptr[35];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:675:/ clear"); /*clear *//*_#MELT_NEED_DBG__L14*/ meltfnum[13] = 0; /*^clear */ /*clear *//*_.IF___V35*/ meltfptr[34] = 0; /*^clear */ /*clear *//*_.PROGN___V37*/ meltfptr[35] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V34*/ meltfptr[33] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; { MELT_LOCATION ("warmelt-normatch.melt:676:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.UPDATLIST__V4*/ meltfptr[3]), (melt_ptr_t) ( /*_.PARTESTER__V3*/ meltfptr[2])); } ; MELT_LOCATION ("warmelt-normatch.melt:673:/ quasiblock"); /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V34*/ meltfptr[33] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { /*citerblock FOREACH_IN_LIST */ { /* start foreach_in_list meltcit1__EACHLIST */ for ( /*_.CURPAIR__V38*/ meltfptr[34] = melt_list_first ((melt_ptr_t) /*_.UPDATLIST__V4*/ meltfptr[3]); melt_magic_discr ((melt_ptr_t) /*_.CURPAIR__V38*/ meltfptr[34]) == MELTOBMAG_PAIR; /*_.CURPAIR__V38*/ meltfptr[34] = melt_pair_tail ((melt_ptr_t) /*_.CURPAIR__V38*/ meltfptr[34])) { /*_.CURTEST__V39*/ meltfptr[35] = melt_pair_head ((melt_ptr_t) /*_.CURPAIR__V38*/ meltfptr[34]); MELT_LOCATION ("warmelt-normatch.melt:682:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#__L16*/ meltfnum[14] = (( /*_.CURTEST__V39*/ meltfptr[35]) == ( /*_.PARTESTER__V3*/ meltfptr[2]));; MELT_LOCATION ("warmelt-normatch.melt:682:/ cond"); /*cond */ if ( /*_#__L16*/ meltfnum[14]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normatch.melt:683:/ quasiblock"); /*^compute */ /*_.ALLELSELOOP__V23*/ meltfptr[22] = NULL;; /*^exit */ /*exit */ { goto labexit_ALLELSELOOP_1; } ; /*epilog */ } ; } /*noelse */ ; MELT_LOCATION ("warmelt-normatch.melt:684:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#__L17*/ meltfnum[13] = (( /*_.CURTEST__V39*/ meltfptr[35]) == ( /*_.NEWTESTER__V2*/ meltfptr[1]));; MELT_LOCATION ("warmelt-normatch.melt:684:/ cond"); /*cond */ if ( /*_#__L17*/ meltfnum[13]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normatch.melt:685:/ quasiblock"); /*^compute */ /*_.ALLELSELOOP__V23*/ meltfptr[22] = NULL;; /*^exit */ /*exit */ { goto labexit_ALLELSELOOP_1; } ; /*epilog */ } ; } /*noelse */ ; } /* end foreach_in_list meltcit1__EACHLIST */ /*_.CURPAIR__V38*/ meltfptr[34] = NULL; /*_.CURTEST__V39*/ meltfptr[35] = NULL; /*citerepilog */ MELT_LOCATION ("warmelt-normatch.melt:679:/ clear"); /*clear *//*_.CURPAIR__V38*/ meltfptr[34] = 0; /*^clear */ /*clear *//*_.CURTEST__V39*/ meltfptr[35] = 0; /*^clear */ /*clear *//*_#__L16*/ meltfnum[14] = 0; /*^clear */ /*clear *//*_#__L17*/ meltfnum[13] = 0; } /*endciterblock FOREACH_IN_LIST */ ; MELT_LOCATION ("warmelt-normatch.melt:687:/ compute"); /*_.PARTESTER__V3*/ meltfptr[2] = /*_.SETQ___V40*/ meltfptr[33] = /*_.ELTEST__V31*/ meltfptr[30];; MELT_LOCATION ("warmelt-normatch.melt:678:/ quasiblock"); /*_.PROGN___V41*/ meltfptr[40] = /*_.SETQ___V40*/ meltfptr[33];; /*^compute */ /*_.IFELSE___V33*/ meltfptr[32] = /*_.PROGN___V41*/ meltfptr[40];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:673:/ clear"); /*clear *//*_.SETQ___V40*/ meltfptr[33] = 0; /*^clear */ /*clear *//*_.PROGN___V41*/ meltfptr[40] = 0; } ; } ; MELT_LOCATION ("warmelt-normatch.melt:689:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#IS_A__L18*/ meltfnum[17] = melt_is_instance_of ((melt_ptr_t) ( /*_.THTEST__V32*/ meltfptr[31]), (melt_ptr_t) (( /*!CLASS_NORMTESTER_ANYTESTER */ meltfrout->tabval[3])));; MELT_LOCATION ("warmelt-normatch.melt:689:/ cond"); /*cond */ if ( /*_#IS_A__L18*/ meltfnum[17]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*citerblock FOREACH_IN_LIST */ { /* start foreach_in_list meltcit2__EACHLIST */ for ( /*_.CURPAIR__V43*/ meltfptr[40] = melt_list_first ((melt_ptr_t) /*_.UPDATLIST__V4*/ meltfptr[3]); melt_magic_discr ((melt_ptr_t) /*_.CURPAIR__V43*/ meltfptr[40]) == MELTOBMAG_PAIR; /*_.CURPAIR__V43*/ meltfptr[40] = melt_pair_tail ((melt_ptr_t) /*_.CURPAIR__V43*/ meltfptr[40])) { /*_.CURTEST__V44*/ meltfptr[43] = melt_pair_head ((melt_ptr_t) /*_.CURPAIR__V43*/ meltfptr[40]); MELT_LOCATION ("warmelt-normatch.melt:693:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#__L19*/ meltfnum[18] = (( /*_.CURTEST__V44*/ meltfptr[43]) == ( /*_.THTEST__V32*/ meltfptr[31]));; MELT_LOCATION ("warmelt-normatch.melt:693:/ cond"); /*cond */ if ( /*_#__L19*/ meltfnum[18]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normatch.melt:694:/ quasiblock"); /*^compute */ /*_.ALLELSELOOP__V23*/ meltfptr[22] = NULL;; /*^exit */ /*exit */ { goto labexit_ALLELSELOOP_1; } ; /*epilog */ } ; } /*noelse */ ; MELT_LOCATION ("warmelt-normatch.melt:695:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#__L20*/ meltfnum[19] = (( /*_.CURTEST__V44*/ meltfptr[43]) == ( /*_.NEWTESTER__V2*/ meltfptr[1]));; MELT_LOCATION ("warmelt-normatch.melt:695:/ cond"); /*cond */ if ( /*_#__L20*/ meltfnum[19]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normatch.melt:696:/ quasiblock"); /*^compute */ /*_.ALLELSELOOP__V23*/ meltfptr[22] = NULL;; /*^exit */ /*exit */ { goto labexit_ALLELSELOOP_1; } ; /*epilog */ } ; } /*noelse */ ; } /* end foreach_in_list meltcit2__EACHLIST */ /*_.CURPAIR__V43*/ meltfptr[40] = NULL; /*_.CURTEST__V44*/ meltfptr[43] = NULL; /*citerepilog */ MELT_LOCATION ("warmelt-normatch.melt:690:/ clear"); /*clear *//*_.CURPAIR__V43*/ meltfptr[40] = 0; /*^clear */ /*clear *//*_.CURTEST__V44*/ meltfptr[43] = 0; /*^clear */ /*clear *//*_#__L19*/ meltfnum[18] = 0; /*^clear */ /*clear *//*_#__L20*/ meltfnum[19] = 0; } /*endciterblock FOREACH_IN_LIST */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:698:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L21*/ meltfnum[20] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:698:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L21*/ meltfnum[20]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L22*/ meltfnum[21] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:698:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L22*/ meltfnum[21]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 698; /*^apply.arg */ argtab[3].meltbp_cstring = "set_new_tester_all_elses before recursion"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.THTEST__V32*/ meltfptr[31]; /*_.MELT_DEBUG_FUN__V47*/ meltfptr[46] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V46*/ meltfptr[45] = /*_.MELT_DEBUG_FUN__V47*/ meltfptr[46];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:698:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L22*/ meltfnum[21] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V47*/ meltfptr[46] = 0; } ; } else { /*^cond.else */ /*_.IF___V46*/ meltfptr[45] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:698:/ quasiblock"); /*_.PROGN___V48*/ meltfptr[46] = /*_.IF___V46*/ meltfptr[45];; /*^compute */ /*_.IFCPP___V45*/ meltfptr[44] = /*_.PROGN___V48*/ meltfptr[46];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:698:/ clear"); /*clear *//*_#MELT_NEED_DBG__L21*/ meltfnum[20] = 0; /*^clear */ /*clear *//*_.IF___V46*/ meltfptr[45] = 0; /*^clear */ /*clear *//*_.PROGN___V48*/ meltfptr[46] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V45*/ meltfptr[44] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:699:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[2]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.THTEST__V32*/ meltfptr[31]; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.UPDATLIST__V4*/ meltfptr[3]; /*_.SET_NEW_TESTER_ALL_ELSES__V49*/ meltfptr[45] = melt_apply ((meltclosure_ptr_t) (( /*!SET_NEW_TESTER_ALL_ELSES */ meltfrout->tabval[4])), (melt_ptr_t) ( /*_.NEWTESTER__V2*/ meltfptr[1]), (MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:700:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L23*/ meltfnum[21] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:700:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L23*/ meltfnum[21]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L24*/ meltfnum[20] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:700:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L24*/ meltfnum[20]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 700; /*^apply.arg */ argtab[3].meltbp_cstring = "set_new_tester_all_elses after recursion"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.THTEST__V32*/ meltfptr[31]; /*_.MELT_DEBUG_FUN__V52*/ meltfptr[51] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V51*/ meltfptr[50] = /*_.MELT_DEBUG_FUN__V52*/ meltfptr[51];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:700:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L24*/ meltfnum[20] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V52*/ meltfptr[51] = 0; } ; } else { /*^cond.else */ /*_.IF___V51*/ meltfptr[50] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:700:/ quasiblock"); /*_.PROGN___V53*/ meltfptr[51] = /*_.IF___V51*/ meltfptr[50];; /*^compute */ /*_.IFCPP___V50*/ meltfptr[46] = /*_.PROGN___V53*/ meltfptr[51];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:700:/ clear"); /*clear *//*_#MELT_NEED_DBG__L23*/ meltfnum[21] = 0; /*^clear */ /*clear *//*_.IF___V51*/ meltfptr[50] = 0; /*^clear */ /*clear *//*_.PROGN___V53*/ meltfptr[51] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V50*/ meltfptr[46] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:689:/ quasiblock"); /*_.PROGN___V54*/ meltfptr[50] = /*_.IFCPP___V50*/ meltfptr[46];; /*^compute */ /*_.IFELSE___V42*/ meltfptr[33] = /*_.PROGN___V54*/ meltfptr[50];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:689:/ clear"); /*clear *//*_.IFCPP___V45*/ meltfptr[44] = 0; /*^clear */ /*clear *//*_.SET_NEW_TESTER_ALL_ELSES__V49*/ meltfptr[45] = 0; /*^clear */ /*clear *//*_.IFCPP___V50*/ meltfptr[46] = 0; /*^clear */ /*clear *//*_.PROGN___V54*/ meltfptr[50] = 0; } ; } else { /*^cond.else */ /*_.IFELSE___V42*/ meltfptr[33] = NULL;; } ; /*^compute */ /*_.LET___V30*/ meltfptr[29] = /*_.IFELSE___V42*/ meltfptr[33];; MELT_LOCATION ("warmelt-normatch.melt:669:/ clear"); /*clear *//*_.ELTEST__V31*/ meltfptr[30] = 0; /*^clear */ /*clear *//*_.THTEST__V32*/ meltfptr[31] = 0; /*^clear */ /*clear *//*_#NULL__L13*/ meltfnum[12] = 0; /*^clear */ /*clear *//*_.IFELSE___V33*/ meltfptr[32] = 0; /*^clear */ /*clear *//*_#IS_A__L18*/ meltfnum[17] = 0; /*^clear */ /*clear *//*_.IFELSE___V42*/ meltfptr[33] = 0; /*_.IFELSE___V29*/ meltfptr[25] = /*_.LET___V30*/ meltfptr[29];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:668:/ clear"); /*clear *//*_.LET___V30*/ meltfptr[29] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normatch.melt:704:/ quasiblock"); /*^compute */ /*_.ALLELSELOOP__V23*/ meltfptr[22] = NULL;; /*^exit */ /*exit */ { goto labexit_ALLELSELOOP_1; } ; MELT_LOCATION ("warmelt-normatch.melt:703:/ quasiblock"); /*epilog */ } ; } ; /*_.IFELSE___V28*/ meltfptr[24] = /*_.IFELSE___V29*/ meltfptr[25];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:666:/ clear"); /*clear *//*_#IS_A__L12*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V29*/ meltfptr[25] = 0; } ; } ; MELT_LOCATION ("warmelt-normatch.melt:662:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V24*/ meltfptr[23] = 0; /*^clear */ /*clear *//*_#NULL__L11*/ meltfnum[9] = 0; /*^clear */ /*clear *//*_.IFELSE___V28*/ meltfptr[24] = 0; } ; ; goto labloop_ALLELSELOOP_1; labexit_ALLELSELOOP_1:; /*^loopepilog */ /*loopepilog */ /*_.FOREVER___V22*/ meltfptr[18] = /*_.ALLELSELOOP__V23*/ meltfptr[22];; } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:706:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L25*/ meltfnum[20] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:706:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L25*/ meltfnum[20]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L26*/ meltfnum[21] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:706:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L26*/ meltfnum[21]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 706; /*^apply.arg */ argtab[3].meltbp_cstring = "set_new_tester_all_elses return updatlist"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.UPDATLIST__V4*/ meltfptr[3]; /*_.MELT_DEBUG_FUN__V57*/ meltfptr[45] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V56*/ meltfptr[44] = /*_.MELT_DEBUG_FUN__V57*/ meltfptr[45];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:706:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L26*/ meltfnum[21] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V57*/ meltfptr[45] = 0; } ; } else { /*^cond.else */ /*_.IF___V56*/ meltfptr[44] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:706:/ quasiblock"); /*_.PROGN___V58*/ meltfptr[46] = /*_.IF___V56*/ meltfptr[44];; /*^compute */ /*_.IFCPP___V55*/ meltfptr[51] = /*_.PROGN___V58*/ meltfptr[46];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:706:/ clear"); /*clear *//*_#MELT_NEED_DBG__L25*/ meltfnum[20] = 0; /*^clear */ /*clear *//*_.IF___V56*/ meltfptr[44] = 0; /*^clear */ /*clear *//*_.PROGN___V58*/ meltfptr[46] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V55*/ meltfptr[51] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:707:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.UPDATLIST__V4*/ meltfptr[3];; { MELT_LOCATION ("warmelt-normatch.melt:707:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; MELT_LOCATION ("warmelt-normatch.melt:653:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.RETURN___V59*/ meltfptr[50];; { MELT_LOCATION ("warmelt-normatch.melt:653:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V5*/ meltfptr[4] = 0; /*^clear */ /*clear *//*_.IFCPP___V9*/ meltfptr[5] = 0; /*^clear */ /*clear *//*_.IFCPP___V13*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.IFCPP___V15*/ meltfptr[10] = 0; /*^clear */ /*clear *//*_#NULL__L7*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V17*/ meltfptr[15] = 0; /*^clear */ /*clear *//*_.IFCPP___V20*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_.FOREVER___V22*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_.IFCPP___V55*/ meltfptr[51] = 0; /*^clear */ /*clear *//*_.RETURN___V59*/ meltfptr[50] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("SET_NEW_TESTER_ALL_ELSES", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_15_warmelt_normatch_SET_NEW_TESTER_ALL_ELSES_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_15_warmelt_normatch_SET_NEW_TESTER_ALL_ELSES */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_16_warmelt_normatch_NORMPAT_ANYRECV (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un * meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un * meltxrestab_) { long current_blocklevel_signals_meltrout_16_warmelt_normatch_NORMPAT_ANYRECV_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_16_warmelt_normatch_NORMPAT_ANYRECV_st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 18 melt_ptr_t mcfr_varptr[18]; #define MELTFRAM_NBVARNUM 3 long mcfr_varnum[3]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_16_warmelt_normatch_NORMPAT_ANYRECV is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_16_warmelt_normatch_NORMPAT_ANYRECV_st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 18; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_16_warmelt_normatch_NORMPAT_ANYRECV nbval 18*/ meltfram__.mcfr_nbvar = 18 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("NORMPAT_ANYRECV", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normatch.melt:717:/ getarg"); /*_.RECV__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.NMATCH__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.NMATCH__V3*/ meltfptr[2])) != NULL); /*getarg#2 */ /*^getarg */ if (meltxargdescr_[1] != MELTBPAR_PTR) goto lab_endgetargs; /*_.HDLER__V4*/ meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.HDLER__V4*/ meltfptr[3])) != NULL); /*getarg#3 */ /*^getarg */ if (meltxargdescr_[2] != MELTBPAR_PTR) goto lab_endgetargs; /*_.PCN__V5*/ meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:718:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:718:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:718:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 718; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_anyrecv recv"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.RECV__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V8*/ 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); } ; /*_.IF___V7*/ meltfptr[6] = /*_.MELT_DEBUG_FUN__V8*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:718:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V8*/ meltfptr[7] = 0; } ; } else { /*^cond.else */ /*_.IF___V7*/ meltfptr[6] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:718:/ quasiblock"); /*_.PROGN___V9*/ meltfptr[7] = /*_.IF___V7*/ meltfptr[6];; /*^compute */ /*_.IFCPP___V6*/ meltfptr[5] = /*_.PROGN___V9*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:718:/ clear"); /*clear *//*_#MELT_NEED_DBG__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V7*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.PROGN___V9*/ meltfptr[7] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V6*/ meltfptr[5] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:719:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L3*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]), (melt_ptr_t) (( /*!CLASS_PATTERN_CONTEXT */ meltfrout->tabval[1])));; MELT_LOCATION ("warmelt-normatch.melt:719:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V11*/ meltfptr[7] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:719:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check pcn"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (719) ? (719) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V11*/ meltfptr[7] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[6] = /*_.IFELSE___V11*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:719:/ clear"); /*clear *//*_#IS_A__L3*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V11*/ meltfptr[7] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V10*/ meltfptr[6] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:720:/ quasiblock"); /*_.MYCLASS__V13*/ meltfptr[12] = ((melt_ptr_t) (melt_discr ((melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]))));; MELT_LOCATION ("warmelt-normatch.melt:721:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.MYCLASS__V13*/ meltfptr[12]), (melt_ptr_t) (( /*!CLASS_NAMED */ meltfrout->tabval[2]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.MYCLASS__V13*/ meltfptr[12]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.MYCLASSNAME__V14*/ meltfptr[13] = slot; }; ; } else { /*^cond.else */ /*_.MYCLASSNAME__V14*/ meltfptr[13] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:722:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]), (melt_ptr_t) (( /*!CLASS_PATTERN_CONTEXT */ meltfrout->tabval[1]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "PCTN_SRC"); /*_.PCTN_SRC__V15*/ meltfptr[14] = slot; }; ; } else { /*^cond.else */ /*_.PCTN_SRC__V15*/ meltfptr[14] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:722:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.PCTN_SRC__V15*/ meltfptr[14]), (melt_ptr_t) (( /*!CLASS_LOCATED */ meltfrout->tabval[3]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.PCTN_SRC__V15*/ meltfptr[14]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "LOCA_LOCATION"); /*_.PSLOC__V16*/ meltfptr[15] = slot; }; ; } else { /*^cond.else */ /*_.PSLOC__V16*/ meltfptr[15] = NULL;; } ; { MELT_LOCATION ("warmelt-normatch.melt:724:/ locexp"); melt_error_str ((melt_ptr_t) ( /*_.PSLOC__V16*/ meltfptr[15]), ("unimplemented normal_pattern for any "), (melt_ptr_t) ( /*_.MYCLASSNAME__V14*/ meltfptr[13])); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:726:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*^cond */ /*cond */ if (( /*nil */ NULL)) /*then */ { /*^cond.then */ /*_.IFELSE___V18*/ meltfptr[17] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:726:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("catchall normal_pattern unimplemented"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (726) ? (726) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V18*/ meltfptr[17] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V17*/ meltfptr[16] = /*_.IFELSE___V18*/ meltfptr[17];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:726:/ clear"); /*clear *//*_.IFELSE___V18*/ meltfptr[17] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V17*/ meltfptr[16] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; /*^compute */ /*_.LET___V12*/ meltfptr[7] = /*_.IFCPP___V17*/ meltfptr[16];; MELT_LOCATION ("warmelt-normatch.melt:720:/ clear"); /*clear *//*_.MYCLASS__V13*/ meltfptr[12] = 0; /*^clear */ /*clear *//*_.MYCLASSNAME__V14*/ meltfptr[13] = 0; /*^clear */ /*clear *//*_.PCTN_SRC__V15*/ meltfptr[14] = 0; /*^clear */ /*clear *//*_.PSLOC__V16*/ meltfptr[15] = 0; /*^clear */ /*clear *//*_.IFCPP___V17*/ meltfptr[16] = 0; MELT_LOCATION ("warmelt-normatch.melt:717:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V12*/ meltfptr[7];; { MELT_LOCATION ("warmelt-normatch.melt:717:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V6*/ meltfptr[5] = 0; /*^clear */ /*clear *//*_.IFCPP___V10*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.LET___V12*/ meltfptr[7] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("NORMPAT_ANYRECV", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_16_warmelt_normatch_NORMPAT_ANYRECV_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_16_warmelt_normatch_NORMPAT_ANYRECV */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_17_warmelt_normatch_NORMPAT_ANYPAT (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un * meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un * meltxrestab_) { long current_blocklevel_signals_meltrout_17_warmelt_normatch_NORMPAT_ANYPAT_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_17_warmelt_normatch_NORMPAT_ANYPAT_st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 24 melt_ptr_t mcfr_varptr[24]; #define MELTFRAM_NBVARNUM 6 long mcfr_varnum[6]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_17_warmelt_normatch_NORMPAT_ANYPAT is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_17_warmelt_normatch_NORMPAT_ANYPAT_st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 24; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_17_warmelt_normatch_NORMPAT_ANYPAT nbval 24*/ meltfram__.mcfr_nbvar = 24 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("NORMPAT_ANYPAT", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normatch.melt:733:/ getarg"); /*_.RECV__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.NMATCH__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.NMATCH__V3*/ meltfptr[2])) != NULL); /*getarg#2 */ /*^getarg */ if (meltxargdescr_[1] != MELTBPAR_PTR) goto lab_endgetargs; /*_.HDLER__V4*/ meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.HDLER__V4*/ meltfptr[3])) != NULL); /*getarg#3 */ /*^getarg */ if (meltxargdescr_[2] != MELTBPAR_PTR) goto lab_endgetargs; /*_.PCN__V5*/ meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:734:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:734:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:734:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 734; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_anyrecv recv"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.RECV__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V8*/ 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); } ; /*_.IF___V7*/ meltfptr[6] = /*_.MELT_DEBUG_FUN__V8*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:734:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V8*/ meltfptr[7] = 0; } ; } else { /*^cond.else */ /*_.IF___V7*/ meltfptr[6] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:734:/ quasiblock"); /*_.PROGN___V9*/ meltfptr[7] = /*_.IF___V7*/ meltfptr[6];; /*^compute */ /*_.IFCPP___V6*/ meltfptr[5] = /*_.PROGN___V9*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:734:/ clear"); /*clear *//*_#MELT_NEED_DBG__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V7*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.PROGN___V9*/ meltfptr[7] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V6*/ meltfptr[5] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:735:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L3*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]), (melt_ptr_t) (( /*!CLASS_PATTERN_CONTEXT */ meltfrout->tabval[1])));; MELT_LOCATION ("warmelt-normatch.melt:735:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V11*/ meltfptr[7] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:735:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check pcn"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (735) ? (735) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V11*/ meltfptr[7] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[6] = /*_.IFELSE___V11*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:735:/ clear"); /*clear *//*_#IS_A__L3*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V11*/ meltfptr[7] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V10*/ meltfptr[6] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:736:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L4*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_SOURCE_PATTERN */ meltfrout->tabval[2])));; MELT_LOCATION ("warmelt-normatch.melt:736:/ cond"); /*cond */ if ( /*_#IS_A__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V13*/ meltfptr[12] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:736:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check recv"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (736) ? (736) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V13*/ meltfptr[12] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V12*/ meltfptr[7] = /*_.IFELSE___V13*/ meltfptr[12];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:736:/ clear"); /*clear *//*_#IS_A__L4*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V13*/ meltfptr[12] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V12*/ meltfptr[7] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:737:/ quasiblock"); /*_.MYCLASS__V15*/ meltfptr[14] = ((melt_ptr_t) (melt_discr ((melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]))));; MELT_LOCATION ("warmelt-normatch.melt:738:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.MYCLASS__V15*/ meltfptr[14]), (melt_ptr_t) (( /*!CLASS_NAMED */ meltfrout->tabval[3]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.MYCLASS__V15*/ meltfptr[14]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.MYCLASSNAME__V16*/ meltfptr[15] = slot; }; ; } else { /*^cond.else */ /*_.MYCLASSNAME__V16*/ meltfptr[15] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:739:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]), (melt_ptr_t) (( /*!CLASS_PATTERN_CONTEXT */ meltfrout->tabval[1]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "PCTN_SRC"); /*_.PCTN_SRC__V17*/ meltfptr[16] = slot; }; ; } else { /*^cond.else */ /*_.PCTN_SRC__V17*/ meltfptr[16] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:739:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.PCTN_SRC__V17*/ meltfptr[16]), (melt_ptr_t) (( /*!CLASS_LOCATED */ meltfrout->tabval[4]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.PCTN_SRC__V17*/ meltfptr[16]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "LOCA_LOCATION"); /*_.PSLOC__V18*/ meltfptr[17] = slot; }; ; } else { /*^cond.else */ /*_.PSLOC__V18*/ meltfptr[17] = NULL;; } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:741:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L5*/ meltfnum[1] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:741:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L5*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L6*/ meltfnum[0] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:741:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[9]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L6*/ meltfnum[0]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 741; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_anyrecv myclass="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.MYCLASS__V15*/ meltfptr[14]; /*^apply.arg */ argtab[5].meltbp_cstring = " recv="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.RECV__V2*/ meltfptr[1]; /*^apply.arg */ argtab[7].meltbp_cstring = " nmatch="; /*^apply.arg */ argtab[8].meltbp_aptr = (melt_ptr_t *) & /*_.NMATCH__V3*/ meltfptr[2]; /*_.MELT_DEBUG_FUN__V21*/ meltfptr[20] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V20*/ meltfptr[19] = /*_.MELT_DEBUG_FUN__V21*/ meltfptr[20];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:741:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L6*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V21*/ meltfptr[20] = 0; } ; } else { /*^cond.else */ /*_.IF___V20*/ meltfptr[19] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:741:/ quasiblock"); /*_.PROGN___V22*/ meltfptr[20] = /*_.IF___V20*/ meltfptr[19];; /*^compute */ /*_.IFCPP___V19*/ meltfptr[18] = /*_.PROGN___V22*/ meltfptr[20];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:741:/ clear"); /*clear *//*_#MELT_NEED_DBG__L5*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IF___V20*/ meltfptr[19] = 0; /*^clear */ /*clear *//*_.PROGN___V22*/ meltfptr[20] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V19*/ meltfptr[18] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; { MELT_LOCATION ("warmelt-normatch.melt:742:/ locexp"); melt_error_str ((melt_ptr_t) ( /*_.PSLOC__V18*/ meltfptr[17]), ("unimplemented NORMAL_PATTERN for pattern of "), (melt_ptr_t) ( /*_.MYCLASSNAME__V16*/ meltfptr[15])); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:744:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*^cond */ /*cond */ if (( /*nil */ NULL)) /*then */ { /*^cond.then */ /*_.IFELSE___V24*/ meltfptr[20] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:744:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("catchall normal_pattern unimplemented on pattern"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (744) ? (744) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V24*/ meltfptr[20] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V23*/ meltfptr[19] = /*_.IFELSE___V24*/ meltfptr[20];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:744:/ clear"); /*clear *//*_.IFELSE___V24*/ meltfptr[20] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V23*/ meltfptr[19] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; /*^compute */ /*_.LET___V14*/ meltfptr[12] = /*_.IFCPP___V23*/ meltfptr[19];; MELT_LOCATION ("warmelt-normatch.melt:737:/ clear"); /*clear *//*_.MYCLASS__V15*/ meltfptr[14] = 0; /*^clear */ /*clear *//*_.MYCLASSNAME__V16*/ meltfptr[15] = 0; /*^clear */ /*clear *//*_.PCTN_SRC__V17*/ meltfptr[16] = 0; /*^clear */ /*clear *//*_.PSLOC__V18*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_.IFCPP___V19*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_.IFCPP___V23*/ meltfptr[19] = 0; MELT_LOCATION ("warmelt-normatch.melt:733:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V14*/ meltfptr[12];; { MELT_LOCATION ("warmelt-normatch.melt:733:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V6*/ meltfptr[5] = 0; /*^clear */ /*clear *//*_.IFCPP___V10*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.IFCPP___V12*/ meltfptr[7] = 0; /*^clear */ /*clear *//*_.LET___V14*/ meltfptr[12] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("NORMPAT_ANYPAT", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_17_warmelt_normatch_NORMPAT_ANYPAT_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_17_warmelt_normatch_NORMPAT_ANYPAT */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_18_warmelt_normatch_NORMVARPAT_GENREUSETEST (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un * meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un * meltxrestab_) { long current_blocklevel_signals_meltrout_18_warmelt_normatch_NORMVARPAT_GENREUSETEST_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_18_warmelt_normatch_NORMVARPAT_GENREUSETEST_st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 41 melt_ptr_t mcfr_varptr[41]; #define MELTFRAM_NBVARNUM 8 long mcfr_varnum[8]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_18_warmelt_normatch_NORMVARPAT_GENREUSETEST is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_18_warmelt_normatch_NORMVARPAT_GENREUSETEST_st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 41; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_18_warmelt_normatch_NORMVARPAT_GENREUSETEST nbval 41*/ meltfram__.mcfr_nbvar = 41 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("NORMVARPAT_GENREUSETEST", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normatch.melt:753:/ getarg"); /*_.SLOC__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.NMATCH__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.NMATCH__V3*/ meltfptr[2])) != NULL); /*getarg#2 */ /*^getarg */ if (meltxargdescr_[1] != MELTBPAR_PTR) goto lab_endgetargs; /*_.LOCOCC__V4*/ meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.LOCOCC__V4*/ meltfptr[3])) != NULL); /*getarg#3 */ /*^getarg */ if (meltxargdescr_[2] != MELTBPAR_PTR) goto lab_endgetargs; /*_.TESTLIST__V5*/ meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.TESTLIST__V5*/ meltfptr[4])) != NULL); /*getarg#4 */ /*^getarg */ if (meltxargdescr_[3] != MELTBPAR_PTR) goto lab_endgetargs; /*_.TSTUFF__V6*/ meltfptr[5] = (meltxargtab_[3].meltbp_aptr) ? (*(meltxargtab_[3].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.TSTUFF__V6*/ meltfptr[5])) != NULL); /*getarg#5 */ /*^getarg */ if (meltxargdescr_[4] != MELTBPAR_PTR) goto lab_endgetargs; /*_.HDLER__V7*/ meltfptr[6] = (meltxargtab_[4].meltbp_aptr) ? (*(meltxargtab_[4].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.HDLER__V7*/ meltfptr[6])) != NULL); /*getarg#6 */ /*^getarg */ if (meltxargdescr_[5] != MELTBPAR_PTR) goto lab_endgetargs; /*_.PCN__V8*/ meltfptr[7] = (meltxargtab_[5].meltbp_aptr) ? (*(meltxargtab_[5].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.PCN__V8*/ meltfptr[7])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:754:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L1*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.PCN__V8*/ meltfptr[7]), (melt_ptr_t) (( /*!CLASS_PATTERN_CONTEXT */ meltfrout->tabval[0])));; MELT_LOCATION ("warmelt-normatch.melt:754:/ cond"); /*cond */ if ( /*_#IS_A__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V10*/ meltfptr[9] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:754:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check pcn"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (754) ? (754) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V10*/ meltfptr[9] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V9*/ meltfptr[8] = /*_.IFELSE___V10*/ meltfptr[9];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:754:/ clear"); /*clear *//*_#IS_A__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V10*/ meltfptr[9] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V9*/ meltfptr[8] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:755:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L2*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.LOCOCC__V4*/ meltfptr[3]), (melt_ptr_t) (( /*!CLASS_NREP_LOCSYMOCC */ meltfrout->tabval[1])));; MELT_LOCATION ("warmelt-normatch.melt:755:/ cond"); /*cond */ if ( /*_#IS_A__L2*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V12*/ meltfptr[11] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:755:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check lococc"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (755) ? (755) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V12*/ meltfptr[11] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V11*/ meltfptr[9] = /*_.IFELSE___V12*/ meltfptr[11];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:755:/ clear"); /*clear *//*_#IS_A__L2*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V12*/ meltfptr[11] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V11*/ meltfptr[9] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:756:/ quasiblock"); /*_.TESTER__V14*/ meltfptr[13] = ( /*nil */ NULL);; /*^compute */ /*_.CURHDLER__V15*/ meltfptr[14] = /*_.HDLER__V7*/ meltfptr[6];; MELT_LOCATION ("warmelt-normatch.melt:760:/ loop"); /*loop */ { labloop_LOOPSTUFF_1:; /*^loopbody */ /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:762:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L3*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:762:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L3*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L4*/ meltfnum[3] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:762:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L4*/ meltfnum[3]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 762; /*^apply.arg */ argtab[3].meltbp_cstring = "normvarpat_genreusetest tstuff"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.TSTUFF__V6*/ meltfptr[5]; /*_.MELT_DEBUG_FUN__V20*/ meltfptr[19] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[2])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V19*/ meltfptr[18] = /*_.MELT_DEBUG_FUN__V20*/ meltfptr[19];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:762:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L4*/ meltfnum[3] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V20*/ meltfptr[19] = 0; } ; } else { /*^cond.else */ /*_.IF___V19*/ meltfptr[18] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:762:/ quasiblock"); /*_.PROGN___V21*/ meltfptr[19] = /*_.IF___V19*/ meltfptr[18];; /*^compute */ /*_.IFCPP___V18*/ meltfptr[17] = /*_.PROGN___V21*/ meltfptr[19];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:762:/ clear"); /*clear *//*_#MELT_NEED_DBG__L3*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V19*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_.PROGN___V21*/ meltfptr[19] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V18*/ meltfptr[17] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:764:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^cond */ /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.TSTUFF__V6*/ meltfptr[5]), (melt_ptr_t) (( /*!CLASS_NORMTESTER_SAME */ meltfrout->tabval[3]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.TSTUFF__V6*/ meltfptr[5]) /*=obj*/ ; melt_object_get_field (slot, obj, 7, "NTSAME_IDENTICAL"); /*_.NTSAME_IDENTICAL__V22*/ meltfptr[18] = slot; }; ; } else { /*^cond.else */ /*_.NTSAME_IDENTICAL__V22*/ meltfptr[18] = NULL;; } ; /*^compute */ /*_#__L5*/ meltfnum[3] = (( /*_.NTSAME_IDENTICAL__V22*/ meltfptr[18]) == ( /*_.LOCOCC__V4*/ meltfptr[3]));; MELT_LOCATION ("warmelt-normatch.melt:764:/ cond"); /*cond */ if ( /*_#__L5*/ meltfnum[3]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normatch.melt:765:/ compute"); /*_.TESTER__V14*/ meltfptr[13] = /*_.SETQ___V24*/ meltfptr[23] = /*_.TSTUFF__V6*/ meltfptr[5];; MELT_LOCATION ("warmelt-normatch.melt:766:/ quasiblock"); /*^compute */ /*_.LOOPSTUFF__V17*/ meltfptr[16] = NULL;; /*^exit */ /*exit */ { goto labexit_LOOPSTUFF_1; } ; MELT_LOCATION ("warmelt-normatch.melt:764:/ quasiblock"); /*epilog */ /*^clear */ /*clear *//*_.SETQ___V24*/ meltfptr[23] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normatch.melt:768:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#IS_A__L6*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.TSTUFF__V6*/ meltfptr[5]), (melt_ptr_t) (( /*!CLASS_NORMTESTER_ANY */ meltfrout->tabval[4])));; MELT_LOCATION ("warmelt-normatch.melt:768:/ cond"); /*cond */ if ( /*_#IS_A__L6*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normatch.melt:769:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.TSTUFF__V6*/ meltfptr[5]), (melt_ptr_t) (( /*!CLASS_NORMTESTER_ANY */ meltfrout->tabval[4]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.TSTUFF__V6*/ meltfptr[5]) /*=obj*/ ; melt_object_get_field (slot, obj, 3, "NTEST_ELSE"); /*_.NTEST_ELSE__V26*/ meltfptr[25] = slot; }; ; } else { /*^cond.else */ /*_.NTEST_ELSE__V26*/ meltfptr[25] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:769:/ compute"); /*_.TSTUFF__V6*/ meltfptr[5] = /*_.SETQ___V27*/ meltfptr[26] = /*_.NTEST_ELSE__V26*/ meltfptr[25];; MELT_LOCATION ("warmelt-normatch.melt:771:/ quasiblock"); /*^newclosure */ /*newclosure *//*_.LAMBDA___V29*/ meltfptr[28] = (melt_ptr_t) meltgc_new_closure ((meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_CLOSURE)))), (meltroutine_ptr_t) (( /*!konst_7 */ meltfrout-> tabval[7])), (1)); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V29*/ meltfptr[28])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 0 >= 0 && 0 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V29*/ meltfptr[28]))); ((meltclosure_ptr_t) /*_.LAMBDA___V29*/ meltfptr[28])-> tabval[0] = (melt_ptr_t) ( /*_.TSTUFF__V6*/ meltfptr[5]); ; /*_.LAMBDA___V28*/ meltfptr[27] = /*_.LAMBDA___V29*/ meltfptr[28];; MELT_LOCATION ("warmelt-normatch.melt:770:/ compute"); /*_.CURHDLER__V15*/ meltfptr[14] = /*_.SETQ___V30*/ meltfptr[29] = /*_.LAMBDA___V28*/ meltfptr[27];; MELT_LOCATION ("warmelt-normatch.melt:768:/ quasiblock"); /*_.PROGN___V31*/ meltfptr[30] = /*_.SETQ___V30*/ meltfptr[29];; /*^compute */ /*_.IFELSE___V25*/ meltfptr[23] = /*_.PROGN___V31*/ meltfptr[30];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:768:/ clear"); /*clear *//*_.NTEST_ELSE__V26*/ meltfptr[25] = 0; /*^clear */ /*clear *//*_.SETQ___V27*/ meltfptr[26] = 0; /*^clear */ /*clear *//*_.LAMBDA___V28*/ meltfptr[27] = 0; /*^clear */ /*clear *//*_.SETQ___V30*/ meltfptr[29] = 0; /*^clear */ /*clear *//*_.PROGN___V31*/ meltfptr[30] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normatch.melt:779:/ quasiblock"); /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_.MAKE_LIST__V32*/ meltfptr[25] = (meltgc_new_list ((meltobject_ptr_t) (( /*!DISCR_LIST */ meltfrout->tabval[8]))));; MELT_LOCATION ("warmelt-normatch.melt:779:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NORMTESTER_SAME */ meltfrout->tabval[3])), (8), "CLASS_NORMTESTER_SAME"); /*_.INST__V34*/ meltfptr[27] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V34*/ meltfptr[27])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V34*/ meltfptr[27]), (0), ( /*_.SLOC__V2*/ meltfptr[1]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NTEST_MATCHED", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V34*/ meltfptr[27])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V34*/ meltfptr[27]), (1), ( /*_.NMATCH__V3*/ meltfptr[2]), "NTEST_MATCHED"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NTEST_THEN", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V34*/ meltfptr[27])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V34*/ meltfptr[27]), (2), (( /*nil */ NULL)), "NTEST_THEN"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NTEST_ELSE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V34*/ meltfptr[27])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V34*/ meltfptr[27]), (3), (( /*nil */ NULL)), "NTEST_ELSE"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NTEST_LOCCLIST", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V34*/ meltfptr[27])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V34*/ meltfptr[27]), (5), (( /*nil */ NULL)), "NTEST_LOCCLIST"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NTEST_COMEFROM", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V34*/ meltfptr[27])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V34*/ meltfptr[27]), (6), ( /*_.MAKE_LIST__V32*/ meltfptr[25]), "NTEST_COMEFROM"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NTSAME_IDENTICAL", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V34*/ meltfptr[27])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V34*/ meltfptr[27]), (7), ( /*_.LOCOCC__V4*/ meltfptr[3]), "NTSAME_IDENTICAL"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V34*/ meltfptr[27], "newly made instance"); ; /*_.NEWTESTER__V33*/ meltfptr[26] = /*_.INST__V34*/ meltfptr[27];; { MELT_LOCATION ("warmelt-normatch.melt:788:/ locexp"); #if MELT_HAVE_DEBUG if (melt_need_debug (0)) melt_dbgshortbacktrace (("normvarpat_genreusetest making same newtester"), (15)); #endif ; } ; MELT_LOCATION ("warmelt-normatch.melt:789:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.PCN__V8*/ meltfptr[7]; /*_.REGISTER_NEW_NORMTESTER__V35*/ meltfptr[29] = melt_apply ((meltclosure_ptr_t) (( /*!REGISTER_NEW_NORMTESTER */ meltfrout->tabval[9])), (melt_ptr_t) ( /*_.NEWTESTER__V33*/ meltfptr[26]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:790:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L7*/ meltfnum[6] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:790:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L7*/ meltfnum[6]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L8*/ meltfnum[7] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:790:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L8*/ meltfnum[7]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 790; /*^apply.arg */ argtab[3].meltbp_cstring = "normvarpat_genreusetest newtester same"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NEWTESTER__V33*/ meltfptr[26]; /*_.MELT_DEBUG_FUN__V38*/ meltfptr[37] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[2])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V37*/ meltfptr[36] = /*_.MELT_DEBUG_FUN__V38*/ meltfptr[37];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:790:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L8*/ meltfnum[7] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V38*/ meltfptr[37] = 0; } ; } else { /*^cond.else */ /*_.IF___V37*/ meltfptr[36] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:790:/ quasiblock"); /*_.PROGN___V39*/ meltfptr[37] = /*_.IF___V37*/ meltfptr[36];; /*^compute */ /*_.IFCPP___V36*/ meltfptr[30] = /*_.PROGN___V39*/ meltfptr[37];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:790:/ clear"); /*clear *//*_#MELT_NEED_DBG__L7*/ meltfnum[6] = 0; /*^clear */ /*clear *//*_.IF___V37*/ meltfptr[36] = 0; /*^clear */ /*clear *//*_.PROGN___V39*/ meltfptr[37] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V36*/ meltfptr[30] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:791:/ compute"); /*_.TESTER__V14*/ meltfptr[13] = /*_.SETQ___V40*/ meltfptr[36] = /*_.NEWTESTER__V33*/ meltfptr[26];; { MELT_LOCATION ("warmelt-normatch.melt:792:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.TESTLIST__V5*/ meltfptr[4]), (melt_ptr_t) ( /*_.NEWTESTER__V33*/ meltfptr[26])); } ; MELT_LOCATION ("warmelt-normatch.melt:793:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { /*_.CURHDLER__V41*/ meltfptr[37] = melt_apply ((meltclosure_ptr_t) ( /*_.CURHDLER__V15*/ meltfptr[14]), (melt_ptr_t) ( /*_.NEWTESTER__V33*/ meltfptr[26]), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normatch.melt:794:/ quasiblock"); /*^compute */ /*_.LOOPSTUFF__V17*/ meltfptr[16] = NULL;; /*^exit */ /*exit */ { goto labexit_LOOPSTUFF_1; } ; MELT_LOCATION ("warmelt-normatch.melt:779:/ clear"); /*clear *//*_.MAKE_LIST__V32*/ meltfptr[25] = 0; /*^clear */ /*clear *//*_.NEWTESTER__V33*/ meltfptr[26] = 0; /*^clear */ /*clear *//*_.REGISTER_NEW_NORMTESTER__V35*/ meltfptr[29] = 0; /*^clear */ /*clear *//*_.IFCPP___V36*/ meltfptr[30] = 0; /*^clear */ /*clear *//*_.SETQ___V40*/ meltfptr[36] = 0; /*^clear */ /*clear *//*_.CURHDLER__V41*/ meltfptr[37] = 0; MELT_LOCATION ("warmelt-normatch.melt:778:/ quasiblock"); /*epilog */ } ; } ; /*_.IFELSE___V23*/ meltfptr[19] = /*_.IFELSE___V25*/ meltfptr[23];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:764:/ clear"); /*clear *//*_#IS_A__L6*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V25*/ meltfptr[23] = 0; } ; } ; MELT_LOCATION ("warmelt-normatch.melt:760:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V18*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_.NTSAME_IDENTICAL__V22*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_#__L5*/ meltfnum[3] = 0; /*^clear */ /*clear *//*_.IFELSE___V23*/ meltfptr[19] = 0; } ; ; goto labloop_LOOPSTUFF_1; labexit_LOOPSTUFF_1:; /*^loopepilog */ /*loopepilog */ /*_.FOREVER___V16*/ meltfptr[15] = /*_.LOOPSTUFF__V17*/ meltfptr[16];; } ; /*^compute */ /*_.LET___V13*/ meltfptr[11] = /*_.FOREVER___V16*/ meltfptr[15];; MELT_LOCATION ("warmelt-normatch.melt:756:/ clear"); /*clear *//*_.TESTER__V14*/ meltfptr[13] = 0; /*^clear */ /*clear *//*_.CURHDLER__V15*/ meltfptr[14] = 0; /*^clear */ /*clear *//*_.FOREVER___V16*/ meltfptr[15] = 0; MELT_LOCATION ("warmelt-normatch.melt:753:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V13*/ meltfptr[11];; { MELT_LOCATION ("warmelt-normatch.melt:753:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V9*/ meltfptr[8] = 0; /*^clear */ /*clear *//*_.IFCPP___V11*/ meltfptr[9] = 0; /*^clear */ /*clear *//*_.LET___V13*/ meltfptr[11] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("NORMVARPAT_GENREUSETEST", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_18_warmelt_normatch_NORMVARPAT_GENREUSETEST_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_18_warmelt_normatch_NORMVARPAT_GENREUSETEST */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_19_warmelt_normatch_LAMBDA___2__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un * meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un * meltxrestab_) { long current_blocklevel_signals_meltrout_19_warmelt_normatch_LAMBDA___2___melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_19_warmelt_normatch_LAMBDA___2___st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 7 melt_ptr_t mcfr_varptr[7]; #define MELTFRAM_NBVARNUM 2 long mcfr_varnum[2]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_19_warmelt_normatch_LAMBDA___2__ is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_19_warmelt_normatch_LAMBDA___2___st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 7; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_19_warmelt_normatch_LAMBDA___2__ nbval 7*/ meltfram__.mcfr_nbvar = 7 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("LAMBDA_", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normatch.melt:771:/ getarg"); /*_.TESTER__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { { MELT_LOCATION ("warmelt-normatch.melt:772:/ locexp"); #if MELT_HAVE_DEBUG if (melt_need_debug (0)) melt_dbgshortbacktrace (("normvarpat_genreusetest lambda curhdler"), (15)); #endif ; } ; MELT_LOCATION ("warmelt-normatch.melt:773:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^cond */ /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) (( /*~TSTUFF */ meltfclos-> tabval[0])), (melt_ptr_t) (( /*!CLASS_NORMTESTER_ANY */ meltfrout->tabval[0]))) ) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NTEST_ELSE", melt_magic_discr ((melt_ptr_t) (( /*~TSTUFF */ meltfclos-> tabval[0]))) == MELTOBMAG_OBJECT); melt_putfield_object ((( /*~TSTUFF */ meltfclos->tabval[0])), (3), ( /*_.TESTER__V2*/ meltfptr[1]), "NTEST_ELSE"); ; /*^touch */ meltgc_touch (( /*~TSTUFF */ meltfclos->tabval[0])); ; /*^touchobj */ melt_dbgtrace_written_object (( /*~TSTUFF */ meltfclos->tabval[0]), "put-fields"); ; /*epilog */ } ; } /*noelse */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:774:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:774:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:774:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 774; /*^apply.arg */ argtab[3].meltbp_cstring = "normvarpat_genreusetest lambda curhdler updatelse of tstuff"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & ( /*~TSTUFF */ meltfclos->tabval[0]); /*_.MELT_DEBUG_FUN__V5*/ meltfptr[4] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[1])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V4*/ meltfptr[3] = /*_.MELT_DEBUG_FUN__V5*/ meltfptr[4];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:774:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V5*/ meltfptr[4] = 0; } ; } else { /*^cond.else */ /*_.IF___V4*/ meltfptr[3] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:774:/ quasiblock"); /*_.PROGN___V6*/ meltfptr[4] = /*_.IF___V4*/ meltfptr[3];; /*^compute */ /*_.IFCPP___V3*/ meltfptr[2] = /*_.PROGN___V6*/ meltfptr[4];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:774:/ clear"); /*clear *//*_#MELT_NEED_DBG__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V4*/ meltfptr[3] = 0; /*^clear */ /*clear *//*_.PROGN___V6*/ meltfptr[4] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V3*/ meltfptr[2] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:775:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.TESTER__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_NORMTESTER_ANY */ meltfrout->tabval[0]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.TESTER__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 6, "NTEST_COMEFROM"); /*_.NTEST_COMEFROM__V7*/ meltfptr[3] = slot; }; ; } else { /*^cond.else */ /*_.NTEST_COMEFROM__V7*/ meltfptr[3] = NULL;; } ; { MELT_LOCATION ("warmelt-normatch.melt:775:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.NTEST_COMEFROM__V7*/ meltfptr[3]), (melt_ptr_t) (( /*~TSTUFF */ meltfclos-> tabval[0]))); } ; MELT_LOCATION ("warmelt-normatch.melt:771:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V3*/ meltfptr[2] = 0; /*^clear */ /*clear *//*_.NTEST_COMEFROM__V7*/ meltfptr[3] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("LAMBDA_", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_19_warmelt_normatch_LAMBDA___2___melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*noretval */ NULL); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_19_warmelt_normatch_LAMBDA___2__ */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_20_warmelt_normatch_NORMPAT_VARIABLEPAT (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un * meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un * meltxrestab_) { long current_blocklevel_signals_meltrout_20_warmelt_normatch_NORMPAT_VARIABLEPAT_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_20_warmelt_normatch_NORMPAT_VARIABLEPAT_st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 126 melt_ptr_t mcfr_varptr[126]; #define MELTFRAM_NBVARNUM 39 long mcfr_varnum[39]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_20_warmelt_normatch_NORMPAT_VARIABLEPAT is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_20_warmelt_normatch_NORMPAT_VARIABLEPAT_st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 126; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_20_warmelt_normatch_NORMPAT_VARIABLEPAT nbval 126*/ meltfram__.mcfr_nbvar = 126 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("NORMPAT_VARIABLEPAT", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normatch.melt:805:/ getarg"); /*_.RECV__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.NMATCH__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.NMATCH__V3*/ meltfptr[2])) != NULL); /*getarg#2 */ /*^getarg */ if (meltxargdescr_[1] != MELTBPAR_PTR) goto lab_endgetargs; /*_.HDLER__V4*/ meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.HDLER__V4*/ meltfptr[3])) != NULL); /*getarg#3 */ /*^getarg */ if (meltxargdescr_[2] != MELTBPAR_PTR) goto lab_endgetargs; /*_.PCN__V5*/ meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:806:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:806:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:806:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 806; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_variablepat recv="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.RECV__V2*/ meltfptr[1]; /*^apply.arg */ argtab[5].meltbp_cstring = " nmatch="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.NMATCH__V3*/ meltfptr[2]; /*_.MELT_DEBUG_FUN__V8*/ 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 MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V7*/ meltfptr[6] = /*_.MELT_DEBUG_FUN__V8*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:806:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V8*/ meltfptr[7] = 0; } ; } else { /*^cond.else */ /*_.IF___V7*/ meltfptr[6] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:806:/ quasiblock"); /*_.PROGN___V9*/ meltfptr[7] = /*_.IF___V7*/ meltfptr[6];; /*^compute */ /*_.IFCPP___V6*/ meltfptr[5] = /*_.PROGN___V9*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:806:/ clear"); /*clear *//*_#MELT_NEED_DBG__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V7*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.PROGN___V9*/ meltfptr[7] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V6*/ meltfptr[5] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:807:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L3*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_SOURCE_PATTERN_VARIABLE */ meltfrout->tabval[1])));; MELT_LOCATION ("warmelt-normatch.melt:807:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V11*/ meltfptr[7] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:807:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check recv"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (807) ? (807) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V11*/ meltfptr[7] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[6] = /*_.IFELSE___V11*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:807:/ clear"); /*clear *//*_#IS_A__L3*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V11*/ meltfptr[7] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V10*/ meltfptr[6] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:808:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L4*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]), (melt_ptr_t) (( /*!CLASS_PATTERN_CONTEXT */ meltfrout->tabval[2])));; MELT_LOCATION ("warmelt-normatch.melt:808:/ cond"); /*cond */ if ( /*_#IS_A__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V13*/ meltfptr[12] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:808:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check pcn"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (808) ? (808) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V13*/ meltfptr[12] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V12*/ meltfptr[7] = /*_.IFELSE___V13*/ meltfptr[12];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:808:/ clear"); /*clear *//*_#IS_A__L4*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V13*/ meltfptr[12] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V12*/ meltfptr[7] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; { MELT_LOCATION ("warmelt-normatch.melt:809:/ locexp"); #if MELT_HAVE_DEBUG if (melt_need_debug (0)) melt_dbgshortbacktrace (("normpat_variablepat begin"), (15)); #endif ; } ; MELT_LOCATION ("warmelt-normatch.melt:810:/ quasiblock"); /*^cond */ /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]), (melt_ptr_t) (( /*!CLASS_PATTERN_CONTEXT */ meltfrout->tabval[2]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]) /*=obj*/ ; melt_object_get_field (slot, obj, 7, "PCTN_STUFFMAP"); /*_.STUFFMAP__V15*/ meltfptr[14] = slot; }; ; } else { /*^cond.else */ /*_.STUFFMAP__V15*/ meltfptr[14] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:811:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]), (melt_ptr_t) (( /*!CLASS_PATTERN_CONTEXT */ meltfrout->tabval[2]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]) /*=obj*/ ; melt_object_get_field (slot, obj, 8, "PCTN_PVARLOCMAP"); /*_.PVARLOCMAP__V16*/ meltfptr[15] = slot; }; ; } else { /*^cond.else */ /*_.PVARLOCMAP__V16*/ meltfptr[15] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:812:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]), (melt_ptr_t) (( /*!CLASS_PATTERN_CONTEXT */ meltfrout->tabval[2]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "PCTN_SRC"); /*_.PCTN_SRC__V17*/ meltfptr[16] = slot; }; ; } else { /*^cond.else */ /*_.PCTN_SRC__V17*/ meltfptr[16] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:812:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.PCTN_SRC__V17*/ meltfptr[16]), (melt_ptr_t) (( /*!CLASS_LOCATED */ meltfrout->tabval[3]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.PCTN_SRC__V17*/ meltfptr[16]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "LOCA_LOCATION"); /*_.PSLOC__V18*/ meltfptr[17] = slot; }; ; } else { /*^cond.else */ /*_.PSLOC__V18*/ meltfptr[17] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:813:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_LOCATED */ meltfrout->tabval[3]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "LOCA_LOCATION"); /*_.SLOC__V19*/ meltfptr[18] = slot; }; ; } else { /*^cond.else */ /*_.SLOC__V19*/ meltfptr[18] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:814:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_SOURCE_PATTERN_VARIABLE */ meltfrout->tabval[1]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 3, "SPATVAR_SYMB"); /*_.PATVAR__V20*/ meltfptr[19] = slot; }; ; } else { /*^cond.else */ /*_.PATVAR__V20*/ meltfptr[19] = NULL;; } ; /*^compute */ /*_.TSTUFF__V21*/ meltfptr[20] = /*mapobject_get */ melt_get_mapobjects ((meltmapobjects_ptr_t) ( /*_.STUFFMAP__V15*/ meltfptr[14]), (meltobject_ptr_t) ( /*_.NMATCH__V3*/ meltfptr[2]));; /*^compute */ /*_.LOCOCC__V22*/ meltfptr[21] = /*mapobject_get */ melt_get_mapobjects ((meltmapobjects_ptr_t) ( /*_.PVARLOCMAP__V16*/ meltfptr[15]), (meltobject_ptr_t) ( /*_.PATVAR__V20*/ meltfptr[19]));; MELT_LOCATION ("warmelt-normatch.melt:817:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]), (melt_ptr_t) (( /*!CLASS_PATTERN_CONTEXT */ meltfrout->tabval[2]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "PCTN_ENV"); /*_.ENV__V23*/ meltfptr[22] = slot; }; ; } else { /*^cond.else */ /*_.ENV__V23*/ meltfptr[22] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:818:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]), (melt_ptr_t) (( /*!CLASS_PATTERN_CONTEXT */ meltfrout->tabval[2]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]) /*=obj*/ ; melt_object_get_field (slot, obj, 0, "PCTN_NORMCTXT"); /*_.NCX__V24*/ meltfptr[23] = slot; }; ; } else { /*^cond.else */ /*_.NCX__V24*/ meltfptr[23] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:819:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]), (melt_ptr_t) (( /*!CLASS_PATTERN_CONTEXT */ meltfrout->tabval[2]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]) /*=obj*/ ; melt_object_get_field (slot, obj, 9, "PCTN_TESTS"); /*_.TESTLIST__V25*/ meltfptr[24] = slot; }; ; } else { /*^cond.else */ /*_.TESTLIST__V25*/ meltfptr[24] = NULL;; } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:821:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L5*/ meltfnum[1] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:821:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L5*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L6*/ meltfnum[0] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:821:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[9]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L6*/ meltfnum[0]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 821; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_variablepat tstuff="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.TSTUFF__V21*/ meltfptr[20]; /*^apply.arg */ argtab[5].meltbp_cstring = " lococc="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.LOCOCC__V22*/ meltfptr[21]; /*^apply.arg */ argtab[7].meltbp_cstring = " patvar="; /*^apply.arg */ argtab[8].meltbp_aptr = (melt_ptr_t *) & /*_.PATVAR__V20*/ meltfptr[19]; /*_.MELT_DEBUG_FUN__V28*/ 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 MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V27*/ meltfptr[26] = /*_.MELT_DEBUG_FUN__V28*/ meltfptr[27];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:821:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L6*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V28*/ meltfptr[27] = 0; } ; } else { /*^cond.else */ /*_.IF___V27*/ meltfptr[26] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:821:/ quasiblock"); /*_.PROGN___V29*/ meltfptr[27] = /*_.IF___V27*/ meltfptr[26];; /*^compute */ /*_.IFCPP___V26*/ meltfptr[25] = /*_.PROGN___V29*/ meltfptr[27];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:821:/ clear"); /*clear *//*_#MELT_NEED_DBG__L5*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IF___V27*/ meltfptr[26] = 0; /*^clear */ /*clear *//*_.PROGN___V29*/ meltfptr[27] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V26*/ meltfptr[25] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:824:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#IS_A__L7*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.LOCOCC__V22*/ meltfptr[21]), (melt_ptr_t) (( /*!CLASS_NREP_LOCSYMOCC */ meltfrout->tabval[4])));; MELT_LOCATION ("warmelt-normatch.melt:824:/ cond"); /*cond */ if ( /*_#IS_A__L7*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:826:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L8*/ meltfnum[1] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:826:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L8*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L9*/ meltfnum[8] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:826:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L9*/ meltfnum[8]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 826; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_variablepat alreadybound lococc"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.LOCOCC__V22*/ meltfptr[21]; /*_.MELT_DEBUG_FUN__V33*/ meltfptr[32] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V32*/ meltfptr[31] = /*_.MELT_DEBUG_FUN__V33*/ meltfptr[32];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:826:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L9*/ meltfnum[8] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V33*/ meltfptr[32] = 0; } ; } else { /*^cond.else */ /*_.IF___V32*/ meltfptr[31] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:826:/ quasiblock"); /*_.PROGN___V34*/ meltfptr[32] = /*_.IF___V32*/ meltfptr[31];; /*^compute */ /*_.IFCPP___V31*/ meltfptr[27] = /*_.PROGN___V34*/ meltfptr[32];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:826:/ clear"); /*clear *//*_#MELT_NEED_DBG__L8*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IF___V32*/ meltfptr[31] = 0; /*^clear */ /*clear *//*_.PROGN___V34*/ meltfptr[32] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V31*/ meltfptr[27] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:827:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[6]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NMATCH__V3*/ meltfptr[2]; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.LOCOCC__V22*/ meltfptr[21]; /*^apply.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & /*_.TESTLIST__V25*/ meltfptr[24]; /*^apply.arg */ argtab[3].meltbp_aptr = (melt_ptr_t *) & /*_.TSTUFF__V21*/ meltfptr[20]; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.HDLER__V4*/ meltfptr[3]; /*^apply.arg */ argtab[5].meltbp_aptr = (melt_ptr_t *) & /*_.PCN__V5*/ meltfptr[4]; /*_.NORMVARPAT_GENREUSETEST__V35*/ meltfptr[31] = melt_apply ((meltclosure_ptr_t) (( /*!NORMVARPAT_GENREUSETEST */ meltfrout-> tabval[5])), (melt_ptr_t) ( /*_.SLOC__V19*/ meltfptr[18]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normatch.melt:824:/ quasiblock"); /*_.PROGN___V36*/ meltfptr[32] = /*_.NORMVARPAT_GENREUSETEST__V35*/ meltfptr[31];; /*^compute */ /*_.IFELSE___V30*/ meltfptr[26] = /*_.PROGN___V36*/ meltfptr[32];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:824:/ clear"); /*clear *//*_.IFCPP___V31*/ meltfptr[27] = 0; /*^clear */ /*clear *//*_.NORMVARPAT_GENREUSETEST__V35*/ meltfptr[31] = 0; /*^clear */ /*clear *//*_.PROGN___V36*/ meltfptr[32] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normatch.melt:830:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#IS_A__L10*/ meltfnum[8] = melt_is_instance_of ((melt_ptr_t) ( /*_.LOCOCC__V22*/ meltfptr[21]), (melt_ptr_t) (( /*!CLASS_NORMAL_OR_VARIABLE */ meltfrout->tabval[6])));; MELT_LOCATION ("warmelt-normatch.melt:830:/ cond"); /*cond */ if ( /*_#IS_A__L10*/ meltfnum[8]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:831:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L11*/ meltfnum[1] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:831:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L11*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L12*/ meltfnum[11] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:831:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L12*/ meltfnum[11]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 831; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_variablepat lococc orvariable"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.LOCOCC__V22*/ meltfptr[21]; /*_.MELT_DEBUG_FUN__V40*/ meltfptr[39] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V39*/ meltfptr[32] = /*_.MELT_DEBUG_FUN__V40*/ meltfptr[39];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:831:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L12*/ meltfnum[11] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V40*/ meltfptr[39] = 0; } ; } else { /*^cond.else */ /*_.IF___V39*/ meltfptr[32] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:831:/ quasiblock"); /*_.PROGN___V41*/ meltfptr[39] = /*_.IF___V39*/ meltfptr[32];; /*^compute */ /*_.IFCPP___V38*/ meltfptr[31] = /*_.PROGN___V41*/ meltfptr[39];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:831:/ clear"); /*clear *//*_#MELT_NEED_DBG__L11*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IF___V39*/ meltfptr[32] = 0; /*^clear */ /*clear *//*_.PROGN___V41*/ meltfptr[39] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V38*/ meltfptr[31] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:833:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.LOCOCC__V22*/ meltfptr[21]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NORVAR_LOCSYM"); /*_.REALOCOCC__V43*/ meltfptr[39] = slot; }; ; MELT_LOCATION ("warmelt-normatch.melt:834:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.LOCOCC__V22*/ meltfptr[21]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "NORVAR_PATVAR"); /*_.NPATVAR__V44*/ meltfptr[43] = slot; }; ; MELT_LOCATION ("warmelt-normatch.melt:835:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.NPATVAR__V44*/ meltfptr[43]), (melt_ptr_t) (( /*!CLASS_SOURCE_PATTERN_VARIABLE */ meltfrout->tabval[1]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.NPATVAR__V44*/ meltfptr[43]) /*=obj*/ ; melt_object_get_field (slot, obj, 3, "SPATVAR_SYMB"); /*_.PATSYM__V45*/ meltfptr[44] = slot; }; ; } else { /*^cond.else */ /*_.PATSYM__V45*/ meltfptr[44] = NULL;; } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:837:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L13*/ meltfnum[11] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:837:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L13*/ meltfnum[11]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L14*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:837:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L14*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 837; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_variablepat orvariable npatvar"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NPATVAR__V44*/ meltfptr[43]; /*_.MELT_DEBUG_FUN__V48*/ 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_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V47*/ meltfptr[46] = /*_.MELT_DEBUG_FUN__V48*/ meltfptr[47];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:837:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L14*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V48*/ meltfptr[47] = 0; } ; } else { /*^cond.else */ /*_.IF___V47*/ meltfptr[46] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:837:/ quasiblock"); /*_.PROGN___V49*/ meltfptr[47] = /*_.IF___V47*/ meltfptr[46];; /*^compute */ /*_.IFCPP___V46*/ meltfptr[45] = /*_.PROGN___V49*/ meltfptr[47];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:837:/ clear"); /*clear *//*_#MELT_NEED_DBG__L13*/ meltfnum[11] = 0; /*^clear */ /*clear *//*_.IF___V47*/ meltfptr[46] = 0; /*^clear */ /*clear *//*_.PROGN___V49*/ meltfptr[47] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V46*/ meltfptr[45] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:838:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#__L15*/ meltfnum[1] = (( /*_.PATSYM__V45*/ meltfptr[44]) == ( /*_.PATVAR__V20*/ meltfptr[19]));; MELT_LOCATION ("warmelt-normatch.melt:838:/ cond"); /*cond */ if ( /*_#__L15*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V51*/ meltfptr[47] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:838:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check patsym == patvar"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (838) ? (838) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V51*/ meltfptr[47] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V50*/ meltfptr[46] = /*_.IFELSE___V51*/ meltfptr[47];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:838:/ clear"); /*clear *//*_#__L15*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V51*/ meltfptr[47] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V50*/ meltfptr[46] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:839:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L16*/ meltfnum[11] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:839:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L16*/ meltfnum[11]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L17*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:839:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L17*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 839; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_variablepat orvariable realococc"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.REALOCOCC__V43*/ meltfptr[39]; /*_.MELT_DEBUG_FUN__V54*/ meltfptr[53] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V53*/ meltfptr[52] = /*_.MELT_DEBUG_FUN__V54*/ meltfptr[53];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:839:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L17*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V54*/ meltfptr[53] = 0; } ; } else { /*^cond.else */ /*_.IF___V53*/ meltfptr[52] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:839:/ quasiblock"); /*_.PROGN___V55*/ meltfptr[53] = /*_.IF___V53*/ meltfptr[52];; /*^compute */ /*_.IFCPP___V52*/ meltfptr[47] = /*_.PROGN___V55*/ meltfptr[53];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:839:/ clear"); /*clear *//*_#MELT_NEED_DBG__L16*/ meltfnum[11] = 0; /*^clear */ /*clear *//*_.IF___V53*/ meltfptr[52] = 0; /*^clear */ /*clear *//*_.PROGN___V55*/ meltfptr[53] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V52*/ meltfptr[47] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:840:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#NULL__L18*/ meltfnum[1] = (( /*_.REALOCOCC__V43*/ meltfptr[39]) == NULL);; MELT_LOCATION ("warmelt-normatch.melt:840:/ cond"); /*cond */ if ( /*_#NULL__L18*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normatch.melt:842:/ quasiblock"); MELT_LOCATION ("warmelt-normatch.melt:843:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^msend */ /*msend */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^ojbmsend.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.ENV__V23*/ meltfptr[22]; /*_.CTYP__V58*/ meltfptr[57] = meltgc_send ((melt_ptr_t) ( /*_.NMATCH__V3*/ meltfptr[2]), (melt_ptr_t) (( /*!GET_CTYPE */ meltfrout->tabval[7])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normatch.melt:844:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NORMAL_LET_BINDING */ meltfrout->tabval[8])), (4), "CLASS_NORMAL_LET_BINDING"); /*_.INST__V60*/ meltfptr[59] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V60*/ meltfptr[59])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V60*/ meltfptr[59]), (3), ( /*_.SLOC__V19*/ meltfptr[18]), "LETBIND_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @BINDER", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V60*/ meltfptr[59])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V60*/ meltfptr[59]), (0), ( /*_.PATSYM__V45*/ meltfptr[44]), "BINDER"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_TYPE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V60*/ meltfptr[59])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V60*/ meltfptr[59]), (1), ( /*_.CTYP__V58*/ meltfptr[57]), "LETBIND_TYPE"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_EXPR", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V60*/ meltfptr[59])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V60*/ meltfptr[59]), (2), ( /*_.NMATCH__V3*/ meltfptr[2]), "LETBIND_EXPR"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V60*/ meltfptr[59], "newly made instance"); ; /*_.CBIND__V59*/ meltfptr[58] = /*_.INST__V60*/ meltfptr[59];; MELT_LOCATION ("warmelt-normatch.melt:850:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_LOCSYMOCC */ meltfrout->tabval[4])), (4), "CLASS_NREP_LOCSYMOCC"); /*_.INST__V62*/ meltfptr[61] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V62*/ meltfptr[61])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V62*/ meltfptr[61]), (0), ( /*_.SLOC__V19*/ meltfptr[18]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_CTYP", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V62*/ meltfptr[61])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V62*/ meltfptr[61]), (2), ( /*_.CTYP__V58*/ meltfptr[57]), "NOCC_CTYP"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_SYMB", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V62*/ meltfptr[61])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V62*/ meltfptr[61]), (1), ( /*_.PATSYM__V45*/ meltfptr[44]), "NOCC_SYMB"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_BIND", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V62*/ meltfptr[61])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V62*/ meltfptr[61]), (3), ( /*_.CBIND__V59*/ meltfptr[58]), "NOCC_BIND"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V62*/ meltfptr[61], "newly made instance"); ; /*_.CLOCC__V61*/ meltfptr[60] = /*_.INST__V62*/ meltfptr[61];; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:856:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L19*/ meltfnum[11] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:856:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L19*/ meltfnum[11]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L20*/ meltfnum[19] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:856:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L20*/ meltfnum[19]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 856; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_variablepat fresh orvariable clocc"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CLOCC__V61*/ meltfptr[60]; /*_.MELT_DEBUG_FUN__V65*/ meltfptr[64] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V64*/ meltfptr[63] = /*_.MELT_DEBUG_FUN__V65*/ meltfptr[64];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:856:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L20*/ meltfnum[19] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V65*/ meltfptr[64] = 0; } ; } else { /*^cond.else */ /*_.IF___V64*/ meltfptr[63] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:856:/ quasiblock"); /*_.PROGN___V66*/ meltfptr[64] = /*_.IF___V64*/ meltfptr[63];; /*^compute */ /*_.IFCPP___V63*/ meltfptr[62] = /*_.PROGN___V66*/ meltfptr[64];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:856:/ clear"); /*clear *//*_#MELT_NEED_DBG__L19*/ meltfnum[11] = 0; /*^clear */ /*clear *//*_.IF___V64*/ meltfptr[63] = 0; /*^clear */ /*clear *//*_.PROGN___V66*/ meltfptr[64] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V63*/ meltfptr[62] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:857:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^cond */ /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.LOCOCC__V22*/ meltfptr[21]), (melt_ptr_t) (( /*!CLASS_NORMAL_OR_VARIABLE */ meltfrout->tabval[6]))) ) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NORVAR_LOCSYM", melt_magic_discr ((melt_ptr_t) ( /*_.LOCOCC__V22*/ meltfptr[21])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.LOCOCC__V22*/ meltfptr[21]), (1), ( /*_.CLOCC__V61*/ meltfptr[60]), "NORVAR_LOCSYM"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NORVAR_NOREXP", melt_magic_discr ((melt_ptr_t) ( /*_.LOCOCC__V22*/ meltfptr[21])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.LOCOCC__V22*/ meltfptr[21]), (0), ( /*_.NMATCH__V3*/ meltfptr[2]), "NORVAR_NOREXP"); ; /*^touch */ meltgc_touch ( /*_.LOCOCC__V22*/ meltfptr[21]); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.LOCOCC__V22*/ meltfptr[21], "put-fields"); ; /*epilog */ } ; } /*noelse */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:860:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L21*/ meltfnum[19] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:860:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L21*/ meltfnum[19]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L22*/ meltfnum[11] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:860:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L22*/ meltfnum[11]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 860; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_variablepat updated fresh orvariable lococc"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.LOCOCC__V22*/ meltfptr[21]; /*_.MELT_DEBUG_FUN__V69*/ meltfptr[68] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V68*/ meltfptr[64] = /*_.MELT_DEBUG_FUN__V69*/ meltfptr[68];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:860:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L22*/ meltfnum[11] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V69*/ meltfptr[68] = 0; } ; } else { /*^cond.else */ /*_.IF___V68*/ meltfptr[64] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:860:/ quasiblock"); /*_.PROGN___V70*/ meltfptr[68] = /*_.IF___V68*/ meltfptr[64];; /*^compute */ /*_.IFCPP___V67*/ meltfptr[63] = /*_.PROGN___V70*/ meltfptr[68];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:860:/ clear"); /*clear *//*_#MELT_NEED_DBG__L21*/ meltfnum[19] = 0; /*^clear */ /*clear *//*_.IF___V68*/ meltfptr[64] = 0; /*^clear */ /*clear *//*_.PROGN___V70*/ meltfptr[68] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V67*/ meltfptr[63] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; { MELT_LOCATION ("warmelt-normatch.melt:861:/ locexp"); #if MELT_HAVE_DEBUG if (melt_need_debug (0)) melt_dbgshortbacktrace (("normpat_variablepat updated fresh orvar"), (15)); #endif ; } ; MELT_LOCATION ("warmelt-normatch.melt:863:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.NCX__V24*/ meltfptr[23]), (melt_ptr_t) (( /*!CLASS_NORMALIZATION_CONTEXT */ meltfrout->tabval[9]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.NCX__V24*/ meltfptr[23]) /*=obj*/ ; melt_object_get_field (slot, obj, 6, "NCTX_SYMBCACHEMAP"); /*_.NCTX_SYMBCACHEMAP__V71*/ meltfptr[64] = slot; }; ; } else { /*^cond.else */ /*_.NCTX_SYMBCACHEMAP__V71*/ meltfptr[64] = NULL;; } ; { MELT_LOCATION ("warmelt-normatch.melt:863:/ locexp"); meltgc_put_mapobjects ((meltmapobjects_ptr_t) ( /*_.NCTX_SYMBCACHEMAP__V71*/ meltfptr[64]), (meltobject_ptr_t) ( /*_.PATVAR__V20*/ meltfptr[19]), (melt_ptr_t) ( /*_.CLOCC__V61*/ meltfptr[60])); } ; { MELT_LOCATION ("warmelt-normatch.melt:864:/ locexp"); meltgc_put_mapobjects ((meltmapobjects_ptr_t) ( /*_.PVARLOCMAP__V16*/ meltfptr[15]), (meltobject_ptr_t) ( /*_.PATVAR__V20*/ meltfptr[19]), (melt_ptr_t) ( /*_.CLOCC__V61*/ meltfptr[60])); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:865:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L23*/ meltfnum[11] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:865:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L23*/ meltfnum[11]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L24*/ meltfnum[19] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:865:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L24*/ meltfnum[19]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 865; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_variablepat updated fresh orvariable pvarlocmap"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.PVARLOCMAP__V16*/ meltfptr[15]; /*_.MELT_DEBUG_FUN__V74*/ meltfptr[73] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V73*/ meltfptr[72] = /*_.MELT_DEBUG_FUN__V74*/ meltfptr[73];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:865:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L24*/ meltfnum[19] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V74*/ meltfptr[73] = 0; } ; } else { /*^cond.else */ /*_.IF___V73*/ meltfptr[72] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:865:/ quasiblock"); /*_.PROGN___V75*/ meltfptr[73] = /*_.IF___V73*/ meltfptr[72];; /*^compute */ /*_.IFCPP___V72*/ meltfptr[68] = /*_.PROGN___V75*/ meltfptr[73];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:865:/ clear"); /*clear *//*_#MELT_NEED_DBG__L23*/ meltfnum[11] = 0; /*^clear */ /*clear *//*_.IF___V73*/ meltfptr[72] = 0; /*^clear */ /*clear *//*_.PROGN___V75*/ meltfptr[73] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V72*/ meltfptr[68] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; /*^compute */ /*_.LET___V57*/ meltfptr[53] = /*_.IFCPP___V72*/ meltfptr[68];; MELT_LOCATION ("warmelt-normatch.melt:842:/ clear"); /*clear *//*_.CTYP__V58*/ meltfptr[57] = 0; /*^clear */ /*clear *//*_.CBIND__V59*/ meltfptr[58] = 0; /*^clear */ /*clear *//*_.CLOCC__V61*/ meltfptr[60] = 0; /*^clear */ /*clear *//*_.IFCPP___V63*/ meltfptr[62] = 0; /*^clear */ /*clear *//*_.IFCPP___V67*/ meltfptr[63] = 0; /*^clear */ /*clear *//*_.NCTX_SYMBCACHEMAP__V71*/ meltfptr[64] = 0; /*^clear */ /*clear *//*_.IFCPP___V72*/ meltfptr[68] = 0; /*_.IFELSE___V56*/ meltfptr[52] = /*_.LET___V57*/ meltfptr[53];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:840:/ clear"); /*clear *//*_.LET___V57*/ meltfptr[53] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normatch.melt:871:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#IS_A__L25*/ meltfnum[19] = melt_is_instance_of ((melt_ptr_t) ( /*_.REALOCOCC__V43*/ meltfptr[39]), (melt_ptr_t) (( /*!CLASS_NREP_LOCSYMOCC */ meltfrout->tabval[4])));; MELT_LOCATION ("warmelt-normatch.melt:871:/ cond"); /*cond */ if ( /*_#IS_A__L25*/ meltfnum[19]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:872:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L26*/ meltfnum[11] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:872:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L26*/ meltfnum[11]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L27*/ meltfnum[26] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:872:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L27*/ meltfnum[26]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 872; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_variablepat bound orvariable realococccc"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.REALOCOCC__V43*/ meltfptr[39]; /*_.MELT_DEBUG_FUN__V79*/ meltfptr[58] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V78*/ meltfptr[57] = /*_.MELT_DEBUG_FUN__V79*/ meltfptr[58];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:872:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L27*/ meltfnum[26] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V79*/ meltfptr[58] = 0; } ; } else { /*^cond.else */ /*_.IF___V78*/ meltfptr[57] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:872:/ quasiblock"); /*_.PROGN___V80*/ meltfptr[60] = /*_.IF___V78*/ meltfptr[57];; /*^compute */ /*_.IFCPP___V77*/ meltfptr[73] = /*_.PROGN___V80*/ meltfptr[60];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:872:/ clear"); /*clear *//*_#MELT_NEED_DBG__L26*/ meltfnum[11] = 0; /*^clear */ /*clear *//*_.IF___V78*/ meltfptr[57] = 0; /*^clear */ /*clear *//*_.PROGN___V80*/ meltfptr[60] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V77*/ meltfptr[73] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:873:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[6]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NMATCH__V3*/ meltfptr[2]; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.REALOCOCC__V43*/ meltfptr[39]; /*^apply.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & /*_.TESTLIST__V25*/ meltfptr[24]; /*^apply.arg */ argtab[3].meltbp_aptr = (melt_ptr_t *) & /*_.TSTUFF__V21*/ meltfptr[20]; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.HDLER__V4*/ meltfptr[3]; /*^apply.arg */ argtab[5].meltbp_aptr = (melt_ptr_t *) & /*_.PCN__V5*/ meltfptr[4]; /*_.NORMVARPAT_GENREUSETEST__V81*/ meltfptr[62] = melt_apply ((meltclosure_ptr_t) (( /*!NORMVARPAT_GENREUSETEST */ meltfrout->tabval[5])), (melt_ptr_t) ( /*_.SLOC__V19*/ meltfptr[18]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normatch.melt:871:/ quasiblock"); /*_.PROGN___V82*/ meltfptr[63] = /*_.NORMVARPAT_GENREUSETEST__V81*/ meltfptr[62];; /*^compute */ /*_.IFELSE___V76*/ meltfptr[72] = /*_.PROGN___V82*/ meltfptr[63];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:871:/ clear"); /*clear *//*_.IFCPP___V77*/ meltfptr[73] = 0; /*^clear */ /*clear *//*_.NORMVARPAT_GENREUSETEST__V81*/ meltfptr[62] = 0; /*^clear */ /*clear *//*_.PROGN___V82*/ meltfptr[63] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normatch.melt:877:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#IS_A__L28*/ meltfnum[26] = melt_is_instance_of ((melt_ptr_t) ( /*_.REALOCOCC__V43*/ meltfptr[39]), (melt_ptr_t) (( /*!CLASS_REFERENCE */ meltfrout->tabval[10])));; MELT_LOCATION ("warmelt-normatch.melt:877:/ cond"); /*cond */ if ( /*_#IS_A__L28*/ meltfnum[26]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normatch.melt:878:/ quasiblock"); MELT_LOCATION ("warmelt-normatch.melt:879:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^msend */ /*msend */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^ojbmsend.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.ENV__V23*/ meltfptr[22]; /*_.CTYP__V84*/ meltfptr[68] = meltgc_send ((melt_ptr_t) ( /*_.NMATCH__V3*/ meltfptr[2]), (melt_ptr_t) (( /*!GET_CTYPE */ meltfrout->tabval[7])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normatch.melt:880:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.REALOCOCC__V43*/ meltfptr[39]), (melt_ptr_t) (( /*!CLASS_REFERENCE */ meltfrout->tabval[10]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.REALOCOCC__V43*/ meltfptr[39]) /*=obj*/ ; melt_object_get_field (slot, obj, 0, "REFERENCED_VALUE"); /*_.BXCLOCC__V85*/ meltfptr[53] = slot; }; ; } else { /*^cond.else */ /*_.BXCLOCC__V85*/ meltfptr[53] = NULL;; } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:882:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L29*/ meltfnum[11] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:882:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L29*/ meltfnum[11]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L30*/ meltfnum[29] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:882:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L30*/ meltfnum[29]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 882; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_variablepat bxclocc"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.BXCLOCC__V85*/ meltfptr[53]; /*_.MELT_DEBUG_FUN__V88*/ meltfptr[60] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V87*/ meltfptr[57] = /*_.MELT_DEBUG_FUN__V88*/ meltfptr[60];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:882:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L30*/ meltfnum[29] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V88*/ meltfptr[60] = 0; } ; } else { /*^cond.else */ /*_.IF___V87*/ meltfptr[57] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:882:/ quasiblock"); /*_.PROGN___V89*/ meltfptr[73] = /*_.IF___V87*/ meltfptr[57];; /*^compute */ /*_.IFCPP___V86*/ meltfptr[58] = /*_.PROGN___V89*/ meltfptr[73];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:882:/ clear"); /*clear *//*_#MELT_NEED_DBG__L29*/ meltfnum[11] = 0; /*^clear */ /*clear *//*_.IF___V87*/ meltfptr[57] = 0; /*^clear */ /*clear *//*_.PROGN___V89*/ meltfptr[73] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V86*/ meltfptr[58] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:883:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L31*/ meltfnum[29] = melt_is_instance_of ((melt_ptr_t) ( /*_.BXCLOCC__V85*/ meltfptr[53]), (melt_ptr_t) (( /*!CLASS_NREP_LOCSYMOCC */ meltfrout->tabval[4])));; MELT_LOCATION ("warmelt-normatch.melt:883:/ cond"); /*cond */ if ( /*_#IS_A__L31*/ meltfnum[29]) /*then */ { /*^cond.then */ /*_.IFELSE___V91*/ meltfptr[63] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:883:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check bxclocc"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (883) ? (883) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V91*/ meltfptr[63] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V90*/ meltfptr[62] = /*_.IFELSE___V91*/ meltfptr[63];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:883:/ clear"); /*clear *//*_#IS_A__L31*/ meltfnum[29] = 0; /*^clear */ /*clear *//*_.IFELSE___V91*/ meltfptr[63] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V90*/ meltfptr[62] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:885:/ quasiblock"); MELT_LOCATION ("warmelt-normatch.melt:886:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.BXCLOCC__V85*/ meltfptr[53]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "NOCC_CTYP"); /*_.PREVCTYP__V92*/ meltfptr[60] = slot; }; ; MELT_LOCATION ("warmelt-normatch.melt:888:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#__L32*/ meltfnum[11] = (( /*_.CTYP__V84*/ meltfptr[68]) != ( /*_.PREVCTYP__V92*/ meltfptr[60]));; MELT_LOCATION ("warmelt-normatch.melt:888:/ cond"); /*cond */ if ( /*_#__L32*/ meltfnum[11]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normatch.melt:889:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.BXCLOCC__V85*/ meltfptr[53]) /*=obj*/ ; melt_object_get_field (slot, obj, 0, "NREP_LOC"); /*_.PREVSLOC__V93*/ meltfptr[57] = slot; }; ; MELT_LOCATION ("warmelt-normatch.melt:892:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.BXCLOCC__V85*/ meltfptr[53]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NOCC_SYMB"); /*_.NOCC_SYMB__V94*/ meltfptr[73] = slot; }; ; /*^cond */ /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.NOCC_SYMB__V94*/ meltfptr[73]), (melt_ptr_t) (( /*!CLASS_NAMED */ meltfrout->tabval[11]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.NOCC_SYMB__V94*/ meltfptr[73]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V95*/ meltfptr[63] = slot; }; ; } else { /*^cond.else */ /*_.NAMED_NAME__V95*/ meltfptr[63] = NULL;; } ; { MELT_LOCATION ("warmelt-normatch.melt:891:/ locexp"); melt_error_str ((melt_ptr_t) ( /*_.SLOC__V19*/ meltfptr[18]), ("incompatible type for pattern variable inside OR pattern"), (melt_ptr_t) ( /*_.NAMED_NAME__V95*/ meltfptr[63])); } ; MELT_LOCATION ("warmelt-normatch.melt:894:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CTYP__V84*/ meltfptr[68]), (melt_ptr_t) (( /*!CLASS_CTYPE */ meltfrout->tabval[12]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CTYP__V84*/ meltfptr[68]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "CTYPE_KEYWORD"); /*_.CTYPE_KEYWORD__V96*/ meltfptr[95] = slot; }; ; } else { /*^cond.else */ /*_.CTYPE_KEYWORD__V96*/ meltfptr[95] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:894:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CTYPE_KEYWORD__V96*/ meltfptr[95]), (melt_ptr_t) (( /*!CLASS_NAMED */ meltfrout->tabval[11]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CTYPE_KEYWORD__V96*/ meltfptr[95]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V97*/ meltfptr[96] = slot; }; ; } else { /*^cond.else */ /*_.NAMED_NAME__V97*/ meltfptr[96] = NULL;; } ; { MELT_LOCATION ("warmelt-normatch.melt:893:/ locexp"); melt_inform_str ((melt_ptr_t) ( /*_.SLOC__V19*/ meltfptr[18]), ("disjunct pattern variable occurs here with type"), (melt_ptr_t) ( /*_.NAMED_NAME__V97*/ meltfptr[96])); } ; MELT_LOCATION ("warmelt-normatch.melt:896:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.PREVCTYP__V92*/ meltfptr[60]), (melt_ptr_t) (( /*!CLASS_CTYPE */ meltfrout->tabval[12]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.PREVCTYP__V92*/ meltfptr[60]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "CTYPE_KEYWORD"); /*_.CTYPE_KEYWORD__V98*/ meltfptr[97] = slot; }; ; } else { /*^cond.else */ /*_.CTYPE_KEYWORD__V98*/ meltfptr[97] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:896:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CTYPE_KEYWORD__V98*/ meltfptr[97]), (melt_ptr_t) (( /*!CLASS_NAMED */ meltfrout->tabval[11]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CTYPE_KEYWORD__V98*/ meltfptr[97]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V99*/ meltfptr[98] = slot; }; ; } else { /*^cond.else */ /*_.NAMED_NAME__V99*/ meltfptr[98] = NULL;; } ; { MELT_LOCATION ("warmelt-normatch.melt:895:/ locexp"); melt_inform_str ((melt_ptr_t) ( /*_.PREVSLOC__V93*/ meltfptr[57]), ("disjunct pattern variable occurs previously with type"), (melt_ptr_t) ( /*_.NAMED_NAME__V99*/ meltfptr[98])); } ; MELT_LOCATION ("warmelt-normatch.melt:889:/ clear"); /*clear *//*_.PREVSLOC__V93*/ meltfptr[57] = 0; /*^clear */ /*clear *//*_.NOCC_SYMB__V94*/ meltfptr[73] = 0; /*^clear */ /*clear *//*_.NAMED_NAME__V95*/ meltfptr[63] = 0; /*^clear */ /*clear *//*_.CTYPE_KEYWORD__V96*/ meltfptr[95] = 0; /*^clear */ /*clear *//*_.NAMED_NAME__V97*/ meltfptr[96] = 0; /*^clear */ /*clear *//*_.CTYPE_KEYWORD__V98*/ meltfptr[97] = 0; /*^clear */ /*clear *//*_.NAMED_NAME__V99*/ meltfptr[98] = 0; /*epilog */ } ; } /*noelse */ ; MELT_LOCATION ("warmelt-normatch.melt:885:/ clear"); /*clear *//*_.PREVCTYP__V92*/ meltfptr[60] = 0; /*^clear */ /*clear *//*_#__L32*/ meltfnum[11] = 0; MELT_LOCATION ("warmelt-normatch.melt:898:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^cond */ /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.LOCOCC__V22*/ meltfptr[21]), (melt_ptr_t) (( /*!CLASS_NORMAL_OR_VARIABLE */ meltfrout->tabval[6]))) ) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NORVAR_LOCSYM", melt_magic_discr ((melt_ptr_t) ( /*_.LOCOCC__V22*/ meltfptr[21])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.LOCOCC__V22*/ meltfptr[21]), (1), ( /*_.BXCLOCC__V85*/ meltfptr[53]), "NORVAR_LOCSYM"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NORVAR_NOREXP", melt_magic_discr ((melt_ptr_t) ( /*_.LOCOCC__V22*/ meltfptr[21])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.LOCOCC__V22*/ meltfptr[21]), (0), ( /*_.NMATCH__V3*/ meltfptr[2]), "NORVAR_NOREXP"); ; /*^touch */ meltgc_touch ( /*_.LOCOCC__V22*/ meltfptr[21]); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.LOCOCC__V22*/ meltfptr[21], "put-fields"); ; /*epilog */ } ; } /*noelse */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:901:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L33*/ meltfnum[29] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:901:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L33*/ meltfnum[29]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L34*/ meltfnum[11] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:901:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L34*/ meltfnum[11]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 901; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_variablepat updated reusing orvariable lococc"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.LOCOCC__V22*/ meltfptr[21]; /*_.MELT_DEBUG_FUN__V102*/ meltfptr[63] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V101*/ meltfptr[73] = /*_.MELT_DEBUG_FUN__V102*/ meltfptr[63];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:901:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L34*/ meltfnum[11] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V102*/ meltfptr[63] = 0; } ; } else { /*^cond.else */ /*_.IF___V101*/ meltfptr[73] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:901:/ quasiblock"); /*_.PROGN___V103*/ meltfptr[95] = /*_.IF___V101*/ meltfptr[73];; /*^compute */ /*_.IFCPP___V100*/ meltfptr[57] = /*_.PROGN___V103*/ meltfptr[95];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:901:/ clear"); /*clear *//*_#MELT_NEED_DBG__L33*/ meltfnum[29] = 0; /*^clear */ /*clear *//*_.IF___V101*/ meltfptr[73] = 0; /*^clear */ /*clear *//*_.PROGN___V103*/ meltfptr[95] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V100*/ meltfptr[57] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; { MELT_LOCATION ("warmelt-normatch.melt:902:/ locexp"); #if MELT_HAVE_DEBUG if (melt_need_debug (0)) melt_dbgshortbacktrace (("normpat_variablepat updated reused orvar"), (15)); #endif ; } ; /*_.IFELSE___V83*/ meltfptr[64] = /*_.IFCPP___V100*/ meltfptr[57];; MELT_LOCATION ("warmelt-normatch.melt:878:/ clear"); /*clear *//*_.CTYP__V84*/ meltfptr[68] = 0; /*^clear */ /*clear *//*_.BXCLOCC__V85*/ meltfptr[53] = 0; /*^clear */ /*clear *//*_.IFCPP___V86*/ meltfptr[58] = 0; /*^clear */ /*clear *//*_.IFCPP___V90*/ meltfptr[62] = 0; /*^clear */ /*clear *//*_.IFCPP___V100*/ meltfptr[57] = 0; /*epilog */ } ; } else { MELT_LOCATION ("warmelt-normatch.melt:877:/ cond.else"); /*^block */ /*anyblock */ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:906:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*^cond */ /*cond */ if (( /*nil */ NULL)) /*then */ { /*^cond.then */ /*_.IFELSE___V105*/ meltfptr[97] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:906:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("normpat_variablepat corruption"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (906) ? (906) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V105*/ meltfptr[97] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V104*/ meltfptr[96] = /*_.IFELSE___V105*/ meltfptr[97];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:906:/ clear"); /*clear *//*_.IFELSE___V105*/ meltfptr[97] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V104*/ meltfptr[96] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:905:/ quasiblock"); /*_.PROGN___V106*/ meltfptr[98] = /*_.IFCPP___V104*/ meltfptr[96];; /*^compute */ /*_.IFELSE___V83*/ meltfptr[64] = /*_.PROGN___V106*/ meltfptr[98];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:877:/ clear"); /*clear *//*_.IFCPP___V104*/ meltfptr[96] = 0; /*^clear */ /*clear *//*_.PROGN___V106*/ meltfptr[98] = 0; } ; } ; /*_.IFELSE___V76*/ meltfptr[72] = /*_.IFELSE___V83*/ meltfptr[64];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:871:/ clear"); /*clear *//*_#IS_A__L28*/ meltfnum[26] = 0; /*^clear */ /*clear *//*_.IFELSE___V83*/ meltfptr[64] = 0; } ; } ; /*_.IFELSE___V56*/ meltfptr[52] = /*_.IFELSE___V76*/ meltfptr[72];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:840:/ clear"); /*clear *//*_#IS_A__L25*/ meltfnum[19] = 0; /*^clear */ /*clear *//*_.IFELSE___V76*/ meltfptr[72] = 0; } ; } ; /*_.LET___V42*/ meltfptr[32] = /*_.IFELSE___V56*/ meltfptr[52];; MELT_LOCATION ("warmelt-normatch.melt:833:/ clear"); /*clear *//*_.REALOCOCC__V43*/ meltfptr[39] = 0; /*^clear */ /*clear *//*_.NPATVAR__V44*/ meltfptr[43] = 0; /*^clear */ /*clear *//*_.PATSYM__V45*/ meltfptr[44] = 0; /*^clear */ /*clear *//*_.IFCPP___V46*/ meltfptr[45] = 0; /*^clear */ /*clear *//*_.IFCPP___V50*/ meltfptr[46] = 0; /*^clear */ /*clear *//*_.IFCPP___V52*/ meltfptr[47] = 0; /*^clear */ /*clear *//*_#NULL__L18*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V56*/ meltfptr[52] = 0; MELT_LOCATION ("warmelt-normatch.melt:830:/ quasiblock"); /*_.PROGN___V107*/ meltfptr[60] = /*_.LET___V42*/ meltfptr[32];; /*^compute */ /*_.IFELSE___V37*/ meltfptr[27] = /*_.PROGN___V107*/ meltfptr[60];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:830:/ clear"); /*clear *//*_.IFCPP___V38*/ meltfptr[31] = 0; /*^clear */ /*clear *//*_.LET___V42*/ meltfptr[32] = 0; /*^clear */ /*clear *//*_.PROGN___V107*/ meltfptr[60] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normatch.melt:912:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#NULL__L35*/ meltfnum[11] = (( /*_.LOCOCC__V22*/ meltfptr[21]) == NULL);; MELT_LOCATION ("warmelt-normatch.melt:912:/ cond"); /*cond */ if ( /*_#NULL__L35*/ meltfnum[11]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normatch.melt:913:/ quasiblock"); /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*^msend */ /*msend */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^ojbmsend.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.ENV__V23*/ meltfptr[22]; /*_.CTYP__V110*/ meltfptr[95] = meltgc_send ((melt_ptr_t) ( /*_.NMATCH__V3*/ meltfptr[2]), (melt_ptr_t) (( /*!GET_CTYPE */ meltfrout->tabval[7])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normatch.melt:914:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NORMAL_LET_BINDING */ meltfrout->tabval[8])), (4), "CLASS_NORMAL_LET_BINDING"); /*_.INST__V112*/ meltfptr[53] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V112*/ meltfptr[53])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V112*/ meltfptr[53]), (3), ( /*_.SLOC__V19*/ meltfptr[18]), "LETBIND_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @BINDER", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V112*/ meltfptr[53])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V112*/ meltfptr[53]), (0), ( /*_.PATVAR__V20*/ meltfptr[19]), "BINDER"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_TYPE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V112*/ meltfptr[53])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V112*/ meltfptr[53]), (1), ( /*_.CTYP__V110*/ meltfptr[95]), "LETBIND_TYPE"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_EXPR", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V112*/ meltfptr[53])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V112*/ meltfptr[53]), (2), ( /*_.NMATCH__V3*/ meltfptr[2]), "LETBIND_EXPR"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V112*/ meltfptr[53], "newly made instance"); ; /*_.CBIND__V111*/ meltfptr[68] = /*_.INST__V112*/ meltfptr[53];; MELT_LOCATION ("warmelt-normatch.melt:920:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_LOCSYMOCC */ meltfrout->tabval[4])), (4), "CLASS_NREP_LOCSYMOCC"); /*_.INST__V114*/ meltfptr[62] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V114*/ meltfptr[62])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V114*/ meltfptr[62]), (0), ( /*_.SLOC__V19*/ meltfptr[18]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_CTYP", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V114*/ meltfptr[62])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V114*/ meltfptr[62]), (2), ( /*_.CTYP__V110*/ meltfptr[95]), "NOCC_CTYP"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_SYMB", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V114*/ meltfptr[62])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V114*/ meltfptr[62]), (1), ( /*_.PATVAR__V20*/ meltfptr[19]), "NOCC_SYMB"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_BIND", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V114*/ meltfptr[62])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V114*/ meltfptr[62]), (3), ( /*_.CBIND__V111*/ meltfptr[68]), "NOCC_BIND"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V114*/ meltfptr[62], "newly made instance"); ; /*_.CLOCC__V113*/ meltfptr[58] = /*_.INST__V114*/ meltfptr[62];; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:926:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L36*/ meltfnum[29] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:926:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L36*/ meltfnum[29]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L37*/ meltfnum[26] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:926:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L37*/ meltfnum[26]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 926; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_variablepat ctyp="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CTYP__V110*/ meltfptr[95]; /*^apply.arg */ argtab[5].meltbp_cstring = " clocc="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.CLOCC__V113*/ meltfptr[58]; /*_.MELT_DEBUG_FUN__V117*/ meltfptr[96] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V116*/ meltfptr[97] = /*_.MELT_DEBUG_FUN__V117*/ meltfptr[96];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:926:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L37*/ meltfnum[26] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V117*/ meltfptr[96] = 0; } ; } else { /*^cond.else */ /*_.IF___V116*/ meltfptr[97] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:926:/ quasiblock"); /*_.PROGN___V118*/ meltfptr[98] = /*_.IF___V116*/ meltfptr[97];; /*^compute */ /*_.IFCPP___V115*/ meltfptr[57] = /*_.PROGN___V118*/ meltfptr[98];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:926:/ clear"); /*clear *//*_#MELT_NEED_DBG__L36*/ meltfnum[29] = 0; /*^clear */ /*clear *//*_.IF___V116*/ meltfptr[97] = 0; /*^clear */ /*clear *//*_.PROGN___V118*/ meltfptr[98] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V115*/ meltfptr[57] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; { MELT_LOCATION ("warmelt-normatch.melt:927:/ locexp"); #if MELT_HAVE_DEBUG if (melt_need_debug (0)) melt_dbgshortbacktrace (("normpat_variablepat:: new clocc"), (12)); #endif ; } ; MELT_LOCATION ("warmelt-normatch.melt:929:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.NCX__V24*/ meltfptr[23]), (melt_ptr_t) (( /*!CLASS_NORMALIZATION_CONTEXT */ meltfrout->tabval[9]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.NCX__V24*/ meltfptr[23]) /*=obj*/ ; melt_object_get_field (slot, obj, 6, "NCTX_SYMBCACHEMAP"); /*_.NCTX_SYMBCACHEMAP__V119*/ meltfptr[64] = slot; }; ; } else { /*^cond.else */ /*_.NCTX_SYMBCACHEMAP__V119*/ meltfptr[64] = NULL;; } ; { MELT_LOCATION ("warmelt-normatch.melt:929:/ locexp"); meltgc_put_mapobjects ((meltmapobjects_ptr_t) ( /*_.NCTX_SYMBCACHEMAP__V119*/ meltfptr[64]), (meltobject_ptr_t) ( /*_.PATVAR__V20*/ meltfptr[19]), (melt_ptr_t) ( /*_.CLOCC__V113*/ meltfptr[58])); } ; { MELT_LOCATION ("warmelt-normatch.melt:930:/ locexp"); meltgc_put_mapobjects ((meltmapobjects_ptr_t) ( /*_.PVARLOCMAP__V16*/ meltfptr[15]), (meltobject_ptr_t) ( /*_.PATVAR__V20*/ meltfptr[19]), (melt_ptr_t) ( /*_.CLOCC__V113*/ meltfptr[58])); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:931:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L38*/ meltfnum[19] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:931:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L38*/ meltfnum[19]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L39*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:931:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[9]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L39*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 931; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_variablepat updated patvar="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.PATVAR__V20*/ meltfptr[19]; /*^apply.arg */ argtab[5].meltbp_cstring = " clocc="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.CLOCC__V113*/ meltfptr[58]; /*^apply.arg */ argtab[7].meltbp_cstring = " pvarlocmap="; /*^apply.arg */ argtab[8].meltbp_aptr = (melt_ptr_t *) & /*_.PVARLOCMAP__V16*/ meltfptr[15]; /*_.MELT_DEBUG_FUN__V122*/ 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 MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V121*/ meltfptr[39] = /*_.MELT_DEBUG_FUN__V122*/ meltfptr[43];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:931:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L39*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V122*/ meltfptr[43] = 0; } ; } else { /*^cond.else */ /*_.IF___V121*/ meltfptr[39] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:931:/ quasiblock"); /*_.PROGN___V123*/ meltfptr[44] = /*_.IF___V121*/ meltfptr[39];; /*^compute */ /*_.IFCPP___V120*/ meltfptr[72] = /*_.PROGN___V123*/ meltfptr[44];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:931:/ clear"); /*clear *//*_#MELT_NEED_DBG__L38*/ meltfnum[19] = 0; /*^clear */ /*clear *//*_.IF___V121*/ meltfptr[39] = 0; /*^clear */ /*clear *//*_.PROGN___V123*/ meltfptr[44] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V120*/ meltfptr[72] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; /*^compute */ /*_.LET___V109*/ meltfptr[73] = /*_.IFCPP___V120*/ meltfptr[72];; MELT_LOCATION ("warmelt-normatch.melt:913:/ clear"); /*clear *//*_.CTYP__V110*/ meltfptr[95] = 0; /*^clear */ /*clear *//*_.CBIND__V111*/ meltfptr[68] = 0; /*^clear */ /*clear *//*_.CLOCC__V113*/ meltfptr[58] = 0; /*^clear */ /*clear *//*_.IFCPP___V115*/ meltfptr[57] = 0; /*^clear */ /*clear *//*_.NCTX_SYMBCACHEMAP__V119*/ meltfptr[64] = 0; /*^clear */ /*clear *//*_.IFCPP___V120*/ meltfptr[72] = 0; /*_.IFELSE___V108*/ meltfptr[63] = /*_.LET___V109*/ meltfptr[73];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:912:/ clear"); /*clear *//*_.LET___V109*/ meltfptr[73] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:936:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*^cond */ /*cond */ if (( /*nil */ NULL)) /*then */ { /*^cond.then */ /*_.IFELSE___V125*/ meltfptr[46] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:936:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("normpat_variablepat unexpected lococc"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (936) ? (936) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V125*/ meltfptr[46] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V124*/ meltfptr[45] = /*_.IFELSE___V125*/ meltfptr[46];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:936:/ clear"); /*clear *//*_.IFELSE___V125*/ meltfptr[46] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V124*/ meltfptr[45] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:935:/ quasiblock"); /*_.PROGN___V126*/ meltfptr[47] = /*_.IFCPP___V124*/ meltfptr[45];; /*^compute */ /*_.IFELSE___V108*/ meltfptr[63] = /*_.PROGN___V126*/ meltfptr[47];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:912:/ clear"); /*clear *//*_.IFCPP___V124*/ meltfptr[45] = 0; /*^clear */ /*clear *//*_.PROGN___V126*/ meltfptr[47] = 0; } ; } ; /*_.IFELSE___V37*/ meltfptr[27] = /*_.IFELSE___V108*/ meltfptr[63];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:830:/ clear"); /*clear *//*_#NULL__L35*/ meltfnum[11] = 0; /*^clear */ /*clear *//*_.IFELSE___V108*/ meltfptr[63] = 0; } ; } ; /*_.IFELSE___V30*/ meltfptr[26] = /*_.IFELSE___V37*/ meltfptr[27];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:824:/ clear"); /*clear *//*_#IS_A__L10*/ meltfnum[8] = 0; /*^clear */ /*clear *//*_.IFELSE___V37*/ meltfptr[27] = 0; } ; } ; /*_.LET___V14*/ meltfptr[12] = /*_.IFELSE___V30*/ meltfptr[26];; MELT_LOCATION ("warmelt-normatch.melt:810:/ clear"); /*clear *//*_.STUFFMAP__V15*/ meltfptr[14] = 0; /*^clear */ /*clear *//*_.PVARLOCMAP__V16*/ meltfptr[15] = 0; /*^clear */ /*clear *//*_.PCTN_SRC__V17*/ meltfptr[16] = 0; /*^clear */ /*clear *//*_.PSLOC__V18*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_.SLOC__V19*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_.PATVAR__V20*/ meltfptr[19] = 0; /*^clear */ /*clear *//*_.TSTUFF__V21*/ meltfptr[20] = 0; /*^clear */ /*clear *//*_.LOCOCC__V22*/ meltfptr[21] = 0; /*^clear */ /*clear *//*_.ENV__V23*/ meltfptr[22] = 0; /*^clear */ /*clear *//*_.NCX__V24*/ meltfptr[23] = 0; /*^clear */ /*clear *//*_.TESTLIST__V25*/ meltfptr[24] = 0; /*^clear */ /*clear *//*_.IFCPP___V26*/ meltfptr[25] = 0; /*^clear */ /*clear *//*_#IS_A__L7*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V30*/ meltfptr[26] = 0; MELT_LOCATION ("warmelt-normatch.melt:805:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V14*/ meltfptr[12];; { MELT_LOCATION ("warmelt-normatch.melt:805:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V6*/ meltfptr[5] = 0; /*^clear */ /*clear *//*_.IFCPP___V10*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.IFCPP___V12*/ meltfptr[7] = 0; /*^clear */ /*clear *//*_.LET___V14*/ meltfptr[12] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("NORMPAT_VARIABLEPAT", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_20_warmelt_normatch_NORMPAT_VARIABLEPAT_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_20_warmelt_normatch_NORMPAT_VARIABLEPAT */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_21_warmelt_normatch_NORMPAT_JOKERPAT (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un * meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un * meltxrestab_) { long current_blocklevel_signals_meltrout_21_warmelt_normatch_NORMPAT_JOKERPAT_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_21_warmelt_normatch_NORMPAT_JOKERPAT_st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 13 melt_ptr_t mcfr_varptr[13]; #define MELTFRAM_NBVARNUM 4 long mcfr_varnum[4]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_21_warmelt_normatch_NORMPAT_JOKERPAT is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_21_warmelt_normatch_NORMPAT_JOKERPAT_st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 13; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_21_warmelt_normatch_NORMPAT_JOKERPAT nbval 13*/ meltfram__.mcfr_nbvar = 13 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("NORMPAT_JOKERPAT", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normatch.melt:949:/ getarg"); /*_.RECV__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.NMATCH__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.NMATCH__V3*/ meltfptr[2])) != NULL); /*getarg#2 */ /*^getarg */ if (meltxargdescr_[1] != MELTBPAR_PTR) goto lab_endgetargs; /*_.HDLER__V4*/ meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.HDLER__V4*/ meltfptr[3])) != NULL); /*getarg#3 */ /*^getarg */ if (meltxargdescr_[2] != MELTBPAR_PTR) goto lab_endgetargs; /*_.PCN__V5*/ meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:950:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:950:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:950:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 950; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_jokerpat recv="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.RECV__V2*/ meltfptr[1]; /*^apply.arg */ argtab[5].meltbp_cstring = " nmatch="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.NMATCH__V3*/ meltfptr[2]; /*_.MELT_DEBUG_FUN__V8*/ 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 MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V7*/ meltfptr[6] = /*_.MELT_DEBUG_FUN__V8*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:950:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V8*/ meltfptr[7] = 0; } ; } else { /*^cond.else */ /*_.IF___V7*/ meltfptr[6] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:950:/ quasiblock"); /*_.PROGN___V9*/ meltfptr[7] = /*_.IF___V7*/ meltfptr[6];; /*^compute */ /*_.IFCPP___V6*/ meltfptr[5] = /*_.PROGN___V9*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:950:/ clear"); /*clear *//*_#MELT_NEED_DBG__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V7*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.PROGN___V9*/ meltfptr[7] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V6*/ meltfptr[5] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:951:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L3*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_SOURCE_PATTERN_JOKER_VARIABLE */ meltfrout->tabval[1])));; MELT_LOCATION ("warmelt-normatch.melt:951:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V11*/ meltfptr[7] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:951:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check recv"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (951) ? (951) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V11*/ meltfptr[7] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[6] = /*_.IFELSE___V11*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:951:/ clear"); /*clear *//*_#IS_A__L3*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V11*/ meltfptr[7] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V10*/ meltfptr[6] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:952:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L4*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]), (melt_ptr_t) (( /*!CLASS_PATTERN_CONTEXT */ meltfrout->tabval[2])));; MELT_LOCATION ("warmelt-normatch.melt:952:/ cond"); /*cond */ if ( /*_#IS_A__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V13*/ meltfptr[12] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:952:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check pcn"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (952) ? (952) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V13*/ meltfptr[12] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V12*/ meltfptr[7] = /*_.IFELSE___V13*/ meltfptr[12];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:952:/ clear"); /*clear *//*_#IS_A__L4*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V13*/ meltfptr[12] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V12*/ meltfptr[7] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:949:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.IFCPP___V12*/ meltfptr[7];; { MELT_LOCATION ("warmelt-normatch.melt:949:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V6*/ meltfptr[5] = 0; /*^clear */ /*clear *//*_.IFCPP___V10*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.IFCPP___V12*/ meltfptr[7] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("NORMPAT_JOKERPAT", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_21_warmelt_normatch_NORMPAT_JOKERPAT_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_21_warmelt_normatch_NORMPAT_JOKERPAT */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_22_warmelt_normatch_NORMPAT_INSTANCEPAT (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un * meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un * meltxrestab_) { long current_blocklevel_signals_meltrout_22_warmelt_normatch_NORMPAT_INSTANCEPAT_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_22_warmelt_normatch_NORMPAT_INSTANCEPAT_st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 171 melt_ptr_t mcfr_varptr[171]; #define MELTFRAM_NBVARNUM 53 long mcfr_varnum[53]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_22_warmelt_normatch_NORMPAT_INSTANCEPAT is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_22_warmelt_normatch_NORMPAT_INSTANCEPAT_st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 171; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_22_warmelt_normatch_NORMPAT_INSTANCEPAT nbval 171*/ meltfram__.mcfr_nbvar = 171 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("NORMPAT_INSTANCEPAT", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normatch.melt:963:/ getarg"); /*_.RECV__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.NMATCH__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.NMATCH__V3*/ meltfptr[2])) != NULL); /*getarg#2 */ /*^getarg */ if (meltxargdescr_[1] != MELTBPAR_PTR) goto lab_endgetargs; /*_.HDLER__V4*/ meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.HDLER__V4*/ meltfptr[3])) != NULL); /*getarg#3 */ /*^getarg */ if (meltxargdescr_[2] != MELTBPAR_PTR) goto lab_endgetargs; /*_.PCN__V5*/ meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:964:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:964:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:964:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 964; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_instancepat start recv="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.RECV__V2*/ meltfptr[1]; /*^apply.arg */ argtab[5].meltbp_cstring = " nmatch="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.NMATCH__V3*/ meltfptr[2]; /*_.MELT_DEBUG_FUN__V8*/ 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 MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V7*/ meltfptr[6] = /*_.MELT_DEBUG_FUN__V8*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:964:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V8*/ meltfptr[7] = 0; } ; } else { /*^cond.else */ /*_.IF___V7*/ meltfptr[6] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:964:/ quasiblock"); /*_.PROGN___V9*/ meltfptr[7] = /*_.IF___V7*/ meltfptr[6];; /*^compute */ /*_.IFCPP___V6*/ meltfptr[5] = /*_.PROGN___V9*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:964:/ clear"); /*clear *//*_#MELT_NEED_DBG__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V7*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.PROGN___V9*/ meltfptr[7] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V6*/ meltfptr[5] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:965:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L3*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]), (melt_ptr_t) (( /*!CLASS_PATTERN_CONTEXT */ meltfrout->tabval[1])));; MELT_LOCATION ("warmelt-normatch.melt:965:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V11*/ meltfptr[7] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:965:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check pcn"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (965) ? (965) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V11*/ meltfptr[7] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[6] = /*_.IFELSE___V11*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:965:/ clear"); /*clear *//*_#IS_A__L3*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V11*/ meltfptr[7] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V10*/ meltfptr[6] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:966:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L4*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_SOURCE_PATTERN_INSTANCE */ meltfrout->tabval[2])));; MELT_LOCATION ("warmelt-normatch.melt:966:/ cond"); /*cond */ if ( /*_#IS_A__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V13*/ meltfptr[12] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:966:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check recv"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (966) ? (966) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V13*/ meltfptr[12] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V12*/ meltfptr[7] = /*_.IFELSE___V13*/ meltfptr[12];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:966:/ clear"); /*clear *//*_#IS_A__L4*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V13*/ meltfptr[12] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V12*/ meltfptr[7] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:967:/ quasiblock"); /*^cond */ /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]), (melt_ptr_t) (( /*!CLASS_PATTERN_CONTEXT */ meltfrout->tabval[1]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "PCTN_SRC"); /*_.PCTN_SRC__V15*/ meltfptr[14] = slot; }; ; } else { /*^cond.else */ /*_.PCTN_SRC__V15*/ meltfptr[14] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:967:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.PCTN_SRC__V15*/ meltfptr[14]), (melt_ptr_t) (( /*!CLASS_LOCATED */ meltfrout->tabval[3]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.PCTN_SRC__V15*/ meltfptr[14]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "LOCA_LOCATION"); /*_.PSLOC__V16*/ meltfptr[15] = slot; }; ; } else { /*^cond.else */ /*_.PSLOC__V16*/ meltfptr[15] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:968:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_LOCATED */ meltfrout->tabval[3]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "LOCA_LOCATION"); /*_.SLOC__V17*/ meltfptr[16] = slot; }; ; } else { /*^cond.else */ /*_.SLOC__V17*/ meltfptr[16] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:969:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "PCTN_ENV"); /*_.ENV__V18*/ meltfptr[17] = slot; }; ; MELT_LOCATION ("warmelt-normatch.melt:970:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_SOURCE_PATTERN_OBJECT */ meltfrout->tabval[4]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 3, "SPAT_CLASS"); /*_.PATCLA__V19*/ meltfptr[18] = slot; }; ; } else { /*^cond.else */ /*_.PATCLA__V19*/ meltfptr[18] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:971:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_SOURCE_PATTERN_OBJECT */ meltfrout->tabval[4]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 4, "SPAT_FIELDS"); /*_.PATFIELDS__V20*/ meltfptr[19] = slot; }; ; } else { /*^cond.else */ /*_.PATFIELDS__V20*/ meltfptr[19] = NULL;; } ; /*^compute */ /*_.OLDENV__V21*/ meltfptr[20] = /*_.ENV__V18*/ meltfptr[17];; MELT_LOCATION ("warmelt-normatch.melt:973:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]), (melt_ptr_t) (( /*!CLASS_PATTERN_CONTEXT */ meltfrout->tabval[1]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]) /*=obj*/ ; melt_object_get_field (slot, obj, 0, "PCTN_NORMCTXT"); /*_.NCX__V22*/ meltfptr[21] = slot; }; ; } else { /*^cond.else */ /*_.NCX__V22*/ meltfptr[21] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:974:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]), (melt_ptr_t) (( /*!CLASS_PATTERN_CONTEXT */ meltfrout->tabval[1]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]) /*=obj*/ ; melt_object_get_field (slot, obj, 7, "PCTN_STUFFMAP"); /*_.STUFFMAP__V23*/ meltfptr[22] = slot; }; ; } else { /*^cond.else */ /*_.STUFFMAP__V23*/ meltfptr[22] = NULL;; } ; /*^compute */ /*_.TSTUFF__V24*/ meltfptr[23] = /*mapobject_get */ melt_get_mapobjects ((meltmapobjects_ptr_t) ( /*_.STUFFMAP__V23*/ meltfptr[22]), (meltobject_ptr_t) ( /*_.NMATCH__V3*/ meltfptr[2]));; /*^compute */ /*_.TESTER__V25*/ meltfptr[24] = ( /*nil */ NULL);; /*^compute */ /*_.CURHDLER__V26*/ meltfptr[25] = /*_.HDLER__V4*/ meltfptr[3];; MELT_LOCATION ("warmelt-normatch.melt:978:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]), (melt_ptr_t) (( /*!CLASS_PATTERN_CONTEXT */ meltfrout->tabval[1]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]) /*=obj*/ ; melt_object_get_field (slot, obj, 9, "PCTN_TESTS"); /*_.TESTLIST__V27*/ meltfptr[26] = slot; }; ; } else { /*^cond.else */ /*_.TESTLIST__V27*/ meltfptr[26] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:981:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^msend */ /*msend */ { union meltparam_un argtab[3]; memset (&argtab, 0, sizeof (argtab)); /*^ojbmsend.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.ENV__V18*/ meltfptr[17]; /*^ojbmsend.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.NCX__V22*/ meltfptr[21]; /*^ojbmsend.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & /*_.SLOC__V17*/ meltfptr[16]; /*_.NPATCLA__V28*/ meltfptr[27] = meltgc_send ((melt_ptr_t) ( /*_.PATCLA__V19*/ meltfptr[18]), (melt_ptr_t) (( /*!NORMAL_EXP */ meltfrout->tabval[5])), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:983:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L5*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.PATCLA__V19*/ meltfptr[18]), (melt_ptr_t) (( /*!CLASS_CLASS */ meltfrout-> tabval[6])));; MELT_LOCATION ("warmelt-normatch.melt:983:/ cond"); /*cond */ if ( /*_#IS_A__L5*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V30*/ meltfptr[29] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:983:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check patcla"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (983) ? (983) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V30*/ meltfptr[29] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V29*/ meltfptr[28] = /*_.IFELSE___V30*/ meltfptr[29];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:983:/ clear"); /*clear *//*_#IS_A__L5*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V30*/ meltfptr[29] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V29*/ meltfptr[28] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:985:/ loop"); /*loop */ { labloop_LOOPSTUFF_2:; /*^loopbody */ /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:987:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L6*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:987:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L6*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L7*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:987:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L7*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 987; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_instancepat loop tstuff"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.TSTUFF__V24*/ meltfptr[23]; /*_.MELT_DEBUG_FUN__V35*/ meltfptr[34] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V34*/ meltfptr[33] = /*_.MELT_DEBUG_FUN__V35*/ meltfptr[34];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:987:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L7*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V35*/ meltfptr[34] = 0; } ; } else { /*^cond.else */ /*_.IF___V34*/ meltfptr[33] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:987:/ quasiblock"); /*_.PROGN___V36*/ meltfptr[34] = /*_.IF___V34*/ meltfptr[33];; /*^compute */ /*_.IFCPP___V33*/ meltfptr[32] = /*_.PROGN___V36*/ meltfptr[34];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:987:/ clear"); /*clear *//*_#MELT_NEED_DBG__L6*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V34*/ meltfptr[33] = 0; /*^clear */ /*clear *//*_.PROGN___V36*/ meltfptr[34] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V33*/ meltfptr[32] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:990:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^cond */ /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.TSTUFF__V24*/ meltfptr[23]), (melt_ptr_t) (( /*!CLASS_NORMTESTER_INSTANCE */ meltfrout->tabval[7]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.TSTUFF__V24*/ meltfptr[23]) /*=obj*/ ; melt_object_get_field (slot, obj, 7, "NTINST_CLASS"); /*_.NTINST_CLASS__V37*/ meltfptr[33] = slot; }; ; } else { /*^cond.else */ /*_.NTINST_CLASS__V37*/ meltfptr[33] = NULL;; } ; /*^compute */ /*_#__L8*/ meltfnum[1] = (( /*_.NTINST_CLASS__V37*/ meltfptr[33]) == ( /*_.PATCLA__V19*/ meltfptr[18]));; MELT_LOCATION ("warmelt-normatch.melt:990:/ cond"); /*cond */ if ( /*_#__L8*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normatch.melt:991:/ compute"); /*_.TESTER__V25*/ meltfptr[24] = /*_.SETQ___V39*/ meltfptr[38] = /*_.TSTUFF__V24*/ meltfptr[23];; MELT_LOCATION ("warmelt-normatch.melt:992:/ quasiblock"); /*^compute */ /*_.LOOPSTUFF__V32*/ meltfptr[31] = NULL;; /*^exit */ /*exit */ { goto labexit_LOOPSTUFF_2; } ; MELT_LOCATION ("warmelt-normatch.melt:990:/ quasiblock"); /*epilog */ /*^clear */ /*clear *//*_.SETQ___V39*/ meltfptr[38] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normatch.melt:994:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#IS_A__L9*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.TSTUFF__V24*/ meltfptr[23]), (melt_ptr_t) (( /*!CLASS_NORMTESTER_ANY */ meltfrout->tabval[8])));; MELT_LOCATION ("warmelt-normatch.melt:994:/ cond"); /*cond */ if ( /*_#IS_A__L9*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normatch.melt:995:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.TSTUFF__V24*/ meltfptr[23]), (melt_ptr_t) (( /*!CLASS_NORMTESTER_ANY */ meltfrout->tabval[8]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.TSTUFF__V24*/ meltfptr[23]) /*=obj*/ ; melt_object_get_field (slot, obj, 3, "NTEST_ELSE"); /*_.NTEST_ELSE__V41*/ meltfptr[40] = slot; }; ; } else { /*^cond.else */ /*_.NTEST_ELSE__V41*/ meltfptr[40] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:995:/ compute"); /*_.TSTUFF__V24*/ meltfptr[23] = /*_.SETQ___V42*/ meltfptr[41] = /*_.NTEST_ELSE__V41*/ meltfptr[40];; MELT_LOCATION ("warmelt-normatch.melt:997:/ quasiblock"); /*^newclosure */ /*newclosure *//*_.LAMBDA___V44*/ meltfptr[43] = (melt_ptr_t) meltgc_new_closure ((meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_CLOSURE)))), (meltroutine_ptr_t) (( /*!konst_11 */ meltfrout->tabval[11])), (1)); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V44*/ meltfptr[43])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 0 >= 0 && 0 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V44*/ meltfptr[43]))); ((meltclosure_ptr_t) /*_.LAMBDA___V44*/ meltfptr[43])-> tabval[0] = (melt_ptr_t) ( /*_.TSTUFF__V24*/ meltfptr[23]); ; /*_.LAMBDA___V43*/ meltfptr[42] = /*_.LAMBDA___V44*/ meltfptr[43];; MELT_LOCATION ("warmelt-normatch.melt:996:/ compute"); /*_.CURHDLER__V26*/ meltfptr[25] = /*_.SETQ___V45*/ meltfptr[44] = /*_.LAMBDA___V43*/ meltfptr[42];; MELT_LOCATION ("warmelt-normatch.melt:994:/ quasiblock"); /*_.PROGN___V46*/ meltfptr[45] = /*_.SETQ___V45*/ meltfptr[44];; /*^compute */ /*_.IFELSE___V40*/ meltfptr[38] = /*_.PROGN___V46*/ meltfptr[45];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:994:/ clear"); /*clear *//*_.NTEST_ELSE__V41*/ meltfptr[40] = 0; /*^clear */ /*clear *//*_.SETQ___V42*/ meltfptr[41] = 0; /*^clear */ /*clear *//*_.LAMBDA___V43*/ meltfptr[42] = 0; /*^clear */ /*clear *//*_.SETQ___V45*/ meltfptr[44] = 0; /*^clear */ /*clear *//*_.PROGN___V46*/ meltfptr[45] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normatch.melt:1005:/ quasiblock"); MELT_LOCATION ("warmelt-normatch.melt:1009:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.PATCLA__V19*/ meltfptr[18]), (melt_ptr_t) (( /*!CLASS_CLASS */ meltfrout->tabval[6]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.PATCLA__V19*/ meltfptr[18]) /*=obj*/ ; melt_object_get_field (slot, obj, 6, "CLASS_FIELDS"); /*_.CLASS_FIELDS__V47*/ meltfptr[40] = slot; }; ; } else { /*^cond.else */ /*_.CLASS_FIELDS__V47*/ meltfptr[40] = NULL;; } ; /*^compute */ /*_#MULTIPLE_LENGTH__L10*/ meltfnum[9] = (melt_multiple_length ((melt_ptr_t) ( /*_.CLASS_FIELDS__V47*/ meltfptr[40])));; /*^compute */ /*_.NEWFIELDLOCS__V48*/ meltfptr[41] = (meltgc_new_multiple ((meltobject_ptr_t) (( /*!DISCR_MULTIPLE */ meltfrout->tabval[12])), ( /*_#MULTIPLE_LENGTH__L10*/ meltfnum[9])));; MELT_LOCATION ("warmelt-normatch.melt:1012:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_.MAKE_LIST__V49*/ meltfptr[42] = (meltgc_new_list ((meltobject_ptr_t) (( /*!DISCR_LIST */ meltfrout->tabval[13]))));; /*^compute */ /*_.MAKE_LIST__V50*/ meltfptr[44] = (meltgc_new_list ((meltobject_ptr_t) (( /*!DISCR_LIST */ meltfrout->tabval[13]))));; MELT_LOCATION ("warmelt-normatch.melt:1012:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NORMTESTER_INSTANCE */ meltfrout->tabval[7])), (9), "CLASS_NORMTESTER_INSTANCE"); /*_.INST__V52*/ meltfptr[51] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V52*/ meltfptr[51])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V52*/ meltfptr[51]), (0), ( /*_.SLOC__V17*/ meltfptr[16]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NTEST_MATCHED", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V52*/ meltfptr[51])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V52*/ meltfptr[51]), (1), ( /*_.NMATCH__V3*/ meltfptr[2]), "NTEST_MATCHED"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NTEST_THEN", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V52*/ meltfptr[51])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V52*/ meltfptr[51]), (2), (( /*nil */ NULL)), "NTEST_THEN"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NTEST_ELSE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V52*/ meltfptr[51])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V52*/ meltfptr[51]), (3), (( /*nil */ NULL)), "NTEST_ELSE"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NTEST_LOCCLIST", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V52*/ meltfptr[51])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V52*/ meltfptr[51]), (5), ( /*_.MAKE_LIST__V49*/ meltfptr[42]), "NTEST_LOCCLIST"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NTEST_COMEFROM", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V52*/ meltfptr[51])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V52*/ meltfptr[51]), (6), ( /*_.MAKE_LIST__V50*/ meltfptr[44]), "NTEST_COMEFROM"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NTINST_CLASS", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V52*/ meltfptr[51])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V52*/ meltfptr[51]), (7), ( /*_.NPATCLA__V28*/ meltfptr[27]), "NTINST_CLASS"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NTINST_FIELDLOCS", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V52*/ meltfptr[51])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V52*/ meltfptr[51]), (8), ( /*_.NEWFIELDLOCS__V48*/ meltfptr[41]), "NTINST_FIELDLOCS"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V52*/ meltfptr[51], "newly made instance"); ; /*_.NEWTESTER__V51*/ meltfptr[45] = /*_.INST__V52*/ meltfptr[51];; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1023:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L11*/ meltfnum[10] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1023:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L11*/ meltfnum[10]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L12*/ meltfnum[11] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1023:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L12*/ meltfnum[11]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1023; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_instancepat newtester"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NEWTESTER__V51*/ meltfptr[45]; /*_.MELT_DEBUG_FUN__V55*/ meltfptr[54] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V54*/ meltfptr[53] = /*_.MELT_DEBUG_FUN__V55*/ meltfptr[54];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1023:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L12*/ meltfnum[11] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V55*/ meltfptr[54] = 0; } ; } else { /*^cond.else */ /*_.IF___V54*/ meltfptr[53] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1023:/ quasiblock"); /*_.PROGN___V56*/ meltfptr[54] = /*_.IF___V54*/ meltfptr[53];; /*^compute */ /*_.IFCPP___V53*/ meltfptr[52] = /*_.PROGN___V56*/ meltfptr[54];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1023:/ clear"); /*clear *//*_#MELT_NEED_DBG__L11*/ meltfnum[10] = 0; /*^clear */ /*clear *//*_.IF___V54*/ meltfptr[53] = 0; /*^clear */ /*clear *//*_.PROGN___V56*/ meltfptr[54] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V53*/ meltfptr[52] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:1024:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.PCN__V5*/ meltfptr[4]; /*_.REGISTER_NEW_NORMTESTER__V57*/ meltfptr[53] = melt_apply ((meltclosure_ptr_t) (( /*!REGISTER_NEW_NORMTESTER */ meltfrout->tabval[14])), (melt_ptr_t) ( /*_.NEWTESTER__V51*/ meltfptr[45]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normatch.melt:1025:/ compute"); /*_.TESTER__V25*/ meltfptr[24] = /*_.SETQ___V58*/ meltfptr[54] = /*_.NEWTESTER__V51*/ meltfptr[45];; { MELT_LOCATION ("warmelt-normatch.melt:1026:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.TESTLIST__V27*/ meltfptr[26]), (melt_ptr_t) ( /*_.NEWTESTER__V51*/ meltfptr[45])); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1027:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L13*/ meltfnum[11] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1027:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L13*/ meltfnum[11]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L14*/ meltfnum[10] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1027:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L14*/ meltfnum[10]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1027; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_instancepat before calling curhdler"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CURHDLER__V26*/ meltfptr[25]; /*_.MELT_DEBUG_FUN__V61*/ meltfptr[60] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V60*/ meltfptr[59] = /*_.MELT_DEBUG_FUN__V61*/ meltfptr[60];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1027:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L14*/ meltfnum[10] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V61*/ meltfptr[60] = 0; } ; } else { /*^cond.else */ /*_.IF___V60*/ meltfptr[59] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1027:/ quasiblock"); /*_.PROGN___V62*/ meltfptr[60] = /*_.IF___V60*/ meltfptr[59];; /*^compute */ /*_.IFCPP___V59*/ meltfptr[58] = /*_.PROGN___V62*/ meltfptr[60];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1027:/ clear"); /*clear *//*_#MELT_NEED_DBG__L13*/ meltfnum[11] = 0; /*^clear */ /*clear *//*_.IF___V60*/ meltfptr[59] = 0; /*^clear */ /*clear *//*_.PROGN___V62*/ meltfptr[60] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V59*/ meltfptr[58] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:1028:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { /*_.CURHDLER__V63*/ meltfptr[59] = melt_apply ((meltclosure_ptr_t) ( /*_.CURHDLER__V26*/ meltfptr[25]), (melt_ptr_t) ( /*_.TESTER__V25*/ meltfptr[24]), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1029:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L15*/ meltfnum[10] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1029:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L15*/ meltfnum[10]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L16*/ meltfnum[11] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1029:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L16*/ meltfnum[11]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1029; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_instancepat after calling curhdler"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CURHDLER__V26*/ meltfptr[25]; /*_.MELT_DEBUG_FUN__V66*/ meltfptr[65] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V65*/ meltfptr[64] = /*_.MELT_DEBUG_FUN__V66*/ meltfptr[65];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1029:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L16*/ meltfnum[11] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V66*/ meltfptr[65] = 0; } ; } else { /*^cond.else */ /*_.IF___V65*/ meltfptr[64] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1029:/ quasiblock"); /*_.PROGN___V67*/ meltfptr[65] = /*_.IF___V65*/ meltfptr[64];; /*^compute */ /*_.IFCPP___V64*/ meltfptr[60] = /*_.PROGN___V67*/ meltfptr[65];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1029:/ clear"); /*clear *//*_#MELT_NEED_DBG__L15*/ meltfnum[10] = 0; /*^clear */ /*clear *//*_.IF___V65*/ meltfptr[64] = 0; /*^clear */ /*clear *//*_.PROGN___V67*/ meltfptr[65] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V64*/ meltfptr[60] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:1030:/ quasiblock"); /*^compute */ /*_.LOOPSTUFF__V32*/ meltfptr[31] = NULL;; /*^exit */ /*exit */ { goto labexit_LOOPSTUFF_2; } ; MELT_LOCATION ("warmelt-normatch.melt:1005:/ clear"); /*clear *//*_.CLASS_FIELDS__V47*/ meltfptr[40] = 0; /*^clear */ /*clear *//*_#MULTIPLE_LENGTH__L10*/ meltfnum[9] = 0; /*^clear */ /*clear *//*_.NEWFIELDLOCS__V48*/ meltfptr[41] = 0; /*^clear */ /*clear *//*_.MAKE_LIST__V49*/ meltfptr[42] = 0; /*^clear */ /*clear *//*_.MAKE_LIST__V50*/ meltfptr[44] = 0; /*^clear */ /*clear *//*_.NEWTESTER__V51*/ meltfptr[45] = 0; /*^clear */ /*clear *//*_.IFCPP___V53*/ meltfptr[52] = 0; /*^clear */ /*clear *//*_.REGISTER_NEW_NORMTESTER__V57*/ meltfptr[53] = 0; /*^clear */ /*clear *//*_.SETQ___V58*/ meltfptr[54] = 0; /*^clear */ /*clear *//*_.IFCPP___V59*/ meltfptr[58] = 0; /*^clear */ /*clear *//*_.CURHDLER__V63*/ meltfptr[59] = 0; /*^clear */ /*clear *//*_.IFCPP___V64*/ meltfptr[60] = 0; MELT_LOCATION ("warmelt-normatch.melt:1004:/ quasiblock"); /*epilog */ } ; } ; /*_.IFELSE___V38*/ meltfptr[34] = /*_.IFELSE___V40*/ meltfptr[38];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:990:/ clear"); /*clear *//*_#IS_A__L9*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V40*/ meltfptr[38] = 0; } ; } ; MELT_LOCATION ("warmelt-normatch.melt:985:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V33*/ meltfptr[32] = 0; /*^clear */ /*clear *//*_.NTINST_CLASS__V37*/ meltfptr[33] = 0; /*^clear */ /*clear *//*_#__L8*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V38*/ meltfptr[34] = 0; } ; ; goto labloop_LOOPSTUFF_2; labexit_LOOPSTUFF_2:; /*^loopepilog */ /*loopepilog */ /*_.FOREVER___V31*/ meltfptr[29] = /*_.LOOPSTUFF__V32*/ meltfptr[31];; } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1034:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L17*/ meltfnum[11] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1034:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L17*/ meltfnum[11]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L18*/ meltfnum[10] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1034:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[9]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L18*/ meltfnum[10]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1034; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_instancepat tester="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.TESTER__V25*/ meltfptr[24]; /*^apply.arg */ argtab[5].meltbp_cstring = "recv="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.RECV__V2*/ meltfptr[1]; /*^apply.arg */ argtab[7].meltbp_cstring = " patcla="; /*^apply.arg */ argtab[8].meltbp_aptr = (melt_ptr_t *) & /*_.PATCLA__V19*/ meltfptr[18]; /*_.MELT_DEBUG_FUN__V70*/ 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 MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V69*/ meltfptr[65] = /*_.MELT_DEBUG_FUN__V70*/ meltfptr[40];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1034:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L18*/ meltfnum[10] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V70*/ meltfptr[40] = 0; } ; } else { /*^cond.else */ /*_.IF___V69*/ meltfptr[65] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1034:/ quasiblock"); /*_.PROGN___V71*/ meltfptr[41] = /*_.IF___V69*/ meltfptr[65];; /*^compute */ /*_.IFCPP___V68*/ meltfptr[64] = /*_.PROGN___V71*/ meltfptr[41];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1034:/ clear"); /*clear *//*_#MELT_NEED_DBG__L17*/ meltfnum[11] = 0; /*^clear */ /*clear *//*_.IF___V69*/ meltfptr[65] = 0; /*^clear */ /*clear *//*_.PROGN___V71*/ meltfptr[41] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V68*/ meltfptr[64] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:1035:/ quasiblock"); /*^cond */ /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.TESTER__V25*/ meltfptr[24]), (melt_ptr_t) (( /*!CLASS_NORMTESTER_ANY */ meltfrout->tabval[8]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.TESTER__V25*/ meltfptr[24]) /*=obj*/ ; melt_object_get_field (slot, obj, 5, "NTEST_LOCCLIST"); /*_.TESTLOCCL__V72*/ meltfptr[42] = slot; }; ; } else { /*^cond.else */ /*_.TESTLOCCL__V72*/ meltfptr[42] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1036:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_REFERENCE */ meltfrout->tabval[15])), (1), "CLASS_REFERENCE"); /*_.INST__V74*/ meltfptr[45] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @REFERENCED_VALUE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V74*/ meltfptr[45])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V74*/ meltfptr[45]), (0), ( /*_.TESTER__V25*/ meltfptr[24]), "REFERENCED_VALUE"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V74*/ meltfptr[45], "newly made instance"); ; /*_.TESTERCONT__V73*/ meltfptr[44] = /*_.INST__V74*/ meltfptr[45];; MELT_LOCATION ("warmelt-normatch.melt:1042:/ quasiblock"); /*^newclosure */ /*newclosure *//*_.LAMBDA___V76*/ meltfptr[53] = (melt_ptr_t) meltgc_new_closure ((meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_CLOSURE)))), (meltroutine_ptr_t) (( /*!konst_18 */ meltfrout-> tabval[18])), (0)); ; /*_.LAMBDA___V75*/ meltfptr[52] = /*_.LAMBDA___V76*/ meltfptr[53];; /*^compute */ /*_.SORTEDPATFIELDS__V77*/ meltfptr[54] = meltgc_sort_multiple ((melt_ptr_t) ( /*_.PATFIELDS__V20*/ meltfptr[19]), (melt_ptr_t) ( /*_.LAMBDA___V75*/ meltfptr[52]), (melt_ptr_t) (( /*!DISCR_MULTIPLE */ meltfrout-> tabval[12])));; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1060:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L19*/ meltfnum[9] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1060:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L19*/ meltfnum[9]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L20*/ meltfnum[0] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1060:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L20*/ meltfnum[0]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1060; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_instancepat before loop testercont="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.TESTERCONT__V73*/ meltfptr[44]; /*^apply.arg */ argtab[5].meltbp_cstring = " sortedpatfields="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.SORTEDPATFIELDS__V77*/ meltfptr[54]; /*_.MELT_DEBUG_FUN__V80*/ meltfptr[60] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V79*/ meltfptr[59] = /*_.MELT_DEBUG_FUN__V80*/ meltfptr[60];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1060:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L20*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V80*/ meltfptr[60] = 0; } ; } else { /*^cond.else */ /*_.IF___V79*/ meltfptr[59] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1060:/ quasiblock"); /*_.PROGN___V81*/ meltfptr[38] = /*_.IF___V79*/ meltfptr[59];; /*^compute */ /*_.IFCPP___V78*/ meltfptr[58] = /*_.PROGN___V81*/ meltfptr[38];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1060:/ clear"); /*clear *//*_#MELT_NEED_DBG__L19*/ meltfnum[9] = 0; /*^clear */ /*clear *//*_.IF___V79*/ meltfptr[59] = 0; /*^clear */ /*clear *//*_.PROGN___V81*/ meltfptr[38] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V78*/ meltfptr[58] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1061:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_LIST__L21*/ meltfnum[1] = (melt_magic_discr ((melt_ptr_t) ( /*_.TESTLOCCL__V72*/ meltfptr[42])) == MELTOBMAG_LIST);; MELT_LOCATION ("warmelt-normatch.melt:1061:/ cond"); /*cond */ if ( /*_#IS_LIST__L21*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V83*/ meltfptr[33] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:1061:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check testbindl"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (1061) ? (1061) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V83*/ meltfptr[33] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V82*/ meltfptr[32] = /*_.IFELSE___V83*/ meltfptr[33];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1061:/ clear"); /*clear *//*_#IS_LIST__L21*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V83*/ meltfptr[33] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V82*/ meltfptr[32] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; /*citerblock FOREACH_IN_MULTIPLE */ { /* start foreach_in_multiple meltcit1__EACHTUP */ long meltcit1__EACHTUP_ln = melt_multiple_length ((melt_ptr_t) /*_.SORTEDPATFIELDS__V77*/ meltfptr[54]); for ( /*_#PATIX__L22*/ meltfnum[10] = 0; ( /*_#PATIX__L22*/ meltfnum[10] >= 0) && ( /*_#PATIX__L22*/ meltfnum[10] < meltcit1__EACHTUP_ln); /*_#PATIX__L22*/ meltfnum[10]++) { /*_.CURPATF__V84*/ meltfptr[34] = melt_multiple_nth ((melt_ptr_t) ( /*_.SORTEDPATFIELDS__V77*/ meltfptr[54]), /*_#PATIX__L22*/ meltfnum[10]); #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1065:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L23*/ meltfnum[11] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1065:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L23*/ meltfnum[11]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L24*/ meltfnum[0] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1065:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L24*/ meltfnum[0]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1065; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_instancepat in loop curpatf="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CURPATF__V84*/ meltfptr[34]; /*^apply.arg */ argtab[5].meltbp_cstring = " testercont="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.TESTERCONT__V73*/ meltfptr[44]; /*_.MELT_DEBUG_FUN__V87*/ meltfptr[41] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V86*/ meltfptr[65] = /*_.MELT_DEBUG_FUN__V87*/ meltfptr[41];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1065:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L24*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V87*/ meltfptr[41] = 0; } ; } else { /*^cond.else */ /*_.IF___V86*/ meltfptr[65] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1065:/ quasiblock"); /*_.PROGN___V88*/ meltfptr[60] = /*_.IF___V86*/ meltfptr[65];; /*^compute */ /*_.IFCPP___V85*/ meltfptr[40] = /*_.PROGN___V88*/ meltfptr[60];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1065:/ clear"); /*clear *//*_#MELT_NEED_DBG__L23*/ meltfnum[11] = 0; /*^clear */ /*clear *//*_.IF___V86*/ meltfptr[65] = 0; /*^clear */ /*clear *//*_.PROGN___V88*/ meltfptr[60] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V85*/ meltfptr[40] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1066:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L25*/ meltfnum[9] = melt_is_instance_of ((melt_ptr_t) ( /*_.CURPATF__V84*/ meltfptr[34]), (melt_ptr_t) (( /*!CLASS_SOURCE_FIELD_PATTERN */ meltfrout->tabval[19])));; MELT_LOCATION ("warmelt-normatch.melt:1066:/ cond"); /*cond */ if ( /*_#IS_A__L25*/ meltfnum[9]) /*then */ { /*^cond.then */ /*_.IFELSE___V90*/ meltfptr[38] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:1066:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check curpatf"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (1066) ? (1066) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V90*/ meltfptr[38] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V89*/ meltfptr[59] = /*_.IFELSE___V90*/ meltfptr[38];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1066:/ clear"); /*clear *//*_#IS_A__L25*/ meltfnum[9] = 0; /*^clear */ /*clear *//*_.IFELSE___V90*/ meltfptr[38] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V89*/ meltfptr[59] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:1067:/ quasiblock"); /*^cond */ /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURPATF__V84*/ meltfptr[34]), (melt_ptr_t) (( /*!CLASS_LOCATED */ meltfrout->tabval[3]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURPATF__V84*/ meltfptr[34]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "LOCA_LOCATION"); /*_.FLOC__V92*/ meltfptr[41] = slot; }; ; } else { /*^cond.else */ /*_.FLOC__V92*/ meltfptr[41] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1068:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURPATF__V84*/ meltfptr[34]), (melt_ptr_t) (( /*!CLASS_SOURCE_FIELD_PATTERN */ meltfrout->tabval[19]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURPATF__V84*/ meltfptr[34]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "SPAF_FIELD"); /*_.CURFLD__V93*/ meltfptr[65] = slot; }; ; } else { /*^cond.else */ /*_.CURFLD__V93*/ meltfptr[65] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1069:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURPATF__V84*/ meltfptr[34]), (melt_ptr_t) (( /*!CLASS_SOURCE_FIELD_PATTERN */ meltfrout->tabval[19]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURPATF__V84*/ meltfptr[34]) /*=obj*/ ; melt_object_get_field (slot, obj, 3, "SPAF_PATTERN"); /*_.CURSUBPAT__V94*/ meltfptr[60] = slot; }; ; } else { /*^cond.else */ /*_.CURSUBPAT__V94*/ meltfptr[60] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1070:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURFLD__V93*/ meltfptr[65]), (melt_ptr_t) (( /*!CLASS_FIELD */ meltfrout->tabval[20]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURFLD__V93*/ meltfptr[65]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "FLD_OWNCLASS"); /*_.CURFLDCLA__V95*/ meltfptr[38] = slot; }; ; } else { /*^cond.else */ /*_.CURFLDCLA__V95*/ meltfptr[38] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1072:/ quasiblock"); /*^newclosure */ /*newclosure *//*_.LAMBDA___V97*/ meltfptr[96] = (melt_ptr_t) meltgc_new_closure ((meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_CLOSURE)))), (meltroutine_ptr_t) (( /*!konst_25 */ meltfrout->tabval[25])), (1)); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V97*/ meltfptr[96])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 0 >= 0 && 0 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V97*/ meltfptr[96]))); ((meltclosure_ptr_t) /*_.LAMBDA___V97*/ meltfptr[96])->tabval[0] = (melt_ptr_t) ( /*_.TESTERCONT__V73*/ meltfptr[44]); ; /*_.SUBHDLER__V96*/ meltfptr[95] = /*_.LAMBDA___V97*/ meltfptr[96];; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1084:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L26*/ meltfnum[1] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1084:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L26*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L27*/ meltfnum[0] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1084:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L27*/ meltfnum[0]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1084; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_instancepat curfld"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CURFLD__V93*/ meltfptr[65]; /*_.MELT_DEBUG_FUN__V100*/ 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_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V99*/ meltfptr[98] = /*_.MELT_DEBUG_FUN__V100*/ meltfptr[99];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1084:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L27*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V100*/ meltfptr[99] = 0; } ; } else { /*^cond.else */ /*_.IF___V99*/ meltfptr[98] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1084:/ quasiblock"); /*_.PROGN___V101*/ meltfptr[99] = /*_.IF___V99*/ meltfptr[98];; /*^compute */ /*_.IFCPP___V98*/ meltfptr[97] = /*_.PROGN___V101*/ meltfptr[99];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1084:/ clear"); /*clear *//*_#MELT_NEED_DBG__L26*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IF___V99*/ meltfptr[98] = 0; /*^clear */ /*clear *//*_.PROGN___V101*/ meltfptr[99] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V98*/ meltfptr[97] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:1085:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#__L28*/ meltfnum[11] = (( /*_.CURFLDCLA__V95*/ meltfptr[38]) == ( /*_.PATCLA__V19*/ meltfptr[18]));; MELT_LOCATION ("warmelt-normatch.melt:1085:/ cond"); /*cond */ if ( /*_#__L28*/ meltfnum[11]) /*then */ { /*^cond.then */ /*_.IFELSE___V102*/ meltfptr[98] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:1085:/ cond.else"); /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normatch.melt:1086:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#SUBCLASS_OF__L29*/ meltfnum[9] = melt_is_subclass_of ((meltobject_ptr_t) ( /*_.PATCLA__V19*/ meltfptr[18]), (meltobject_ptr_t) ( /*_.CURFLDCLA__V95*/ meltfptr[38]));; MELT_LOCATION ("warmelt-normatch.melt:1086:/ cond"); /*cond */ if ( /*_#SUBCLASS_OF__L29*/ meltfnum[9]) /*then */ { /*^cond.then */ /*_.IFELSE___V103*/ meltfptr[99] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:1086:/ cond.else"); /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normatch.melt:1087:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURFLD__V93*/ meltfptr[65]), (melt_ptr_t) (( /*!CLASS_NAMED */ meltfrout->tabval[26]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURFLD__V93*/ meltfptr[65]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V104*/ meltfptr[103] = slot; }; ; } else { /*^cond.else */ /*_.NAMED_NAME__V104*/ meltfptr[103] = NULL;; } ; { MELT_LOCATION ("warmelt-normatch.melt:1087:/ locexp"); melt_error_str ((melt_ptr_t) ( /*_.FLOC__V92*/ meltfptr[41]), ("bad field in instance pattern"), (melt_ptr_t) ( /*_.NAMED_NAME__V104*/ meltfptr[103])); } ; /*^quasiblock */ /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1086:/ clear"); /*clear *//*_.NAMED_NAME__V104*/ meltfptr[103] = 0; } ; } ; /*_.IFELSE___V102*/ meltfptr[98] = /*_.IFELSE___V103*/ meltfptr[99];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1085:/ clear"); /*clear *//*_#SUBCLASS_OF__L29*/ meltfnum[9] = 0; /*^clear */ /*clear *//*_.IFELSE___V103*/ meltfptr[99] = 0; } ; } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1088:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L30*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1088:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L30*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L31*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1088:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L31*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1088; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_instancepat before normal_pattern cursubpat"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CURSUBPAT__V94*/ meltfptr[60]; /*_.MELT_DEBUG_FUN__V107*/ meltfptr[106] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V106*/ meltfptr[99] = /*_.MELT_DEBUG_FUN__V107*/ meltfptr[106];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1088:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L31*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V107*/ meltfptr[106] = 0; } ; } else { /*^cond.else */ /*_.IF___V106*/ meltfptr[99] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1088:/ quasiblock"); /*_.PROGN___V108*/ meltfptr[106] = /*_.IF___V106*/ meltfptr[99];; /*^compute */ /*_.IFCPP___V105*/ meltfptr[103] = /*_.PROGN___V108*/ meltfptr[106];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1088:/ clear"); /*clear *//*_#MELT_NEED_DBG__L30*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V106*/ meltfptr[99] = 0; /*^clear */ /*clear *//*_.PROGN___V108*/ meltfptr[106] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V105*/ meltfptr[103] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:1089:/ quasiblock"); /*_.CURLOCCL__V110*/ meltfptr[106] = ( /*nil */ NULL);; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1091:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L32*/ meltfnum[9] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1091:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L32*/ meltfnum[9]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L33*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1091:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L33*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1091; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_instancepat scanning testloccl"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.TESTLOCCL__V72*/ meltfptr[42]; /*_.MELT_DEBUG_FUN__V113*/ meltfptr[112] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V112*/ meltfptr[111] = /*_.MELT_DEBUG_FUN__V113*/ meltfptr[112];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1091:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L33*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V113*/ meltfptr[112] = 0; } ; } else { /*^cond.else */ /*_.IF___V112*/ meltfptr[111] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1091:/ quasiblock"); /*_.PROGN___V114*/ meltfptr[112] = /*_.IF___V112*/ meltfptr[111];; /*^compute */ /*_.IFCPP___V111*/ meltfptr[110] = /*_.PROGN___V114*/ meltfptr[112];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1091:/ clear"); /*clear *//*_#MELT_NEED_DBG__L32*/ meltfnum[9] = 0; /*^clear */ /*clear *//*_.IF___V112*/ meltfptr[111] = 0; /*^clear */ /*clear *//*_.PROGN___V114*/ meltfptr[112] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V111*/ meltfptr[110] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; /*citerblock FOREACH_IN_LIST */ { /* start foreach_in_list meltcit2__EACHLIST */ for ( /*_.TESTPAIR__V115*/ meltfptr[111] = melt_list_first ((melt_ptr_t) /*_.TESTLOCCL__V72*/ meltfptr[42]); melt_magic_discr ((melt_ptr_t) /*_.TESTPAIR__V115*/ meltfptr[111]) == MELTOBMAG_PAIR; /*_.TESTPAIR__V115*/ meltfptr[111] = melt_pair_tail ((melt_ptr_t) /*_.TESTPAIR__V115*/ meltfptr[111])) { /*_.TESTLOCSY__V116*/ meltfptr[112] = melt_pair_head ((melt_ptr_t) /*_.TESTPAIR__V115*/ meltfptr[111]); #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1096:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L34*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.TESTLOCSY__V116*/ meltfptr[112]), (melt_ptr_t) (( /*!CLASS_NREP_LOCSYMOCC */ meltfrout->tabval[27])));; MELT_LOCATION ("warmelt-normatch.melt:1096:/ cond"); /*cond */ if ( /*_#IS_A__L34*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V118*/ meltfptr[117] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:1096:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check testlocsy"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (1096) ? (1096) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V118*/ meltfptr[117] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V117*/ meltfptr[116] = /*_.IFELSE___V118*/ meltfptr[117];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1096:/ clear"); /*clear *//*_#IS_A__L34*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V118*/ meltfptr[117] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V117*/ meltfptr[116] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:1097:/ checksignal"); MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normatch.melt:1098:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.TESTLOCSY__V116*/ meltfptr[112]), (melt_ptr_t) (( /*!CLASS_NREP_SYMOCC */ meltfrout->tabval[28]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.TESTLOCSY__V116*/ meltfptr[112]) /*=obj*/ ; melt_object_get_field (slot, obj, 3, "NOCC_BIND"); /*_.NOCC_BIND__V119*/ meltfptr[117] = slot; }; ; } else { /*^cond.else */ /*_.NOCC_BIND__V119*/ meltfptr[117] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1098:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.NOCC_BIND__V119*/ meltfptr[117]), (melt_ptr_t) (( /*!CLASS_LET_BINDING */ meltfrout->tabval[29]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.NOCC_BIND__V119*/ meltfptr[117]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "LETBIND_EXPR"); /*_.LETBIND_EXPR__V120*/ meltfptr[119] = slot; }; ; } else { /*^cond.else */ /*_.LETBIND_EXPR__V120*/ meltfptr[119] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1098:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.LETBIND_EXPR__V120*/ meltfptr[119]), (melt_ptr_t) (( /*!CLASS_NREP_UNSAFE_GET_FIELD */ meltfrout->tabval[30]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.LETBIND_EXPR__V120*/ meltfptr[119]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "NUGET_FIELD"); /*_.NUGET_FIELD__V121*/ meltfptr[120] = slot; }; ; } else { /*^cond.else */ /*_.NUGET_FIELD__V121*/ meltfptr[120] = NULL;; } ; /*^compute */ /*_#__L35*/ meltfnum[1] = (( /*_.CURFLD__V93*/ meltfptr[65]) == ( /*_.NUGET_FIELD__V121*/ meltfptr[120]));; MELT_LOCATION ("warmelt-normatch.melt:1097:/ cond"); /*cond */ if ( /*_#__L35*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normatch.melt:1100:/ compute"); /*_.TESTPAIR__V115*/ meltfptr[111] = /*_.SETQ___V123*/ meltfptr[122] = ( /*nil */ NULL);; MELT_LOCATION ("warmelt-normatch.melt:1101:/ compute"); /*_.CURLOCCL__V110*/ meltfptr[106] = /*_.SETQ___V124*/ meltfptr[123] = /*_.TESTLOCSY__V116*/ meltfptr[112];; MELT_LOCATION ("warmelt-normatch.melt:1099:/ quasiblock"); /*_.PROGN___V125*/ meltfptr[124] = /*_.SETQ___V124*/ meltfptr[123];; /*^compute */ /*_.IF___V122*/ meltfptr[121] = /*_.PROGN___V125*/ meltfptr[124];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1097:/ clear"); /*clear *//*_.SETQ___V123*/ meltfptr[122] = 0; /*^clear */ /*clear *//*_.SETQ___V124*/ meltfptr[123] = 0; /*^clear */ /*clear *//*_.PROGN___V125*/ meltfptr[124] = 0; } ; } else { /*^cond.else */ /*_.IF___V122*/ meltfptr[121] = NULL;; } ; } /* end foreach_in_list meltcit2__EACHLIST */ /*_.TESTPAIR__V115*/ meltfptr[111] = NULL; /*_.TESTLOCSY__V116*/ meltfptr[112] = NULL; /*citerepilog */ MELT_LOCATION ("warmelt-normatch.melt:1093:/ clear"); /*clear *//*_.TESTPAIR__V115*/ meltfptr[111] = 0; /*^clear */ /*clear *//*_.TESTLOCSY__V116*/ meltfptr[112] = 0; /*^clear */ /*clear *//*_.IFCPP___V117*/ meltfptr[116] = 0; /*^clear */ /*clear *//*_.NOCC_BIND__V119*/ meltfptr[117] = 0; /*^clear */ /*clear *//*_.LETBIND_EXPR__V120*/ meltfptr[119] = 0; /*^clear */ /*clear *//*_.NUGET_FIELD__V121*/ meltfptr[120] = 0; /*^clear */ /*clear *//*_#__L35*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IF___V122*/ meltfptr[121] = 0; } /*endciterblock FOREACH_IN_LIST */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1103:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L36*/ meltfnum[9] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1103:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L36*/ meltfnum[9]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L37*/ meltfnum[0] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1103:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L37*/ meltfnum[0]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1103; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_instancepat got curloccl"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CURLOCCL__V110*/ meltfptr[106]; /*_.MELT_DEBUG_FUN__V128*/ meltfptr[124] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V127*/ meltfptr[123] = /*_.MELT_DEBUG_FUN__V128*/ meltfptr[124];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1103:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L37*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V128*/ meltfptr[124] = 0; } ; } else { /*^cond.else */ /*_.IF___V127*/ meltfptr[123] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1103:/ quasiblock"); /*_.PROGN___V129*/ meltfptr[124] = /*_.IF___V127*/ meltfptr[123];; /*^compute */ /*_.IFCPP___V126*/ meltfptr[122] = /*_.PROGN___V129*/ meltfptr[124];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1103:/ clear"); /*clear *//*_#MELT_NEED_DBG__L36*/ meltfnum[9] = 0; /*^clear */ /*clear *//*_.IF___V127*/ meltfptr[123] = 0; /*^clear */ /*clear *//*_.PROGN___V129*/ meltfptr[124] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V126*/ meltfptr[122] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:1105:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#NULL__L38*/ meltfnum[0] = (( /*_.CURLOCCL__V110*/ meltfptr[106]) == NULL);; MELT_LOCATION ("warmelt-normatch.melt:1105:/ cond"); /*cond */ if ( /*_#NULL__L38*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normatch.melt:1106:/ quasiblock"); MELT_LOCATION ("warmelt-normatch.melt:1107:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURFLD__V93*/ meltfptr[65]), (melt_ptr_t) (( /*!CLASS_NAMED */ meltfrout->tabval[26]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURFLD__V93*/ meltfptr[65]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V132*/ meltfptr[131] = slot; }; ; } else { /*^cond.else */ /*_.NAMED_NAME__V132*/ meltfptr[131] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1107:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { /*_.NEWSYM__V133*/ meltfptr[132] = melt_apply ((meltclosure_ptr_t) (( /*!CLONE_SYMBOL */ meltfrout->tabval[31])), (melt_ptr_t) ( /*_.NAMED_NAME__V132*/ meltfptr[131]), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normatch.melt:1108:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_UNSAFE_GET_FIELD */ meltfrout->tabval[30])), (3), "CLASS_NREP_UNSAFE_GET_FIELD"); /*_.INST__V135*/ meltfptr[134] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V135*/ meltfptr[134])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V135*/ meltfptr[134]), (0), ( /*_.FLOC__V92*/ meltfptr[41]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NUGET_OBJ", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V135*/ meltfptr[134])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V135*/ meltfptr[134]), (1), ( /*_.NMATCH__V3*/ meltfptr[2]), "NUGET_OBJ"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NUGET_FIELD", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V135*/ meltfptr[134])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V135*/ meltfptr[134]), (2), ( /*_.CURFLD__V93*/ meltfptr[65]), "NUGET_FIELD"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V135*/ meltfptr[134], "newly made instance"); ; /*_.NFLEXP__V134*/ meltfptr[133] = /*_.INST__V135*/ meltfptr[134];; MELT_LOCATION ("warmelt-normatch.melt:1112:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NORMAL_LET_BINDING */ meltfrout->tabval[32])), (4), "CLASS_NORMAL_LET_BINDING"); /*_.INST__V137*/ meltfptr[136] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @BINDER", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V137*/ meltfptr[136])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V137*/ meltfptr[136]), (0), ( /*_.NEWSYM__V133*/ meltfptr[132]), "BINDER"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_TYPE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V137*/ meltfptr[136])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V137*/ meltfptr[136]), (1), (( /*!CTYPE_VALUE */ meltfrout-> tabval[33])), "LETBIND_TYPE"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_EXPR", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V137*/ meltfptr[136])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V137*/ meltfptr[136]), (2), ( /*_.NFLEXP__V134*/ meltfptr[133]), "LETBIND_EXPR"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V137*/ meltfptr[136])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V137*/ meltfptr[136]), (3), ( /*_.FLOC__V92*/ meltfptr[41]), "LETBIND_LOC"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V137*/ meltfptr[136], "newly made instance"); ; /*_.NEWBIND__V136*/ meltfptr[135] = /*_.INST__V137*/ meltfptr[136];; MELT_LOCATION ("warmelt-normatch.melt:1117:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_LOCSYMOCC */ meltfrout->tabval[27])), (4), "CLASS_NREP_LOCSYMOCC"); /*_.INST__V139*/ meltfptr[138] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V139*/ meltfptr[138])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V139*/ meltfptr[138]), (0), ( /*_.FLOC__V92*/ meltfptr[41]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_CTYP", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V139*/ meltfptr[138])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V139*/ meltfptr[138]), (2), (( /*!CTYPE_VALUE */ meltfrout-> tabval[33])), "NOCC_CTYP"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_SYMB", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V139*/ meltfptr[138])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V139*/ meltfptr[138]), (1), ( /*_.NEWSYM__V133*/ meltfptr[132]), "NOCC_SYMB"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_BIND", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V139*/ meltfptr[138])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V139*/ meltfptr[138]), (3), ( /*_.NEWBIND__V136*/ meltfptr[135]), "NOCC_BIND"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V139*/ meltfptr[138], "newly made instance"); ; /*_.NEWLOCC__V138*/ meltfptr[137] = /*_.INST__V139*/ meltfptr[138];; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1124:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L39*/ meltfnum[9] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1124:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L39*/ meltfnum[9]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L40*/ meltfnum[39] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1124:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L40*/ meltfnum[39]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1124; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_instancepat newbind="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NEWBIND__V136*/ meltfptr[135]; /*^apply.arg */ argtab[5].meltbp_cstring = "\n* newlocc="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.NEWLOCC__V138*/ meltfptr[137]; /*_.MELT_DEBUG_FUN__V142*/ meltfptr[141] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V141*/ meltfptr[140] = /*_.MELT_DEBUG_FUN__V142*/ meltfptr[141];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1124:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L40*/ meltfnum[39] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V142*/ meltfptr[141] = 0; } ; } else { /*^cond.else */ /*_.IF___V141*/ meltfptr[140] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1124:/ quasiblock"); /*_.PROGN___V143*/ meltfptr[141] = /*_.IF___V141*/ meltfptr[140];; /*^compute */ /*_.IFCPP___V140*/ meltfptr[139] = /*_.PROGN___V143*/ meltfptr[141];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1124:/ clear"); /*clear *//*_#MELT_NEED_DBG__L39*/ meltfnum[9] = 0; /*^clear */ /*clear *//*_.IF___V141*/ meltfptr[140] = 0; /*^clear */ /*clear *//*_.PROGN___V143*/ meltfptr[141] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V140*/ meltfptr[139] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:1127:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.TESTER__V25*/ meltfptr[24]), (melt_ptr_t) (( /*!CLASS_NORMTESTER_INSTANCE */ meltfrout->tabval[7]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.TESTER__V25*/ meltfptr[24]) /*=obj*/ ; melt_object_get_field (slot, obj, 8, "NTINST_FIELDLOCS"); /*_.NTINST_FIELDLOCS__V144*/ meltfptr[140] = slot; }; ; } else { /*^cond.else */ /*_.NTINST_FIELDLOCS__V144*/ meltfptr[140] = NULL;; } ; /*^compute */ /*_#GET_INT__L41*/ meltfnum[39] = (melt_get_int ((melt_ptr_t) ( /*_.CURFLD__V93*/ meltfptr[65])));; { MELT_LOCATION ("warmelt-normatch.melt:1126:/ locexp"); meltgc_multiple_put_nth ((melt_ptr_t) ( /*_.NTINST_FIELDLOCS__V144*/ meltfptr[140]), ( /*_#GET_INT__L41*/ meltfnum[39]), (melt_ptr_t) ( /*_.NEWLOCC__V138*/ meltfptr[137])); } ; MELT_LOCATION ("warmelt-normatch.melt:1131:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.NCX__V22*/ meltfptr[21]), (melt_ptr_t) (( /*!CLASS_NORMALIZATION_CONTEXT */ meltfrout->tabval[34]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.NCX__V22*/ meltfptr[21]) /*=obj*/ ; melt_object_get_field (slot, obj, 6, "NCTX_SYMBCACHEMAP"); /*_.NCTX_SYMBCACHEMAP__V145*/ meltfptr[141] = slot; }; ; } else { /*^cond.else */ /*_.NCTX_SYMBCACHEMAP__V145*/ meltfptr[141] = NULL;; } ; { MELT_LOCATION ("warmelt-normatch.melt:1131:/ locexp"); meltgc_put_mapobjects ((meltmapobjects_ptr_t) ( /*_.NCTX_SYMBCACHEMAP__V145*/ meltfptr[141]), (meltobject_ptr_t) ( /*_.NEWSYM__V133*/ meltfptr[132]), (melt_ptr_t) ( /*_.NEWLOCC__V138*/ meltfptr[137])); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1132:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L42*/ meltfnum[9] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1132:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L42*/ meltfnum[9]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L43*/ meltfnum[42] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1132:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L43*/ meltfnum[42]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1132; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_instancepat updated fieldlocs tester"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.TESTER__V25*/ meltfptr[24]; /*_.MELT_DEBUG_FUN__V148*/ meltfptr[147] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V147*/ meltfptr[146] = /*_.MELT_DEBUG_FUN__V148*/ meltfptr[147];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1132:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L43*/ meltfnum[42] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V148*/ meltfptr[147] = 0; } ; } else { /*^cond.else */ /*_.IF___V147*/ meltfptr[146] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1132:/ quasiblock"); /*_.PROGN___V149*/ meltfptr[147] = /*_.IF___V147*/ meltfptr[146];; /*^compute */ /*_.IFCPP___V146*/ meltfptr[145] = /*_.PROGN___V149*/ meltfptr[147];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1132:/ clear"); /*clear *//*_#MELT_NEED_DBG__L42*/ meltfnum[9] = 0; /*^clear */ /*clear *//*_.IF___V147*/ meltfptr[146] = 0; /*^clear */ /*clear *//*_.PROGN___V149*/ meltfptr[147] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V146*/ meltfptr[145] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; { MELT_LOCATION ("warmelt-normatch.melt:1133:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.TESTLOCCL__V72*/ meltfptr[42]), (melt_ptr_t) ( /*_.NEWLOCC__V138*/ meltfptr[137])); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1134:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L44*/ meltfnum[42] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1134:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L44*/ meltfnum[42]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L45*/ meltfnum[9] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1134:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L45*/ meltfnum[9]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1134; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_instancepat made newlocc"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NEWLOCC__V138*/ meltfptr[137]; /*_.MELT_DEBUG_FUN__V152*/ meltfptr[151] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V151*/ meltfptr[147] = /*_.MELT_DEBUG_FUN__V152*/ meltfptr[151];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1134:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L45*/ meltfnum[9] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V152*/ meltfptr[151] = 0; } ; } else { /*^cond.else */ /*_.IF___V151*/ meltfptr[147] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1134:/ quasiblock"); /*_.PROGN___V153*/ meltfptr[151] = /*_.IF___V151*/ meltfptr[147];; /*^compute */ /*_.IFCPP___V150*/ meltfptr[146] = /*_.PROGN___V153*/ meltfptr[151];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1134:/ clear"); /*clear *//*_#MELT_NEED_DBG__L44*/ meltfnum[42] = 0; /*^clear */ /*clear *//*_.IF___V151*/ meltfptr[147] = 0; /*^clear */ /*clear *//*_.PROGN___V153*/ meltfptr[151] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V150*/ meltfptr[146] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:1135:/ compute"); /*_.CURLOCCL__V110*/ meltfptr[106] = /*_.SETQ___V154*/ meltfptr[147] = /*_.NEWLOCC__V138*/ meltfptr[137];; /*_.LET___V131*/ meltfptr[124] = /*_.SETQ___V154*/ meltfptr[147];; MELT_LOCATION ("warmelt-normatch.melt:1106:/ clear"); /*clear *//*_.NAMED_NAME__V132*/ meltfptr[131] = 0; /*^clear */ /*clear *//*_.NEWSYM__V133*/ meltfptr[132] = 0; /*^clear */ /*clear *//*_.NFLEXP__V134*/ meltfptr[133] = 0; /*^clear */ /*clear *//*_.NEWBIND__V136*/ meltfptr[135] = 0; /*^clear */ /*clear *//*_.NEWLOCC__V138*/ meltfptr[137] = 0; /*^clear */ /*clear *//*_.IFCPP___V140*/ meltfptr[139] = 0; /*^clear */ /*clear *//*_.NTINST_FIELDLOCS__V144*/ meltfptr[140] = 0; /*^clear */ /*clear *//*_#GET_INT__L41*/ meltfnum[39] = 0; /*^clear */ /*clear *//*_.NCTX_SYMBCACHEMAP__V145*/ meltfptr[141] = 0; /*^clear */ /*clear *//*_.IFCPP___V146*/ meltfptr[145] = 0; /*^clear */ /*clear *//*_.IFCPP___V150*/ meltfptr[146] = 0; /*^clear */ /*clear *//*_.SETQ___V154*/ meltfptr[147] = 0; /*_.IF___V130*/ meltfptr[123] = /*_.LET___V131*/ meltfptr[124];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1105:/ clear"); /*clear *//*_.LET___V131*/ meltfptr[124] = 0; } ; } else { /*^cond.else */ /*_.IF___V130*/ meltfptr[123] = NULL;; } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1137:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L46*/ meltfnum[9] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1137:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L46*/ meltfnum[9]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L47*/ meltfnum[42] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1137:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L47*/ meltfnum[42]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1137; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_instancepat before normal_pattern cursubpat"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CURSUBPAT__V94*/ meltfptr[60]; /*_.MELT_DEBUG_FUN__V157*/ meltfptr[132] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V156*/ meltfptr[131] = /*_.MELT_DEBUG_FUN__V157*/ meltfptr[132];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1137:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L47*/ meltfnum[42] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V157*/ meltfptr[132] = 0; } ; } else { /*^cond.else */ /*_.IF___V156*/ meltfptr[131] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1137:/ quasiblock"); /*_.PROGN___V158*/ meltfptr[133] = /*_.IF___V156*/ meltfptr[131];; /*^compute */ /*_.IFCPP___V155*/ meltfptr[151] = /*_.PROGN___V158*/ meltfptr[133];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1137:/ clear"); /*clear *//*_#MELT_NEED_DBG__L46*/ meltfnum[9] = 0; /*^clear */ /*clear *//*_.IF___V156*/ meltfptr[131] = 0; /*^clear */ /*clear *//*_.PROGN___V158*/ meltfptr[133] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V155*/ meltfptr[151] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:1138:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^msend */ /*msend */ { union meltparam_un argtab[3]; memset (&argtab, 0, sizeof (argtab)); /*^ojbmsend.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.CURLOCCL__V110*/ meltfptr[106]; /*^ojbmsend.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.SUBHDLER__V96*/ meltfptr[95]; /*^ojbmsend.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & /*_.PCN__V5*/ meltfptr[4]; /*_.NORMAL_PATTERN__V159*/ meltfptr[135] = meltgc_send ((melt_ptr_t) ( /*_.CURSUBPAT__V94*/ meltfptr[60]), (melt_ptr_t) (( /*!NORMAL_PATTERN */ meltfrout-> tabval[35])), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1139:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L48*/ meltfnum[39] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1139:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L48*/ meltfnum[39]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L49*/ meltfnum[42] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1139:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L49*/ meltfnum[42]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1139; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_instancepat after normal_pattern cursubpat="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CURSUBPAT__V94*/ meltfptr[60]; /*^apply.arg */ argtab[5].meltbp_cstring = " curpatf="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.CURPATF__V84*/ meltfptr[34]; /*_.MELT_DEBUG_FUN__V162*/ meltfptr[140] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V161*/ meltfptr[139] = /*_.MELT_DEBUG_FUN__V162*/ meltfptr[140];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1139:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L49*/ meltfnum[42] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V162*/ meltfptr[140] = 0; } ; } else { /*^cond.else */ /*_.IF___V161*/ meltfptr[139] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1139:/ quasiblock"); /*_.PROGN___V163*/ meltfptr[141] = /*_.IF___V161*/ meltfptr[139];; /*^compute */ /*_.IFCPP___V160*/ meltfptr[137] = /*_.PROGN___V163*/ meltfptr[141];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1139:/ clear"); /*clear *//*_#MELT_NEED_DBG__L48*/ meltfnum[39] = 0; /*^clear */ /*clear *//*_.IF___V161*/ meltfptr[139] = 0; /*^clear */ /*clear *//*_.PROGN___V163*/ meltfptr[141] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V160*/ meltfptr[137] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; /*^compute */ /*_.LET___V109*/ meltfptr[99] = /*_.IFCPP___V160*/ meltfptr[137];; MELT_LOCATION ("warmelt-normatch.melt:1089:/ clear"); /*clear *//*_.CURLOCCL__V110*/ meltfptr[106] = 0; /*^clear */ /*clear *//*_.IFCPP___V111*/ meltfptr[110] = 0; /*^clear */ /*clear *//*_.IFCPP___V126*/ meltfptr[122] = 0; /*^clear */ /*clear *//*_#NULL__L38*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V130*/ meltfptr[123] = 0; /*^clear */ /*clear *//*_.IFCPP___V155*/ meltfptr[151] = 0; /*^clear */ /*clear *//*_.NORMAL_PATTERN__V159*/ meltfptr[135] = 0; /*^clear */ /*clear *//*_.IFCPP___V160*/ meltfptr[137] = 0; /*_.LET___V91*/ meltfptr[33] = /*_.LET___V109*/ meltfptr[99];; MELT_LOCATION ("warmelt-normatch.melt:1067:/ clear"); /*clear *//*_.FLOC__V92*/ meltfptr[41] = 0; /*^clear */ /*clear *//*_.CURFLD__V93*/ meltfptr[65] = 0; /*^clear */ /*clear *//*_.CURSUBPAT__V94*/ meltfptr[60] = 0; /*^clear */ /*clear *//*_.CURFLDCLA__V95*/ meltfptr[38] = 0; /*^clear */ /*clear *//*_.SUBHDLER__V96*/ meltfptr[95] = 0; /*^clear */ /*clear *//*_.IFCPP___V98*/ meltfptr[97] = 0; /*^clear */ /*clear *//*_#__L28*/ meltfnum[11] = 0; /*^clear */ /*clear *//*_.IFELSE___V102*/ meltfptr[98] = 0; /*^clear */ /*clear *//*_.IFCPP___V105*/ meltfptr[103] = 0; /*^clear */ /*clear *//*_.LET___V109*/ meltfptr[99] = 0; if ( /*_#PATIX__L22*/ meltfnum[10] < 0) break; } /* end foreach_in_multiple meltcit1__EACHTUP */ /*citerepilog */ MELT_LOCATION ("warmelt-normatch.melt:1062:/ clear"); /*clear *//*_.CURPATF__V84*/ meltfptr[34] = 0; /*^clear */ /*clear *//*_#PATIX__L22*/ meltfnum[10] = 0; /*^clear */ /*clear *//*_.IFCPP___V85*/ meltfptr[40] = 0; /*^clear */ /*clear *//*_.IFCPP___V89*/ meltfptr[59] = 0; /*^clear */ /*clear *//*_.LET___V91*/ meltfptr[33] = 0; } /*endciterblock FOREACH_IN_MULTIPLE */ ; MELT_LOCATION ("warmelt-normatch.melt:1035:/ clear"); /*clear *//*_.TESTLOCCL__V72*/ meltfptr[42] = 0; /*^clear */ /*clear *//*_.TESTERCONT__V73*/ meltfptr[44] = 0; /*^clear */ /*clear *//*_.LAMBDA___V75*/ meltfptr[52] = 0; /*^clear */ /*clear *//*_.SORTEDPATFIELDS__V77*/ meltfptr[54] = 0; /*^clear */ /*clear *//*_.IFCPP___V78*/ meltfptr[58] = 0; /*^clear */ /*clear *//*_.IFCPP___V82*/ meltfptr[32] = 0; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1143:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L50*/ meltfnum[9] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1143:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L50*/ meltfnum[9]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L51*/ meltfnum[42] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1143:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L51*/ meltfnum[42]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1143; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_instancepat final tester"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.TESTER__V25*/ meltfptr[24]; /*_.MELT_DEBUG_FUN__V166*/ meltfptr[147] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V165*/ meltfptr[146] = /*_.MELT_DEBUG_FUN__V166*/ meltfptr[147];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1143:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L51*/ meltfnum[42] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V166*/ meltfptr[147] = 0; } ; } else { /*^cond.else */ /*_.IF___V165*/ meltfptr[146] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1143:/ quasiblock"); /*_.PROGN___V167*/ meltfptr[124] = /*_.IF___V165*/ meltfptr[146];; /*^compute */ /*_.IFCPP___V164*/ meltfptr[145] = /*_.PROGN___V167*/ meltfptr[124];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1143:/ clear"); /*clear *//*_#MELT_NEED_DBG__L50*/ meltfnum[9] = 0; /*^clear */ /*clear *//*_.IF___V165*/ meltfptr[146] = 0; /*^clear */ /*clear *//*_.PROGN___V167*/ meltfptr[124] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V164*/ meltfptr[145] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; /*^compute */ /*_.LET___V14*/ meltfptr[12] = /*_.IFCPP___V164*/ meltfptr[145];; MELT_LOCATION ("warmelt-normatch.melt:967:/ clear"); /*clear *//*_.PCTN_SRC__V15*/ meltfptr[14] = 0; /*^clear */ /*clear *//*_.PSLOC__V16*/ meltfptr[15] = 0; /*^clear */ /*clear *//*_.SLOC__V17*/ meltfptr[16] = 0; /*^clear */ /*clear *//*_.ENV__V18*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_.PATCLA__V19*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_.PATFIELDS__V20*/ meltfptr[19] = 0; /*^clear */ /*clear *//*_.OLDENV__V21*/ meltfptr[20] = 0; /*^clear */ /*clear *//*_.NCX__V22*/ meltfptr[21] = 0; /*^clear */ /*clear *//*_.STUFFMAP__V23*/ meltfptr[22] = 0; /*^clear */ /*clear *//*_.TSTUFF__V24*/ meltfptr[23] = 0; /*^clear */ /*clear *//*_.TESTER__V25*/ meltfptr[24] = 0; /*^clear */ /*clear *//*_.CURHDLER__V26*/ meltfptr[25] = 0; /*^clear */ /*clear *//*_.TESTLIST__V27*/ meltfptr[26] = 0; /*^clear */ /*clear *//*_.NPATCLA__V28*/ meltfptr[27] = 0; /*^clear */ /*clear *//*_.IFCPP___V29*/ meltfptr[28] = 0; /*^clear */ /*clear *//*_.FOREVER___V31*/ meltfptr[29] = 0; /*^clear */ /*clear *//*_.IFCPP___V68*/ meltfptr[64] = 0; /*^clear */ /*clear *//*_.IFCPP___V164*/ meltfptr[145] = 0; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1145:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L52*/ meltfnum[39] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1145:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L52*/ meltfnum[39]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L53*/ meltfnum[0] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1145:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L53*/ meltfnum[0]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1145; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_instancepat recv end"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.RECV__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V170*/ meltfptr[133] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V169*/ meltfptr[131] = /*_.MELT_DEBUG_FUN__V170*/ meltfptr[133];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1145:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L53*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V170*/ meltfptr[133] = 0; } ; } else { /*^cond.else */ /*_.IF___V169*/ meltfptr[131] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1145:/ quasiblock"); /*_.PROGN___V171*/ meltfptr[140] = /*_.IF___V169*/ meltfptr[131];; /*^compute */ /*_.IFCPP___V168*/ meltfptr[132] = /*_.PROGN___V171*/ meltfptr[140];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1145:/ clear"); /*clear *//*_#MELT_NEED_DBG__L52*/ meltfnum[39] = 0; /*^clear */ /*clear *//*_.IF___V169*/ meltfptr[131] = 0; /*^clear */ /*clear *//*_.PROGN___V171*/ meltfptr[140] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V168*/ meltfptr[132] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:963:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.IFCPP___V168*/ meltfptr[132];; { MELT_LOCATION ("warmelt-normatch.melt:963:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V6*/ meltfptr[5] = 0; /*^clear */ /*clear *//*_.IFCPP___V10*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.IFCPP___V12*/ meltfptr[7] = 0; /*^clear */ /*clear *//*_.LET___V14*/ meltfptr[12] = 0; /*^clear */ /*clear *//*_.IFCPP___V168*/ meltfptr[132] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("NORMPAT_INSTANCEPAT", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_22_warmelt_normatch_NORMPAT_INSTANCEPAT_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_22_warmelt_normatch_NORMPAT_INSTANCEPAT */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_23_warmelt_normatch_LAMBDA___3__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un * meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un * meltxrestab_) { long current_blocklevel_signals_meltrout_23_warmelt_normatch_LAMBDA___3___melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_23_warmelt_normatch_LAMBDA___3___st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 7 melt_ptr_t mcfr_varptr[7]; #define MELTFRAM_NBVARNUM 2 long mcfr_varnum[2]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_23_warmelt_normatch_LAMBDA___3__ is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_23_warmelt_normatch_LAMBDA___3___st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 7; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_23_warmelt_normatch_LAMBDA___3__ nbval 7*/ meltfram__.mcfr_nbvar = 7 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("LAMBDA_", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normatch.melt:997:/ getarg"); /*_.TESTER__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { { MELT_LOCATION ("warmelt-normatch.melt:998:/ locexp"); #if MELT_HAVE_DEBUG if (melt_need_debug (0)) melt_dbgshortbacktrace (("normpat_instancepat lambda"), (15)); #endif ; } ; MELT_LOCATION ("warmelt-normatch.melt:999:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^cond */ /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) (( /*~TSTUFF */ meltfclos-> tabval[0])), (melt_ptr_t) (( /*!CLASS_NORMTESTER_ANY */ meltfrout->tabval[0]))) ) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NTEST_ELSE", melt_magic_discr ((melt_ptr_t) (( /*~TSTUFF */ meltfclos-> tabval[0]))) == MELTOBMAG_OBJECT); melt_putfield_object ((( /*~TSTUFF */ meltfclos->tabval[0])), (3), ( /*_.TESTER__V2*/ meltfptr[1]), "NTEST_ELSE"); ; /*^touch */ meltgc_touch (( /*~TSTUFF */ meltfclos->tabval[0])); ; /*^touchobj */ melt_dbgtrace_written_object (( /*~TSTUFF */ meltfclos->tabval[0]), "put-fields"); ; /*epilog */ } ; } /*noelse */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1000:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1000:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1000:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1000; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_instancepat lambda updatelse of tstuff"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & ( /*~TSTUFF */ meltfclos->tabval[0]); /*_.MELT_DEBUG_FUN__V5*/ meltfptr[4] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[1])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V4*/ meltfptr[3] = /*_.MELT_DEBUG_FUN__V5*/ meltfptr[4];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1000:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V5*/ meltfptr[4] = 0; } ; } else { /*^cond.else */ /*_.IF___V4*/ meltfptr[3] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1000:/ quasiblock"); /*_.PROGN___V6*/ meltfptr[4] = /*_.IF___V4*/ meltfptr[3];; /*^compute */ /*_.IFCPP___V3*/ meltfptr[2] = /*_.PROGN___V6*/ meltfptr[4];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1000:/ clear"); /*clear *//*_#MELT_NEED_DBG__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V4*/ meltfptr[3] = 0; /*^clear */ /*clear *//*_.PROGN___V6*/ meltfptr[4] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V3*/ meltfptr[2] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:1001:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.TESTER__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_NORMTESTER_ANY */ meltfrout->tabval[0]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.TESTER__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 6, "NTEST_COMEFROM"); /*_.NTEST_COMEFROM__V7*/ meltfptr[3] = slot; }; ; } else { /*^cond.else */ /*_.NTEST_COMEFROM__V7*/ meltfptr[3] = NULL;; } ; { MELT_LOCATION ("warmelt-normatch.melt:1001:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.NTEST_COMEFROM__V7*/ meltfptr[3]), (melt_ptr_t) (( /*~TSTUFF */ meltfclos-> tabval[0]))); } ; MELT_LOCATION ("warmelt-normatch.melt:997:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V3*/ meltfptr[2] = 0; /*^clear */ /*clear *//*_.NTEST_COMEFROM__V7*/ meltfptr[3] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("LAMBDA_", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_23_warmelt_normatch_LAMBDA___3___melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*noretval */ NULL); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_23_warmelt_normatch_LAMBDA___3__ */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_24_warmelt_normatch_LAMBDA___4__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un * meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un * meltxrestab_) { long current_blocklevel_signals_meltrout_24_warmelt_normatch_LAMBDA___4___melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_24_warmelt_normatch_LAMBDA___4___st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 18 melt_ptr_t mcfr_varptr[18]; #define MELTFRAM_NBVARNUM 6 long mcfr_varnum[6]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_24_warmelt_normatch_LAMBDA___4__ is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_24_warmelt_normatch_LAMBDA___4___st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 18; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_24_warmelt_normatch_LAMBDA___4__ nbval 18*/ meltfram__.mcfr_nbvar = 18 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("LAMBDA_", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normatch.melt:1042:/ getarg"); /*_.PF1__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.PF2__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.PF2__V3*/ meltfptr[2])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1043:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L1*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.PF1__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_SOURCE_FIELD_PATTERN */ meltfrout->tabval[0])));; MELT_LOCATION ("warmelt-normatch.melt:1043:/ cond"); /*cond */ if ( /*_#IS_A__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V5*/ meltfptr[4] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:1043:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check pf1"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (1043) ? (1043) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V5*/ meltfptr[4] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V4*/ meltfptr[3] = /*_.IFELSE___V5*/ meltfptr[4];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1043:/ clear"); /*clear *//*_#IS_A__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V5*/ meltfptr[4] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V4*/ meltfptr[3] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1044:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L2*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.PF2__V3*/ meltfptr[2]), (melt_ptr_t) (( /*!CLASS_SOURCE_FIELD_PATTERN */ meltfrout->tabval[0])));; MELT_LOCATION ("warmelt-normatch.melt:1044:/ cond"); /*cond */ if ( /*_#IS_A__L2*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V7*/ meltfptr[6] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:1044:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check pf2"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (1044) ? (1044) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V7*/ meltfptr[6] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V6*/ meltfptr[4] = /*_.IFELSE___V7*/ meltfptr[6];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1044:/ clear"); /*clear *//*_#IS_A__L2*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V7*/ meltfptr[6] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V6*/ meltfptr[4] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:1045:/ quasiblock"); MELT_LOCATION ("warmelt-normatch.melt:1046:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.PF1__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_SOURCE_FIELD_PATTERN */ meltfrout->tabval[0]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.PF1__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 3, "SPAF_PATTERN"); /*_.SPAF_PATTERN__V9*/ meltfptr[8] = slot; }; ; } else { /*^cond.else */ /*_.SPAF_PATTERN__V9*/ meltfptr[8] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1045:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.SPAF_PATTERN__V9*/ meltfptr[8]), (melt_ptr_t) (( /*!CLASS_SOURCE_PATTERN */ meltfrout->tabval[1]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.SPAF_PATTERN__V9*/ meltfptr[8]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "PAT_WEIGHT"); /*_.PAT_WEIGHT__V10*/ meltfptr[9] = slot; }; ; } else { /*^cond.else */ /*_.PAT_WEIGHT__V10*/ meltfptr[9] = NULL;; } ; /*^compute */ /*_#WPF1__L3*/ meltfnum[0] = (melt_get_int ((melt_ptr_t) ( /*_.PAT_WEIGHT__V10*/ meltfptr[9])));; MELT_LOCATION ("warmelt-normatch.melt:1048:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.PF2__V3*/ meltfptr[2]), (melt_ptr_t) (( /*!CLASS_SOURCE_FIELD_PATTERN */ meltfrout->tabval[0]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.PF2__V3*/ meltfptr[2]) /*=obj*/ ; melt_object_get_field (slot, obj, 3, "SPAF_PATTERN"); /*_.SPAF_PATTERN__V11*/ meltfptr[10] = slot; }; ; } else { /*^cond.else */ /*_.SPAF_PATTERN__V11*/ meltfptr[10] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1047:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.SPAF_PATTERN__V11*/ meltfptr[10]), (melt_ptr_t) (( /*!CLASS_SOURCE_PATTERN */ meltfrout->tabval[1]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.SPAF_PATTERN__V11*/ meltfptr[10]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "PAT_WEIGHT"); /*_.PAT_WEIGHT__V12*/ meltfptr[11] = slot; }; ; } else { /*^cond.else */ /*_.PAT_WEIGHT__V12*/ meltfptr[11] = NULL;; } ; /*^compute */ /*_#WPF2__L4*/ meltfnum[3] = (melt_get_int ((melt_ptr_t) ( /*_.PAT_WEIGHT__V12*/ meltfptr[11])));; MELT_LOCATION ("warmelt-normatch.melt:1050:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#I__L5*/ meltfnum[4] = (( /*_#WPF2__L4*/ meltfnum[3]) == ( /*_#WPF2__L4*/ meltfnum[3]));; MELT_LOCATION ("warmelt-normatch.melt:1050:/ cond"); /*cond */ if ( /*_#I__L5*/ meltfnum[4]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normatch.melt:1051:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = ( /*!konst_2 */ meltfrout->tabval[2]);; MELT_LOCATION ("warmelt-normatch.melt:1051:/ putxtraresult"); if (!meltxrestab_ || !meltxresdescr_) goto labend_rout; if (meltxresdescr_[0] != MELTBPAR_PTR) goto labend_rout; if (meltxrestab_[0].meltbp_aptr) *(meltxrestab_[0].meltbp_aptr) = (melt_ptr_t) (( /*nil */ NULL)); ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*_.IFELSE___V13*/ meltfptr[12] = /*_.RETURN___V14*/ meltfptr[13];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1050:/ clear"); /*clear *//*_.RETURN___V14*/ meltfptr[13] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normatch.melt:1052:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#I__L6*/ meltfnum[5] = (( /*_#WPF1__L3*/ meltfnum[0]) < ( /*_#WPF2__L4*/ meltfnum[3]));; MELT_LOCATION ("warmelt-normatch.melt:1052:/ cond"); /*cond */ if ( /*_#I__L6*/ meltfnum[5]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normatch.melt:1053:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = ( /*!konst_3 */ meltfrout->tabval[3]);; MELT_LOCATION ("warmelt-normatch.melt:1053:/ putxtraresult"); if (!meltxrestab_ || !meltxresdescr_) goto labend_rout; if (meltxresdescr_[0] != MELTBPAR_PTR) goto labend_rout; if (meltxrestab_[0].meltbp_aptr) *(meltxrestab_[0].meltbp_aptr) = (melt_ptr_t) (( /*nil */ NULL)); ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*_.IFELSE___V15*/ meltfptr[13] = /*_.RETURN___V16*/ meltfptr[15];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1052:/ clear"); /*clear *//*_.RETURN___V16*/ meltfptr[15] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normatch.melt:1055:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = ( /*!konst_4 */ meltfrout->tabval[4]);; MELT_LOCATION ("warmelt-normatch.melt:1055:/ putxtraresult"); if (!meltxrestab_ || !meltxresdescr_) goto labend_rout; if (meltxresdescr_[0] != MELTBPAR_PTR) goto labend_rout; if (meltxrestab_[0].meltbp_aptr) *(meltxrestab_[0].meltbp_aptr) = (melt_ptr_t) (( /*nil */ NULL)); ; /*^finalreturn */ ; /*finalret */ goto labend_rout; MELT_LOCATION ("warmelt-normatch.melt:1054:/ quasiblock"); /*_.PROGN___V18*/ meltfptr[17] = /*_.RETURN___V17*/ meltfptr[15];; /*^compute */ /*_.IFELSE___V15*/ meltfptr[13] = /*_.PROGN___V18*/ meltfptr[17];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1052:/ clear"); /*clear *//*_.RETURN___V17*/ meltfptr[15] = 0; /*^clear */ /*clear *//*_.PROGN___V18*/ meltfptr[17] = 0; } ; } ; /*_.IFELSE___V13*/ meltfptr[12] = /*_.IFELSE___V15*/ meltfptr[13];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1050:/ clear"); /*clear *//*_#I__L6*/ meltfnum[5] = 0; /*^clear */ /*clear *//*_.IFELSE___V15*/ meltfptr[13] = 0; } ; } ; /*_.LET___V8*/ meltfptr[6] = /*_.IFELSE___V13*/ meltfptr[12];; MELT_LOCATION ("warmelt-normatch.melt:1045:/ clear"); /*clear *//*_.SPAF_PATTERN__V9*/ meltfptr[8] = 0; /*^clear */ /*clear *//*_.PAT_WEIGHT__V10*/ meltfptr[9] = 0; /*^clear */ /*clear *//*_#WPF1__L3*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.SPAF_PATTERN__V11*/ meltfptr[10] = 0; /*^clear */ /*clear *//*_.PAT_WEIGHT__V12*/ meltfptr[11] = 0; /*^clear */ /*clear *//*_#WPF2__L4*/ meltfnum[3] = 0; /*^clear */ /*clear *//*_#I__L5*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.IFELSE___V13*/ meltfptr[12] = 0; MELT_LOCATION ("warmelt-normatch.melt:1042:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V8*/ meltfptr[6];; { MELT_LOCATION ("warmelt-normatch.melt:1042:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V4*/ meltfptr[3] = 0; /*^clear */ /*clear *//*_.IFCPP___V6*/ meltfptr[4] = 0; /*^clear */ /*clear *//*_.LET___V8*/ meltfptr[6] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("LAMBDA_", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_24_warmelt_normatch_LAMBDA___4___melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_24_warmelt_normatch_LAMBDA___4__ */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_25_warmelt_normatch_LAMBDA___5__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un * meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un * meltxrestab_) { long current_blocklevel_signals_meltrout_25_warmelt_normatch_LAMBDA___5___melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_25_warmelt_normatch_LAMBDA___5___st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 19 melt_ptr_t mcfr_varptr[19]; #define MELTFRAM_NBVARNUM 7 long mcfr_varnum[7]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_25_warmelt_normatch_LAMBDA___5__ is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_25_warmelt_normatch_LAMBDA___5___st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 19; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_25_warmelt_normatch_LAMBDA___5__ nbval 19*/ meltfram__.mcfr_nbvar = 19 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("LAMBDA_", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normatch.melt:1072:/ getarg"); /*_.NEWSUBTESTER__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1073:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1073:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1073:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1073; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_instancepat.subhdler newsubtester="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NEWSUBTESTER__V2*/ meltfptr[1]; /*^apply.arg */ argtab[5].meltbp_cstring = "testercont="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & ( /*~TESTERCONT */ meltfclos->tabval[0]); /*_.MELT_DEBUG_FUN__V5*/ meltfptr[4] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V4*/ meltfptr[3] = /*_.MELT_DEBUG_FUN__V5*/ meltfptr[4];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1073:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V5*/ meltfptr[4] = 0; } ; } else { /*^cond.else */ /*_.IF___V4*/ meltfptr[3] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1073:/ quasiblock"); /*_.PROGN___V6*/ meltfptr[4] = /*_.IF___V4*/ meltfptr[3];; /*^compute */ /*_.IFCPP___V3*/ meltfptr[2] = /*_.PROGN___V6*/ meltfptr[4];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1073:/ clear"); /*clear *//*_#MELT_NEED_DBG__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V4*/ meltfptr[3] = 0; /*^clear */ /*clear *//*_.PROGN___V6*/ meltfptr[4] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V3*/ meltfptr[2] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; { MELT_LOCATION ("warmelt-normatch.melt:1075:/ locexp"); #if MELT_HAVE_DEBUG if (melt_need_debug (0)) melt_dbgshortbacktrace (("normpat_instancepat.subhdler"), (16)); #endif ; } ; MELT_LOCATION ("warmelt-normatch.melt:1076:/ quasiblock"); /*^cond */ /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) (( /*~TESTERCONT */ meltfclos-> tabval[0])), (melt_ptr_t) (( /*!CLASS_REFERENCE */ meltfrout->tabval[1]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) (( /*~TESTERCONT */ meltfclos->tabval[0])) /*=obj*/ ; melt_object_get_field (slot, obj, 0, "REFERENCED_VALUE"); /*_.PREVTESTER__V8*/ meltfptr[4] = slot; }; ; } else { /*^cond.else */ /*_.PREVTESTER__V8*/ meltfptr[4] = NULL;; } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1077:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L3*/ meltfnum[1] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1077:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L3*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L4*/ meltfnum[0] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1077:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L4*/ meltfnum[0]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1077; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_instancepat.subhdler prevtester"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.PREVTESTER__V8*/ meltfptr[4]; /*_.MELT_DEBUG_FUN__V11*/ meltfptr[10] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V10*/ meltfptr[9] = /*_.MELT_DEBUG_FUN__V11*/ meltfptr[10];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1077:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L4*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V11*/ meltfptr[10] = 0; } ; } else { /*^cond.else */ /*_.IF___V10*/ meltfptr[9] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1077:/ quasiblock"); /*_.PROGN___V12*/ meltfptr[10] = /*_.IF___V10*/ meltfptr[9];; /*^compute */ /*_.IFCPP___V9*/ meltfptr[8] = /*_.PROGN___V12*/ meltfptr[10];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1077:/ clear"); /*clear *//*_#MELT_NEED_DBG__L3*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IF___V10*/ meltfptr[9] = 0; /*^clear */ /*clear *//*_.PROGN___V12*/ meltfptr[10] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V9*/ meltfptr[8] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1078:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L5*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.PREVTESTER__V8*/ meltfptr[4]), (melt_ptr_t) (( /*!CLASS_NORMTESTER_ANYTESTER */ meltfrout->tabval[2])));; MELT_LOCATION ("warmelt-normatch.melt:1078:/ cond"); /*cond */ if ( /*_#IS_A__L5*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V14*/ meltfptr[10] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:1078:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check prevtester"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (1078) ? (1078) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V14*/ meltfptr[10] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V13*/ meltfptr[9] = /*_.IFELSE___V14*/ meltfptr[10];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1078:/ clear"); /*clear *//*_#IS_A__L5*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V14*/ meltfptr[10] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V13*/ meltfptr[9] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:1079:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & ( /*~TESTERCONT */ meltfclos->tabval[0]); /*_.SET_NEW_TESTER_LAST_THEN__V15*/ meltfptr[10] = melt_apply ((meltclosure_ptr_t) (( /*!SET_NEW_TESTER_LAST_THEN */ meltfrout->tabval[3])), (melt_ptr_t) ( /*_.NEWSUBTESTER__V2*/ meltfptr[1]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.LET___V7*/ meltfptr[3] = /*_.SET_NEW_TESTER_LAST_THEN__V15*/ meltfptr[10];; MELT_LOCATION ("warmelt-normatch.melt:1076:/ clear"); /*clear *//*_.PREVTESTER__V8*/ meltfptr[4] = 0; /*^clear */ /*clear *//*_.IFCPP___V9*/ meltfptr[8] = 0; /*^clear */ /*clear *//*_.IFCPP___V13*/ meltfptr[9] = 0; /*^clear */ /*clear *//*_.SET_NEW_TESTER_LAST_THEN__V15*/ meltfptr[10] = 0; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1081:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L6*/ meltfnum[1] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1081:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L6*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L7*/ meltfnum[0] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1081:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L7*/ meltfnum[0]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1081; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_instancepat.subhdler end newsubtester"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NEWSUBTESTER__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V18*/ 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_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V17*/ meltfptr[8] = /*_.MELT_DEBUG_FUN__V18*/ meltfptr[9];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1081:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L7*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V18*/ meltfptr[9] = 0; } ; } else { /*^cond.else */ /*_.IF___V17*/ meltfptr[8] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1081:/ quasiblock"); /*_.PROGN___V19*/ meltfptr[10] = /*_.IF___V17*/ meltfptr[8];; /*^compute */ /*_.IFCPP___V16*/ meltfptr[4] = /*_.PROGN___V19*/ meltfptr[10];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1081:/ clear"); /*clear *//*_#MELT_NEED_DBG__L6*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IF___V17*/ meltfptr[8] = 0; /*^clear */ /*clear *//*_.PROGN___V19*/ meltfptr[10] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V16*/ meltfptr[4] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:1072:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.IFCPP___V16*/ meltfptr[4];; { MELT_LOCATION ("warmelt-normatch.melt:1072:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V3*/ meltfptr[2] = 0; /*^clear */ /*clear *//*_.LET___V7*/ meltfptr[3] = 0; /*^clear */ /*clear *//*_.IFCPP___V16*/ meltfptr[4] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("LAMBDA_", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_25_warmelt_normatch_LAMBDA___5___melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_25_warmelt_normatch_LAMBDA___5__ */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_26_warmelt_normatch_NORMPAT_TUPLEPAT (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un * meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un * meltxrestab_) { long current_blocklevel_signals_meltrout_26_warmelt_normatch_NORMPAT_TUPLEPAT_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_26_warmelt_normatch_NORMPAT_TUPLEPAT_st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 175 melt_ptr_t mcfr_varptr[175]; #define MELTFRAM_NBVARNUM 60 long mcfr_varnum[60]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_26_warmelt_normatch_NORMPAT_TUPLEPAT is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_26_warmelt_normatch_NORMPAT_TUPLEPAT_st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 175; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_26_warmelt_normatch_NORMPAT_TUPLEPAT nbval 175*/ meltfram__.mcfr_nbvar = 175 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("NORMPAT_TUPLEPAT", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normatch.melt:1159:/ getarg"); /*_.RECV__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.NMATCH__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.NMATCH__V3*/ meltfptr[2])) != NULL); /*getarg#2 */ /*^getarg */ if (meltxargdescr_[1] != MELTBPAR_PTR) goto lab_endgetargs; /*_.HDLER__V4*/ meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.HDLER__V4*/ meltfptr[3])) != NULL); /*getarg#3 */ /*^getarg */ if (meltxargdescr_[2] != MELTBPAR_PTR) goto lab_endgetargs; /*_.PCN__V5*/ meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1160:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1160:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1160:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[9]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1160; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_tuplepat recv="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.RECV__V2*/ meltfptr[1]; /*^apply.arg */ argtab[5].meltbp_cstring = "nmatch="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.NMATCH__V3*/ meltfptr[2]; /*^apply.arg */ argtab[7].meltbp_cstring = " pcn="; /*^apply.arg */ argtab[8].meltbp_aptr = (melt_ptr_t *) & /*_.PCN__V5*/ meltfptr[4]; /*_.MELT_DEBUG_FUN__V8*/ 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 MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V7*/ meltfptr[6] = /*_.MELT_DEBUG_FUN__V8*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1160:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V8*/ meltfptr[7] = 0; } ; } else { /*^cond.else */ /*_.IF___V7*/ meltfptr[6] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1160:/ quasiblock"); /*_.PROGN___V9*/ meltfptr[7] = /*_.IF___V7*/ meltfptr[6];; /*^compute */ /*_.IFCPP___V6*/ meltfptr[5] = /*_.PROGN___V9*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1160:/ clear"); /*clear *//*_#MELT_NEED_DBG__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V7*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.PROGN___V9*/ meltfptr[7] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V6*/ meltfptr[5] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1161:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L3*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]), (melt_ptr_t) (( /*!CLASS_PATTERN_CONTEXT */ meltfrout->tabval[1])));; MELT_LOCATION ("warmelt-normatch.melt:1161:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V11*/ meltfptr[7] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:1161:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check pcn"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (1161) ? (1161) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V11*/ meltfptr[7] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[6] = /*_.IFELSE___V11*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1161:/ clear"); /*clear *//*_#IS_A__L3*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V11*/ meltfptr[7] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V10*/ meltfptr[6] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1162:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L4*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_SOURCE_PATTERN_TUPLE */ meltfrout->tabval[2])));; MELT_LOCATION ("warmelt-normatch.melt:1162:/ cond"); /*cond */ if ( /*_#IS_A__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V13*/ meltfptr[12] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:1162:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check recv"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (1162) ? (1162) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V13*/ meltfptr[12] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V12*/ meltfptr[7] = /*_.IFELSE___V13*/ meltfptr[12];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1162:/ clear"); /*clear *//*_#IS_A__L4*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V13*/ meltfptr[12] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V12*/ meltfptr[7] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:1163:/ quasiblock"); MELT_LOCATION ("warmelt-normatch.melt:1164:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_LOCATED */ meltfrout->tabval[3]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "LOCA_LOCATION"); /*_.SLOC__V15*/ meltfptr[14] = slot; }; ; } else { /*^cond.else */ /*_.SLOC__V15*/ meltfptr[14] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1165:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_SOURCE_PATTERN_CONSTRUCT */ meltfrout->tabval[4]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 3, "CTPAT_SUBPA"); /*_.TUPSUBPA__V16*/ meltfptr[15] = slot; }; ; } else { /*^cond.else */ /*_.TUPSUBPA__V16*/ meltfptr[15] = NULL;; } ; /*^compute */ /*_#NBCOMP__L5*/ meltfnum[1] = (melt_multiple_length ((melt_ptr_t) ( /*_.TUPSUBPA__V16*/ meltfptr[15])));; MELT_LOCATION ("warmelt-normatch.melt:1167:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]), (melt_ptr_t) (( /*!CLASS_PATTERN_CONTEXT */ meltfrout->tabval[1]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]) /*=obj*/ ; melt_object_get_field (slot, obj, 0, "PCTN_NORMCTXT"); /*_.NCX__V17*/ meltfptr[16] = slot; }; ; } else { /*^cond.else */ /*_.NCX__V17*/ meltfptr[16] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1168:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]), (melt_ptr_t) (( /*!CLASS_PATTERN_CONTEXT */ meltfrout->tabval[1]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]) /*=obj*/ ; melt_object_get_field (slot, obj, 7, "PCTN_STUFFMAP"); /*_.STUFFMAP__V18*/ meltfptr[17] = slot; }; ; } else { /*^cond.else */ /*_.STUFFMAP__V18*/ meltfptr[17] = NULL;; } ; /*^compute */ /*_.TSTUFF__V19*/ meltfptr[18] = /*mapobject_get */ melt_get_mapobjects ((meltmapobjects_ptr_t) ( /*_.STUFFMAP__V18*/ meltfptr[17]), (meltobject_ptr_t) ( /*_.NMATCH__V3*/ meltfptr[2]));; /*^compute */ /*_.CURHDLER__V20*/ meltfptr[19] = /*_.HDLER__V4*/ meltfptr[3];; /*^compute */ /*_.TESTER__V21*/ meltfptr[20] = ( /*nil */ NULL);; MELT_LOCATION ("warmelt-normatch.melt:1172:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]), (melt_ptr_t) (( /*!CLASS_PATTERN_CONTEXT */ meltfrout->tabval[1]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]) /*=obj*/ ; melt_object_get_field (slot, obj, 9, "PCTN_TESTS"); /*_.TESTLIST__V22*/ meltfptr[21] = slot; }; ; } else { /*^cond.else */ /*_.TESTLIST__V22*/ meltfptr[21] = NULL;; } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1174:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L6*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1174:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L6*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L7*/ meltfnum[6] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1174:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L7*/ meltfnum[6]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1174; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_tuplepat tupsubpa="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.TUPSUBPA__V16*/ meltfptr[15]; /*^apply.arg */ argtab[5].meltbp_cstring = " nbcomp="; /*^apply.arg */ argtab[6].meltbp_long = /*_#NBCOMP__L5*/ meltfnum[1]; /*_.MELT_DEBUG_FUN__V25*/ meltfptr[24] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_LONG ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V24*/ meltfptr[23] = /*_.MELT_DEBUG_FUN__V25*/ meltfptr[24];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1174:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L7*/ meltfnum[6] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V25*/ meltfptr[24] = 0; } ; } else { /*^cond.else */ /*_.IF___V24*/ meltfptr[23] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1174:/ quasiblock"); /*_.PROGN___V26*/ meltfptr[24] = /*_.IF___V24*/ meltfptr[23];; /*^compute */ /*_.IFCPP___V23*/ meltfptr[22] = /*_.PROGN___V26*/ meltfptr[24];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1174:/ clear"); /*clear *//*_#MELT_NEED_DBG__L6*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V24*/ meltfptr[23] = 0; /*^clear */ /*clear *//*_.PROGN___V26*/ meltfptr[24] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V23*/ meltfptr[22] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:1176:/ loop"); /*loop */ { labloop_LOOPSTUFF_3:; /*^loopbody */ /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1178:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L8*/ meltfnum[6] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1178:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L8*/ meltfnum[6]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L9*/ meltfnum[0] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1178:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L9*/ meltfnum[0]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1178; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_tuplepat loop tstuff="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.TSTUFF__V19*/ meltfptr[18]; /*_.MELT_DEBUG_FUN__V31*/ 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_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V30*/ meltfptr[29] = /*_.MELT_DEBUG_FUN__V31*/ meltfptr[30];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1178:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L9*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V31*/ meltfptr[30] = 0; } ; } else { /*^cond.else */ /*_.IF___V30*/ meltfptr[29] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1178:/ quasiblock"); /*_.PROGN___V32*/ meltfptr[30] = /*_.IF___V30*/ meltfptr[29];; /*^compute */ /*_.IFCPP___V29*/ meltfptr[28] = /*_.PROGN___V32*/ meltfptr[30];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1178:/ clear"); /*clear *//*_#MELT_NEED_DBG__L8*/ meltfnum[6] = 0; /*^clear */ /*clear *//*_.IF___V30*/ meltfptr[29] = 0; /*^clear */ /*clear *//*_.PROGN___V32*/ meltfptr[30] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V29*/ meltfptr[28] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:1180:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L10*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.TSTUFF__V19*/ meltfptr[18]), (melt_ptr_t) (( /*!CLASS_NORMTESTER_TUPLE */ meltfrout->tabval[5])));; MELT_LOCATION ("warmelt-normatch.melt:1180:/ cond"); /*cond */ if ( /*_#IS_A__L10*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normatch.melt:1182:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.TSTUFF__V19*/ meltfptr[18]), (melt_ptr_t) (( /*!CLASS_NORMTESTER_TUPLE */ meltfrout->tabval[5]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.TSTUFF__V19*/ meltfptr[18]) /*=obj*/ ; melt_object_get_field (slot, obj, 7, "NTTUPLE_COMPONENTS"); /*_.NTTUPLE_COMPONENTS__V33*/ meltfptr[29] = slot; }; ; } else { /*^cond.else */ /*_.NTTUPLE_COMPONENTS__V33*/ meltfptr[29] = NULL;; } ; /*^compute */ /*_#MULTIPLE_LENGTH__L12*/ meltfnum[11] = (melt_multiple_length ((melt_ptr_t) ( /*_.NTTUPLE_COMPONENTS__V33*/ meltfptr[29])));; /*^compute */ /*_#I__L13*/ meltfnum[12] = (( /*_#MULTIPLE_LENGTH__L12*/ meltfnum[11]) == ( /*_#NBCOMP__L5*/ meltfnum[1]));; /*^compute */ /*_#IF___L11*/ meltfnum[6] = /*_#I__L13*/ meltfnum[12];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1180:/ clear"); /*clear *//*_.NTTUPLE_COMPONENTS__V33*/ meltfptr[29] = 0; /*^clear */ /*clear *//*_#MULTIPLE_LENGTH__L12*/ meltfnum[11] = 0; /*^clear */ /*clear *//*_#I__L13*/ meltfnum[12] = 0; } ; } else { /*^cond.else */ /*_#IF___L11*/ meltfnum[6] = 0;; } ; MELT_LOCATION ("warmelt-normatch.melt:1180:/ cond"); /*cond */ if ( /*_#IF___L11*/ meltfnum[6]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1184:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L14*/ meltfnum[11] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1184:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L14*/ meltfnum[11]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L15*/ meltfnum[12] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1184:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L15*/ meltfnum[12]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1184; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_tuplepat found tstuff="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.TSTUFF__V19*/ meltfptr[18]; /*_.MELT_DEBUG_FUN__V37*/ 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_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V36*/ meltfptr[35] = /*_.MELT_DEBUG_FUN__V37*/ meltfptr[36];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1184:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L15*/ meltfnum[12] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V37*/ meltfptr[36] = 0; } ; } else { /*^cond.else */ /*_.IF___V36*/ meltfptr[35] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1184:/ quasiblock"); /*_.PROGN___V38*/ meltfptr[36] = /*_.IF___V36*/ meltfptr[35];; /*^compute */ /*_.IFCPP___V35*/ meltfptr[29] = /*_.PROGN___V38*/ meltfptr[36];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1184:/ clear"); /*clear *//*_#MELT_NEED_DBG__L14*/ meltfnum[11] = 0; /*^clear */ /*clear *//*_.IF___V36*/ meltfptr[35] = 0; /*^clear */ /*clear *//*_.PROGN___V38*/ meltfptr[36] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V35*/ meltfptr[29] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:1185:/ compute"); /*_.TESTER__V21*/ meltfptr[20] = /*_.SETQ___V39*/ meltfptr[35] = /*_.TSTUFF__V19*/ meltfptr[18];; MELT_LOCATION ("warmelt-normatch.melt:1180:/ quasiblock"); /*_.PROGN___V40*/ meltfptr[36] = /*_.SETQ___V39*/ meltfptr[35];; /*^compute */ /*_.IFELSE___V34*/ meltfptr[30] = /*_.PROGN___V40*/ meltfptr[36];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1180:/ clear"); /*clear *//*_.IFCPP___V35*/ meltfptr[29] = 0; /*^clear */ /*clear *//*_.SETQ___V39*/ meltfptr[35] = 0; /*^clear */ /*clear *//*_.PROGN___V40*/ meltfptr[36] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normatch.melt:1187:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#IS_A__L16*/ meltfnum[12] = melt_is_instance_of ((melt_ptr_t) ( /*_.TSTUFF__V19*/ meltfptr[18]), (melt_ptr_t) (( /*!CLASS_NORMTESTER_ANY */ meltfrout->tabval[6])));; MELT_LOCATION ("warmelt-normatch.melt:1187:/ cond"); /*cond */ if ( /*_#IS_A__L16*/ meltfnum[12]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normatch.melt:1188:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.TSTUFF__V19*/ meltfptr[18]), (melt_ptr_t) (( /*!CLASS_NORMTESTER_ANY */ meltfrout->tabval[6]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.TSTUFF__V19*/ meltfptr[18]) /*=obj*/ ; melt_object_get_field (slot, obj, 3, "NTEST_ELSE"); /*_.NTEST_ELSE__V42*/ meltfptr[35] = slot; }; ; } else { /*^cond.else */ /*_.NTEST_ELSE__V42*/ meltfptr[35] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1188:/ compute"); /*_.TSTUFF__V19*/ meltfptr[18] = /*_.SETQ___V43*/ meltfptr[36] = /*_.NTEST_ELSE__V42*/ meltfptr[35];; MELT_LOCATION ("warmelt-normatch.melt:1190:/ quasiblock"); /*^newclosure */ /*newclosure *//*_.LAMBDA___V45*/ meltfptr[44] = (melt_ptr_t) meltgc_new_closure ((meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_CLOSURE)))), (meltroutine_ptr_t) (( /*!konst_9 */ meltfrout-> tabval[9])), (1)); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V45*/ meltfptr[44])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 0 >= 0 && 0 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V45*/ meltfptr[44]))); ((meltclosure_ptr_t) /*_.LAMBDA___V45*/ meltfptr[44])-> tabval[0] = (melt_ptr_t) ( /*_.TSTUFF__V19*/ meltfptr[18]); ; /*_.LAMBDA___V44*/ meltfptr[43] = /*_.LAMBDA___V45*/ meltfptr[44];; MELT_LOCATION ("warmelt-normatch.melt:1189:/ compute"); /*_.CURHDLER__V20*/ meltfptr[19] = /*_.SETQ___V46*/ meltfptr[45] = /*_.LAMBDA___V44*/ meltfptr[43];; MELT_LOCATION ("warmelt-normatch.melt:1187:/ quasiblock"); /*_.PROGN___V47*/ meltfptr[46] = /*_.SETQ___V46*/ meltfptr[45];; /*^compute */ /*_.IFELSE___V41*/ meltfptr[29] = /*_.PROGN___V47*/ meltfptr[46];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1187:/ clear"); /*clear *//*_.NTEST_ELSE__V42*/ meltfptr[35] = 0; /*^clear */ /*clear *//*_.SETQ___V43*/ meltfptr[36] = 0; /*^clear */ /*clear *//*_.LAMBDA___V44*/ meltfptr[43] = 0; /*^clear */ /*clear *//*_.SETQ___V46*/ meltfptr[45] = 0; /*^clear */ /*clear *//*_.PROGN___V47*/ meltfptr[46] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normatch.melt:1198:/ quasiblock"); /*_.NEWCOMPLOCS__V48*/ meltfptr[35] = (meltgc_new_multiple ((meltobject_ptr_t) (( /*!DISCR_MULTIPLE */ meltfrout->tabval[10])), ( /*_#NBCOMP__L5*/ meltfnum[1])));; MELT_LOCATION ("warmelt-normatch.melt:1201:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_.MAKE_LIST__V49*/ meltfptr[36] = (meltgc_new_list ((meltobject_ptr_t) (( /*!DISCR_LIST */ meltfrout->tabval[11]))));; /*^compute */ /*_.MAKE_LIST__V50*/ meltfptr[43] = (meltgc_new_list ((meltobject_ptr_t) (( /*!DISCR_LIST */ meltfrout->tabval[11]))));; MELT_LOCATION ("warmelt-normatch.melt:1201:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NORMTESTER_TUPLE */ meltfrout->tabval[5])), (8), "CLASS_NORMTESTER_TUPLE"); /*_.INST__V52*/ meltfptr[46] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V52*/ meltfptr[46])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V52*/ meltfptr[46]), (0), ( /*_.SLOC__V15*/ meltfptr[14]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NTEST_MATCHED", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V52*/ meltfptr[46])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V52*/ meltfptr[46]), (1), ( /*_.NMATCH__V3*/ meltfptr[2]), "NTEST_MATCHED"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NTEST_THEN", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V52*/ meltfptr[46])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V52*/ meltfptr[46]), (2), (( /*nil */ NULL)), "NTEST_THEN"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NTEST_ELSE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V52*/ meltfptr[46])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V52*/ meltfptr[46]), (3), (( /*nil */ NULL)), "NTEST_ELSE"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NTEST_LOCCLIST", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V52*/ meltfptr[46])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V52*/ meltfptr[46]), (5), ( /*_.MAKE_LIST__V49*/ meltfptr[36]), "NTEST_LOCCLIST"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NTEST_COMEFROM", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V52*/ meltfptr[46])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V52*/ meltfptr[46]), (6), ( /*_.MAKE_LIST__V50*/ meltfptr[43]), "NTEST_COMEFROM"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NTTUPLE_COMPONENTS", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V52*/ meltfptr[46])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V52*/ meltfptr[46]), (7), ( /*_.NEWCOMPLOCS__V48*/ meltfptr[35]), "NTTUPLE_COMPONENTS"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V52*/ meltfptr[46], "newly made instance"); ; /*_.NEWTESTER__V51*/ meltfptr[45] = /*_.INST__V52*/ meltfptr[46];; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1211:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L17*/ meltfnum[11] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1211:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L17*/ meltfnum[11]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L18*/ meltfnum[17] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1211:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L18*/ meltfnum[17]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1211; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_tuplepat newtester="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NEWTESTER__V51*/ meltfptr[45]; /*_.MELT_DEBUG_FUN__V55*/ meltfptr[54] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V54*/ meltfptr[53] = /*_.MELT_DEBUG_FUN__V55*/ meltfptr[54];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1211:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L18*/ meltfnum[17] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V55*/ meltfptr[54] = 0; } ; } else { /*^cond.else */ /*_.IF___V54*/ meltfptr[53] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1211:/ quasiblock"); /*_.PROGN___V56*/ meltfptr[54] = /*_.IF___V54*/ meltfptr[53];; /*^compute */ /*_.IFCPP___V53*/ meltfptr[52] = /*_.PROGN___V56*/ meltfptr[54];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1211:/ clear"); /*clear *//*_#MELT_NEED_DBG__L17*/ meltfnum[11] = 0; /*^clear */ /*clear *//*_.IF___V54*/ meltfptr[53] = 0; /*^clear */ /*clear *//*_.PROGN___V56*/ meltfptr[54] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V53*/ meltfptr[52] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:1212:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.PCN__V5*/ meltfptr[4]; /*_.REGISTER_NEW_NORMTESTER__V57*/ meltfptr[53] = melt_apply ((meltclosure_ptr_t) (( /*!REGISTER_NEW_NORMTESTER */ meltfrout->tabval[12])), (melt_ptr_t) ( /*_.NEWTESTER__V51*/ meltfptr[45]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normatch.melt:1213:/ compute"); /*_.TESTER__V21*/ meltfptr[20] = /*_.SETQ___V58*/ meltfptr[54] = /*_.NEWTESTER__V51*/ meltfptr[45];; { MELT_LOCATION ("warmelt-normatch.melt:1214:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.TESTLIST__V22*/ meltfptr[21]), (melt_ptr_t) ( /*_.NEWTESTER__V51*/ meltfptr[45])); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1215:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L19*/ meltfnum[17] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1215:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L19*/ meltfnum[17]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L20*/ meltfnum[11] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1215:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L20*/ meltfnum[11]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1215; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_tuplepat before calling curhdler"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CURHDLER__V20*/ meltfptr[19]; /*_.MELT_DEBUG_FUN__V61*/ meltfptr[60] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V60*/ meltfptr[59] = /*_.MELT_DEBUG_FUN__V61*/ meltfptr[60];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1215:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L20*/ meltfnum[11] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V61*/ meltfptr[60] = 0; } ; } else { /*^cond.else */ /*_.IF___V60*/ meltfptr[59] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1215:/ quasiblock"); /*_.PROGN___V62*/ meltfptr[60] = /*_.IF___V60*/ meltfptr[59];; /*^compute */ /*_.IFCPP___V59*/ meltfptr[58] = /*_.PROGN___V62*/ meltfptr[60];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1215:/ clear"); /*clear *//*_#MELT_NEED_DBG__L19*/ meltfnum[17] = 0; /*^clear */ /*clear *//*_.IF___V60*/ meltfptr[59] = 0; /*^clear */ /*clear *//*_.PROGN___V62*/ meltfptr[60] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V59*/ meltfptr[58] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:1216:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { /*_.CURHDLER__V63*/ meltfptr[59] = melt_apply ((meltclosure_ptr_t) ( /*_.CURHDLER__V20*/ meltfptr[19]), (melt_ptr_t) ( /*_.TESTER__V21*/ meltfptr[20]), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1217:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L21*/ meltfnum[11] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1217:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L21*/ meltfnum[11]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L22*/ meltfnum[17] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1217:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L22*/ meltfnum[17]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1217; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_tuplepat after calling curhdler"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CURHDLER__V20*/ meltfptr[19]; /*_.MELT_DEBUG_FUN__V66*/ meltfptr[65] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V65*/ meltfptr[64] = /*_.MELT_DEBUG_FUN__V66*/ meltfptr[65];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1217:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L22*/ meltfnum[17] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V66*/ meltfptr[65] = 0; } ; } else { /*^cond.else */ /*_.IF___V65*/ meltfptr[64] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1217:/ quasiblock"); /*_.PROGN___V67*/ meltfptr[65] = /*_.IF___V65*/ meltfptr[64];; /*^compute */ /*_.IFCPP___V64*/ meltfptr[60] = /*_.PROGN___V67*/ meltfptr[65];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1217:/ clear"); /*clear *//*_#MELT_NEED_DBG__L21*/ meltfnum[11] = 0; /*^clear */ /*clear *//*_.IF___V65*/ meltfptr[64] = 0; /*^clear */ /*clear *//*_.PROGN___V67*/ meltfptr[65] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V64*/ meltfptr[60] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:1218:/ quasiblock"); /*^compute */ /*_.LOOPSTUFF__V28*/ meltfptr[24] = NULL;; /*^exit */ /*exit */ { goto labexit_LOOPSTUFF_3; } ; MELT_LOCATION ("warmelt-normatch.melt:1198:/ clear"); /*clear *//*_.NEWCOMPLOCS__V48*/ meltfptr[35] = 0; /*^clear */ /*clear *//*_.MAKE_LIST__V49*/ meltfptr[36] = 0; /*^clear */ /*clear *//*_.MAKE_LIST__V50*/ meltfptr[43] = 0; /*^clear */ /*clear *//*_.NEWTESTER__V51*/ meltfptr[45] = 0; /*^clear */ /*clear *//*_.IFCPP___V53*/ meltfptr[52] = 0; /*^clear */ /*clear *//*_.REGISTER_NEW_NORMTESTER__V57*/ meltfptr[53] = 0; /*^clear */ /*clear *//*_.SETQ___V58*/ meltfptr[54] = 0; /*^clear */ /*clear *//*_.IFCPP___V59*/ meltfptr[58] = 0; /*^clear */ /*clear *//*_.CURHDLER__V63*/ meltfptr[59] = 0; /*^clear */ /*clear *//*_.IFCPP___V64*/ meltfptr[60] = 0; MELT_LOCATION ("warmelt-normatch.melt:1197:/ quasiblock"); /*epilog */ } ; } ; /*_.IFELSE___V34*/ meltfptr[30] = /*_.IFELSE___V41*/ meltfptr[29];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1180:/ clear"); /*clear *//*_#IS_A__L16*/ meltfnum[12] = 0; /*^clear */ /*clear *//*_.IFELSE___V41*/ meltfptr[29] = 0; } ; } ; MELT_LOCATION ("warmelt-normatch.melt:1176:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V29*/ meltfptr[28] = 0; /*^clear */ /*clear *//*_#IS_A__L10*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_#IF___L11*/ meltfnum[6] = 0; /*^clear */ /*clear *//*_.IFELSE___V34*/ meltfptr[30] = 0; } ; ; goto labloop_LOOPSTUFF_3; labexit_LOOPSTUFF_3:; /*^loopepilog */ /*loopepilog */ /*_.FOREVER___V27*/ meltfptr[23] = /*_.LOOPSTUFF__V28*/ meltfptr[24];; } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1224:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L23*/ meltfnum[17] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1224:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L23*/ meltfnum[17]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L24*/ meltfnum[11] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1224:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[9]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L24*/ meltfnum[11]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1224; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_tuplepat tester="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.TESTER__V21*/ meltfptr[20]; /*^apply.arg */ argtab[5].meltbp_cstring = "\n recv="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.RECV__V2*/ meltfptr[1]; /*^apply.arg */ argtab[7].meltbp_cstring = "\n tupsubpa="; /*^apply.arg */ argtab[8].meltbp_aptr = (melt_ptr_t *) & /*_.TUPSUBPA__V16*/ meltfptr[15]; /*_.MELT_DEBUG_FUN__V70*/ 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 MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V69*/ meltfptr[65] = /*_.MELT_DEBUG_FUN__V70*/ meltfptr[35];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1224:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L24*/ meltfnum[11] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V70*/ meltfptr[35] = 0; } ; } else { /*^cond.else */ /*_.IF___V69*/ meltfptr[65] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1224:/ quasiblock"); /*_.PROGN___V71*/ meltfptr[36] = /*_.IF___V69*/ meltfptr[65];; /*^compute */ /*_.IFCPP___V68*/ meltfptr[64] = /*_.PROGN___V71*/ meltfptr[36];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1224:/ clear"); /*clear *//*_#MELT_NEED_DBG__L23*/ meltfnum[17] = 0; /*^clear */ /*clear *//*_.IF___V69*/ meltfptr[65] = 0; /*^clear */ /*clear *//*_.PROGN___V71*/ meltfptr[36] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V68*/ meltfptr[64] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:1226:/ quasiblock"); /*^cond */ /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.TESTER__V21*/ meltfptr[20]), (melt_ptr_t) (( /*!CLASS_NORMTESTER_ANY */ meltfrout->tabval[6]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.TESTER__V21*/ meltfptr[20]) /*=obj*/ ; melt_object_get_field (slot, obj, 5, "NTEST_LOCCLIST"); /*_.TESTLOCCL__V73*/ meltfptr[45] = slot; }; ; } else { /*^cond.else */ /*_.TESTLOCCL__V73*/ meltfptr[45] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1227:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_REFERENCE */ meltfrout->tabval[13])), (1), "CLASS_REFERENCE"); /*_.INST__V75*/ meltfptr[53] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @REFERENCED_VALUE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V75*/ meltfptr[53])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V75*/ meltfptr[53]), (0), ( /*_.TESTER__V21*/ meltfptr[20]), "REFERENCED_VALUE"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V75*/ meltfptr[53], "newly made instance"); ; /*_.TESTERCONT__V74*/ meltfptr[52] = /*_.INST__V75*/ meltfptr[53];; MELT_LOCATION ("warmelt-normatch.melt:1231:/ quasiblock"); /*_.LISTSUBPA__V77*/ meltfptr[58] = (meltgc_new_list ((meltobject_ptr_t) (( /*!DISCR_LIST */ meltfrout->tabval[11]))));; /*citerblock FOREACH_IN_MULTIPLE */ { /* start foreach_in_multiple meltcit1__EACHTUP */ long meltcit1__EACHTUP_ln = melt_multiple_length ((melt_ptr_t) /*_.TUPSUBPA__V16*/ meltfptr[15]); for ( /*_#SUBIX__L25*/ meltfnum[12] = 0; ( /*_#SUBIX__L25*/ meltfnum[12] >= 0) && ( /*_#SUBIX__L25*/ meltfnum[12] < meltcit1__EACHTUP_ln); /*_#SUBIX__L25*/ meltfnum[12]++) { /*_.SUBPA__V78*/ meltfptr[59] = melt_multiple_nth ((melt_ptr_t) ( /*_.TUPSUBPA__V16*/ meltfptr[15]), /*_#SUBIX__L25*/ meltfnum[12]); MELT_LOCATION ("warmelt-normatch.melt:1238:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#IS_NOT_A__L26*/ meltfnum[0] = !melt_is_instance_of ((melt_ptr_t) ( /*_.SUBPA__V78*/ meltfptr[59]), (melt_ptr_t) (( /*!CLASS_SOURCE_PATTERN_JOKER_VARIABLE */ meltfrout->tabval[14])));; MELT_LOCATION ("warmelt-normatch.melt:1238:/ cond"); /*cond */ if ( /*_#IS_NOT_A__L26*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normatch.melt:1240:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_.MAKE_INTEGERBOX__V79*/ meltfptr[60] = (meltgc_new_int ((meltobject_ptr_t) (( /*!DISCR_CONSTANT_INTEGER */ meltfrout->tabval[16])), ( /*_#SUBIX__L25*/ meltfnum[12])));; MELT_LOCATION ("warmelt-normatch.melt:1240:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_TUPLE_COMPONENT_PATTERN */ meltfrout->tabval[15])), (2), "CLASS_TUPLE_COMPONENT_PATTERN"); /*_.INST__V81*/ meltfptr[28] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @TUPCP_PATTERN", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V81*/ meltfptr[28])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V81*/ meltfptr[28]), (0), ( /*_.SUBPA__V78*/ meltfptr[59]), "TUPCP_PATTERN"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @TUPCP_INDEX", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V81*/ meltfptr[28])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V81*/ meltfptr[28]), (1), ( /*_.MAKE_INTEGERBOX__V79*/ meltfptr[60]), "TUPCP_INDEX"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V81*/ meltfptr[28], "newly made instance"); ; /*_.INST___V80*/ meltfptr[29] = /*_.INST__V81*/ meltfptr[28];; { MELT_LOCATION ("warmelt-normatch.melt:1239:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.LISTSUBPA__V77*/ meltfptr[58]), (melt_ptr_t) ( /*_.INST___V80*/ meltfptr[29])); } ; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1238:/ clear"); /*clear *//*_.MAKE_INTEGERBOX__V79*/ meltfptr[60] = 0; /*^clear */ /*clear *//*_.INST___V80*/ meltfptr[29] = 0; } ; } /*noelse */ ; if ( /*_#SUBIX__L25*/ meltfnum[12] < 0) break; } /* end foreach_in_multiple meltcit1__EACHTUP */ /*citerepilog */ MELT_LOCATION ("warmelt-normatch.melt:1234:/ clear"); /*clear *//*_.SUBPA__V78*/ meltfptr[59] = 0; /*^clear */ /*clear *//*_#SUBIX__L25*/ meltfnum[12] = 0; /*^clear */ /*clear *//*_#IS_NOT_A__L26*/ meltfnum[0] = 0; } /*endciterblock FOREACH_IN_MULTIPLE */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1243:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L27*/ meltfnum[6] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1243:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L27*/ meltfnum[6]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L28*/ meltfnum[11] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1243:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L28*/ meltfnum[11]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1243; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_tuplepat unsorted listsubpa="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.LISTSUBPA__V77*/ meltfptr[58]; /*_.MELT_DEBUG_FUN__V84*/ meltfptr[65] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V83*/ meltfptr[35] = /*_.MELT_DEBUG_FUN__V84*/ meltfptr[65];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1243:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L28*/ meltfnum[11] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V84*/ meltfptr[65] = 0; } ; } else { /*^cond.else */ /*_.IF___V83*/ meltfptr[35] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1243:/ quasiblock"); /*_.PROGN___V85*/ meltfptr[36] = /*_.IF___V83*/ meltfptr[35];; /*^compute */ /*_.IFCPP___V82*/ meltfptr[30] = /*_.PROGN___V85*/ meltfptr[36];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1243:/ clear"); /*clear *//*_#MELT_NEED_DBG__L27*/ meltfnum[6] = 0; /*^clear */ /*clear *//*_.IF___V83*/ meltfptr[35] = 0; /*^clear */ /*clear *//*_.PROGN___V85*/ meltfptr[36] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V82*/ meltfptr[30] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:1244:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & ( /*!DISCR_MULTIPLE */ meltfrout->tabval[10]); /*_.LIST_TO_MULTIPLE__V86*/ meltfptr[60] = melt_apply ((meltclosure_ptr_t) (( /*!LIST_TO_MULTIPLE */ meltfrout->tabval[17])), (melt_ptr_t) ( /*_.LISTSUBPA__V77*/ meltfptr[58]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.LET___V76*/ meltfptr[54] = /*_.LIST_TO_MULTIPLE__V86*/ meltfptr[60];; MELT_LOCATION ("warmelt-normatch.melt:1231:/ clear"); /*clear *//*_.LISTSUBPA__V77*/ meltfptr[58] = 0; /*^clear */ /*clear *//*_.IFCPP___V82*/ meltfptr[30] = 0; /*^clear */ /*clear *//*_.LIST_TO_MULTIPLE__V86*/ meltfptr[60] = 0; /*_.UNSORTEDSUBPA__V87*/ meltfptr[29] = /*_.LET___V76*/ meltfptr[54];; MELT_LOCATION ("warmelt-normatch.melt:1249:/ quasiblock"); /*^newclosure */ /*newclosure *//*_.LAMBDA___V89*/ meltfptr[35] = (melt_ptr_t) meltgc_new_closure ((meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_CLOSURE)))), (meltroutine_ptr_t) (( /*!konst_20 */ meltfrout-> tabval[20])), (0)); ; /*_.LAMBDA___V88*/ meltfptr[65] = /*_.LAMBDA___V89*/ meltfptr[35];; /*^compute */ /*_.SORTEDSUBPA__V90*/ meltfptr[36] = meltgc_sort_multiple ((melt_ptr_t) ( /*_.UNSORTEDSUBPA__V87*/ meltfptr[29]), (melt_ptr_t) ( /*_.LAMBDA___V88*/ meltfptr[65]), (melt_ptr_t) (( /*!DISCR_MULTIPLE */ meltfrout-> tabval[10])));; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1258:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L29*/ meltfnum[17] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1258:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L29*/ meltfnum[17]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L30*/ meltfnum[11] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1258:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[9]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L30*/ meltfnum[11]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1258; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_tuplepat testercont before loop testercont="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.TESTERCONT__V74*/ meltfptr[52]; /*^apply.arg */ argtab[5].meltbp_cstring = "\n unsortedsubpa="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.UNSORTEDSUBPA__V87*/ meltfptr[29]; /*^apply.arg */ argtab[7].meltbp_cstring = "\n sortedsubpa="; /*^apply.arg */ argtab[8].meltbp_aptr = (melt_ptr_t *) & /*_.SORTEDSUBPA__V90*/ meltfptr[36]; /*_.MELT_DEBUG_FUN__V93*/ meltfptr[60] = 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_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V92*/ meltfptr[30] = /*_.MELT_DEBUG_FUN__V93*/ meltfptr[60];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1258:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L30*/ meltfnum[11] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V93*/ meltfptr[60] = 0; } ; } else { /*^cond.else */ /*_.IF___V92*/ meltfptr[30] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1258:/ quasiblock"); /*_.PROGN___V94*/ meltfptr[60] = /*_.IF___V92*/ meltfptr[30];; /*^compute */ /*_.IFCPP___V91*/ meltfptr[58] = /*_.PROGN___V94*/ meltfptr[60];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1258:/ clear"); /*clear *//*_#MELT_NEED_DBG__L29*/ meltfnum[17] = 0; /*^clear */ /*clear *//*_.IF___V92*/ meltfptr[30] = 0; /*^clear */ /*clear *//*_.PROGN___V94*/ meltfptr[60] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V91*/ meltfptr[58] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1261:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_LIST__L31*/ meltfnum[6] = (melt_magic_discr ((melt_ptr_t) ( /*_.TESTLOCCL__V73*/ meltfptr[45])) == MELTOBMAG_LIST);; MELT_LOCATION ("warmelt-normatch.melt:1261:/ cond"); /*cond */ if ( /*_#IS_LIST__L31*/ meltfnum[6]) /*then */ { /*^cond.then */ /*_.IFELSE___V96*/ meltfptr[60] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:1261:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check testbindl"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (1261) ? (1261) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V96*/ meltfptr[60] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V95*/ meltfptr[30] = /*_.IFELSE___V96*/ meltfptr[60];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1261:/ clear"); /*clear *//*_#IS_LIST__L31*/ meltfnum[6] = 0; /*^clear */ /*clear *//*_.IFELSE___V96*/ meltfptr[60] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V95*/ meltfptr[30] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; /*citerblock FOREACH_IN_MULTIPLE */ { /* start foreach_in_multiple meltcit2__EACHTUP */ long meltcit2__EACHTUP_ln = melt_multiple_length ((melt_ptr_t) /*_.SORTEDSUBPA__V90*/ meltfptr[36]); for ( /*_#TUPATIX__L32*/ meltfnum[11] = 0; ( /*_#TUPATIX__L32*/ meltfnum[11] >= 0) && ( /*_#TUPATIX__L32*/ meltfnum[11] < meltcit2__EACHTUP_ln); /*_#TUPATIX__L32*/ meltfnum[11]++) { /*_.CURTUPAT__V97*/ meltfptr[60] = melt_multiple_nth ((melt_ptr_t) ( /*_.SORTEDSUBPA__V90*/ meltfptr[36]), /*_#TUPATIX__L32*/ meltfnum[11]); #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1265:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L33*/ meltfnum[17] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1265:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L33*/ meltfnum[17]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L34*/ meltfnum[6] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1265:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L34*/ meltfnum[6]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1265; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_tuplepat curtupat="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CURTUPAT__V97*/ meltfptr[60]; /*^apply.arg */ argtab[5].meltbp_cstring = " tupatix="; /*^apply.arg */ argtab[6].meltbp_long = /*_#TUPATIX__L32*/ meltfnum[11]; /*_.MELT_DEBUG_FUN__V100*/ 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_PTR MELTBPARSTR_CSTRING MELTBPARSTR_LONG ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V99*/ meltfptr[98] = /*_.MELT_DEBUG_FUN__V100*/ meltfptr[99];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1265:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L34*/ meltfnum[6] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V100*/ meltfptr[99] = 0; } ; } else { /*^cond.else */ /*_.IF___V99*/ meltfptr[98] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1265:/ quasiblock"); /*_.PROGN___V101*/ meltfptr[99] = /*_.IF___V99*/ meltfptr[98];; /*^compute */ /*_.IFCPP___V98*/ meltfptr[97] = /*_.PROGN___V101*/ meltfptr[99];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1265:/ clear"); /*clear *//*_#MELT_NEED_DBG__L33*/ meltfnum[17] = 0; /*^clear */ /*clear *//*_.IF___V99*/ meltfptr[98] = 0; /*^clear */ /*clear *//*_.PROGN___V101*/ meltfptr[99] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V98*/ meltfptr[97] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1266:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L35*/ meltfnum[6] = melt_is_instance_of ((melt_ptr_t) ( /*_.CURTUPAT__V97*/ meltfptr[60]), (melt_ptr_t) (( /*!CLASS_TUPLE_COMPONENT_PATTERN */ meltfrout->tabval[15])));; MELT_LOCATION ("warmelt-normatch.melt:1266:/ cond"); /*cond */ if ( /*_#IS_A__L35*/ meltfnum[6]) /*then */ { /*^cond.then */ /*_.IFELSE___V103*/ meltfptr[99] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:1266:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check curtupat"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (1266) ? (1266) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V103*/ meltfptr[99] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V102*/ meltfptr[98] = /*_.IFELSE___V103*/ meltfptr[99];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1266:/ clear"); /*clear *//*_#IS_A__L35*/ meltfnum[6] = 0; /*^clear */ /*clear *//*_.IFELSE___V103*/ meltfptr[99] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V102*/ meltfptr[98] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:1267:/ quasiblock"); /*^cond */ /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURTUPAT__V97*/ meltfptr[60]), (melt_ptr_t) (( /*!CLASS_TUPLE_COMPONENT_PATTERN */ meltfrout->tabval[15]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURTUPAT__V97*/ meltfptr[60]) /*=obj*/ ; melt_object_get_field (slot, obj, 0, "TUPCP_PATTERN"); /*_.CURPAT__V105*/ meltfptr[104] = slot; }; ; } else { /*^cond.else */ /*_.CURPAT__V105*/ meltfptr[104] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1268:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURTUPAT__V97*/ meltfptr[60]), (melt_ptr_t) (( /*!CLASS_TUPLE_COMPONENT_PATTERN */ meltfrout->tabval[15]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURTUPAT__V97*/ meltfptr[60]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "TUPCP_INDEX"); /*_.TUPCP_INDEX__V106*/ meltfptr[105] = slot; }; ; } else { /*^cond.else */ /*_.TUPCP_INDEX__V106*/ meltfptr[105] = NULL;; } ; /*^compute */ /*_#PATIX__L36*/ meltfnum[17] = (melt_get_int ((melt_ptr_t) ( /*_.TUPCP_INDEX__V106*/ meltfptr[105])));; MELT_LOCATION ("warmelt-normatch.melt:1270:/ quasiblock"); /*^newclosure */ /*newclosure *//*_.LAMBDA___V108*/ meltfptr[107] = (melt_ptr_t) meltgc_new_closure ((meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_CLOSURE)))), (meltroutine_ptr_t) (( /*!konst_25 */ meltfrout->tabval[25])), (1)); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V108*/ meltfptr[107])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 0 >= 0 && 0 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V108*/ meltfptr[107]))); ((meltclosure_ptr_t) /*_.LAMBDA___V108*/ meltfptr[107])->tabval[0] = (melt_ptr_t) ( /*_.TESTERCONT__V74*/ meltfptr[52]); ; /*_.SUBHDLER__V107*/ meltfptr[106] = /*_.LAMBDA___V108*/ meltfptr[107];; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1282:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L37*/ meltfnum[6] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1282:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L37*/ meltfnum[6]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L38*/ meltfnum[37] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1282:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L38*/ meltfnum[37]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1282; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_tuplepat curpat="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CURPAT__V105*/ meltfptr[104]; /*^apply.arg */ argtab[5].meltbp_cstring = " patix="; /*^apply.arg */ argtab[6].meltbp_long = /*_#PATIX__L36*/ meltfnum[17]; /*_.MELT_DEBUG_FUN__V111*/ meltfptr[110] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_LONG ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V110*/ meltfptr[109] = /*_.MELT_DEBUG_FUN__V111*/ meltfptr[110];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1282:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L38*/ meltfnum[37] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V111*/ meltfptr[110] = 0; } ; } else { /*^cond.else */ /*_.IF___V110*/ meltfptr[109] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1282:/ quasiblock"); /*_.PROGN___V112*/ meltfptr[110] = /*_.IF___V110*/ meltfptr[109];; /*^compute */ /*_.IFCPP___V109*/ meltfptr[108] = /*_.PROGN___V112*/ meltfptr[110];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1282:/ clear"); /*clear *//*_#MELT_NEED_DBG__L37*/ meltfnum[6] = 0; /*^clear */ /*clear *//*_.IF___V110*/ meltfptr[109] = 0; /*^clear */ /*clear *//*_.PROGN___V112*/ meltfptr[110] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V109*/ meltfptr[108] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:1283:/ quasiblock"); /*_.CURLOCCL__V114*/ meltfptr[110] = ( /*nil */ NULL);; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1285:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L39*/ meltfnum[37] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1285:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L39*/ meltfnum[37]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L40*/ meltfnum[6] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1285:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L40*/ meltfnum[6]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1285; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_tuplepat scanning testloccl"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.TESTLOCCL__V73*/ meltfptr[45]; /*_.MELT_DEBUG_FUN__V117*/ meltfptr[116] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V116*/ meltfptr[115] = /*_.MELT_DEBUG_FUN__V117*/ meltfptr[116];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1285:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L40*/ meltfnum[6] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V117*/ meltfptr[116] = 0; } ; } else { /*^cond.else */ /*_.IF___V116*/ meltfptr[115] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1285:/ quasiblock"); /*_.PROGN___V118*/ meltfptr[116] = /*_.IF___V116*/ meltfptr[115];; /*^compute */ /*_.IFCPP___V115*/ meltfptr[114] = /*_.PROGN___V118*/ meltfptr[116];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1285:/ clear"); /*clear *//*_#MELT_NEED_DBG__L39*/ meltfnum[37] = 0; /*^clear */ /*clear *//*_.IF___V116*/ meltfptr[115] = 0; /*^clear */ /*clear *//*_.PROGN___V118*/ meltfptr[116] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V115*/ meltfptr[114] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; /*citerblock FOREACH_IN_LIST */ { /* start foreach_in_list meltcit3__EACHLIST */ for ( /*_.TESTPAIR__V119*/ meltfptr[115] = melt_list_first ((melt_ptr_t) /*_.TESTLOCCL__V73*/ meltfptr[45]); melt_magic_discr ((melt_ptr_t) /*_.TESTPAIR__V119*/ meltfptr[115]) == MELTOBMAG_PAIR; /*_.TESTPAIR__V119*/ meltfptr[115] = melt_pair_tail ((melt_ptr_t) /*_.TESTPAIR__V119*/ meltfptr[115])) { /*_.TESTLOCSY__V120*/ meltfptr[116] = melt_pair_head ((melt_ptr_t) /*_.TESTPAIR__V119*/ meltfptr[115]); #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1290:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L41*/ meltfnum[6] = melt_is_instance_of ((melt_ptr_t) ( /*_.TESTLOCSY__V120*/ meltfptr[116]), (melt_ptr_t) (( /*!CLASS_NREP_LOCSYMOCC */ meltfrout->tabval[26])));; MELT_LOCATION ("warmelt-normatch.melt:1290:/ cond"); /*cond */ if ( /*_#IS_A__L41*/ meltfnum[6]) /*then */ { /*^cond.then */ /*_.IFELSE___V122*/ meltfptr[121] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:1290:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check testlocsy"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (1290) ? (1290) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V122*/ meltfptr[121] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V121*/ meltfptr[120] = /*_.IFELSE___V122*/ meltfptr[121];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1290:/ clear"); /*clear *//*_#IS_A__L41*/ meltfnum[6] = 0; /*^clear */ /*clear *//*_.IFELSE___V122*/ meltfptr[121] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V121*/ meltfptr[120] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:1291:/ checksignal"); MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normatch.melt:1292:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.TESTLOCSY__V120*/ meltfptr[116]), (melt_ptr_t) (( /*!CLASS_NREP_SYMOCC */ meltfrout->tabval[27]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.TESTLOCSY__V120*/ meltfptr[116]) /*=obj*/ ; melt_object_get_field (slot, obj, 3, "NOCC_BIND"); /*_.NOCC_BIND__V123*/ meltfptr[121] = slot; }; ; } else { /*^cond.else */ /*_.NOCC_BIND__V123*/ meltfptr[121] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1292:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.NOCC_BIND__V123*/ meltfptr[121]), (melt_ptr_t) (( /*!CLASS_LET_BINDING */ meltfrout->tabval[28]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.NOCC_BIND__V123*/ meltfptr[121]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "LETBIND_EXPR"); /*_.LETBIND_EXPR__V124*/ meltfptr[123] = slot; }; ; } else { /*^cond.else */ /*_.LETBIND_EXPR__V124*/ meltfptr[123] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1292:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.LETBIND_EXPR__V124*/ meltfptr[123]), (melt_ptr_t) (( /*!CLASS_NREP_UNSAFE_NTH_COMPONENT */ meltfrout->tabval[29]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.LETBIND_EXPR__V124*/ meltfptr[123]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "NUNTH_INDEX"); /*_.NUNTH_INDEX__V125*/ meltfptr[124] = slot; }; ; } else { /*^cond.else */ /*_.NUNTH_INDEX__V125*/ meltfptr[124] = NULL;; } ; /*^compute */ /*_#GET_INT__L42*/ meltfnum[37] = (melt_get_int ((melt_ptr_t) ( /*_.NUNTH_INDEX__V125*/ meltfptr[124])));; /*^compute */ /*_#I__L43*/ meltfnum[6] = (( /*_#PATIX__L36*/ meltfnum[17]) == ( /*_#GET_INT__L42*/ meltfnum[37]));; MELT_LOCATION ("warmelt-normatch.melt:1291:/ cond"); /*cond */ if ( /*_#I__L43*/ meltfnum[6]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normatch.melt:1294:/ compute"); /*_.TESTPAIR__V119*/ meltfptr[115] = /*_.SETQ___V127*/ meltfptr[126] = ( /*nil */ NULL);; MELT_LOCATION ("warmelt-normatch.melt:1295:/ compute"); /*_.CURLOCCL__V114*/ meltfptr[110] = /*_.SETQ___V128*/ meltfptr[127] = /*_.TESTLOCSY__V120*/ meltfptr[116];; MELT_LOCATION ("warmelt-normatch.melt:1293:/ quasiblock"); /*_.PROGN___V129*/ meltfptr[128] = /*_.SETQ___V128*/ meltfptr[127];; /*^compute */ /*_.IF___V126*/ meltfptr[125] = /*_.PROGN___V129*/ meltfptr[128];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1291:/ clear"); /*clear *//*_.SETQ___V127*/ meltfptr[126] = 0; /*^clear */ /*clear *//*_.SETQ___V128*/ meltfptr[127] = 0; /*^clear */ /*clear *//*_.PROGN___V129*/ meltfptr[128] = 0; } ; } else { /*^cond.else */ /*_.IF___V126*/ meltfptr[125] = NULL;; } ; } /* end foreach_in_list meltcit3__EACHLIST */ /*_.TESTPAIR__V119*/ meltfptr[115] = NULL; /*_.TESTLOCSY__V120*/ meltfptr[116] = NULL; /*citerepilog */ MELT_LOCATION ("warmelt-normatch.melt:1287:/ clear"); /*clear *//*_.TESTPAIR__V119*/ meltfptr[115] = 0; /*^clear */ /*clear *//*_.TESTLOCSY__V120*/ meltfptr[116] = 0; /*^clear */ /*clear *//*_.IFCPP___V121*/ meltfptr[120] = 0; /*^clear */ /*clear *//*_.NOCC_BIND__V123*/ meltfptr[121] = 0; /*^clear */ /*clear *//*_.LETBIND_EXPR__V124*/ meltfptr[123] = 0; /*^clear */ /*clear *//*_.NUNTH_INDEX__V125*/ meltfptr[124] = 0; /*^clear */ /*clear *//*_#GET_INT__L42*/ meltfnum[37] = 0; /*^clear */ /*clear *//*_#I__L43*/ meltfnum[6] = 0; /*^clear */ /*clear *//*_.IF___V126*/ meltfptr[125] = 0; } /*endciterblock FOREACH_IN_LIST */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1297:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L44*/ meltfnum[43] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1297:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L44*/ meltfnum[43]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L45*/ meltfnum[44] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1297:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L45*/ meltfnum[44]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1297; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_tuplepat got curloccl="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CURLOCCL__V114*/ meltfptr[110]; /*_.MELT_DEBUG_FUN__V132*/ meltfptr[128] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V131*/ meltfptr[127] = /*_.MELT_DEBUG_FUN__V132*/ meltfptr[128];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1297:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L45*/ meltfnum[44] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V132*/ meltfptr[128] = 0; } ; } else { /*^cond.else */ /*_.IF___V131*/ meltfptr[127] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1297:/ quasiblock"); /*_.PROGN___V133*/ meltfptr[128] = /*_.IF___V131*/ meltfptr[127];; /*^compute */ /*_.IFCPP___V130*/ meltfptr[126] = /*_.PROGN___V133*/ meltfptr[128];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1297:/ clear"); /*clear *//*_#MELT_NEED_DBG__L44*/ meltfnum[43] = 0; /*^clear */ /*clear *//*_.IF___V131*/ meltfptr[127] = 0; /*^clear */ /*clear *//*_.PROGN___V133*/ meltfptr[128] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V130*/ meltfptr[126] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:1299:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#NULL__L46*/ meltfnum[44] = (( /*_.CURLOCCL__V114*/ meltfptr[110]) == NULL);; MELT_LOCATION ("warmelt-normatch.melt:1299:/ cond"); /*cond */ if ( /*_#NULL__L46*/ meltfnum[44]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normatch.melt:1300:/ quasiblock"); MELT_LOCATION ("warmelt-normatch.melt:1301:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { /*_.NEWSYM__V136*/ meltfptr[135] = melt_apply ((meltclosure_ptr_t) (( /*!CLONE_SYMBOL */ meltfrout->tabval[30])), (melt_ptr_t) (( /*!konst_31_NTHCOMP */ meltfrout->tabval[31])), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normatch.melt:1302:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_.MAKE_INTEGERBOX__V137*/ meltfptr[136] = (meltgc_new_int ((meltobject_ptr_t) (( /*!DISCR_CONSTANT_INTEGER */ meltfrout->tabval[16])), ( /*_#PATIX__L36*/ meltfnum[17])));; MELT_LOCATION ("warmelt-normatch.melt:1302:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_UNSAFE_NTH_COMPONENT */ meltfrout->tabval[29])), (3), "CLASS_NREP_UNSAFE_NTH_COMPONENT"); /*_.INST__V139*/ meltfptr[138] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V139*/ meltfptr[138])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V139*/ meltfptr[138]), (0), ( /*_.SLOC__V15*/ meltfptr[14]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NUNTH_TUPLE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V139*/ meltfptr[138])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V139*/ meltfptr[138]), (1), ( /*_.NMATCH__V3*/ meltfptr[2]), "NUNTH_TUPLE"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NUNTH_INDEX", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V139*/ meltfptr[138])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V139*/ meltfptr[138]), (2), ( /*_.MAKE_INTEGERBOX__V137*/ meltfptr[136]), "NUNTH_INDEX"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V139*/ meltfptr[138], "newly made instance"); ; /*_.NUNTHEXP__V138*/ meltfptr[137] = /*_.INST__V139*/ meltfptr[138];; MELT_LOCATION ("warmelt-normatch.melt:1307:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NORMAL_LET_BINDING */ meltfrout->tabval[32])), (4), "CLASS_NORMAL_LET_BINDING"); /*_.INST__V141*/ meltfptr[140] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @BINDER", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V141*/ meltfptr[140])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V141*/ meltfptr[140]), (0), ( /*_.NEWSYM__V136*/ meltfptr[135]), "BINDER"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_TYPE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V141*/ meltfptr[140])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V141*/ meltfptr[140]), (1), (( /*!CTYPE_VALUE */ meltfrout-> tabval[33])), "LETBIND_TYPE"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_EXPR", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V141*/ meltfptr[140])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V141*/ meltfptr[140]), (2), ( /*_.NUNTHEXP__V138*/ meltfptr[137]), "LETBIND_EXPR"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V141*/ meltfptr[140])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V141*/ meltfptr[140]), (3), ( /*_.SLOC__V15*/ meltfptr[14]), "LETBIND_LOC"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V141*/ meltfptr[140], "newly made instance"); ; /*_.NEWBIND__V140*/ meltfptr[139] = /*_.INST__V141*/ meltfptr[140];; MELT_LOCATION ("warmelt-normatch.melt:1312:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_LOCSYMOCC */ meltfrout->tabval[26])), (4), "CLASS_NREP_LOCSYMOCC"); /*_.INST__V143*/ meltfptr[142] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V143*/ meltfptr[142])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V143*/ meltfptr[142]), (0), ( /*_.SLOC__V15*/ meltfptr[14]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_CTYP", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V143*/ meltfptr[142])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V143*/ meltfptr[142]), (2), (( /*!CTYPE_VALUE */ meltfrout-> tabval[33])), "NOCC_CTYP"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_SYMB", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V143*/ meltfptr[142])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V143*/ meltfptr[142]), (1), ( /*_.NEWSYM__V136*/ meltfptr[135]), "NOCC_SYMB"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_BIND", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V143*/ meltfptr[142])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V143*/ meltfptr[142]), (3), ( /*_.NEWBIND__V140*/ meltfptr[139]), "NOCC_BIND"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V143*/ meltfptr[142], "newly made instance"); ; /*_.NEWLOCC__V142*/ meltfptr[141] = /*_.INST__V143*/ meltfptr[142];; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1319:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L47*/ meltfnum[43] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1319:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L47*/ meltfnum[43]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L48*/ meltfnum[47] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1319:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L48*/ meltfnum[47]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1319; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_tuplepat newlocc="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NEWLOCC__V142*/ meltfptr[141]; /*^apply.arg */ argtab[5].meltbp_cstring = "\n* newbind="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.NEWBIND__V140*/ meltfptr[139]; /*_.MELT_DEBUG_FUN__V146*/ meltfptr[145] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V145*/ meltfptr[144] = /*_.MELT_DEBUG_FUN__V146*/ meltfptr[145];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1319:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L48*/ meltfnum[47] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V146*/ meltfptr[145] = 0; } ; } else { /*^cond.else */ /*_.IF___V145*/ meltfptr[144] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1319:/ quasiblock"); /*_.PROGN___V147*/ meltfptr[145] = /*_.IF___V145*/ meltfptr[144];; /*^compute */ /*_.IFCPP___V144*/ meltfptr[143] = /*_.PROGN___V147*/ meltfptr[145];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1319:/ clear"); /*clear *//*_#MELT_NEED_DBG__L47*/ meltfnum[43] = 0; /*^clear */ /*clear *//*_.IF___V145*/ meltfptr[144] = 0; /*^clear */ /*clear *//*_.PROGN___V147*/ meltfptr[145] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V144*/ meltfptr[143] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:1322:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.TESTER__V21*/ meltfptr[20]), (melt_ptr_t) (( /*!CLASS_NORMTESTER_TUPLE */ meltfrout->tabval[5]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.TESTER__V21*/ meltfptr[20]) /*=obj*/ ; melt_object_get_field (slot, obj, 7, "NTTUPLE_COMPONENTS"); /*_.NTTUPLE_COMPONENTS__V148*/ meltfptr[144] = slot; }; ; } else { /*^cond.else */ /*_.NTTUPLE_COMPONENTS__V148*/ meltfptr[144] = NULL;; } ; { MELT_LOCATION ("warmelt-normatch.melt:1321:/ locexp"); meltgc_multiple_put_nth ((melt_ptr_t) ( /*_.NTTUPLE_COMPONENTS__V148*/ meltfptr[144]), ( /*_#PATIX__L36*/ meltfnum[17]), (melt_ptr_t) ( /*_.NEWLOCC__V142*/ meltfptr[141])); } ; MELT_LOCATION ("warmelt-normatch.melt:1327:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.NCX__V17*/ meltfptr[16]), (melt_ptr_t) (( /*!CLASS_NORMALIZATION_CONTEXT */ meltfrout->tabval[34]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.NCX__V17*/ meltfptr[16]) /*=obj*/ ; melt_object_get_field (slot, obj, 6, "NCTX_SYMBCACHEMAP"); /*_.NCTX_SYMBCACHEMAP__V149*/ meltfptr[145] = slot; }; ; } else { /*^cond.else */ /*_.NCTX_SYMBCACHEMAP__V149*/ meltfptr[145] = NULL;; } ; { MELT_LOCATION ("warmelt-normatch.melt:1327:/ locexp"); meltgc_put_mapobjects ((meltmapobjects_ptr_t) ( /*_.NCTX_SYMBCACHEMAP__V149*/ meltfptr[145]), (meltobject_ptr_t) ( /*_.NEWSYM__V136*/ meltfptr[135]), (melt_ptr_t) ( /*_.NEWLOCC__V142*/ meltfptr[141])); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1328:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L49*/ meltfnum[47] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1328:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L49*/ meltfnum[47]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L50*/ meltfnum[43] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1328:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L50*/ meltfnum[43]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1328; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_tuplepat updated components tester"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.TESTER__V21*/ meltfptr[20]; /*_.MELT_DEBUG_FUN__V152*/ meltfptr[151] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V151*/ meltfptr[150] = /*_.MELT_DEBUG_FUN__V152*/ meltfptr[151];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1328:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L50*/ meltfnum[43] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V152*/ meltfptr[151] = 0; } ; } else { /*^cond.else */ /*_.IF___V151*/ meltfptr[150] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1328:/ quasiblock"); /*_.PROGN___V153*/ meltfptr[151] = /*_.IF___V151*/ meltfptr[150];; /*^compute */ /*_.IFCPP___V150*/ meltfptr[149] = /*_.PROGN___V153*/ meltfptr[151];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1328:/ clear"); /*clear *//*_#MELT_NEED_DBG__L49*/ meltfnum[47] = 0; /*^clear */ /*clear *//*_.IF___V151*/ meltfptr[150] = 0; /*^clear */ /*clear *//*_.PROGN___V153*/ meltfptr[151] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V150*/ meltfptr[149] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; { MELT_LOCATION ("warmelt-normatch.melt:1329:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.TESTLOCCL__V73*/ meltfptr[45]), (melt_ptr_t) ( /*_.NEWLOCC__V142*/ meltfptr[141])); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1330:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L51*/ meltfnum[43] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1330:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L51*/ meltfnum[43]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L52*/ meltfnum[47] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1330:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L52*/ meltfnum[47]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1330; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_tuplepat made newlocc"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NEWLOCC__V142*/ meltfptr[141]; /*_.MELT_DEBUG_FUN__V156*/ meltfptr[155] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V155*/ meltfptr[151] = /*_.MELT_DEBUG_FUN__V156*/ meltfptr[155];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1330:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L52*/ meltfnum[47] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V156*/ meltfptr[155] = 0; } ; } else { /*^cond.else */ /*_.IF___V155*/ meltfptr[151] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1330:/ quasiblock"); /*_.PROGN___V157*/ meltfptr[155] = /*_.IF___V155*/ meltfptr[151];; /*^compute */ /*_.IFCPP___V154*/ meltfptr[150] = /*_.PROGN___V157*/ meltfptr[155];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1330:/ clear"); /*clear *//*_#MELT_NEED_DBG__L51*/ meltfnum[43] = 0; /*^clear */ /*clear *//*_.IF___V155*/ meltfptr[151] = 0; /*^clear */ /*clear *//*_.PROGN___V157*/ meltfptr[155] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V154*/ meltfptr[150] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:1331:/ compute"); /*_.CURLOCCL__V114*/ meltfptr[110] = /*_.SETQ___V158*/ meltfptr[151] = /*_.NEWLOCC__V142*/ meltfptr[141];; /*_.LET___V135*/ meltfptr[128] = /*_.SETQ___V158*/ meltfptr[151];; MELT_LOCATION ("warmelt-normatch.melt:1300:/ clear"); /*clear *//*_.NEWSYM__V136*/ meltfptr[135] = 0; /*^clear */ /*clear *//*_.MAKE_INTEGERBOX__V137*/ meltfptr[136] = 0; /*^clear */ /*clear *//*_.NUNTHEXP__V138*/ meltfptr[137] = 0; /*^clear */ /*clear *//*_.NEWBIND__V140*/ meltfptr[139] = 0; /*^clear */ /*clear *//*_.NEWLOCC__V142*/ meltfptr[141] = 0; /*^clear */ /*clear *//*_.IFCPP___V144*/ meltfptr[143] = 0; /*^clear */ /*clear *//*_.NTTUPLE_COMPONENTS__V148*/ meltfptr[144] = 0; /*^clear */ /*clear *//*_.NCTX_SYMBCACHEMAP__V149*/ meltfptr[145] = 0; /*^clear */ /*clear *//*_.IFCPP___V150*/ meltfptr[149] = 0; /*^clear */ /*clear *//*_.IFCPP___V154*/ meltfptr[150] = 0; /*^clear */ /*clear *//*_.SETQ___V158*/ meltfptr[151] = 0; /*_.IF___V134*/ meltfptr[127] = /*_.LET___V135*/ meltfptr[128];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1299:/ clear"); /*clear *//*_.LET___V135*/ meltfptr[128] = 0; } ; } else { /*^cond.else */ /*_.IF___V134*/ meltfptr[127] = NULL;; } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1333:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L53*/ meltfnum[47] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1333:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L53*/ meltfnum[47]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L54*/ meltfnum[43] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1333:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L54*/ meltfnum[43]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1333; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_tuplepat before normal_pattern curpat="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CURPAT__V105*/ meltfptr[104]; /*^apply.arg */ argtab[5].meltbp_cstring = " curloccl="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.CURLOCCL__V114*/ meltfptr[110]; /*_.MELT_DEBUG_FUN__V161*/ meltfptr[136] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V160*/ meltfptr[135] = /*_.MELT_DEBUG_FUN__V161*/ meltfptr[136];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1333:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L54*/ meltfnum[43] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V161*/ meltfptr[136] = 0; } ; } else { /*^cond.else */ /*_.IF___V160*/ meltfptr[135] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1333:/ quasiblock"); /*_.PROGN___V162*/ meltfptr[137] = /*_.IF___V160*/ meltfptr[135];; /*^compute */ /*_.IFCPP___V159*/ meltfptr[155] = /*_.PROGN___V162*/ meltfptr[137];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1333:/ clear"); /*clear *//*_#MELT_NEED_DBG__L53*/ meltfnum[47] = 0; /*^clear */ /*clear *//*_.IF___V160*/ meltfptr[135] = 0; /*^clear */ /*clear *//*_.PROGN___V162*/ meltfptr[137] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V159*/ meltfptr[155] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:1334:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^msend */ /*msend */ { union meltparam_un argtab[3]; memset (&argtab, 0, sizeof (argtab)); /*^ojbmsend.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.CURLOCCL__V114*/ meltfptr[110]; /*^ojbmsend.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.SUBHDLER__V107*/ meltfptr[106]; /*^ojbmsend.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & /*_.PCN__V5*/ meltfptr[4]; /*_.NORMAL_PATTERN__V163*/ meltfptr[139] = meltgc_send ((melt_ptr_t) ( /*_.CURPAT__V105*/ meltfptr[104]), (melt_ptr_t) (( /*!NORMAL_PATTERN */ meltfrout-> tabval[35])), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1335:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L55*/ meltfnum[43] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1335:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L55*/ meltfnum[43]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L56*/ meltfnum[47] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1335:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L56*/ meltfnum[47]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1335; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_tuplepat after normal_pattern curpat="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CURPAT__V105*/ meltfptr[104]; /*^apply.arg */ argtab[5].meltbp_cstring = " patix="; /*^apply.arg */ argtab[6].meltbp_long = /*_#PATIX__L36*/ meltfnum[17]; /*_.MELT_DEBUG_FUN__V166*/ meltfptr[144] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_LONG ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V165*/ meltfptr[143] = /*_.MELT_DEBUG_FUN__V166*/ meltfptr[144];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1335:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L56*/ meltfnum[47] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V166*/ meltfptr[144] = 0; } ; } else { /*^cond.else */ /*_.IF___V165*/ meltfptr[143] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1335:/ quasiblock"); /*_.PROGN___V167*/ meltfptr[145] = /*_.IF___V165*/ meltfptr[143];; /*^compute */ /*_.IFCPP___V164*/ meltfptr[141] = /*_.PROGN___V167*/ meltfptr[145];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1335:/ clear"); /*clear *//*_#MELT_NEED_DBG__L55*/ meltfnum[43] = 0; /*^clear */ /*clear *//*_.IF___V165*/ meltfptr[143] = 0; /*^clear */ /*clear *//*_.PROGN___V167*/ meltfptr[145] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V164*/ meltfptr[141] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; /*^compute */ /*_.LET___V113*/ meltfptr[109] = /*_.IFCPP___V164*/ meltfptr[141];; MELT_LOCATION ("warmelt-normatch.melt:1283:/ clear"); /*clear *//*_.CURLOCCL__V114*/ meltfptr[110] = 0; /*^clear */ /*clear *//*_.IFCPP___V115*/ meltfptr[114] = 0; /*^clear */ /*clear *//*_.IFCPP___V130*/ meltfptr[126] = 0; /*^clear */ /*clear *//*_#NULL__L46*/ meltfnum[44] = 0; /*^clear */ /*clear *//*_.IF___V134*/ meltfptr[127] = 0; /*^clear */ /*clear *//*_.IFCPP___V159*/ meltfptr[155] = 0; /*^clear */ /*clear *//*_.NORMAL_PATTERN__V163*/ meltfptr[139] = 0; /*^clear */ /*clear *//*_.IFCPP___V164*/ meltfptr[141] = 0; /*_.LET___V104*/ meltfptr[99] = /*_.LET___V113*/ meltfptr[109];; MELT_LOCATION ("warmelt-normatch.melt:1267:/ clear"); /*clear *//*_.CURPAT__V105*/ meltfptr[104] = 0; /*^clear */ /*clear *//*_.TUPCP_INDEX__V106*/ meltfptr[105] = 0; /*^clear */ /*clear *//*_#PATIX__L36*/ meltfnum[17] = 0; /*^clear */ /*clear *//*_.SUBHDLER__V107*/ meltfptr[106] = 0; /*^clear */ /*clear *//*_.IFCPP___V109*/ meltfptr[108] = 0; /*^clear */ /*clear *//*_.LET___V113*/ meltfptr[109] = 0; if ( /*_#TUPATIX__L32*/ meltfnum[11] < 0) break; } /* end foreach_in_multiple meltcit2__EACHTUP */ /*citerepilog */ MELT_LOCATION ("warmelt-normatch.melt:1262:/ clear"); /*clear *//*_.CURTUPAT__V97*/ meltfptr[60] = 0; /*^clear */ /*clear *//*_#TUPATIX__L32*/ meltfnum[11] = 0; /*^clear */ /*clear *//*_.IFCPP___V98*/ meltfptr[97] = 0; /*^clear */ /*clear *//*_.IFCPP___V102*/ meltfptr[98] = 0; /*^clear */ /*clear *//*_.LET___V104*/ meltfptr[99] = 0; } /*endciterblock FOREACH_IN_MULTIPLE */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1337:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L57*/ meltfnum[47] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1337:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L57*/ meltfnum[47]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L58*/ meltfnum[43] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1337:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L58*/ meltfnum[43]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1337; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_tuplepat final tester"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.TESTER__V21*/ meltfptr[20]; /*_.MELT_DEBUG_FUN__V170*/ meltfptr[151] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V169*/ meltfptr[150] = /*_.MELT_DEBUG_FUN__V170*/ meltfptr[151];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1337:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L58*/ meltfnum[43] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V170*/ meltfptr[151] = 0; } ; } else { /*^cond.else */ /*_.IF___V169*/ meltfptr[150] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1337:/ quasiblock"); /*_.PROGN___V171*/ meltfptr[128] = /*_.IF___V169*/ meltfptr[150];; /*^compute */ /*_.IFCPP___V168*/ meltfptr[149] = /*_.PROGN___V171*/ meltfptr[128];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1337:/ clear"); /*clear *//*_#MELT_NEED_DBG__L57*/ meltfnum[47] = 0; /*^clear */ /*clear *//*_.IF___V169*/ meltfptr[150] = 0; /*^clear */ /*clear *//*_.PROGN___V171*/ meltfptr[128] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V168*/ meltfptr[149] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1338:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L59*/ meltfnum[44] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1338:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L59*/ meltfnum[44]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L60*/ meltfnum[17] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1338:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L60*/ meltfnum[17]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1338; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_tuplepat recv end"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.RECV__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V174*/ meltfptr[137] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V173*/ meltfptr[135] = /*_.MELT_DEBUG_FUN__V174*/ meltfptr[137];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1338:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L60*/ meltfnum[17] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V174*/ meltfptr[137] = 0; } ; } else { /*^cond.else */ /*_.IF___V173*/ meltfptr[135] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1338:/ quasiblock"); /*_.PROGN___V175*/ meltfptr[144] = /*_.IF___V173*/ meltfptr[135];; /*^compute */ /*_.IFCPP___V172*/ meltfptr[136] = /*_.PROGN___V175*/ meltfptr[144];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1338:/ clear"); /*clear *//*_#MELT_NEED_DBG__L59*/ meltfnum[44] = 0; /*^clear */ /*clear *//*_.IF___V173*/ meltfptr[135] = 0; /*^clear */ /*clear *//*_.PROGN___V175*/ meltfptr[144] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V172*/ meltfptr[136] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; /*^compute */ /*_.LET___V72*/ meltfptr[43] = /*_.IFCPP___V172*/ meltfptr[136];; MELT_LOCATION ("warmelt-normatch.melt:1226:/ clear"); /*clear *//*_.TESTLOCCL__V73*/ meltfptr[45] = 0; /*^clear */ /*clear *//*_.TESTERCONT__V74*/ meltfptr[52] = 0; /*^clear */ /*clear *//*_.LET___V76*/ meltfptr[54] = 0; /*^clear */ /*clear *//*_.UNSORTEDSUBPA__V87*/ meltfptr[29] = 0; /*^clear */ /*clear *//*_.LAMBDA___V88*/ meltfptr[65] = 0; /*^clear */ /*clear *//*_.SORTEDSUBPA__V90*/ meltfptr[36] = 0; /*^clear */ /*clear *//*_.IFCPP___V91*/ meltfptr[58] = 0; /*^clear */ /*clear *//*_.IFCPP___V95*/ meltfptr[30] = 0; /*^clear */ /*clear *//*_.IFCPP___V168*/ meltfptr[149] = 0; /*^clear */ /*clear *//*_.IFCPP___V172*/ meltfptr[136] = 0; /*_.LET___V14*/ meltfptr[12] = /*_.LET___V72*/ meltfptr[43];; MELT_LOCATION ("warmelt-normatch.melt:1163:/ clear"); /*clear *//*_.SLOC__V15*/ meltfptr[14] = 0; /*^clear */ /*clear *//*_.TUPSUBPA__V16*/ meltfptr[15] = 0; /*^clear */ /*clear *//*_#NBCOMP__L5*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.NCX__V17*/ meltfptr[16] = 0; /*^clear */ /*clear *//*_.STUFFMAP__V18*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_.TSTUFF__V19*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_.CURHDLER__V20*/ meltfptr[19] = 0; /*^clear */ /*clear *//*_.TESTER__V21*/ meltfptr[20] = 0; /*^clear */ /*clear *//*_.TESTLIST__V22*/ meltfptr[21] = 0; /*^clear */ /*clear *//*_.IFCPP___V23*/ meltfptr[22] = 0; /*^clear */ /*clear *//*_.FOREVER___V27*/ meltfptr[23] = 0; /*^clear */ /*clear *//*_.IFCPP___V68*/ meltfptr[64] = 0; /*^clear */ /*clear *//*_.LET___V72*/ meltfptr[43] = 0; MELT_LOCATION ("warmelt-normatch.melt:1159:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V14*/ meltfptr[12];; { MELT_LOCATION ("warmelt-normatch.melt:1159:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V6*/ meltfptr[5] = 0; /*^clear */ /*clear *//*_.IFCPP___V10*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.IFCPP___V12*/ meltfptr[7] = 0; /*^clear */ /*clear *//*_.LET___V14*/ meltfptr[12] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("NORMPAT_TUPLEPAT", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_26_warmelt_normatch_NORMPAT_TUPLEPAT_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_26_warmelt_normatch_NORMPAT_TUPLEPAT */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_27_warmelt_normatch_LAMBDA___6__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un * meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un * meltxrestab_) { long current_blocklevel_signals_meltrout_27_warmelt_normatch_LAMBDA___6___melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_27_warmelt_normatch_LAMBDA___6___st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 7 melt_ptr_t mcfr_varptr[7]; #define MELTFRAM_NBVARNUM 2 long mcfr_varnum[2]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_27_warmelt_normatch_LAMBDA___6__ is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_27_warmelt_normatch_LAMBDA___6___st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 7; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_27_warmelt_normatch_LAMBDA___6__ nbval 7*/ meltfram__.mcfr_nbvar = 7 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("LAMBDA_", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normatch.melt:1190:/ getarg"); /*_.TESTER__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { { MELT_LOCATION ("warmelt-normatch.melt:1191:/ locexp"); #if MELT_HAVE_DEBUG if (melt_need_debug (0)) melt_dbgshortbacktrace (("normpat_instancepat lambda"), (15)); #endif ; } ; MELT_LOCATION ("warmelt-normatch.melt:1192:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^cond */ /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) (( /*~TSTUFF */ meltfclos-> tabval[0])), (melt_ptr_t) (( /*!CLASS_NORMTESTER_ANY */ meltfrout->tabval[0]))) ) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NTEST_ELSE", melt_magic_discr ((melt_ptr_t) (( /*~TSTUFF */ meltfclos-> tabval[0]))) == MELTOBMAG_OBJECT); melt_putfield_object ((( /*~TSTUFF */ meltfclos->tabval[0])), (3), ( /*_.TESTER__V2*/ meltfptr[1]), "NTEST_ELSE"); ; /*^touch */ meltgc_touch (( /*~TSTUFF */ meltfclos->tabval[0])); ; /*^touchobj */ melt_dbgtrace_written_object (( /*~TSTUFF */ meltfclos->tabval[0]), "put-fields"); ; /*epilog */ } ; } /*noelse */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1193:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1193:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1193:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1193; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_tuplepat lambda updatelse of tstuff"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & ( /*~TSTUFF */ meltfclos->tabval[0]); /*_.MELT_DEBUG_FUN__V5*/ meltfptr[4] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[1])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V4*/ meltfptr[3] = /*_.MELT_DEBUG_FUN__V5*/ meltfptr[4];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1193:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V5*/ meltfptr[4] = 0; } ; } else { /*^cond.else */ /*_.IF___V4*/ meltfptr[3] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1193:/ quasiblock"); /*_.PROGN___V6*/ meltfptr[4] = /*_.IF___V4*/ meltfptr[3];; /*^compute */ /*_.IFCPP___V3*/ meltfptr[2] = /*_.PROGN___V6*/ meltfptr[4];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1193:/ clear"); /*clear *//*_#MELT_NEED_DBG__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V4*/ meltfptr[3] = 0; /*^clear */ /*clear *//*_.PROGN___V6*/ meltfptr[4] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V3*/ meltfptr[2] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:1194:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.TESTER__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_NORMTESTER_ANY */ meltfrout->tabval[0]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.TESTER__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 6, "NTEST_COMEFROM"); /*_.NTEST_COMEFROM__V7*/ meltfptr[3] = slot; }; ; } else { /*^cond.else */ /*_.NTEST_COMEFROM__V7*/ meltfptr[3] = NULL;; } ; { MELT_LOCATION ("warmelt-normatch.melt:1194:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.NTEST_COMEFROM__V7*/ meltfptr[3]), (melt_ptr_t) (( /*~TSTUFF */ meltfclos-> tabval[0]))); } ; MELT_LOCATION ("warmelt-normatch.melt:1190:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V3*/ meltfptr[2] = 0; /*^clear */ /*clear *//*_.NTEST_COMEFROM__V7*/ meltfptr[3] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("LAMBDA_", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_27_warmelt_normatch_LAMBDA___6___melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*noretval */ NULL); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_27_warmelt_normatch_LAMBDA___6__ */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_28_warmelt_normatch_LAMBDA___7__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un * meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un * meltxrestab_) { long current_blocklevel_signals_meltrout_28_warmelt_normatch_LAMBDA___7___melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_28_warmelt_normatch_LAMBDA___7___st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 11 melt_ptr_t mcfr_varptr[11]; #define MELTFRAM_NBVARNUM 4 long mcfr_varnum[4]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_28_warmelt_normatch_LAMBDA___7__ is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_28_warmelt_normatch_LAMBDA___7___st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 11; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_28_warmelt_normatch_LAMBDA___7__ nbval 11*/ meltfram__.mcfr_nbvar = 11 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("LAMBDA_", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normatch.melt:1249:/ getarg"); /*_.SUPA1__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.SUPA2__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.SUPA2__V3*/ meltfptr[2])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { MELT_LOCATION ("warmelt-normatch.melt:1250:/ quasiblock"); /*^cond */ /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.SUPA1__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_TUPLE_COMPONENT_PATTERN */ meltfrout->tabval[0]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.SUPA1__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 0, "TUPCP_PATTERN"); /*_.TUPCP_PATTERN__V5*/ meltfptr[4] = slot; }; ; } else { /*^cond.else */ /*_.TUPCP_PATTERN__V5*/ meltfptr[4] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1250:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.TUPCP_PATTERN__V5*/ meltfptr[4]), (melt_ptr_t) (( /*!CLASS_SOURCE_PATTERN */ meltfrout->tabval[1]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.TUPCP_PATTERN__V5*/ meltfptr[4]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "PAT_WEIGHT"); /*_.PAT_WEIGHT__V6*/ meltfptr[5] = slot; }; ; } else { /*^cond.else */ /*_.PAT_WEIGHT__V6*/ meltfptr[5] = NULL;; } ; /*^compute */ /*_#WP1__L1*/ meltfnum[0] = (melt_get_int ((melt_ptr_t) ( /*_.PAT_WEIGHT__V6*/ meltfptr[5])));; MELT_LOCATION ("warmelt-normatch.melt:1251:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.SUPA2__V3*/ meltfptr[2]), (melt_ptr_t) (( /*!CLASS_TUPLE_COMPONENT_PATTERN */ meltfrout->tabval[0]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.SUPA2__V3*/ meltfptr[2]) /*=obj*/ ; melt_object_get_field (slot, obj, 0, "TUPCP_PATTERN"); /*_.TUPCP_PATTERN__V7*/ meltfptr[6] = slot; }; ; } else { /*^cond.else */ /*_.TUPCP_PATTERN__V7*/ meltfptr[6] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1251:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.TUPCP_PATTERN__V7*/ meltfptr[6]), (melt_ptr_t) (( /*!CLASS_SOURCE_PATTERN */ meltfrout->tabval[1]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.TUPCP_PATTERN__V7*/ meltfptr[6]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "PAT_WEIGHT"); /*_.PAT_WEIGHT__V8*/ meltfptr[7] = slot; }; ; } else { /*^cond.else */ /*_.PAT_WEIGHT__V8*/ meltfptr[7] = NULL;; } ; /*^compute */ /*_#WP2__L2*/ meltfnum[1] = (melt_get_int ((melt_ptr_t) ( /*_.PAT_WEIGHT__V8*/ meltfptr[7])));; MELT_LOCATION ("warmelt-normatch.melt:1253:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#I__L3*/ meltfnum[2] = (( /*_#WP1__L1*/ meltfnum[0]) == ( /*_#WP2__L2*/ meltfnum[1]));; MELT_LOCATION ("warmelt-normatch.melt:1253:/ cond"); /*cond */ if ( /*_#I__L3*/ meltfnum[2]) /*then */ { /*^cond.then */ /*_.IFELSE___V9*/ meltfptr[8] = ( /*!konst_2 */ meltfrout->tabval[2]);; } else { MELT_LOCATION ("warmelt-normatch.melt:1253:/ cond.else"); /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normatch.melt:1254:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#I__L4*/ meltfnum[3] = (( /*_#WP1__L1*/ meltfnum[0]) < ( /*_#WP2__L2*/ meltfnum[1]));; MELT_LOCATION ("warmelt-normatch.melt:1254:/ cond"); /*cond */ if ( /*_#I__L4*/ meltfnum[3]) /*then */ { /*^cond.then */ /*_.IFELSE___V10*/ meltfptr[9] = ( /*!konst_3 */ meltfrout->tabval[3]);; } else { MELT_LOCATION ("warmelt-normatch.melt:1254:/ cond.else"); /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normatch.melt:1255:/ quasiblock"); /*_.PROGN___V11*/ meltfptr[10] = ( /*!konst_4 */ meltfrout->tabval[4]);; /*^compute */ /*_.IFELSE___V10*/ meltfptr[9] = /*_.PROGN___V11*/ meltfptr[10];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1254:/ clear"); /*clear *//*_.PROGN___V11*/ meltfptr[10] = 0; } ; } ; /*_.IFELSE___V9*/ meltfptr[8] = /*_.IFELSE___V10*/ meltfptr[9];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1253:/ clear"); /*clear *//*_#I__L4*/ meltfnum[3] = 0; /*^clear */ /*clear *//*_.IFELSE___V10*/ meltfptr[9] = 0; } ; } ; /*_.LET___V4*/ meltfptr[3] = /*_.IFELSE___V9*/ meltfptr[8];; MELT_LOCATION ("warmelt-normatch.melt:1250:/ clear"); /*clear *//*_.TUPCP_PATTERN__V5*/ meltfptr[4] = 0; /*^clear */ /*clear *//*_.PAT_WEIGHT__V6*/ meltfptr[5] = 0; /*^clear */ /*clear *//*_#WP1__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.TUPCP_PATTERN__V7*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.PAT_WEIGHT__V8*/ meltfptr[7] = 0; /*^clear */ /*clear *//*_#WP2__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_#I__L3*/ meltfnum[2] = 0; /*^clear */ /*clear *//*_.IFELSE___V9*/ meltfptr[8] = 0; MELT_LOCATION ("warmelt-normatch.melt:1249:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V4*/ meltfptr[3];; { MELT_LOCATION ("warmelt-normatch.melt:1249:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*epilog */ /*^clear */ /*clear *//*_.LET___V4*/ meltfptr[3] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("LAMBDA_", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_28_warmelt_normatch_LAMBDA___7___melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_28_warmelt_normatch_LAMBDA___7__ */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_29_warmelt_normatch_LAMBDA___8__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un * meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un * meltxrestab_) { long current_blocklevel_signals_meltrout_29_warmelt_normatch_LAMBDA___8___melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_29_warmelt_normatch_LAMBDA___8___st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 19 melt_ptr_t mcfr_varptr[19]; #define MELTFRAM_NBVARNUM 7 long mcfr_varnum[7]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_29_warmelt_normatch_LAMBDA___8__ is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_29_warmelt_normatch_LAMBDA___8___st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 19; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_29_warmelt_normatch_LAMBDA___8__ nbval 19*/ meltfram__.mcfr_nbvar = 19 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("LAMBDA_", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normatch.melt:1270:/ getarg"); /*_.NEWSUBTESTER__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1271:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1271:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1271:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1271; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_tuplepat.subhdler newsubtester="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NEWSUBTESTER__V2*/ meltfptr[1]; /*^apply.arg */ argtab[5].meltbp_cstring = "testercont="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & ( /*~TESTERCONT */ meltfclos->tabval[0]); /*_.MELT_DEBUG_FUN__V5*/ meltfptr[4] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V4*/ meltfptr[3] = /*_.MELT_DEBUG_FUN__V5*/ meltfptr[4];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1271:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V5*/ meltfptr[4] = 0; } ; } else { /*^cond.else */ /*_.IF___V4*/ meltfptr[3] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1271:/ quasiblock"); /*_.PROGN___V6*/ meltfptr[4] = /*_.IF___V4*/ meltfptr[3];; /*^compute */ /*_.IFCPP___V3*/ meltfptr[2] = /*_.PROGN___V6*/ meltfptr[4];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1271:/ clear"); /*clear *//*_#MELT_NEED_DBG__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V4*/ meltfptr[3] = 0; /*^clear */ /*clear *//*_.PROGN___V6*/ meltfptr[4] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V3*/ meltfptr[2] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; { MELT_LOCATION ("warmelt-normatch.melt:1273:/ locexp"); #if MELT_HAVE_DEBUG if (melt_need_debug (0)) melt_dbgshortbacktrace (("normpat_tuplepat.subhdler"), (16)); #endif ; } ; MELT_LOCATION ("warmelt-normatch.melt:1274:/ quasiblock"); /*^cond */ /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) (( /*~TESTERCONT */ meltfclos-> tabval[0])), (melt_ptr_t) (( /*!CLASS_REFERENCE */ meltfrout->tabval[1]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) (( /*~TESTERCONT */ meltfclos->tabval[0])) /*=obj*/ ; melt_object_get_field (slot, obj, 0, "REFERENCED_VALUE"); /*_.PREVTESTER__V8*/ meltfptr[4] = slot; }; ; } else { /*^cond.else */ /*_.PREVTESTER__V8*/ meltfptr[4] = NULL;; } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1275:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L3*/ meltfnum[1] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1275:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L3*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L4*/ meltfnum[0] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1275:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L4*/ meltfnum[0]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1275; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_tuplepat.subhdler prevtester"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.PREVTESTER__V8*/ meltfptr[4]; /*_.MELT_DEBUG_FUN__V11*/ meltfptr[10] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V10*/ meltfptr[9] = /*_.MELT_DEBUG_FUN__V11*/ meltfptr[10];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1275:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L4*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V11*/ meltfptr[10] = 0; } ; } else { /*^cond.else */ /*_.IF___V10*/ meltfptr[9] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1275:/ quasiblock"); /*_.PROGN___V12*/ meltfptr[10] = /*_.IF___V10*/ meltfptr[9];; /*^compute */ /*_.IFCPP___V9*/ meltfptr[8] = /*_.PROGN___V12*/ meltfptr[10];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1275:/ clear"); /*clear *//*_#MELT_NEED_DBG__L3*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IF___V10*/ meltfptr[9] = 0; /*^clear */ /*clear *//*_.PROGN___V12*/ meltfptr[10] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V9*/ meltfptr[8] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1276:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L5*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.PREVTESTER__V8*/ meltfptr[4]), (melt_ptr_t) (( /*!CLASS_NORMTESTER_ANYTESTER */ meltfrout->tabval[2])));; MELT_LOCATION ("warmelt-normatch.melt:1276:/ cond"); /*cond */ if ( /*_#IS_A__L5*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V14*/ meltfptr[10] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:1276:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check prevtester"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (1276) ? (1276) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V14*/ meltfptr[10] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V13*/ meltfptr[9] = /*_.IFELSE___V14*/ meltfptr[10];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1276:/ clear"); /*clear *//*_#IS_A__L5*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V14*/ meltfptr[10] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V13*/ meltfptr[9] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:1277:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & ( /*~TESTERCONT */ meltfclos->tabval[0]); /*_.SET_NEW_TESTER_LAST_THEN__V15*/ meltfptr[10] = melt_apply ((meltclosure_ptr_t) (( /*!SET_NEW_TESTER_LAST_THEN */ meltfrout->tabval[3])), (melt_ptr_t) ( /*_.NEWSUBTESTER__V2*/ meltfptr[1]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.LET___V7*/ meltfptr[3] = /*_.SET_NEW_TESTER_LAST_THEN__V15*/ meltfptr[10];; MELT_LOCATION ("warmelt-normatch.melt:1274:/ clear"); /*clear *//*_.PREVTESTER__V8*/ meltfptr[4] = 0; /*^clear */ /*clear *//*_.IFCPP___V9*/ meltfptr[8] = 0; /*^clear */ /*clear *//*_.IFCPP___V13*/ meltfptr[9] = 0; /*^clear */ /*clear *//*_.SET_NEW_TESTER_LAST_THEN__V15*/ meltfptr[10] = 0; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1279:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L6*/ meltfnum[1] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1279:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L6*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L7*/ meltfnum[0] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1279:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L7*/ meltfnum[0]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1279; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_tuplepat.subhdler end newsubtester"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NEWSUBTESTER__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V18*/ 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_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V17*/ meltfptr[8] = /*_.MELT_DEBUG_FUN__V18*/ meltfptr[9];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1279:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L7*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V18*/ meltfptr[9] = 0; } ; } else { /*^cond.else */ /*_.IF___V17*/ meltfptr[8] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1279:/ quasiblock"); /*_.PROGN___V19*/ meltfptr[10] = /*_.IF___V17*/ meltfptr[8];; /*^compute */ /*_.IFCPP___V16*/ meltfptr[4] = /*_.PROGN___V19*/ meltfptr[10];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1279:/ clear"); /*clear *//*_#MELT_NEED_DBG__L6*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IF___V17*/ meltfptr[8] = 0; /*^clear */ /*clear *//*_.PROGN___V19*/ meltfptr[10] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V16*/ meltfptr[4] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:1270:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.IFCPP___V16*/ meltfptr[4];; { MELT_LOCATION ("warmelt-normatch.melt:1270:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V3*/ meltfptr[2] = 0; /*^clear */ /*clear *//*_.LET___V7*/ meltfptr[3] = 0; /*^clear */ /*clear *//*_.IFCPP___V16*/ meltfptr[4] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("LAMBDA_", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_29_warmelt_normatch_LAMBDA___8___melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_29_warmelt_normatch_LAMBDA___8__ */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_30_warmelt_normatch_NORMPAT_ANDPAT (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un * meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un * meltxrestab_) { long current_blocklevel_signals_meltrout_30_warmelt_normatch_NORMPAT_ANDPAT_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_30_warmelt_normatch_NORMPAT_ANDPAT_st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 34 melt_ptr_t mcfr_varptr[34]; #define MELTFRAM_NBVARNUM 11 long mcfr_varnum[11]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_30_warmelt_normatch_NORMPAT_ANDPAT is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_30_warmelt_normatch_NORMPAT_ANDPAT_st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 34; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_30_warmelt_normatch_NORMPAT_ANDPAT nbval 34*/ meltfram__.mcfr_nbvar = 34 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("NORMPAT_ANDPAT", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normatch.melt:1346:/ getarg"); /*_.RECV__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.NMATCH__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.NMATCH__V3*/ meltfptr[2])) != NULL); /*getarg#2 */ /*^getarg */ if (meltxargdescr_[1] != MELTBPAR_PTR) goto lab_endgetargs; /*_.HDLER__V4*/ meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.HDLER__V4*/ meltfptr[3])) != NULL); /*getarg#3 */ /*^getarg */ if (meltxargdescr_[2] != MELTBPAR_PTR) goto lab_endgetargs; /*_.PCN__V5*/ meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1347:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1347:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1347:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[9]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1347; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_andpat recv="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.RECV__V2*/ meltfptr[1]; /*^apply.arg */ argtab[5].meltbp_cstring = "nmatch="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.NMATCH__V3*/ meltfptr[2]; /*^apply.arg */ argtab[7].meltbp_cstring = " pcn="; /*^apply.arg */ argtab[8].meltbp_aptr = (melt_ptr_t *) & /*_.PCN__V5*/ meltfptr[4]; /*_.MELT_DEBUG_FUN__V8*/ 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 MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V7*/ meltfptr[6] = /*_.MELT_DEBUG_FUN__V8*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1347:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V8*/ meltfptr[7] = 0; } ; } else { /*^cond.else */ /*_.IF___V7*/ meltfptr[6] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1347:/ quasiblock"); /*_.PROGN___V9*/ meltfptr[7] = /*_.IF___V7*/ meltfptr[6];; /*^compute */ /*_.IFCPP___V6*/ meltfptr[5] = /*_.PROGN___V9*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1347:/ clear"); /*clear *//*_#MELT_NEED_DBG__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V7*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.PROGN___V9*/ meltfptr[7] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V6*/ meltfptr[5] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1348:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L3*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]), (melt_ptr_t) (( /*!CLASS_PATTERN_CONTEXT */ meltfrout->tabval[1])));; MELT_LOCATION ("warmelt-normatch.melt:1348:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V11*/ meltfptr[7] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:1348:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check pcn"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (1348) ? (1348) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V11*/ meltfptr[7] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[6] = /*_.IFELSE___V11*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1348:/ clear"); /*clear *//*_#IS_A__L3*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V11*/ meltfptr[7] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V10*/ meltfptr[6] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1349:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L4*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_SOURCE_PATTERN_AND */ meltfrout->tabval[2])));; MELT_LOCATION ("warmelt-normatch.melt:1349:/ cond"); /*cond */ if ( /*_#IS_A__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V13*/ meltfptr[12] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:1349:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check recv"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (1349) ? (1349) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V13*/ meltfptr[12] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V12*/ meltfptr[7] = /*_.IFELSE___V13*/ meltfptr[12];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1349:/ clear"); /*clear *//*_#IS_A__L4*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V13*/ meltfptr[12] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V12*/ meltfptr[7] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:1350:/ quasiblock"); MELT_LOCATION ("warmelt-normatch.melt:1351:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_LOCATED */ meltfrout->tabval[3]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "LOCA_LOCATION"); /*_.SLOC__V15*/ meltfptr[14] = slot; }; ; } else { /*^cond.else */ /*_.SLOC__V15*/ meltfptr[14] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1352:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_SOURCE_PATTERN_AND */ meltfrout->tabval[2]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 3, "ANDPAT_CONJ"); /*_.CONJPATS__V16*/ meltfptr[15] = slot; }; ; } else { /*^cond.else */ /*_.CONJPATS__V16*/ meltfptr[15] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1353:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_REFERENCE */ meltfrout->tabval[4])), (1), "CLASS_REFERENCE"); /*_.INST__V18*/ meltfptr[17] = newobj; }; ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V18*/ meltfptr[17], "newly made instance"); ; /*_.TESTERCONT__V17*/ meltfptr[16] = /*_.INST__V18*/ meltfptr[17];; MELT_LOCATION ("warmelt-normatch.melt:1355:/ quasiblock"); /*^newclosure */ /*newclosure *//*_.LAMBDA___V20*/ meltfptr[19] = (melt_ptr_t) meltgc_new_closure ((meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_CLOSURE)))), (meltroutine_ptr_t) (( /*!konst_9 */ meltfrout-> tabval[9])), (2)); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V20*/ meltfptr[19])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 0 >= 0 && 0 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V20*/ meltfptr[19]))); ((meltclosure_ptr_t) /*_.LAMBDA___V20*/ meltfptr[19])->tabval[0] = (melt_ptr_t) ( /*_.TESTERCONT__V17*/ meltfptr[16]); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V20*/ meltfptr[19])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 1 >= 0 && 1 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V20*/ meltfptr[19]))); ((meltclosure_ptr_t) /*_.LAMBDA___V20*/ meltfptr[19])->tabval[1] = (melt_ptr_t) ( /*_.HDLER__V4*/ meltfptr[3]); ; /*_.SUBHDLER__V19*/ meltfptr[18] = /*_.LAMBDA___V20*/ meltfptr[19];; /*citerblock FOREACH_IN_MULTIPLE */ { /* start foreach_in_multiple meltcit1__EACHTUP */ long meltcit1__EACHTUP_ln = melt_multiple_length ((melt_ptr_t) /*_.CONJPATS__V16*/ meltfptr[15]); for ( /*_#SUBIX__L5*/ meltfnum[1] = 0; ( /*_#SUBIX__L5*/ meltfnum[1] >= 0) && ( /*_#SUBIX__L5*/ meltfnum[1] < meltcit1__EACHTUP_ln); /*_#SUBIX__L5*/ meltfnum[1]++) { /*_.SUBPAT__V21*/ meltfptr[20] = melt_multiple_nth ((melt_ptr_t) ( /*_.CONJPATS__V16*/ meltfptr[15]), /*_#SUBIX__L5*/ meltfnum[1]); #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1376:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L6*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1376:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L6*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L7*/ meltfnum[6] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1376:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L7*/ meltfnum[6]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1376; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_andpat before normal_pattern testercont="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.TESTERCONT__V17*/ meltfptr[16]; /*^apply.arg */ argtab[5].meltbp_cstring = " subpat="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.SUBPAT__V21*/ meltfptr[20]; /*_.MELT_DEBUG_FUN__V24*/ 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_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V23*/ meltfptr[22] = /*_.MELT_DEBUG_FUN__V24*/ meltfptr[23];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1376:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L7*/ meltfnum[6] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V24*/ meltfptr[23] = 0; } ; } else { /*^cond.else */ /*_.IF___V23*/ meltfptr[22] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1376:/ quasiblock"); /*_.PROGN___V25*/ meltfptr[23] = /*_.IF___V23*/ meltfptr[22];; /*^compute */ /*_.IFCPP___V22*/ meltfptr[21] = /*_.PROGN___V25*/ meltfptr[23];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1376:/ clear"); /*clear *//*_#MELT_NEED_DBG__L6*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V23*/ meltfptr[22] = 0; /*^clear */ /*clear *//*_.PROGN___V25*/ meltfptr[23] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V22*/ meltfptr[21] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:1378:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^msend */ /*msend */ { union meltparam_un argtab[3]; memset (&argtab, 0, sizeof (argtab)); /*^ojbmsend.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NMATCH__V3*/ meltfptr[2]; /*^ojbmsend.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.SUBHDLER__V19*/ meltfptr[18]; /*^ojbmsend.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & /*_.PCN__V5*/ meltfptr[4]; /*_.NORMAL_PATTERN__V26*/ meltfptr[22] = meltgc_send ((melt_ptr_t) ( /*_.SUBPAT__V21*/ meltfptr[20]), (melt_ptr_t) (( /*!NORMAL_PATTERN */ meltfrout-> tabval[10])), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1379:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L8*/ meltfnum[6] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1379:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L8*/ meltfnum[6]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L9*/ meltfnum[0] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1379:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L9*/ meltfnum[0]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1379; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_andpat after normal_pattern subpat="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.SUBPAT__V21*/ meltfptr[20]; /*^apply.arg */ argtab[5].meltbp_cstring = " testercont="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.TESTERCONT__V17*/ meltfptr[16]; /*_.MELT_DEBUG_FUN__V29*/ 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_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V28*/ meltfptr[27] = /*_.MELT_DEBUG_FUN__V29*/ meltfptr[28];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1379:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L9*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V29*/ meltfptr[28] = 0; } ; } else { /*^cond.else */ /*_.IF___V28*/ meltfptr[27] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1379:/ quasiblock"); /*_.PROGN___V30*/ meltfptr[28] = /*_.IF___V28*/ meltfptr[27];; /*^compute */ /*_.IFCPP___V27*/ meltfptr[23] = /*_.PROGN___V30*/ meltfptr[28];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1379:/ clear"); /*clear *//*_#MELT_NEED_DBG__L8*/ meltfnum[6] = 0; /*^clear */ /*clear *//*_.IF___V28*/ meltfptr[27] = 0; /*^clear */ /*clear *//*_.PROGN___V30*/ meltfptr[28] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V27*/ meltfptr[23] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; if ( /*_#SUBIX__L5*/ meltfnum[1] < 0) break; } /* end foreach_in_multiple meltcit1__EACHTUP */ /*citerepilog */ MELT_LOCATION ("warmelt-normatch.melt:1373:/ clear"); /*clear *//*_.SUBPAT__V21*/ meltfptr[20] = 0; /*^clear */ /*clear *//*_#SUBIX__L5*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFCPP___V22*/ meltfptr[21] = 0; /*^clear */ /*clear *//*_.NORMAL_PATTERN__V26*/ meltfptr[22] = 0; /*^clear */ /*clear *//*_.IFCPP___V27*/ meltfptr[23] = 0; } /*endciterblock FOREACH_IN_MULTIPLE */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1382:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L10*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1382:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L10*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L11*/ meltfnum[6] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1382:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L11*/ meltfnum[6]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1382; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_andpat recv end"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.RECV__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V33*/ meltfptr[32] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V32*/ meltfptr[28] = /*_.MELT_DEBUG_FUN__V33*/ meltfptr[32];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1382:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L11*/ meltfnum[6] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V33*/ meltfptr[32] = 0; } ; } else { /*^cond.else */ /*_.IF___V32*/ meltfptr[28] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1382:/ quasiblock"); /*_.PROGN___V34*/ meltfptr[32] = /*_.IF___V32*/ meltfptr[28];; /*^compute */ /*_.IFCPP___V31*/ meltfptr[27] = /*_.PROGN___V34*/ meltfptr[32];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1382:/ clear"); /*clear *//*_#MELT_NEED_DBG__L10*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V32*/ meltfptr[28] = 0; /*^clear */ /*clear *//*_.PROGN___V34*/ meltfptr[32] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V31*/ meltfptr[27] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; /*^compute */ /*_.LET___V14*/ meltfptr[12] = /*_.IFCPP___V31*/ meltfptr[27];; MELT_LOCATION ("warmelt-normatch.melt:1350:/ clear"); /*clear *//*_.SLOC__V15*/ meltfptr[14] = 0; /*^clear */ /*clear *//*_.CONJPATS__V16*/ meltfptr[15] = 0; /*^clear */ /*clear *//*_.TESTERCONT__V17*/ meltfptr[16] = 0; /*^clear */ /*clear *//*_.SUBHDLER__V19*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_.IFCPP___V31*/ meltfptr[27] = 0; MELT_LOCATION ("warmelt-normatch.melt:1346:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V14*/ meltfptr[12];; { MELT_LOCATION ("warmelt-normatch.melt:1346:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V6*/ meltfptr[5] = 0; /*^clear */ /*clear *//*_.IFCPP___V10*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.IFCPP___V12*/ meltfptr[7] = 0; /*^clear */ /*clear *//*_.LET___V14*/ meltfptr[12] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("NORMPAT_ANDPAT", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_30_warmelt_normatch_NORMPAT_ANDPAT_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_30_warmelt_normatch_NORMPAT_ANDPAT */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_31_warmelt_normatch_LAMBDA___9__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un * meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un * meltxrestab_) { long current_blocklevel_signals_meltrout_31_warmelt_normatch_LAMBDA___9___melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_31_warmelt_normatch_LAMBDA___9___st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 29 melt_ptr_t mcfr_varptr[29]; #define MELTFRAM_NBVARNUM 11 long mcfr_varnum[11]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_31_warmelt_normatch_LAMBDA___9__ is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_31_warmelt_normatch_LAMBDA___9___st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 29; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_31_warmelt_normatch_LAMBDA___9__ nbval 29*/ meltfram__.mcfr_nbvar = 29 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("LAMBDA_", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normatch.melt:1355:/ getarg"); /*_.NEWTESTER__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1356:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1356:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1356:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1356; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_andpat.subhdler newtester="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NEWTESTER__V2*/ meltfptr[1]; /*^apply.arg */ argtab[5].meltbp_cstring = " testercont="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & ( /*~TESTERCONT */ meltfclos->tabval[0]); /*_.MELT_DEBUG_FUN__V5*/ meltfptr[4] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V4*/ meltfptr[3] = /*_.MELT_DEBUG_FUN__V5*/ meltfptr[4];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1356:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V5*/ meltfptr[4] = 0; } ; } else { /*^cond.else */ /*_.IF___V4*/ meltfptr[3] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1356:/ quasiblock"); /*_.PROGN___V6*/ meltfptr[4] = /*_.IF___V4*/ meltfptr[3];; /*^compute */ /*_.IFCPP___V3*/ meltfptr[2] = /*_.PROGN___V6*/ meltfptr[4];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1356:/ clear"); /*clear *//*_#MELT_NEED_DBG__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V4*/ meltfptr[3] = 0; /*^clear */ /*clear *//*_.PROGN___V6*/ meltfptr[4] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V3*/ meltfptr[2] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:1358:/ quasiblock"); /*^cond */ /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) (( /*~TESTERCONT */ meltfclos-> tabval[0])), (melt_ptr_t) (( /*!CLASS_REFERENCE */ meltfrout->tabval[1]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) (( /*~TESTERCONT */ meltfclos->tabval[0])) /*=obj*/ ; melt_object_get_field (slot, obj, 0, "REFERENCED_VALUE"); /*_.PREVTESTER__V8*/ meltfptr[4] = slot; }; ; } else { /*^cond.else */ /*_.PREVTESTER__V8*/ meltfptr[4] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1360:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#IS_A__L3*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.PREVTESTER__V8*/ meltfptr[4]), (melt_ptr_t) (( /*!CLASS_NORMTESTER_ANY */ meltfrout->tabval[2])));; MELT_LOCATION ("warmelt-normatch.melt:1360:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1361:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L4*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1361:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L5*/ meltfnum[4] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1361:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L5*/ meltfnum[4]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1361; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_andpat.subhdler prevtester"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.PREVTESTER__V8*/ meltfptr[4]; /*_.MELT_DEBUG_FUN__V12*/ 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); } ; /*_.IF___V11*/ meltfptr[10] = /*_.MELT_DEBUG_FUN__V12*/ meltfptr[11];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1361:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L5*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V12*/ meltfptr[11] = 0; } ; } else { /*^cond.else */ /*_.IF___V11*/ meltfptr[10] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1361:/ quasiblock"); /*_.PROGN___V13*/ meltfptr[11] = /*_.IF___V11*/ meltfptr[10];; /*^compute */ /*_.IFCPP___V10*/ meltfptr[9] = /*_.PROGN___V13*/ meltfptr[11];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1361:/ clear"); /*clear *//*_#MELT_NEED_DBG__L4*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V11*/ meltfptr[10] = 0; /*^clear */ /*clear *//*_.PROGN___V13*/ meltfptr[11] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V10*/ meltfptr[9] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:1362:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & ( /*~TESTERCONT */ meltfclos->tabval[0]); /*_.SET_NEW_TESTER_LAST_THEN__V14*/ meltfptr[10] = melt_apply ((meltclosure_ptr_t) (( /*!SET_NEW_TESTER_LAST_THEN */ meltfrout-> tabval[3])), (melt_ptr_t) ( /*_.NEWTESTER__V2*/ meltfptr[1]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normatch.melt:1360:/ quasiblock"); /*_.PROGN___V15*/ meltfptr[11] = /*_.SET_NEW_TESTER_LAST_THEN__V14*/ meltfptr[10];; /*^compute */ /*_.IFELSE___V9*/ meltfptr[8] = /*_.PROGN___V15*/ meltfptr[11];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1360:/ clear"); /*clear *//*_.IFCPP___V10*/ meltfptr[9] = 0; /*^clear */ /*clear *//*_.SET_NEW_TESTER_LAST_THEN__V14*/ meltfptr[10] = 0; /*^clear */ /*clear *//*_.PROGN___V15*/ meltfptr[11] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1365:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L6*/ meltfnum[4] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1365:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L6*/ meltfnum[4]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L7*/ meltfnum[0] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1365:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L7*/ meltfnum[0]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1365; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_andpat.subhdler before calling hdler"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NEWTESTER__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V18*/ 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); } ; /*_.IF___V17*/ meltfptr[10] = /*_.MELT_DEBUG_FUN__V18*/ meltfptr[11];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1365:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L7*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V18*/ meltfptr[11] = 0; } ; } else { /*^cond.else */ /*_.IF___V17*/ meltfptr[10] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1365:/ quasiblock"); /*_.PROGN___V19*/ meltfptr[11] = /*_.IF___V17*/ meltfptr[10];; /*^compute */ /*_.IFCPP___V16*/ meltfptr[9] = /*_.PROGN___V19*/ meltfptr[11];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1365:/ clear"); /*clear *//*_#MELT_NEED_DBG__L6*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.IF___V17*/ meltfptr[10] = 0; /*^clear */ /*clear *//*_.PROGN___V19*/ meltfptr[11] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V16*/ meltfptr[9] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:1366:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { /*_.HDLER__V20*/ meltfptr[10] = melt_apply ((meltclosure_ptr_t) (( /*~HDLER */ meltfclos->tabval[1])), (melt_ptr_t) ( /*_.NEWTESTER__V2*/ meltfptr[1]), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normatch.melt:1367:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^cond */ /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) (( /*~TESTERCONT */ meltfclos-> tabval[0])), (melt_ptr_t) (( /*!CLASS_REFERENCE */ meltfrout->tabval[1]))) ) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @REFERENCED_VALUE", melt_magic_discr ((melt_ptr_t) (( /*~TESTERCONT */ meltfclos->tabval[0]))) == MELTOBMAG_OBJECT); melt_putfield_object ((( /*~TESTERCONT */ meltfclos-> tabval[0])), (0), ( /*_.NEWTESTER__V2*/ meltfptr[1]), "REFERENCED_VALUE"); ; /*^touch */ meltgc_touch (( /*~TESTERCONT */ meltfclos->tabval[0])); ; /*^touchobj */ melt_dbgtrace_written_object (( /*~TESTERCONT */ meltfclos-> tabval[0]), "put-fields"); ; /*epilog */ } ; } /*noelse */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1368:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L8*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1368:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L8*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L9*/ meltfnum[4] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1368:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L9*/ meltfnum[4]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1368; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_andpat.subhdler after calling hdler"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NEWTESTER__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V23*/ meltfptr[22] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V22*/ meltfptr[21] = /*_.MELT_DEBUG_FUN__V23*/ meltfptr[22];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1368:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L9*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V23*/ meltfptr[22] = 0; } ; } else { /*^cond.else */ /*_.IF___V22*/ meltfptr[21] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1368:/ quasiblock"); /*_.PROGN___V24*/ meltfptr[22] = /*_.IF___V22*/ meltfptr[21];; /*^compute */ /*_.IFCPP___V21*/ meltfptr[11] = /*_.PROGN___V24*/ meltfptr[22];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1368:/ clear"); /*clear *//*_#MELT_NEED_DBG__L8*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V22*/ meltfptr[21] = 0; /*^clear */ /*clear *//*_.PROGN___V24*/ meltfptr[22] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V21*/ meltfptr[11] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:1364:/ quasiblock"); /*_.PROGN___V25*/ meltfptr[21] = /*_.IFCPP___V21*/ meltfptr[11];; /*^compute */ /*_.IFELSE___V9*/ meltfptr[8] = /*_.PROGN___V25*/ meltfptr[21];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1360:/ clear"); /*clear *//*_.IFCPP___V16*/ meltfptr[9] = 0; /*^clear */ /*clear *//*_.HDLER__V20*/ meltfptr[10] = 0; /*^clear */ /*clear *//*_.IFCPP___V21*/ meltfptr[11] = 0; /*^clear */ /*clear *//*_.PROGN___V25*/ meltfptr[21] = 0; } ; } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1370:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L10*/ meltfnum[4] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1370:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L10*/ meltfnum[4]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L11*/ meltfnum[0] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1370:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L11*/ meltfnum[0]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1370; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_andpat.subhdler done testercont"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & ( /*~TESTERCONT */ meltfclos->tabval[0]); /*_.MELT_DEBUG_FUN__V28*/ meltfptr[10] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V27*/ meltfptr[9] = /*_.MELT_DEBUG_FUN__V28*/ meltfptr[10];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1370:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L11*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V28*/ meltfptr[10] = 0; } ; } else { /*^cond.else */ /*_.IF___V27*/ meltfptr[9] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1370:/ quasiblock"); /*_.PROGN___V29*/ meltfptr[11] = /*_.IF___V27*/ meltfptr[9];; /*^compute */ /*_.IFCPP___V26*/ meltfptr[22] = /*_.PROGN___V29*/ meltfptr[11];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1370:/ clear"); /*clear *//*_#MELT_NEED_DBG__L10*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.IF___V27*/ meltfptr[9] = 0; /*^clear */ /*clear *//*_.PROGN___V29*/ meltfptr[11] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V26*/ meltfptr[22] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; /*^compute */ /*_.LET___V7*/ meltfptr[3] = /*_.IFCPP___V26*/ meltfptr[22];; MELT_LOCATION ("warmelt-normatch.melt:1358:/ clear"); /*clear *//*_.PREVTESTER__V8*/ meltfptr[4] = 0; /*^clear */ /*clear *//*_#IS_A__L3*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V9*/ meltfptr[8] = 0; /*^clear */ /*clear *//*_.IFCPP___V26*/ meltfptr[22] = 0; MELT_LOCATION ("warmelt-normatch.melt:1355:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V7*/ meltfptr[3];; { MELT_LOCATION ("warmelt-normatch.melt:1355:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V3*/ meltfptr[2] = 0; /*^clear */ /*clear *//*_.LET___V7*/ meltfptr[3] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("LAMBDA_", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_31_warmelt_normatch_LAMBDA___9___melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_31_warmelt_normatch_LAMBDA___9__ */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_32_warmelt_normatch_NORMPAT_ORPAT (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un * meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un * meltxrestab_) { long current_blocklevel_signals_meltrout_32_warmelt_normatch_NORMPAT_ORPAT_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_32_warmelt_normatch_NORMPAT_ORPAT_st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 133 melt_ptr_t mcfr_varptr[133]; #define MELTFRAM_NBVARNUM 42 long mcfr_varnum[42]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_32_warmelt_normatch_NORMPAT_ORPAT is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_32_warmelt_normatch_NORMPAT_ORPAT_st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 133; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_32_warmelt_normatch_NORMPAT_ORPAT nbval 133*/ meltfram__.mcfr_nbvar = 133 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("NORMPAT_ORPAT", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normatch.melt:1395:/ getarg"); /*_.RECV__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.NMATCH__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.NMATCH__V3*/ meltfptr[2])) != NULL); /*getarg#2 */ /*^getarg */ if (meltxargdescr_[1] != MELTBPAR_PTR) goto lab_endgetargs; /*_.HDLER__V4*/ meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.HDLER__V4*/ meltfptr[3])) != NULL); /*getarg#3 */ /*^getarg */ if (meltxargdescr_[2] != MELTBPAR_PTR) goto lab_endgetargs; /*_.PCN__V5*/ meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1396:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1396:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1396:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[9]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1396; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_orpat recv="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.RECV__V2*/ meltfptr[1]; /*^apply.arg */ argtab[5].meltbp_cstring = " nmatch="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.NMATCH__V3*/ meltfptr[2]; /*^apply.arg */ argtab[7].meltbp_cstring = " pcn="; /*^apply.arg */ argtab[8].meltbp_aptr = (melt_ptr_t *) & /*_.PCN__V5*/ meltfptr[4]; /*_.MELT_DEBUG_FUN__V8*/ 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 MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V7*/ meltfptr[6] = /*_.MELT_DEBUG_FUN__V8*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1396:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V8*/ meltfptr[7] = 0; } ; } else { /*^cond.else */ /*_.IF___V7*/ meltfptr[6] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1396:/ quasiblock"); /*_.PROGN___V9*/ meltfptr[7] = /*_.IF___V7*/ meltfptr[6];; /*^compute */ /*_.IFCPP___V6*/ meltfptr[5] = /*_.PROGN___V9*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1396:/ clear"); /*clear *//*_#MELT_NEED_DBG__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V7*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.PROGN___V9*/ meltfptr[7] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V6*/ meltfptr[5] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; { MELT_LOCATION ("warmelt-normatch.melt:1397:/ locexp"); #if MELT_HAVE_DEBUG if (melt_need_debug (0)) melt_dbgshortbacktrace (("normpat_orpat called"), (16)); #endif ; } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1398:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L3*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]), (melt_ptr_t) (( /*!CLASS_PATTERN_CONTEXT */ meltfrout->tabval[1])));; MELT_LOCATION ("warmelt-normatch.melt:1398:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V11*/ meltfptr[7] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:1398:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check pcn"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (1398) ? (1398) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V11*/ meltfptr[7] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[6] = /*_.IFELSE___V11*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1398:/ clear"); /*clear *//*_#IS_A__L3*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V11*/ meltfptr[7] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V10*/ meltfptr[6] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1399:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L4*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_SOURCE_PATTERN_OR */ meltfrout->tabval[2])));; MELT_LOCATION ("warmelt-normatch.melt:1399:/ cond"); /*cond */ if ( /*_#IS_A__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V13*/ meltfptr[12] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:1399:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check recv"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (1399) ? (1399) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V13*/ meltfptr[12] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V12*/ meltfptr[7] = /*_.IFELSE___V13*/ meltfptr[12];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1399:/ clear"); /*clear *//*_#IS_A__L4*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V13*/ meltfptr[12] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V12*/ meltfptr[7] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:1400:/ quasiblock"); MELT_LOCATION ("warmelt-normatch.melt:1401:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_LOCATED */ meltfrout->tabval[3]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "LOCA_LOCATION"); /*_.SLOC__V15*/ meltfptr[14] = slot; }; ; } else { /*^cond.else */ /*_.SLOC__V15*/ meltfptr[14] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1402:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_SOURCE_PATTERN_OR */ meltfrout->tabval[2]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 3, "ORPAT_DISJ"); /*_.DISJPATS__V16*/ meltfptr[15] = slot; }; ; } else { /*^cond.else */ /*_.DISJPATS__V16*/ meltfptr[15] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1403:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]), (melt_ptr_t) (( /*!CLASS_PATTERN_CONTEXT */ meltfrout->tabval[1]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]) /*=obj*/ ; melt_object_get_field (slot, obj, 9, "PCTN_TESTS"); /*_.TESTLIST__V17*/ meltfptr[16] = slot; }; ; } else { /*^cond.else */ /*_.TESTLIST__V17*/ meltfptr[16] = NULL;; } ; /*^compute */ /*_.SUBTESTLIST__V18*/ meltfptr[17] = (meltgc_new_list ((meltobject_ptr_t) (( /*!DISCR_LIST */ meltfrout->tabval[4]))));; MELT_LOCATION ("warmelt-normatch.melt:1405:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]), (melt_ptr_t) (( /*!CLASS_PATTERN_CONTEXT */ meltfrout->tabval[1]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]) /*=obj*/ ; melt_object_get_field (slot, obj, 7, "PCTN_STUFFMAP"); /*_.STUFFMAP__V19*/ meltfptr[18] = slot; }; ; } else { /*^cond.else */ /*_.STUFFMAP__V19*/ meltfptr[18] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1406:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]), (melt_ptr_t) (( /*!CLASS_PATTERN_CONTEXT */ meltfrout->tabval[1]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]) /*=obj*/ ; melt_object_get_field (slot, obj, 8, "PCTN_PVARLOCMAP"); /*_.PVARLOCMAP__V20*/ meltfptr[19] = slot; }; ; } else { /*^cond.else */ /*_.PVARLOCMAP__V20*/ meltfptr[19] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1407:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]), (melt_ptr_t) (( /*!CLASS_PATTERN_CONTEXT */ meltfrout->tabval[1]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]) /*=obj*/ ; melt_object_get_field (slot, obj, 5, "PCTN_MAPOR"); /*_.MAPOR__V21*/ meltfptr[20] = slot; }; ; } else { /*^cond.else */ /*_.MAPOR__V21*/ meltfptr[20] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1408:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]), (melt_ptr_t) (( /*!CLASS_PATTERN_CONTEXT */ meltfrout->tabval[1]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]) /*=obj*/ ; melt_object_get_field (slot, obj, 0, "PCTN_NORMCTXT"); /*_.NCX__V22*/ meltfptr[21] = slot; }; ; } else { /*^cond.else */ /*_.NCX__V22*/ meltfptr[21] = NULL;; } ; /*^compute */ /*_.ORVARMAP__V23*/ meltfptr[22] = /*mapobject_get */ melt_get_mapobjects ((meltmapobjects_ptr_t) ( /*_.MAPOR__V21*/ meltfptr[20]), (meltobject_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]));; MELT_LOCATION ("warmelt-normatch.melt:1410:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { /*_.SORTEDORSYMBS__V24*/ meltfptr[23] = melt_apply ((meltclosure_ptr_t) (( /*!MAPOBJECT_SORTED_ATTRIBUTE_TUPLE */ meltfrout-> tabval[5])), (melt_ptr_t) ( /*_.ORVARMAP__V23*/ meltfptr[22]), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normatch.melt:1411:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_.MAKE_LIST__V25*/ meltfptr[24] = (meltgc_new_list ((meltobject_ptr_t) (( /*!DISCR_LIST */ meltfrout->tabval[4]))));; MELT_LOCATION ("warmelt-normatch.melt:1411:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NORMTESTER_DISJUNCTION */ meltfrout->tabval[6])), (10), "CLASS_NORMTESTER_DISJUNCTION"); /*_.INST__V27*/ meltfptr[26] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V27*/ meltfptr[26])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V27*/ meltfptr[26]), (0), ( /*_.SLOC__V15*/ meltfptr[14]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NTEST_MATCHED", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V27*/ meltfptr[26])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V27*/ meltfptr[26]), (1), ( /*_.NMATCH__V3*/ meltfptr[2]), "NTEST_MATCHED"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NTEST_THEN", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V27*/ meltfptr[26])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V27*/ meltfptr[26]), (2), (( /*nil */ NULL)), "NTEST_THEN"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NTEST_ELSE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V27*/ meltfptr[26])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V27*/ meltfptr[26]), (3), (( /*nil */ NULL)), "NTEST_ELSE"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NTEST_COMEFROM", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V27*/ meltfptr[26])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V27*/ meltfptr[26]), (6), ( /*_.MAKE_LIST__V25*/ meltfptr[24]), "NTEST_COMEFROM"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NTDISJUNCTS", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V27*/ meltfptr[26])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V27*/ meltfptr[26]), (7), (( /*nil */ NULL)), "NTDISJUNCTS"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NTDISJ_FRESHORVAR", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V27*/ meltfptr[26])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V27*/ meltfptr[26]), (8), (( /*nil */ NULL)), "NTDISJ_FRESHORVAR"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NTDISJ_SETORVAR", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V27*/ meltfptr[26])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V27*/ meltfptr[26]), (9), (( /*nil */ NULL)), "NTDISJ_SETORVAR"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V27*/ meltfptr[26], "newly made instance"); ; /*_.DISJTESTER__V26*/ meltfptr[25] = /*_.INST__V27*/ meltfptr[26];; MELT_LOCATION ("warmelt-normatch.melt:1424:/ quasiblock"); /*^newclosure */ /*newclosure *//*_.LAMBDA___V29*/ meltfptr[28] = (melt_ptr_t) meltgc_new_closure ((meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_CLOSURE)))), (meltroutine_ptr_t) (( /*!konst_11 */ meltfrout-> tabval[11])), (3)); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V29*/ meltfptr[28])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 0 >= 0 && 0 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V29*/ meltfptr[28]))); ((meltclosure_ptr_t) /*_.LAMBDA___V29*/ meltfptr[28])->tabval[0] = (melt_ptr_t) ( /*_.ORVARMAP__V23*/ meltfptr[22]); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V29*/ meltfptr[28])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 1 >= 0 && 1 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V29*/ meltfptr[28]))); ((meltclosure_ptr_t) /*_.LAMBDA___V29*/ meltfptr[28])->tabval[1] = (melt_ptr_t) ( /*_.DISJTESTER__V26*/ meltfptr[25]); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V29*/ meltfptr[28])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 2 >= 0 && 2 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V29*/ meltfptr[28]))); ((meltclosure_ptr_t) /*_.LAMBDA___V29*/ meltfptr[28])->tabval[2] = (melt_ptr_t) ( /*_.PVARLOCMAP__V20*/ meltfptr[19]); ; /*_.LAMBDA___V28*/ meltfptr[27] = /*_.LAMBDA___V29*/ meltfptr[28];; MELT_LOCATION ("warmelt-normatch.melt:1422:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.LAMBDA___V28*/ meltfptr[27]; /*_.SORTORVARS__V30*/ meltfptr[29] = melt_apply ((meltclosure_ptr_t) (( /*!MULTIPLE_MAP */ meltfrout->tabval[7])), (melt_ptr_t) ( /*_.SORTEDORSYMBS__V24*/ meltfptr[23]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normatch.melt:1444:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_REFERENCE */ meltfrout->tabval[12])), (1), "CLASS_REFERENCE"); /*_.INST__V32*/ meltfptr[31] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @REFERENCED_VALUE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V32*/ meltfptr[31])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V32*/ meltfptr[31]), (0), ( /*_.DISJTESTER__V26*/ meltfptr[25]), "REFERENCED_VALUE"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V32*/ meltfptr[31], "newly made instance"); ; /*_.PREVCONT__V31*/ meltfptr[30] = /*_.INST__V32*/ meltfptr[31];; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1447:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L5*/ meltfnum[1] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1447:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L5*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L6*/ meltfnum[0] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1447:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[9]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L6*/ meltfnum[0]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1447; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_orpat orig stuffmap="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.STUFFMAP__V19*/ meltfptr[18]; /*^apply.arg */ argtab[5].meltbp_cstring = " pvarlocmap="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.PVARLOCMAP__V20*/ meltfptr[19]; /*^apply.arg */ argtab[7].meltbp_cstring = " orvarmap="; /*^apply.arg */ argtab[8].meltbp_aptr = (melt_ptr_t *) & /*_.ORVARMAP__V23*/ meltfptr[22]; /*_.MELT_DEBUG_FUN__V35*/ meltfptr[34] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V34*/ meltfptr[33] = /*_.MELT_DEBUG_FUN__V35*/ meltfptr[34];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1447:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L6*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V35*/ meltfptr[34] = 0; } ; } else { /*^cond.else */ /*_.IF___V34*/ meltfptr[33] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1447:/ quasiblock"); /*_.PROGN___V36*/ meltfptr[34] = /*_.IF___V34*/ meltfptr[33];; /*^compute */ /*_.IFCPP___V33*/ meltfptr[32] = /*_.PROGN___V36*/ meltfptr[34];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1447:/ clear"); /*clear *//*_#MELT_NEED_DBG__L5*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IF___V34*/ meltfptr[33] = 0; /*^clear */ /*clear *//*_.PROGN___V36*/ meltfptr[34] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V33*/ meltfptr[32] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1449:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_MAPOBJECT__L7*/ meltfnum[0] = /*is_mapobject: */ (melt_magic_discr ((melt_ptr_t) ( /*_.ORVARMAP__V23*/ meltfptr[22])) == MELTOBMAG_MAPOBJECTS);; MELT_LOCATION ("warmelt-normatch.melt:1449:/ cond"); /*cond */ if ( /*_#IS_MAPOBJECT__L7*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V38*/ meltfptr[34] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:1449:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check orvarmap"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (1449) ? (1449) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V38*/ meltfptr[34] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V37*/ meltfptr[33] = /*_.IFELSE___V38*/ meltfptr[34];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1449:/ clear"); /*clear *//*_#IS_MAPOBJECT__L7*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V38*/ meltfptr[34] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V37*/ meltfptr[33] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1450:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L8*/ meltfnum[1] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1450:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L8*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L9*/ meltfnum[0] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1450:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[9]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L9*/ meltfnum[0]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1450; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_orpat sortedorsymbs="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.SORTEDORSYMBS__V24*/ meltfptr[23]; /*^apply.arg */ argtab[5].meltbp_cstring = " sortorvars="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.SORTORVARS__V30*/ meltfptr[29]; /*^apply.arg */ argtab[7].meltbp_cstring = " disjtester="; /*^apply.arg */ argtab[8].meltbp_aptr = (melt_ptr_t *) & /*_.DISJTESTER__V26*/ meltfptr[25]; /*_.MELT_DEBUG_FUN__V41*/ meltfptr[40] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V40*/ meltfptr[39] = /*_.MELT_DEBUG_FUN__V41*/ meltfptr[40];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1450:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L9*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V41*/ meltfptr[40] = 0; } ; } else { /*^cond.else */ /*_.IF___V40*/ meltfptr[39] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1450:/ quasiblock"); /*_.PROGN___V42*/ meltfptr[40] = /*_.IF___V40*/ meltfptr[39];; /*^compute */ /*_.IFCPP___V39*/ meltfptr[34] = /*_.PROGN___V42*/ meltfptr[40];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1450:/ clear"); /*clear *//*_#MELT_NEED_DBG__L8*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IF___V40*/ meltfptr[39] = 0; /*^clear */ /*clear *//*_.PROGN___V42*/ meltfptr[40] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V39*/ meltfptr[34] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:1453:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.PCN__V5*/ meltfptr[4]; /*_.REGISTER_NEW_NORMTESTER__V43*/ meltfptr[39] = melt_apply ((meltclosure_ptr_t) (( /*!REGISTER_NEW_NORMTESTER */ meltfrout->tabval[13])), (melt_ptr_t) ( /*_.DISJTESTER__V26*/ meltfptr[25]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normatch.melt:1454:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { /*_.HDLER__V44*/ meltfptr[40] = melt_apply ((meltclosure_ptr_t) ( /*_.HDLER__V4*/ meltfptr[3]), (melt_ptr_t) ( /*_.DISJTESTER__V26*/ meltfptr[25]), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; { MELT_LOCATION ("warmelt-normatch.melt:1455:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.TESTLIST__V17*/ meltfptr[16]), (melt_ptr_t) ( /*_.DISJTESTER__V26*/ meltfptr[25])); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1456:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L10*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1456:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L10*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L11*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1456:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L11*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1456; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_orpat handled disjtester"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.DISJTESTER__V26*/ meltfptr[25]; /*_.MELT_DEBUG_FUN__V47*/ meltfptr[46] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V46*/ meltfptr[45] = /*_.MELT_DEBUG_FUN__V47*/ meltfptr[46];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1456:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L11*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V47*/ meltfptr[46] = 0; } ; } else { /*^cond.else */ /*_.IF___V46*/ meltfptr[45] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1456:/ quasiblock"); /*_.PROGN___V48*/ meltfptr[46] = /*_.IF___V46*/ meltfptr[45];; /*^compute */ /*_.IFCPP___V45*/ meltfptr[44] = /*_.PROGN___V48*/ meltfptr[46];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1456:/ clear"); /*clear *//*_#MELT_NEED_DBG__L10*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V46*/ meltfptr[45] = 0; /*^clear */ /*clear *//*_.PROGN___V48*/ meltfptr[46] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V45*/ meltfptr[44] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; /*citerblock FOREACH_IN_MULTIPLE */ { /* start foreach_in_multiple meltcit1__EACHTUP */ long meltcit1__EACHTUP_ln = melt_multiple_length ((melt_ptr_t) /*_.DISJPATS__V16*/ meltfptr[15]); for ( /*_#DISJIX__L12*/ meltfnum[1] = 0; ( /*_#DISJIX__L12*/ meltfnum[1] >= 0) && ( /*_#DISJIX__L12*/ meltfnum[1] < meltcit1__EACHTUP_ln); /*_#DISJIX__L12*/ meltfnum[1]++) { /*_.CURDISJ__V49*/ meltfptr[45] = melt_multiple_nth ((melt_ptr_t) ( /*_.DISJPATS__V16*/ meltfptr[15]), /*_#DISJIX__L12*/ meltfnum[1]); MELT_LOCATION ("warmelt-normatch.melt:1462:/ quasiblock"); /*_.CLEARLOCLIST__V51*/ meltfptr[50] = (meltgc_new_list ((meltobject_ptr_t) (( /*!DISCR_LIST */ meltfrout->tabval[4]))));; /*citerblock FOREACH_IN_MULTIPLE */ { /* start foreach_in_multiple meltcit2__EACHTUP */ long meltcit2__EACHTUP_ln = melt_multiple_length ((melt_ptr_t) /*_.SORTORVARS__V30*/ meltfptr[29]); for ( /*_#ORVIX__L13*/ meltfnum[0] = 0; ( /*_#ORVIX__L13*/ meltfnum[0] >= 0) && ( /*_#ORVIX__L13*/ meltfnum[0] < meltcit2__EACHTUP_ln); /*_#ORVIX__L13*/ meltfnum[0]++) { /*_.CURORVAR__V52*/ meltfptr[51] = melt_multiple_nth ((melt_ptr_t) ( /*_.SORTORVARS__V30*/ meltfptr[29]), /*_#ORVIX__L13*/ meltfnum[0]); #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1467:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L14*/ meltfnum[13] = melt_is_instance_of ((melt_ptr_t) ( /*_.CURORVAR__V52*/ meltfptr[51]), (melt_ptr_t) (( /*!CLASS_NORMAL_OR_VARIABLE */ meltfrout->tabval[14])));; MELT_LOCATION ("warmelt-normatch.melt:1467:/ cond"); /*cond */ if ( /*_#IS_A__L14*/ meltfnum[13]) /*then */ { /*^cond.then */ /*_.IFELSE___V54*/ meltfptr[53] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:1467:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check curorvar"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (1467) ? (1467) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V54*/ meltfptr[53] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V53*/ meltfptr[52] = /*_.IFELSE___V54*/ meltfptr[53];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1467:/ clear"); /*clear *//*_#IS_A__L14*/ meltfnum[13] = 0; /*^clear */ /*clear *//*_.IFELSE___V54*/ meltfptr[53] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V53*/ meltfptr[52] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:1468:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURORVAR__V52*/ meltfptr[51]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NORVAR_LOCSYM"); /*_.ORVARLOCC__V55*/ meltfptr[53] = slot; }; ; MELT_LOCATION ("warmelt-normatch.melt:1470:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#IS_A__L15*/ meltfnum[13] = melt_is_instance_of ((melt_ptr_t) ( /*_.ORVARLOCC__V55*/ meltfptr[53]), (melt_ptr_t) (( /*!CLASS_NREP_LOCSYMOCC */ meltfrout->tabval[15])));; MELT_LOCATION ("warmelt-normatch.melt:1470:/ cond"); /*cond */ if ( /*_#IS_A__L15*/ meltfnum[13]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normatch.melt:1471:/ quasiblock"); /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_REFERENCE */ meltfrout->tabval[12])), (1), "CLASS_REFERENCE"); /*_.INST__V57*/ meltfptr[56] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @REFERENCED_VALUE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V57*/ meltfptr[56])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V57*/ meltfptr[56]), (0), ( /*_.ORVARLOCC__V55*/ meltfptr[53]), "REFERENCED_VALUE"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V57*/ meltfptr[56], "newly made instance"); ; /*_.ORVARCONT__V56*/ meltfptr[55] = /*_.INST__V57*/ meltfptr[56];; MELT_LOCATION ("warmelt-normatch.melt:1472:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^cond */ /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURORVAR__V52*/ meltfptr[51]), (melt_ptr_t) (( /*!CLASS_NORMAL_OR_VARIABLE */ meltfrout->tabval[14]))) ) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NORVAR_LOCSYM", melt_magic_discr ((melt_ptr_t) ( /*_.CURORVAR__V52*/ meltfptr[51])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.CURORVAR__V52*/ meltfptr[51]), (1), ( /*_.ORVARCONT__V56*/ meltfptr[55]), "NORVAR_LOCSYM"); ; /*^touch */ meltgc_touch ( /*_.CURORVAR__V52*/ meltfptr[51]); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.CURORVAR__V52*/ meltfptr[51], "put-fields"); ; /*epilog */ } ; } /*noelse */ ; { MELT_LOCATION ("warmelt-normatch.melt:1473:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.CLEARLOCLIST__V51*/ meltfptr[50]), (melt_ptr_t) ( /*_.ORVARLOCC__V55*/ meltfptr[53])); } ; MELT_LOCATION ("warmelt-normatch.melt:1471:/ clear"); /*clear *//*_.ORVARCONT__V56*/ meltfptr[55] = 0; /*epilog */ } ; } /*noelse */ ; MELT_LOCATION ("warmelt-normatch.melt:1468:/ clear"); /*clear *//*_.ORVARLOCC__V55*/ meltfptr[53] = 0; /*^clear */ /*clear *//*_#IS_A__L15*/ meltfnum[13] = 0; if ( /*_#ORVIX__L13*/ meltfnum[0] < 0) break; } /* end foreach_in_multiple meltcit2__EACHTUP */ /*citerepilog */ MELT_LOCATION ("warmelt-normatch.melt:1464:/ clear"); /*clear *//*_.CURORVAR__V52*/ meltfptr[51] = 0; /*^clear */ /*clear *//*_#ORVIX__L13*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFCPP___V53*/ meltfptr[52] = 0; } /*endciterblock FOREACH_IN_MULTIPLE */ ; MELT_LOCATION ("warmelt-normatch.melt:1476:/ quasiblock"); MELT_LOCATION ("warmelt-normatch.melt:1477:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_.MAKE_LIST__V59*/ meltfptr[53] = (meltgc_new_list ((meltobject_ptr_t) (( /*!DISCR_LIST */ meltfrout->tabval[4]))));; MELT_LOCATION ("warmelt-normatch.melt:1483:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & ( /*!DISCR_MULTIPLE */ meltfrout->tabval[18]); /*_.LIST_TO_MULTIPLE__V60*/ meltfptr[59] = melt_apply ((meltclosure_ptr_t) (( /*!LIST_TO_MULTIPLE */ meltfrout->tabval[17])), (melt_ptr_t) ( /*_.CLEARLOCLIST__V51*/ meltfptr[50]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normatch.melt:1477:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NORMTESTER_OR_CLEAR */ meltfrout->tabval[16])), (8), "CLASS_NORMTESTER_OR_CLEAR"); /*_.INST__V62*/ meltfptr[61] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V62*/ meltfptr[61])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V62*/ meltfptr[61]), (0), ( /*_.SLOC__V15*/ meltfptr[14]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NTEST_MATCHED", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V62*/ meltfptr[61])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V62*/ meltfptr[61]), (1), ( /*_.NMATCH__V3*/ meltfptr[2]), "NTEST_MATCHED"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NTEST_THEN", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V62*/ meltfptr[61])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V62*/ meltfptr[61]), (2), (( /*nil */ NULL)), "NTEST_THEN"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NTEST_ELSE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V62*/ meltfptr[61])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V62*/ meltfptr[61]), (3), (( /*nil */ NULL)), "NTEST_ELSE"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NTEST_COMEFROM", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V62*/ meltfptr[61])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V62*/ meltfptr[61]), (6), ( /*_.MAKE_LIST__V59*/ meltfptr[53]), "NTEST_COMEFROM"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NTORCLEAR_LOCSYM", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V62*/ meltfptr[61])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V62*/ meltfptr[61]), (7), ( /*_.LIST_TO_MULTIPLE__V60*/ meltfptr[59]), "NTORCLEAR_LOCSYM"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V62*/ meltfptr[61], "newly made instance"); ; /*_.NORCLEAR__V61*/ meltfptr[60] = /*_.INST__V62*/ meltfptr[61];; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1488:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L16*/ meltfnum[13] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1488:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L16*/ meltfnum[13]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L17*/ meltfnum[16] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1488:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L17*/ meltfnum[16]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1488; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_orpat curdisj before normalization"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CURDISJ__V49*/ meltfptr[45]; /*_.MELT_DEBUG_FUN__V65*/ meltfptr[64] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V64*/ meltfptr[63] = /*_.MELT_DEBUG_FUN__V65*/ meltfptr[64];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1488:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L17*/ meltfnum[16] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V65*/ meltfptr[64] = 0; } ; } else { /*^cond.else */ /*_.IF___V64*/ meltfptr[63] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1488:/ quasiblock"); /*_.PROGN___V66*/ meltfptr[64] = /*_.IF___V64*/ meltfptr[63];; /*^compute */ /*_.IFCPP___V63*/ meltfptr[62] = /*_.PROGN___V66*/ meltfptr[64];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1488:/ clear"); /*clear *//*_#MELT_NEED_DBG__L16*/ meltfnum[13] = 0; /*^clear */ /*clear *//*_.IF___V64*/ meltfptr[63] = 0; /*^clear */ /*clear *//*_.PROGN___V66*/ meltfptr[64] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V63*/ meltfptr[62] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:1490:/ quasiblock"); MELT_LOCATION ("warmelt-normatch.melt:1491:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.PREVCONT__V31*/ meltfptr[30]), (melt_ptr_t) (( /*!CLASS_REFERENCE */ meltfrout->tabval[12]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.PREVCONT__V31*/ meltfptr[30]) /*=obj*/ ; melt_object_get_field (slot, obj, 0, "REFERENCED_VALUE"); /*_.PREVTEST__V67*/ meltfptr[63] = slot; }; ; } else { /*^cond.else */ /*_.PREVTEST__V67*/ meltfptr[63] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1492:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.PREVTEST__V67*/ meltfptr[63]), (melt_ptr_t) (( /*!CLASS_NREP */ meltfrout-> tabval[19]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.PREVTEST__V67*/ meltfptr[63]) /*=obj*/ ; melt_object_get_field (slot, obj, 0, "NREP_LOC"); /*_.PREVLOC__V68*/ meltfptr[64] = slot; }; ; } else { /*^cond.else */ /*_.PREVLOC__V68*/ meltfptr[64] = NULL;; } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1494:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L18*/ meltfnum[16] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1494:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L18*/ meltfnum[16]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L19*/ meltfnum[13] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1494:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L19*/ meltfnum[13]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1494; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_orpat prevtest="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.PREVTEST__V67*/ meltfptr[63]; /*^apply.arg */ argtab[5].meltbp_cstring = " norclear="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.NORCLEAR__V61*/ meltfptr[60]; /*_.MELT_DEBUG_FUN__V71*/ 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_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V70*/ meltfptr[69] = /*_.MELT_DEBUG_FUN__V71*/ meltfptr[70];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1494:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L19*/ meltfnum[13] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V71*/ meltfptr[70] = 0; } ; } else { /*^cond.else */ /*_.IF___V70*/ meltfptr[69] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1494:/ quasiblock"); /*_.PROGN___V72*/ meltfptr[70] = /*_.IF___V70*/ meltfptr[69];; /*^compute */ /*_.IFCPP___V69*/ meltfptr[68] = /*_.PROGN___V72*/ meltfptr[70];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1494:/ clear"); /*clear *//*_#MELT_NEED_DBG__L18*/ meltfnum[16] = 0; /*^clear */ /*clear *//*_.IF___V70*/ meltfptr[69] = 0; /*^clear */ /*clear *//*_.PROGN___V72*/ meltfptr[70] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V69*/ meltfptr[68] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; { MELT_LOCATION ("warmelt-normatch.melt:1495:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.TESTLIST__V17*/ meltfptr[16]), (melt_ptr_t) ( /*_.NORCLEAR__V61*/ meltfptr[60])); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1496:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L20*/ meltfnum[13] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1496:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L20*/ meltfnum[13]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L21*/ meltfnum[16] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1496:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L21*/ meltfnum[16]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1496; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_orclear setallelses norclear="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NORCLEAR__V61*/ meltfptr[60]; /*^apply.arg */ argtab[5].meltbp_cstring = " prevtest="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.PREVTEST__V67*/ meltfptr[63]; /*_.MELT_DEBUG_FUN__V75*/ meltfptr[74] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V74*/ meltfptr[70] = /*_.MELT_DEBUG_FUN__V75*/ meltfptr[74];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1496:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L21*/ meltfnum[16] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V75*/ meltfptr[74] = 0; } ; } else { /*^cond.else */ /*_.IF___V74*/ meltfptr[70] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1496:/ quasiblock"); /*_.PROGN___V76*/ meltfptr[74] = /*_.IF___V74*/ meltfptr[70];; /*^compute */ /*_.IFCPP___V73*/ meltfptr[69] = /*_.PROGN___V76*/ meltfptr[74];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1496:/ clear"); /*clear *//*_#MELT_NEED_DBG__L20*/ meltfnum[13] = 0; /*^clear */ /*clear *//*_.IF___V74*/ meltfptr[70] = 0; /*^clear */ /*clear *//*_.PROGN___V76*/ meltfptr[74] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V73*/ meltfptr[69] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:1497:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.PREVTEST__V67*/ meltfptr[63]; /*_.SET_NEW_TESTER_ALL_ELSES__V77*/ meltfptr[70] = melt_apply ((meltclosure_ptr_t) (( /*!SET_NEW_TESTER_ALL_ELSES */ meltfrout-> tabval[20])), (melt_ptr_t) ( /*_.NORCLEAR__V61*/ meltfptr[60]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normatch.melt:1498:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^cond */ /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.PREVCONT__V31*/ meltfptr[30]), (melt_ptr_t) (( /*!CLASS_REFERENCE */ meltfrout->tabval[12]))) ) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @REFERENCED_VALUE", melt_magic_discr ((melt_ptr_t) ( /*_.PREVCONT__V31*/ meltfptr[30])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.PREVCONT__V31*/ meltfptr[30]), (0), ( /*_.NORCLEAR__V61*/ meltfptr[60]), "REFERENCED_VALUE"); ; /*^touch */ meltgc_touch ( /*_.PREVCONT__V31*/ meltfptr[30]); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.PREVCONT__V31*/ meltfptr[30], "put-fields"); ; /*epilog */ } ; } /*noelse */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1499:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L22*/ meltfnum[16] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1499:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L22*/ meltfnum[16]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L23*/ meltfnum[13] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1499:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L23*/ meltfnum[13]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1499; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_orpat prevcont with norclear"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.PREVCONT__V31*/ meltfptr[30]; /*_.MELT_DEBUG_FUN__V80*/ 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); } ; /*_.IF___V79*/ meltfptr[78] = /*_.MELT_DEBUG_FUN__V80*/ meltfptr[79];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1499:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L23*/ meltfnum[13] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V80*/ meltfptr[79] = 0; } ; } else { /*^cond.else */ /*_.IF___V79*/ meltfptr[78] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1499:/ quasiblock"); /*_.PROGN___V81*/ meltfptr[79] = /*_.IF___V79*/ meltfptr[78];; /*^compute */ /*_.IFCPP___V78*/ meltfptr[74] = /*_.PROGN___V81*/ meltfptr[79];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1499:/ clear"); /*clear *//*_#MELT_NEED_DBG__L22*/ meltfnum[16] = 0; /*^clear */ /*clear *//*_.IF___V79*/ meltfptr[78] = 0; /*^clear */ /*clear *//*_.PROGN___V81*/ meltfptr[79] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V78*/ meltfptr[74] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:1501:/ quasiblock"); MELT_LOCATION ("warmelt-normatch.melt:1502:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_REFERENCE */ meltfrout->tabval[12])), (1), "CLASS_REFERENCE"); /*_.INST__V83*/ meltfptr[79] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @REFERENCED_VALUE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V83*/ meltfptr[79])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V83*/ meltfptr[79]), (0), (( /*nil */ NULL)), "REFERENCED_VALUE"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V83*/ meltfptr[79], "newly made instance"); ; /*_.SUBDISJCONT__V82*/ meltfptr[78] = /*_.INST__V83*/ meltfptr[79];; MELT_LOCATION ("warmelt-normatch.melt:1504:/ quasiblock"); /*^newclosure */ /*newclosure *//*_.LAMBDA___V85*/ meltfptr[84] = (melt_ptr_t) meltgc_new_closure ((meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_CLOSURE)))), (meltroutine_ptr_t) (( /*!konst_24 */ meltfrout->tabval[24])), (3)); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V85*/ meltfptr[84])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 0 >= 0 && 0 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V85*/ meltfptr[84]))); ((meltclosure_ptr_t) /*_.LAMBDA___V85*/ meltfptr[84])->tabval[0] = (melt_ptr_t) ( /*_.SUBDISJCONT__V82*/ meltfptr[78]); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V85*/ meltfptr[84])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 1 >= 0 && 1 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V85*/ meltfptr[84]))); ((meltclosure_ptr_t) /*_.LAMBDA___V85*/ meltfptr[84])->tabval[1] = (melt_ptr_t) ( /*_.PREVCONT__V31*/ meltfptr[30]); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V85*/ meltfptr[84])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 2 >= 0 && 2 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V85*/ meltfptr[84]))); ((meltclosure_ptr_t) /*_.LAMBDA___V85*/ meltfptr[84])->tabval[2] = (melt_ptr_t) ( /*_.SUBTESTLIST__V18*/ meltfptr[17]); ; /*_.SUBDISJHANDLER__V84*/ meltfptr[83] = /*_.LAMBDA___V85*/ meltfptr[84];; MELT_LOCATION ("warmelt-normatch.melt:1520:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^msend */ /*msend */ { union meltparam_un argtab[3]; memset (&argtab, 0, sizeof (argtab)); /*^ojbmsend.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NMATCH__V3*/ meltfptr[2]; /*^ojbmsend.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.SUBDISJHANDLER__V84*/ meltfptr[83]; /*^ojbmsend.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & /*_.PCN__V5*/ meltfptr[4]; /*_.NORMAL_PATTERN__V86*/ meltfptr[85] = meltgc_send ((melt_ptr_t) ( /*_.CURDISJ__V49*/ meltfptr[45]), (melt_ptr_t) (( /*!NORMAL_PATTERN */ meltfrout-> tabval[25])), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1522:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L24*/ meltfnum[13] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1522:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L24*/ meltfnum[13]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L25*/ meltfnum[16] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1522:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L25*/ meltfnum[16]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1522; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_orpat curdisj after normalization"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CURDISJ__V49*/ meltfptr[45]; /*_.MELT_DEBUG_FUN__V89*/ meltfptr[88] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V88*/ meltfptr[87] = /*_.MELT_DEBUG_FUN__V89*/ meltfptr[88];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1522:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L25*/ meltfnum[16] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V89*/ meltfptr[88] = 0; } ; } else { /*^cond.else */ /*_.IF___V88*/ meltfptr[87] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1522:/ quasiblock"); /*_.PROGN___V90*/ meltfptr[88] = /*_.IF___V88*/ meltfptr[87];; /*^compute */ /*_.IFCPP___V87*/ meltfptr[86] = /*_.PROGN___V90*/ meltfptr[88];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1522:/ clear"); /*clear *//*_#MELT_NEED_DBG__L24*/ meltfnum[13] = 0; /*^clear */ /*clear *//*_.IF___V88*/ meltfptr[87] = 0; /*^clear */ /*clear *//*_.PROGN___V90*/ meltfptr[88] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V87*/ meltfptr[86] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:1523:/ quasiblock"); MELT_LOCATION ("warmelt-normatch.melt:1524:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.SUBDISJCONT__V82*/ meltfptr[78]), (melt_ptr_t) (( /*!CLASS_REFERENCE */ meltfrout->tabval[12]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.SUBDISJCONT__V82*/ meltfptr[78]) /*=obj*/ ; melt_object_get_field (slot, obj, 0, "REFERENCED_VALUE"); /*_.LASTDISJ__V91*/ meltfptr[87] = slot; }; ; } else { /*^cond.else */ /*_.LASTDISJ__V91*/ meltfptr[87] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1525:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.PREVCONT__V31*/ meltfptr[30]) /*=obj*/ ; melt_object_get_field (slot, obj, 0, "REFERENCED_VALUE"); /*_.PREVTESTRANS__V92*/ meltfptr[88] = slot; }; ; MELT_LOCATION ("warmelt-normatch.melt:1526:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_.MAKE_LIST__V93*/ meltfptr[92] = (meltgc_new_list ((meltobject_ptr_t) (( /*!DISCR_LIST */ meltfrout->tabval[4]))));; MELT_LOCATION ("warmelt-normatch.melt:1526:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NORMTESTER_OR_TRANSMIT */ meltfrout->tabval[26])), (9), "CLASS_NORMTESTER_OR_TRANSMIT"); /*_.INST__V95*/ meltfptr[94] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V95*/ meltfptr[94])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V95*/ meltfptr[94]), (0), ( /*_.SLOC__V15*/ meltfptr[14]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NTEST_MATCHED", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V95*/ meltfptr[94])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V95*/ meltfptr[94]), (1), ( /*_.NMATCH__V3*/ meltfptr[2]), "NTEST_MATCHED"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NTEST_THEN", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V95*/ meltfptr[94])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V95*/ meltfptr[94]), (2), (( /*nil */ NULL)), "NTEST_THEN"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NTEST_ELSE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V95*/ meltfptr[94])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V95*/ meltfptr[94]), (3), (( /*nil */ NULL)), "NTEST_ELSE"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NTEST_COMEFROM", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V95*/ meltfptr[94])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V95*/ meltfptr[94]), (6), ( /*_.MAKE_LIST__V93*/ meltfptr[92]), "NTEST_COMEFROM"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NTORTRANSMIT_DST", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V95*/ meltfptr[94])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V95*/ meltfptr[94]), (7), (( /*nil */ NULL)), "NTORTRANSMIT_DST"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NTORTRANSMIT_SRC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V95*/ meltfptr[94])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V95*/ meltfptr[94]), (8), (( /*nil */ NULL)), "NTORTRANSMIT_SRC"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V95*/ meltfptr[94], "newly made instance"); ; /*_.NORTRANSM__V94*/ meltfptr[93] = /*_.INST__V95*/ meltfptr[94];; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1536:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L26*/ meltfnum[16] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1536:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L26*/ meltfnum[16]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L27*/ meltfnum[13] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1536:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L27*/ meltfnum[13]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1536; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_orpat prevtestrans"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.PREVTESTRANS__V92*/ meltfptr[88]; /*_.MELT_DEBUG_FUN__V98*/ meltfptr[97] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V97*/ meltfptr[96] = /*_.MELT_DEBUG_FUN__V98*/ meltfptr[97];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1536:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L27*/ meltfnum[13] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V98*/ meltfptr[97] = 0; } ; } else { /*^cond.else */ /*_.IF___V97*/ meltfptr[96] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1536:/ quasiblock"); /*_.PROGN___V99*/ meltfptr[97] = /*_.IF___V97*/ meltfptr[96];; /*^compute */ /*_.IFCPP___V96*/ meltfptr[95] = /*_.PROGN___V99*/ meltfptr[97];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1536:/ clear"); /*clear *//*_#MELT_NEED_DBG__L26*/ meltfnum[16] = 0; /*^clear */ /*clear *//*_.IF___V97*/ meltfptr[96] = 0; /*^clear */ /*clear *//*_.PROGN___V99*/ meltfptr[97] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V96*/ meltfptr[95] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; { MELT_LOCATION ("warmelt-normatch.melt:1537:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.TESTLIST__V17*/ meltfptr[16]), (melt_ptr_t) ( /*_.NORTRANSM__V94*/ meltfptr[93])); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1538:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L28*/ meltfnum[13] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1538:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L28*/ meltfnum[13]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L29*/ meltfnum[16] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1538:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L29*/ meltfnum[16]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1538; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_orpat setlasthen nortransm="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NORTRANSM__V94*/ meltfptr[93]; /*^apply.arg */ argtab[5].meltbp_cstring = " prevcont="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.PREVCONT__V31*/ meltfptr[30]; /*_.MELT_DEBUG_FUN__V102*/ meltfptr[101] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V101*/ meltfptr[97] = /*_.MELT_DEBUG_FUN__V102*/ meltfptr[101];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1538:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L29*/ meltfnum[16] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V102*/ meltfptr[101] = 0; } ; } else { /*^cond.else */ /*_.IF___V101*/ meltfptr[97] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1538:/ quasiblock"); /*_.PROGN___V103*/ meltfptr[101] = /*_.IF___V101*/ meltfptr[97];; /*^compute */ /*_.IFCPP___V100*/ meltfptr[96] = /*_.PROGN___V103*/ meltfptr[101];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1538:/ clear"); /*clear *//*_#MELT_NEED_DBG__L28*/ meltfnum[13] = 0; /*^clear */ /*clear *//*_.IF___V101*/ meltfptr[97] = 0; /*^clear */ /*clear *//*_.PROGN___V103*/ meltfptr[101] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V100*/ meltfptr[96] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:1539:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.PREVCONT__V31*/ meltfptr[30]; /*_.SET_NEW_TESTER_LAST_THEN__V104*/ meltfptr[97] = melt_apply ((meltclosure_ptr_t) (( /*!SET_NEW_TESTER_LAST_THEN */ meltfrout-> tabval[27])), (melt_ptr_t) ( /*_.NORTRANSM__V94*/ meltfptr[93]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normatch.melt:1543:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#NULL__L30*/ meltfnum[16] = (( /*_.LASTDISJ__V91*/ meltfptr[87]) == NULL);; MELT_LOCATION ("warmelt-normatch.melt:1543:/ cond"); /*cond */ if ( /*_#NULL__L30*/ meltfnum[16]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-normatch.melt:1544:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.SUBTESTLIST__V18*/ meltfptr[17]), (melt_ptr_t) ( /*_.NORTRANSM__V94*/ meltfptr[93])); } ; /*epilog */ } ; } /*noelse */ ; MELT_LOCATION ("warmelt-normatch.melt:1523:/ clear"); /*clear *//*_.LASTDISJ__V91*/ meltfptr[87] = 0; /*^clear */ /*clear *//*_.PREVTESTRANS__V92*/ meltfptr[88] = 0; /*^clear */ /*clear *//*_.MAKE_LIST__V93*/ meltfptr[92] = 0; /*^clear */ /*clear *//*_.NORTRANSM__V94*/ meltfptr[93] = 0; /*^clear */ /*clear *//*_.IFCPP___V96*/ meltfptr[95] = 0; /*^clear */ /*clear *//*_.IFCPP___V100*/ meltfptr[96] = 0; /*^clear */ /*clear *//*_.SET_NEW_TESTER_LAST_THEN__V104*/ meltfptr[97] = 0; /*^clear */ /*clear *//*_#NULL__L30*/ meltfnum[16] = 0; MELT_LOCATION ("warmelt-normatch.melt:1501:/ clear"); /*clear *//*_.SUBDISJCONT__V82*/ meltfptr[78] = 0; /*^clear */ /*clear *//*_.SUBDISJHANDLER__V84*/ meltfptr[83] = 0; /*^clear */ /*clear *//*_.NORMAL_PATTERN__V86*/ meltfptr[85] = 0; /*^clear */ /*clear *//*_.IFCPP___V87*/ meltfptr[86] = 0; MELT_LOCATION ("warmelt-normatch.melt:1490:/ clear"); /*clear *//*_.PREVTEST__V67*/ meltfptr[63] = 0; /*^clear */ /*clear *//*_.PREVLOC__V68*/ meltfptr[64] = 0; /*^clear */ /*clear *//*_.IFCPP___V69*/ meltfptr[68] = 0; /*^clear */ /*clear *//*_.IFCPP___V73*/ meltfptr[69] = 0; /*^clear */ /*clear *//*_.SET_NEW_TESTER_ALL_ELSES__V77*/ meltfptr[70] = 0; /*^clear */ /*clear *//*_.IFCPP___V78*/ meltfptr[74] = 0; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1548:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L31*/ meltfnum[13] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1548:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L31*/ meltfnum[13]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L32*/ meltfnum[16] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1548:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L32*/ meltfnum[16]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1548; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_orpat done curdisj"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CURDISJ__V49*/ meltfptr[45]; /*_.MELT_DEBUG_FUN__V107*/ meltfptr[88] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V106*/ meltfptr[87] = /*_.MELT_DEBUG_FUN__V107*/ meltfptr[88];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1548:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L32*/ meltfnum[16] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V107*/ meltfptr[88] = 0; } ; } else { /*^cond.else */ /*_.IF___V106*/ meltfptr[87] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1548:/ quasiblock"); /*_.PROGN___V108*/ meltfptr[92] = /*_.IF___V106*/ meltfptr[87];; /*^compute */ /*_.IFCPP___V105*/ meltfptr[101] = /*_.PROGN___V108*/ meltfptr[92];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1548:/ clear"); /*clear *//*_#MELT_NEED_DBG__L31*/ meltfnum[13] = 0; /*^clear */ /*clear *//*_.IF___V106*/ meltfptr[87] = 0; /*^clear */ /*clear *//*_.PROGN___V108*/ meltfptr[92] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V105*/ meltfptr[101] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; /*^compute */ /*_.LET___V58*/ meltfptr[55] = /*_.IFCPP___V105*/ meltfptr[101];; MELT_LOCATION ("warmelt-normatch.melt:1476:/ clear"); /*clear *//*_.MAKE_LIST__V59*/ meltfptr[53] = 0; /*^clear */ /*clear *//*_.LIST_TO_MULTIPLE__V60*/ meltfptr[59] = 0; /*^clear */ /*clear *//*_.NORCLEAR__V61*/ meltfptr[60] = 0; /*^clear */ /*clear *//*_.IFCPP___V63*/ meltfptr[62] = 0; /*^clear */ /*clear *//*_.IFCPP___V105*/ meltfptr[101] = 0; /*_.LET___V50*/ meltfptr[46] = /*_.LET___V58*/ meltfptr[55];; MELT_LOCATION ("warmelt-normatch.melt:1462:/ clear"); /*clear *//*_.CLEARLOCLIST__V51*/ meltfptr[50] = 0; /*^clear */ /*clear *//*_.LET___V58*/ meltfptr[55] = 0; if ( /*_#DISJIX__L12*/ meltfnum[1] < 0) break; } /* end foreach_in_multiple meltcit1__EACHTUP */ /*citerepilog */ MELT_LOCATION ("warmelt-normatch.melt:1459:/ clear"); /*clear *//*_.CURDISJ__V49*/ meltfptr[45] = 0; /*^clear */ /*clear *//*_#DISJIX__L12*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.LET___V50*/ meltfptr[46] = 0; } /*endciterblock FOREACH_IN_MULTIPLE */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1553:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L33*/ meltfnum[16] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1553:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L33*/ meltfnum[16]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L34*/ meltfnum[13] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1553:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L34*/ meltfnum[13]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1553; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_orpat pvarlocmap before freshorvar"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.PVARLOCMAP__V20*/ meltfptr[19]; /*_.MELT_DEBUG_FUN__V111*/ meltfptr[96] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V110*/ meltfptr[95] = /*_.MELT_DEBUG_FUN__V111*/ meltfptr[96];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1553:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L34*/ meltfnum[13] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V111*/ meltfptr[96] = 0; } ; } else { /*^cond.else */ /*_.IF___V110*/ meltfptr[95] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1553:/ quasiblock"); /*_.PROGN___V112*/ meltfptr[97] = /*_.IF___V110*/ meltfptr[95];; /*^compute */ /*_.IFCPP___V109*/ meltfptr[93] = /*_.PROGN___V112*/ meltfptr[97];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1553:/ clear"); /*clear *//*_#MELT_NEED_DBG__L33*/ meltfnum[16] = 0; /*^clear */ /*clear *//*_.IF___V110*/ meltfptr[95] = 0; /*^clear */ /*clear *//*_.PROGN___V112*/ meltfptr[97] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V109*/ meltfptr[93] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1554:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L35*/ meltfnum[13] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1554:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L35*/ meltfnum[13]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L36*/ meltfnum[16] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1554:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L36*/ meltfnum[16]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1554; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_orpat final subtestlist"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.SUBTESTLIST__V18*/ meltfptr[17]; /*_.MELT_DEBUG_FUN__V115*/ meltfptr[85] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V114*/ meltfptr[83] = /*_.MELT_DEBUG_FUN__V115*/ meltfptr[85];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1554:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L36*/ meltfnum[16] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V115*/ meltfptr[85] = 0; } ; } else { /*^cond.else */ /*_.IF___V114*/ meltfptr[83] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1554:/ quasiblock"); /*_.PROGN___V116*/ meltfptr[86] = /*_.IF___V114*/ meltfptr[83];; /*^compute */ /*_.IFCPP___V113*/ meltfptr[78] = /*_.PROGN___V116*/ meltfptr[86];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1554:/ clear"); /*clear *//*_#MELT_NEED_DBG__L35*/ meltfnum[13] = 0; /*^clear */ /*clear *//*_.IF___V114*/ meltfptr[83] = 0; /*^clear */ /*clear *//*_.PROGN___V116*/ meltfptr[86] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V113*/ meltfptr[78] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:1555:/ quasiblock"); MELT_LOCATION ("warmelt-normatch.melt:1558:/ quasiblock"); /*^newclosure */ /*newclosure *//*_.LAMBDA___V119*/ meltfptr[68] = (melt_ptr_t) meltgc_new_closure ((meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_CLOSURE)))), (meltroutine_ptr_t) (( /*!konst_32 */ meltfrout-> tabval[32])), (0)); ; /*_.LAMBDA___V118*/ meltfptr[64] = /*_.LAMBDA___V119*/ meltfptr[68];; MELT_LOCATION ("warmelt-normatch.melt:1556:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.LAMBDA___V118*/ meltfptr[64]; /*_.FRESHORVAR__V120*/ meltfptr[69] = melt_apply ((meltclosure_ptr_t) (( /*!MULTIPLE_MAP */ meltfrout->tabval[7])), (melt_ptr_t) ( /*_.SORTORVARS__V30*/ meltfptr[29]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1572:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L37*/ meltfnum[16] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1572:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L37*/ meltfnum[16]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L38*/ meltfnum[13] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1572:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L38*/ meltfnum[13]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1572; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_orpat final freshorvar"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.FRESHORVAR__V120*/ meltfptr[69]; /*_.MELT_DEBUG_FUN__V123*/ meltfptr[88] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V122*/ meltfptr[74] = /*_.MELT_DEBUG_FUN__V123*/ meltfptr[88];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1572:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L38*/ meltfnum[13] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V123*/ meltfptr[88] = 0; } ; } else { /*^cond.else */ /*_.IF___V122*/ meltfptr[74] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1572:/ quasiblock"); /*_.PROGN___V124*/ meltfptr[87] = /*_.IF___V122*/ meltfptr[74];; /*^compute */ /*_.IFCPP___V121*/ meltfptr[70] = /*_.PROGN___V124*/ meltfptr[87];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1572:/ clear"); /*clear *//*_#MELT_NEED_DBG__L37*/ meltfnum[16] = 0; /*^clear */ /*clear *//*_.IF___V122*/ meltfptr[74] = 0; /*^clear */ /*clear *//*_.PROGN___V124*/ meltfptr[87] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V121*/ meltfptr[70] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:1573:/ checksignal"); MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normatch.melt:1574:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & ( /*!DISCR_MULTIPLE */ meltfrout->tabval[18]); /*_.LIST_TO_MULTIPLE__V125*/ meltfptr[92] = melt_apply ((meltclosure_ptr_t) (( /*!LIST_TO_MULTIPLE */ meltfrout->tabval[17])), (melt_ptr_t) ( /*_.SUBTESTLIST__V18*/ meltfptr[17]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normatch.melt:1573:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.DISJTESTER__V26*/ meltfptr[25]), (melt_ptr_t) (( /*!CLASS_NORMTESTER_DISJUNCTION */ meltfrout->tabval[6]))) ) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NTDISJUNCTS", melt_magic_discr ((melt_ptr_t) ( /*_.DISJTESTER__V26*/ meltfptr[25])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.DISJTESTER__V26*/ meltfptr[25]), (7), ( /*_.LIST_TO_MULTIPLE__V125*/ meltfptr[92]), "NTDISJUNCTS"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NTDISJ_FRESHORVAR", melt_magic_discr ((melt_ptr_t) ( /*_.DISJTESTER__V26*/ meltfptr[25])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.DISJTESTER__V26*/ meltfptr[25]), (8), ( /*_.FRESHORVAR__V120*/ meltfptr[69]), "NTDISJ_FRESHORVAR"); ; /*^touch */ meltgc_touch ( /*_.DISJTESTER__V26*/ meltfptr[25]); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.DISJTESTER__V26*/ meltfptr[25], "put-fields"); ; /*epilog */ } ; } /*noelse */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1577:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L39*/ meltfnum[13] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1577:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L39*/ meltfnum[13]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L40*/ meltfnum[16] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1577:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L40*/ meltfnum[16]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1577; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_orpat final disjtester"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.DISJTESTER__V26*/ meltfptr[25]; /*_.MELT_DEBUG_FUN__V128*/ meltfptr[60] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V127*/ meltfptr[59] = /*_.MELT_DEBUG_FUN__V128*/ meltfptr[60];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1577:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L40*/ meltfnum[16] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V128*/ meltfptr[60] = 0; } ; } else { /*^cond.else */ /*_.IF___V127*/ meltfptr[59] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1577:/ quasiblock"); /*_.PROGN___V129*/ meltfptr[62] = /*_.IF___V127*/ meltfptr[59];; /*^compute */ /*_.IFCPP___V126*/ meltfptr[53] = /*_.PROGN___V129*/ meltfptr[62];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1577:/ clear"); /*clear *//*_#MELT_NEED_DBG__L39*/ meltfnum[13] = 0; /*^clear */ /*clear *//*_.IF___V127*/ meltfptr[59] = 0; /*^clear */ /*clear *//*_.PROGN___V129*/ meltfptr[62] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V126*/ meltfptr[53] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; /*^compute */ /*_.LET___V117*/ meltfptr[63] = /*_.IFCPP___V126*/ meltfptr[53];; MELT_LOCATION ("warmelt-normatch.melt:1555:/ clear"); /*clear *//*_.LAMBDA___V118*/ meltfptr[64] = 0; /*^clear */ /*clear *//*_.FRESHORVAR__V120*/ meltfptr[69] = 0; /*^clear */ /*clear *//*_.IFCPP___V121*/ meltfptr[70] = 0; /*^clear */ /*clear *//*_.LIST_TO_MULTIPLE__V125*/ meltfptr[92] = 0; /*^clear */ /*clear *//*_.IFCPP___V126*/ meltfptr[53] = 0; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1581:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L41*/ meltfnum[16] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1581:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L41*/ meltfnum[16]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L42*/ meltfnum[13] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1581:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L42*/ meltfnum[13]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1581; /*^apply.arg */ argtab[3].meltbp_cstring = "enf normpat_orpat recv"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.RECV__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V132*/ meltfptr[55] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V131*/ meltfptr[50] = /*_.MELT_DEBUG_FUN__V132*/ meltfptr[55];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1581:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L42*/ meltfnum[13] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V132*/ meltfptr[55] = 0; } ; } else { /*^cond.else */ /*_.IF___V131*/ meltfptr[50] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1581:/ quasiblock"); /*_.PROGN___V133*/ meltfptr[96] = /*_.IF___V131*/ meltfptr[50];; /*^compute */ /*_.IFCPP___V130*/ meltfptr[101] = /*_.PROGN___V133*/ meltfptr[96];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1581:/ clear"); /*clear *//*_#MELT_NEED_DBG__L41*/ meltfnum[16] = 0; /*^clear */ /*clear *//*_.IF___V131*/ meltfptr[50] = 0; /*^clear */ /*clear *//*_.PROGN___V133*/ meltfptr[96] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V130*/ meltfptr[101] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; /*^compute */ /*_.LET___V14*/ meltfptr[12] = /*_.IFCPP___V130*/ meltfptr[101];; MELT_LOCATION ("warmelt-normatch.melt:1400:/ clear"); /*clear *//*_.SLOC__V15*/ meltfptr[14] = 0; /*^clear */ /*clear *//*_.DISJPATS__V16*/ meltfptr[15] = 0; /*^clear */ /*clear *//*_.TESTLIST__V17*/ meltfptr[16] = 0; /*^clear */ /*clear *//*_.SUBTESTLIST__V18*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_.STUFFMAP__V19*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_.PVARLOCMAP__V20*/ meltfptr[19] = 0; /*^clear */ /*clear *//*_.MAPOR__V21*/ meltfptr[20] = 0; /*^clear */ /*clear *//*_.NCX__V22*/ meltfptr[21] = 0; /*^clear */ /*clear *//*_.ORVARMAP__V23*/ meltfptr[22] = 0; /*^clear */ /*clear *//*_.SORTEDORSYMBS__V24*/ meltfptr[23] = 0; /*^clear */ /*clear *//*_.MAKE_LIST__V25*/ meltfptr[24] = 0; /*^clear */ /*clear *//*_.DISJTESTER__V26*/ meltfptr[25] = 0; /*^clear */ /*clear *//*_.LAMBDA___V28*/ meltfptr[27] = 0; /*^clear */ /*clear *//*_.SORTORVARS__V30*/ meltfptr[29] = 0; /*^clear */ /*clear *//*_.PREVCONT__V31*/ meltfptr[30] = 0; /*^clear */ /*clear *//*_.IFCPP___V33*/ meltfptr[32] = 0; /*^clear */ /*clear *//*_.IFCPP___V37*/ meltfptr[33] = 0; /*^clear */ /*clear *//*_.IFCPP___V39*/ meltfptr[34] = 0; /*^clear */ /*clear *//*_.REGISTER_NEW_NORMTESTER__V43*/ meltfptr[39] = 0; /*^clear */ /*clear *//*_.HDLER__V44*/ meltfptr[40] = 0; /*^clear */ /*clear *//*_.IFCPP___V45*/ meltfptr[44] = 0; /*^clear */ /*clear *//*_.IFCPP___V109*/ meltfptr[93] = 0; /*^clear */ /*clear *//*_.IFCPP___V113*/ meltfptr[78] = 0; /*^clear */ /*clear *//*_.LET___V117*/ meltfptr[63] = 0; /*^clear */ /*clear *//*_.IFCPP___V130*/ meltfptr[101] = 0; MELT_LOCATION ("warmelt-normatch.melt:1395:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V14*/ meltfptr[12];; { MELT_LOCATION ("warmelt-normatch.melt:1395:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V6*/ meltfptr[5] = 0; /*^clear */ /*clear *//*_.IFCPP___V10*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.IFCPP___V12*/ meltfptr[7] = 0; /*^clear */ /*clear *//*_.LET___V14*/ meltfptr[12] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("NORMPAT_ORPAT", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_32_warmelt_normatch_NORMPAT_ORPAT_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_32_warmelt_normatch_NORMPAT_ORPAT */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_33_warmelt_normatch_LAMBDA___10__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un * meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un * meltxrestab_) { long current_blocklevel_signals_meltrout_33_warmelt_normatch_LAMBDA___10___melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_33_warmelt_normatch_LAMBDA___10___st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 17 melt_ptr_t mcfr_varptr[17]; #define MELTFRAM_NBVARNUM 6 long mcfr_varnum[6]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_33_warmelt_normatch_LAMBDA___10__ is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_33_warmelt_normatch_LAMBDA___10___st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 17; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_33_warmelt_normatch_LAMBDA___10__ nbval 17*/ meltfram__.mcfr_nbvar = 17 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("LAMBDA_", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normatch.melt:1424:/ getarg"); /*_.ORSYMB__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_LONG) goto lab_endgetargs; /*_#ORIX__L1*/ meltfnum[0] = meltxargtab_[0].meltbp_long; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { MELT_LOCATION ("warmelt-normatch.melt:1425:/ quasiblock"); /*_.CURVARPAT__V4*/ meltfptr[3] = /*mapobject_get */ melt_get_mapobjects ((meltmapobjects_ptr_t) (( /*~ORVARMAP */ meltfclos->tabval[0])), (meltobject_ptr_t) ( /*_.ORSYMB__V2*/ meltfptr[1]));; MELT_LOCATION ("warmelt-normatch.melt:1427:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NORMAL_OR_VARIABLE */ meltfrout->tabval[0])), (4), "CLASS_NORMAL_OR_VARIABLE"); /*_.INST__V6*/ meltfptr[5] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NORVAR_PATVAR", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V6*/ meltfptr[5])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V6*/ meltfptr[5]), (2), ( /*_.CURVARPAT__V4*/ meltfptr[3]), "NORVAR_PATVAR"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NORVAR_NREPOR", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V6*/ meltfptr[5])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V6*/ meltfptr[5]), (3), (( /*~DISJTESTER */ meltfclos->tabval[1])), "NORVAR_NREPOR"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NORVAR_NOREXP", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V6*/ meltfptr[5])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V6*/ meltfptr[5]), (0), (( /*nil */ NULL)), "NORVAR_NOREXP"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NORVAR_LOCSYM", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V6*/ meltfptr[5])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V6*/ meltfptr[5]), (1), (( /*nil */ NULL)), "NORVAR_LOCSYM"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V6*/ meltfptr[5], "newly made instance"); ; /*_.CURORVAR__V5*/ meltfptr[4] = /*_.INST__V6*/ meltfptr[5];; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1434:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L2*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.CURVARPAT__V4*/ meltfptr[3]), (melt_ptr_t) (( /*!CLASS_SOURCE_PATTERN_VARIABLE */ meltfrout->tabval[1])));; MELT_LOCATION ("warmelt-normatch.melt:1434:/ cond"); /*cond */ if ( /*_#IS_A__L2*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V8*/ meltfptr[7] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:1434:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check curvarpat"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (1434) ? (1434) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V8*/ meltfptr[7] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V7*/ meltfptr[6] = /*_.IFELSE___V8*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1434:/ clear"); /*clear *//*_#IS_A__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V8*/ meltfptr[7] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V7*/ meltfptr[6] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; { MELT_LOCATION ("warmelt-normatch.melt:1436:/ locexp"); melt_put_int ((melt_ptr_t) ( /*_.CURORVAR__V5*/ meltfptr[4]), ( /*_#ORIX__L1*/ meltfnum[0])); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1437:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L3*/ meltfnum[1] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1437:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L3*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L4*/ meltfnum[3] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1437:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[9]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L4*/ meltfnum[3]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1437; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_orpat/sortlambda curorvar="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CURORVAR__V5*/ meltfptr[4]; /*^apply.arg */ argtab[5].meltbp_cstring = " curvarpat="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.CURVARPAT__V4*/ meltfptr[3]; /*^apply.arg */ argtab[7].meltbp_cstring = " orsymb="; /*^apply.arg */ argtab[8].meltbp_aptr = (melt_ptr_t *) & /*_.ORSYMB__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V11*/ meltfptr[10] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[2])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V10*/ meltfptr[9] = /*_.MELT_DEBUG_FUN__V11*/ meltfptr[10];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1437:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L4*/ meltfnum[3] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V11*/ meltfptr[10] = 0; } ; } else { /*^cond.else */ /*_.IF___V10*/ meltfptr[9] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1437:/ quasiblock"); /*_.PROGN___V12*/ meltfptr[10] = /*_.IF___V10*/ meltfptr[9];; /*^compute */ /*_.IFCPP___V9*/ meltfptr[7] = /*_.PROGN___V12*/ meltfptr[10];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1437:/ clear"); /*clear *//*_#MELT_NEED_DBG__L3*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IF___V10*/ meltfptr[9] = 0; /*^clear */ /*clear *//*_.PROGN___V12*/ meltfptr[10] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V9*/ meltfptr[7] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; { MELT_LOCATION ("warmelt-normatch.melt:1439:/ locexp"); meltgc_put_mapobjects ((meltmapobjects_ptr_t) (( /*~PVARLOCMAP */ meltfclos->tabval[2])), (meltobject_ptr_t) ( /*_.ORSYMB__V2*/ meltfptr[1]), (melt_ptr_t) ( /*_.CURORVAR__V5*/ meltfptr[4])); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1440:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L5*/ meltfnum[3] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1440:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L5*/ meltfnum[3]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L6*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1440:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L6*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1440; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_orpat/sortlambda updated pvarlocmap"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & ( /*~PVARLOCMAP */ meltfclos->tabval[2]); /*_.MELT_DEBUG_FUN__V15*/ meltfptr[14] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[2])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V14*/ meltfptr[10] = /*_.MELT_DEBUG_FUN__V15*/ meltfptr[14];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1440:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L6*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V15*/ meltfptr[14] = 0; } ; } else { /*^cond.else */ /*_.IF___V14*/ meltfptr[10] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1440:/ quasiblock"); /*_.PROGN___V16*/ meltfptr[14] = /*_.IF___V14*/ meltfptr[10];; /*^compute */ /*_.IFCPP___V13*/ meltfptr[9] = /*_.PROGN___V16*/ meltfptr[14];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1440:/ clear"); /*clear *//*_#MELT_NEED_DBG__L5*/ meltfnum[3] = 0; /*^clear */ /*clear *//*_.IF___V14*/ meltfptr[10] = 0; /*^clear */ /*clear *//*_.PROGN___V16*/ meltfptr[14] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V13*/ meltfptr[9] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:1441:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.CURORVAR__V5*/ meltfptr[4];; { MELT_LOCATION ("warmelt-normatch.melt:1441:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*_.LET___V3*/ meltfptr[2] = /*_.RETURN___V17*/ meltfptr[10];; MELT_LOCATION ("warmelt-normatch.melt:1425:/ clear"); /*clear *//*_.CURVARPAT__V4*/ meltfptr[3] = 0; /*^clear */ /*clear *//*_.CURORVAR__V5*/ meltfptr[4] = 0; /*^clear */ /*clear *//*_.IFCPP___V7*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.IFCPP___V9*/ meltfptr[7] = 0; /*^clear */ /*clear *//*_.IFCPP___V13*/ meltfptr[9] = 0; /*^clear */ /*clear *//*_.RETURN___V17*/ meltfptr[10] = 0; MELT_LOCATION ("warmelt-normatch.melt:1424:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V3*/ meltfptr[2];; { MELT_LOCATION ("warmelt-normatch.melt:1424:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*epilog */ /*^clear */ /*clear *//*_.LET___V3*/ meltfptr[2] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("LAMBDA_", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_33_warmelt_normatch_LAMBDA___10___melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_33_warmelt_normatch_LAMBDA___10__ */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_34_warmelt_normatch_LAMBDA___11__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un * meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un * meltxrestab_) { long current_blocklevel_signals_meltrout_34_warmelt_normatch_LAMBDA___11___melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_34_warmelt_normatch_LAMBDA___11___st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 21 melt_ptr_t mcfr_varptr[21]; #define MELTFRAM_NBVARNUM 8 long mcfr_varnum[8]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_34_warmelt_normatch_LAMBDA___11__ is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_34_warmelt_normatch_LAMBDA___11___st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 21; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_34_warmelt_normatch_LAMBDA___11__ nbval 21*/ meltfram__.mcfr_nbvar = 21 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("LAMBDA_", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normatch.melt:1504:/ getarg"); /*_.SUBTESTER__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1505:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1505:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1505:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1505; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_orpat.lambda subtester"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.SUBTESTER__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V5*/ meltfptr[4] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V4*/ meltfptr[3] = /*_.MELT_DEBUG_FUN__V5*/ meltfptr[4];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1505:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V5*/ meltfptr[4] = 0; } ; } else { /*^cond.else */ /*_.IF___V4*/ meltfptr[3] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1505:/ quasiblock"); /*_.PROGN___V6*/ meltfptr[4] = /*_.IF___V4*/ meltfptr[3];; /*^compute */ /*_.IFCPP___V3*/ meltfptr[2] = /*_.PROGN___V6*/ meltfptr[4];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1505:/ clear"); /*clear *//*_#MELT_NEED_DBG__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V4*/ meltfptr[3] = 0; /*^clear */ /*clear *//*_.PROGN___V6*/ meltfptr[4] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V3*/ meltfptr[2] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:1506:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^cond */ /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) (( /*~SUBDISJCONT */ meltfclos-> tabval[0])), (melt_ptr_t) (( /*!CLASS_REFERENCE */ meltfrout->tabval[1]))) ) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @REFERENCED_VALUE", melt_magic_discr ((melt_ptr_t) (( /*~SUBDISJCONT */ meltfclos-> tabval[0]))) == MELTOBMAG_OBJECT); melt_putfield_object ((( /*~SUBDISJCONT */ meltfclos->tabval[0])), (0), ( /*_.SUBTESTER__V2*/ meltfptr[1]), "REFERENCED_VALUE"); ; /*^touch */ meltgc_touch (( /*~SUBDISJCONT */ meltfclos->tabval[0])); ; /*^touchobj */ melt_dbgtrace_written_object (( /*~SUBDISJCONT */ meltfclos-> tabval[0]), "put-fields"); ; /*epilog */ } ; } /*noelse */ ; MELT_LOCATION ("warmelt-normatch.melt:1507:/ quasiblock"); MELT_LOCATION ("warmelt-normatch.melt:1508:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) (( /*~PREVCONT */ meltfclos->tabval[1])) /*=obj*/ ; melt_object_get_field (slot, obj, 0, "REFERENCED_VALUE"); /*_.PREVTESTSUB__V8*/ meltfptr[4] = slot; }; ; { MELT_LOCATION ("warmelt-normatch.melt:1510:/ locexp"); meltgc_append_list ((melt_ptr_t) (( /*~SUBTESTLIST */ meltfclos->tabval[2])), (melt_ptr_t) ( /*_.SUBTESTER__V2*/ meltfptr[1])); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1511:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L3*/ meltfnum[1] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1511:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L3*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L4*/ meltfnum[0] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1511:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L4*/ meltfnum[0]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1511; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_orpat.lambda setlastthen subtester="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.SUBTESTER__V2*/ meltfptr[1]; /*^apply.arg */ argtab[5].meltbp_cstring = " prevcont="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & ( /*~PREVCONT */ meltfclos->tabval[1]); /*_.MELT_DEBUG_FUN__V11*/ meltfptr[10] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V10*/ meltfptr[9] = /*_.MELT_DEBUG_FUN__V11*/ meltfptr[10];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1511:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L4*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V11*/ meltfptr[10] = 0; } ; } else { /*^cond.else */ /*_.IF___V10*/ meltfptr[9] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1511:/ quasiblock"); /*_.PROGN___V12*/ meltfptr[10] = /*_.IF___V10*/ meltfptr[9];; /*^compute */ /*_.IFCPP___V9*/ meltfptr[8] = /*_.PROGN___V12*/ meltfptr[10];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1511:/ clear"); /*clear *//*_#MELT_NEED_DBG__L3*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IF___V10*/ meltfptr[9] = 0; /*^clear */ /*clear *//*_.PROGN___V12*/ meltfptr[10] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V9*/ meltfptr[8] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:1513:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & ( /*~PREVCONT */ meltfclos->tabval[1]); /*_.SET_NEW_TESTER_LAST_THEN__V13*/ meltfptr[9] = melt_apply ((meltclosure_ptr_t) (( /*!SET_NEW_TESTER_LAST_THEN */ meltfrout->tabval[2])), (melt_ptr_t) ( /*_.SUBTESTER__V2*/ meltfptr[1]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1514:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L5*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1514:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L5*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L6*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1514:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L6*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1514; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_orpat.lambda done subtester"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.SUBTESTER__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V16*/ meltfptr[15] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V15*/ meltfptr[14] = /*_.MELT_DEBUG_FUN__V16*/ meltfptr[15];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1514:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L6*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V16*/ meltfptr[15] = 0; } ; } else { /*^cond.else */ /*_.IF___V15*/ meltfptr[14] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1514:/ quasiblock"); /*_.PROGN___V17*/ meltfptr[15] = /*_.IF___V15*/ meltfptr[14];; /*^compute */ /*_.IFCPP___V14*/ meltfptr[10] = /*_.PROGN___V17*/ meltfptr[15];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1514:/ clear"); /*clear *//*_#MELT_NEED_DBG__L5*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V15*/ meltfptr[14] = 0; /*^clear */ /*clear *//*_.PROGN___V17*/ meltfptr[15] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V14*/ meltfptr[10] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:1515:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^cond */ /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) (( /*~PREVCONT */ meltfclos-> tabval[1])), (melt_ptr_t) (( /*!CLASS_REFERENCE */ meltfrout->tabval[1]))) ) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @REFERENCED_VALUE", melt_magic_discr ((melt_ptr_t) (( /*~PREVCONT */ meltfclos-> tabval[1]))) == MELTOBMAG_OBJECT); melt_putfield_object ((( /*~PREVCONT */ meltfclos->tabval[1])), (0), ( /*_.SUBTESTER__V2*/ meltfptr[1]), "REFERENCED_VALUE"); ; /*^touch */ meltgc_touch (( /*~PREVCONT */ meltfclos->tabval[1])); ; /*^touchobj */ melt_dbgtrace_written_object (( /*~PREVCONT */ meltfclos-> tabval[1]), "put-fields"); ; /*epilog */ } ; } /*noelse */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1516:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L7*/ meltfnum[1] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1516:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L7*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L8*/ meltfnum[0] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1516:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L8*/ meltfnum[0]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1516; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_orpat prevcont with subtester"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & ( /*~PREVCONT */ meltfclos->tabval[1]); /*_.MELT_DEBUG_FUN__V20*/ meltfptr[19] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V19*/ meltfptr[15] = /*_.MELT_DEBUG_FUN__V20*/ meltfptr[19];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1516:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L8*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V20*/ meltfptr[19] = 0; } ; } else { /*^cond.else */ /*_.IF___V19*/ meltfptr[15] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1516:/ quasiblock"); /*_.PROGN___V21*/ meltfptr[19] = /*_.IF___V19*/ meltfptr[15];; /*^compute */ /*_.IFCPP___V18*/ meltfptr[14] = /*_.PROGN___V21*/ meltfptr[19];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1516:/ clear"); /*clear *//*_#MELT_NEED_DBG__L7*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IF___V19*/ meltfptr[15] = 0; /*^clear */ /*clear *//*_.PROGN___V21*/ meltfptr[19] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V18*/ meltfptr[14] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; /*^compute */ /*_.LET___V7*/ meltfptr[3] = /*_.IFCPP___V18*/ meltfptr[14];; MELT_LOCATION ("warmelt-normatch.melt:1507:/ clear"); /*clear *//*_.PREVTESTSUB__V8*/ meltfptr[4] = 0; /*^clear */ /*clear *//*_.IFCPP___V9*/ meltfptr[8] = 0; /*^clear */ /*clear *//*_.SET_NEW_TESTER_LAST_THEN__V13*/ meltfptr[9] = 0; /*^clear */ /*clear *//*_.IFCPP___V14*/ meltfptr[10] = 0; /*^clear */ /*clear *//*_.IFCPP___V18*/ meltfptr[14] = 0; MELT_LOCATION ("warmelt-normatch.melt:1504:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V7*/ meltfptr[3];; { MELT_LOCATION ("warmelt-normatch.melt:1504:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V3*/ meltfptr[2] = 0; /*^clear */ /*clear *//*_.LET___V7*/ meltfptr[3] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("LAMBDA_", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_34_warmelt_normatch_LAMBDA___11___melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_34_warmelt_normatch_LAMBDA___11__ */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_35_warmelt_normatch_LAMBDA___12__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un * meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un * meltxrestab_) { long current_blocklevel_signals_meltrout_35_warmelt_normatch_LAMBDA___12___melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_35_warmelt_normatch_LAMBDA___12___st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 16 melt_ptr_t mcfr_varptr[16]; #define MELTFRAM_NBVARNUM 5 long mcfr_varnum[5]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_35_warmelt_normatch_LAMBDA___12__ is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_35_warmelt_normatch_LAMBDA___12___st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 16; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_35_warmelt_normatch_LAMBDA___12__ nbval 16*/ meltfram__.mcfr_nbvar = 16 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("LAMBDA_", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normatch.melt:1558:/ getarg"); /*_.CURORVAR__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_LONG) goto lab_endgetargs; /*_#ORIX__L1*/ meltfnum[0] = meltxargtab_[0].meltbp_long; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1559:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L2*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.CURORVAR__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_NORMAL_OR_VARIABLE */ meltfrout->tabval[0])));; MELT_LOCATION ("warmelt-normatch.melt:1559:/ cond"); /*cond */ if ( /*_#IS_A__L2*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V4*/ meltfptr[3] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:1559:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check curorvar"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (1559) ? (1559) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V4*/ meltfptr[3] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V3*/ meltfptr[2] = /*_.IFELSE___V4*/ meltfptr[3];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1559:/ clear"); /*clear *//*_#IS_A__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V4*/ meltfptr[3] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V3*/ meltfptr[2] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:1560:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURORVAR__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NORVAR_LOCSYM"); /*_.ORLOCSY__V6*/ meltfptr[5] = slot; }; ; MELT_LOCATION ("warmelt-normatch.melt:1561:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURORVAR__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "NORVAR_PATVAR"); /*_.PATVAR__V7*/ meltfptr[6] = slot; }; ; MELT_LOCATION ("warmelt-normatch.melt:1562:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.PATVAR__V7*/ meltfptr[6]), (melt_ptr_t) (( /*!CLASS_SOURCE_PATTERN_VARIABLE */ meltfrout->tabval[1]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.PATVAR__V7*/ meltfptr[6]) /*=obj*/ ; melt_object_get_field (slot, obj, 3, "SPATVAR_SYMB"); /*_.ORSYMB__V8*/ meltfptr[7] = slot; }; ; } else { /*^cond.else */ /*_.ORSYMB__V8*/ meltfptr[7] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1564:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#IS_A__L3*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.ORLOCSY__V6*/ meltfptr[5]), (melt_ptr_t) (( /*!CLASS_REFERENCE */ meltfrout-> tabval[2])));; MELT_LOCATION ("warmelt-normatch.melt:1564:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normatch.melt:1565:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.ORLOCSY__V6*/ meltfptr[5]), (melt_ptr_t) (( /*!CLASS_REFERENCE */ meltfrout->tabval[2]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.ORLOCSY__V6*/ meltfptr[5]) /*=obj*/ ; melt_object_get_field (slot, obj, 0, "REFERENCED_VALUE"); /*_.REFERENCED_VALUE__V10*/ meltfptr[9] = slot; }; ; } else { /*^cond.else */ /*_.REFERENCED_VALUE__V10*/ meltfptr[9] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1565:/ compute"); /*_.ORLOCSY__V6*/ meltfptr[5] = /*_.SETQ___V11*/ meltfptr[10] = /*_.REFERENCED_VALUE__V10*/ meltfptr[9];; /*_.IF___V9*/ meltfptr[8] = /*_.SETQ___V11*/ meltfptr[10];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1564:/ clear"); /*clear *//*_.REFERENCED_VALUE__V10*/ meltfptr[9] = 0; /*^clear */ /*clear *//*_.SETQ___V11*/ meltfptr[10] = 0; } ; } else { /*^cond.else */ /*_.IF___V9*/ meltfptr[8] = NULL;; } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1567:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L4*/ meltfnum[3] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1567:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L4*/ meltfnum[3]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L5*/ meltfnum[4] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1567:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L5*/ meltfnum[4]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1567; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_orpat/finalambda orsymb="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.ORSYMB__V8*/ meltfptr[7]; /*^apply.arg */ argtab[5].meltbp_cstring = " orlocsy="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.ORLOCSY__V6*/ meltfptr[5]; /*_.MELT_DEBUG_FUN__V14*/ meltfptr[13] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[3])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V13*/ meltfptr[10] = /*_.MELT_DEBUG_FUN__V14*/ meltfptr[13];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1567:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L5*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V14*/ meltfptr[13] = 0; } ; } else { /*^cond.else */ /*_.IF___V13*/ meltfptr[10] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1567:/ quasiblock"); /*_.PROGN___V15*/ meltfptr[13] = /*_.IF___V13*/ meltfptr[10];; /*^compute */ /*_.IFCPP___V12*/ meltfptr[9] = /*_.PROGN___V15*/ meltfptr[13];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1567:/ clear"); /*clear *//*_#MELT_NEED_DBG__L4*/ meltfnum[3] = 0; /*^clear */ /*clear *//*_.IF___V13*/ meltfptr[10] = 0; /*^clear */ /*clear *//*_.PROGN___V15*/ meltfptr[13] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V12*/ meltfptr[9] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:1568:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.ORLOCSY__V6*/ meltfptr[5];; { MELT_LOCATION ("warmelt-normatch.melt:1568:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*_.LET___V5*/ meltfptr[3] = /*_.RETURN___V16*/ meltfptr[10];; MELT_LOCATION ("warmelt-normatch.melt:1560:/ clear"); /*clear *//*_.ORLOCSY__V6*/ meltfptr[5] = 0; /*^clear */ /*clear *//*_.PATVAR__V7*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.ORSYMB__V8*/ meltfptr[7] = 0; /*^clear */ /*clear *//*_#IS_A__L3*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IF___V9*/ meltfptr[8] = 0; /*^clear */ /*clear *//*_.IFCPP___V12*/ meltfptr[9] = 0; /*^clear */ /*clear *//*_.RETURN___V16*/ meltfptr[10] = 0; MELT_LOCATION ("warmelt-normatch.melt:1558:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V5*/ meltfptr[3];; { MELT_LOCATION ("warmelt-normatch.melt:1558:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V3*/ meltfptr[2] = 0; /*^clear */ /*clear *//*_.LET___V5*/ meltfptr[3] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("LAMBDA_", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_35_warmelt_normatch_LAMBDA___12___melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_35_warmelt_normatch_LAMBDA___12__ */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_36_warmelt_normatch_NORMPAT_ANYMATCHPAT (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un * meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un * meltxrestab_) { long current_blocklevel_signals_meltrout_36_warmelt_normatch_NORMPAT_ANYMATCHPAT_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_36_warmelt_normatch_NORMPAT_ANYMATCHPAT_st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 202 melt_ptr_t mcfr_varptr[202]; #define MELTFRAM_NBVARNUM 69 long mcfr_varnum[69]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_36_warmelt_normatch_NORMPAT_ANYMATCHPAT is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_36_warmelt_normatch_NORMPAT_ANYMATCHPAT_st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 202; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_36_warmelt_normatch_NORMPAT_ANYMATCHPAT nbval 202*/ meltfram__.mcfr_nbvar = 202 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("NORMPAT_ANYMATCHPAT", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normatch.melt:1591:/ getarg"); /*_.RECV__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.NMATCH__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.NMATCH__V3*/ meltfptr[2])) != NULL); /*getarg#2 */ /*^getarg */ if (meltxargdescr_[1] != MELTBPAR_PTR) goto lab_endgetargs; /*_.HDLER__V4*/ meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.HDLER__V4*/ meltfptr[3])) != NULL); /*getarg#3 */ /*^getarg */ if (meltxargdescr_[2] != MELTBPAR_PTR) goto lab_endgetargs; /*_.PCN__V5*/ meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1592:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1592:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1592:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[9]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1592; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_anymatchpat recv="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.RECV__V2*/ meltfptr[1]; /*^apply.arg */ argtab[5].meltbp_cstring = " nmatch="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.NMATCH__V3*/ meltfptr[2]; /*^apply.arg */ argtab[7].meltbp_cstring = " pcn="; /*^apply.arg */ argtab[8].meltbp_aptr = (melt_ptr_t *) & /*_.PCN__V5*/ meltfptr[4]; /*_.MELT_DEBUG_FUN__V8*/ 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 MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V7*/ meltfptr[6] = /*_.MELT_DEBUG_FUN__V8*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1592:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V8*/ meltfptr[7] = 0; } ; } else { /*^cond.else */ /*_.IF___V7*/ meltfptr[6] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1592:/ quasiblock"); /*_.PROGN___V9*/ meltfptr[7] = /*_.IF___V7*/ meltfptr[6];; /*^compute */ /*_.IFCPP___V6*/ meltfptr[5] = /*_.PROGN___V9*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1592:/ clear"); /*clear *//*_#MELT_NEED_DBG__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V7*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.PROGN___V9*/ meltfptr[7] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V6*/ meltfptr[5] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1594:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L3*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]), (melt_ptr_t) (( /*!CLASS_PATTERN_CONTEXT */ meltfrout->tabval[1])));; MELT_LOCATION ("warmelt-normatch.melt:1594:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V11*/ meltfptr[7] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:1594:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check pcn"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (1594) ? (1594) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V11*/ meltfptr[7] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[6] = /*_.IFELSE___V11*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1594:/ clear"); /*clear *//*_#IS_A__L3*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V11*/ meltfptr[7] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V10*/ meltfptr[6] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1595:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L4*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_SOURCE_PATTERN_MATCHER */ meltfrout->tabval[2])));; MELT_LOCATION ("warmelt-normatch.melt:1595:/ cond"); /*cond */ if ( /*_#IS_A__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V13*/ meltfptr[12] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:1595:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check recv"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (1595) ? (1595) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V13*/ meltfptr[12] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V12*/ meltfptr[7] = /*_.IFELSE___V13*/ meltfptr[12];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1595:/ clear"); /*clear *//*_#IS_A__L4*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V13*/ meltfptr[12] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V12*/ meltfptr[7] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; { MELT_LOCATION ("warmelt-normatch.melt:1596:/ locexp"); #if MELT_HAVE_DEBUG if (melt_need_debug (0)) melt_dbgshortbacktrace (("normpat_anymatchpat start"), (14)); #endif ; } ; MELT_LOCATION ("warmelt-normatch.melt:1597:/ quasiblock"); MELT_LOCATION ("warmelt-normatch.melt:1598:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_LOCATED */ meltfrout->tabval[3]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "LOCA_LOCATION"); /*_.SLOC__V14*/ meltfptr[12] = slot; }; ; } else { /*^cond.else */ /*_.SLOC__V14*/ meltfptr[12] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1599:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_SOURCE_PATTERN_COMPOSITE */ meltfrout->tabval[4]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 5, "SPAC_OPERATOR"); /*_.MAT__V15*/ meltfptr[14] = slot; }; ; } else { /*^cond.else */ /*_.MAT__V15*/ meltfptr[14] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1600:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_SOURCE_PATTERN_COMPOSITE */ meltfrout->tabval[4]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 6, "SPAC_OPERBIND"); /*_.MATOPBIND__V16*/ meltfptr[15] = slot; }; ; } else { /*^cond.else */ /*_.MATOPBIND__V16*/ meltfptr[15] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1601:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_SOURCE_PATTERN_COMPOSITE */ meltfrout->tabval[4]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 7, "SPAC_INARGS"); /*_.INARGS__V17*/ meltfptr[16] = slot; }; ; } else { /*^cond.else */ /*_.INARGS__V17*/ meltfptr[16] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1602:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_SOURCE_PATTERN_COMPOSITE */ meltfrout->tabval[4]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 8, "SPAC_OUTARGS"); /*_.OUTARGS__V18*/ meltfptr[17] = slot; }; ; } else { /*^cond.else */ /*_.OUTARGS__V18*/ meltfptr[17] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1603:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "PCTN_ENV"); /*_.ENV__V19*/ meltfptr[18] = slot; }; ; /*_.OLDENV__V20*/ meltfptr[19] = /*_.ENV__V19*/ meltfptr[18];; MELT_LOCATION ("warmelt-normatch.melt:1605:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]) /*=obj*/ ; melt_object_get_field (slot, obj, 0, "PCTN_NORMCTXT"); /*_.NCX__V21*/ meltfptr[20] = slot; }; ; MELT_LOCATION ("warmelt-normatch.melt:1606:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]) /*=obj*/ ; melt_object_get_field (slot, obj, 6, "PCTN_BINDLIST"); /*_.BINDLIST__V22*/ meltfptr[21] = slot; }; ; MELT_LOCATION ("warmelt-normatch.melt:1607:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]) /*=obj*/ ; melt_object_get_field (slot, obj, 7, "PCTN_STUFFMAP"); /*_.STUFFMAP__V23*/ meltfptr[22] = slot; }; ; MELT_LOCATION ("warmelt-normatch.melt:1608:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^msend */ /*msend */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^ojbmsend.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.ENV__V19*/ meltfptr[18]; /*_.MATCHCTYPE__V24*/ meltfptr[23] = meltgc_send ((melt_ptr_t) ( /*_.NMATCH__V3*/ meltfptr[2]), (melt_ptr_t) (( /*!GET_CTYPE */ meltfrout->tabval[5])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normatch.melt:1609:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]), (melt_ptr_t) (( /*!CLASS_PATTERN_CONTEXT */ meltfrout->tabval[1]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]) /*=obj*/ ; melt_object_get_field (slot, obj, 9, "PCTN_TESTS"); /*_.TESTLIST__V25*/ meltfptr[24] = slot; }; ; } else { /*^cond.else */ /*_.TESTLIST__V25*/ meltfptr[24] = NULL;; } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1611:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L5*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.MAT__V15*/ meltfptr[14]), (melt_ptr_t) (( /*!CLASS_ANY_MATCHER */ meltfrout->tabval[6])));; MELT_LOCATION ("warmelt-normatch.melt:1611:/ cond"); /*cond */ if ( /*_#IS_A__L5*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V27*/ meltfptr[26] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:1611:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check mat"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (1611) ? (1611) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V27*/ meltfptr[26] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V26*/ meltfptr[25] = /*_.IFELSE___V27*/ meltfptr[26];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1611:/ clear"); /*clear *//*_#IS_A__L5*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V27*/ meltfptr[26] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V26*/ meltfptr[25] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1612:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L6*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.MATOPBIND__V16*/ meltfptr[15]), (melt_ptr_t) (( /*!CLASS_ANY_BINDING */ meltfrout->tabval[7])));; MELT_LOCATION ("warmelt-normatch.melt:1612:/ cond"); /*cond */ if ( /*_#IS_A__L6*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V29*/ meltfptr[28] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:1612:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check matopbind"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (1612) ? (1612) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V29*/ meltfptr[28] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V28*/ meltfptr[26] = /*_.IFELSE___V29*/ meltfptr[28];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1612:/ clear"); /*clear *//*_#IS_A__L6*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V29*/ meltfptr[28] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V28*/ meltfptr[26] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1613:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L7*/ meltfnum[1] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1613:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L7*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L8*/ meltfnum[0] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1613:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[9]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L8*/ meltfnum[0]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1613; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_anymatchpat inargs="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.INARGS__V17*/ meltfptr[16]; /*^apply.arg */ argtab[5].meltbp_cstring = " mat="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.MAT__V15*/ meltfptr[14]; /*^apply.arg */ argtab[7].meltbp_cstring = " matopbind="; /*^apply.arg */ argtab[8].meltbp_aptr = (melt_ptr_t *) & /*_.MATOPBIND__V16*/ meltfptr[15]; /*_.MELT_DEBUG_FUN__V32*/ 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 MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V31*/ meltfptr[30] = /*_.MELT_DEBUG_FUN__V32*/ meltfptr[31];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1613:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L8*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V32*/ meltfptr[31] = 0; } ; } else { /*^cond.else */ /*_.IF___V31*/ meltfptr[30] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1613:/ quasiblock"); /*_.PROGN___V33*/ meltfptr[31] = /*_.IF___V31*/ meltfptr[30];; /*^compute */ /*_.IFCPP___V30*/ meltfptr[28] = /*_.PROGN___V33*/ meltfptr[31];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1613:/ clear"); /*clear *//*_#MELT_NEED_DBG__L7*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IF___V31*/ meltfptr[30] = 0; /*^clear */ /*clear *//*_.PROGN___V33*/ meltfptr[31] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V30*/ meltfptr[28] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:1615:/ quasiblock"); MELT_LOCATION ("warmelt-normatch.melt:1616:/ quasiblock"); /*^cond */ /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.MATOPBIND__V16*/ meltfptr[15]), (melt_ptr_t) (( /*!CLASS_ANY_BINDING */ meltfrout->tabval[7]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.MATOPBIND__V16*/ meltfptr[15]) /*=obj*/ ; melt_object_get_field (slot, obj, 0, "BINDER"); /*_.MV__V36*/ meltfptr[35] = slot; }; ; } else { /*^cond.else */ /*_.MV__V36*/ meltfptr[35] = NULL;; } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1617:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L9*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1617:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L9*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L10*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1617:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L10*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1617; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_anymatchpat matvar"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.MV__V36*/ meltfptr[35]; /*_.MELT_DEBUG_FUN__V39*/ meltfptr[38] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V38*/ meltfptr[37] = /*_.MELT_DEBUG_FUN__V39*/ meltfptr[38];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1617:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L10*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V39*/ meltfptr[38] = 0; } ; } else { /*^cond.else */ /*_.IF___V38*/ meltfptr[37] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1617:/ quasiblock"); /*_.PROGN___V40*/ meltfptr[38] = /*_.IF___V38*/ meltfptr[37];; /*^compute */ /*_.IFCPP___V37*/ meltfptr[36] = /*_.PROGN___V40*/ meltfptr[38];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1617:/ clear"); /*clear *//*_#MELT_NEED_DBG__L9*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V38*/ meltfptr[37] = 0; /*^clear */ /*clear *//*_.PROGN___V40*/ meltfptr[38] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V37*/ meltfptr[36] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1618:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normatch.melt:1619:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.MV__V36*/ meltfptr[35]; /*_.FIND_ENV__V42*/ meltfptr[38] = melt_apply ((meltclosure_ptr_t) (( /*!FIND_ENV */ meltfrout->tabval[8])), (melt_ptr_t) ( /*_.ENV__V19*/ meltfptr[18]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_#__L11*/ meltfnum[1] = (( /*_.FIND_ENV__V42*/ meltfptr[38]) == ( /*_.MATOPBIND__V16*/ meltfptr[15]));; MELT_LOCATION ("warmelt-normatch.melt:1618:/ cond"); /*cond */ if ( /*_#__L11*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V43*/ meltfptr[42] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:1618:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check matvar\'s binding"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (1618) ? (1618) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V43*/ meltfptr[42] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V41*/ meltfptr[37] = /*_.IFELSE___V43*/ meltfptr[42];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1618:/ clear"); /*clear *//*_.FIND_ENV__V42*/ meltfptr[38] = 0; /*^clear */ /*clear *//*_#__L11*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V43*/ meltfptr[42] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V41*/ meltfptr[37] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; /*^compute */ /*_.LET___V35*/ meltfptr[31] = /*_.MV__V36*/ meltfptr[35];; MELT_LOCATION ("warmelt-normatch.melt:1616:/ clear"); /*clear *//*_.MV__V36*/ meltfptr[35] = 0; /*^clear */ /*clear *//*_.IFCPP___V37*/ meltfptr[36] = 0; /*^clear */ /*clear *//*_.IFCPP___V41*/ meltfptr[37] = 0; /*_.MATVAR__V44*/ meltfptr[38] = /*_.LET___V35*/ meltfptr[31];; MELT_LOCATION ("warmelt-normatch.melt:1624:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^msend */ /*msend */ { union meltparam_un argtab[3]; memset (&argtab, 0, sizeof (argtab)); /*^ojbmsend.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.ENV__V19*/ meltfptr[18]; /*^ojbmsend.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.NCX__V21*/ meltfptr[20]; /*^ojbmsend.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & /*_.SLOC__V14*/ meltfptr[12]; /*_.MATNDATA__V45*/ meltfptr[42] = meltgc_send ((melt_ptr_t) ( /*_.MATVAR__V44*/ meltfptr[38]), (melt_ptr_t) (( /*!NORMAL_EXP */ meltfrout->tabval[9])), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1626:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L12*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1626:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L12*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L13*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1626:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L13*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1626; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_anymatchpat matndata"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.MATNDATA__V45*/ meltfptr[42]; /*_.MELT_DEBUG_FUN__V48*/ 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); } ; /*_.IF___V47*/ meltfptr[36] = /*_.MELT_DEBUG_FUN__V48*/ meltfptr[37];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1626:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L13*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V48*/ meltfptr[37] = 0; } ; } else { /*^cond.else */ /*_.IF___V47*/ meltfptr[36] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1626:/ quasiblock"); /*_.PROGN___V49*/ meltfptr[37] = /*_.IF___V47*/ meltfptr[36];; /*^compute */ /*_.IFCPP___V46*/ meltfptr[35] = /*_.PROGN___V49*/ meltfptr[37];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1626:/ clear"); /*clear *//*_#MELT_NEED_DBG__L12*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V47*/ meltfptr[36] = 0; /*^clear */ /*clear *//*_.PROGN___V49*/ meltfptr[37] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V46*/ meltfptr[35] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:1629:/ checksignal"); MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normatch.melt:1627:/ quasiblock"); /*^multiapply */ /*multiapply 4args, 1x.res */ { union meltparam_un argtab[3]; union meltparam_un restab[1]; memset (&restab, 0, sizeof (restab)); memset (&argtab, 0, sizeof (argtab)); /*^multiapply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.ENV__V19*/ meltfptr[18]; /*^multiapply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.NCX__V21*/ meltfptr[20]; /*^multiapply.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & /*_.SLOC__V14*/ meltfptr[12]; /*^multiapply.xres */ restab[0].meltbp_aptr = (melt_ptr_t *) & /*_.BINDINS__V52*/ meltfptr[51]; /*^multiapply.appl */ /*_.NINS__V51*/ meltfptr[37] = melt_apply ((meltclosure_ptr_t) (( /*!NORMALIZE_TUPLE */ meltfrout->tabval[10])), (melt_ptr_t) ( /*_.INARGS__V17*/ meltfptr[16]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, (MELTBPARSTR_PTR ""), restab); } ; /*^quasiblock */ #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1630:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L14*/ meltfnum[1] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1630:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L14*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L15*/ meltfnum[0] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1630:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L15*/ meltfnum[0]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1630; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_anymatchpat nins="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NINS__V51*/ meltfptr[37]; /*^apply.arg */ argtab[5].meltbp_cstring = " bindins="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.BINDINS__V52*/ meltfptr[51]; /*_.MELT_DEBUG_FUN__V55*/ meltfptr[54] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V54*/ meltfptr[53] = /*_.MELT_DEBUG_FUN__V55*/ meltfptr[54];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1630:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L15*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V55*/ meltfptr[54] = 0; } ; } else { /*^cond.else */ /*_.IF___V54*/ meltfptr[53] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1630:/ quasiblock"); /*_.PROGN___V56*/ meltfptr[54] = /*_.IF___V54*/ meltfptr[53];; /*^compute */ /*_.IFCPP___V53*/ meltfptr[52] = /*_.PROGN___V56*/ meltfptr[54];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1630:/ clear"); /*clear *//*_#MELT_NEED_DBG__L14*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IF___V54*/ meltfptr[53] = 0; /*^clear */ /*clear *//*_.PROGN___V56*/ meltfptr[54] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V53*/ meltfptr[52] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:1631:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^cond */ /*cond */ if ( /*_.BINDINS__V52*/ meltfptr[51]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.BINDINS__V52*/ meltfptr[51]; /*_.LIST_APPEND2LIST__V58*/ meltfptr[54] = melt_apply ((meltclosure_ptr_t) (( /*!LIST_APPEND2LIST */ meltfrout->tabval[11])), (melt_ptr_t) ( /*_.BINDLIST__V22*/ meltfptr[21]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V57*/ meltfptr[53] = /*_.LIST_APPEND2LIST__V58*/ meltfptr[54];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1631:/ clear"); /*clear *//*_.LIST_APPEND2LIST__V58*/ meltfptr[54] = 0; } ; } else { /*^cond.else */ /*_.IF___V57*/ meltfptr[53] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1632:/ quasiblock"); MELT_LOCATION ("warmelt-normatch.melt:1633:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.MAT__V15*/ meltfptr[14]), (melt_ptr_t) (( /*!CLASS_ANY_MATCHER */ meltfrout->tabval[6]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.MAT__V15*/ meltfptr[14]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "AMATCH_IN"); /*_.INMATCHS__V60*/ meltfptr[59] = slot; }; ; } else { /*^cond.else */ /*_.INMATCHS__V60*/ meltfptr[59] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1634:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.MAT__V15*/ meltfptr[14]), (melt_ptr_t) (( /*!CLASS_ANY_MATCHER */ meltfrout->tabval[6]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.MAT__V15*/ meltfptr[14]) /*=obj*/ ; melt_object_get_field (slot, obj, 4, "AMATCH_OUT"); /*_.OUTMATCHS__V61*/ meltfptr[60] = slot; }; ; } else { /*^cond.else */ /*_.OUTMATCHS__V61*/ meltfptr[60] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1635:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.MAT__V15*/ meltfptr[14]), (melt_ptr_t) (( /*!CLASS_ANY_MATCHER */ meltfrout->tabval[6]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.MAT__V15*/ meltfptr[14]) /*=obj*/ ; melt_object_get_field (slot, obj, 3, "AMATCH_MATCHBIND"); /*_.MATBIND__V62*/ meltfptr[61] = slot; }; ; } else { /*^cond.else */ /*_.MATBIND__V62*/ meltfptr[61] = NULL;; } ; /*^compute */ /*_.OUTBINDS__V63*/ meltfptr[62] = ( /*nil */ NULL);; /*^compute */ /*_.TESTER__V64*/ meltfptr[63] = ( /*nil */ NULL);; MELT_LOCATION ("warmelt-normatch.melt:1640:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^cond */ /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.MATBIND__V62*/ meltfptr[61]), (melt_ptr_t) (( /*!CLASS_FORMAL_BINDING */ meltfrout->tabval[12]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.MATBIND__V62*/ meltfptr[61]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "FBIND_TYPE"); /*_.FBIND_TYPE__V65*/ meltfptr[64] = slot; }; ; } else { /*^cond.else */ /*_.FBIND_TYPE__V65*/ meltfptr[64] = NULL;; } ; /*^compute */ /*_#__L16*/ meltfnum[0] = (( /*_.MATCHCTYPE__V24*/ meltfptr[23]) != ( /*_.FBIND_TYPE__V65*/ meltfptr[64]));; MELT_LOCATION ("warmelt-normatch.melt:1640:/ cond"); /*cond */ if ( /*_#__L16*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normatch.melt:1642:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.MATCHCTYPE__V24*/ meltfptr[23]), (melt_ptr_t) (( /*!CLASS_NAMED */ meltfrout->tabval[13]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.MATCHCTYPE__V24*/ meltfptr[23]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V66*/ meltfptr[65] = slot; }; ; } else { /*^cond.else */ /*_.NAMED_NAME__V66*/ meltfptr[65] = NULL;; } ; { MELT_LOCATION ("warmelt-normatch.melt:1642:/ locexp"); melt_error_str ((melt_ptr_t) ( /*_.SLOC__V14*/ meltfptr[12]), ("unexpected matched type"), (melt_ptr_t) ( /*_.NAMED_NAME__V66*/ meltfptr[65])); } ; MELT_LOCATION ("warmelt-normatch.melt:1643:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.MATBIND__V62*/ meltfptr[61]), (melt_ptr_t) (( /*!CLASS_FORMAL_BINDING */ meltfrout->tabval[12]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.MATBIND__V62*/ meltfptr[61]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "FBIND_TYPE"); /*_.FBIND_TYPE__V67*/ meltfptr[66] = slot; }; ; } else { /*^cond.else */ /*_.FBIND_TYPE__V67*/ meltfptr[66] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1643:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.FBIND_TYPE__V67*/ meltfptr[66]), (melt_ptr_t) (( /*!CLASS_NAMED */ meltfrout->tabval[13]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.FBIND_TYPE__V67*/ meltfptr[66]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V68*/ meltfptr[67] = slot; }; ; } else { /*^cond.else */ /*_.NAMED_NAME__V68*/ meltfptr[67] = NULL;; } ; { MELT_LOCATION ("warmelt-normatch.melt:1643:/ locexp"); melt_inform_str ((melt_ptr_t) ( /*_.SLOC__V14*/ meltfptr[12]), ("expecting type in matcher"), (melt_ptr_t) ( /*_.NAMED_NAME__V68*/ meltfptr[67])); } ; MELT_LOCATION ("warmelt-normatch.melt:1641:/ quasiblock"); /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1640:/ clear"); /*clear *//*_.NAMED_NAME__V66*/ meltfptr[65] = 0; /*^clear */ /*clear *//*_.FBIND_TYPE__V67*/ meltfptr[66] = 0; /*^clear */ /*clear *//*_.NAMED_NAME__V68*/ meltfptr[67] = 0; } ; } /*noelse */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1645:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L17*/ meltfnum[1] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1645:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L17*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L18*/ meltfnum[17] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1645:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L18*/ meltfnum[17]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1645; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_anymatchpat inargs="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.INARGS__V17*/ meltfptr[16]; /*^apply.arg */ argtab[5].meltbp_cstring = "inmatchs="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.INMATCHS__V60*/ meltfptr[59]; /*_.MELT_DEBUG_FUN__V71*/ meltfptr[67] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V70*/ meltfptr[66] = /*_.MELT_DEBUG_FUN__V71*/ meltfptr[67];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1645:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L18*/ meltfnum[17] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V71*/ meltfptr[67] = 0; } ; } else { /*^cond.else */ /*_.IF___V70*/ meltfptr[66] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1645:/ quasiblock"); /*_.PROGN___V72*/ meltfptr[67] = /*_.IF___V70*/ meltfptr[66];; /*^compute */ /*_.IFCPP___V69*/ meltfptr[65] = /*_.PROGN___V72*/ meltfptr[67];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1645:/ clear"); /*clear *//*_#MELT_NEED_DBG__L17*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IF___V70*/ meltfptr[66] = 0; /*^clear */ /*clear *//*_.PROGN___V72*/ meltfptr[67] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V69*/ meltfptr[65] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:1646:/ quasiblock"); /*_#NBINARGS__L19*/ meltfnum[17] = (melt_multiple_length ((melt_ptr_t) ( /*_.INARGS__V17*/ meltfptr[16])));; MELT_LOCATION ("warmelt-normatch.melt:1647:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#MULTIPLE_LENGTH__L20*/ meltfnum[1] = (melt_multiple_length ((melt_ptr_t) ( /*_.INMATCHS__V60*/ meltfptr[59])));; /*^compute */ /*_#I__L21*/ meltfnum[20] = (( /*_#NBINARGS__L19*/ meltfnum[17]) != ( /*_#MULTIPLE_LENGTH__L20*/ meltfnum[1]));; MELT_LOCATION ("warmelt-normatch.melt:1647:/ cond"); /*cond */ if ( /*_#I__L21*/ meltfnum[20]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normatch.melt:1651:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.MAT__V15*/ meltfptr[14]), (melt_ptr_t) (( /*!CLASS_NAMED */ meltfrout->tabval[13]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.MAT__V15*/ meltfptr[14]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V73*/ meltfptr[66] = slot; }; ; } else { /*^cond.else */ /*_.NAMED_NAME__V73*/ meltfptr[66] = NULL;; } ; { MELT_LOCATION ("warmelt-normatch.melt:1648:/ locexp"); melt_error_str ((melt_ptr_t) ( /*_.SLOC__V14*/ meltfptr[12]), ("formal and actual number of input matching arguments differ for anymatch"), (melt_ptr_t) ( /*_.NAMED_NAME__V73*/ meltfptr[66])); } ; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1647:/ clear"); /*clear *//*_.NAMED_NAME__V73*/ meltfptr[66] = 0; } ; } /*noelse */ ; MELT_LOCATION ("warmelt-normatch.melt:1652:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#I__L22*/ meltfnum[21] = (( /*_#NBINARGS__L19*/ meltfnum[17]) > (0));; MELT_LOCATION ("warmelt-normatch.melt:1652:/ cond"); /*cond */ if ( /*_#I__L22*/ meltfnum[21]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normatch.melt:1653:/ quasiblock"); /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { /*_.NEWENV__V74*/ meltfptr[67] = melt_apply ((meltclosure_ptr_t) (( /*!FRESH_ENV */ meltfrout->tabval[14])), (melt_ptr_t) ( /*_.ENV__V19*/ meltfptr[18]), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; /*citerblock FOREACH_IN_MULTIPLE */ { /* start foreach_in_multiple meltcit1__EACHTUP */ long meltcit1__EACHTUP_ln = melt_multiple_length ((melt_ptr_t) /*_.NINS__V51*/ meltfptr[37]); for ( /*_#IX__L23*/ meltfnum[22] = 0; ( /*_#IX__L23*/ meltfnum[22] >= 0) && ( /*_#IX__L23*/ meltfnum[22] < meltcit1__EACHTUP_ln); /*_#IX__L23*/ meltfnum[22]++) { /*_.NCURIN__V75*/ meltfptr[66] = melt_multiple_nth ((melt_ptr_t) ( /*_.NINS__V51*/ meltfptr[37]), /*_#IX__L23*/ meltfnum[22]); #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1657:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L24*/ meltfnum[23] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1657:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L24*/ meltfnum[23]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L25*/ meltfnum[24] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1657:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L25*/ meltfnum[24]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1657; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_anymatchpat ncurin"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NCURIN__V75*/ meltfptr[66]; /*_.MELT_DEBUG_FUN__V78*/ 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_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V77*/ meltfptr[76] = /*_.MELT_DEBUG_FUN__V78*/ meltfptr[77];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1657:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L25*/ meltfnum[24] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V78*/ meltfptr[77] = 0; } ; } else { /*^cond.else */ /*_.IF___V77*/ meltfptr[76] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1657:/ quasiblock"); /*_.PROGN___V79*/ meltfptr[77] = /*_.IF___V77*/ meltfptr[76];; /*^compute */ /*_.IFCPP___V76*/ meltfptr[75] = /*_.PROGN___V79*/ meltfptr[77];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1657:/ clear"); /*clear *//*_#MELT_NEED_DBG__L24*/ meltfnum[23] = 0; /*^clear */ /*clear *//*_.IF___V77*/ meltfptr[76] = 0; /*^clear */ /*clear *//*_.PROGN___V79*/ meltfptr[77] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V76*/ meltfptr[75] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:1658:/ quasiblock"); /*_.CURMATCH__V81*/ meltfptr[77] = (melt_multiple_nth ((melt_ptr_t) ( /*_.INMATCHS__V60*/ meltfptr[59]), ( /*_#IX__L23*/ meltfnum[22])));; MELT_LOCATION ("warmelt-normatch.melt:1659:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^msend */ /*msend */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^ojbmsend.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.ENV__V19*/ meltfptr[18]; /*_.CURCTYPE__V82*/ meltfptr[81] = meltgc_send ((melt_ptr_t) ( /*_.NCURIN__V75*/ meltfptr[66]), (melt_ptr_t) (( /*!GET_CTYPE */ meltfrout-> tabval[5])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normatch.melt:1660:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURMATCH__V81*/ meltfptr[77]), (melt_ptr_t) (( /*!CLASS_FORMAL_BINDING */ meltfrout->tabval[12]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURMATCH__V81*/ meltfptr[77]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "FBIND_TYPE"); /*_.MATCHTYPE__V83*/ meltfptr[82] = slot; }; ; } else { /*^cond.else */ /*_.MATCHTYPE__V83*/ meltfptr[82] = NULL;; } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1662:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L26*/ meltfnum[24] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1662:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L26*/ meltfnum[24]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L27*/ meltfnum[23] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1662:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L27*/ meltfnum[23]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1662; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_anymatchpat curmatch"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CURMATCH__V81*/ meltfptr[77]; /*_.MELT_DEBUG_FUN__V86*/ meltfptr[85] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V85*/ meltfptr[84] = /*_.MELT_DEBUG_FUN__V86*/ meltfptr[85];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1662:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L27*/ meltfnum[23] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V86*/ meltfptr[85] = 0; } ; } else { /*^cond.else */ /*_.IF___V85*/ meltfptr[84] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1662:/ quasiblock"); /*_.PROGN___V87*/ meltfptr[85] = /*_.IF___V85*/ meltfptr[84];; /*^compute */ /*_.IFCPP___V84*/ meltfptr[83] = /*_.PROGN___V87*/ meltfptr[85];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1662:/ clear"); /*clear *//*_#MELT_NEED_DBG__L26*/ meltfnum[24] = 0; /*^clear */ /*clear *//*_.IF___V85*/ meltfptr[84] = 0; /*^clear */ /*clear *//*_.PROGN___V87*/ meltfptr[85] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V84*/ meltfptr[83] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1663:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L28*/ meltfnum[23] = melt_is_instance_of ((melt_ptr_t) ( /*_.CURMATCH__V81*/ meltfptr[77]), (melt_ptr_t) (( /*!CLASS_FORMAL_BINDING */ meltfrout->tabval[12])));; MELT_LOCATION ("warmelt-normatch.melt:1663:/ cond"); /*cond */ if ( /*_#IS_A__L28*/ meltfnum[23]) /*then */ { /*^cond.then */ /*_.IFELSE___V89*/ meltfptr[85] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:1663:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check curmatch"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (1663) ? (1663) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V89*/ meltfptr[85] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V88*/ meltfptr[84] = /*_.IFELSE___V89*/ meltfptr[85];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1663:/ clear"); /*clear *//*_#IS_A__L28*/ meltfnum[23] = 0; /*^clear */ /*clear *//*_.IFELSE___V89*/ meltfptr[85] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V88*/ meltfptr[84] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1665:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L29*/ meltfnum[24] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1665:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L29*/ meltfnum[24]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L30*/ meltfnum[23] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1665:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L30*/ meltfnum[23]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1665; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_anymatchpat curctype="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CURCTYPE__V82*/ meltfptr[81]; /*^apply.arg */ argtab[5].meltbp_cstring = " matchtype="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.MATCHTYPE__V83*/ meltfptr[82]; /*_.MELT_DEBUG_FUN__V92*/ meltfptr[91] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V91*/ meltfptr[90] = /*_.MELT_DEBUG_FUN__V92*/ meltfptr[91];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1665:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L30*/ meltfnum[23] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V92*/ meltfptr[91] = 0; } ; } else { /*^cond.else */ /*_.IF___V91*/ meltfptr[90] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1665:/ quasiblock"); /*_.PROGN___V93*/ meltfptr[91] = /*_.IF___V91*/ meltfptr[90];; /*^compute */ /*_.IFCPP___V90*/ meltfptr[85] = /*_.PROGN___V93*/ meltfptr[91];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1665:/ clear"); /*clear *//*_#MELT_NEED_DBG__L29*/ meltfnum[24] = 0; /*^clear */ /*clear *//*_.IF___V91*/ meltfptr[90] = 0; /*^clear */ /*clear *//*_.PROGN___V93*/ meltfptr[91] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V90*/ meltfptr[85] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:1666:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#__L31*/ meltfnum[23] = (( /*_.CURCTYPE__V82*/ meltfptr[81]) != ( /*_.MATCHTYPE__V83*/ meltfptr[82]));; MELT_LOCATION ("warmelt-normatch.melt:1666:/ cond"); /*cond */ if ( /*_#__L31*/ meltfnum[23]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normatch.melt:1670:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.MAT__V15*/ meltfptr[14]), (melt_ptr_t) (( /*!CLASS_NAMED */ meltfrout->tabval[13]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.MAT__V15*/ meltfptr[14]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V95*/ meltfptr[91] = slot; }; ; } else { /*^cond.else */ /*_.NAMED_NAME__V95*/ meltfptr[91] = NULL;; } ; { MELT_LOCATION ("warmelt-normatch.melt:1668:/ locexp"); melt_error_str ((melt_ptr_t) ( /*_.SLOC__V14*/ meltfptr[12]), ("type mismatch for match argument in matcher"), (melt_ptr_t) ( /*_.NAMED_NAME__V95*/ meltfptr[91])); } ; MELT_LOCATION ("warmelt-normatch.melt:1673:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURMATCH__V81*/ meltfptr[77]), (melt_ptr_t) (( /*!CLASS_ANY_BINDING */ meltfrout->tabval[7]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURMATCH__V81*/ meltfptr[77]) /*=obj*/ ; melt_object_get_field (slot, obj, 0, "BINDER"); /*_.BINDER__V96*/ meltfptr[95] = slot; }; ; } else { /*^cond.else */ /*_.BINDER__V96*/ meltfptr[95] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1673:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.BINDER__V96*/ meltfptr[95]), (melt_ptr_t) (( /*!CLASS_NAMED */ meltfrout->tabval[13]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.BINDER__V96*/ meltfptr[95]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V97*/ meltfptr[96] = slot; }; ; } else { /*^cond.else */ /*_.NAMED_NAME__V97*/ meltfptr[96] = NULL;; } ; { MELT_LOCATION ("warmelt-normatch.melt:1671:/ locexp"); melt_inform_str ((melt_ptr_t) ( /*_.SLOC__V14*/ meltfptr[12]), ("mismatched formal name in matcher is"), (melt_ptr_t) ( /*_.NAMED_NAME__V97*/ meltfptr[96])); } ; MELT_LOCATION ("warmelt-normatch.melt:1676:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURCTYPE__V82*/ meltfptr[81]), (melt_ptr_t) (( /*!CLASS_NAMED */ meltfrout->tabval[13]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURCTYPE__V82*/ meltfptr[81]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V98*/ meltfptr[97] = slot; }; ; } else { /*^cond.else */ /*_.NAMED_NAME__V98*/ meltfptr[97] = NULL;; } ; { MELT_LOCATION ("warmelt-normatch.melt:1674:/ locexp"); melt_inform_str ((melt_ptr_t) ( /*_.SLOC__V14*/ meltfptr[12]), ("mismatched input type is"), (melt_ptr_t) ( /*_.NAMED_NAME__V98*/ meltfptr[97])); } ; MELT_LOCATION ("warmelt-normatch.melt:1679:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.MATCHTYPE__V83*/ meltfptr[82]), (melt_ptr_t) (( /*!CLASS_NAMED */ meltfrout->tabval[13]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.MATCHTYPE__V83*/ meltfptr[82]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V99*/ meltfptr[98] = slot; }; ; } else { /*^cond.else */ /*_.NAMED_NAME__V99*/ meltfptr[98] = NULL;; } ; { MELT_LOCATION ("warmelt-normatch.melt:1677:/ locexp"); melt_inform_str ((melt_ptr_t) ( /*_.SLOC__V14*/ meltfptr[12]), ("expected match type is"), (melt_ptr_t) ( /*_.NAMED_NAME__V99*/ meltfptr[98])); } ; MELT_LOCATION ("warmelt-normatch.melt:1667:/ quasiblock"); /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1666:/ clear"); /*clear *//*_.NAMED_NAME__V95*/ meltfptr[91] = 0; /*^clear */ /*clear *//*_.BINDER__V96*/ meltfptr[95] = 0; /*^clear */ /*clear *//*_.NAMED_NAME__V97*/ meltfptr[96] = 0; /*^clear */ /*clear *//*_.NAMED_NAME__V98*/ meltfptr[97] = 0; /*^clear */ /*clear *//*_.NAMED_NAME__V99*/ meltfptr[98] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normatch.melt:1681:/ quasiblock"); /*^checksignal */ MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normatch.melt:1683:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURMATCH__V81*/ meltfptr[77]), (melt_ptr_t) (( /*!CLASS_ANY_BINDING */ meltfrout->tabval[7]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURMATCH__V81*/ meltfptr[77]) /*=obj*/ ; melt_object_get_field (slot, obj, 0, "BINDER"); /*_.BINDER__V101*/ meltfptr[95] = slot; }; ; } else { /*^cond.else */ /*_.BINDER__V101*/ meltfptr[95] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1681:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NORMAL_LET_BINDING */ meltfrout->tabval[15])), (4), "CLASS_NORMAL_LET_BINDING"); /*_.INST__V103*/ meltfptr[97] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V103*/ meltfptr[97])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V103*/ meltfptr[97]), (3), ( /*_.SLOC__V14*/ meltfptr[12]), "LETBIND_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @BINDER", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V103*/ meltfptr[97])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V103*/ meltfptr[97]), (0), ( /*_.BINDER__V101*/ meltfptr[95]), "BINDER"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_TYPE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V103*/ meltfptr[97])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V103*/ meltfptr[97]), (1), ( /*_.CURCTYPE__V82*/ meltfptr[81]), "LETBIND_TYPE"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_EXPR", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V103*/ meltfptr[97])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V103*/ meltfptr[97]), (2), ( /*_.NCURIN__V75*/ meltfptr[66]), "LETBIND_EXPR"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V103*/ meltfptr[97], "newly made instance"); ; /*_.NEWB__V102*/ meltfptr[96] = /*_.INST__V103*/ meltfptr[97];; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1688:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L32*/ meltfnum[24] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1688:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L32*/ meltfnum[24]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L33*/ meltfnum[32] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1688:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L33*/ meltfnum[32]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1688; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_anymatchpat newb="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NEWB__V102*/ meltfptr[96]; /*_.MELT_DEBUG_FUN__V106*/ meltfptr[105] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V105*/ meltfptr[104] = /*_.MELT_DEBUG_FUN__V106*/ meltfptr[105];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1688:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L33*/ meltfnum[32] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V106*/ meltfptr[105] = 0; } ; } else { /*^cond.else */ /*_.IF___V105*/ meltfptr[104] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1688:/ quasiblock"); /*_.PROGN___V107*/ meltfptr[105] = /*_.IF___V105*/ meltfptr[104];; /*^compute */ /*_.IFCPP___V104*/ meltfptr[98] = /*_.PROGN___V107*/ meltfptr[105];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1688:/ clear"); /*clear *//*_#MELT_NEED_DBG__L32*/ meltfnum[24] = 0; /*^clear */ /*clear *//*_.IF___V105*/ meltfptr[104] = 0; /*^clear */ /*clear *//*_.PROGN___V107*/ meltfptr[105] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V104*/ meltfptr[98] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:1689:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NEWB__V102*/ meltfptr[96]; /*_.PUT_ENV__V108*/ meltfptr[104] = melt_apply ((meltclosure_ptr_t) (( /*!PUT_ENV */ meltfrout-> tabval[16])), (melt_ptr_t) ( /*_.NEWENV__V74*/ meltfptr[67]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.LET___V100*/ meltfptr[91] = /*_.PUT_ENV__V108*/ meltfptr[104];; MELT_LOCATION ("warmelt-normatch.melt:1681:/ clear"); /*clear *//*_.BINDER__V101*/ meltfptr[95] = 0; /*^clear */ /*clear *//*_.NEWB__V102*/ meltfptr[96] = 0; /*^clear */ /*clear *//*_.IFCPP___V104*/ meltfptr[98] = 0; /*^clear */ /*clear *//*_.PUT_ENV__V108*/ meltfptr[104] = 0; /*_.IFELSE___V94*/ meltfptr[90] = /*_.LET___V100*/ meltfptr[91];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1666:/ clear"); /*clear *//*_.LET___V100*/ meltfptr[91] = 0; } ; } ; /*_.LET___V80*/ meltfptr[76] = /*_.IFELSE___V94*/ meltfptr[90];; MELT_LOCATION ("warmelt-normatch.melt:1658:/ clear"); /*clear *//*_.CURMATCH__V81*/ meltfptr[77] = 0; /*^clear */ /*clear *//*_.CURCTYPE__V82*/ meltfptr[81] = 0; /*^clear */ /*clear *//*_.MATCHTYPE__V83*/ meltfptr[82] = 0; /*^clear */ /*clear *//*_.IFCPP___V84*/ meltfptr[83] = 0; /*^clear */ /*clear *//*_.IFCPP___V88*/ meltfptr[84] = 0; /*^clear */ /*clear *//*_.IFCPP___V90*/ meltfptr[85] = 0; /*^clear */ /*clear *//*_#__L31*/ meltfnum[23] = 0; /*^clear */ /*clear *//*_.IFELSE___V94*/ meltfptr[90] = 0; if ( /*_#IX__L23*/ meltfnum[22] < 0) break; } /* end foreach_in_multiple meltcit1__EACHTUP */ /*citerepilog */ MELT_LOCATION ("warmelt-normatch.melt:1654:/ clear"); /*clear *//*_.NCURIN__V75*/ meltfptr[66] = 0; /*^clear */ /*clear *//*_#IX__L23*/ meltfnum[22] = 0; /*^clear */ /*clear *//*_.IFCPP___V76*/ meltfptr[75] = 0; /*^clear */ /*clear *//*_.LET___V80*/ meltfptr[76] = 0; } /*endciterblock FOREACH_IN_MULTIPLE */ ; MELT_LOCATION ("warmelt-normatch.melt:1691:/ compute"); /*_.ENV__V19*/ meltfptr[18] = /*_.SETQ___V109*/ meltfptr[105] = /*_.NEWENV__V74*/ meltfptr[67];; MELT_LOCATION ("warmelt-normatch.melt:1692:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^cond */ /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]), (melt_ptr_t) (( /*!CLASS_PATTERN_CONTEXT */ meltfrout->tabval[1]))) ) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @PCTN_ENV", melt_magic_discr ((melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.PCN__V5*/ meltfptr[4]), (2), ( /*_.NEWENV__V74*/ meltfptr[67]), "PCTN_ENV"); ; /*^touch */ meltgc_touch ( /*_.PCN__V5*/ meltfptr[4]); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.PCN__V5*/ meltfptr[4], "put-fields"); ; /*epilog */ } ; } /*noelse */ ; MELT_LOCATION ("warmelt-normatch.melt:1653:/ clear"); /*clear *//*_.NEWENV__V74*/ meltfptr[67] = 0; /*^clear */ /*clear *//*_.SETQ___V109*/ meltfptr[105] = 0; /*epilog */ } ; } /*noelse */ ; MELT_LOCATION ("warmelt-normatch.melt:1646:/ clear"); /*clear *//*_#NBINARGS__L19*/ meltfnum[17] = 0; /*^clear */ /*clear *//*_#MULTIPLE_LENGTH__L20*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_#I__L21*/ meltfnum[20] = 0; /*^clear */ /*clear *//*_#I__L22*/ meltfnum[21] = 0; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1695:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L34*/ meltfnum[32] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1695:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L34*/ meltfnum[32]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L35*/ meltfnum[24] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1695:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L35*/ meltfnum[24]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1695; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_anymatchpat outargs="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.OUTARGS__V18*/ meltfptr[17]; /*^apply.arg */ argtab[5].meltbp_cstring = " outmatchs="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.OUTMATCHS__V61*/ meltfptr[60]; /*_.MELT_DEBUG_FUN__V112*/ 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_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V111*/ meltfptr[96] = /*_.MELT_DEBUG_FUN__V112*/ meltfptr[98];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1695:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L35*/ meltfnum[24] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V112*/ meltfptr[98] = 0; } ; } else { /*^cond.else */ /*_.IF___V111*/ meltfptr[96] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1695:/ quasiblock"); /*_.PROGN___V113*/ meltfptr[104] = /*_.IF___V111*/ meltfptr[96];; /*^compute */ /*_.IFCPP___V110*/ meltfptr[95] = /*_.PROGN___V113*/ meltfptr[104];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1695:/ clear"); /*clear *//*_#MELT_NEED_DBG__L34*/ meltfnum[32] = 0; /*^clear */ /*clear *//*_.IF___V111*/ meltfptr[96] = 0; /*^clear */ /*clear *//*_.PROGN___V113*/ meltfptr[104] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V110*/ meltfptr[95] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:1696:/ quasiblock"); /*_#NBOUTARGS__L36*/ meltfnum[23] = (melt_multiple_length ((melt_ptr_t) ( /*_.OUTARGS__V18*/ meltfptr[17])));; MELT_LOCATION ("warmelt-normatch.melt:1697:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#MULTIPLE_LENGTH__L37*/ meltfnum[17] = (melt_multiple_length ((melt_ptr_t) ( /*_.OUTMATCHS__V61*/ meltfptr[60])));; /*^compute */ /*_#I__L38*/ meltfnum[1] = (( /*_#NBOUTARGS__L36*/ meltfnum[23]) != ( /*_#MULTIPLE_LENGTH__L37*/ meltfnum[17]));; MELT_LOCATION ("warmelt-normatch.melt:1697:/ cond"); /*cond */ if ( /*_#I__L38*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normatch.melt:1701:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.MAT__V15*/ meltfptr[14]), (melt_ptr_t) (( /*!CLASS_NAMED */ meltfrout->tabval[13]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.MAT__V15*/ meltfptr[14]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V115*/ meltfptr[77] = slot; }; ; } else { /*^cond.else */ /*_.NAMED_NAME__V115*/ meltfptr[77] = NULL;; } ; { MELT_LOCATION ("warmelt-normatch.melt:1698:/ locexp"); melt_error_str ((melt_ptr_t) ( /*_.SLOC__V14*/ meltfptr[12]), ("formal and actual number of output matched arguments differ for anymatch"), (melt_ptr_t) ( /*_.NAMED_NAME__V115*/ meltfptr[77])); } ; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1697:/ clear"); /*clear *//*_.NAMED_NAME__V115*/ meltfptr[77] = 0; } ; } /*noelse */ ; MELT_LOCATION ("warmelt-normatch.melt:1702:/ quasiblock"); /*_.TSTUFF__V117*/ meltfptr[82] = /*mapobject_get */ melt_get_mapobjects ((meltmapobjects_ptr_t) ( /*_.STUFFMAP__V23*/ meltfptr[22]), (meltobject_ptr_t) ( /*_.NMATCH__V3*/ meltfptr[2]));; /*^compute */ /*_.CURHDLER__V118*/ meltfptr[83] = /*_.HDLER__V4*/ meltfptr[3];; MELT_LOCATION ("warmelt-normatch.melt:1705:/ loop"); /*loop */ { labloop_LOOPSTUFF_4:; /*^loopbody */ /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1707:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L39*/ meltfnum[20] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1707:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L39*/ meltfnum[20]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L40*/ meltfnum[21] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1707:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L40*/ meltfnum[21]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1707; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_anymatchpat tstuff"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.TSTUFF__V117*/ meltfptr[82]; /*_.MELT_DEBUG_FUN__V123*/ meltfptr[105] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V122*/ meltfptr[67] = /*_.MELT_DEBUG_FUN__V123*/ meltfptr[105];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1707:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L40*/ meltfnum[21] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V123*/ meltfptr[105] = 0; } ; } else { /*^cond.else */ /*_.IF___V122*/ meltfptr[67] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1707:/ quasiblock"); /*_.PROGN___V124*/ meltfptr[98] = /*_.IF___V122*/ meltfptr[67];; /*^compute */ /*_.IFCPP___V121*/ meltfptr[90] = /*_.PROGN___V124*/ meltfptr[98];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1707:/ clear"); /*clear *//*_#MELT_NEED_DBG__L39*/ meltfnum[20] = 0; /*^clear */ /*clear *//*_.IF___V122*/ meltfptr[67] = 0; /*^clear */ /*clear *//*_.PROGN___V124*/ meltfptr[98] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V121*/ meltfptr[90] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:1709:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L41*/ meltfnum[24] = melt_is_instance_of ((melt_ptr_t) ( /*_.TSTUFF__V117*/ meltfptr[82]), (melt_ptr_t) (( /*!CLASS_NORMTESTER_MATCHER */ meltfrout->tabval[17])));; MELT_LOCATION ("warmelt-normatch.melt:1709:/ cond"); /*cond */ if ( /*_#IS_A__L41*/ meltfnum[24]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normatch.melt:1710:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.TSTUFF__V117*/ meltfptr[82]), (melt_ptr_t) (( /*!CLASS_NORMTESTER_MATCHER */ meltfrout->tabval[17]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.TSTUFF__V117*/ meltfptr[82]) /*=obj*/ ; melt_object_get_field (slot, obj, 7, "NTMATCH_MATCHER"); /*_.NTMATCH_MATCHER__V125*/ meltfptr[96] = slot; }; ; } else { /*^cond.else */ /*_.NTMATCH_MATCHER__V125*/ meltfptr[96] = NULL;; } ; /*^compute */ /*_#__L43*/ meltfnum[21] = (( /*_.NTMATCH_MATCHER__V125*/ meltfptr[96]) == ( /*_.MAT__V15*/ meltfptr[14]));; /*^compute */ /*_#IF___L42*/ meltfnum[32] = /*_#__L43*/ meltfnum[21];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1709:/ clear"); /*clear *//*_.NTMATCH_MATCHER__V125*/ meltfptr[96] = 0; /*^clear */ /*clear *//*_#__L43*/ meltfnum[21] = 0; } ; } else { /*^cond.else */ /*_#IF___L42*/ meltfnum[32] = 0;; } ; MELT_LOCATION ("warmelt-normatch.melt:1709:/ cond"); /*cond */ if ( /*_#IF___L42*/ meltfnum[32]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normatch.melt:1711:/ quasiblock"); /*^cond */ /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.TSTUFF__V117*/ meltfptr[82]), (melt_ptr_t) (( /*!CLASS_NORMTESTER_MATCHER */ meltfrout->tabval[17]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.TSTUFF__V117*/ meltfptr[82]) /*=obj*/ ; melt_object_get_field (slot, obj, 9, "NTMATCH_INARGS"); /*_.TINARGS__V128*/ meltfptr[105] = slot; }; ; } else { /*^cond.else */ /*_.TINARGS__V128*/ meltfptr[105] = NULL;; } ; /*^compute */ /*_#GOOD__L44*/ meltfnum[20] = 1;; /*citerblock FOREACH_IN_MULTIPLE */ { /* start foreach_in_multiple meltcit2__EACHTUP */ long meltcit2__EACHTUP_ln = melt_multiple_length ((melt_ptr_t) /*_.TINARGS__V128*/ meltfptr[105]); for ( /*_#IX__L45*/ meltfnum[21] = 0; ( /*_#IX__L45*/ meltfnum[21] >= 0) && ( /*_#IX__L45*/ meltfnum[21] < meltcit2__EACHTUP_ln); /*_#IX__L45*/ meltfnum[21]++) { /*_.CURINARG__V129*/ meltfptr[67] = melt_multiple_nth ((melt_ptr_t) ( /*_.TINARGS__V128*/ meltfptr[105]), /*_#IX__L45*/ meltfnum[21]); MELT_LOCATION ("warmelt-normatch.melt:1717:/ quasiblock"); /*_.NTHINS__V130*/ meltfptr[98] = (melt_multiple_nth ((melt_ptr_t) ( /*_.NINS__V51*/ meltfptr[37]), ( /*_#IX__L45*/ meltfnum[21])));; MELT_LOCATION ("warmelt-normatch.melt:1718:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#__L47*/ meltfnum[46] = (( /*_.CURINARG__V129*/ meltfptr[67]) != ( /*_.NTHINS__V130*/ meltfptr[98]));; MELT_LOCATION ("warmelt-normatch.melt:1718:/ cond"); /*cond */ if ( /*_#__L47*/ meltfnum[46]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normatch.melt:1719:/ compute"); /*_#GOOD__L44*/ meltfnum[20] = /*_#SETQ___L49*/ meltfnum[48] = 0;; /*_#IF___L48*/ meltfnum[47] = /*_#SETQ___L49*/ meltfnum[48];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1718:/ clear"); /*clear *//*_#SETQ___L49*/ meltfnum[48] = 0; } ; } else { /*^cond.else */ /*_#IF___L48*/ meltfnum[47] = 0;; } ; /*^compute */ /*_#LET___L46*/ meltfnum[45] = /*_#IF___L48*/ meltfnum[47];; MELT_LOCATION ("warmelt-normatch.melt:1717:/ clear"); /*clear *//*_.NTHINS__V130*/ meltfptr[98] = 0; /*^clear */ /*clear *//*_#__L47*/ meltfnum[46] = 0; /*^clear */ /*clear *//*_#IF___L48*/ meltfnum[47] = 0; if ( /*_#IX__L45*/ meltfnum[21] < 0) break; } /* end foreach_in_multiple meltcit2__EACHTUP */ /*citerepilog */ MELT_LOCATION ("warmelt-normatch.melt:1714:/ clear"); /*clear *//*_.CURINARG__V129*/ meltfptr[67] = 0; /*^clear */ /*clear *//*_#IX__L45*/ meltfnum[21] = 0; /*^clear */ /*clear *//*_#LET___L46*/ meltfnum[45] = 0; } /*endciterblock FOREACH_IN_MULTIPLE */ ; MELT_LOCATION ("warmelt-normatch.melt:1721:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^cond */ /*cond */ if ( /*_#GOOD__L44*/ meltfnum[20]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1723:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L50*/ meltfnum[48] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1723:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L50*/ meltfnum[48]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L51*/ meltfnum[46] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1723:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L51*/ meltfnum[46]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1723; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_anymatchpat good tstuff"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.TSTUFF__V117*/ meltfptr[82]; /*_.MELT_DEBUG_FUN__V134*/ meltfptr[133] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V133*/ meltfptr[132] = /*_.MELT_DEBUG_FUN__V134*/ meltfptr[133];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1723:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L51*/ meltfnum[46] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V134*/ meltfptr[133] = 0; } ; } else { /*^cond.else */ /*_.IF___V133*/ meltfptr[132] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1723:/ quasiblock"); /*_.PROGN___V135*/ meltfptr[133] = /*_.IF___V133*/ meltfptr[132];; /*^compute */ /*_.IFCPP___V132*/ meltfptr[98] = /*_.PROGN___V135*/ meltfptr[133];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1723:/ clear"); /*clear *//*_#MELT_NEED_DBG__L50*/ meltfnum[48] = 0; /*^clear */ /*clear *//*_.IF___V133*/ meltfptr[132] = 0; /*^clear */ /*clear *//*_.PROGN___V135*/ meltfptr[133] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V132*/ meltfptr[98] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:1724:/ compute"); /*_.TESTER__V64*/ meltfptr[63] = /*_.SETQ___V136*/ meltfptr[132] = /*_.TSTUFF__V117*/ meltfptr[82];; MELT_LOCATION ("warmelt-normatch.melt:1725:/ quasiblock"); /*^compute */ /*_.LOOPSTUFF__V120*/ meltfptr[85] = NULL;; /*^exit */ /*exit */ { goto labexit_LOOPSTUFF_4; } ; MELT_LOCATION ("warmelt-normatch.melt:1722:/ quasiblock"); /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1721:/ clear"); /*clear *//*_.IFCPP___V132*/ meltfptr[98] = 0; /*^clear */ /*clear *//*_.SETQ___V136*/ meltfptr[132] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normatch.melt:1727:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.TSTUFF__V117*/ meltfptr[82]), (melt_ptr_t) (( /*!CLASS_NORMTESTER_ANY */ meltfrout->tabval[18]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.TSTUFF__V117*/ meltfptr[82]) /*=obj*/ ; melt_object_get_field (slot, obj, 3, "NTEST_ELSE"); /*_.NTEST_ELSE__V137*/ meltfptr[133] = slot; }; ; } else { /*^cond.else */ /*_.NTEST_ELSE__V137*/ meltfptr[133] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1727:/ compute"); /*_.TSTUFF__V117*/ meltfptr[82] = /*_.SETQ___V138*/ meltfptr[98] = /*_.NTEST_ELSE__V137*/ meltfptr[133];; MELT_LOCATION ("warmelt-normatch.melt:1729:/ quasiblock"); /*^newclosure */ /*newclosure *//*_.LAMBDA___V140*/ meltfptr[139] = (melt_ptr_t) meltgc_new_closure ((meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_CLOSURE)))), (meltroutine_ptr_t) (( /*!konst_21 */ meltfrout->tabval[21])), (1)); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V140*/ meltfptr[139])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 0 >= 0 && 0 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V140*/ meltfptr[139]))); ((meltclosure_ptr_t) /*_.LAMBDA___V140*/ meltfptr[139])-> tabval[0] = (melt_ptr_t) ( /*_.TSTUFF__V117*/ meltfptr[82]); ; /*_.LAMBDA___V139*/ meltfptr[132] = /*_.LAMBDA___V140*/ meltfptr[139];; MELT_LOCATION ("warmelt-normatch.melt:1728:/ compute"); /*_.CURHDLER__V118*/ meltfptr[83] = /*_.SETQ___V141*/ meltfptr[140] = /*_.LAMBDA___V139*/ meltfptr[132];; MELT_LOCATION ("warmelt-normatch.melt:1726:/ quasiblock"); /*_.PROGN___V142*/ meltfptr[141] = /*_.SETQ___V141*/ meltfptr[140];; /*^compute */ /*_.IFELSE___V131*/ meltfptr[96] = /*_.PROGN___V142*/ meltfptr[141];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1721:/ clear"); /*clear *//*_.NTEST_ELSE__V137*/ meltfptr[133] = 0; /*^clear */ /*clear *//*_.SETQ___V138*/ meltfptr[98] = 0; /*^clear */ /*clear *//*_.LAMBDA___V139*/ meltfptr[132] = 0; /*^clear */ /*clear *//*_.SETQ___V141*/ meltfptr[140] = 0; /*^clear */ /*clear *//*_.PROGN___V142*/ meltfptr[141] = 0; } ; } ; /*_.LET___V127*/ meltfptr[77] = /*_.IFELSE___V131*/ meltfptr[96];; MELT_LOCATION ("warmelt-normatch.melt:1711:/ clear"); /*clear *//*_.TINARGS__V128*/ meltfptr[105] = 0; /*^clear */ /*clear *//*_#GOOD__L44*/ meltfnum[20] = 0; /*^clear */ /*clear *//*_.IFELSE___V131*/ meltfptr[96] = 0; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1737:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*^cond */ /*cond */ if (( /*nil */ NULL)) /*then */ { /*^cond.then */ /*_.IFELSE___V144*/ meltfptr[98] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:1737:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("normpat_anymatchpat incomplete found tstuff"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (1737) ? (1737) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V144*/ meltfptr[98] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V143*/ meltfptr[133] = /*_.IFELSE___V144*/ meltfptr[98];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1737:/ clear"); /*clear *//*_.IFELSE___V144*/ meltfptr[98] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V143*/ meltfptr[133] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:1709:/ quasiblock"); /*_.PROGN___V145*/ meltfptr[132] = /*_.IFCPP___V143*/ meltfptr[133];; /*^compute */ /*_.IFELSE___V126*/ meltfptr[104] = /*_.PROGN___V145*/ meltfptr[132];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1709:/ clear"); /*clear *//*_.LET___V127*/ meltfptr[77] = 0; /*^clear */ /*clear *//*_.IFCPP___V143*/ meltfptr[133] = 0; /*^clear */ /*clear *//*_.PROGN___V145*/ meltfptr[132] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normatch.melt:1739:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#IS_A__L52*/ meltfnum[47] = melt_is_instance_of ((melt_ptr_t) ( /*_.TSTUFF__V117*/ meltfptr[82]), (melt_ptr_t) (( /*!CLASS_NORMTESTER_ANY */ meltfrout->tabval[18])));; MELT_LOCATION ("warmelt-normatch.melt:1739:/ cond"); /*cond */ if ( /*_#IS_A__L52*/ meltfnum[47]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normatch.melt:1740:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.TSTUFF__V117*/ meltfptr[82]), (melt_ptr_t) (( /*!CLASS_NORMTESTER_ANY */ meltfrout->tabval[18]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.TSTUFF__V117*/ meltfptr[82]) /*=obj*/ ; melt_object_get_field (slot, obj, 3, "NTEST_ELSE"); /*_.NTEST_ELSE__V147*/ meltfptr[141] = slot; }; ; } else { /*^cond.else */ /*_.NTEST_ELSE__V147*/ meltfptr[141] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1740:/ compute"); /*_.TSTUFF__V117*/ meltfptr[82] = /*_.SETQ___V148*/ meltfptr[105] = /*_.NTEST_ELSE__V147*/ meltfptr[141];; MELT_LOCATION ("warmelt-normatch.melt:1742:/ quasiblock"); /*^newclosure */ /*newclosure *//*_.LAMBDA___V150*/ meltfptr[98] = (melt_ptr_t) meltgc_new_closure ((meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_CLOSURE)))), (meltroutine_ptr_t) (( /*!konst_24 */ meltfrout->tabval[24])), (1)); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V150*/ meltfptr[98])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 0 >= 0 && 0 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V150*/ meltfptr[98]))); ((meltclosure_ptr_t) /*_.LAMBDA___V150*/ meltfptr[98])-> tabval[0] = (melt_ptr_t) ( /*_.TSTUFF__V117*/ meltfptr[82]); ; /*_.LAMBDA___V149*/ meltfptr[96] = /*_.LAMBDA___V150*/ meltfptr[98];; MELT_LOCATION ("warmelt-normatch.melt:1741:/ compute"); /*_.CURHDLER__V118*/ meltfptr[83] = /*_.SETQ___V151*/ meltfptr[77] = /*_.LAMBDA___V149*/ meltfptr[96];; MELT_LOCATION ("warmelt-normatch.melt:1739:/ quasiblock"); /*_.PROGN___V152*/ meltfptr[133] = /*_.SETQ___V151*/ meltfptr[77];; /*^compute */ /*_.IFELSE___V146*/ meltfptr[140] = /*_.PROGN___V152*/ meltfptr[133];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1739:/ clear"); /*clear *//*_.NTEST_ELSE__V147*/ meltfptr[141] = 0; /*^clear */ /*clear *//*_.SETQ___V148*/ meltfptr[105] = 0; /*^clear */ /*clear *//*_.LAMBDA___V149*/ meltfptr[96] = 0; /*^clear */ /*clear *//*_.SETQ___V151*/ meltfptr[77] = 0; /*^clear */ /*clear *//*_.PROGN___V152*/ meltfptr[133] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normatch.melt:1750:/ quasiblock"); MELT_LOCATION ("warmelt-normatch.melt:1754:/ quasiblock"); /*^newclosure */ /*newclosure *//*_.LAMBDA___V154*/ meltfptr[141] = (melt_ptr_t) meltgc_new_closure ((meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_CLOSURE)))), (meltroutine_ptr_t) (( /*!konst_33 */ meltfrout->tabval[33])), (2)); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V154*/ meltfptr[141])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 0 >= 0 && 0 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V154*/ meltfptr[141]))); ((meltclosure_ptr_t) /*_.LAMBDA___V154*/ meltfptr[141])-> tabval[0] = (melt_ptr_t) ( /*_.SLOC__V14*/ meltfptr[12]); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V154*/ meltfptr[141])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 1 >= 0 && 1 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V154*/ meltfptr[141]))); ((meltclosure_ptr_t) /*_.LAMBDA___V154*/ meltfptr[141])-> tabval[1] = (melt_ptr_t) ( /*_.NCX__V21*/ meltfptr[20]); ; /*_.LAMBDA___V153*/ meltfptr[132] = /*_.LAMBDA___V154*/ meltfptr[141];; MELT_LOCATION ("warmelt-normatch.melt:1752:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.LAMBDA___V153*/ meltfptr[132]; /*_.OUTLOCS__V155*/ meltfptr[105] = melt_apply ((meltclosure_ptr_t) (( /*!MULTIPLE_MAP */ meltfrout-> tabval[25])), (melt_ptr_t) ( /*_.OUTMATCHS__V61*/ meltfptr[60]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normatch.melt:1780:/ checksignal"); MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normatch.melt:1788:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { /*_.MULTIPLE_TO_LIST__V156*/ meltfptr[96] = melt_apply ((meltclosure_ptr_t) (( /*!MULTIPLE_TO_LIST */ meltfrout-> tabval[34])), (melt_ptr_t) ( /*_.OUTLOCS__V155*/ meltfptr[105]), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; /*_.MAKE_LIST__V157*/ meltfptr[77] = (meltgc_new_list ((meltobject_ptr_t) (( /*!DISCR_LIST */ meltfrout->tabval[35]))));; MELT_LOCATION ("warmelt-normatch.melt:1780:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NORMTESTER_MATCHER */ meltfrout->tabval[17])), (11), "CLASS_NORMTESTER_MATCHER"); /*_.INST__V159*/ meltfptr[158] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V159*/ meltfptr[158])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V159*/ meltfptr[158]), (0), ( /*_.SLOC__V14*/ meltfptr[12]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NTEST_MATCHED", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V159*/ meltfptr[158])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V159*/ meltfptr[158]), (1), ( /*_.NMATCH__V3*/ meltfptr[2]), "NTEST_MATCHED"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NTEST_THEN", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V159*/ meltfptr[158])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V159*/ meltfptr[158]), (2), (( /*nil */ NULL)), "NTEST_THEN"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NTEST_ELSE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V159*/ meltfptr[158])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V159*/ meltfptr[158]), (3), (( /*nil */ NULL)), "NTEST_ELSE"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NTEST_LOCCLIST", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V159*/ meltfptr[158])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V159*/ meltfptr[158]), (5), ( /*_.MULTIPLE_TO_LIST__V156*/ meltfptr[96]), "NTEST_LOCCLIST"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NTEST_COMEFROM", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V159*/ meltfptr[158])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V159*/ meltfptr[158]), (6), ( /*_.MAKE_LIST__V157*/ meltfptr[77]), "NTEST_COMEFROM"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NTMATCH_MATCHER", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V159*/ meltfptr[158])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V159*/ meltfptr[158]), (7), ( /*_.MAT__V15*/ meltfptr[14]), "NTMATCH_MATCHER"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NTMATCH_MATNDATA", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V159*/ meltfptr[158])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V159*/ meltfptr[158]), (8), ( /*_.MATNDATA__V45*/ meltfptr[42]), "NTMATCH_MATNDATA"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NTMATCH_INARGS", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V159*/ meltfptr[158])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V159*/ meltfptr[158]), (9), ( /*_.NINS__V51*/ meltfptr[37]), "NTMATCH_INARGS"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NTMATCH_OUTLOCS", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V159*/ meltfptr[158])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V159*/ meltfptr[158]), (10), ( /*_.OUTLOCS__V155*/ meltfptr[105]), "NTMATCH_OUTLOCS"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V159*/ meltfptr[158], "newly made instance"); ; /*_.NEWTESTER__V158*/ meltfptr[133] = /*_.INST__V159*/ meltfptr[158];; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1796:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L53*/ meltfnum[46] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1796:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L53*/ meltfnum[46]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L54*/ meltfnum[48] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1796:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L54*/ meltfnum[48]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1796; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_anymatchpat newtester"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NEWTESTER__V158*/ meltfptr[133]; /*_.MELT_DEBUG_FUN__V162*/ meltfptr[161] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V161*/ meltfptr[160] = /*_.MELT_DEBUG_FUN__V162*/ meltfptr[161];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1796:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L54*/ meltfnum[48] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V162*/ meltfptr[161] = 0; } ; } else { /*^cond.else */ /*_.IF___V161*/ meltfptr[160] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1796:/ quasiblock"); /*_.PROGN___V163*/ meltfptr[161] = /*_.IF___V161*/ meltfptr[160];; /*^compute */ /*_.IFCPP___V160*/ meltfptr[159] = /*_.PROGN___V163*/ meltfptr[161];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1796:/ clear"); /*clear *//*_#MELT_NEED_DBG__L53*/ meltfnum[46] = 0; /*^clear */ /*clear *//*_.IF___V161*/ meltfptr[160] = 0; /*^clear */ /*clear *//*_.PROGN___V163*/ meltfptr[161] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V160*/ meltfptr[159] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:1797:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.PCN__V5*/ meltfptr[4]; /*_.REGISTER_NEW_NORMTESTER__V164*/ meltfptr[160] = melt_apply ((meltclosure_ptr_t) (( /*!REGISTER_NEW_NORMTESTER */ meltfrout->tabval[36])), (melt_ptr_t) ( /*_.NEWTESTER__V158*/ meltfptr[133]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normatch.melt:1798:/ compute"); /*_.TESTER__V64*/ meltfptr[63] = /*_.SETQ___V165*/ meltfptr[161] = /*_.NEWTESTER__V158*/ meltfptr[133];; { MELT_LOCATION ("warmelt-normatch.melt:1799:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.TESTLIST__V25*/ meltfptr[24]), (melt_ptr_t) ( /*_.NEWTESTER__V158*/ meltfptr[133])); } ; { MELT_LOCATION ("warmelt-normatch.melt:1800:/ locexp"); #if MELT_HAVE_DEBUG if (melt_need_debug (0)) melt_dbgshortbacktrace (("normpat_anymatchpat before curhdler"), (12)); #endif ; } ; MELT_LOCATION ("warmelt-normatch.melt:1801:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { /*_.CURHDLER__V166*/ meltfptr[165] = melt_apply ((meltclosure_ptr_t) ( /*_.CURHDLER__V118*/ meltfptr[83]), (melt_ptr_t) ( /*_.NEWTESTER__V158*/ meltfptr[133]), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normatch.melt:1802:/ quasiblock"); /*^compute */ /*_.LOOPSTUFF__V120*/ meltfptr[85] = NULL;; /*^exit */ /*exit */ { goto labexit_LOOPSTUFF_4; } ; MELT_LOCATION ("warmelt-normatch.melt:1750:/ clear"); /*clear *//*_.LAMBDA___V153*/ meltfptr[132] = 0; /*^clear */ /*clear *//*_.OUTLOCS__V155*/ meltfptr[105] = 0; /*^clear */ /*clear *//*_.MULTIPLE_TO_LIST__V156*/ meltfptr[96] = 0; /*^clear */ /*clear *//*_.MAKE_LIST__V157*/ meltfptr[77] = 0; /*^clear */ /*clear *//*_.NEWTESTER__V158*/ meltfptr[133] = 0; /*^clear */ /*clear *//*_.IFCPP___V160*/ meltfptr[159] = 0; /*^clear */ /*clear *//*_.REGISTER_NEW_NORMTESTER__V164*/ meltfptr[160] = 0; /*^clear */ /*clear *//*_.SETQ___V165*/ meltfptr[161] = 0; /*^clear */ /*clear *//*_.CURHDLER__V166*/ meltfptr[165] = 0; MELT_LOCATION ("warmelt-normatch.melt:1749:/ quasiblock"); /*epilog */ } ; } ; /*_.IFELSE___V126*/ meltfptr[104] = /*_.IFELSE___V146*/ meltfptr[140];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1709:/ clear"); /*clear *//*_#IS_A__L52*/ meltfnum[47] = 0; /*^clear */ /*clear *//*_.IFELSE___V146*/ meltfptr[140] = 0; } ; } ; MELT_LOCATION ("warmelt-normatch.melt:1705:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V121*/ meltfptr[90] = 0; /*^clear */ /*clear *//*_#IS_A__L41*/ meltfnum[24] = 0; /*^clear */ /*clear *//*_#IF___L42*/ meltfnum[32] = 0; /*^clear */ /*clear *//*_.IFELSE___V126*/ meltfptr[104] = 0; } ; ; goto labloop_LOOPSTUFF_4; labexit_LOOPSTUFF_4:; /*^loopepilog */ /*loopepilog */ /*_.FOREVER___V119*/ meltfptr[84] = /*_.LOOPSTUFF__V120*/ meltfptr[85];; } ; /*^compute */ /*_.LET___V116*/ meltfptr[81] = /*_.FOREVER___V119*/ meltfptr[84];; MELT_LOCATION ("warmelt-normatch.melt:1702:/ clear"); /*clear *//*_.TSTUFF__V117*/ meltfptr[82] = 0; /*^clear */ /*clear *//*_.CURHDLER__V118*/ meltfptr[83] = 0; /*^clear */ /*clear *//*_.FOREVER___V119*/ meltfptr[84] = 0; /*_.LET___V114*/ meltfptr[91] = /*_.LET___V116*/ meltfptr[81];; MELT_LOCATION ("warmelt-normatch.melt:1696:/ clear"); /*clear *//*_#NBOUTARGS__L36*/ meltfnum[23] = 0; /*^clear */ /*clear *//*_#MULTIPLE_LENGTH__L37*/ meltfnum[17] = 0; /*^clear */ /*clear *//*_#I__L38*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.LET___V116*/ meltfptr[81] = 0; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1807:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L55*/ meltfnum[20] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1807:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L55*/ meltfnum[20]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L56*/ meltfnum[48] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1807:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L56*/ meltfnum[48]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1807; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_anymatchpat got tester"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.TESTER__V64*/ meltfptr[63]; /*_.MELT_DEBUG_FUN__V169*/ meltfptr[96] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V168*/ meltfptr[105] = /*_.MELT_DEBUG_FUN__V169*/ meltfptr[96];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1807:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L56*/ meltfnum[48] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V169*/ meltfptr[96] = 0; } ; } else { /*^cond.else */ /*_.IF___V168*/ meltfptr[105] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1807:/ quasiblock"); /*_.PROGN___V170*/ meltfptr[77] = /*_.IF___V168*/ meltfptr[105];; /*^compute */ /*_.IFCPP___V167*/ meltfptr[132] = /*_.PROGN___V170*/ meltfptr[77];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1807:/ clear"); /*clear *//*_#MELT_NEED_DBG__L55*/ meltfnum[20] = 0; /*^clear */ /*clear *//*_.IF___V168*/ meltfptr[105] = 0; /*^clear */ /*clear *//*_.PROGN___V170*/ meltfptr[77] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V167*/ meltfptr[132] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1808:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L57*/ meltfnum[46] = melt_is_instance_of ((melt_ptr_t) ( /*_.TESTER__V64*/ meltfptr[63]), (melt_ptr_t) (( /*!CLASS_NORMTESTER_MATCHER */ meltfrout->tabval[17])));; MELT_LOCATION ("warmelt-normatch.melt:1808:/ cond"); /*cond */ if ( /*_#IS_A__L57*/ meltfnum[46]) /*then */ { /*^cond.then */ /*_.IFELSE___V172*/ meltfptr[159] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:1808:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check tester"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (1808) ? (1808) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V172*/ meltfptr[159] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V171*/ meltfptr[133] = /*_.IFELSE___V172*/ meltfptr[159];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1808:/ clear"); /*clear *//*_#IS_A__L57*/ meltfnum[46] = 0; /*^clear */ /*clear *//*_.IFELSE___V172*/ meltfptr[159] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V171*/ meltfptr[133] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:1810:/ quasiblock"); /*^cond */ /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.TESTER__V64*/ meltfptr[63]), (melt_ptr_t) (( /*!CLASS_NORMTESTER_MATCHER */ meltfrout->tabval[17]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.TESTER__V64*/ meltfptr[63]) /*=obj*/ ; melt_object_get_field (slot, obj, 10, "NTMATCH_OUTLOCS"); /*_.OUTLOCS__V173*/ meltfptr[160] = slot; }; ; } else { /*^cond.else */ /*_.OUTLOCS__V173*/ meltfptr[160] = NULL;; } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1811:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L58*/ meltfnum[47] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1811:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L58*/ meltfnum[47]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L59*/ meltfnum[24] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1811:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[9]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L59*/ meltfnum[24]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1811; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_anymatchpatfrom tester outlocs="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.OUTLOCS__V173*/ meltfptr[160]; /*^apply.arg */ argtab[5].meltbp_cstring = " outargs="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.OUTARGS__V18*/ meltfptr[17]; /*^apply.arg */ argtab[7].meltbp_cstring = " outmatchs="; /*^apply.arg */ argtab[8].meltbp_aptr = (melt_ptr_t *) & /*_.OUTMATCHS__V61*/ meltfptr[60]; /*_.MELT_DEBUG_FUN__V176*/ meltfptr[140] = 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_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V175*/ meltfptr[165] = /*_.MELT_DEBUG_FUN__V176*/ meltfptr[140];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1811:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L59*/ meltfnum[24] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V176*/ meltfptr[140] = 0; } ; } else { /*^cond.else */ /*_.IF___V175*/ meltfptr[165] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1811:/ quasiblock"); /*_.PROGN___V177*/ meltfptr[90] = /*_.IF___V175*/ meltfptr[165];; /*^compute */ /*_.IFCPP___V174*/ meltfptr[161] = /*_.PROGN___V177*/ meltfptr[90];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1811:/ clear"); /*clear *//*_#MELT_NEED_DBG__L58*/ meltfnum[47] = 0; /*^clear */ /*clear *//*_.IF___V175*/ meltfptr[165] = 0; /*^clear */ /*clear *//*_.PROGN___V177*/ meltfptr[90] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V174*/ meltfptr[161] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; /*citerblock FOREACH_IN_MULTIPLE */ { /* start foreach_in_multiple meltcit3__EACHTUP */ long meltcit3__EACHTUP_ln = melt_multiple_length ((melt_ptr_t) /*_.OUTMATCHS__V61*/ meltfptr[60]); for ( /*_#IXM__L60*/ meltfnum[32] = 0; ( /*_#IXM__L60*/ meltfnum[32] >= 0) && ( /*_#IXM__L60*/ meltfnum[32] < meltcit3__EACHTUP_ln); /*_#IXM__L60*/ meltfnum[32]++) { /*_.CURMATCH__V178*/ meltfptr[104] = melt_multiple_nth ((melt_ptr_t) ( /*_.OUTMATCHS__V61*/ meltfptr[60]), /*_#IXM__L60*/ meltfnum[32]); { MELT_LOCATION ("warmelt-normatch.melt:1816:/ locexp"); debugnum (("normpat_anymatchpat ixm in outmatchs"), ( /*_#IXM__L60*/ meltfnum[32])); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1817:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L61*/ meltfnum[23] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1817:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L61*/ meltfnum[23]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L62*/ meltfnum[17] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1817:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L62*/ meltfnum[17]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1817; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_anymatchpat curmatch in foreach"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CURMATCH__V178*/ meltfptr[104]; /*_.MELT_DEBUG_FUN__V181*/ meltfptr[84] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V180*/ meltfptr[83] = /*_.MELT_DEBUG_FUN__V181*/ meltfptr[84];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1817:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L62*/ meltfnum[17] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V181*/ meltfptr[84] = 0; } ; } else { /*^cond.else */ /*_.IF___V180*/ meltfptr[83] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1817:/ quasiblock"); /*_.PROGN___V182*/ meltfptr[81] = /*_.IF___V180*/ meltfptr[83];; /*^compute */ /*_.IFCPP___V179*/ meltfptr[82] = /*_.PROGN___V182*/ meltfptr[81];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1817:/ clear"); /*clear *//*_#MELT_NEED_DBG__L61*/ meltfnum[23] = 0; /*^clear */ /*clear *//*_.IF___V180*/ meltfptr[83] = 0; /*^clear */ /*clear *//*_.PROGN___V182*/ meltfptr[81] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V179*/ meltfptr[82] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:1818:/ quasiblock"); /*_.CLOCC__V184*/ meltfptr[105] = (melt_multiple_nth ((melt_ptr_t) ( /*_.OUTLOCS__V173*/ meltfptr[160]), ( /*_#IXM__L60*/ meltfnum[32])));; /*^compute */ /*_.CUROUT__V185*/ meltfptr[77] = (melt_multiple_nth ((melt_ptr_t) ( /*_.OUTARGS__V18*/ meltfptr[17]), ( /*_#IXM__L60*/ meltfnum[32])));; MELT_LOCATION ("warmelt-normatch.melt:1820:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_REFERENCE */ meltfrout->tabval[37])), (1), "CLASS_REFERENCE"); /*_.INST__V187*/ meltfptr[140] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @REFERENCED_VALUE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V187*/ meltfptr[140])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V187*/ meltfptr[140]), (0), ( /*_.TESTER__V64*/ meltfptr[63]), "REFERENCED_VALUE"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V187*/ meltfptr[140], "newly made instance"); ; /*_.TESTERCONT__V186*/ meltfptr[159] = /*_.INST__V187*/ meltfptr[140];; MELT_LOCATION ("warmelt-normatch.melt:1825:/ quasiblock"); /*^newclosure */ /*newclosure *//*_.LAMBDA___V189*/ meltfptr[90] = (melt_ptr_t) meltgc_new_closure ((meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_CLOSURE)))), (meltroutine_ptr_t) (( /*!konst_40 */ meltfrout->tabval[40])), (1)); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V189*/ meltfptr[90])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 0 >= 0 && 0 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V189*/ meltfptr[90]))); ((meltclosure_ptr_t) /*_.LAMBDA___V189*/ meltfptr[90])->tabval[0] = (melt_ptr_t) ( /*_.TESTERCONT__V186*/ meltfptr[159]); ; /*_.SUBHDLER__V188*/ meltfptr[165] = /*_.LAMBDA___V189*/ meltfptr[90];; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1831:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L63*/ meltfnum[1] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1831:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L63*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L64*/ meltfnum[48] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1831:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L64*/ meltfnum[48]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1831; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_anymatchpat before normal_pattern curout="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CUROUT__V185*/ meltfptr[77]; /*^apply.arg */ argtab[5].meltbp_cstring = " clocc="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.CLOCC__V184*/ meltfptr[105]; /*_.MELT_DEBUG_FUN__V192*/ meltfptr[81] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V191*/ meltfptr[83] = /*_.MELT_DEBUG_FUN__V192*/ meltfptr[81];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1831:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L64*/ meltfnum[48] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V192*/ meltfptr[81] = 0; } ; } else { /*^cond.else */ /*_.IF___V191*/ meltfptr[83] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1831:/ quasiblock"); /*_.PROGN___V193*/ meltfptr[81] = /*_.IF___V191*/ meltfptr[83];; /*^compute */ /*_.IFCPP___V190*/ meltfptr[84] = /*_.PROGN___V193*/ meltfptr[81];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1831:/ clear"); /*clear *//*_#MELT_NEED_DBG__L63*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IF___V191*/ meltfptr[83] = 0; /*^clear */ /*clear *//*_.PROGN___V193*/ meltfptr[81] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V190*/ meltfptr[84] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; { MELT_LOCATION ("warmelt-normatch.melt:1832:/ locexp"); #if MELT_HAVE_DEBUG if (melt_need_debug (0)) melt_dbgshortbacktrace (("normpat_anymatchpat before normal_pattern curout"), (14)); #endif ; } ; MELT_LOCATION ("warmelt-normatch.melt:1833:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^msend */ /*msend */ { union meltparam_un argtab[3]; memset (&argtab, 0, sizeof (argtab)); /*^ojbmsend.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.CLOCC__V184*/ meltfptr[105]; /*^ojbmsend.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.SUBHDLER__V188*/ meltfptr[165]; /*^ojbmsend.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & /*_.PCN__V5*/ meltfptr[4]; /*_.NORMAL_PATTERN__V194*/ meltfptr[83] = meltgc_send ((melt_ptr_t) ( /*_.CUROUT__V185*/ meltfptr[77]), (melt_ptr_t) (( /*!NORMAL_PATTERN */ meltfrout-> tabval[41])), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1834:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L65*/ meltfnum[20] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1834:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L65*/ meltfnum[20]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L66*/ meltfnum[46] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1834:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L66*/ meltfnum[46]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1834; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_anymatchpat curout after normal_pattern"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CURMATCH__V178*/ meltfptr[104]; /*_.MELT_DEBUG_FUN__V197*/ meltfptr[196] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V196*/ meltfptr[195] = /*_.MELT_DEBUG_FUN__V197*/ meltfptr[196];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1834:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L66*/ meltfnum[46] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V197*/ meltfptr[196] = 0; } ; } else { /*^cond.else */ /*_.IF___V196*/ meltfptr[195] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1834:/ quasiblock"); /*_.PROGN___V198*/ meltfptr[196] = /*_.IF___V196*/ meltfptr[195];; /*^compute */ /*_.IFCPP___V195*/ meltfptr[81] = /*_.PROGN___V198*/ meltfptr[196];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1834:/ clear"); /*clear *//*_#MELT_NEED_DBG__L65*/ meltfnum[20] = 0; /*^clear */ /*clear *//*_.IF___V196*/ meltfptr[195] = 0; /*^clear */ /*clear *//*_.PROGN___V198*/ meltfptr[196] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V195*/ meltfptr[81] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; /*^compute */ /*_.LET___V183*/ meltfptr[96] = /*_.IFCPP___V195*/ meltfptr[81];; MELT_LOCATION ("warmelt-normatch.melt:1818:/ clear"); /*clear *//*_.CLOCC__V184*/ meltfptr[105] = 0; /*^clear */ /*clear *//*_.CUROUT__V185*/ meltfptr[77] = 0; /*^clear */ /*clear *//*_.TESTERCONT__V186*/ meltfptr[159] = 0; /*^clear */ /*clear *//*_.SUBHDLER__V188*/ meltfptr[165] = 0; /*^clear */ /*clear *//*_.IFCPP___V190*/ meltfptr[84] = 0; /*^clear */ /*clear *//*_.NORMAL_PATTERN__V194*/ meltfptr[83] = 0; /*^clear */ /*clear *//*_.IFCPP___V195*/ meltfptr[81] = 0; if ( /*_#IXM__L60*/ meltfnum[32] < 0) break; } /* end foreach_in_multiple meltcit3__EACHTUP */ /*citerepilog */ MELT_LOCATION ("warmelt-normatch.melt:1813:/ clear"); /*clear *//*_.CURMATCH__V178*/ meltfptr[104] = 0; /*^clear */ /*clear *//*_#IXM__L60*/ meltfnum[32] = 0; /*^clear */ /*clear *//*_.IFCPP___V179*/ meltfptr[82] = 0; /*^clear */ /*clear *//*_.LET___V183*/ meltfptr[96] = 0; } /*endciterblock FOREACH_IN_MULTIPLE */ ; MELT_LOCATION ("warmelt-normatch.melt:1810:/ clear"); /*clear *//*_.OUTLOCS__V173*/ meltfptr[160] = 0; /*^clear */ /*clear *//*_.IFCPP___V174*/ meltfptr[161] = 0; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1838:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L67*/ meltfnum[24] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1838:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L67*/ meltfnum[24]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L68*/ meltfnum[47] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1838:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L68*/ meltfnum[47]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1838; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_anymatchpat outbinds"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.OUTBINDS__V63*/ meltfptr[62]; /*_.MELT_DEBUG_FUN__V201*/ meltfptr[105] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V200*/ meltfptr[196] = /*_.MELT_DEBUG_FUN__V201*/ meltfptr[105];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1838:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L68*/ meltfnum[47] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V201*/ meltfptr[105] = 0; } ; } else { /*^cond.else */ /*_.IF___V200*/ meltfptr[196] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1838:/ quasiblock"); /*_.PROGN___V202*/ meltfptr[77] = /*_.IF___V200*/ meltfptr[196];; /*^compute */ /*_.IFCPP___V199*/ meltfptr[195] = /*_.PROGN___V202*/ meltfptr[77];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1838:/ clear"); /*clear *//*_#MELT_NEED_DBG__L67*/ meltfnum[24] = 0; /*^clear */ /*clear *//*_.IF___V200*/ meltfptr[196] = 0; /*^clear */ /*clear *//*_.PROGN___V202*/ meltfptr[77] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V199*/ meltfptr[195] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; /*^compute */ /*_.LET___V59*/ meltfptr[54] = /*_.IFCPP___V199*/ meltfptr[195];; MELT_LOCATION ("warmelt-normatch.melt:1632:/ clear"); /*clear *//*_.INMATCHS__V60*/ meltfptr[59] = 0; /*^clear */ /*clear *//*_.OUTMATCHS__V61*/ meltfptr[60] = 0; /*^clear */ /*clear *//*_.MATBIND__V62*/ meltfptr[61] = 0; /*^clear */ /*clear *//*_.OUTBINDS__V63*/ meltfptr[62] = 0; /*^clear */ /*clear *//*_.TESTER__V64*/ meltfptr[63] = 0; /*^clear */ /*clear *//*_.FBIND_TYPE__V65*/ meltfptr[64] = 0; /*^clear */ /*clear *//*_#__L16*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFCPP___V69*/ meltfptr[65] = 0; /*^clear */ /*clear *//*_.IFCPP___V110*/ meltfptr[95] = 0; /*^clear */ /*clear *//*_.LET___V114*/ meltfptr[91] = 0; /*^clear */ /*clear *//*_.IFCPP___V167*/ meltfptr[132] = 0; /*^clear */ /*clear *//*_.IFCPP___V171*/ meltfptr[133] = 0; /*^clear */ /*clear *//*_.IFCPP___V199*/ meltfptr[195] = 0; MELT_LOCATION ("warmelt-normatch.melt:1627:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_.MULTI___V50*/ meltfptr[36] = /*_.LET___V59*/ meltfptr[54];; MELT_LOCATION ("warmelt-normatch.melt:1627:/ clear"); /*clear *//*_.IFCPP___V53*/ meltfptr[52] = 0; /*^clear */ /*clear *//*_.IF___V57*/ meltfptr[53] = 0; /*^clear */ /*clear *//*_.LET___V59*/ meltfptr[54] = 0; /*^clear */ /*clear *//*_.BINDINS__V52*/ meltfptr[51] = 0; /*_.LET___V34*/ meltfptr[30] = /*_.MULTI___V50*/ meltfptr[36];; MELT_LOCATION ("warmelt-normatch.melt:1615:/ clear"); /*clear *//*_.LET___V35*/ meltfptr[31] = 0; /*^clear */ /*clear *//*_.MATVAR__V44*/ meltfptr[38] = 0; /*^clear */ /*clear *//*_.MATNDATA__V45*/ meltfptr[42] = 0; /*^clear */ /*clear *//*_.IFCPP___V46*/ meltfptr[35] = 0; /*^clear */ /*clear *//*_.MULTI___V50*/ meltfptr[36] = 0; MELT_LOCATION ("warmelt-normatch.melt:1842:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#__L69*/ meltfnum[17] = (( /*_.ENV__V19*/ meltfptr[18]) != ( /*_.OLDENV__V20*/ meltfptr[19]));; MELT_LOCATION ("warmelt-normatch.melt:1842:/ cond"); /*cond */ if ( /*_#__L69*/ meltfnum[17]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normatch.melt:1843:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^cond */ /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]), (melt_ptr_t) (( /*!CLASS_PATTERN_CONTEXT */ meltfrout->tabval[1]))) ) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @PCTN_ENV", melt_magic_discr ((melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.PCN__V5*/ meltfptr[4]), (2), ( /*_.OLDENV__V20*/ meltfptr[19]), "PCTN_ENV"); ; /*^touch */ meltgc_touch ( /*_.PCN__V5*/ meltfptr[4]); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.PCN__V5*/ meltfptr[4], "put-fields"); ; /*epilog */ } ; } /*noelse */ ; /*epilog */ } ; } /*noelse */ ; MELT_LOCATION ("warmelt-normatch.melt:1597:/ clear"); /*clear *//*_.SLOC__V14*/ meltfptr[12] = 0; /*^clear */ /*clear *//*_.MAT__V15*/ meltfptr[14] = 0; /*^clear */ /*clear *//*_.MATOPBIND__V16*/ meltfptr[15] = 0; /*^clear */ /*clear *//*_.INARGS__V17*/ meltfptr[16] = 0; /*^clear */ /*clear *//*_.OUTARGS__V18*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_.ENV__V19*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_.OLDENV__V20*/ meltfptr[19] = 0; /*^clear */ /*clear *//*_.NCX__V21*/ meltfptr[20] = 0; /*^clear */ /*clear *//*_.BINDLIST__V22*/ meltfptr[21] = 0; /*^clear */ /*clear *//*_.STUFFMAP__V23*/ meltfptr[22] = 0; /*^clear */ /*clear *//*_.MATCHCTYPE__V24*/ meltfptr[23] = 0; /*^clear */ /*clear *//*_.TESTLIST__V25*/ meltfptr[24] = 0; /*^clear */ /*clear *//*_.IFCPP___V26*/ meltfptr[25] = 0; /*^clear */ /*clear *//*_.IFCPP___V28*/ meltfptr[26] = 0; /*^clear */ /*clear *//*_.IFCPP___V30*/ meltfptr[28] = 0; /*^clear */ /*clear *//*_.LET___V34*/ meltfptr[30] = 0; /*^clear */ /*clear *//*_#__L69*/ meltfnum[17] = 0; MELT_LOCATION ("warmelt-normatch.melt:1591:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V6*/ meltfptr[5] = 0; /*^clear */ /*clear *//*_.IFCPP___V10*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.IFCPP___V12*/ meltfptr[7] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("NORMPAT_ANYMATCHPAT", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_36_warmelt_normatch_NORMPAT_ANYMATCHPAT_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*noretval */ NULL); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_36_warmelt_normatch_NORMPAT_ANYMATCHPAT */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_37_warmelt_normatch_LAMBDA___13__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un * meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un * meltxrestab_) { long current_blocklevel_signals_meltrout_37_warmelt_normatch_LAMBDA___13___melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_37_warmelt_normatch_LAMBDA___13___st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 7 melt_ptr_t mcfr_varptr[7]; #define MELTFRAM_NBVARNUM 2 long mcfr_varnum[2]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_37_warmelt_normatch_LAMBDA___13__ is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_37_warmelt_normatch_LAMBDA___13___st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 7; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_37_warmelt_normatch_LAMBDA___13__ nbval 7*/ meltfram__.mcfr_nbvar = 7 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("LAMBDA_", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normatch.melt:1729:/ getarg"); /*_.TESTER__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { { MELT_LOCATION ("warmelt-normatch.melt:1730:/ locexp"); #if MELT_HAVE_DEBUG if (melt_need_debug (0)) melt_dbgshortbacktrace (("normpat_anymatchpat lambda updating else"), (15)); #endif ; } ; MELT_LOCATION ("warmelt-normatch.melt:1731:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^cond */ /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) (( /*~TSTUFF */ meltfclos-> tabval[0])), (melt_ptr_t) (( /*!CLASS_NORMTESTER_ANY */ meltfrout->tabval[0]))) ) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NTEST_ELSE", melt_magic_discr ((melt_ptr_t) (( /*~TSTUFF */ meltfclos-> tabval[0]))) == MELTOBMAG_OBJECT); melt_putfield_object ((( /*~TSTUFF */ meltfclos->tabval[0])), (3), ( /*_.TESTER__V2*/ meltfptr[1]), "NTEST_ELSE"); ; /*^touch */ meltgc_touch (( /*~TSTUFF */ meltfclos->tabval[0])); ; /*^touchobj */ melt_dbgtrace_written_object (( /*~TSTUFF */ meltfclos->tabval[0]), "put-fields"); ; /*epilog */ } ; } /*noelse */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1732:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1732:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1732:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1732; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_anymatchpat lambda updatelse of tstuff"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & ( /*~TSTUFF */ meltfclos->tabval[0]); /*_.MELT_DEBUG_FUN__V5*/ meltfptr[4] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[1])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V4*/ meltfptr[3] = /*_.MELT_DEBUG_FUN__V5*/ meltfptr[4];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1732:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V5*/ meltfptr[4] = 0; } ; } else { /*^cond.else */ /*_.IF___V4*/ meltfptr[3] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1732:/ quasiblock"); /*_.PROGN___V6*/ meltfptr[4] = /*_.IF___V4*/ meltfptr[3];; /*^compute */ /*_.IFCPP___V3*/ meltfptr[2] = /*_.PROGN___V6*/ meltfptr[4];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1732:/ clear"); /*clear *//*_#MELT_NEED_DBG__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V4*/ meltfptr[3] = 0; /*^clear */ /*clear *//*_.PROGN___V6*/ meltfptr[4] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V3*/ meltfptr[2] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:1733:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.TESTER__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_NORMTESTER_ANY */ meltfrout->tabval[0]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.TESTER__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 6, "NTEST_COMEFROM"); /*_.NTEST_COMEFROM__V7*/ meltfptr[3] = slot; }; ; } else { /*^cond.else */ /*_.NTEST_COMEFROM__V7*/ meltfptr[3] = NULL;; } ; { MELT_LOCATION ("warmelt-normatch.melt:1733:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.NTEST_COMEFROM__V7*/ meltfptr[3]), (melt_ptr_t) (( /*~TSTUFF */ meltfclos-> tabval[0]))); } ; MELT_LOCATION ("warmelt-normatch.melt:1729:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V3*/ meltfptr[2] = 0; /*^clear */ /*clear *//*_.NTEST_COMEFROM__V7*/ meltfptr[3] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("LAMBDA_", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_37_warmelt_normatch_LAMBDA___13___melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*noretval */ NULL); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_37_warmelt_normatch_LAMBDA___13__ */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_38_warmelt_normatch_LAMBDA___14__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un * meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un * meltxrestab_) { long current_blocklevel_signals_meltrout_38_warmelt_normatch_LAMBDA___14___melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_38_warmelt_normatch_LAMBDA___14___st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 7 melt_ptr_t mcfr_varptr[7]; #define MELTFRAM_NBVARNUM 2 long mcfr_varnum[2]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_38_warmelt_normatch_LAMBDA___14__ is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_38_warmelt_normatch_LAMBDA___14___st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 7; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_38_warmelt_normatch_LAMBDA___14__ nbval 7*/ meltfram__.mcfr_nbvar = 7 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("LAMBDA_", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normatch.melt:1742:/ getarg"); /*_.TESTER__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { MELT_LOCATION ("warmelt-normatch.melt:1743:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^cond */ /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) (( /*~TSTUFF */ meltfclos-> tabval[0])), (melt_ptr_t) (( /*!CLASS_NORMTESTER_ANY */ meltfrout->tabval[0]))) ) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NTEST_ELSE", melt_magic_discr ((melt_ptr_t) (( /*~TSTUFF */ meltfclos-> tabval[0]))) == MELTOBMAG_OBJECT); melt_putfield_object ((( /*~TSTUFF */ meltfclos->tabval[0])), (3), ( /*_.TESTER__V2*/ meltfptr[1]), "NTEST_ELSE"); ; /*^touch */ meltgc_touch (( /*~TSTUFF */ meltfclos->tabval[0])); ; /*^touchobj */ melt_dbgtrace_written_object (( /*~TSTUFF */ meltfclos->tabval[0]), "put-fields"); ; /*epilog */ } ; } /*noelse */ ; { MELT_LOCATION ("warmelt-normatch.melt:1744:/ locexp"); #if MELT_HAVE_DEBUG if (melt_need_debug (0)) melt_dbgshortbacktrace (("normpat_anymatchpat updatelse"), (15)); #endif ; } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1745:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1745:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1745:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1745; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_anymatchpat updatelse tsuff"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & ( /*~TSTUFF */ meltfclos->tabval[0]); /*_.MELT_DEBUG_FUN__V5*/ meltfptr[4] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[1])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V4*/ meltfptr[3] = /*_.MELT_DEBUG_FUN__V5*/ meltfptr[4];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1745:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V5*/ meltfptr[4] = 0; } ; } else { /*^cond.else */ /*_.IF___V4*/ meltfptr[3] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1745:/ quasiblock"); /*_.PROGN___V6*/ meltfptr[4] = /*_.IF___V4*/ meltfptr[3];; /*^compute */ /*_.IFCPP___V3*/ meltfptr[2] = /*_.PROGN___V6*/ meltfptr[4];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1745:/ clear"); /*clear *//*_#MELT_NEED_DBG__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V4*/ meltfptr[3] = 0; /*^clear */ /*clear *//*_.PROGN___V6*/ meltfptr[4] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V3*/ meltfptr[2] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:1746:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.TESTER__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_NORMTESTER_ANY */ meltfrout->tabval[0]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.TESTER__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 6, "NTEST_COMEFROM"); /*_.NTEST_COMEFROM__V7*/ meltfptr[3] = slot; }; ; } else { /*^cond.else */ /*_.NTEST_COMEFROM__V7*/ meltfptr[3] = NULL;; } ; { MELT_LOCATION ("warmelt-normatch.melt:1746:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.NTEST_COMEFROM__V7*/ meltfptr[3]), (melt_ptr_t) (( /*~TSTUFF */ meltfclos-> tabval[0]))); } ; MELT_LOCATION ("warmelt-normatch.melt:1742:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V3*/ meltfptr[2] = 0; /*^clear */ /*clear *//*_.NTEST_COMEFROM__V7*/ meltfptr[3] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("LAMBDA_", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_38_warmelt_normatch_LAMBDA___14___melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*noretval */ NULL); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_38_warmelt_normatch_LAMBDA___14__ */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_39_warmelt_normatch_LAMBDA___15__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un * meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un * meltxrestab_) { long current_blocklevel_signals_meltrout_39_warmelt_normatch_LAMBDA___15___melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_39_warmelt_normatch_LAMBDA___15___st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 21 melt_ptr_t mcfr_varptr[21]; #define MELTFRAM_NBVARNUM 6 long mcfr_varnum[6]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_39_warmelt_normatch_LAMBDA___15__ is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_39_warmelt_normatch_LAMBDA___15___st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 21; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_39_warmelt_normatch_LAMBDA___15__ nbval 21*/ meltfram__.mcfr_nbvar = 21 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("LAMBDA_", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normatch.melt:1754:/ getarg"); /*_.CUROUTMATCH__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_LONG) goto lab_endgetargs; /*_#IX__L1*/ meltfnum[0] = meltxargtab_[0].meltbp_long; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1755:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L2*/ meltfnum[1] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1755:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L2*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L3*/ meltfnum[2] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1755:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L3*/ meltfnum[2]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1755; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_anymatchpat curoutmatch"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CUROUTMATCH__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V5*/ meltfptr[4] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V4*/ meltfptr[3] = /*_.MELT_DEBUG_FUN__V5*/ meltfptr[4];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1755:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L3*/ meltfnum[2] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V5*/ meltfptr[4] = 0; } ; } else { /*^cond.else */ /*_.IF___V4*/ meltfptr[3] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1755:/ quasiblock"); /*_.PROGN___V6*/ meltfptr[4] = /*_.IF___V4*/ meltfptr[3];; /*^compute */ /*_.IFCPP___V3*/ meltfptr[2] = /*_.PROGN___V6*/ meltfptr[4];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1755:/ clear"); /*clear *//*_#MELT_NEED_DBG__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IF___V4*/ meltfptr[3] = 0; /*^clear */ /*clear *//*_.PROGN___V6*/ meltfptr[4] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V3*/ meltfptr[2] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1756:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L4*/ meltfnum[2] = melt_is_instance_of ((melt_ptr_t) ( /*_.CUROUTMATCH__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_FORMAL_BINDING */ meltfrout->tabval[1])));; MELT_LOCATION ("warmelt-normatch.melt:1756:/ cond"); /*cond */ if ( /*_#IS_A__L4*/ meltfnum[2]) /*then */ { /*^cond.then */ /*_.IFELSE___V8*/ meltfptr[4] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:1756:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check curoutmatch"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (1756) ? (1756) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V8*/ meltfptr[4] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V7*/ meltfptr[3] = /*_.IFELSE___V8*/ meltfptr[4];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1756:/ clear"); /*clear *//*_#IS_A__L4*/ meltfnum[2] = 0; /*^clear */ /*clear *//*_.IFELSE___V8*/ meltfptr[4] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V7*/ meltfptr[3] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:1757:/ quasiblock"); /*^cond */ /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CUROUTMATCH__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_ANY_BINDING */ meltfrout->tabval[3]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CUROUTMATCH__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 0, "BINDER"); /*_.BINDER__V10*/ meltfptr[9] = slot; }; ; } else { /*^cond.else */ /*_.BINDER__V10*/ meltfptr[9] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1757:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { /*_.CSYM__V11*/ meltfptr[10] = melt_apply ((meltclosure_ptr_t) (( /*!CLONE_SYMBOL */ meltfrout->tabval[2])), (melt_ptr_t) ( /*_.BINDER__V10*/ meltfptr[9]), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normatch.melt:1758:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CUROUTMATCH__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_FORMAL_BINDING */ meltfrout->tabval[1]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CUROUTMATCH__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "FBIND_TYPE"); /*_.CURTYP__V12*/ meltfptr[11] = slot; }; ; } else { /*^cond.else */ /*_.CURTYP__V12*/ meltfptr[11] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1759:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NORMAL_LET_BINDING */ meltfrout->tabval[4])), (4), "CLASS_NORMAL_LET_BINDING"); /*_.INST__V14*/ meltfptr[13] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V14*/ meltfptr[13])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V14*/ meltfptr[13]), (3), (( /*~SLOC */ meltfclos->tabval[0])), "LETBIND_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @BINDER", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V14*/ meltfptr[13])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V14*/ meltfptr[13]), (0), ( /*_.CSYM__V11*/ meltfptr[10]), "BINDER"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_TYPE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V14*/ meltfptr[13])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V14*/ meltfptr[13]), (1), ( /*_.CURTYP__V12*/ meltfptr[11]), "LETBIND_TYPE"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_EXPR", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V14*/ meltfptr[13])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V14*/ meltfptr[13]), (2), (( /*nil */ NULL)), "LETBIND_EXPR"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V14*/ meltfptr[13], "newly made instance"); ; /*_.CBIND__V13*/ meltfptr[12] = /*_.INST__V14*/ meltfptr[13];; MELT_LOCATION ("warmelt-normatch.melt:1768:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_LOCSYMOCC */ meltfrout->tabval[5])), (4), "CLASS_NREP_LOCSYMOCC"); /*_.INST__V16*/ meltfptr[15] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V16*/ meltfptr[15])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V16*/ meltfptr[15]), (0), (( /*~SLOC */ meltfclos->tabval[0])), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_CTYP", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V16*/ meltfptr[15])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V16*/ meltfptr[15]), (2), ( /*_.CURTYP__V12*/ meltfptr[11]), "NOCC_CTYP"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_SYMB", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V16*/ meltfptr[15])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V16*/ meltfptr[15]), (1), ( /*_.CSYM__V11*/ meltfptr[10]), "NOCC_SYMB"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_BIND", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V16*/ meltfptr[15])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V16*/ meltfptr[15]), (3), ( /*_.CBIND__V13*/ meltfptr[12]), "NOCC_BIND"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V16*/ meltfptr[15], "newly made instance"); ; /*_.CLOCC__V15*/ meltfptr[14] = /*_.INST__V16*/ meltfptr[15];; MELT_LOCATION ("warmelt-normatch.melt:1775:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) (( /*~NCX */ meltfclos->tabval[1])), (melt_ptr_t) (( /*!CLASS_NORMALIZATION_CONTEXT */ meltfrout->tabval[6]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) (( /*~NCX */ meltfclos->tabval[1])) /*=obj*/ ; melt_object_get_field (slot, obj, 6, "NCTX_SYMBCACHEMAP"); /*_.NCTX_SYMBCACHEMAP__V17*/ meltfptr[16] = slot; }; ; } else { /*^cond.else */ /*_.NCTX_SYMBCACHEMAP__V17*/ meltfptr[16] = NULL;; } ; { MELT_LOCATION ("warmelt-normatch.melt:1775:/ locexp"); meltgc_put_mapobjects ((meltmapobjects_ptr_t) ( /*_.NCTX_SYMBCACHEMAP__V17*/ meltfptr[16]), (meltobject_ptr_t) ( /*_.CSYM__V11*/ meltfptr[10]), (melt_ptr_t) ( /*_.CLOCC__V15*/ meltfptr[14])); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1776:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L5*/ meltfnum[1] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1776:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L5*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L6*/ meltfnum[2] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1776:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L6*/ meltfnum[2]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1776; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_anymatchpat clocc="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CLOCC__V15*/ meltfptr[14]; /*_.MELT_DEBUG_FUN__V20*/ meltfptr[19] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V19*/ meltfptr[18] = /*_.MELT_DEBUG_FUN__V20*/ meltfptr[19];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1776:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L6*/ meltfnum[2] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V20*/ meltfptr[19] = 0; } ; } else { /*^cond.else */ /*_.IF___V19*/ meltfptr[18] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1776:/ quasiblock"); /*_.PROGN___V21*/ meltfptr[19] = /*_.IF___V19*/ meltfptr[18];; /*^compute */ /*_.IFCPP___V18*/ meltfptr[17] = /*_.PROGN___V21*/ meltfptr[19];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1776:/ clear"); /*clear *//*_#MELT_NEED_DBG__L5*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IF___V19*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_.PROGN___V21*/ meltfptr[19] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V18*/ meltfptr[17] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; /*^compute */ /*_.LET___V9*/ meltfptr[4] = /*_.CLOCC__V15*/ meltfptr[14];; MELT_LOCATION ("warmelt-normatch.melt:1757:/ clear"); /*clear *//*_.BINDER__V10*/ meltfptr[9] = 0; /*^clear */ /*clear *//*_.CSYM__V11*/ meltfptr[10] = 0; /*^clear */ /*clear *//*_.CURTYP__V12*/ meltfptr[11] = 0; /*^clear */ /*clear *//*_.CBIND__V13*/ meltfptr[12] = 0; /*^clear */ /*clear *//*_.CLOCC__V15*/ meltfptr[14] = 0; /*^clear */ /*clear *//*_.NCTX_SYMBCACHEMAP__V17*/ meltfptr[16] = 0; /*^clear */ /*clear *//*_.IFCPP___V18*/ meltfptr[17] = 0; MELT_LOCATION ("warmelt-normatch.melt:1754:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V9*/ meltfptr[4];; { MELT_LOCATION ("warmelt-normatch.melt:1754:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V3*/ meltfptr[2] = 0; /*^clear */ /*clear *//*_.IFCPP___V7*/ meltfptr[3] = 0; /*^clear */ /*clear *//*_.LET___V9*/ meltfptr[4] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("LAMBDA_", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_39_warmelt_normatch_LAMBDA___15___melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_39_warmelt_normatch_LAMBDA___15__ */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_40_warmelt_normatch_LAMBDA___16__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un * meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un * meltxrestab_) { long current_blocklevel_signals_meltrout_40_warmelt_normatch_LAMBDA___16___melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_40_warmelt_normatch_LAMBDA___16___st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 7 melt_ptr_t mcfr_varptr[7]; #define MELTFRAM_NBVARNUM 2 long mcfr_varnum[2]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_40_warmelt_normatch_LAMBDA___16__ is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_40_warmelt_normatch_LAMBDA___16___st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 7; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_40_warmelt_normatch_LAMBDA___16__ nbval 7*/ meltfram__.mcfr_nbvar = 7 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("LAMBDA_", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normatch.melt:1825:/ getarg"); /*_.NEWTESTER__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1826:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1826:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1826:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1826; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_anymatchpat subhdler newtester"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NEWTESTER__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V5*/ meltfptr[4] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V4*/ meltfptr[3] = /*_.MELT_DEBUG_FUN__V5*/ meltfptr[4];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1826:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V5*/ meltfptr[4] = 0; } ; } else { /*^cond.else */ /*_.IF___V4*/ meltfptr[3] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1826:/ quasiblock"); /*_.PROGN___V6*/ meltfptr[4] = /*_.IF___V4*/ meltfptr[3];; /*^compute */ /*_.IFCPP___V3*/ meltfptr[2] = /*_.PROGN___V6*/ meltfptr[4];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1826:/ clear"); /*clear *//*_#MELT_NEED_DBG__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V4*/ meltfptr[3] = 0; /*^clear */ /*clear *//*_.PROGN___V6*/ meltfptr[4] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V3*/ meltfptr[2] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; { MELT_LOCATION ("warmelt-normatch.melt:1827:/ locexp"); #if MELT_HAVE_DEBUG if (melt_need_debug (0)) melt_dbgshortbacktrace (("normpat_anymatchpat subhdler"), (14)); #endif ; } ; MELT_LOCATION ("warmelt-normatch.melt:1828:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & ( /*~TESTERCONT */ meltfclos->tabval[0]); /*_.SET_NEW_TESTER_LAST_THEN__V7*/ meltfptr[3] = melt_apply ((meltclosure_ptr_t) (( /*!SET_NEW_TESTER_LAST_THEN */ meltfrout->tabval[1])), (melt_ptr_t) ( /*_.NEWTESTER__V2*/ meltfptr[1]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normatch.melt:1825:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.SET_NEW_TESTER_LAST_THEN__V7*/ meltfptr[3];; { MELT_LOCATION ("warmelt-normatch.melt:1825:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V3*/ meltfptr[2] = 0; /*^clear */ /*clear *//*_.SET_NEW_TESTER_LAST_THEN__V7*/ meltfptr[3] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("LAMBDA_", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_40_warmelt_normatch_LAMBDA___16___melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_40_warmelt_normatch_LAMBDA___16__ */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_41_warmelt_normatch_NORMPAT_CONSTPAT (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un * meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un * meltxrestab_) { long current_blocklevel_signals_meltrout_41_warmelt_normatch_NORMPAT_CONSTPAT_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_41_warmelt_normatch_NORMPAT_CONSTPAT_st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 68 melt_ptr_t mcfr_varptr[68]; #define MELTFRAM_NBVARNUM 17 long mcfr_varnum[17]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_41_warmelt_normatch_NORMPAT_CONSTPAT is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_41_warmelt_normatch_NORMPAT_CONSTPAT_st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 68; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_41_warmelt_normatch_NORMPAT_CONSTPAT nbval 68*/ meltfram__.mcfr_nbvar = 68 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("NORMPAT_CONSTPAT", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normatch.melt:1851:/ getarg"); /*_.RECV__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.NMATCH__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.NMATCH__V3*/ meltfptr[2])) != NULL); /*getarg#2 */ /*^getarg */ if (meltxargdescr_[1] != MELTBPAR_PTR) goto lab_endgetargs; /*_.HDLER__V4*/ meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.HDLER__V4*/ meltfptr[3])) != NULL); /*getarg#3 */ /*^getarg */ if (meltxargdescr_[2] != MELTBPAR_PTR) goto lab_endgetargs; /*_.PCN__V5*/ meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1852:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1852:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1852:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[9]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1852; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_constpat recv="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.RECV__V2*/ meltfptr[1]; /*^apply.arg */ argtab[5].meltbp_cstring = " nmatch="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.NMATCH__V3*/ meltfptr[2]; /*^apply.arg */ argtab[7].meltbp_cstring = " pcn="; /*^apply.arg */ argtab[8].meltbp_aptr = (melt_ptr_t *) & /*_.PCN__V5*/ meltfptr[4]; /*_.MELT_DEBUG_FUN__V8*/ 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 MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V7*/ meltfptr[6] = /*_.MELT_DEBUG_FUN__V8*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1852:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V8*/ meltfptr[7] = 0; } ; } else { /*^cond.else */ /*_.IF___V7*/ meltfptr[6] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1852:/ quasiblock"); /*_.PROGN___V9*/ meltfptr[7] = /*_.IF___V7*/ meltfptr[6];; /*^compute */ /*_.IFCPP___V6*/ meltfptr[5] = /*_.PROGN___V9*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1852:/ clear"); /*clear *//*_#MELT_NEED_DBG__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V7*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.PROGN___V9*/ meltfptr[7] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V6*/ meltfptr[5] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1853:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L3*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]), (melt_ptr_t) (( /*!CLASS_PATTERN_CONTEXT */ meltfrout->tabval[1])));; MELT_LOCATION ("warmelt-normatch.melt:1853:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V11*/ meltfptr[7] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:1853:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check pcn"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (1853) ? (1853) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V11*/ meltfptr[7] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[6] = /*_.IFELSE___V11*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1853:/ clear"); /*clear *//*_#IS_A__L3*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V11*/ meltfptr[7] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V10*/ meltfptr[6] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1854:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L4*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_SOURCE_PATTERN_CONSTANT */ meltfrout->tabval[2])));; MELT_LOCATION ("warmelt-normatch.melt:1854:/ cond"); /*cond */ if ( /*_#IS_A__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V13*/ meltfptr[12] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:1854:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check recv"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (1854) ? (1854) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V13*/ meltfptr[12] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V12*/ meltfptr[7] = /*_.IFELSE___V13*/ meltfptr[12];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1854:/ clear"); /*clear *//*_#IS_A__L4*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V13*/ meltfptr[12] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V12*/ meltfptr[7] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:1855:/ quasiblock"); MELT_LOCATION ("warmelt-normatch.melt:1856:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_LOCATED */ meltfrout->tabval[3]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "LOCA_LOCATION"); /*_.SLOC__V15*/ meltfptr[14] = slot; }; ; } else { /*^cond.else */ /*_.SLOC__V15*/ meltfptr[14] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1857:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_SOURCE_PATTERN_CONSTANT */ meltfrout->tabval[2]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 3, "SPAT_CONSTX"); /*_.SCONST__V16*/ meltfptr[15] = slot; }; ; } else { /*^cond.else */ /*_.SCONST__V16*/ meltfptr[15] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1858:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]), (melt_ptr_t) (( /*!CLASS_PATTERN_CONTEXT */ meltfrout->tabval[1]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]) /*=obj*/ ; melt_object_get_field (slot, obj, 7, "PCTN_STUFFMAP"); /*_.STUFFMAP__V17*/ meltfptr[16] = slot; }; ; } else { /*^cond.else */ /*_.STUFFMAP__V17*/ meltfptr[16] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1859:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]), (melt_ptr_t) (( /*!CLASS_PATTERN_CONTEXT */ meltfrout->tabval[1]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]) /*=obj*/ ; melt_object_get_field (slot, obj, 8, "PCTN_PVARLOCMAP"); /*_.PVARLOCMAP__V18*/ meltfptr[17] = slot; }; ; } else { /*^cond.else */ /*_.PVARLOCMAP__V18*/ meltfptr[17] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1860:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]), (melt_ptr_t) (( /*!CLASS_PATTERN_CONTEXT */ meltfrout->tabval[1]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "PCTN_SRC"); /*_.PCTN_SRC__V19*/ meltfptr[18] = slot; }; ; } else { /*^cond.else */ /*_.PCTN_SRC__V19*/ meltfptr[18] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1860:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.PCTN_SRC__V19*/ meltfptr[18]), (melt_ptr_t) (( /*!CLASS_LOCATED */ meltfrout->tabval[3]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.PCTN_SRC__V19*/ meltfptr[18]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "LOCA_LOCATION"); /*_.PSLOC__V20*/ meltfptr[19] = slot; }; ; } else { /*^cond.else */ /*_.PSLOC__V20*/ meltfptr[19] = NULL;; } ; /*^compute */ /*_.TSTUFF__V21*/ meltfptr[20] = /*mapobject_get */ melt_get_mapobjects ((meltmapobjects_ptr_t) ( /*_.STUFFMAP__V17*/ meltfptr[16]), (meltobject_ptr_t) ( /*_.NMATCH__V3*/ meltfptr[2]));; MELT_LOCATION ("warmelt-normatch.melt:1862:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]), (melt_ptr_t) (( /*!CLASS_PATTERN_CONTEXT */ meltfrout->tabval[1]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "PCTN_ENV"); /*_.ENV__V22*/ meltfptr[21] = slot; }; ; } else { /*^cond.else */ /*_.ENV__V22*/ meltfptr[21] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1863:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]), (melt_ptr_t) (( /*!CLASS_PATTERN_CONTEXT */ meltfrout->tabval[1]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]) /*=obj*/ ; melt_object_get_field (slot, obj, 0, "PCTN_NORMCTXT"); /*_.NCX__V23*/ meltfptr[22] = slot; }; ; } else { /*^cond.else */ /*_.NCX__V23*/ meltfptr[22] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1864:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]), (melt_ptr_t) (( /*!CLASS_PATTERN_CONTEXT */ meltfrout->tabval[1]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]) /*=obj*/ ; melt_object_get_field (slot, obj, 9, "PCTN_TESTS"); /*_.TESTLIST__V24*/ meltfptr[23] = slot; }; ; } else { /*^cond.else */ /*_.TESTLIST__V24*/ meltfptr[23] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1865:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]), (melt_ptr_t) (( /*!CLASS_PATTERN_CONTEXT */ meltfrout->tabval[1]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.PCN__V5*/ meltfptr[4]) /*=obj*/ ; melt_object_get_field (slot, obj, 4, "PCTN_MAPATCST"); /*_.MAPCST__V25*/ meltfptr[24] = slot; }; ; } else { /*^cond.else */ /*_.MAPCST__V25*/ meltfptr[24] = NULL;; } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1868:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L5*/ meltfnum[1] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1868:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L5*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L6*/ meltfnum[0] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1868:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L6*/ meltfnum[0]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1868; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_constpat tstuff"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.TSTUFF__V21*/ meltfptr[20]; /*_.MELT_DEBUG_FUN__V28*/ 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); } ; /*_.IF___V27*/ meltfptr[26] = /*_.MELT_DEBUG_FUN__V28*/ meltfptr[27];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1868:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L6*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V28*/ meltfptr[27] = 0; } ; } else { /*^cond.else */ /*_.IF___V27*/ meltfptr[26] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1868:/ quasiblock"); /*_.PROGN___V29*/ meltfptr[27] = /*_.IF___V27*/ meltfptr[26];; /*^compute */ /*_.IFCPP___V26*/ meltfptr[25] = /*_.PROGN___V29*/ meltfptr[27];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1868:/ clear"); /*clear *//*_#MELT_NEED_DBG__L5*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IF___V27*/ meltfptr[26] = 0; /*^clear */ /*clear *//*_.PROGN___V29*/ meltfptr[27] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V26*/ meltfptr[25] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:1869:/ quasiblock"); /*_.TESTER__V31*/ meltfptr[27] = ( /*nil */ NULL);; /*^compute */ /*_.CURHDLER__V32*/ meltfptr[31] = /*_.HDLER__V4*/ meltfptr[3];; MELT_LOCATION ("warmelt-normatch.melt:1872:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#IS_OBJECT__L7*/ meltfnum[0] = (melt_magic_discr ((melt_ptr_t) ( /*_.SCONST__V16*/ meltfptr[15])) == MELTOBMAG_OBJECT);; MELT_LOCATION ("warmelt-normatch.melt:1872:/ cond"); /*cond */ if ( /*_#IS_OBJECT__L7*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_.MAPOBJECT_GET__V34*/ meltfptr[33] = /*mapobject_get */ melt_get_mapobjects ((meltmapobjects_ptr_t) ( /*_.MAPCST__V25*/ meltfptr[24]), (meltobject_ptr_t) ( /*_.SCONST__V16*/ meltfptr[15]));; /*^compute */ /*_.NCONST__V33*/ meltfptr[32] = /*_.MAPOBJECT_GET__V34*/ meltfptr[33];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1872:/ clear"); /*clear *//*_.MAPOBJECT_GET__V34*/ meltfptr[33] = 0; } ; } else { /*^cond.else */ /*_.NCONST__V33*/ meltfptr[32] = /*_.SCONST__V16*/ meltfptr[15];; } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1874:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L8*/ meltfnum[1] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1874:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L8*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L9*/ meltfnum[8] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1874:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L9*/ meltfnum[8]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1874; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_constpat nconst"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NCONST__V33*/ meltfptr[32]; /*_.MELT_DEBUG_FUN__V37*/ 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_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V36*/ meltfptr[35] = /*_.MELT_DEBUG_FUN__V37*/ meltfptr[36];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1874:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L9*/ meltfnum[8] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V37*/ meltfptr[36] = 0; } ; } else { /*^cond.else */ /*_.IF___V36*/ meltfptr[35] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1874:/ quasiblock"); /*_.PROGN___V38*/ meltfptr[36] = /*_.IF___V36*/ meltfptr[35];; /*^compute */ /*_.IFCPP___V35*/ meltfptr[33] = /*_.PROGN___V38*/ meltfptr[36];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1874:/ clear"); /*clear *//*_#MELT_NEED_DBG__L8*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IF___V36*/ meltfptr[35] = 0; /*^clear */ /*clear *//*_.PROGN___V38*/ meltfptr[36] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V35*/ meltfptr[33] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:1875:/ loop"); /*loop */ { labloop_LOOPSTUFF_5:; /*^loopbody */ /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1877:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L10*/ meltfnum[8] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1877:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L10*/ meltfnum[8]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L11*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1877:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L11*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1877; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_constpat tstuff"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.TSTUFF__V21*/ meltfptr[20]; /*_.MELT_DEBUG_FUN__V43*/ 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 ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V42*/ meltfptr[41] = /*_.MELT_DEBUG_FUN__V43*/ meltfptr[42];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1877:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L11*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V43*/ meltfptr[42] = 0; } ; } else { /*^cond.else */ /*_.IF___V42*/ meltfptr[41] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1877:/ quasiblock"); /*_.PROGN___V44*/ meltfptr[42] = /*_.IF___V42*/ meltfptr[41];; /*^compute */ /*_.IFCPP___V41*/ meltfptr[40] = /*_.PROGN___V44*/ meltfptr[42];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1877:/ clear"); /*clear *//*_#MELT_NEED_DBG__L10*/ meltfnum[8] = 0; /*^clear */ /*clear *//*_.IF___V42*/ meltfptr[41] = 0; /*^clear */ /*clear *//*_.PROGN___V44*/ meltfptr[42] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V41*/ meltfptr[40] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:1879:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^cond */ /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.TSTUFF__V21*/ meltfptr[20]), (melt_ptr_t) (( /*!CLASS_NORMTESTER_SAME */ meltfrout->tabval[4]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.TSTUFF__V21*/ meltfptr[20]) /*=obj*/ ; melt_object_get_field (slot, obj, 7, "NTSAME_IDENTICAL"); /*_.NTSAME_IDENTICAL__V45*/ meltfptr[41] = slot; }; ; } else { /*^cond.else */ /*_.NTSAME_IDENTICAL__V45*/ meltfptr[41] = NULL;; } ; /*^compute */ /*_#__L12*/ meltfnum[1] = (( /*_.NTSAME_IDENTICAL__V45*/ meltfptr[41]) == ( /*_.NCONST__V33*/ meltfptr[32]));; MELT_LOCATION ("warmelt-normatch.melt:1879:/ cond"); /*cond */ if ( /*_#__L12*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normatch.melt:1880:/ compute"); /*_.TESTER__V31*/ meltfptr[27] = /*_.SETQ___V47*/ meltfptr[46] = /*_.TSTUFF__V21*/ meltfptr[20];; MELT_LOCATION ("warmelt-normatch.melt:1881:/ quasiblock"); /*^compute */ /*_.LOOPSTUFF__V40*/ meltfptr[36] = NULL;; /*^exit */ /*exit */ { goto labexit_LOOPSTUFF_5; } ; MELT_LOCATION ("warmelt-normatch.melt:1879:/ quasiblock"); /*epilog */ /*^clear */ /*clear *//*_.SETQ___V47*/ meltfptr[46] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normatch.melt:1882:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#IS_A__L13*/ meltfnum[8] = melt_is_instance_of ((melt_ptr_t) ( /*_.TSTUFF__V21*/ meltfptr[20]), (melt_ptr_t) (( /*!CLASS_NORMTESTER_ANY */ meltfrout->tabval[5])));; MELT_LOCATION ("warmelt-normatch.melt:1882:/ cond"); /*cond */ if ( /*_#IS_A__L13*/ meltfnum[8]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normatch.melt:1883:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.TSTUFF__V21*/ meltfptr[20]), (melt_ptr_t) (( /*!CLASS_NORMTESTER_ANY */ meltfrout->tabval[5]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.TSTUFF__V21*/ meltfptr[20]) /*=obj*/ ; melt_object_get_field (slot, obj, 3, "NTEST_ELSE"); /*_.NTEST_ELSE__V49*/ meltfptr[48] = slot; }; ; } else { /*^cond.else */ /*_.NTEST_ELSE__V49*/ meltfptr[48] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1883:/ compute"); /*_.TSTUFF__V21*/ meltfptr[20] = /*_.SETQ___V50*/ meltfptr[49] = /*_.NTEST_ELSE__V49*/ meltfptr[48];; MELT_LOCATION ("warmelt-normatch.melt:1885:/ quasiblock"); /*^newclosure */ /*newclosure *//*_.LAMBDA___V52*/ meltfptr[51] = (melt_ptr_t) meltgc_new_closure ((meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_CLOSURE)))), (meltroutine_ptr_t) (( /*!konst_8 */ meltfrout-> tabval[8])), (1)); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V52*/ meltfptr[51])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 0 >= 0 && 0 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V52*/ meltfptr[51]))); ((meltclosure_ptr_t) /*_.LAMBDA___V52*/ meltfptr[51])-> tabval[0] = (melt_ptr_t) ( /*_.TSTUFF__V21*/ meltfptr[20]); ; /*_.LAMBDA___V51*/ meltfptr[50] = /*_.LAMBDA___V52*/ meltfptr[51];; MELT_LOCATION ("warmelt-normatch.melt:1884:/ compute"); /*_.CURHDLER__V32*/ meltfptr[31] = /*_.SETQ___V53*/ meltfptr[52] = /*_.LAMBDA___V51*/ meltfptr[50];; MELT_LOCATION ("warmelt-normatch.melt:1882:/ quasiblock"); /*_.PROGN___V54*/ meltfptr[53] = /*_.SETQ___V53*/ meltfptr[52];; /*^compute */ /*_.IFELSE___V48*/ meltfptr[46] = /*_.PROGN___V54*/ meltfptr[53];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1882:/ clear"); /*clear *//*_.NTEST_ELSE__V49*/ meltfptr[48] = 0; /*^clear */ /*clear *//*_.SETQ___V50*/ meltfptr[49] = 0; /*^clear */ /*clear *//*_.LAMBDA___V51*/ meltfptr[50] = 0; /*^clear */ /*clear *//*_.SETQ___V53*/ meltfptr[52] = 0; /*^clear */ /*clear *//*_.PROGN___V54*/ meltfptr[53] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normatch.melt:1893:/ quasiblock"); /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_.MAKE_LIST__V55*/ meltfptr[48] = (meltgc_new_list ((meltobject_ptr_t) (( /*!DISCR_LIST */ meltfrout->tabval[9]))));; MELT_LOCATION ("warmelt-normatch.melt:1893:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NORMTESTER_SAME */ meltfrout->tabval[4])), (8), "CLASS_NORMTESTER_SAME"); /*_.INST__V57*/ meltfptr[50] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V57*/ meltfptr[50])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V57*/ meltfptr[50]), (0), ( /*_.PSLOC__V20*/ meltfptr[19]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NTEST_MATCHED", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V57*/ meltfptr[50])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V57*/ meltfptr[50]), (1), ( /*_.NMATCH__V3*/ meltfptr[2]), "NTEST_MATCHED"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NTEST_THEN", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V57*/ meltfptr[50])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V57*/ meltfptr[50]), (2), (( /*nil */ NULL)), "NTEST_THEN"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NTEST_ELSE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V57*/ meltfptr[50])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V57*/ meltfptr[50]), (3), (( /*nil */ NULL)), "NTEST_ELSE"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NTEST_LOCCLIST", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V57*/ meltfptr[50])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V57*/ meltfptr[50]), (5), (( /*nil */ NULL)), "NTEST_LOCCLIST"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NTEST_COMEFROM", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V57*/ meltfptr[50])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V57*/ meltfptr[50]), (6), ( /*_.MAKE_LIST__V55*/ meltfptr[48]), "NTEST_COMEFROM"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NTSAME_IDENTICAL", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V57*/ meltfptr[50])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V57*/ meltfptr[50]), (7), ( /*_.NCONST__V33*/ meltfptr[32]), "NTSAME_IDENTICAL"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V57*/ meltfptr[50], "newly made instance"); ; /*_.NEWTESTER__V56*/ meltfptr[49] = /*_.INST__V57*/ meltfptr[50];; { MELT_LOCATION ("warmelt-normatch.melt:1902:/ locexp"); #if MELT_HAVE_DEBUG if (melt_need_debug (0)) melt_dbgshortbacktrace (("normpat_constpat making newtester same"), (15)); #endif ; } ; MELT_LOCATION ("warmelt-normatch.melt:1903:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.PCN__V5*/ meltfptr[4]; /*_.REGISTER_NEW_NORMTESTER__V58*/ meltfptr[52] = melt_apply ((meltclosure_ptr_t) (( /*!REGISTER_NEW_NORMTESTER */ meltfrout->tabval[10])), (melt_ptr_t) ( /*_.NEWTESTER__V56*/ meltfptr[49]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1904:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L14*/ meltfnum[13] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1904:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L14*/ meltfnum[13]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L15*/ meltfnum[14] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1904:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L15*/ meltfnum[14]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1904; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_constpat newtester same"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NEWTESTER__V56*/ meltfptr[49]; /*_.MELT_DEBUG_FUN__V61*/ meltfptr[60] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V60*/ meltfptr[59] = /*_.MELT_DEBUG_FUN__V61*/ meltfptr[60];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1904:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L15*/ meltfnum[14] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V61*/ meltfptr[60] = 0; } ; } else { /*^cond.else */ /*_.IF___V60*/ meltfptr[59] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1904:/ quasiblock"); /*_.PROGN___V62*/ meltfptr[60] = /*_.IF___V60*/ meltfptr[59];; /*^compute */ /*_.IFCPP___V59*/ meltfptr[53] = /*_.PROGN___V62*/ meltfptr[60];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1904:/ clear"); /*clear *//*_#MELT_NEED_DBG__L14*/ meltfnum[13] = 0; /*^clear */ /*clear *//*_.IF___V60*/ meltfptr[59] = 0; /*^clear */ /*clear *//*_.PROGN___V62*/ meltfptr[60] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V59*/ meltfptr[53] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:1905:/ compute"); /*_.TESTER__V31*/ meltfptr[27] = /*_.SETQ___V63*/ meltfptr[59] = /*_.NEWTESTER__V56*/ meltfptr[49];; { MELT_LOCATION ("warmelt-normatch.melt:1906:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.TESTLIST__V24*/ meltfptr[23]), (melt_ptr_t) ( /*_.NEWTESTER__V56*/ meltfptr[49])); } ; MELT_LOCATION ("warmelt-normatch.melt:1907:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { /*_.CURHDLER__V64*/ meltfptr[60] = melt_apply ((meltclosure_ptr_t) ( /*_.CURHDLER__V32*/ meltfptr[31]), (melt_ptr_t) ( /*_.NEWTESTER__V56*/ meltfptr[49]), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normatch.melt:1908:/ quasiblock"); /*^compute */ /*_.LOOPSTUFF__V40*/ meltfptr[36] = NULL;; /*^exit */ /*exit */ { goto labexit_LOOPSTUFF_5; } ; MELT_LOCATION ("warmelt-normatch.melt:1893:/ clear"); /*clear *//*_.MAKE_LIST__V55*/ meltfptr[48] = 0; /*^clear */ /*clear *//*_.NEWTESTER__V56*/ meltfptr[49] = 0; /*^clear */ /*clear *//*_.REGISTER_NEW_NORMTESTER__V58*/ meltfptr[52] = 0; /*^clear */ /*clear *//*_.IFCPP___V59*/ meltfptr[53] = 0; /*^clear */ /*clear *//*_.SETQ___V63*/ meltfptr[59] = 0; /*^clear */ /*clear *//*_.CURHDLER__V64*/ meltfptr[60] = 0; MELT_LOCATION ("warmelt-normatch.melt:1892:/ quasiblock"); /*epilog */ } ; } ; /*_.IFELSE___V46*/ meltfptr[42] = /*_.IFELSE___V48*/ meltfptr[46];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1879:/ clear"); /*clear *//*_#IS_A__L13*/ meltfnum[8] = 0; /*^clear */ /*clear *//*_.IFELSE___V48*/ meltfptr[46] = 0; } ; } ; MELT_LOCATION ("warmelt-normatch.melt:1875:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V41*/ meltfptr[40] = 0; /*^clear */ /*clear *//*_.NTSAME_IDENTICAL__V45*/ meltfptr[41] = 0; /*^clear */ /*clear *//*_#__L12*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V46*/ meltfptr[42] = 0; } ; ; goto labloop_LOOPSTUFF_5; labexit_LOOPSTUFF_5:; /*^loopepilog */ /*loopepilog */ /*_.FOREVER___V39*/ meltfptr[35] = /*_.LOOPSTUFF__V40*/ meltfptr[36];; } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1913:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L16*/ meltfnum[14] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1913:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L16*/ meltfnum[14]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L17*/ meltfnum[13] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1913:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L17*/ meltfnum[13]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1913; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_constpat got tester"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.TESTER__V31*/ meltfptr[27]; /*_.MELT_DEBUG_FUN__V67*/ meltfptr[52] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V66*/ meltfptr[49] = /*_.MELT_DEBUG_FUN__V67*/ meltfptr[52];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1913:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L17*/ meltfnum[13] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V67*/ meltfptr[52] = 0; } ; } else { /*^cond.else */ /*_.IF___V66*/ meltfptr[49] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1913:/ quasiblock"); /*_.PROGN___V68*/ meltfptr[53] = /*_.IF___V66*/ meltfptr[49];; /*^compute */ /*_.IFCPP___V65*/ meltfptr[48] = /*_.PROGN___V68*/ meltfptr[53];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1913:/ clear"); /*clear *//*_#MELT_NEED_DBG__L16*/ meltfnum[14] = 0; /*^clear */ /*clear *//*_.IF___V66*/ meltfptr[49] = 0; /*^clear */ /*clear *//*_.PROGN___V68*/ meltfptr[53] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V65*/ meltfptr[48] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; /*^compute */ /*_.LET___V30*/ meltfptr[26] = /*_.IFCPP___V65*/ meltfptr[48];; MELT_LOCATION ("warmelt-normatch.melt:1869:/ clear"); /*clear *//*_.TESTER__V31*/ meltfptr[27] = 0; /*^clear */ /*clear *//*_.CURHDLER__V32*/ meltfptr[31] = 0; /*^clear */ /*clear *//*_#IS_OBJECT__L7*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.NCONST__V33*/ meltfptr[32] = 0; /*^clear */ /*clear *//*_.IFCPP___V35*/ meltfptr[33] = 0; /*^clear */ /*clear *//*_.FOREVER___V39*/ meltfptr[35] = 0; /*^clear */ /*clear *//*_.IFCPP___V65*/ meltfptr[48] = 0; /*_.LET___V14*/ meltfptr[12] = /*_.LET___V30*/ meltfptr[26];; MELT_LOCATION ("warmelt-normatch.melt:1855:/ clear"); /*clear *//*_.SLOC__V15*/ meltfptr[14] = 0; /*^clear */ /*clear *//*_.SCONST__V16*/ meltfptr[15] = 0; /*^clear */ /*clear *//*_.STUFFMAP__V17*/ meltfptr[16] = 0; /*^clear */ /*clear *//*_.PVARLOCMAP__V18*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_.PCTN_SRC__V19*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_.PSLOC__V20*/ meltfptr[19] = 0; /*^clear */ /*clear *//*_.TSTUFF__V21*/ meltfptr[20] = 0; /*^clear */ /*clear *//*_.ENV__V22*/ meltfptr[21] = 0; /*^clear */ /*clear *//*_.NCX__V23*/ meltfptr[22] = 0; /*^clear */ /*clear *//*_.TESTLIST__V24*/ meltfptr[23] = 0; /*^clear */ /*clear *//*_.MAPCST__V25*/ meltfptr[24] = 0; /*^clear */ /*clear *//*_.IFCPP___V26*/ meltfptr[25] = 0; /*^clear */ /*clear *//*_.LET___V30*/ meltfptr[26] = 0; MELT_LOCATION ("warmelt-normatch.melt:1851:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V14*/ meltfptr[12];; { MELT_LOCATION ("warmelt-normatch.melt:1851:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V6*/ meltfptr[5] = 0; /*^clear */ /*clear *//*_.IFCPP___V10*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.IFCPP___V12*/ meltfptr[7] = 0; /*^clear */ /*clear *//*_.LET___V14*/ meltfptr[12] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("NORMPAT_CONSTPAT", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_41_warmelt_normatch_NORMPAT_CONSTPAT_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_41_warmelt_normatch_NORMPAT_CONSTPAT */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_42_warmelt_normatch_LAMBDA___17__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un * meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un * meltxrestab_) { long current_blocklevel_signals_meltrout_42_warmelt_normatch_LAMBDA___17___melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_42_warmelt_normatch_LAMBDA___17___st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 7 melt_ptr_t mcfr_varptr[7]; #define MELTFRAM_NBVARNUM 2 long mcfr_varnum[2]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_42_warmelt_normatch_LAMBDA___17__ is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_42_warmelt_normatch_LAMBDA___17___st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 7; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_42_warmelt_normatch_LAMBDA___17__ nbval 7*/ meltfram__.mcfr_nbvar = 7 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("LAMBDA_", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normatch.melt:1885:/ getarg"); /*_.TESTER__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { MELT_LOCATION ("warmelt-normatch.melt:1886:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^cond */ /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) (( /*~TSTUFF */ meltfclos-> tabval[0])), (melt_ptr_t) (( /*!CLASS_NORMTESTER_ANY */ meltfrout->tabval[0]))) ) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NTEST_ELSE", melt_magic_discr ((melt_ptr_t) (( /*~TSTUFF */ meltfclos-> tabval[0]))) == MELTOBMAG_OBJECT); melt_putfield_object ((( /*~TSTUFF */ meltfclos->tabval[0])), (3), ( /*_.TESTER__V2*/ meltfptr[1]), "NTEST_ELSE"); ; /*^touch */ meltgc_touch (( /*~TSTUFF */ meltfclos->tabval[0])); ; /*^touchobj */ melt_dbgtrace_written_object (( /*~TSTUFF */ meltfclos->tabval[0]), "put-fields"); ; /*epilog */ } ; } /*noelse */ ; { MELT_LOCATION ("warmelt-normatch.melt:1887:/ locexp"); #if MELT_HAVE_DEBUG if (melt_need_debug (0)) melt_dbgshortbacktrace (("normpat_constpat lambda updatelse"), (15)); #endif ; } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1888:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1888:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1888:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1888; /*^apply.arg */ argtab[3].meltbp_cstring = "normpat_constpat lambda updatelse tstuff"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & ( /*~TSTUFF */ meltfclos->tabval[0]); /*_.MELT_DEBUG_FUN__V5*/ meltfptr[4] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[1])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V4*/ meltfptr[3] = /*_.MELT_DEBUG_FUN__V5*/ meltfptr[4];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1888:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V5*/ meltfptr[4] = 0; } ; } else { /*^cond.else */ /*_.IF___V4*/ meltfptr[3] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1888:/ quasiblock"); /*_.PROGN___V6*/ meltfptr[4] = /*_.IF___V4*/ meltfptr[3];; /*^compute */ /*_.IFCPP___V3*/ meltfptr[2] = /*_.PROGN___V6*/ meltfptr[4];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1888:/ clear"); /*clear *//*_#MELT_NEED_DBG__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V4*/ meltfptr[3] = 0; /*^clear */ /*clear *//*_.PROGN___V6*/ meltfptr[4] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V3*/ meltfptr[2] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:1889:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.TESTER__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_NORMTESTER_ANY */ meltfrout->tabval[0]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.TESTER__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 6, "NTEST_COMEFROM"); /*_.NTEST_COMEFROM__V7*/ meltfptr[3] = slot; }; ; } else { /*^cond.else */ /*_.NTEST_COMEFROM__V7*/ meltfptr[3] = NULL;; } ; { MELT_LOCATION ("warmelt-normatch.melt:1889:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.NTEST_COMEFROM__V7*/ meltfptr[3]), (melt_ptr_t) (( /*~TSTUFF */ meltfclos-> tabval[0]))); } ; MELT_LOCATION ("warmelt-normatch.melt:1885:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V3*/ meltfptr[2] = 0; /*^clear */ /*clear *//*_.NTEST_COMEFROM__V7*/ meltfptr[3] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("LAMBDA_", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_42_warmelt_normatch_LAMBDA___17___melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*noretval */ NULL); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_42_warmelt_normatch_LAMBDA___17__ */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_43_warmelt_normatch_MATCH_GRAPHIC_OPTSET (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un * meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un * meltxrestab_) { long current_blocklevel_signals_meltrout_43_warmelt_normatch_MATCH_GRAPHIC_OPTSET_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_43_warmelt_normatch_MATCH_GRAPHIC_OPTSET_st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 13 melt_ptr_t mcfr_varptr[13]; #define MELTFRAM_NBVARNUM 4 long mcfr_varnum[4]; /*others*/ const char *loc_CSTRING__o0; long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_43_warmelt_normatch_MATCH_GRAPHIC_OPTSET is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_43_warmelt_normatch_MATCH_GRAPHIC_OPTSET_st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 13; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_43_warmelt_normatch_MATCH_GRAPHIC_OPTSET nbval 13*/ meltfram__.mcfr_nbvar = 13 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("MATCH_GRAPHIC_OPTSET", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normatch.melt:1930:/ getarg"); /*_.OPTSYMB__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_CSTRING) goto lab_endgetargs; /*_?*/ meltfram__.loc_CSTRING__o0 = meltxargtab_[0].meltbp_cstring; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1931:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1931:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1931:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1931; /*^apply.arg */ argtab[3].meltbp_cstring = "match_graphic_optset optsumb"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.OPTSYMB__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V5*/ meltfptr[4] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V4*/ meltfptr[3] = /*_.MELT_DEBUG_FUN__V5*/ meltfptr[4];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1931:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V5*/ meltfptr[4] = 0; } ; } else { /*^cond.else */ /*_.IF___V4*/ meltfptr[3] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1931:/ quasiblock"); /*_.PROGN___V6*/ meltfptr[4] = /*_.IF___V4*/ meltfptr[3];; /*^compute */ /*_.IFCPP___V3*/ meltfptr[2] = /*_.PROGN___V6*/ meltfptr[4];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1931:/ clear"); /*clear *//*_#MELT_NEED_DBG__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V4*/ meltfptr[3] = 0; /*^clear */ /*clear *//*_.PROGN___V6*/ meltfptr[4] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V3*/ meltfptr[2] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:1932:/ quasiblock"); /*_.PREFSTR__V8*/ meltfptr[4] = (meltgc_new_stringdup ((meltobject_ptr_t) (( /*!DISCR_STRING */ meltfrout->tabval[1])), ( /*_?*/ meltfram__.loc_CSTRING__o0)));; MELT_LOCATION ("warmelt-normatch.melt:1933:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^cond */ /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) (( /*!MATCH_GRAPHIC_DOT_PREFIX */ meltfrout->tabval[2])), (melt_ptr_t) (( /*!CLASS_REFERENCE */ meltfrout->tabval[3]))) ) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @REFERENCED_VALUE", melt_magic_discr ((melt_ptr_t) (( /*!MATCH_GRAPHIC_DOT_PREFIX */ meltfrout->tabval[2]))) == MELTOBMAG_OBJECT); melt_putfield_object ((( /*!MATCH_GRAPHIC_DOT_PREFIX */ meltfrout-> tabval[2])), (0), ( /*_.PREFSTR__V8*/ meltfptr[4]), "REFERENCED_VALUE"); ; /*^touch */ meltgc_touch (( /*!MATCH_GRAPHIC_DOT_PREFIX */ meltfrout-> tabval[2])); ; /*^touchobj */ melt_dbgtrace_written_object (( /*!MATCH_GRAPHIC_DOT_PREFIX */ meltfrout->tabval[2]), "put-fields"); ; /*epilog */ } ; } /*noelse */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1934:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L3*/ meltfnum[1] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1934:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L3*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L4*/ meltfnum[0] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1934:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L4*/ meltfnum[0]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1934; /*^apply.arg */ argtab[3].meltbp_cstring = "match_graphic_optset match_graphic_dot_prefix"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & ( /*!MATCH_GRAPHIC_DOT_PREFIX */ meltfrout-> tabval[2]); /*_.MELT_DEBUG_FUN__V11*/ meltfptr[10] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V10*/ meltfptr[9] = /*_.MELT_DEBUG_FUN__V11*/ meltfptr[10];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1934:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L4*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V11*/ meltfptr[10] = 0; } ; } else { /*^cond.else */ /*_.IF___V10*/ meltfptr[9] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1934:/ quasiblock"); /*_.PROGN___V12*/ meltfptr[10] = /*_.IF___V10*/ meltfptr[9];; /*^compute */ /*_.IFCPP___V9*/ meltfptr[8] = /*_.PROGN___V12*/ meltfptr[10];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1934:/ clear"); /*clear *//*_#MELT_NEED_DBG__L3*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IF___V10*/ meltfptr[9] = 0; /*^clear */ /*clear *//*_.PROGN___V12*/ meltfptr[10] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V9*/ meltfptr[8] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:1935:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = ( /*!MATCH_GRAPHIC_DOT_PREFIX */ meltfrout->tabval[2]);; { MELT_LOCATION ("warmelt-normatch.melt:1935:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*_.LET___V7*/ meltfptr[3] = /*_.RETURN___V13*/ meltfptr[9];; MELT_LOCATION ("warmelt-normatch.melt:1932:/ clear"); /*clear *//*_.PREFSTR__V8*/ meltfptr[4] = 0; /*^clear */ /*clear *//*_.IFCPP___V9*/ meltfptr[8] = 0; /*^clear */ /*clear *//*_.RETURN___V13*/ meltfptr[9] = 0; MELT_LOCATION ("warmelt-normatch.melt:1930:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V7*/ meltfptr[3];; { MELT_LOCATION ("warmelt-normatch.melt:1930:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V3*/ meltfptr[2] = 0; /*^clear */ /*clear *//*_.LET___V7*/ meltfptr[3] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("MATCH_GRAPHIC_OPTSET", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_43_warmelt_normatch_MATCH_GRAPHIC_OPTSET_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_43_warmelt_normatch_MATCH_GRAPHIC_OPTSET */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_44_warmelt_normatch_MG_OUT_NODE_NAME (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un * meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un * meltxrestab_) { long current_blocklevel_signals_meltrout_44_warmelt_normatch_MG_OUT_NODE_NAME_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_44_warmelt_normatch_MG_OUT_NODE_NAME_st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 11 melt_ptr_t mcfr_varptr[11]; #define MELTFRAM_NBVARNUM 5 long mcfr_varnum[5]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_44_warmelt_normatch_MG_OUT_NODE_NAME is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_44_warmelt_normatch_MG_OUT_NODE_NAME_st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 11; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_44_warmelt_normatch_MG_OUT_NODE_NAME nbval 11*/ meltfram__.mcfr_nbvar = 11 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("MG_OUT_NODE_NAME", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normatch.melt:1959:/ getarg"); /*_.OUT__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.NTEST__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.NTEST__V3*/ meltfptr[2])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1960:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_OUT__L1*/ meltfnum[0] = (melt_is_out ((melt_ptr_t) /*_.OUT__V2*/ meltfptr[1]));; MELT_LOCATION ("warmelt-normatch.melt:1960:/ cond"); /*cond */ if ( /*_#IS_OUT__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V5*/ meltfptr[4] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:1960:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check out"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (1960) ? (1960) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V5*/ meltfptr[4] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V4*/ meltfptr[3] = /*_.IFELSE___V5*/ meltfptr[4];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1960:/ clear"); /*clear *//*_#IS_OUT__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V5*/ meltfptr[4] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V4*/ meltfptr[3] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1961:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L2*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.NTEST__V3*/ meltfptr[2]), (melt_ptr_t) (( /*!CLASS_NORMTESTER_ANY */ meltfrout->tabval[0])));; MELT_LOCATION ("warmelt-normatch.melt:1961:/ cond"); /*cond */ if ( /*_#IS_A__L2*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V7*/ meltfptr[6] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:1961:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check ntest"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (1961) ? (1961) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V7*/ meltfptr[6] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V6*/ meltfptr[4] = /*_.IFELSE___V7*/ meltfptr[6];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1961:/ clear"); /*clear *//*_#IS_A__L2*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V7*/ meltfptr[6] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V6*/ meltfptr[4] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:1962:/ quasiblock"); /*_.CLA__V8*/ meltfptr[6] = ((melt_ptr_t) (melt_discr ((melt_ptr_t) ( /*_.NTEST__V3*/ meltfptr[2]))));; MELT_LOCATION ("warmelt-normatch.melt:1963:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CLA__V8*/ meltfptr[6]), (melt_ptr_t) (( /*!CLASS_NAMED */ meltfrout->tabval[1]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CLA__V8*/ meltfptr[6]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.CLANAM__V9*/ meltfptr[8] = slot; }; ; } else { /*^cond.else */ /*_.CLANAM__V9*/ meltfptr[8] = NULL;; } ; /*^compute */ /*_#CLANAMLEN__L3*/ meltfnum[0] = melt_string_length ((melt_ptr_t) ( /*_.CLANAM__V9*/ meltfptr[8]));; /*^compute */ /*_#IX__L4*/ meltfnum[3] = (melt_get_int ((melt_ptr_t) ( /*_.NTEST__V3*/ meltfptr[2])));; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1969:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#I__L5*/ meltfnum[4] = (( /*_#CLANAMLEN__L3*/ meltfnum[0]) > (6));; MELT_LOCATION ("warmelt-normatch.melt:1969:/ cond"); /*cond */ if ( /*_#I__L5*/ meltfnum[4]) /*then */ { /*^cond.then */ /*_.IFELSE___V11*/ meltfptr[10] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:1969:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check clanamlen"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (1969) ? (1969) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V11*/ meltfptr[10] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[9] = /*_.IFELSE___V11*/ meltfptr[10];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1969:/ clear"); /*clear *//*_#I__L5*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.IFELSE___V11*/ meltfptr[10] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V10*/ meltfptr[9] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; { MELT_LOCATION ("warmelt-normatch.melt:1971:/ locexp"); /* mg_node_name OUTCHUNK__1 */ meltgc_add_out ((melt_ptr_t) /*_.OUT__V2*/ meltfptr[1], melt_string_str ((melt_ptr_t) /*_.CLANAM__V9*/ meltfptr[8]) + 6); meltgc_out_printf ((melt_ptr_t) /*_.OUT__V2*/ meltfptr[1], "_%d", (int) /*_#IX__L4*/ meltfnum[3]); ; } ; MELT_LOCATION ("warmelt-normatch.melt:1962:/ clear"); /*clear *//*_.CLA__V8*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.CLANAM__V9*/ meltfptr[8] = 0; /*^clear */ /*clear *//*_#CLANAMLEN__L3*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_#IX__L4*/ meltfnum[3] = 0; /*^clear */ /*clear *//*_.IFCPP___V10*/ meltfptr[9] = 0; MELT_LOCATION ("warmelt-normatch.melt:1959:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V4*/ meltfptr[3] = 0; /*^clear */ /*clear *//*_.IFCPP___V6*/ meltfptr[4] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("MG_OUT_NODE_NAME", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_44_warmelt_normatch_MG_OUT_NODE_NAME_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*noretval */ NULL); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_44_warmelt_normatch_MG_OUT_NODE_NAME */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_45_warmelt_normatch_MGLABEL_ANY (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un * meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un * meltxrestab_) { long current_blocklevel_signals_meltrout_45_warmelt_normatch_MGLABEL_ANY_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_45_warmelt_normatch_MGLABEL_ANY_st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 12 melt_ptr_t mcfr_varptr[12]; #define MELTFRAM_NBVARNUM 2 long mcfr_varnum[2]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_45_warmelt_normatch_MGLABEL_ANY is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_45_warmelt_normatch_MGLABEL_ANY_st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 12; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_45_warmelt_normatch_MGLABEL_ANY nbval 12*/ meltfram__.mcfr_nbvar = 12 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("MGLABEL_ANY", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normatch.melt:1985:/ getarg"); /*_.RECV__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.MG__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.MG__V3*/ meltfptr[2])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { MELT_LOCATION ("warmelt-normatch.melt:1986:/ quasiblock"); /*_.DIS__V5*/ meltfptr[4] = ((melt_ptr_t) (melt_discr ((melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]))));; MELT_LOCATION ("warmelt-normatch.melt:1987:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.DIS__V5*/ meltfptr[4]), (melt_ptr_t) (( /*!CLASS_NAMED */ meltfrout->tabval[0]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.DIS__V5*/ meltfptr[4]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.DISNAME__V6*/ meltfptr[5] = slot; }; ; } else { /*^cond.else */ /*_.DISNAME__V6*/ meltfptr[5] = NULL;; } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1989:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1989:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1989:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[9]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1989; /*^apply.arg */ argtab[3].meltbp_cstring = "mglabel_any recv="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.RECV__V2*/ meltfptr[1]; /*^apply.arg */ argtab[5].meltbp_cstring = " mg="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.MG__V3*/ meltfptr[2]; /*^apply.arg */ argtab[7].meltbp_cstring = " dis="; /*^apply.arg */ argtab[8].meltbp_aptr = (melt_ptr_t *) & /*_.DIS__V5*/ meltfptr[4]; /*_.MELT_DEBUG_FUN__V9*/ meltfptr[8] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[1])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V8*/ meltfptr[7] = /*_.MELT_DEBUG_FUN__V9*/ meltfptr[8];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1989:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V9*/ meltfptr[8] = 0; } ; } else { /*^cond.else */ /*_.IF___V8*/ meltfptr[7] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1989:/ quasiblock"); /*_.PROGN___V10*/ meltfptr[8] = /*_.IF___V8*/ meltfptr[7];; /*^compute */ /*_.IFCPP___V7*/ meltfptr[6] = /*_.PROGN___V10*/ meltfptr[8];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1989:/ clear"); /*clear *//*_#MELT_NEED_DBG__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V8*/ meltfptr[7] = 0; /*^clear */ /*clear *//*_.PROGN___V10*/ meltfptr[8] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V7*/ meltfptr[6] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; { MELT_LOCATION ("warmelt-normatch.melt:1990:/ locexp"); error ("MELT ERROR MSG [#%ld]::: %s - %s", melt_dbgcounter, ("unimplemented MATCHGRAPHIC_LABEL for "), melt_string_str ((melt_ptr_t) ( /*_.DISNAME__V6*/ meltfptr[5]))); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1991:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*^cond */ /*cond */ if (( /*nil */ NULL)) /*then */ { /*^cond.then */ /*_.IFELSE___V12*/ meltfptr[8] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:1991:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("@$@unexpected mglabel_anyobj"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (1991) ? (1991) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V12*/ meltfptr[8] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V11*/ meltfptr[7] = /*_.IFELSE___V12*/ meltfptr[8];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1991:/ clear"); /*clear *//*_.IFELSE___V12*/ meltfptr[8] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V11*/ meltfptr[7] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; /*^compute */ /*_.LET___V4*/ meltfptr[3] = /*_.IFCPP___V11*/ meltfptr[7];; MELT_LOCATION ("warmelt-normatch.melt:1986:/ clear"); /*clear *//*_.DIS__V5*/ meltfptr[4] = 0; /*^clear */ /*clear *//*_.DISNAME__V6*/ meltfptr[5] = 0; /*^clear */ /*clear *//*_.IFCPP___V7*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.IFCPP___V11*/ meltfptr[7] = 0; MELT_LOCATION ("warmelt-normatch.melt:1985:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V4*/ meltfptr[3];; { MELT_LOCATION ("warmelt-normatch.melt:1985:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*epilog */ /*^clear */ /*clear *//*_.LET___V4*/ meltfptr[3] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("MGLABEL_ANY", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_45_warmelt_normatch_MGLABEL_ANY_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_45_warmelt_normatch_MGLABEL_ANY */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_46_warmelt_normatch_MGLABEL_ANY_TEST (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un * meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un * meltxrestab_) { long current_blocklevel_signals_meltrout_46_warmelt_normatch_MGLABEL_ANY_TEST_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_46_warmelt_normatch_MGLABEL_ANY_TEST_st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 34 melt_ptr_t mcfr_varptr[34]; #define MELTFRAM_NBVARNUM 16 long mcfr_varnum[16]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_46_warmelt_normatch_MGLABEL_ANY_TEST is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_46_warmelt_normatch_MGLABEL_ANY_TEST_st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 34; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_46_warmelt_normatch_MGLABEL_ANY_TEST nbval 34*/ meltfram__.mcfr_nbvar = 34 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("MGLABEL_ANY_TEST", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normatch.melt:1995:/ getarg"); /*_.NTEST__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.MG__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.MG__V3*/ meltfptr[2])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1996:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:1996:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:1996:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1996; /*^apply.arg */ argtab[3].meltbp_cstring = "mglabel_any_test start ntest"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NTEST__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V6*/ meltfptr[5] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V5*/ meltfptr[4] = /*_.MELT_DEBUG_FUN__V6*/ meltfptr[5];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1996:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V6*/ meltfptr[5] = 0; } ; } else { /*^cond.else */ /*_.IF___V5*/ meltfptr[4] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:1996:/ quasiblock"); /*_.PROGN___V7*/ meltfptr[5] = /*_.IF___V5*/ meltfptr[4];; /*^compute */ /*_.IFCPP___V4*/ meltfptr[3] = /*_.PROGN___V7*/ meltfptr[5];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1996:/ clear"); /*clear *//*_#MELT_NEED_DBG__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V5*/ meltfptr[4] = 0; /*^clear */ /*clear *//*_.PROGN___V7*/ meltfptr[5] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V4*/ meltfptr[3] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1997:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L3*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.NTEST__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_NORMTESTER_ANY */ meltfrout->tabval[1])));; MELT_LOCATION ("warmelt-normatch.melt:1997:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V9*/ meltfptr[5] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:1997:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check ntest"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (1997) ? (1997) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V9*/ meltfptr[5] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V8*/ meltfptr[4] = /*_.IFELSE___V9*/ meltfptr[5];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1997:/ clear"); /*clear *//*_#IS_A__L3*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V9*/ meltfptr[5] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V8*/ meltfptr[4] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:1998:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L4*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.MG__V3*/ meltfptr[2]), (melt_ptr_t) (( /*!CLASS_MATCH_GRAPHIC */ meltfrout->tabval[2])));; MELT_LOCATION ("warmelt-normatch.melt:1998:/ cond"); /*cond */ if ( /*_#IS_A__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V11*/ meltfptr[10] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:1998:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check mg"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (1998) ? (1998) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V11*/ meltfptr[10] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[5] = /*_.IFELSE___V11*/ meltfptr[10];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:1998:/ clear"); /*clear *//*_#IS_A__L4*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V11*/ meltfptr[10] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V10*/ meltfptr[5] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normatch.melt:1999:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.NTEST__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 0, "NREP_LOC"); /*_.NLOC__V13*/ meltfptr[12] = slot; }; ; MELT_LOCATION ("warmelt-normatch.melt:2000:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.NTEST__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NTEST_MATCHED"); /*_.NMATCHED__V14*/ meltfptr[13] = slot; }; ; MELT_LOCATION ("warmelt-normatch.melt:2001:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.MG__V3*/ meltfptr[2]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "MCHGX_NODOUT"); /*_.NODOUT__V15*/ meltfptr[14] = slot; }; ; MELT_LOCATION ("warmelt-normatch.melt:2002:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.MG__V3*/ meltfptr[2]) /*=obj*/ ; melt_object_get_field (slot, obj, 3, "MCHGX_EDGOUT"); /*_.EDGOUT__V16*/ meltfptr[15] = slot; }; ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:2004:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L5*/ meltfnum[1] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:2004:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L5*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L6*/ meltfnum[0] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:2004:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L6*/ meltfnum[0]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 2004; /*^apply.arg */ argtab[3].meltbp_cstring = "mglabel_any_test nloc="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NLOC__V13*/ meltfptr[12]; /*^apply.arg */ argtab[5].meltbp_cstring = " nmatched="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.NMATCHED__V14*/ meltfptr[13]; /*_.MELT_DEBUG_FUN__V19*/ meltfptr[18] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V18*/ meltfptr[17] = /*_.MELT_DEBUG_FUN__V19*/ meltfptr[18];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:2004:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L6*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V19*/ meltfptr[18] = 0; } ; } else { /*^cond.else */ /*_.IF___V18*/ meltfptr[17] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:2004:/ quasiblock"); /*_.PROGN___V20*/ meltfptr[18] = /*_.IF___V18*/ meltfptr[17];; /*^compute */ /*_.IFCPP___V17*/ meltfptr[16] = /*_.PROGN___V20*/ meltfptr[18];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:2004:/ clear"); /*clear *//*_#MELT_NEED_DBG__L5*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IF___V18*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_.PROGN___V20*/ meltfptr[18] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V17*/ meltfptr[16] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:2005:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_OUT__L7*/ meltfnum[0] = (melt_is_out ((melt_ptr_t) /*_.NODOUT__V15*/ meltfptr[14]));; MELT_LOCATION ("warmelt-normatch.melt:2005:/ cond"); /*cond */ if ( /*_#IS_OUT__L7*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V22*/ meltfptr[18] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:2005:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nodout"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (2005) ? (2005) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V22*/ meltfptr[18] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V21*/ meltfptr[17] = /*_.IFELSE___V22*/ meltfptr[18];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:2005:/ clear"); /*clear *//*_#IS_OUT__L7*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V22*/ meltfptr[18] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V21*/ meltfptr[17] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:2006:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_OUT__L8*/ meltfnum[1] = (melt_is_out ((melt_ptr_t) /*_.EDGOUT__V16*/ meltfptr[15]));; MELT_LOCATION ("warmelt-normatch.melt:2006:/ cond"); /*cond */ if ( /*_#IS_OUT__L8*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V24*/ meltfptr[23] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normatch.melt:2006:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check edgout"), ("warmelt-normatch.melt") ? ("warmelt-normatch.melt") : __FILE__, (2006) ? (2006) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V24*/ meltfptr[23] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V23*/ meltfptr[18] = /*_.IFELSE___V24*/ meltfptr[23];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:2006:/ clear"); /*clear *//*_#IS_OUT__L8*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V24*/ meltfptr[23] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V23*/ meltfptr[18] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; { MELT_LOCATION ("warmelt-normatch.melt:2008:/ locexp"); meltgc_add_out ((melt_ptr_t) ( /*_.NODOUT__V15*/ meltfptr[14]), ("")); } ; { MELT_LOCATION ("warmelt-normatch.melt:2009:/ locexp"); meltgc_add_out ((melt_ptr_t) ( /*_.NODOUT__V15*/ meltfptr[14]), ("")); } ; MELT_LOCATION ("warmelt-normatch.melt:2011:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NTEST__V2*/ meltfptr[1]; /*_.MG_OUT_NODE_NAME__V25*/ meltfptr[23] = melt_apply ((meltclosure_ptr_t) (( /*!MG_OUT_NODE_NAME */ meltfrout->tabval[3])), (melt_ptr_t) ( /*_.NODOUT__V15*/ meltfptr[14]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; { MELT_LOCATION ("warmelt-normatch.melt:2012:/ locexp"); meltgc_add_out ((melt_ptr_t) ( /*_.NODOUT__V15*/ meltfptr[14]), (" ")); } ; { MELT_LOCATION ("warmelt-normatch.melt:2013:/ locexp"); meltgc_add_out ((melt_ptr_t) ( /*_.NODOUT__V15*/ meltfptr[14]), ("#")); } ; /*_#OBJ_HASH__L9*/ meltfnum[0] = (melt_obj_hash ((melt_ptr_t) ( /*_.NTEST__V2*/ meltfptr[1])));; { MELT_LOCATION ("warmelt-normatch.melt:2014:/ locexp"); meltgc_add_out_hex ((melt_ptr_t) ( /*_.NODOUT__V15*/ meltfptr[14]), ( /*_#OBJ_HASH__L9*/ meltfnum[0])); } ; { MELT_LOCATION ("warmelt-normatch.melt:2015:/ locexp"); meltgc_add_out ((melt_ptr_t) ( /*_.NODOUT__V15*/ meltfptr[14]), (" ")); } ; { MELT_LOCATION ("warmelt-normatch.melt:2016:/ locexp"); meltgc_add_out ((melt_ptr_t) ( /*_.NODOUT__V15*/ meltfptr[14]), ("")); } ; { MELT_LOCATION ("warmelt-normatch.melt:2017:/ locexp"); meltgc_out_add_indent ((melt_ptr_t) ( /*_.NODOUT__V15*/ meltfptr[14]), (2), 0);; } ; MELT_LOCATION ("warmelt-normatch.melt:2020:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#IS_MIXLOC__L10*/ meltfnum[1] = (melt_magic_discr ((melt_ptr_t) ( /*_.NLOC__V13*/ meltfptr[12])) == MELTOBMAG_MIXLOC);; MELT_LOCATION ("warmelt-normatch.melt:2020:/ cond"); /*cond */ if ( /*_#IS_MIXLOC__L10*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-normatch.melt:2021:/ locexp"); meltgc_add_out ((melt_ptr_t) ( /*_.NODOUT__V15*/ meltfptr[14]), ("")); } ; { MELT_LOCATION ("warmelt-normatch.melt:2022:/ locexp"); meltgc_add_out ((melt_ptr_t) ( /*_.NODOUT__V15*/ meltfptr[14]), ("")); } ; { MELT_LOCATION ("warmelt-normatch.melt:2023:/ locexp"); /*add2outmixloc */ if (melt_magic_discr ((melt_ptr_t) ( /*_.NLOC__V13*/ meltfptr[12])) == MELTOBMAG_MIXLOC) { char locbuf[256]; location_t tloc = melt_location_mixloc ((melt_ptr_t) /*_.NLOC__V13*/ meltfptr[12]); memset (locbuf, 0, sizeof (locbuf)); snprintf (locbuf, sizeof (locbuf) - 1, "{%.200s:%d}", LOCATION_FILE (tloc), LOCATION_LINE (tloc)); meltgc_add_out_raw ((melt_ptr_t) /*_.NODOUT__V15*/ meltfptr[14], locbuf); } /*end add2outmixloc */ ; } ; { MELT_LOCATION ("warmelt-normatch.melt:2024:/ locexp"); meltgc_add_out ((melt_ptr_t) ( /*_.NODOUT__V15*/ meltfptr[14]), (" ")); } ; { MELT_LOCATION ("warmelt-normatch.melt:2025:/ locexp"); meltgc_out_add_indent ((melt_ptr_t) ( /*_.NODOUT__V15*/ meltfptr[14]), (2), 0);; } ; MELT_LOCATION ("warmelt-normatch.melt:2020:/ quasiblock"); /*epilog */ } ; } else { /*^cond.else */ /*_.IFELSE___V26*/ meltfptr[25] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:2030:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#IS_A__L11*/ meltfnum[10] = melt_is_instance_of ((melt_ptr_t) ( /*_.NMATCHED__V14*/ meltfptr[13]), (melt_ptr_t) (( /*!CLASS_NREP_LOCSYMOCC */ meltfrout->tabval[4])));; MELT_LOCATION ("warmelt-normatch.melt:2030:/ cond"); /*cond */ if ( /*_#IS_A__L11*/ meltfnum[10]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normatch.melt:2031:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.NMATCHED__V14*/ meltfptr[13]) /*=obj*/ ; melt_object_get_field (slot, obj, 0, "NREP_LOC"); /*_.NMALOC__V27*/ meltfptr[26] = slot; }; ; MELT_LOCATION ("warmelt-normatch.melt:2032:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.NMATCHED__V14*/ meltfptr[13]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NOCC_SYMB"); /*_.NMASYMB__V28*/ meltfptr[27] = slot; }; ; MELT_LOCATION ("warmelt-normatch.melt:2034:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.NMASYMB__V28*/ meltfptr[27]), (melt_ptr_t) (( /*!CLASS_CLONED_SYMBOL */ meltfrout->tabval[5]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.NMASYMB__V28*/ meltfptr[27]) /*=obj*/ ; melt_object_get_field (slot, obj, 3, "CSYM_URANK"); /*_.CSYM_URANK__V29*/ meltfptr[28] = slot; }; ; } else { /*^cond.else */ /*_.CSYM_URANK__V29*/ meltfptr[28] = NULL;; } ; /*^compute */ /*_#NMARANK__L12*/ meltfnum[11] = (melt_get_int ((melt_ptr_t) ( /*_.CSYM_URANK__V29*/ meltfptr[28])));; { MELT_LOCATION ("warmelt-normatch.melt:2036:/ locexp"); meltgc_add_out ((melt_ptr_t) ( /*_.NODOUT__V15*/ meltfptr[14]), ("")); } ; { MELT_LOCATION ("warmelt-normatch.melt:2037:/ locexp"); meltgc_add_out ((melt_ptr_t) ( /*_.NODOUT__V15*/ meltfptr[14]), ("")); } ; MELT_LOCATION ("warmelt-normatch.melt:2038:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.NMASYMB__V28*/ meltfptr[27]), (melt_ptr_t) (( /*!CLASS_NAMED */ meltfrout->tabval[6]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.NMASYMB__V28*/ meltfptr[27]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V30*/ meltfptr[29] = slot; }; ; } else { /*^cond.else */ /*_.NAMED_NAME__V30*/ meltfptr[29] = NULL;; } ; { MELT_LOCATION ("warmelt-normatch.melt:2038:/ locexp"); meltgc_add_out ((melt_ptr_t) ( /*_.NODOUT__V15*/ meltfptr[14]), melt_string_str ((melt_ptr_t) ( /*_.NAMED_NAME__V30*/ meltfptr[29]))); } ; MELT_LOCATION ("warmelt-normatch.melt:2039:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#I__L13*/ meltfnum[12] = (( /*_#NMARANK__L12*/ meltfnum[11]) > (0));; MELT_LOCATION ("warmelt-normatch.melt:2039:/ cond"); /*cond */ if ( /*_#I__L13*/ meltfnum[12]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-normatch.melt:2041:/ locexp"); meltgc_add_out ((melt_ptr_t) ( /*_.NODOUT__V15*/ meltfptr[14]), (" #")); } ; { MELT_LOCATION ("warmelt-normatch.melt:2042:/ locexp"); meltgc_add_out_hex ((melt_ptr_t) ( /*_.NODOUT__V15*/ meltfptr[14]), ( /*_#NMARANK__L12*/ meltfnum[11])); } ; { MELT_LOCATION ("warmelt-normatch.melt:2043:/ locexp"); meltgc_add_out ((melt_ptr_t) ( /*_.NODOUT__V15*/ meltfptr[14]), (" ")); } ; MELT_LOCATION ("warmelt-normatch.melt:2040:/ quasiblock"); /*epilog */ } ; } /*noelse */ ; { MELT_LOCATION ("warmelt-normatch.melt:2045:/ locexp"); meltgc_add_out ((melt_ptr_t) ( /*_.NODOUT__V15*/ meltfptr[14]), (" ##")); } ; /*_#OBJ_HASH__L14*/ meltfnum[13] = (melt_obj_hash ((melt_ptr_t) ( /*_.NMATCHED__V14*/ meltfptr[13])));; { MELT_LOCATION ("warmelt-normatch.melt:2046:/ locexp"); meltgc_add_out_hex ((melt_ptr_t) ( /*_.NODOUT__V15*/ meltfptr[14]), ( /*_#OBJ_HASH__L14*/ meltfnum[13])); } ; { MELT_LOCATION ("warmelt-normatch.melt:2047:/ locexp"); meltgc_add_out ((melt_ptr_t) ( /*_.NODOUT__V15*/ meltfptr[14]), (" ")); } ; { MELT_LOCATION ("warmelt-normatch.melt:2048:/ locexp"); meltgc_out_add_indent ((melt_ptr_t) ( /*_.NODOUT__V15*/ meltfptr[14]), (2), 0);; } ; MELT_LOCATION ("warmelt-normatch.melt:2031:/ clear"); /*clear *//*_.NMALOC__V27*/ meltfptr[26] = 0; /*^clear */ /*clear *//*_.NMASYMB__V28*/ meltfptr[27] = 0; /*^clear */ /*clear *//*_.CSYM_URANK__V29*/ meltfptr[28] = 0; /*^clear */ /*clear *//*_#NMARANK__L12*/ meltfnum[11] = 0; /*^clear */ /*clear *//*_.NAMED_NAME__V30*/ meltfptr[29] = 0; /*^clear */ /*clear *//*_#I__L13*/ meltfnum[12] = 0; /*^clear */ /*clear *//*_#OBJ_HASH__L14*/ meltfnum[13] = 0; /*epilog */ } ; } /*noelse */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normatch.melt:2050:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L15*/ meltfnum[11] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normatch.melt:2050:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L15*/ meltfnum[11]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L16*/ meltfnum[12] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normatch.melt:2050:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L16*/ meltfnum[12]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normatch.melt"; /*^apply.arg */ argtab[2].meltbp_long = 2050; /*^apply.arg */ argtab[3].meltbp_cstring = "mglabel_any_test end ntest"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NTEST__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V33*/ 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_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V32*/ meltfptr[27] = /*_.MELT_DEBUG_FUN__V33*/ meltfptr[28];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:2050:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L16*/ meltfnum[12] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V33*/ meltfptr[28] = 0; } ; } else { /*^cond.else */ /*_.IF___V32*/ meltfptr[27] = NULL;; } ; MELT_LOCATION ("warmelt-normatch.melt:2050:/ quasiblock"); /*_.PROGN___V34*/ meltfptr[29] = /*_.IF___V32*/ meltfptr[27];; /*^compute */ /*_.IFCPP___V31*/ meltfptr[26] = /*_.PROGN___V34*/ meltfptr[29];; /*epilog */ MELT_LOCATION ("warmelt-normatch.melt:2050:/ clear"); /*clear *//*_#MELT_NEED_DBG__L15*/ meltfnum[11] = 0; /*^clear */ /*clear *//*_.IF___V32*/ meltfptr[27] = 0; /*^clear */ /*clear *//*_.PROGN___V34*/ meltfptr[29] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V31*/ meltfptr[26] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; /*^compute */ /*_.LET___V12*/ meltfptr[10] = /*_.IFCPP___V31*/ meltfptr[26];; MELT_LOCATION ("warmelt-normatch.melt:1999:/ clear"); /*clear *//*_.NLOC__V13*/ meltfptr[12] = 0; /*^clear */ /*clear *//*_.NMATCHED__V14*/ meltfptr[13] = 0; /*^clear */ /*clear *//*_.NODOUT__V15*/ meltfptr[14] = 0; /*^clear */ /*clear *//*_.EDGOUT__V16*/ meltfptr[15] = 0; /*^clear */ /*clear *//*_.IFCPP___V17*/ meltfptr[16] = 0; /*^clear */ /*clear *//*_.IFCPP___V21*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_.IFCPP___V23*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_.MG_OUT_NODE_NAME__V25*/ meltfptr[23] = 0; /*^clear */ /*clear *//*_#OBJ_HASH__L9*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_#IS_MIXLOC__L10*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V26*/ meltfptr[25] = 0; /*^clear */ /*clear *//*_#IS_A__L11*/ meltfnum[10] = 0; /*^clear */ /*clear *//*_.IFCPP___V31*/ meltfptr[26] = 0; MELT_LOCATION ("warmelt-normatch.melt:1995:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V12*/ meltfptr[10];; { MELT_LOCATION ("warmelt-normatch.melt:1995:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V4*/ meltfptr[3] = 0; /*^clear */ /*clear *//*_.IFCPP___V8*/ meltfptr[4] = 0; /*^clear */ /*clear *//*_.IFCPP___V10*/ meltfptr[5] = 0; /*^clear */ /*clear *//*_.LET___V12*/ meltfptr[10] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("MGLABEL_ANY_TEST", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_46_warmelt_normatch_MGLABEL_ANY_TEST_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_46_warmelt_normatch_MGLABEL_ANY_TEST */ /**** end of warmelt-normatch+01.c ****/