/*
**
** The C code is generated by ATS/Anairiats
** The compilation time is: 2019-12-18:  5h:28m
**
*/

/* include some .h files */
#ifndef _ATS_HEADER_NONE
#include "ats_config.h"
#include "ats_basics.h"
#include "ats_types.h"
#include "ats_exception.h"
#include "ats_memory.h"
#endif /* _ATS_HEADER_NONE */

/* include some .cats files */
#ifndef _ATS_PRELUDE_NONE
#include "prelude/CATS/basics.cats"
#include "prelude/CATS/integer.cats"
#include "prelude/CATS/sizetype.cats"
#include "prelude/CATS/integer_ptr.cats"
#include "prelude/CATS/integer_fixed.cats"
#include "prelude/CATS/pointer.cats"
#include "prelude/CATS/bool.cats"
#include "prelude/CATS/char.cats"
#include "prelude/CATS/byte.cats"
#include "prelude/CATS/float.cats"
#include "prelude/CATS/string.cats"
#include "prelude/CATS/reference.cats"
#include "prelude/CATS/lazy.cats"
#include "prelude/CATS/lazy_vt.cats"
#include "prelude/CATS/printf.cats"
#include "prelude/CATS/list.cats"
#include "prelude/CATS/option.cats"
#include "prelude/CATS/array.cats"
#include "prelude/CATS/matrix.cats"
#endif /* _ATS_PRELUDE_NONE */
/* prologues from statically loaded files */

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_tokbuf.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_tokbuf.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"
/* external codes at top */
/* type definitions */
typedef
struct {
ats_ptr_type atslab_3 ;
ats_ptr_type atslab_4 ;
} anairiats_rec_0 ;

typedef struct {
ats_ptr_type atslab_0 ;
ats_ptr_type atslab_1 ;
ats_ptr_type atslab_2 ;
} anairiats_sum_1 ;

typedef struct {
ats_ptr_type atslab_0 ;
ats_ptr_type atslab_1 ;
} anairiats_sum_2 ;

typedef
struct {
ats_ptr_type atslab_token_loc ;
ats_ptr_type atslab_token_node ;
} anairiats_rec_3 ;

typedef struct {
int tag ;
ats_ptr_type atslab_0 ;
} anairiats_sum_4 ;

typedef struct {
int tag ;
ats_ptr_type atslab_0 ;
ats_ptr_type atslab_1 ;
} anairiats_sum_5 ;

typedef struct {
int tag ;
ats_int_type atslab_0 ;
} anairiats_sum_6 ;

typedef struct {
ats_ptr_type atslab_0 ;
} anairiats_sum_7 ;

/* external typedefs */
/* external dynamic constructor declarations */
ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ;
ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ;
ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ;
ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ;
ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0) ;
ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_vt_1) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_DOT_9) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_ABSTYPE_31) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_ASSUME_32) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_REASSUME_33) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_CLASSDEC_38) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_DATASORT_39) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_DATATYPE_40) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_EXCEPTION_44) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_EXTERN_45) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_EXTYPE_46) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_EXTVAR_47) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_FIXITY_49) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_FUN_52) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_IMPLEMENT_55) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_LOCAL_60) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_MACDEF_61) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_NONFIX_62) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_STACST_68) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_STADEF_69) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_STATIC_70) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_SORTDEF_71) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_SYMELIM_72) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_SYMINTR_73) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_SYMLOAD_74) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_TKINDEF_76) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_TYPEDEF_79) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_VAL_80) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_VAR_81) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_WHERE_83) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_SRPIF_121) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_SRPIFDEF_122) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_SRPIFNDEF_123) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_SRPELIF_125) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_SRPELIFDEF_126) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_SRPELIFNDEF_127) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_SRPELSE_128) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_SRPENDIF_129) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_SRPERROR_130) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_SRPPRERR_131) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_SRPPRINT_132) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_SRPASSERT_133) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_SRPUNDEF_134) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_SRPDEFINE_135) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_SRPINCLUDE_136) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_SRPSTALOAD_137) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_SRPDYNLOAD_138) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_SRPREQUIRE_139) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_SRPPRAGMA_140) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_SRPCODEGEN2_141) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_IDENT_alp_143) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_IDENT_dlr_147) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_STRING_154) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_LPAREN_157) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_LBRACKET_159) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_LBRACE_161) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_EXTCODE_173) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__STLDfname_0) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__STLDnspace_1) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__PE_stai0de_49) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__PE_impqi0de_55) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__PE_d0ecl_86) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__PE_d0ecl_sta_87) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__PE_d0ecl_dyn_88) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__PE_guad0ecl_89) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__PE_staloadarg_90) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__SYNENT2_0) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__SYNENT3_0) ;

/* external dynamic constant declarations */
ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ;
ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ;
ATSextern_fun(ats_bool_type, atspre_lte_int_int) (ats_int_type, ats_int_type) ;
ATSextern_fun(ats_bool_type, atspre_gt_int_int) (ats_int_type, ats_int_type) ;
ATSextern_fun(ats_bool_type, atspre_eq_int_int) (ats_int_type, ats_int_type) ;
ATSextern_fun(ats_int_type, atspre_isucc) (ats_int_type) ;
ATSextern_fun(ats_int_type, atspre_iadd) (ats_int_type, ats_int_type) ;
ATSextern_fun(ats_int_type, atspre_isub) (ats_int_type, ats_int_type) ;
ATSextern_fun(ats_int_type, atspre_idiv) (ats_int_type, ats_int_type) ;
ATSextern_fun(ats_bool_type, atspre_ilt) (ats_int_type, ats_int_type) ;
ATSextern_fun(ats_bool_type, atspre_igt) (ats_int_type, ats_int_type) ;
ATSextern_fun(ats_bool_type, atspre_igte) (ats_int_type, ats_int_type) ;
ATSextern_fun(ats_size_type, atspre_size1_of_int1) (ats_int_type) ;
ATSextern_fun(ats_size_type, atspre_add_size1_int1) (ats_size_type, ats_int_type) ;
ATSextern_fun(ats_size_type, atspre_sub_size1_int1) (ats_size_type, ats_int_type) ;
ATSextern_fun(ats_size_type, atspre_mul2_size1_size1) (ats_size_type, ats_size_type) ;
ATSextern_fun(ats_bool_type, atspre_lt_size1_size1) (ats_size_type, ats_size_type) ;
ATSextern_fun(ats_bool_type, atspre_gt_size1_int1) (ats_size_type, ats_int_type) ;
ATSextern_fun(ats_bool_type, atspre_neq_size1_size1) (ats_size_type, ats_size_type) ;
ATSextern_fun(ats_ptr_type, atspre_ptr_alloc_tsz) (ats_size_type) ;
ATSextern_fun(ats_void_type, atspre_ptr_zero_tsz) (ats_ref_type, ats_size_type) ;
ATSextern_fun(ats_ptr_type, atspre_ref_make_elt_tsz) (ats_ref_type, ats_size_type) ;
ATSextern_fun(ats_ptr_type, atspre_string_append) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, ListSubscriptException_make) () ;
ATSextern_fun(ats_ptr_type, atspre_array_ptr_alloc_tsz) (ats_size_type, ats_size_type) ;
ATSextern_fun(ats_void_type, atspre_array_ptr_free) (ats_ptr_type) ;
ATSextern_fun(ats_void_type, atspre_array_ptr_initialize_funenv_tsz) (ats_ref_type, ats_size_type, ats_ptr_type, ats_size_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, atspre_array_ptr_initialize_cloenv_tsz) (ats_ref_type, ats_size_type, ats_ref_type, ats_size_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, atspre_array_ptr_split_tsz) (ats_ptr_type, ats_size_type, ats_size_type) ;
ATSextern_fun(ats_ptr_type, atspre_array_ptr_takeout_tsz) (ats_ptr_type, ats_size_type, ats_size_type) ;
ATSextern_fun(anairiats_rec_0, atspre_array_ptr_takeout2_tsz) (ats_ptr_type, ats_size_type, ats_size_type, ats_size_type) ;
ATSextern_fun(ats_void_type, atspre_array_ptr_foreach_funenv_tsz) (ats_ref_type, ats_ptr_type, ats_size_type, ats_size_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, atspre_array_ptr_iforeach_funenv_tsz) (ats_ref_type, ats_ptr_type, ats_size_type, ats_size_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, atspre_array2_ptr_takeout_tsz) (ats_ptr_type, ats_size_type, ats_size_type, ats_size_type) ;
ATSextern_fun(ats_void_type, atslib_qsort) (ats_ref_type, ats_size_type, ats_size_type, ats_ptr_type) ;
ATSextern_fun(ats_uint_type, _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_get_ntok) (ats_ref_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1) (ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_get_token) (ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null) () ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__i0de_make_string) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__i0de_make_lrbrackets) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__i0de_make_dotlab) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0atsrtdec_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__m0acarg_dyn) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__m0acarg_sing) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__m0acarg_sta) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__s0rtdef_make) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__s0tacst_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__s0tacon_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__t0kindef_make) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__s0expdef_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__s0aspdec_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0atdec_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0cstdec_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__i0mparg_sarglst_none) () ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__i0mparg_sarglst_some) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__i0mparg_svararglst) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__impqi0de_make_none) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__impqi0de_make_some) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__m0acdef_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__v0aldec_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__f0undec_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__v0ardec_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__i0mpdec_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_fixity) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_nonfix) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_include) (ats_int_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_symintr) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_symelim) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_e0xpdef) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_e0xpundef) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_e0xpact_assert) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_e0xpact_error) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_e0xpact_prerr) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_e0xpact_print) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_pragma) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_codegen2) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_datsrts) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_srtdefs) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_stacons) (ats_int_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_stacsts) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_tkindef) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_sexpdefs) (ats_int_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_saspdec) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_reassume) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_exndecs) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_datdecs_none) (ats_int_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_datdecs_some) (ats_int_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_macdefs) (ats_int_type, ats_bool_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_overload) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_classdec) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_extype) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_extype2) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_extvar) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_extvar2) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_extcode) (ats_int_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_impdec) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_fundecs) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_valdecs) (ats_ptr_type, ats_bool_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_vardecs) (ats_int_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__staloadarg_declist) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_staload_fname) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_staload_nspace) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_staload_some_arg) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_require) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_dynload) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_dcstdecs) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_dcstdecs_extern) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_dcstdecs_static) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_local) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_guadecl) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__guad0ecl_one) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__guad0ecl_two) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__guad0ecl_cons) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__the_parerrlst_add_ifnbt) (ats_int_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__tokbuf_set_ntok_null) (ats_ref_type, ats_uint_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_END) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_bool_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__is_OF) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_IN) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_REC) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_bool_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_REC_test) (ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_WITH) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_bool_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__is_WITH) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_COLON) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_SEMICOLON) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_LPAREN) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_RPAREN) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_RBRACKET) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_LBRACE) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_RBRACE) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_BANG) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_EQ) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_GT) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_bool_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_GTLT_test) (ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_SRPTHEN) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_SRPENDIF) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__ptokentopt_fun) (ats_ref_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pstar_fun) (ats_ref_type, ats_int_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pstar_fun0_COMMA) (ats_ref_type, ats_int_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pstar_fun1_sep) (ats_ref_type, ats_int_type, ats_ref_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pstar_fun1_AND) (ats_ref_type, ats_int_type, ats_ref_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pstar1_fun) (ats_ref_type, ats_int_type, ats_ref_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__popt_fun) (ats_ref_type, ats_int_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pseq2_fun) (ats_ref_type, ats_int_type, ats_ref_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pseq3_fun) (ats_ref_type, ats_int_type, ats_ref_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_bool_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__ptest_fun) (ats_ref_type, ats_ptr_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun) (ats_ref_type, ats_int_type, ats_ref_type, ats_ptr_type, ats_int_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__ptokwrap_fun) (ats_ref_type, ats_int_type, ats_ref_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_i0nt) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0tring) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_i0de) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_i0deseq1) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_l0ab) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_p0rec) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_colonwith) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_dcstkind) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_extnamopt) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_e0xp) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_e0xpseq) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0rt) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0rtid) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_colons0rtopt) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0arg) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0marg) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_a0msrt) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0atsrtconseq) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0exp) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_si0de) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_sqi0de) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0rtext) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_eqs0expopt) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_colons0expopt) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_q0marg) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_q0margseq) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_e0xndec) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0atconseq) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0cstarg) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0vararg) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_witht0ype) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_tmps0expseq) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_p0at) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_pi0de) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_f0arg1) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_f0arg2) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0exp) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_di0de) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_dqi0de) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_tmpqi0de) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_eqd0expopt) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0ecl) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0ecl_sta) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0ecl_dyn) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0eclseq_fun) (ats_ref_type, ats_int_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0atsrtdecseq) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0rtdefseq) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0taconseq) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0tacstseq) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0expdefseq) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_e0xndecseq) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0atdecseq) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_m0acdef) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0cstdecseq) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_decl_2edats__p_s0ym) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_decl_2edats__p_s0ymseq1) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_decl_2edats__p_m0acarg) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_parsing_decl_2edats__p_stai0de) (ats_ref_type, ats_int_type, ats_ref_type) ;

/* external dynamic terminating constant declarations */
#ifdef _ATS_PROOFCHECK
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2list_2esats__list_length_is_nonnegative_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2list_vt_2esats__list_vt_length_is_nonnegative_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2array_2esats__array_v_takeout2_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_vt_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_vt_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_vt_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_vt_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_vt_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_vt_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2array_2edats____copy_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2array_2edats____free_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2array_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2array_2edats____assert_prfck () ;
#endif /* _ATS_PROOFCHECK */

/* assuming abstract types */
/* sum constructor declarations */
/* exn constructor declarations */
/* global dynamic (non-functional) constant declarations */
/* internal function declarations */
static
ats_ptr_type p_d0atsrtdec_0 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ;
static
ats_ptr_type p_s0rtdef_2 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ;
static
ats_void_type loop_6 (ats_ptr_type arg0) ;
static
ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) ;
static
ats_ptr_type p_s0tacon_4 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ;
static
ats_ptr_type p_s0tacst_8 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ;
static
ats_ptr_type p_t0kindef_10 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ;
static
ats_ptr_type p_s0expdef_11 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ;
static
ats_ptr_type p_s0aspdec_13 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ;
static
ats_ptr_type p_d0atdec_15 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ;
static
ats_ptr_type p_d0cstdec_17 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ;
static
ats_ptr_type p_staloadarg_24 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ;
static
ats_ptr_type p_staload_tok_25 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2, ats_ptr_type arg3) ;
static
ats_ptr_type p_srpifkind_26 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ;
static
ats_ptr_type p_srpelifkind_27 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ;
static
ats_void_type option_vt_free_01544_ats_ptr_type (ats_ptr_type arg0) ;
static
ats_ptr_type p_d0ecl_tok_28 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2, ats_ptr_type arg3) ;
static
ats_void_type loop_32 (ats_ptr_type env0, ats_ref_type arg0, ats_ref_type arg1, ats_ref_type arg2) ;
static
ats_clo_ptr_type loop_32_closure_make (ats_ptr_type env0) ;
static
ats_void_type loop_32_clofun (ats_clo_ptr_type cloptr, ats_ref_type arg0, ats_ref_type arg1, ats_ref_type arg2) ;
static
ats_ptr_type guad0ecl_fun_33 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2, ats_ptr_type arg3) ;
static
ats_ptr_type p_d0ecl_sta_tok_34 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2, ats_ptr_type arg3) ;
static
ats_ptr_type p_v0aldec_36 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ;
static
ats_ptr_type p_f0undec_37 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ;
static
ats_ptr_type p_v0ardec_38 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ;
static
ats_ptr_type p_i0mpsvararg_39 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ;
static
ats_ptr_type p_i0mparg_40 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ;
static
ats_ptr_type p_impqi0de_41 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ;
static
ats_ptr_type p_i0mpdec_42 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ;
static
ats_ptr_type p_d0ecl_dyn_tok_43 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2, ats_ptr_type arg3) ;

/* partial value template declarations */
/* static temporary variable declarations */
/* external value variable declarations */

/* function implementations */

/*
// /tmp/ATS-Postiats/src/pats_parsing_decl.dats: 1812(line=65, offs=1) -- 2208(line=79, offs=4)
*/
ATSstaticdec()
ats_ptr_type
p_d0atsrtdec_0 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp0) ;
ATSlocal (ats_int_type, tmp1) ;
ATSlocal (ats_ptr_type, tmp2) ;
ATSlocal (ats_ptr_type, tmp3) ;
ATSlocal (ats_ptr_type, tmp4) ;
ATSlocal (ats_ptr_type, tmp5) ;
ATSlocal (ats_bool_type, tmp6) ;

__ats_lab_p_d0atsrtdec_0:
tmp1 = ats_ptrget_mac(ats_int_type, arg2) ;
tmp2 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pseq3_fun (arg0, arg1, arg2, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0rtid, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_EQ, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0atsrtconseq) ;
// 
tmp3 = ats_caselptrlab_mac(anairiats_sum_1, tmp2, atslab_0) ;
tmp4 = ats_caselptrlab_mac(anairiats_sum_1, tmp2, atslab_1) ;
tmp5 = ats_caselptrlab_mac(anairiats_sum_1, tmp2, atslab_2) ;
ATS_FREE(tmp2) ;
tmp6 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp1) ;
if (tmp6) {
tmp0 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0atsrtdec_make (tmp3, tmp4, tmp5) ;
} else {
tmp0 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null () ;
} /* end of [if] */
return (tmp0) ;
} /* end of [p_d0atsrtdec_0] */

/*
// /tmp/ATS-Postiats/src/pats_parsing_decl.dats: 2263(line=83, offs=3) -- 2356(line=87, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0atsrtdecseq (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp7) ;
ATSlocal (ats_ptr_type, tmp8) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0atsrtdecseq:
tmp8 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pstar_fun1_AND (arg0, arg1, arg2, &p_d0atsrtdec_0) ;
tmp7 = ats_castfn_mac(ats_ptr_type, tmp8) ;
return (tmp7) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0atsrtdecseq] */

/*
// /tmp/ATS-Postiats/src/pats_parsing_decl.dats: 2447(line=95, offs=1) -- 2818(line=109, offs=4)
*/
ATSstaticdec()
ats_ptr_type
p_s0rtdef_2 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp9) ;
ATSlocal (ats_int_type, tmp10) ;
ATSlocal (ats_ptr_type, tmp11) ;
ATSlocal (ats_ptr_type, tmp12) ;
ATSlocal (ats_ptr_type, tmp13) ;
ATSlocal (ats_bool_type, tmp14) ;

__ats_lab_p_s0rtdef_2:
tmp10 = ats_ptrget_mac(ats_int_type, arg2) ;
tmp11 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pseq3_fun (arg0, arg1, arg2, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0rtid, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_EQ, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0rtext) ;
// 
tmp12 = ats_caselptrlab_mac(anairiats_sum_1, tmp11, atslab_0) ;
tmp13 = ats_caselptrlab_mac(anairiats_sum_1, tmp11, atslab_2) ;
ATS_FREE(tmp11) ;
tmp14 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp10) ;
if (tmp14) {
tmp9 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__s0rtdef_make (tmp12, tmp13) ;
} else {
tmp9 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null () ;
} /* end of [if] */
return (tmp9) ;
} /* end of [p_s0rtdef_2] */

/*
// /tmp/ATS-Postiats/src/pats_parsing_decl.dats: 2867(line=113, offs=3) -- 2957(line=117, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0rtdefseq (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp15) ;
ATSlocal (ats_ptr_type, tmp16) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0rtdefseq:
tmp16 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pstar_fun1_AND (arg0, arg1, arg2, &p_s0rtdef_2) ;
tmp15 = ats_castfn_mac(ats_ptr_type, tmp16) ;
return (tmp15) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0rtdefseq] */

/*
// /home/ats-lang-anairiats-0.2.12/prelude/DATS/list_vt.dats: 4893(line=177, offs=7) -- 5015(line=178, offs=73)
*/
ATSstaticdec()
ats_void_type
loop_6 (ats_ptr_type arg0) {
/* local vardec */
// ATSlocal_void (tmp27) ;
ATSlocal (ats_ptr_type, tmp28) ;

__ats_lab_loop_6:
do {
/* branch: __ats_lab_0 */
__ats_lab_0_0:
if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_1_0 ; }
__ats_lab_0_1:
tmp28 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_1) ;
ATS_FREE(arg0) ;
arg0 = tmp28 ;
goto __ats_lab_loop_6 ; // tail call
break ;

/* branch: __ats_lab_1 */
__ats_lab_1_0:
// if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_1_1:
break ;
} while (0) ;
return /* (tmp27) */ ;
} /* end of [loop_6] */

/*
// /home/ats-lang-anairiats-0.2.12/prelude/DATS/list_vt.dats: 4875(line=176, offs=14) -- 5054(line=182, offs=4)
*/
ATSstaticdec()
ats_void_type
list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) {
/* local vardec */
// ATSlocal_void (tmp26) ;

__ats_lab_list_vt_free_01499_ats_ptr_type:
/* tmp26 = */ loop_6 (arg0) ;
return /* (tmp26) */ ;
} /* end of [list_vt_free_01499_ats_ptr_type] */

/*
// /tmp/ATS-Postiats/src/pats_parsing_decl.dats: 3056(line=125, offs=1) -- 3601(line=148, offs=4)
*/
ATSstaticdec()
ats_ptr_type
p_s0tacon_4 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp17) ;
ATSlocal (ats_int_type, tmp18) ;
ATSlocal (ats_uint_type, tmp19) ;
ATSlocal (ats_ptr_type, tmp20) ;
ATSlocal (ats_ptr_type, tmp21) ;
ATSlocal (ats_bool_type, tmp22) ;
ATSlocal (ats_ptr_type, tmp23) ;
ATSlocal (ats_bool_type, tmp24) ;
// ATSlocal_void (tmp25) ;

__ats_lab_p_s0tacon_4:
tmp18 = ats_ptrget_mac(ats_int_type, arg2) ;
tmp19 = _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ;
tmp20 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_si0de (arg0, arg1, arg2) ;
tmp22 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp18) ;
if (tmp22) {
tmp21 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pstar_fun (arg0, 0, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_a0msrt) ;
} else {
tmp21 = (ats_sum_ptr_type)0 ;
} /* end of [if] */
tmp23 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_eqs0expopt, tmp18) ;
tmp24 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp18) ;
if (tmp24) {
tmp17 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__s0tacon_make (tmp20, ats_castfn_mac(ats_ptr_type, tmp21), tmp23) ;
} else {
/* tmp25 = */ list_vt_free_01499_ats_ptr_type (tmp21) ;
tmp17 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp19) ;
} /* end of [if] */
return (tmp17) ;
} /* end of [p_s0tacon_4] */

/*
// /tmp/ATS-Postiats/src/pats_parsing_decl.dats: 3650(line=152, offs=3) -- 3740(line=156, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0taconseq (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp29) ;
ATSlocal (ats_ptr_type, tmp30) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0taconseq:
tmp30 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pstar_fun1_AND (arg0, arg1, arg2, &p_s0tacon_4) ;
tmp29 = ats_castfn_mac(ats_ptr_type, tmp30) ;
return (tmp29) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0taconseq] */

/*
// /tmp/ATS-Postiats/src/pats_parsing_decl.dats: 3847(line=164, offs=1) -- 4518(line=191, offs=4)
*/
ATSstaticdec()
ats_ptr_type
p_s0tacst_8 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp31) ;
ATSlocal (ats_int_type, tmp32) ;
ATSlocal (ats_uint_type, tmp33) ;
ATSlocal (ats_ptr_type, tmp34) ;
ATSlocal (ats_ptr_type, tmp35) ;
ATSlocal (ats_bool_type, tmp36) ;
ATSlocal (ats_ptr_type, tmp37) ;
ATSlocal (ats_ptr_type, tmp38) ;
ATSlocal (ats_ptr_type, tmp39) ;
ATSlocal (ats_bool_type, tmp40) ;
// ATSlocal_void (tmp41) ;

__ats_lab_p_s0tacst_8:
tmp32 = ats_ptrget_mac(ats_int_type, arg2) ;
tmp33 = _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ;
tmp34 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_si0de (arg0, arg1, arg2) ;
tmp36 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp32) ;
if (tmp36) {
tmp35 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pstar_fun (arg0, 0, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_a0msrt) ;
} else {
tmp35 = (ats_sum_ptr_type)0 ;
} /* end of [if] */
tmp37 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_COLON, tmp32) ;
tmp38 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0rt, tmp32) ;
tmp39 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_extnamopt, tmp32) ;
tmp40 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp32) ;
if (tmp40) {
tmp31 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__s0tacst_make (tmp34, ats_castfn_mac(ats_ptr_type, tmp35), tmp38, tmp39) ;
} else {
/* tmp41 = */ list_vt_free_01499_ats_ptr_type (tmp35) ;
tmp31 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp33) ;
} /* end of [if] */
return (tmp31) ;
} /* end of [p_s0tacst_8] */

/*
// /tmp/ATS-Postiats/src/pats_parsing_decl.dats: 4567(line=195, offs=3) -- 4657(line=199, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0tacstseq (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp42) ;
ATSlocal (ats_ptr_type, tmp43) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0tacstseq:
tmp43 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pstar_fun1_AND (arg0, arg1, arg2, &p_s0tacst_8) ;
tmp42 = ats_castfn_mac(ats_ptr_type, tmp43) ;
return (tmp42) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0tacstseq] */

/*
// /tmp/ATS-Postiats/src/pats_parsing_decl.dats: 5386(line=245, offs=1) -- 5767(line=261, offs=4)
*/
ATSstaticdec()
ats_ptr_type
p_t0kindef_10 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp44) ;
ATSlocal (ats_int_type, tmp45) ;
ATSlocal (ats_uint_type, tmp46) ;
ATSlocal (ats_ptr_type, tmp47) ;
ATSlocal (ats_ptr_type, tmp48) ;
ATSlocal (ats_ptr_type, tmp49) ;
ATSlocal (ats_bool_type, tmp50) ;

__ats_lab_p_t0kindef_10:
tmp45 = ats_ptrget_mac(ats_int_type, arg2) ;
tmp46 = _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ;
tmp47 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_si0de (arg0, arg1, arg2) ;
tmp48 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_EQ, tmp45) ;
tmp49 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0tring, tmp45) ;
tmp50 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp45) ;
if (tmp50) {
tmp44 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__t0kindef_make (tmp47, tmp49) ;
} else {
tmp44 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp46) ;
} /* end of [if] */
return (tmp44) ;
} /* end of [p_t0kindef_10] */

/*
// /tmp/ATS-Postiats/src/pats_parsing_decl.dats: 5874(line=270, offs=1) -- 6562(line=303, offs=4)
*/
ATSstaticdec()
ats_ptr_type
p_s0expdef_11 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp51) ;
ATSlocal (ats_int_type, tmp52) ;
ATSlocal (ats_uint_type, tmp53) ;
ATSlocal (ats_ptr_type, tmp54) ;
ATSlocal (ats_ptr_type, tmp55) ;
ATSlocal (ats_bool_type, tmp56) ;
ATSlocal (ats_ptr_type, tmp57) ;
ATSlocal (ats_ptr_type, tmp58) ;
ATSlocal (ats_ptr_type, tmp59) ;
ATSlocal (ats_bool_type, tmp60) ;
// ATSlocal_void (tmp61) ;

__ats_lab_p_s0expdef_11:
tmp52 = ats_ptrget_mac(ats_int_type, arg2) ;
tmp53 = _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ;
tmp54 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_si0de (arg0, arg1, arg2) ;
tmp56 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp52) ;
if (tmp56) {
tmp55 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pstar_fun (arg0, 0, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0marg) ;
} else {
tmp55 = (ats_sum_ptr_type)0 ;
} /* end of [if] */
tmp57 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_colons0rtopt, tmp52) ;
tmp58 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_EQ, tmp52) ;
tmp59 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0exp, tmp52) ;
tmp60 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp52) ;
if (tmp60) {
tmp51 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__s0expdef_make (tmp54, ats_castfn_mac(ats_ptr_type, tmp55), tmp57, tmp59) ;
} else {
/* tmp61 = */ list_vt_free_01499_ats_ptr_type (tmp55) ;
tmp51 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp53) ;
} /* end of [if] */
return (tmp51) ;
} /* end of [p_s0expdef_11] */

/*
// /tmp/ATS-Postiats/src/pats_parsing_decl.dats: 6613(line=307, offs=3) -- 6703(line=311, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0expdefseq (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp62) ;
ATSlocal (ats_ptr_type, tmp63) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0expdefseq:
tmp63 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pstar_fun1_AND (arg0, arg1, arg2, &p_s0expdef_11) ;
tmp62 = ats_castfn_mac(ats_ptr_type, tmp63) ;
return (tmp62) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0expdefseq] */

/*
// /tmp/ATS-Postiats/src/pats_parsing_decl.dats: 6814(line=319, offs=1) -- 7496(line=354, offs=4)
*/
ATSstaticdec()
ats_ptr_type
p_s0aspdec_13 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp64) ;
ATSlocal (ats_int_type, tmp65) ;
ATSlocal (ats_uint_type, tmp66) ;
ATSlocal (ats_ptr_type, tmp67) ;
ATSlocal (ats_ptr_type, tmp68) ;
ATSlocal (ats_bool_type, tmp69) ;
ATSlocal (ats_ptr_type, tmp70) ;
ATSlocal (ats_ptr_type, tmp71) ;
ATSlocal (ats_ptr_type, tmp72) ;
ATSlocal (ats_bool_type, tmp73) ;
// ATSlocal_void (tmp74) ;

__ats_lab_p_s0aspdec_13:
tmp65 = ats_ptrget_mac(ats_int_type, arg2) ;
tmp66 = _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ;
tmp67 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_sqi0de (arg0, arg1, arg2) ;
tmp69 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp65) ;
if (tmp69) {
tmp68 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pstar_fun (arg0, 0, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0marg) ;
} else {
tmp68 = (ats_sum_ptr_type)0 ;
} /* end of [if] */
tmp70 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_colons0rtopt, tmp65) ;
tmp71 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_EQ, tmp65) ;
tmp72 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0exp, tmp65) ;
tmp73 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp65) ;
if (tmp73) {
tmp64 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__s0aspdec_make (tmp67, ats_castfn_mac(ats_ptr_type, tmp68), tmp70, tmp72) ;
} else {
/* tmp74 = */ list_vt_free_01499_ats_ptr_type (tmp68) ;
tmp64 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp66) ;
} /* end of [if] */
return (tmp64) ;
} /* end of [p_s0aspdec_13] */

/*
// /tmp/ATS-Postiats/src/pats_parsing_decl.dats: 7612(line=363, offs=3) -- 7711(line=367, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_e0xndecseq (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp75) ;
ATSlocal (ats_ptr_type, tmp76) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_e0xndecseq:
tmp76 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pstar_fun1_AND (arg0, arg1, arg2, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_e0xndec) ;
tmp75 = ats_castfn_mac(ats_ptr_type, tmp76) ;
return (tmp75) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_e0xndecseq] */

/*
// /tmp/ATS-Postiats/src/pats_parsing_decl.dats: 7816(line=375, offs=1) -- 8456(line=400, offs=4)
*/
ATSstaticdec()
ats_ptr_type
p_d0atdec_15 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp77) ;
ATSlocal (ats_int_type, tmp78) ;
ATSlocal (ats_uint_type, tmp79) ;
ATSlocal (ats_ptr_type, tmp80) ;
ATSlocal (ats_ptr_type, tmp81) ;
ATSlocal (ats_bool_type, tmp82) ;
ATSlocal (ats_ptr_type, tmp83) ;
ATSlocal (ats_ptr_type, tmp84) ;
ATSlocal (ats_bool_type, tmp85) ;
ATSlocal (ats_int_type, tmp86) ;
// ATSlocal_void (tmp87) ;

__ats_lab_p_d0atdec_15:
tmp78 = ats_ptrget_mac(ats_int_type, arg2) ;
tmp79 = _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ;
tmp80 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_si0de (arg0, arg1, arg2) ;
tmp82 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp78) ;
if (tmp82) {
tmp81 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pstar_fun (arg0, 0, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_a0msrt) ;
} else {
tmp81 = (ats_sum_ptr_type)0 ;
} /* end of [if] */
tmp83 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_EQ, tmp78) ;
tmp84 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0atconseq, tmp78) ;
tmp85 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp78) ;
if (tmp85) {
tmp77 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0atdec_make (tmp80, ats_castfn_mac(ats_ptr_type, tmp81), tmp84) ;
} else {
tmp86 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ;
ats_ptrget_mac(ats_int_type, arg2) = tmp86 ;
/* tmp87 = */ list_vt_free_01499_ats_ptr_type (tmp81) ;
tmp77 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp79) ;
} /* end of [if] */
return (tmp77) ;
} /* end of [p_d0atdec_15] */

/*
// /tmp/ATS-Postiats/src/pats_parsing_decl.dats: 8505(line=404, offs=3) -- 8595(line=408, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0atdecseq (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp88) ;
ATSlocal (ats_ptr_type, tmp89) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0atdecseq:
tmp89 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pstar_fun1_AND (arg0, arg1, arg2, &p_d0atdec_15) ;
tmp88 = ats_castfn_mac(ats_ptr_type, tmp89) ;
return (tmp88) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0atdecseq] */

/*
// /tmp/ATS-Postiats/src/pats_parsing_decl.dats: 8710(line=416, offs=1) -- 9378(line=441, offs=4)
*/
ATSstaticdec()
ats_ptr_type
p_d0cstdec_17 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp90) ;
ATSlocal (ats_int_type, tmp91) ;
ATSlocal (ats_uint_type, tmp92) ;
ATSlocal (ats_ptr_type, tmp93) ;
ATSlocal (ats_ptr_type, tmp94) ;
ATSlocal (ats_bool_type, tmp95) ;
ATSlocal (ats_ptr_type, tmp96) ;
ATSlocal (ats_ptr_type, tmp97) ;
ATSlocal (ats_ptr_type, tmp98) ;
ATSlocal (ats_bool_type, tmp99) ;
// ATSlocal_void (tmp100) ;

__ats_lab_p_d0cstdec_17:
tmp91 = ats_ptrget_mac(ats_int_type, arg2) ;
tmp92 = _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ;
tmp93 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_di0de (arg0, arg1, arg2) ;
tmp95 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp91) ;
if (tmp95) {
tmp94 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pstar_fun (arg0, 0, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0cstarg) ;
} else {
tmp94 = (ats_sum_ptr_type)0 ;
} /* end of [if] */
tmp96 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_colonwith, tmp91) ;
tmp97 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0exp, tmp91) ;
tmp98 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_extnamopt, tmp91) ;
tmp99 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp91) ;
if (tmp99) {
tmp90 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0cstdec_make (tmp93, ats_castfn_mac(ats_ptr_type, tmp94), tmp96, tmp97, tmp98) ;
} else {
/* tmp100 = */ list_vt_free_01499_ats_ptr_type (tmp94) ;
tmp90 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp92) ;
} /* end of [if] */
return (tmp90) ;
} /* end of [p_d0cstdec_17] */

/*
// /tmp/ATS-Postiats/src/pats_parsing_decl.dats: 9429(line=445, offs=3) -- 9496(line=446, offs=49)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0cstdecseq (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp101) ;
ATSlocal (ats_ptr_type, tmp102) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0cstdecseq:
tmp102 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pstar_fun1_AND (arg0, arg1, arg2, &p_d0cstdec_17) ;
tmp101 = ats_castfn_mac(ats_ptr_type, tmp102) ;
return (tmp101) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0cstdecseq] */

/*
// /tmp/ATS-Postiats/src/pats_parsing_decl.dats: 9654(line=457, offs=8) -- 10445(line=494, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_parsing_decl_2edats__p_s0ym (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp103) ;
ATSlocal (ats_int_type, tmp104) ;
ATSlocal (ats_uint_type, tmp105) ;
ATSlocal (ats_ptr_type, tmp106) ;
ATSlocal (ats_ptr_type, tmp107) ;
// ATSlocal_void (tmp108) ;
ATSlocal (ats_ptr_type, tmp109) ;
ATSlocal (ats_bool_type, tmp110) ;
// ATSlocal_void (tmp111) ;
ATSlocal (ats_ptr_type, tmp112) ;
ATSlocal (ats_bool_type, tmp113) ;
ATSlocal (ats_ptr_type, tmp114) ;
ATSlocal (ats_bool_type, tmp115) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_parsing_decl_2edats__p_s0ym:
tmp104 = ats_ptrget_mac(ats_int_type, arg2) ;
tmp105 = _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ;
tmp106 = _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ;
tmp107 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, tmp106), atslab_token_node) ;
do {
/* branch: __ats_lab_2 */
__ats_lab_2_0:
if (((ats_sum_ptr_type)tmp107)->tag != 9) { goto __ats_lab_3_0 ; }
__ats_lab_2_1:
/* tmp108 = */ _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp109 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_l0ab (arg0, 0, arg2) ;
tmp110 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp104) ;
if (tmp110) {
tmp103 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__i0de_make_dotlab (tmp106, tmp109) ;
} else {
tmp103 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp105) ;
} /* end of [if] */
break ;

/* branch: __ats_lab_3 */
__ats_lab_3_0:
if (((ats_sum_ptr_type)tmp107)->tag != 159) { goto __ats_lab_4_0 ; }
__ats_lab_3_1:
/* tmp111 = */ _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp112 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_RBRACKET (arg0, 0, arg2) ;
tmp113 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp104) ;
if (tmp113) {
tmp103 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__i0de_make_lrbrackets (tmp106, tmp112) ;
} else {
tmp103 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp105) ;
} /* end of [if] */
break ;

/* branch: __ats_lab_4 */
__ats_lab_4_0:
__ats_lab_4_1:
tmp114 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_di0de (arg0, arg1, arg2) ;
tmp115 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp104) ;
if (tmp115) {
tmp103 = tmp114 ;
} else {
tmp103 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null () ;
} /* end of [if] */
break ;
} while (0) ;
return (tmp103) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_parsing_decl_2edats__p_s0ym] */

/*
// /tmp/ATS-Postiats/src/pats_parsing_decl.dats: 10551(line=502, offs=3) -- 10646(line=506, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_parsing_decl_2edats__p_s0ymseq1 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp116) ;
ATSlocal (ats_ptr_type, tmp117) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_parsing_decl_2edats__p_s0ymseq1:
tmp117 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pstar1_fun (arg0, arg1, arg2, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_decl_2edats__p_s0ym) ;
tmp116 = ats_castfn_mac(ats_ptr_type, tmp117) ;
return (tmp116) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_parsing_decl_2edats__p_s0ymseq1] */

/*
// /tmp/ATS-Postiats/src/pats_parsing_decl.dats: 10837(line=521, offs=3) -- 11925(line=567, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_parsing_decl_2edats__p_m0acarg (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp118) ;
ATSlocal (ats_int_type, tmp119) ;
ATSlocal (ats_uint_type, tmp120) ;
ATSlocal (ats_ptr_type, tmp121) ;
ATSlocal (ats_ptr_type, tmp122) ;
// ATSlocal_void (tmp123) ;
ATSlocal (ats_ptr_type, tmp124) ;
ATSlocal (ats_ptr_type, tmp125) ;
ATSlocal (ats_bool_type, tmp126) ;
// ATSlocal_void (tmp127) ;
// ATSlocal_void (tmp128) ;
ATSlocal (ats_ptr_type, tmp129) ;
ATSlocal (ats_ptr_type, tmp130) ;
ATSlocal (ats_bool_type, tmp131) ;
// ATSlocal_void (tmp132) ;
ATSlocal (ats_ptr_type, tmp133) ;
ATSlocal (ats_bool_type, tmp134) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_parsing_decl_2edats__p_m0acarg:
tmp119 = ats_ptrget_mac(ats_int_type, arg2) ;
tmp120 = _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ;
tmp121 = _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ;
tmp122 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, tmp121), atslab_token_node) ;
do {
/* branch: __ats_lab_5 */
__ats_lab_5_0:
if (((ats_sum_ptr_type)tmp122)->tag != 161) { goto __ats_lab_6_0 ; }
__ats_lab_5_1:
/* tmp123 = */ _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp124 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pstar_fun0_COMMA (arg0, 0, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0arg) ;
tmp125 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_RBRACE (arg0, 0, arg2) ;
tmp126 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp119) ;
if (tmp126) {
tmp118 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__m0acarg_sta (tmp121, ats_castfn_mac(ats_ptr_type, tmp124), tmp125) ;
} else {
/* tmp127 = */ list_vt_free_01499_ats_ptr_type (tmp124) ;
tmp118 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp120) ;
} /* end of [if] */
break ;

/* branch: __ats_lab_6 */
__ats_lab_6_0:
if (((ats_sum_ptr_type)tmp122)->tag != 157) { goto __ats_lab_7_0 ; }
__ats_lab_6_1:
/* tmp128 = */ _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp129 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pstar_fun0_COMMA (arg0, 0, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_si0de) ;
tmp130 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_RPAREN (arg0, 0, arg2) ;
tmp131 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp119) ;
if (tmp131) {
tmp118 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__m0acarg_dyn (tmp121, ats_castfn_mac(ats_ptr_type, tmp129), tmp130) ;
} else {
/* tmp132 = */ list_vt_free_01499_ats_ptr_type (tmp129) ;
tmp118 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp120) ;
} /* end of [if] */
break ;

/* branch: __ats_lab_7 */
__ats_lab_7_0:
__ats_lab_7_1:
tmp133 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_pi0de (arg0, arg1, arg2) ;
tmp134 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp119) ;
if (tmp134) {
tmp118 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__m0acarg_sing (tmp133) ;
} else {
tmp118 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp120) ;
} /* end of [if] */
break ;
} while (0) ;
return (tmp118) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_parsing_decl_2edats__p_m0acarg] */

/*
// /tmp/ATS-Postiats/src/pats_parsing_decl.dats: 12036(line=576, offs=3) -- 12575(line=598, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_m0acdef (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp135) ;
ATSlocal (ats_int_type, tmp136) ;
ATSlocal (ats_uint_type, tmp137) ;
ATSlocal (ats_ptr_type, tmp138) ;
ATSlocal (ats_ptr_type, tmp139) ;
ATSlocal (ats_bool_type, tmp140) ;
ATSlocal (ats_ptr_type, tmp141) ;
ATSlocal (ats_ptr_type, tmp142) ;
ATSlocal (ats_bool_type, tmp143) ;
// ATSlocal_void (tmp144) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_m0acdef:
tmp136 = ats_ptrget_mac(ats_int_type, arg2) ;
tmp137 = _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ;
tmp138 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_di0de (arg0, arg1, arg2) ;
tmp140 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp136) ;
if (tmp140) {
tmp139 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pstar_fun (arg0, 0, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_decl_2edats__p_m0acarg) ;
} else {
tmp139 = (ats_sum_ptr_type)0 ;
} /* end of [if] */
tmp141 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_EQ, tmp136) ;
tmp142 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0exp, tmp136) ;
tmp143 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp136) ;
if (tmp143) {
tmp135 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__m0acdef_make (tmp138, ats_castfn_mac(ats_ptr_type, tmp139), tmp142) ;
} else {
/* tmp144 = */ list_vt_free_01499_ats_ptr_type (tmp139) ;
tmp135 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp137) ;
} /* end of [if] */
return (tmp135) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_m0acdef] */

/*
// /tmp/ATS-Postiats/src/pats_parsing_decl.dats: 12713(line=610, offs=3) -- 13166(line=630, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_parsing_decl_2edats__p_stai0de (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp145) ;
ATSlocal (ats_ptr_type, tmp146) ;
ATSlocal (ats_ptr_type, tmp147) ;
ATSlocal (ats_ptr_type, tmp148) ;
ATSlocal (ats_ptr_type, tmp149) ;
// ATSlocal_void (tmp150) ;
ATSlocal (ats_ptr_type, tmp151) ;
ATSlocal (ats_int_type, tmp152) ;
// ATSlocal_void (tmp153) ;
ATSlocal (ats_ptr_type, tmp154) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_parsing_decl_2edats__p_stai0de:
tmp146 = _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ;
tmp147 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, tmp146), atslab_token_loc) ;
tmp148 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, tmp146), atslab_token_node) ;
do {
/* branch: __ats_lab_8 */
__ats_lab_8_0:
if (((ats_sum_ptr_type)tmp148)->tag != 143) { goto __ats_lab_9_0 ; }
__ats_lab_8_1:
tmp149 = ats_caselptrlab_mac(anairiats_sum_4, tmp148, atslab_0) ;
/* tmp150 = */ _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp151 = atspre_string_append (ATSstrcst("$"), tmp149) ;
tmp145 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__i0de_make_string (tmp147, tmp151) ;
break ;

/* branch: __ats_lab_9 */
__ats_lab_9_0:
__ats_lab_9_1:
tmp152 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ;
ats_ptrget_mac(ats_int_type, arg2) = tmp152 ;
tmp154 = (ats_sum_ptr_type)(&_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__PE_stai0de_49) ;
/* tmp153 = */ _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__the_parerrlst_add_ifnbt (arg1, tmp147, tmp154) ;
tmp145 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null () ;
break ;
} while (0) ;
return (tmp145) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_parsing_decl_2edats__p_stai0de] */

/*
// /tmp/ATS-Postiats/src/pats_parsing_decl.dats: 13341(line=642, offs=1) -- 14481(line=692, offs=4)
*/
ATSstaticdec()
ats_ptr_type
p_staloadarg_24 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp155) ;
ATSlocal (ats_int_type, tmp156) ;
ATSlocal (ats_uint_type, tmp157) ;
ATSlocal (ats_ptr_type, tmp158) ;
ATSlocal (ats_ptr_type, tmp159) ;
ATSlocal (ats_ptr_type, tmp160) ;
ATSlocal (ats_ptr_type, tmp161) ;
// ATSlocal_void (tmp162) ;
ATSlocal (ats_ptr_type, tmp163) ;
// ATSlocal_void (tmp164) ;
// ATSlocal_void (tmp165) ;
ATSlocal (ats_ptr_type, tmp166) ;
ATSlocal (ats_ptr_type, tmp167) ;
ATSlocal (ats_bool_type, tmp168) ;
// ATSlocal_void (tmp169) ;
ATSlocal (ats_int_type, tmp170) ;
// ATSlocal_void (tmp171) ;
ATSlocal (ats_ptr_type, tmp172) ;

__ats_lab_p_staloadarg_24:
tmp156 = ats_ptrget_mac(ats_int_type, arg2) ;
tmp157 = _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ;
tmp158 = _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ;
tmp159 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, tmp158), atslab_token_loc) ;
tmp160 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, tmp158), atslab_token_node) ;
do {
/* branch: __ats_lab_10 */
__ats_lab_10_0:
if (((ats_sum_ptr_type)tmp160)->tag != 154) { goto __ats_lab_11_0 ; }
__ats_lab_10_1:
tmp161 = ats_caselptrlab_mac(anairiats_sum_4, tmp160, atslab_0) ;
/* tmp162 = */ _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp155 = ATS_MALLOC(sizeof(anairiats_sum_5)) ;
((ats_sum_ptr_type)tmp155)->tag = 0 ;
ats_selptrset_mac(anairiats_sum_5, tmp155, atslab_0, tmp159) ;
ats_selptrset_mac(anairiats_sum_5, tmp155, atslab_1, tmp161) ;
break ;

/* branch: __ats_lab_11 */
__ats_lab_11_0:
if (((ats_sum_ptr_type)tmp160)->tag != 147) { goto __ats_lab_12_0 ; }
__ats_lab_11_1:
tmp163 = ats_caselptrlab_mac(anairiats_sum_4, tmp160, atslab_0) ;
/* tmp164 = */ _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp155 = ATS_MALLOC(sizeof(anairiats_sum_5)) ;
((ats_sum_ptr_type)tmp155)->tag = 1 ;
ats_selptrset_mac(anairiats_sum_5, tmp155, atslab_0, tmp159) ;
ats_selptrset_mac(anairiats_sum_5, tmp155, atslab_1, tmp163) ;
break ;

/* branch: __ats_lab_12 */
__ats_lab_12_0:
if (((ats_sum_ptr_type)tmp160)->tag != 161) { goto __ats_lab_13_0 ; }
__ats_lab_12_1:
/* tmp165 = */ _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp166 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0eclseq_fun (arg0, 0, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0ecl_dyn) ;
tmp167 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_RBRACE, tmp156) ;
tmp168 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp156) ;
if (tmp168) {
tmp155 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__staloadarg_declist (tmp158, ats_castfn_mac(ats_ptr_type, tmp166), tmp167) ;
} else {
/* tmp169 = */ list_vt_free_01499_ats_ptr_type (tmp166) ;
tmp155 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp157) ;
} /* end of [if] */
break ;

/* branch: __ats_lab_13 */
__ats_lab_13_0:
__ats_lab_13_1:
tmp170 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ;
ats_ptrget_mac(ats_int_type, arg2) = tmp170 ;
tmp172 = (ats_sum_ptr_type)(&_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__PE_staloadarg_90) ;
/* tmp171 = */ _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__the_parerrlst_add_ifnbt (arg1, tmp159, tmp172) ;
tmp155 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null () ;
break ;
} while (0) ;
return (tmp155) ;
} /* end of [p_staloadarg_24] */

/*
// /tmp/ATS-Postiats/src/pats_parsing_decl.dats: 14602(line=703, offs=1) -- 15641(line=743, offs=4)
*/
ATSstaticdec()
ats_ptr_type
p_staload_tok_25 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2, ats_ptr_type arg3) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp173) ;
ATSlocal (ats_int_type, tmp174) ;
ATSlocal (ats_ptr_type, tmp175) ;
ATSlocal (ats_ptr_type, tmp176) ;
// ATSlocal_void (tmp177) ;
// ATSlocal_void (tmp178) ;
ATSlocal (ats_ptr_type, tmp179) ;
ATSlocal (ats_ptr_type, tmp180) ;
ATSlocal (ats_ptr_type, tmp181) ;
ATSlocal (ats_bool_type, tmp182) ;

__ats_lab_p_staload_tok_25:
tmp174 = ats_ptrget_mac(ats_int_type, arg2) ;
tmp175 = _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ;
tmp176 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, tmp175), atslab_token_node) ;
do {
/* branch: __ats_lab_14 */
__ats_lab_14_0:
if (((ats_sum_ptr_type)tmp176)->tag != 154) { goto __ats_lab_15_0 ; }
__ats_lab_14_1:
/* tmp177 = */ _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp173 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_staload_fname (arg3, tmp175) ;
break ;

/* branch: __ats_lab_15 */
__ats_lab_15_0:
if (((ats_sum_ptr_type)tmp176)->tag != 147) { goto __ats_lab_16_0 ; }
__ats_lab_15_1:
/* tmp178 = */ _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp173 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_staload_nspace (arg3, tmp175) ;
break ;

/* branch: __ats_lab_16 */
__ats_lab_16_0:
__ats_lab_16_1:
tmp179 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_decl_2edats__p_stai0de (arg0, arg1, arg2) ;
tmp180 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_EQ, tmp174) ;
tmp181 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &p_staloadarg_24, tmp174) ;
tmp182 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp174) ;
if (tmp182) {
tmp173 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_staload_some_arg (arg3, tmp179, tmp181) ;
} else {
tmp173 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null () ;
} /* end of [if] */
break ;
} while (0) ;
return (tmp173) ;
} /* end of [p_staload_tok_25] */

/*
// /tmp/ATS-Postiats/src/pats_parsing_decl.dats: 15743(line=751, offs=1) -- 16183(line=773, offs=4)
*/
ATSstaticdec()
ats_ptr_type
p_srpifkind_26 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp183) ;
ATSlocal (ats_ptr_type, tmp184) ;
ATSlocal (ats_ptr_type, tmp185) ;
// ATSlocal_void (tmp186) ;
// ATSlocal_void (tmp187) ;
// ATSlocal_void (tmp188) ;
ATSlocal (ats_int_type, tmp189) ;

__ats_lab_p_srpifkind_26:
tmp184 = _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ;
tmp185 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, tmp184), atslab_token_node) ;
do {
/* branch: __ats_lab_17 */
__ats_lab_17_0:
if (((ats_sum_ptr_type)tmp185)->tag != 121) { goto __ats_lab_18_0 ; }
__ats_lab_17_1:
/* tmp186 = */ _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp183 = tmp184 ;
break ;

/* branch: __ats_lab_18 */
__ats_lab_18_0:
if (((ats_sum_ptr_type)tmp185)->tag != 122) { goto __ats_lab_19_0 ; }
__ats_lab_18_1:
/* tmp187 = */ _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp183 = tmp184 ;
break ;

/* branch: __ats_lab_19 */
__ats_lab_19_0:
if (((ats_sum_ptr_type)tmp185)->tag != 123) { goto __ats_lab_20_0 ; }
__ats_lab_19_1:
/* tmp188 = */ _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp183 = tmp184 ;
break ;

/* branch: __ats_lab_20 */
__ats_lab_20_0:
__ats_lab_20_1:
tmp189 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ;
ats_ptrget_mac(ats_int_type, arg2) = tmp189 ;
tmp183 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null () ;
break ;
} while (0) ;
return (tmp183) ;
} /* end of [p_srpifkind_26] */

/*
// /tmp/ATS-Postiats/src/pats_parsing_decl.dats: 16270(line=779, offs=1) -- 16718(line=801, offs=4)
*/
ATSstaticdec()
ats_ptr_type
p_srpelifkind_27 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp190) ;
ATSlocal (ats_ptr_type, tmp191) ;
ATSlocal (ats_ptr_type, tmp192) ;
// ATSlocal_void (tmp193) ;
// ATSlocal_void (tmp194) ;
// ATSlocal_void (tmp195) ;
ATSlocal (ats_int_type, tmp196) ;

__ats_lab_p_srpelifkind_27:
tmp191 = _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ;
tmp192 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, tmp191), atslab_token_node) ;
do {
/* branch: __ats_lab_21 */
__ats_lab_21_0:
if (((ats_sum_ptr_type)tmp192)->tag != 125) { goto __ats_lab_22_0 ; }
__ats_lab_21_1:
/* tmp193 = */ _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp190 = tmp191 ;
break ;

/* branch: __ats_lab_22 */
__ats_lab_22_0:
if (((ats_sum_ptr_type)tmp192)->tag != 126) { goto __ats_lab_23_0 ; }
__ats_lab_22_1:
/* tmp194 = */ _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp190 = tmp191 ;
break ;

/* branch: __ats_lab_23 */
__ats_lab_23_0:
if (((ats_sum_ptr_type)tmp192)->tag != 127) { goto __ats_lab_24_0 ; }
__ats_lab_23_1:
/* tmp195 = */ _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp190 = tmp191 ;
break ;

/* branch: __ats_lab_24 */
__ats_lab_24_0:
__ats_lab_24_1:
tmp196 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ;
ats_ptrget_mac(ats_int_type, arg2) = tmp196 ;
tmp190 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null () ;
break ;
} while (0) ;
return (tmp190) ;
} /* end of [p_srpelifkind_27] */

/*
// /home/ats-lang-anairiats-0.2.12/prelude/DATS/option_vt.dats: 2556(line=86, offs=16) -- 2611(line=87, offs=49)
*/
ATSstaticdec()
ats_void_type
option_vt_free_01544_ats_ptr_type (ats_ptr_type arg0) {
/* local vardec */
// ATSlocal_void (tmp221) ;

__ats_lab_option_vt_free_01544_ats_ptr_type:
do {
/* branch: __ats_lab_30 */
__ats_lab_30_0:
if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_31_0 ; }
__ats_lab_30_1:
ATS_FREE(arg0) ;
break ;

/* branch: __ats_lab_31 */
__ats_lab_31_0:
// if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_31_1:
break ;
} while (0) ;
return /* (tmp221) */ ;
} /* end of [option_vt_free_01544_ats_ptr_type] */

/*
// /tmp/ATS-Postiats/src/pats_parsing_decl.dats: 17474(line=843, offs=1) -- 25422(line=1177, offs=4)
*/
ATSstaticdec()
ats_ptr_type
p_d0ecl_tok_28 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2, ats_ptr_type arg3) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp197) ;
ATSlocal (ats_int_type, tmp198) ;
ATSlocal (ats_ptr_type, tmp199) ;
// ATSlocal_void (tmp200) ;
ATSlocal (ats_ptr_type, tmp201) ;
ATSlocal (ats_ptr_type, tmp202) ;
ATSlocal (ats_bool_type, tmp203) ;
// ATSlocal_void (tmp204) ;
ATSlocal (ats_ptr_type, tmp205) ;
ATSlocal (ats_bool_type, tmp206) ;
// ATSlocal_void (tmp207) ;
ATSlocal (ats_ptr_type, tmp208) ;
ATSlocal (ats_bool_type, tmp209) ;
// ATSlocal_void (tmp210) ;
ATSlocal (ats_ptr_type, tmp211) ;
ATSlocal (ats_bool_type, tmp212) ;
// ATSlocal_void (tmp213) ;
ATSlocal (ats_ptr_type, tmp214) ;
ATSlocal (ats_ptr_type, tmp215) ;
ATSlocal (ats_ptr_type, tmp216) ;
ATSlocal (ats_ptr_type, tmp217) ;
ATSlocal (ats_bool_type, tmp218) ;
ATSlocal (ats_bool_type, tmp219) ;
// ATSlocal_void (tmp220) ;
// ATSlocal_void (tmp222) ;
ATSlocal (ats_ptr_type, tmp223) ;
ATSlocal (ats_bool_type, tmp224) ;
// ATSlocal_void (tmp225) ;
ATSlocal (ats_ptr_type, tmp226) ;
ATSlocal (ats_ptr_type, tmp227) ;
ATSlocal (ats_bool_type, tmp228) ;
ATSlocal (ats_bool_type, tmp229) ;
// ATSlocal_void (tmp230) ;
// ATSlocal_void (tmp231) ;
ATSlocal (ats_ptr_type, tmp232) ;
ATSlocal (ats_bool_type, tmp233) ;
// ATSlocal_void (tmp234) ;
ATSlocal (ats_ptr_type, tmp235) ;
ATSlocal (ats_bool_type, tmp236) ;
// ATSlocal_void (tmp237) ;
ATSlocal (ats_ptr_type, tmp238) ;
ATSlocal (ats_bool_type, tmp239) ;
// ATSlocal_void (tmp240) ;
ATSlocal (ats_ptr_type, tmp241) ;
ATSlocal (ats_bool_type, tmp242) ;
// ATSlocal_void (tmp243) ;
ATSlocal (ats_ptr_type, tmp244) ;
ATSlocal (ats_bool_type, tmp245) ;
// ATSlocal_void (tmp246) ;
ATSlocal (ats_ptr_type, tmp247) ;
ATSlocal (ats_ptr_type, tmp248) ;
ATSlocal (ats_ptr_type, tmp249) ;
ATSlocal (ats_bool_type, tmp250) ;
// ATSlocal_void (tmp251) ;
ATSlocal (ats_ptr_type, tmp252) ;
ATSlocal (ats_ptr_type, tmp253) ;
ATSlocal (ats_ptr_type, tmp254) ;
ATSlocal (ats_bool_type, tmp255) ;
// ATSlocal_void (tmp256) ;
ATSlocal (ats_ptr_type, tmp257) ;
ATSlocal (ats_bool_type, tmp258) ;
// ATSlocal_void (tmp259) ;
ATSlocal (ats_ptr_type, tmp260) ;
ATSlocal (ats_bool_type, tmp261) ;
// ATSlocal_void (tmp262) ;
ATSlocal (ats_ptr_type, tmp263) ;
ATSlocal (ats_bool_type, tmp264) ;
ATSlocal (ats_int_type, tmp265) ;
// ATSlocal_void (tmp266) ;
ATSlocal (ats_ptr_type, tmp267) ;
ATSlocal (ats_bool_type, tmp268) ;
// ATSlocal_void (tmp269) ;
ATSlocal (ats_ptr_type, tmp270) ;
ATSlocal (ats_bool_type, tmp271) ;
ATSlocal (ats_int_type, tmp272) ;
// ATSlocal_void (tmp273) ;
ATSlocal (ats_ptr_type, tmp274) ;
ATSlocal (ats_bool_type, tmp275) ;
ATSlocal (ats_ptr_type, tmp276) ;
ATSlocal (ats_bool_type, tmp277) ;
// ATSlocal_void (tmp278) ;
// ATSlocal_void (tmp279) ;
ATSlocal (ats_ptr_type, tmp280) ;
ATSlocal (ats_bool_type, tmp281) ;
// ATSlocal_void (tmp282) ;
ATSlocal (ats_ptr_type, tmp283) ;
ATSlocal (ats_bool_type, tmp284) ;
// ATSlocal_void (tmp285) ;
ATSlocal (ats_ptr_type, tmp286) ;
ATSlocal (ats_bool_type, tmp287) ;
ATSlocal (ats_int_type, tmp288) ;
// ATSlocal_void (tmp289) ;
ATSlocal (ats_ptr_type, tmp290) ;
ATSlocal (ats_bool_type, tmp291) ;
// ATSlocal_void (tmp292) ;
ATSlocal (ats_ptr_type, tmp293) ;
ATSlocal (ats_bool_type, tmp294) ;
ATSlocal (ats_int_type, tmp295) ;
// ATSlocal_void (tmp296) ;
ATSlocal (ats_ptr_type, tmp297) ;
ATSlocal (ats_ptr_type, tmp298) ;
ATSlocal (ats_ptr_type, tmp299) ;
// ATSlocal_void (tmp300) ;
ATSlocal (ats_ptr_type, tmp301) ;
// ATSlocal_void (tmp302) ;
ATSlocal (ats_ptr_type, tmp303) ;
ATSlocal (ats_ptr_type, tmp304) ;
ATSlocal (ats_bool_type, tmp305) ;
// ATSlocal_void (tmp306) ;
ATSlocal (ats_int_type, tmp307) ;

__ats_lab_p_d0ecl_tok_28:
tmp198 = ats_ptrget_mac(ats_int_type, arg2) ;
tmp199 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg3), atslab_token_node) ;
do {
/* branch: __ats_lab_25 */
__ats_lab_25_0:
if (((ats_sum_ptr_type)tmp199)->tag != 49) { goto __ats_lab_26_0 ; }
__ats_lab_25_1:
/* tmp200 = */ _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp201 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_p0rec (arg0, 0, arg2) ;
tmp202 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_i0deseq1, tmp198) ;
tmp203 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp198) ;
if (tmp203) {
tmp197 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_fixity (arg3, tmp201, tmp202) ;
} else {
tmp197 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null () ;
} /* end of [if] */
break ;

/* branch: __ats_lab_26 */
__ats_lab_26_0:
if (((ats_sum_ptr_type)tmp199)->tag != 62) { goto __ats_lab_27_0 ; }
__ats_lab_26_1:
/* tmp204 = */ _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp205 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_i0deseq1 (arg0, 0, arg2) ;
tmp206 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp198) ;
if (tmp206) {
tmp197 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_nonfix (arg3, tmp205) ;
} else {
tmp197 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null () ;
} /* end of [if] */
break ;

/* branch: __ats_lab_27 */
__ats_lab_27_0:
if (((ats_sum_ptr_type)tmp199)->tag != 73) { goto __ats_lab_28_0 ; }
__ats_lab_27_1:
/* tmp207 = */ _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp208 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_decl_2edats__p_s0ymseq1 (arg0, 0, arg2) ;
tmp209 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp198) ;
if (tmp209) {
tmp197 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_symintr (arg3, tmp208) ;
} else {
tmp197 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null () ;
} /* end of [if] */
break ;

/* branch: __ats_lab_28 */
__ats_lab_28_0:
if (((ats_sum_ptr_type)tmp199)->tag != 72) { goto __ats_lab_29_0 ; }
__ats_lab_28_1:
/* tmp210 = */ _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp211 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_decl_2edats__p_s0ymseq1 (arg0, 0, arg2) ;
tmp212 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp198) ;
if (tmp212) {
tmp197 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_symelim (arg3, tmp211) ;
} else {
tmp197 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null () ;
} /* end of [if] */
break ;

/* branch: __ats_lab_29 */
__ats_lab_29_0:
if (((ats_sum_ptr_type)tmp199)->tag != 74) { goto __ats_lab_32_0 ; }
__ats_lab_29_1:
/* tmp213 = */ _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp214 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_decl_2edats__p_s0ym (arg0, 0, arg2) ;
tmp215 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_WITH, tmp198) ;
tmp216 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_dqi0de, tmp198) ;
tmp218 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp198) ;
if (tmp218) {
tmp217 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__ptokentopt_fun (arg0, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__is_OF, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_i0nt) ;
} else {
tmp217 = (ats_sum_ptr_type)0 ;
} /* end of [if] */
tmp219 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp198) ;
if (tmp219) {
tmp197 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_overload (arg3, tmp214, tmp216, ats_castfn_mac(ats_ptr_type, tmp217)) ;
} else {
/* tmp220 = */ option_vt_free_01544_ats_ptr_type (tmp217) ;
tmp197 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null () ;
} /* end of [if] */
break ;

/* branch: __ats_lab_32 */
__ats_lab_32_0:
if (((ats_sum_ptr_type)tmp199)->tag != 134) { goto __ats_lab_33_0 ; }
__ats_lab_32_1:
/* tmp222 = */ _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp223 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_i0de (arg0, 0, arg2) ;
tmp224 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp198) ;
if (tmp224) {
tmp197 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_e0xpundef (arg3, tmp223) ;
} else {
tmp197 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null () ;
} /* end of [if] */
break ;

/* branch: __ats_lab_33 */
__ats_lab_33_0:
if (((ats_sum_ptr_type)tmp199)->tag != 135) { goto __ats_lab_34_0 ; }
__ats_lab_33_1:
/* tmp225 = */ _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp226 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_i0de (arg0, 0, arg2) ;
tmp228 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp198) ;
if (tmp228) {
tmp227 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__popt_fun (arg0, 0, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_e0xp) ;
} else {
tmp227 = (ats_sum_ptr_type)0 ;
} /* end of [if] */
tmp229 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp198) ;
if (tmp229) {
tmp197 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_e0xpdef (arg3, tmp226, ats_castfn_mac(ats_ptr_type, tmp227)) ;
} else {
/* tmp230 = */ option_vt_free_01544_ats_ptr_type (tmp227) ;
tmp197 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null () ;
} /* end of [if] */
break ;

/* branch: __ats_lab_34 */
__ats_lab_34_0:
if (((ats_sum_ptr_type)tmp199)->tag != 130) { goto __ats_lab_35_0 ; }
__ats_lab_34_1:
/* tmp231 = */ _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp232 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_e0xp (arg0, 0, arg2) ;
tmp233 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp198) ;
if (tmp233) {
tmp197 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_e0xpact_error (arg3, tmp232) ;
} else {
tmp197 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null () ;
} /* end of [if] */
break ;

/* branch: __ats_lab_35 */
__ats_lab_35_0:
if (((ats_sum_ptr_type)tmp199)->tag != 131) { goto __ats_lab_36_0 ; }
__ats_lab_35_1:
/* tmp234 = */ _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp235 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_e0xp (arg0, 0, arg2) ;
tmp236 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp198) ;
if (tmp236) {
tmp197 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_e0xpact_prerr (arg3, tmp235) ;
} else {
tmp197 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null () ;
} /* end of [if] */
break ;

/* branch: __ats_lab_36 */
__ats_lab_36_0:
if (((ats_sum_ptr_type)tmp199)->tag != 132) { goto __ats_lab_37_0 ; }
__ats_lab_36_1:
/* tmp237 = */ _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp238 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_e0xp (arg0, 0, arg2) ;
tmp239 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp198) ;
if (tmp239) {
tmp197 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_e0xpact_print (arg3, tmp238) ;
} else {
tmp197 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null () ;
} /* end of [if] */
break ;

/* branch: __ats_lab_37 */
__ats_lab_37_0:
if (((ats_sum_ptr_type)tmp199)->tag != 133) { goto __ats_lab_38_0 ; }
__ats_lab_37_1:
/* tmp240 = */ _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp241 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_e0xp (arg0, 0, arg2) ;
tmp242 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp198) ;
if (tmp242) {
tmp197 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_e0xpact_assert (arg3, tmp241) ;
} else {
tmp197 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null () ;
} /* end of [if] */
break ;

/* branch: __ats_lab_38 */
__ats_lab_38_0:
if (((ats_sum_ptr_type)tmp199)->tag != 139) { goto __ats_lab_39_0 ; }
__ats_lab_38_1:
/* tmp243 = */ _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp244 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0tring (arg0, 0, arg2) ;
tmp245 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp198) ;
if (tmp245) {
tmp197 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_require (arg3, tmp244) ;
} else {
tmp197 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null () ;
} /* end of [if] */
break ;

/* branch: __ats_lab_39 */
__ats_lab_39_0:
if (((ats_sum_ptr_type)tmp199)->tag != 140) { goto __ats_lab_40_0 ; }
__ats_lab_39_1:
/* tmp246 = */ _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp247 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_LPAREN (arg0, 0, arg2) ;
tmp248 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_e0xpseq, tmp198) ;
tmp249 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_RPAREN, tmp198) ;
tmp250 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp198) ;
if (tmp250) {
tmp197 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_pragma (tmp247, tmp248, tmp249) ;
} else {
tmp197 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null () ;
} /* end of [if] */
break ;

/* branch: __ats_lab_40 */
__ats_lab_40_0:
if (((ats_sum_ptr_type)tmp199)->tag != 141) { goto __ats_lab_41_0 ; }
__ats_lab_40_1:
/* tmp251 = */ _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp252 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_LPAREN (arg0, 0, arg2) ;
tmp253 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_e0xpseq, tmp198) ;
tmp254 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_RPAREN, tmp198) ;
tmp255 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp198) ;
if (tmp255) {
tmp197 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_codegen2 (tmp252, tmp253, tmp254) ;
} else {
tmp197 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null () ;
} /* end of [if] */
break ;

/* branch: __ats_lab_41 */
__ats_lab_41_0:
if (((ats_sum_ptr_type)tmp199)->tag != 71) { goto __ats_lab_42_0 ; }
__ats_lab_41_1:
/* tmp256 = */ _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp257 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0rtdefseq (arg0, 0, arg2) ;
tmp258 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp198) ;
if (tmp258) {
tmp197 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_srtdefs (arg3, tmp257) ;
} else {
tmp197 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null () ;
} /* end of [if] */
break ;

/* branch: __ats_lab_42 */
__ats_lab_42_0:
if (((ats_sum_ptr_type)tmp199)->tag != 39) { goto __ats_lab_43_0 ; }
__ats_lab_42_1:
/* tmp259 = */ _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp260 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0atsrtdecseq (arg0, 0, arg2) ;
tmp261 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp198) ;
if (tmp261) {
tmp197 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_datsrts (arg3, tmp260) ;
} else {
tmp197 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null () ;
} /* end of [if] */
break ;

/* branch: __ats_lab_43 */
__ats_lab_43_0:
if (((ats_sum_ptr_type)tmp199)->tag != 68) { goto __ats_lab_44_0 ; }
__ats_lab_43_1:
/* tmp262 = */ _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp263 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0tacstseq (arg0, 0, arg2) ;
tmp264 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp198) ;
if (tmp264) {
tmp197 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_stacsts (arg3, tmp263) ;
} else {
tmp197 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null () ;
} /* end of [if] */
break ;

/* branch: __ats_lab_44 */
__ats_lab_44_0:
if (((ats_sum_ptr_type)tmp199)->tag != 31) { goto __ats_lab_45_0 ; }
__ats_lab_44_1:
tmp265 = ats_caselptrlab_mac(anairiats_sum_6, tmp199, atslab_0) ;
/* tmp266 = */ _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp267 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0taconseq (arg0, 0, arg2) ;
tmp268 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp198) ;
if (tmp268) {
tmp197 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_stacons (tmp265, arg3, tmp267) ;
} else {
tmp197 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null () ;
} /* end of [if] */
break ;

/* branch: __ats_lab_45 */
__ats_lab_45_0:
if (((ats_sum_ptr_type)tmp199)->tag != 69) { goto __ats_lab_46_0 ; }
__ats_lab_45_1:
/* tmp269 = */ _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp270 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0expdefseq (arg0, 0, arg2) ;
tmp271 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp198) ;
if (tmp271) {
tmp197 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_sexpdefs (-1, arg3, tmp270) ;
} else {
tmp197 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null () ;
} /* end of [if] */
break ;

/* branch: __ats_lab_46 */
__ats_lab_46_0:
if (((ats_sum_ptr_type)tmp199)->tag != 61) { goto __ats_lab_47_0 ; }
__ats_lab_46_1:
tmp272 = ats_caselptrlab_mac(anairiats_sum_6, tmp199, atslab_0) ;
/* tmp273 = */ _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
/* ats_ptr_type tmp274 ; */
tmp275 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__ptest_fun (arg0, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_REC, (&tmp274)) ;
tmp276 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pstar_fun1_AND (arg0, 0, arg2, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_m0acdef) ;
tmp277 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp198) ;
if (tmp277) {
tmp197 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_macdefs (tmp272, tmp275, arg3, ats_castfn_mac(ats_ptr_type, tmp276)) ;
} else {
/* tmp278 = */ list_vt_free_01499_ats_ptr_type (tmp276) ;
tmp197 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null () ;
} /* end of [if] */
break ;

/* branch: __ats_lab_47 */
__ats_lab_47_0:
if (((ats_sum_ptr_type)tmp199)->tag != 32) { goto __ats_lab_48_0 ; }
__ats_lab_47_1:
/* tmp279 = */ _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp280 = p_s0aspdec_13 (arg0, 0, arg2) ;
tmp281 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp198) ;
if (tmp281) {
tmp197 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_saspdec (arg3, tmp280) ;
} else {
tmp197 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null () ;
} /* end of [if] */
break ;

/* branch: __ats_lab_48 */
__ats_lab_48_0:
if (((ats_sum_ptr_type)tmp199)->tag != 33) { goto __ats_lab_49_0 ; }
__ats_lab_48_1:
/* tmp282 = */ _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp283 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_sqi0de (arg0, 0, arg2) ;
tmp284 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp198) ;
if (tmp284) {
tmp197 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_reassume (arg3, tmp283) ;
} else {
tmp197 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null () ;
} /* end of [if] */
break ;

/* branch: __ats_lab_49 */
__ats_lab_49_0:
if (((ats_sum_ptr_type)tmp199)->tag != 76) { goto __ats_lab_50_0 ; }
__ats_lab_49_1:
/* tmp285 = */ _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp286 = p_t0kindef_10 (arg0, 0, arg2) ;
tmp287 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp198) ;
if (tmp287) {
tmp197 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_tkindef (arg3, tmp286) ;
} else {
tmp197 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null () ;
} /* end of [if] */
break ;

/* branch: __ats_lab_50 */
__ats_lab_50_0:
if (((ats_sum_ptr_type)tmp199)->tag != 79) { goto __ats_lab_51_0 ; }
__ats_lab_50_1:
tmp288 = ats_caselptrlab_mac(anairiats_sum_6, tmp199, atslab_0) ;
/* tmp289 = */ _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp290 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0expdefseq (arg0, 0, arg2) ;
tmp291 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp198) ;
if (tmp291) {
tmp197 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_sexpdefs (tmp288, arg3, tmp290) ;
} else {
tmp197 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null () ;
} /* end of [if] */
break ;

/* branch: __ats_lab_51 */
__ats_lab_51_0:
if (((ats_sum_ptr_type)tmp199)->tag != 44) { goto __ats_lab_52_0 ; }
__ats_lab_51_1:
/* tmp292 = */ _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp293 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_e0xndecseq (arg0, 0, arg2) ;
tmp294 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp198) ;
if (tmp294) {
tmp197 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_exndecs (arg3, tmp293) ;
} else {
tmp197 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null () ;
} /* end of [if] */
break ;

/* branch: __ats_lab_52 */
__ats_lab_52_0:
if (((ats_sum_ptr_type)tmp199)->tag != 40) { goto __ats_lab_55_0 ; }
__ats_lab_52_1:
tmp295 = ats_caselptrlab_mac(anairiats_sum_6, tmp199, atslab_0) ;
/* tmp296 = */ _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp297 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0atdecseq (arg0, 0, arg2) ;
tmp298 = _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ;
tmp299 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, tmp298), atslab_token_node) ;
do {
/* branch: __ats_lab_53 */
__ats_lab_53_0:
if (((ats_sum_ptr_type)tmp299)->tag != 83) { goto __ats_lab_54_0 ; }
__ats_lab_53_1:
/* tmp300 = */ _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp301 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0expdefseq (arg0, 0, arg2) ;
tmp197 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_datdecs_some (tmp295, arg3, tmp297, tmp298, tmp301) ;
break ;

/* branch: __ats_lab_54 */
__ats_lab_54_0:
__ats_lab_54_1:
tmp197 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_datdecs_none (tmp295, arg3, tmp297) ;
break ;
} while (0) ;
break ;

/* branch: __ats_lab_55 */
__ats_lab_55_0:
if (((ats_sum_ptr_type)tmp199)->tag != 38) { goto __ats_lab_56_0 ; }
__ats_lab_55_1:
/* tmp302 = */ _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp303 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_si0de (arg0, 0, arg2) ;
tmp304 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_colons0expopt, tmp198) ;
tmp305 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp198) ;
if (tmp305) {
tmp197 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_classdec (arg3, tmp303, tmp304) ;
} else {
tmp197 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null () ;
} /* end of [if] */
break ;

/* branch: __ats_lab_56 */
__ats_lab_56_0:
if (((ats_sum_ptr_type)tmp199)->tag != 137) { goto __ats_lab_57_0 ; }
__ats_lab_56_1:
/* tmp306 = */ _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp197 = p_staload_tok_25 (arg0, 0, arg2, arg3) ;
break ;

/* branch: __ats_lab_57 */
__ats_lab_57_0:
__ats_lab_57_1:
tmp307 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ;
ats_ptrget_mac(ats_int_type, arg2) = tmp307 ;
tmp197 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null () ;
break ;
} while (0) ;
return (tmp197) ;
} /* end of [p_d0ecl_tok_28] */

/*
// /tmp/ATS-Postiats/src/pats_parsing_decl.dats: 25489(line=1183, offs=3) -- 25558(line=1184, offs=53)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0ecl (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp308) ;
ATSlocal (ats_ptr_type, tmp309) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0ecl:
tmp309 = (ats_sum_ptr_type)(&_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__PE_d0ecl_86) ;
tmp308 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__ptokwrap_fun (arg0, arg1, arg2, &p_d0ecl_tok_28, tmp309) ;
return (tmp308) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0ecl] */

/*
// /tmp/ATS-Postiats/src/pats_parsing_decl.dats: 25693(line=1195, offs=5) -- 26279(line=1220, offs=4)
*/
ATSstaticdec()
ats_void_type
loop_32 (ats_ptr_type env0, ats_ref_type arg0, ats_ref_type arg1, ats_ref_type arg2) {
/* local vardec */
// ATSlocal_void (tmp311) ;
ATSlocal (ats_ptr_type, tmp312) ;
ATSlocal (ats_bool_type, tmp313) ;
ATSlocal (ats_ptr_type, tmp314) ;
ATSlocal (ats_ptr_type, tmp315) ;
ATSlocal (ats_ptr_type, tmp316) ;
ATSlocal (ats_ptr_type, tmp317) ;
// ATSlocal_void (tmp318) ;

__ats_lab_loop_32:
tmp312 = ((ats_ptr_type(*)(ats_ref_type, ats_int_type, ats_ref_type))env0) (arg0, 1, arg2) ;
do {
/* branch: __ats_lab_58 */
__ats_lab_58_0:
__ats_lab_58_1:
tmp313 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg2), 0) ;
if (!tmp313) { goto __ats_lab_59_1 ; }
tmp314 = (ats_sum_ptr_type)0 ;
ats_ptrget_mac(ats_ptr_type, arg1) = tmp314 ;
break ;

/* branch: __ats_lab_59 */
__ats_lab_59_0:
__ats_lab_59_1:
tmp315 = ATS_MALLOC(sizeof(anairiats_sum_2)) ;
ats_selptrset_mac(anairiats_sum_2, tmp315, atslab_0, tmp312) ;
ats_ptrget_mac(ats_ptr_type, arg1) = tmp315 ;
// if (ats_ptrget_mac(ats_ptr_type, arg1) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
tmp316 = &ats_caselptrlab_mac(anairiats_sum_2, ats_ptrget_mac(ats_ptr_type, arg1), atslab_1) ;
tmp317 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pstar_fun (arg0, 1, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_SEMICOLON) ;
/* tmp318 = */ list_vt_free_01499_ats_ptr_type (tmp317) ;
arg0 = arg0 ;
arg1 = tmp316 ;
arg2 = arg2 ;
goto __ats_lab_loop_32 ; // tail call
break ;
} while (0) ;
return /* (tmp311) */ ;
} /* end of [loop_32] */

typedef struct {
ats_fun_ptr_type closure_fun ;
ats_ptr_type closure_env_0 ;
} loop_32_closure_type ;

ats_void_type
loop_32_clofun (ats_clo_ptr_type cloptr, ats_ref_type arg0, ats_ref_type arg1, ats_ref_type arg2) {
loop_32 (((loop_32_closure_type*)cloptr)->closure_env_0, arg0, arg1, arg2) ; return ;
} /* end of function */

ATSinline()
ats_void_type
loop_32_closure_init (loop_32_closure_type *p_clo, ats_ptr_type env0) {
p_clo->closure_fun = (ats_fun_ptr_type)&loop_32_clofun ;
p_clo->closure_env_0 = env0 ;
return ;
} /* end of function */

ats_clo_ptr_type
loop_32_closure_make (ats_ptr_type env0) {
loop_32_closure_type *p_clo = ATS_MALLOC(sizeof(loop_32_closure_type)) ;
loop_32_closure_init (p_clo, env0) ;
return (ats_clo_ptr_type)p_clo ;
} /* end of function */

/*
// /tmp/ATS-Postiats/src/pats_parsing_decl.dats: 25631(line=1191, offs=6) -- 26401(line=1228, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0eclseq_fun (ats_ref_type arg0, ats_int_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp310) ;
ATSlocal (ats_ptr_type, tmp319) ;
ATSlocal (ats_int_type, tmp320) ;
// ATSlocal_void (tmp321) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0eclseq_fun:
/* ats_ptr_type tmp319 ; */
/* ats_int_type tmp320 ; */
tmp320 = 0 ;
/* tmp321 = */ loop_32 (arg2, arg0, (&tmp319), (&tmp320)) ;
tmp310 = tmp319 ;
return (tmp310) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0eclseq_fun] */

/*
// /tmp/ATS-Postiats/src/pats_parsing_decl.dats: 26634(line=1239, offs=1) -- 28358(line=1316, offs=4)
*/
ATSstaticdec()
ats_ptr_type
guad0ecl_fun_33 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2, ats_ptr_type arg3) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp322) ;
ATSlocal (ats_int_type, tmp323) ;
ATSlocal (ats_uint_type, tmp324) ;
ATSlocal (ats_ptr_type, tmp325) ;
ATSlocal (ats_ptr_type, tmp326) ;
ATSlocal (ats_bool_type, tmp327) ;
ATSlocal (ats_ptr_type, tmp328) ;
ATSlocal (ats_bool_type, tmp329) ;
ATSlocal (ats_ptr_type, tmp330) ;
ATSlocal (ats_bool_type, tmp331) ;
ATSlocal (ats_ptr_type, tmp332) ;
// ATSlocal_void (tmp333) ;
// ATSlocal_void (tmp334) ;
ATSlocal (ats_ptr_type, tmp335) ;
ATSlocal (ats_ptr_type, tmp336) ;
ATSlocal (ats_bool_type, tmp337) ;
// ATSlocal_void (tmp338) ;
// ATSlocal_void (tmp339) ;
ATSlocal (ats_bool_type, tmp340) ;
ATSlocal (ats_ptr_type, tmp341) ;
ATSlocal (ats_bool_type, tmp342) ;
// ATSlocal_void (tmp343) ;
ATSlocal (ats_int_type, tmp344) ;
// ATSlocal_void (tmp345) ;
// ATSlocal_void (tmp346) ;
ATSlocal (ats_ptr_type, tmp347) ;
ATSlocal (ats_ptr_type, tmp348) ;
// ATSlocal_void (tmp349) ;

__ats_lab_guad0ecl_fun_33:
tmp323 = ats_ptrget_mac(ats_int_type, arg2) ;
tmp324 = _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ;
/* ats_ptr_type tmp325 ; */
tmp326 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_e0xp (arg0, arg1, arg2) ;
tmp327 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__ptest_fun (arg0, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_SRPTHEN, (&tmp325)) ;
tmp329 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp323) ;
if (tmp329) {
tmp328 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0eclseq_fun (arg0, 0, arg3) ;
} else {
tmp328 = (ats_sum_ptr_type)0 ;
} /* end of [if] */
tmp330 = _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ;
tmp331 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp323) ;
if (tmp331) {
tmp332 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, tmp330), atslab_token_node) ;
do {
/* branch: __ats_lab_60 */
__ats_lab_60_0:
if (((ats_sum_ptr_type)tmp332)->tag != 129) { goto __ats_lab_61_0 ; }
__ats_lab_60_1:
/* tmp333 = */ _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp322 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__guad0ecl_one (tmp326, ats_castfn_mac(ats_ptr_type, tmp328), tmp330) ;
break ;

/* branch: __ats_lab_61 */
__ats_lab_61_0:
if (((ats_sum_ptr_type)tmp332)->tag != 128) { goto __ats_lab_62_0 ; }
__ats_lab_61_1:
/* tmp334 = */ _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp335 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0eclseq_fun (arg0, 0, arg3) ;
tmp336 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_SRPENDIF (arg0, 0, arg2) ;
tmp337 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp323) ;
if (tmp337) {
tmp322 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__guad0ecl_two (tmp326, ats_castfn_mac(ats_ptr_type, tmp328), ats_castfn_mac(ats_ptr_type, tmp335), tmp336) ;
} else {
/* tmp338 = */ list_vt_free_01499_ats_ptr_type (tmp328) ;
/* tmp339 = */ list_vt_free_01499_ats_ptr_type (tmp335) ;
tmp322 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp324) ;
} /* end of [if] */
break ;

/* branch: __ats_lab_62 */
__ats_lab_62_0:
__ats_lab_62_1:
tmp340 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__ptest_fun (arg0, &p_srpelifkind_27, (&tmp325)) ;
if (!tmp340) { goto __ats_lab_63_1 ; }
tmp341 = guad0ecl_fun_33 (arg0, 0, arg2, arg3) ;
tmp342 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp323) ;
if (tmp342) {
tmp322 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__guad0ecl_cons (tmp326, ats_castfn_mac(ats_ptr_type, tmp328), tmp330, tmp341) ;
} else {
/* tmp343 = */ list_vt_free_01499_ats_ptr_type (tmp328) ;
tmp322 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp324) ;
} /* end of [if] */
break ;

/* branch: __ats_lab_63 */
__ats_lab_63_0:
__ats_lab_63_1:
tmp344 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ;
ats_ptrget_mac(ats_int_type, arg2) = tmp344 ;
/* tmp345 = */ list_vt_free_01499_ats_ptr_type (tmp328) ;
tmp347 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, tmp330), atslab_token_loc) ;
tmp348 = (ats_sum_ptr_type)(&_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__PE_guad0ecl_89) ;
/* tmp346 = */ _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__the_parerrlst_add_ifnbt (0, tmp347, tmp348) ;
tmp322 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp324) ;
break ;
} while (0) ;
} else {
/* tmp349 = */ list_vt_free_01499_ats_ptr_type (tmp328) ;
tmp322 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp324) ;
} /* end of [if] */
return (tmp322) ;
} /* end of [guad0ecl_fun_33] */

/*
// /tmp/ATS-Postiats/src/pats_parsing_decl.dats: 28592(line=1331, offs=1) -- 30589(line=1414, offs=4)
*/
ATSstaticdec()
ats_ptr_type
p_d0ecl_sta_tok_34 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2, ats_ptr_type arg3) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp350) ;
ATSlocal (ats_int_type, tmp351) ;
ATSlocal (ats_ptr_type, tmp352) ;
ATSlocal (ats_ptr_type, tmp353) ;
ATSlocal (ats_bool_type, tmp354) ;
ATSlocal (ats_bool_type, tmp355) ;
ATSlocal (ats_ptr_type, tmp356) ;
ATSlocal (ats_ptr_type, tmp357) ;
ATSlocal (ats_ptr_type, tmp358) ;
ATSlocal (ats_bool_type, tmp359) ;
// ATSlocal_void (tmp360) ;
// ATSlocal_void (tmp361) ;
ATSlocal (ats_ptr_type, tmp362) ;
ATSlocal (ats_bool_type, tmp363) ;
ATSlocal (ats_bool_type, tmp364) ;
ATSlocal (ats_ptr_type, tmp365) ;
ATSlocal (ats_ptr_type, tmp366) ;
ATSlocal (ats_bool_type, tmp367) ;
// ATSlocal_void (tmp368) ;
ATSlocal (ats_ptr_type, tmp369) ;
ATSlocal (ats_ptr_type, tmp370) ;
ATSlocal (ats_ptr_type, tmp371) ;
ATSlocal (ats_bool_type, tmp372) ;
ATSlocal (ats_ptr_type, tmp373) ;
ATSlocal (ats_bool_type, tmp374) ;
// ATSlocal_void (tmp375) ;
// ATSlocal_void (tmp376) ;
ATSlocal (ats_int_type, tmp377) ;

__ats_lab_p_d0ecl_sta_tok_34:
tmp351 = ats_ptrget_mac(ats_int_type, arg2) ;
/* ats_ptr_type tmp352 ; */
tmp353 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg3), atslab_token_node) ;
do {
/* branch: __ats_lab_64 */
__ats_lab_64_0:
__ats_lab_64_1:
tmp354 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__ptest_fun (arg0, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0ecl, (&tmp352)) ;
if (!tmp354) { goto __ats_lab_65_1 ; }
tmp350 = ats_castfn_mac(ats_ptr_type, tmp352) ;
break ;

/* branch: __ats_lab_65 */
__ats_lab_65_0:
__ats_lab_65_1:
tmp355 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__ptest_fun (arg0, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_dcstkind, (&tmp352)) ;
if (!tmp355) { goto __ats_lab_66_0 ; }
tmp356 = ats_castfn_mac(ats_ptr_type, tmp352) ;
tmp357 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_q0margseq (arg0, 0, arg2) ;
tmp358 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0cstdecseq (arg0, 0, arg2) ;
tmp359 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp351) ;
if (tmp359) {
tmp350 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_dcstdecs (tmp356, tmp357, tmp358) ;
} else {
tmp350 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null () ;
} /* end of [if] */
break ;

/* branch: __ats_lab_66 */
__ats_lab_66_0:
if (((ats_sum_ptr_type)tmp353)->tag != 173) { goto __ats_lab_67_0 ; }
__ats_lab_66_1:
/* tmp360 = */ _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp350 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_extcode (0, arg3) ;
break ;

/* branch: __ats_lab_67 */
__ats_lab_67_0:
if (((ats_sum_ptr_type)tmp353)->tag != 136) { goto __ats_lab_68_0 ; }
__ats_lab_67_1:
/* tmp361 = */ _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp362 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0tring (arg0, 0, arg2) ;
tmp363 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp351) ;
if (tmp363) {
tmp350 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_include (0, arg3, tmp362) ;
} else {
tmp350 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null () ;
} /* end of [if] */
break ;

/* branch: __ats_lab_68 */
__ats_lab_68_0:
__ats_lab_68_1:
tmp364 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__ptest_fun (arg0, &p_srpifkind_26, (&tmp352)) ;
if (!tmp364) { goto __ats_lab_69_0 ; }
tmp365 = ats_castfn_mac(ats_ptr_type, tmp352) ;
tmp366 = guad0ecl_fun_33 (arg0, 0, arg2, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0ecl_sta) ;
tmp367 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp351) ;
if (tmp367) {
tmp350 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_guadecl (tmp365, tmp366) ;
} else {
tmp350 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null () ;
} /* end of [if] */
break ;

/* branch: __ats_lab_69 */
__ats_lab_69_0:
if (((ats_sum_ptr_type)tmp353)->tag != 60) { goto __ats_lab_70_0 ; }
__ats_lab_69_1:
/* tmp368 = */ _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp369 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0eclseq_fun (arg0, 0, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0ecl_sta) ;
tmp370 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_IN (arg0, 0, arg2) ;
tmp372 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp351) ;
if (tmp372) {
tmp371 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0eclseq_fun (arg0, 0, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0ecl_sta) ;
} else {
tmp371 = (ats_sum_ptr_type)0 ;
} /* end of [if] */
tmp373 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_END, tmp351) ;
tmp374 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp351) ;
if (tmp374) {
tmp350 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_local (arg3, ats_castfn_mac(ats_ptr_type, tmp369), ats_castfn_mac(ats_ptr_type, tmp371), tmp373) ;
} else {
/* tmp375 = */ list_vt_free_01499_ats_ptr_type (tmp369) ;
/* tmp376 = */ list_vt_free_01499_ats_ptr_type (tmp371) ;
tmp350 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null () ;
} /* end of [if] */
break ;

/* branch: __ats_lab_70 */
__ats_lab_70_0:
__ats_lab_70_1:
tmp377 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ;
ats_ptrget_mac(ats_int_type, arg2) = tmp377 ;
tmp350 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null () ;
break ;
} while (0) ;
return (tmp350) ;
} /* end of [p_d0ecl_sta_tok_34] */

/*
// /tmp/ATS-Postiats/src/pats_parsing_decl.dats: 30643(line=1418, offs=3) -- 30720(line=1419, offs=61)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0ecl_sta (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp378) ;
ATSlocal (ats_ptr_type, tmp379) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0ecl_sta:
tmp379 = (ats_sum_ptr_type)(&_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__PE_d0ecl_sta_87) ;
tmp378 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__ptokwrap_fun (arg0, arg1, arg2, &p_d0ecl_sta_tok_34, tmp379) ;
return (tmp378) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0ecl_sta] */

/*
// /tmp/ATS-Postiats/src/pats_parsing_decl.dats: 30813(line=1427, offs=5) -- 31221(line=1444, offs=4)
*/
ATSstaticdec()
ats_ptr_type
p_v0aldec_36 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp380) ;
ATSlocal (ats_int_type, tmp381) ;
ATSlocal (ats_uint_type, tmp382) ;
ATSlocal (ats_ptr_type, tmp383) ;
ATSlocal (ats_ptr_type, tmp384) ;
ATSlocal (ats_ptr_type, tmp385) ;
ATSlocal (ats_ptr_type, tmp386) ;
ATSlocal (ats_bool_type, tmp387) ;

__ats_lab_p_v0aldec_36:
tmp381 = ats_ptrget_mac(ats_int_type, arg2) ;
tmp382 = _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ;
tmp383 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_p0at (arg0, arg1, arg2) ;
tmp384 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, arg1, arg2, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_EQ, tmp381) ;
tmp385 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, arg1, arg2, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0exp, tmp381) ;
tmp386 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, arg1, arg2, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_witht0ype, tmp381) ;
tmp387 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp381) ;
if (tmp387) {
tmp380 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__v0aldec_make (tmp383, tmp385, tmp386) ;
} else {
tmp380 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp382) ;
} /* end of [if] */
return (tmp380) ;
} /* end of [p_v0aldec_36] */

/*
// /tmp/ATS-Postiats/src/pats_parsing_decl.dats: 31340(line=1451, offs=5) -- 32372(line=1485, offs=4)
*/
ATSstaticdec()
ats_ptr_type
p_f0undec_37 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp388) ;
ATSlocal (ats_int_type, tmp389) ;
ATSlocal (ats_ptr_type, tmp390) ;
ATSlocal (ats_bool_type, tmp391) ;
ATSlocal (ats_ptr_type, tmp392) ;
ATSlocal (ats_ptr_type, tmp393) ;
ATSlocal (ats_ptr_type, tmp394) ;
ATSlocal (ats_ptr_type, tmp395) ;
ATSlocal (ats_ptr_type, tmp396) ;
ATSlocal (ats_ptr_type, tmp397) ;
ATSlocal (ats_bool_type, tmp398) ;
ATSlocal (ats_ptr_type, tmp399) ;
ATSlocal (ats_bool_type, tmp400) ;
ATSlocal (ats_bool_type, tmp402) ;
ATSlocal (ats_ptr_type, tmp403) ;
ATSlocal (ats_ptr_type, tmp404) ;
ATSlocal (ats_ptr_type, tmp405) ;
ATSlocal (ats_bool_type, tmp406) ;
// ATSlocal_void (tmp407) ;
ATSlocal (ats_int_type, tmp408) ;

__ats_lab_p_f0undec_37:
tmp389 = ats_ptrget_mac(ats_int_type, arg2) ;
/* ats_ptr_type tmp390 ; */
do {
/* branch: __ats_lab_71 */
__ats_lab_71_0:
__ats_lab_71_1:
tmp391 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__ptest_fun (arg0, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_di0de, (&tmp390)) ;
if (!tmp391) { goto __ats_lab_72_1 ; }
tmp392 = ats_castfn_mac(ats_ptr_type, tmp390) ;
tmp393 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pstar_fun (arg0, 0, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_f0arg1) ;
tmp394 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pseq2_fun (arg0, 1, arg2, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_colonwith, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0exp) ;
// 
tmp395 = ats_caselptrlab_mac(anairiats_sum_2, tmp394, atslab_0) ;
tmp396 = ats_caselptrlab_mac(anairiats_sum_2, tmp394, atslab_1) ;
ATS_FREE(tmp394) ;
tmp398 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp389) ;
if (tmp398) {
tmp397 = tmp395 ;
} else {
tmp397 = (ats_sum_ptr_type)0 ;
} /* end of [if] */
tmp400 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp389) ;
if (tmp400) {
tmp399 = ATS_MALLOC(sizeof(anairiats_sum_7)) ;
ats_selptrset_mac(anairiats_sum_7, tmp399, atslab_0, tmp396) ;
} else {
tmp399 = (ats_sum_ptr_type)0 ;
} /* end of [if] */
tmp402 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp389) ;
if (tmp402) {
ats_ptrget_mac(ats_int_type, arg2) = tmp389 ;
} else {
/* empty */
} /* end of [if] */
tmp403 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pseq3_fun (arg0, 0, arg2, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_EQ, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0exp, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_witht0ype) ;
// 
tmp404 = ats_caselptrlab_mac(anairiats_sum_1, tmp403, atslab_1) ;
tmp405 = ats_caselptrlab_mac(anairiats_sum_1, tmp403, atslab_2) ;
ATS_FREE(tmp403) ;
tmp406 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp389) ;
if (tmp406) {
tmp388 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__f0undec_make (tmp392, ats_castfn_mac(ats_ptr_type, tmp393), tmp397, tmp399, tmp404, tmp405) ;
} else {
/* tmp407 = */ list_vt_free_01499_ats_ptr_type (tmp393) ;
tmp388 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null () ;
} /* end of [if] */
break ;

/* branch: __ats_lab_72 */
__ats_lab_72_0:
__ats_lab_72_1:
tmp408 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ;
ats_ptrget_mac(ats_int_type, arg2) = tmp408 ;
tmp388 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null () ;
break ;
} while (0) ;
return (tmp388) ;
} /* end of [p_f0undec_37] */

/*
// /tmp/ATS-Postiats/src/pats_parsing_decl.dats: 32492(line=1493, offs=5) -- 33198(line=1522, offs=4)
*/
ATSstaticdec()
ats_ptr_type
p_v0ardec_38 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp409) ;
ATSlocal (ats_int_type, tmp410) ;
ATSlocal (ats_uint_type, tmp411) ;
ATSlocal (ats_ptr_type, tmp412) ;
ATSlocal (ats_ptr_type, tmp413) ;
ATSlocal (ats_ptr_type, tmp414) ;
ATSlocal (ats_ptr_type, tmp415) ;
ATSlocal (ats_bool_type, tmp416) ;
ATSlocal (ats_ptr_type, tmp417) ;
ATSlocal (ats_bool_type, tmp418) ;
// ATSlocal_void (tmp419) ;
// ATSlocal_void (tmp420) ;

__ats_lab_p_v0ardec_38:
tmp410 = ats_ptrget_mac(ats_int_type, arg2) ;
tmp411 = _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ;
tmp412 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__popt_fun (arg0, arg1, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_BANG) ;
tmp413 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_pi0de (arg0, arg1, arg2) ;
tmp414 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, arg1, arg2, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_colons0expopt, tmp410) ;
tmp416 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp410) ;
if (tmp416) {
tmp415 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__ptokentopt_fun (arg0, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__is_WITH, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_pi0de) ;
} else {
tmp415 = (ats_sum_ptr_type)0 ;
} /* end of [if] */
tmp417 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, arg1, arg2, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_eqd0expopt, tmp410) ;
tmp418 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp410) ;
if (tmp418) {
tmp409 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__v0ardec_make (ats_castfn_mac(ats_ptr_type, tmp412), tmp413, ats_castfn_mac(ats_ptr_type, tmp415), tmp414, tmp417) ;
} else {
/* tmp419 = */ option_vt_free_01544_ats_ptr_type (tmp412) ;
/* tmp420 = */ option_vt_free_01544_ats_ptr_type (tmp415) ;
tmp409 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp411) ;
} /* end of [if] */
return (tmp409) ;
} /* end of [p_v0ardec_38] */

/*
// /tmp/ATS-Postiats/src/pats_parsing_decl.dats: 33292(line=1530, offs=1) -- 33636(line=1546, offs=4)
*/
ATSstaticdec()
ats_ptr_type
p_i0mpsvararg_39 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp421) ;
ATSlocal (ats_int_type, tmp422) ;
ATSlocal (ats_ptr_type, tmp423) ;
ATSlocal (ats_ptr_type, tmp424) ;
ATSlocal (ats_bool_type, tmp425) ;

__ats_lab_p_i0mpsvararg_39:
tmp422 = ats_ptrget_mac(ats_int_type, arg2) ;
tmp423 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pseq3_fun (arg0, arg1, arg2, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_LBRACE, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0vararg, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_RBRACE) ;
// 
tmp424 = ats_caselptrlab_mac(anairiats_sum_1, tmp423, atslab_1) ;
ATS_FREE(tmp423) ;
tmp425 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp422) ;
if (tmp425) {
tmp421 = tmp424 ;
} else {
tmp421 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null () ;
} /* end of [if] */
return (tmp421) ;
} /* end of [p_i0mpsvararg_39] */

/*
// /tmp/ATS-Postiats/src/pats_parsing_decl.dats: 33726(line=1552, offs=1) -- 34563(line=1595, offs=4)
*/
ATSstaticdec()
ats_ptr_type
p_i0mparg_40 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp426) ;
ATSlocal (ats_int_type, tmp427) ;
ATSlocal (ats_uint_type, tmp428) ;
ATSlocal (ats_ptr_type, tmp429) ;
ATSlocal (ats_ptr_type, tmp430) ;
ATSlocal (ats_ptr_type, tmp431) ;
// ATSlocal_void (tmp432) ;
ATSlocal (ats_ptr_type, tmp433) ;
ATSlocal (ats_ptr_type, tmp434) ;
ATSlocal (ats_bool_type, tmp435) ;
// ATSlocal_void (tmp436) ;

__ats_lab_p_i0mparg_40:
tmp427 = ats_ptrget_mac(ats_int_type, arg2) ;
tmp428 = _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ;
tmp429 = _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ;
tmp430 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, tmp429), atslab_token_node) ;
do {
/* branch: __ats_lab_73 */
__ats_lab_73_0:
if (((ats_sum_ptr_type)tmp430)->tag != 161) { goto __ats_lab_74_0 ; }
__ats_lab_73_1:
tmp431 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pstar_fun (arg0, arg1, &p_i0mpsvararg_39) ;
tmp426 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__i0mparg_svararglst (ats_castfn_mac(ats_ptr_type, tmp431)) ;
break ;

/* branch: __ats_lab_74 */
__ats_lab_74_0:
if (((ats_sum_ptr_type)tmp430)->tag != 157) { goto __ats_lab_75_0 ; }
__ats_lab_74_1:
/* tmp432 = */ _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp433 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pstar_fun0_COMMA (arg0, 0, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0arg) ;
tmp434 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_RPAREN (arg0, 0, arg2) ;
tmp435 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp427) ;
if (tmp435) {
tmp426 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__i0mparg_sarglst_some (tmp429, ats_castfn_mac(ats_ptr_type, tmp433), tmp434) ;
} else {
/* tmp436 = */ list_vt_free_01499_ats_ptr_type (tmp433) ;
tmp426 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp428) ;
} /* end of [if] */
break ;

/* branch: __ats_lab_75 */
__ats_lab_75_0:
__ats_lab_75_1:
tmp426 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__i0mparg_sarglst_none () ;
break ;
} while (0) ;
return (tmp426) ;
} /* end of [p_i0mparg_40] */

/*
// /tmp/ATS-Postiats/src/pats_parsing_decl.dats: 34676(line=1606, offs=1) -- 35682(line=1650, offs=4)
*/
ATSstaticdec()
ats_ptr_type
p_impqi0de_41 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp437) ;
ATSlocal (ats_int_type, tmp438) ;
ATSlocal (ats_uint_type, tmp439) ;
ATSlocal (ats_ptr_type, tmp440) ;
ATSlocal (ats_ptr_type, tmp441) ;
ATSlocal (ats_bool_type, tmp442) ;
ATSlocal (ats_ptr_type, tmp443) ;
ATSlocal (ats_bool_type, tmp444) ;
ATSlocal (ats_ptr_type, tmp445) ;
ATSlocal (ats_ptr_type, tmp446) ;
ATSlocal (ats_ptr_type, tmp447) ;
ATSlocal (ats_bool_type, tmp448) ;
// ATSlocal_void (tmp449) ;
ATSlocal (ats_int_type, tmp450) ;
// ATSlocal_void (tmp451) ;
ATSlocal (ats_ptr_type, tmp452) ;
ATSlocal (ats_ptr_type, tmp453) ;

__ats_lab_p_impqi0de_41:
tmp438 = ats_ptrget_mac(ats_int_type, arg2) ;
tmp439 = _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ;
tmp440 = _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ;
/* ats_ptr_type tmp441 ; */
do {
/* branch: __ats_lab_76 */
__ats_lab_76_0:
__ats_lab_76_1:
tmp442 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__ptest_fun (arg0, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_dqi0de, (&tmp441)) ;
if (!tmp442) { goto __ats_lab_77_1 ; }
tmp443 = ats_castfn_mac(ats_ptr_type, tmp441) ;
tmp437 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__impqi0de_make_none (tmp443) ;
break ;

/* branch: __ats_lab_77 */
__ats_lab_77_0:
__ats_lab_77_1:
tmp444 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__ptest_fun (arg0, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_tmpqi0de, (&tmp441)) ;
if (!tmp444) { goto __ats_lab_78_1 ; }
tmp445 = ats_castfn_mac(ats_ptr_type, tmp441) ;
tmp446 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pstar_fun1_sep (arg0, 0, arg2, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_tmps0expseq, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_GTLT_test) ;
tmp447 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_GT (arg0, 0, arg2) ;
tmp448 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp438) ;
if (tmp448) {
tmp437 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__impqi0de_make_some (tmp445, ats_castfn_mac(ats_ptr_type, tmp446), tmp447) ;
} else {
/* tmp449 = */ list_vt_free_01499_ats_ptr_type (tmp446) ;
tmp437 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp439) ;
} /* end of [if] */
break ;

/* branch: __ats_lab_78 */
__ats_lab_78_0:
__ats_lab_78_1:
tmp450 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ;
ats_ptrget_mac(ats_int_type, arg2) = tmp450 ;
tmp452 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, tmp440), atslab_token_loc) ;
tmp453 = (ats_sum_ptr_type)(&_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__PE_impqi0de_55) ;
/* tmp451 = */ _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__the_parerrlst_add_ifnbt (arg1, tmp452, tmp453) ;
tmp437 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null () ;
break ;
} while (0) ;
return (tmp437) ;
} /* end of [p_impqi0de_41] */

/*
// /tmp/ATS-Postiats/src/pats_parsing_decl.dats: 35799(line=1659, offs=5) -- 36460(line=1685, offs=4)
*/
ATSstaticdec()
ats_ptr_type
p_i0mpdec_42 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp454) ;
ATSlocal (ats_int_type, tmp455) ;
ATSlocal (ats_uint_type, tmp456) ;
ATSlocal (ats_ptr_type, tmp457) ;
ATSlocal (ats_ptr_type, tmp458) ;
ATSlocal (ats_bool_type, tmp459) ;
ATSlocal (ats_ptr_type, tmp460) ;
ATSlocal (ats_ptr_type, tmp461) ;
ATSlocal (ats_ptr_type, tmp462) ;
ATSlocal (ats_bool_type, tmp463) ;
// ATSlocal_void (tmp464) ;

__ats_lab_p_i0mpdec_42:
tmp455 = ats_ptrget_mac(ats_int_type, arg2) ;
tmp456 = _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ;
tmp457 = p_impqi0de_41 (arg0, arg1, arg2) ;
tmp459 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp455) ;
if (tmp459) {
tmp458 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pstar_fun (arg0, 0, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_f0arg2) ;
} else {
tmp458 = (ats_sum_ptr_type)0 ;
} /* end of [if] */
tmp460 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_colons0expopt, tmp455) ;
tmp461 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_EQ, tmp455) ;
tmp462 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0exp, tmp455) ;
tmp463 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp455) ;
if (tmp463) {
tmp454 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__i0mpdec_make (tmp457, ats_castfn_mac(ats_ptr_type, tmp458), tmp460, tmp462) ;
} else {
/* tmp464 = */ list_vt_free_01499_ats_ptr_type (tmp458) ;
tmp454 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp456) ;
} /* end of [if] */
return (tmp454) ;
} /* end of [p_i0mpdec_42] */

/*
// /tmp/ATS-Postiats/src/pats_parsing_decl.dats: 36919(line=1709, offs=1) -- 42578(line=1918, offs=4)
*/
ATSstaticdec()
ats_ptr_type
p_d0ecl_dyn_tok_43 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2, ats_ptr_type arg3) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp465) ;
ATSlocal (ats_int_type, tmp466) ;
ATSlocal (ats_ptr_type, tmp467) ;
ATSlocal (ats_ptr_type, tmp468) ;
ATSlocal (ats_bool_type, tmp469) ;
ATSlocal (ats_ptr_type, tmp470) ;
// ATSlocal_void (tmp471) ;
ATSlocal (ats_bool_type, tmp472) ;
ATSlocal (ats_ptr_type, tmp473) ;
ATSlocal (ats_bool_type, tmp474) ;
// ATSlocal_void (tmp475) ;
ATSlocal (ats_ptr_type, tmp476) ;
// ATSlocal_void (tmp477) ;
ATSlocal (ats_ptr_type, tmp478) ;
ATSlocal (ats_ptr_type, tmp479) ;
ATSlocal (ats_bool_type, tmp480) ;
// ATSlocal_void (tmp481) ;
// ATSlocal_void (tmp482) ;
ATSlocal (ats_int_type, tmp483) ;
// ATSlocal_void (tmp484) ;
ATSlocal (ats_ptr_type, tmp485) ;
ATSlocal (ats_bool_type, tmp486) ;
// ATSlocal_void (tmp487) ;
// ATSlocal_void (tmp488) ;
ATSlocal (ats_ptr_type, tmp489) ;
ATSlocal (ats_ptr_type, tmp490) ;
ATSlocal (ats_bool_type, tmp491) ;
// ATSlocal_void (tmp492) ;
// ATSlocal_void (tmp493) ;
ATSlocal (ats_ptr_type, tmp494) ;
ATSlocal (ats_ptr_type, tmp495) ;
ATSlocal (ats_bool_type, tmp496) ;
ATSlocal (ats_ptr_type, tmp497) ;
ATSlocal (ats_ptr_type, tmp498) ;
ATSlocal (ats_ptr_type, tmp499) ;
ATSlocal (ats_bool_type, tmp500) ;
// ATSlocal_void (tmp501) ;
ATSlocal (ats_ptr_type, tmp502) ;
ATSlocal (ats_ptr_type, tmp503) ;
ATSlocal (ats_ptr_type, tmp504) ;
ATSlocal (ats_bool_type, tmp505) ;
// ATSlocal_void (tmp506) ;
ATSlocal (ats_ptr_type, tmp507) ;
ATSlocal (ats_ptr_type, tmp508) ;
ATSlocal (ats_ptr_type, tmp509) ;
ATSlocal (ats_bool_type, tmp510) ;
ATSlocal (ats_int_type, tmp511) ;
// ATSlocal_void (tmp512) ;
ATSlocal (ats_ptr_type, tmp513) ;
ATSlocal (ats_ptr_type, tmp514) ;
ATSlocal (ats_ptr_type, tmp515) ;
ATSlocal (ats_bool_type, tmp516) ;
// ATSlocal_void (tmp517) ;
ATSlocal (ats_ptr_type, tmp518) ;
ATSlocal (ats_ptr_type, tmp519) ;
ATSlocal (ats_ptr_type, tmp520) ;
ATSlocal (ats_bool_type, tmp521) ;
// ATSlocal_void (tmp522) ;
ATSlocal (ats_ptr_type, tmp523) ;
ATSlocal (ats_ptr_type, tmp524) ;
ATSlocal (ats_ptr_type, tmp525) ;
ATSlocal (ats_bool_type, tmp526) ;
// ATSlocal_void (tmp527) ;
ATSlocal (ats_ptr_type, tmp528) ;
ATSlocal (ats_ptr_type, tmp529) ;
ATSlocal (ats_ptr_type, tmp530) ;
ATSlocal (ats_bool_type, tmp531) ;
ATSlocal (ats_ptr_type, tmp532) ;
ATSlocal (ats_bool_type, tmp533) ;
// ATSlocal_void (tmp534) ;
// ATSlocal_void (tmp535) ;
// ATSlocal_void (tmp536) ;
ATSlocal (ats_ptr_type, tmp537) ;
ATSlocal (ats_bool_type, tmp538) ;
// ATSlocal_void (tmp539) ;
ATSlocal (ats_ptr_type, tmp540) ;
ATSlocal (ats_bool_type, tmp541) ;
ATSlocal (ats_bool_type, tmp542) ;
ATSlocal (ats_ptr_type, tmp543) ;
ATSlocal (ats_ptr_type, tmp544) ;
ATSlocal (ats_bool_type, tmp545) ;
ATSlocal (ats_int_type, tmp546) ;

__ats_lab_p_d0ecl_dyn_tok_43:
tmp466 = ats_ptrget_mac(ats_int_type, arg2) ;
/* ats_ptr_type tmp467 ; */
tmp468 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg3), atslab_token_node) ;
do {
/* branch: __ats_lab_79 */
__ats_lab_79_0:
__ats_lab_79_1:
tmp469 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__ptest_fun (arg0, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0ecl, (&tmp467)) ;
if (!tmp469) { goto __ats_lab_80_0 ; }
tmp465 = ats_castfn_mac(ats_ptr_type, tmp467) ;
break ;

/* branch: __ats_lab_80 */
__ats_lab_80_0:
if (((ats_sum_ptr_type)tmp468)->tag != 80) { goto __ats_lab_81_0 ; }
__ats_lab_80_1:
tmp470 = ats_caselptrlab_mac(anairiats_sum_4, tmp468, atslab_0) ;
/* tmp471 = */ _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp472 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_REC_test (arg0) ;
tmp473 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pstar_fun1_AND (arg0, 0, arg2, &p_v0aldec_36) ;
tmp474 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp466) ;
if (tmp474) {
tmp465 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_valdecs (tmp470, tmp472, arg3, ats_castfn_mac(ats_ptr_type, tmp473)) ;
} else {
/* tmp475 = */ list_vt_free_01499_ats_ptr_type (tmp473) ;
tmp465 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null () ;
} /* end of [if] */
break ;

/* branch: __ats_lab_81 */
__ats_lab_81_0:
if (((ats_sum_ptr_type)tmp468)->tag != 52) { goto __ats_lab_82_0 ; }
__ats_lab_81_1:
tmp476 = ats_caselptrlab_mac(anairiats_sum_4, tmp468, atslab_0) ;
/* tmp477 = */ _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp478 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pstar_fun (arg0, 0, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_q0marg) ;
tmp479 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pstar_fun1_AND (arg0, 0, arg2, &p_f0undec_37) ;
tmp480 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp466) ;
if (tmp480) {
tmp465 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_fundecs (tmp476, arg3, ats_castfn_mac(ats_ptr_type, tmp478), ats_castfn_mac(ats_ptr_type, tmp479)) ;
} else {
/* tmp481 = */ list_vt_free_01499_ats_ptr_type (tmp478) ;
/* tmp482 = */ list_vt_free_01499_ats_ptr_type (tmp479) ;
tmp465 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null () ;
} /* end of [if] */
break ;

/* branch: __ats_lab_82 */
__ats_lab_82_0:
if (((ats_sum_ptr_type)tmp468)->tag != 81) { goto __ats_lab_83_0 ; }
__ats_lab_82_1:
tmp483 = ats_caselptrlab_mac(anairiats_sum_6, tmp468, atslab_0) ;
/* tmp484 = */ _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp485 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pstar_fun1_AND (arg0, 0, arg2, &p_v0ardec_38) ;
tmp486 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp466) ;
if (tmp486) {
tmp465 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_vardecs (tmp483, arg3, ats_castfn_mac(ats_ptr_type, tmp485)) ;
} else {
/* tmp487 = */ list_vt_free_01499_ats_ptr_type (tmp485) ;
tmp465 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null () ;
} /* end of [if] */
break ;

/* branch: __ats_lab_83 */
__ats_lab_83_0:
if (((ats_sum_ptr_type)tmp468)->tag != 55) { goto __ats_lab_84_0 ; }
__ats_lab_83_1:
/* tmp488 = */ _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp489 = p_i0mparg_40 (arg0, 0, arg2) ;
tmp490 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &p_i0mpdec_42, tmp466) ;
tmp491 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp466) ;
if (tmp491) {
tmp465 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_impdec (arg3, tmp489, tmp490) ;
} else {
tmp465 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null () ;
} /* end of [if] */
break ;

/* branch: __ats_lab_84 */
__ats_lab_84_0:
if (((ats_sum_ptr_type)tmp468)->tag != 173) { goto __ats_lab_85_0 ; }
__ats_lab_84_1:
/* tmp492 = */ _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp465 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_extcode (1, arg3) ;
break ;

/* branch: __ats_lab_85 */
__ats_lab_85_0:
if (((ats_sum_ptr_type)tmp468)->tag != 45) { goto __ats_lab_90_0 ; }
__ats_lab_85_1:
/* tmp493 = */ _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp494 = _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ;
tmp495 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, tmp494), atslab_token_node) ;
do {
/* branch: __ats_lab_86 */
__ats_lab_86_0:
__ats_lab_86_1:
tmp496 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__ptest_fun (arg0, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_dcstkind, (&tmp467)) ;
if (!tmp496) { goto __ats_lab_87_0 ; }
tmp497 = ats_castfn_mac(ats_ptr_type, tmp467) ;
tmp498 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_q0margseq, tmp466) ;
tmp499 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0cstdecseq, tmp466) ;
tmp500 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp466) ;
if (tmp500) {
tmp465 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_dcstdecs_extern (tmp497, tmp498, tmp499) ;
} else {
tmp465 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null () ;
} /* end of [if] */
break ;

/* branch: __ats_lab_87 */
__ats_lab_87_0:
if (((ats_sum_ptr_type)tmp495)->tag != 81) { goto __ats_lab_88_0 ; }
__ats_lab_87_1:
/* tmp501 = */ _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp502 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pseq3_fun (arg0, 0, arg2, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0tring, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_EQ, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0exp) ;
// 
tmp503 = ats_caselptrlab_mac(anairiats_sum_1, tmp502, atslab_0) ;
tmp504 = ats_caselptrlab_mac(anairiats_sum_1, tmp502, atslab_2) ;
ATS_FREE(tmp502) ;
tmp505 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp466) ;
if (tmp505) {
tmp465 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_extvar2 (tmp494, tmp503, tmp504) ;
} else {
tmp465 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null () ;
} /* end of [if] */
break ;

/* branch: __ats_lab_88 */
__ats_lab_88_0:
if (((ats_sum_ptr_type)tmp495)->tag != 79) { goto __ats_lab_89_0 ; }
__ats_lab_88_1:
/* tmp506 = */ _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp507 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pseq3_fun (arg0, 0, arg2, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0tring, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_EQ, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0exp) ;
// 
tmp508 = ats_caselptrlab_mac(anairiats_sum_1, tmp507, atslab_0) ;
tmp509 = ats_caselptrlab_mac(anairiats_sum_1, tmp507, atslab_2) ;
ATS_FREE(tmp507) ;
tmp510 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp466) ;
if (tmp510) {
tmp465 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_extype2 (tmp494, tmp508, tmp509) ;
} else {
tmp465 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null () ;
} /* end of [if] */
break ;

/* branch: __ats_lab_89 */
__ats_lab_89_0:
__ats_lab_89_1:
tmp511 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ;
ats_ptrget_mac(ats_int_type, arg2) = tmp511 ;
tmp465 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null () ;
break ;
} while (0) ;
break ;

/* branch: __ats_lab_90 */
__ats_lab_90_0:
if (((ats_sum_ptr_type)tmp468)->tag != 46) { goto __ats_lab_91_0 ; }
__ats_lab_90_1:
/* tmp512 = */ _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp513 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pseq3_fun (arg0, arg1, arg2, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0tring, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_EQ, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0exp) ;
// 
tmp514 = ats_caselptrlab_mac(anairiats_sum_1, tmp513, atslab_0) ;
tmp515 = ats_caselptrlab_mac(anairiats_sum_1, tmp513, atslab_2) ;
ATS_FREE(tmp513) ;
tmp516 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp466) ;
if (tmp516) {
tmp465 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_extype (arg3, tmp514, tmp515) ;
} else {
tmp465 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null () ;
} /* end of [if] */
break ;

/* branch: __ats_lab_91 */
__ats_lab_91_0:
if (((ats_sum_ptr_type)tmp468)->tag != 47) { goto __ats_lab_92_0 ; }
__ats_lab_91_1:
/* tmp517 = */ _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp518 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pseq3_fun (arg0, arg1, arg2, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0tring, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_EQ, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0exp) ;
// 
tmp519 = ats_caselptrlab_mac(anairiats_sum_1, tmp518, atslab_0) ;
tmp520 = ats_caselptrlab_mac(anairiats_sum_1, tmp518, atslab_2) ;
ATS_FREE(tmp518) ;
tmp521 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp466) ;
if (tmp521) {
tmp465 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_extvar (arg3, tmp519, tmp520) ;
} else {
tmp465 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null () ;
} /* end of [if] */
break ;

/* branch: __ats_lab_92 */
__ats_lab_92_0:
if (((ats_sum_ptr_type)tmp468)->tag != 70) { goto __ats_lab_93_0 ; }
__ats_lab_92_1:
/* tmp522 = */ _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp523 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_dcstkind (arg0, 0, arg2) ;
tmp524 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_q0margseq, tmp466) ;
tmp525 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0cstdecseq, tmp466) ;
tmp526 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp466) ;
if (tmp526) {
tmp465 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_dcstdecs_static (tmp523, tmp524, tmp525) ;
} else {
tmp465 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null () ;
} /* end of [if] */
break ;

/* branch: __ats_lab_93 */
__ats_lab_93_0:
if (((ats_sum_ptr_type)tmp468)->tag != 60) { goto __ats_lab_94_0 ; }
__ats_lab_93_1:
/* tmp527 = */ _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp528 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0eclseq_fun (arg0, 0, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0ecl_dyn) ;
tmp529 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_IN, tmp466) ;
tmp531 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp466) ;
if (tmp531) {
tmp530 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0eclseq_fun (arg0, 0, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0ecl_dyn) ;
} else {
tmp530 = (ats_sum_ptr_type)0 ;
} /* end of [if] */
tmp532 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_END, tmp466) ;
tmp533 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp466) ;
if (tmp533) {
tmp465 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_local (arg3, ats_castfn_mac(ats_ptr_type, tmp528), ats_castfn_mac(ats_ptr_type, tmp530), tmp532) ;
} else {
/* tmp534 = */ list_vt_free_01499_ats_ptr_type (tmp528) ;
/* tmp535 = */ list_vt_free_01499_ats_ptr_type (tmp530) ;
tmp465 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null () ;
} /* end of [if] */
break ;

/* branch: __ats_lab_94 */
__ats_lab_94_0:
if (((ats_sum_ptr_type)tmp468)->tag != 136) { goto __ats_lab_95_0 ; }
__ats_lab_94_1:
/* tmp536 = */ _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp537 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0tring (arg0, 0, arg2) ;
tmp538 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp466) ;
if (tmp538) {
tmp465 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_include (1, arg3, tmp537) ;
} else {
tmp465 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null () ;
} /* end of [if] */
break ;

/* branch: __ats_lab_95 */
__ats_lab_95_0:
if (((ats_sum_ptr_type)tmp468)->tag != 138) { goto __ats_lab_96_0 ; }
__ats_lab_95_1:
/* tmp539 = */ _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp540 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0tring (arg0, 0, arg2) ;
tmp541 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp466) ;
if (tmp541) {
tmp465 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_dynload (arg3, tmp540) ;
} else {
tmp465 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null () ;
} /* end of [if] */
break ;

/* branch: __ats_lab_96 */
__ats_lab_96_0:
__ats_lab_96_1:
tmp542 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__ptest_fun (arg0, &p_srpifkind_26, (&tmp467)) ;
if (!tmp542) { goto __ats_lab_97_1 ; }
tmp543 = ats_castfn_mac(ats_ptr_type, tmp467) ;
tmp544 = guad0ecl_fun_33 (arg0, 0, arg2, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0ecl_dyn) ;
tmp545 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp466) ;
if (tmp545) {
tmp465 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_guadecl (tmp543, tmp544) ;
} else {
tmp465 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null () ;
} /* end of [if] */
break ;

/* branch: __ats_lab_97 */
__ats_lab_97_0:
__ats_lab_97_1:
tmp546 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ;
ats_ptrget_mac(ats_int_type, arg2) = tmp546 ;
tmp465 = _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null () ;
break ;
} while (0) ;
return (tmp465) ;
} /* end of [p_d0ecl_dyn_tok_43] */

/*
// /tmp/ATS-Postiats/src/pats_parsing_decl.dats: 42632(line=1922, offs=3) -- 42709(line=1923, offs=61)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0ecl_dyn (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp547) ;
ATSlocal (ats_ptr_type, tmp548) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0ecl_dyn:
tmp548 = (ats_sum_ptr_type)(&_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__PE_d0ecl_dyn_88) ;
tmp547 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__ptokwrap_fun (arg0, arg1, arg2, &p_d0ecl_dyn_tok_43, tmp548) ;
return (tmp547) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0ecl_dyn] */

/*
// /tmp/ATS-Postiats/src/pats_parsing_decl.dats: 42783(line=1930, offs=3) -- 42869(line=1934, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0eclseq_sta (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp549) ;
ATSlocal (ats_ptr_type, tmp550) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0eclseq_sta:
tmp550 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0eclseq_fun (arg0, arg1, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0ecl_sta) ;
tmp549 = ats_castfn_mac(ats_ptr_type, tmp550) ;
return (tmp549) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0eclseq_sta] */

/*
// /tmp/ATS-Postiats/src/pats_parsing_decl.dats: 42925(line=1938, offs=3) -- 43011(line=1942, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0eclseq_dyn (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp551) ;
ATSlocal (ats_ptr_type, tmp552) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0eclseq_dyn:
tmp552 = _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0eclseq_fun (arg0, arg1, &_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0ecl_dyn) ;
tmp551 = ats_castfn_mac(ats_ptr_type, tmp552) ;
return (tmp551) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0eclseq_dyn] */

/* static load function */

// extern ats_void_type _2tmp_2ATS_2dPostiats_2src_2pats_atspre_2edats__staload (void) ;
// extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ;
extern ats_void_type _2tmp_2ATS_2dPostiats_2src_2pats_lexing_2esats__staload (void) ;
extern ats_void_type _2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__staload (void) ;
extern ats_void_type _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__staload (void) ;
extern ats_void_type _2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__staload (void) ;

ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_parsing_decl_2edats__staload () {
static int _2tmp_2ATS_2dPostiats_2src_2pats_parsing_decl_2edats__staload_flag = 0 ;
if (_2tmp_2ATS_2dPostiats_2src_2pats_parsing_decl_2edats__staload_flag) return ;
_2tmp_2ATS_2dPostiats_2src_2pats_parsing_decl_2edats__staload_flag = 1 ;

// _2tmp_2ATS_2dPostiats_2src_2pats_atspre_2edats__staload () ;
// ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ;
_2tmp_2ATS_2dPostiats_2src_2pats_lexing_2esats__staload () ;
_2tmp_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__staload () ;
_2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__staload () ;
_2tmp_2ATS_2dPostiats_2src_2pats_parsing_2esats__staload () ;

return ;
} /* staload function */

/* dynamic load function */

// dynload flag declaration
extern ats_int_type _2tmp_2ATS_2dPostiats_2src_2pats_parsing_decl_2edats__dynload_flag ;

ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_parsing_decl_2edats__dynload () {
_2tmp_2ATS_2dPostiats_2src_2pats_parsing_decl_2edats__dynload_flag = 1 ;
_2tmp_2ATS_2dPostiats_2src_2pats_parsing_decl_2edats__staload () ;

#ifdef _ATS_PROOFCHECK
ATS_2d0_2e2_2e12_2prelude_2SATS_2list_2esats__list_length_is_nonnegative_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2SATS_2list_vt_2esats__list_vt_length_is_nonnegative_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2SATS_2array_2esats__array_v_takeout2_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_vt_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_vt_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_vt_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_vt_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_vt_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_vt_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2array_2edats____copy_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2array_2edats____free_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2array_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2array_2edats____assert_prfck () ;
#endif /* _ATS_PROOFCHECK */

/* marking static variables for GC */

/* marking external values for GC */

/* code for dynamic loading */
return ;
} /* end of [dynload function] */

/* external codes at mid */
/* external codes at bot */

/* ****** ****** */

/* end of [pats_parsing_decl_dats.c] */
