/*
**
** The C code is generated by ATS/Anairiats
** The compilation time is: 2016-7-18: 22h:45m
**
*/

/* 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, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_DOT_9) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_ABSTYPE_31) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_ASSUME_34) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_CLASSDEC_37) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_DATASORT_38) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_DATATYPE_39) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_DYNLOAD_41) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_EXCEPTION_44) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_EXTERN_45) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_EXTYPE_46) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_EXTVAR_47) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_FIXITY_49) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_FUN_52) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_IMPLEMENT_55) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_LOCAL_60) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_MACDEF_61) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_NONFIX_62) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_OVERLOAD_63) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_SORTDEF_69) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_STACST_70) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_STADEF_71) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_STALOAD_72) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_STATIC_73) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_SYMELIM_74) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_SYMINTR_75) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_TKINDEF_77) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_TYPEDEF_80) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_VAL_81) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_VAR_82) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_WHERE_84) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_SRPIF_120) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_SRPIFDEF_121) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_SRPIFNDEF_122) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_SRPELIF_124) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_SRPELIFDEF_125) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_SRPELIFNDEF_126) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_SRPELSE_127) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_SRPENDIF_128) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_SRPERROR_129) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_SRPPRERR_130) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_SRPPRINT_131) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_SRPASSERT_132) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_SRPUNDEF_133) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_SRPDEFINE_134) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_SRPINCLUDE_135) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_SRPREQUIRE_136) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_SRPPRAGMA_137) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_SRPCODEGEN2_138) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_IDENT_alp_140) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_IDENT_dlr_144) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_STRING_151) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_LPAREN_154) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_LBRACKET_156) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_LBRACE_158) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_lexing_2esats__T_EXTCODE_170) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__STLDfname_0) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__STLDnspace_1) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__PE_stai0de_49) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__PE_impqi0de_55) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__PE_d0ecl_86) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__PE_d0ecl_sta_87) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__PE_d0ecl_dyn_88) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__PE_guad0ecl_89) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__PE_staloadarg_90) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__SYNENT2_0) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_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, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_get_ntok) (ats_ref_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1) (ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_get_token) (ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null) () ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__i0de_make_string) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__i0de_make_lrbrackets) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__i0de_make_dotlab) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0atsrtdec_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__m0acarg_dyn) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__m0acarg_sing) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__m0acarg_sta) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__s0rtdef_make) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_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, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__s0tacon_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__t0kindef_make) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_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, _2home_2hwxi_2Research_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, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0atdec_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_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, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__i0mparg_sarglst_none) () ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__i0mparg_sarglst_some) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__i0mparg_svararglst) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__impqi0de_make_none) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__impqi0de_make_some) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__m0acdef_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__v0aldec_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_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, _2home_2hwxi_2Research_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, _2home_2hwxi_2Research_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, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_fixity) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_nonfix) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_include) (ats_int_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_symintr) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_symelim) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_e0xpdef) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_e0xpundef) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_e0xpact_assert) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_e0xpact_error) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_e0xpact_prerr) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_e0xpact_print) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_pragma) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_codegen2) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_datsrts) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_srtdefs) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_stacons) (ats_int_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_stacsts) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_tkindef) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_saspdec) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_sexpdefs) (ats_int_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_exndecs) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_datdecs_none) (ats_int_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_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, _2home_2hwxi_2Research_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, _2home_2hwxi_2Research_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, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_classdec) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_extype) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_extype2) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_extvar) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_extvar2) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_extcode) (ats_int_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_impdec) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_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, _2home_2hwxi_2Research_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, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_vardecs) (ats_int_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__staloadarg_declist) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_staload_fname) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_staload_nspace) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_staload_some_arg) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_require) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_dynload) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_dcstdecs) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_dcstdecs_extern) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_dcstdecs_static) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_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, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_guadecl) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__guad0ecl_one) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_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, _2home_2hwxi_2Research_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, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__the_parerrlst_add_ifnbt) (ats_int_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__tokbuf_set_ntok_null) (ats_ref_type, ats_uint_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_END) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__is_OF) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_IN) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_REC) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_REC_test) (ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_WITH) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__is_WITH) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_COLON) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_SEMICOLON) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_LPAREN) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_RPAREN) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_RBRACKET) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_LBRACE) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_RBRACE) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_BANG) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_EQ) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_GT) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_GTLT_test) (ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_SRPTHEN) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_SRPENDIF) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__ptokentopt_fun) (ats_ref_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__pstar_fun) (ats_ref_type, ats_int_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__pstar_fun0_COMMA) (ats_ref_type, ats_int_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_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, _2home_2hwxi_2Research_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, _2home_2hwxi_2Research_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, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__popt_fun) (ats_ref_type, ats_int_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_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, _2home_2hwxi_2Research_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, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__ptest_fun) (ats_ref_type, ats_ptr_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_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, _2home_2hwxi_2Research_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, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_i0nt) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0tring) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_i0de) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_i0deseq1) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_l0ab) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_p0rec) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_colonwith) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_dcstkind) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_extnamopt) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_e0xp) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_e0xpseq) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0rt) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0rtid) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_colons0rtopt) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0arg) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0marg) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_a0msrt) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0atsrtconseq) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0exp) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_si0de) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_sqi0de) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0rtext) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_eqs0expopt) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_colons0expopt) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_q0marg) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_q0margseq) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_e0xndec) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0atconseq) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0cstarg) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0vararg) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_witht0ype) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_tmps0expseq) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_p0at) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_pi0de) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_f0arg1) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_f0arg2) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0exp) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_di0de) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_dqi0de) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_tmpqi0de) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_eqd0expopt) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0ecl) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0ecl_sta) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0ecl_dyn) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0eclseq_fun) (ats_ref_type, ats_int_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0atsrtdecseq) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0rtdefseq) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0taconseq) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0tacstseq) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0expdefseq) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_e0xndecseq) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0atdecseq) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_m0acdef) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0cstdecseq) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_decl_2edats__p_s0ym) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_decl_2edats__p_s0ymseq1) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_decl_2edats__p_m0acarg) (ats_ref_type, ats_int_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_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 */

/*
// /home/hwxi/Research/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 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__pseq3_fun (arg0, arg1, arg2, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0rtid, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_EQ, &_2home_2hwxi_2Research_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 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0atsrtdec_make (tmp3, tmp4, tmp5) ;
} else {
tmp0 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null () ;
} /* end of [if] */
return (tmp0) ;
} /* end of [p_d0atsrtdec_0] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_parsing_decl.dats: 2263(line=83, offs=3) -- 2356(line=87, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_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__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0atsrtdecseq:
tmp8 = _2home_2hwxi_2Research_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 [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0atsrtdecseq] */

/*
// /home/hwxi/Research/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 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__pseq3_fun (arg0, arg1, arg2, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0rtid, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_EQ, &_2home_2hwxi_2Research_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 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__s0rtdef_make (tmp12, tmp13) ;
} else {
tmp9 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null () ;
} /* end of [if] */
return (tmp9) ;
} /* end of [p_s0rtdef_2] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_parsing_decl.dats: 2867(line=113, offs=3) -- 2957(line=117, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_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__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0rtdefseq:
tmp16 = _2home_2hwxi_2Research_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 [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0rtdefseq] */

/*
// /home/hwxi/Research/ATS-Anairiats/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/hwxi/Research/ATS-Anairiats/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] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_parsing_decl.dats: 3056(line=125, offs=1) -- 3602(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 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ;
tmp20 = _2home_2hwxi_2Research_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 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__pstar_fun (arg0, 0, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_a0msrt) ;
} else {
tmp21 = (ats_sum_ptr_type)0 ;
} /* end of [if] */
tmp23 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_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 = _2home_2hwxi_2Research_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 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp19) ;
} /* end of [if] */
return (tmp17) ;
} /* end of [p_s0tacon_4] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_parsing_decl.dats: 3651(line=152, offs=3) -- 3741(line=156, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_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__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0taconseq:
tmp30 = _2home_2hwxi_2Research_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 [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0taconseq] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_parsing_decl.dats: 3848(line=164, offs=1) -- 4519(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 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ;
tmp34 = _2home_2hwxi_2Research_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 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__pstar_fun (arg0, 0, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_a0msrt) ;
} else {
tmp35 = (ats_sum_ptr_type)0 ;
} /* end of [if] */
tmp37 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_COLON, tmp32) ;
tmp38 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0rt, tmp32) ;
tmp39 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_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 = _2home_2hwxi_2Research_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 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp33) ;
} /* end of [if] */
return (tmp31) ;
} /* end of [p_s0tacst_8] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_parsing_decl.dats: 4568(line=195, offs=3) -- 4658(line=199, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_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__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0tacstseq:
tmp43 = _2home_2hwxi_2Research_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 [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0tacstseq] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_parsing_decl.dats: 5387(line=245, offs=1) -- 5768(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 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ;
tmp47 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_si0de (arg0, arg1, arg2) ;
tmp48 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_EQ, tmp45) ;
tmp49 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_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 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__t0kindef_make (tmp47, tmp49) ;
} else {
tmp44 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp46) ;
} /* end of [if] */
return (tmp44) ;
} /* end of [p_t0kindef_10] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_parsing_decl.dats: 5875(line=270, offs=1) -- 6559(line=297, 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 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ;
tmp54 = _2home_2hwxi_2Research_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 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__pstar_fun (arg0, 0, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0marg) ;
} else {
tmp55 = (ats_sum_ptr_type)0 ;
} /* end of [if] */
tmp57 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_colons0rtopt, tmp52) ;
tmp58 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_EQ, tmp52) ;
tmp59 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_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 = _2home_2hwxi_2Research_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 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp53) ;
} /* end of [if] */
return (tmp51) ;
} /* end of [p_s0expdef_11] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_parsing_decl.dats: 6610(line=301, offs=3) -- 6701(line=305, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_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__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0expdefseq:
tmp63 = _2home_2hwxi_2Research_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 [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0expdefseq] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_parsing_decl.dats: 6812(line=313, offs=1) -- 7465(line=339, 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 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ;
tmp67 = _2home_2hwxi_2Research_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 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__pstar_fun (arg0, 0, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0marg) ;
} else {
tmp68 = (ats_sum_ptr_type)0 ;
} /* end of [if] */
tmp70 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_colons0rtopt, tmp65) ;
tmp71 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_EQ, tmp65) ;
tmp72 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_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 = _2home_2hwxi_2Research_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 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp66) ;
} /* end of [if] */
return (tmp64) ;
} /* end of [p_s0aspdec_13] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_parsing_decl.dats: 7579(line=348, offs=3) -- 7669(line=352, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_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__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_e0xndecseq:
tmp76 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__pstar_fun1_AND (arg0, arg1, arg2, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_e0xndec) ;
tmp75 = ats_castfn_mac(ats_ptr_type, tmp76) ;
return (tmp75) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_e0xndecseq] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_parsing_decl.dats: 7769(line=360, offs=1) -- 8409(line=385, 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 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ;
tmp80 = _2home_2hwxi_2Research_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 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__pstar_fun (arg0, 0, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_a0msrt) ;
} else {
tmp81 = (ats_sum_ptr_type)0 ;
} /* end of [if] */
tmp83 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_EQ, tmp78) ;
tmp84 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_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 = _2home_2hwxi_2Research_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 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp79) ;
} /* end of [if] */
return (tmp77) ;
} /* end of [p_d0atdec_15] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_parsing_decl.dats: 8458(line=389, offs=3) -- 8548(line=393, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_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__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0atdecseq:
tmp89 = _2home_2hwxi_2Research_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 [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0atdecseq] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_parsing_decl.dats: 8663(line=401, offs=1) -- 9331(line=426, 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 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ;
tmp93 = _2home_2hwxi_2Research_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 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__pstar_fun (arg0, 0, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0cstarg) ;
} else {
tmp94 = (ats_sum_ptr_type)0 ;
} /* end of [if] */
tmp96 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_colonwith, tmp91) ;
tmp97 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0exp, tmp91) ;
tmp98 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_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 = _2home_2hwxi_2Research_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 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp92) ;
} /* end of [if] */
return (tmp90) ;
} /* end of [p_d0cstdec_17] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_parsing_decl.dats: 9382(line=430, offs=3) -- 9449(line=431, offs=49)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_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__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0cstdecseq:
tmp102 = _2home_2hwxi_2Research_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 [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0cstdecseq] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_parsing_decl.dats: 9607(line=442, offs=8) -- 10398(line=479, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_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__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_decl_2edats__p_s0ym:
tmp104 = ats_ptrget_mac(ats_int_type, arg2) ;
tmp105 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ;
tmp106 = _2home_2hwxi_2Research_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 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp109 = _2home_2hwxi_2Research_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 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__i0de_make_dotlab (tmp106, tmp109) ;
} else {
tmp103 = _2home_2hwxi_2Research_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 != 156) { goto __ats_lab_4_0 ; }
__ats_lab_3_1:
/* tmp111 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp112 = _2home_2hwxi_2Research_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 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__i0de_make_lrbrackets (tmp106, tmp112) ;
} else {
tmp103 = _2home_2hwxi_2Research_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 = _2home_2hwxi_2Research_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 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null () ;
} /* end of [if] */
break ;
} while (0) ;
return (tmp103) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_decl_2edats__p_s0ym] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_parsing_decl.dats: 10504(line=487, offs=3) -- 10599(line=491, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_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__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_decl_2edats__p_s0ymseq1:
tmp117 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__pstar1_fun (arg0, arg1, arg2, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_decl_2edats__p_s0ym) ;
tmp116 = ats_castfn_mac(ats_ptr_type, tmp117) ;
return (tmp116) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_decl_2edats__p_s0ymseq1] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_parsing_decl.dats: 10790(line=506, offs=3) -- 11878(line=552, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_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__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_decl_2edats__p_m0acarg:
tmp119 = ats_ptrget_mac(ats_int_type, arg2) ;
tmp120 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ;
tmp121 = _2home_2hwxi_2Research_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 != 158) { goto __ats_lab_6_0 ; }
__ats_lab_5_1:
/* tmp123 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp124 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__pstar_fun0_COMMA (arg0, 0, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0arg) ;
tmp125 = _2home_2hwxi_2Research_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 = _2home_2hwxi_2Research_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 = _2home_2hwxi_2Research_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 != 154) { goto __ats_lab_7_0 ; }
__ats_lab_6_1:
/* tmp128 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp129 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__pstar_fun0_COMMA (arg0, 0, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_si0de) ;
tmp130 = _2home_2hwxi_2Research_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 = _2home_2hwxi_2Research_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 = _2home_2hwxi_2Research_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 = _2home_2hwxi_2Research_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 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__m0acarg_sing (tmp133) ;
} else {
tmp118 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp120) ;
} /* end of [if] */
break ;
} while (0) ;
return (tmp118) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_decl_2edats__p_m0acarg] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_parsing_decl.dats: 11989(line=561, offs=3) -- 12528(line=583, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_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__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_m0acdef:
tmp136 = ats_ptrget_mac(ats_int_type, arg2) ;
tmp137 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ;
tmp138 = _2home_2hwxi_2Research_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 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__pstar_fun (arg0, 0, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_decl_2edats__p_m0acarg) ;
} else {
tmp139 = (ats_sum_ptr_type)0 ;
} /* end of [if] */
tmp141 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_EQ, tmp136) ;
tmp142 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_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 = _2home_2hwxi_2Research_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 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp137) ;
} /* end of [if] */
return (tmp135) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_m0acdef] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_parsing_decl.dats: 12666(line=595, offs=3) -- 13119(line=615, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_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__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_decl_2edats__p_stai0de:
tmp146 = _2home_2hwxi_2Research_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 != 140) { goto __ats_lab_9_0 ; }
__ats_lab_8_1:
tmp149 = ats_caselptrlab_mac(anairiats_sum_4, tmp148, atslab_0) ;
/* tmp150 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp151 = atspre_string_append (ATSstrcst("$"), tmp149) ;
tmp145 = _2home_2hwxi_2Research_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)(&_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__PE_stai0de_49) ;
/* tmp153 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__the_parerrlst_add_ifnbt (arg1, tmp147, tmp154) ;
tmp145 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null () ;
break ;
} while (0) ;
return (tmp145) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_decl_2edats__p_stai0de] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_parsing_decl.dats: 13294(line=627, offs=1) -- 14434(line=677, 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 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ;
tmp158 = _2home_2hwxi_2Research_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 != 151) { goto __ats_lab_11_0 ; }
__ats_lab_10_1:
tmp161 = ats_caselptrlab_mac(anairiats_sum_4, tmp160, atslab_0) ;
/* tmp162 = */ _2home_2hwxi_2Research_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 != 144) { goto __ats_lab_12_0 ; }
__ats_lab_11_1:
tmp163 = ats_caselptrlab_mac(anairiats_sum_4, tmp160, atslab_0) ;
/* tmp164 = */ _2home_2hwxi_2Research_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 != 158) { goto __ats_lab_13_0 ; }
__ats_lab_12_1:
/* tmp165 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp166 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0eclseq_fun (arg0, 0, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0ecl_dyn) ;
tmp167 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_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 = _2home_2hwxi_2Research_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 = _2home_2hwxi_2Research_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)(&_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__PE_staloadarg_90) ;
/* tmp171 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__the_parerrlst_add_ifnbt (arg1, tmp159, tmp172) ;
tmp155 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null () ;
break ;
} while (0) ;
return (tmp155) ;
} /* end of [p_staloadarg_24] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_parsing_decl.dats: 14555(line=688, offs=1) -- 15594(line=728, 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 = _2home_2hwxi_2Research_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 != 151) { goto __ats_lab_15_0 ; }
__ats_lab_14_1:
/* tmp177 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp173 = _2home_2hwxi_2Research_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 != 144) { goto __ats_lab_16_0 ; }
__ats_lab_15_1:
/* tmp178 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp173 = _2home_2hwxi_2Research_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 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_decl_2edats__p_stai0de (arg0, arg1, arg2) ;
tmp180 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_EQ, tmp174) ;
tmp181 = _2home_2hwxi_2Research_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 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_staload_some_arg (arg3, tmp179, tmp181) ;
} else {
tmp173 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null () ;
} /* end of [if] */
break ;
} while (0) ;
return (tmp173) ;
} /* end of [p_staload_tok_25] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_parsing_decl.dats: 15696(line=736, offs=1) -- 16136(line=758, 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 = _2home_2hwxi_2Research_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 != 120) { goto __ats_lab_18_0 ; }
__ats_lab_17_1:
/* tmp186 = */ _2home_2hwxi_2Research_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 != 121) { goto __ats_lab_19_0 ; }
__ats_lab_18_1:
/* tmp187 = */ _2home_2hwxi_2Research_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 != 122) { goto __ats_lab_20_0 ; }
__ats_lab_19_1:
/* tmp188 = */ _2home_2hwxi_2Research_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 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null () ;
break ;
} while (0) ;
return (tmp183) ;
} /* end of [p_srpifkind_26] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_parsing_decl.dats: 16223(line=764, offs=1) -- 16671(line=786, 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 = _2home_2hwxi_2Research_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 != 124) { goto __ats_lab_22_0 ; }
__ats_lab_21_1:
/* tmp193 = */ _2home_2hwxi_2Research_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 != 125) { goto __ats_lab_23_0 ; }
__ats_lab_22_1:
/* tmp194 = */ _2home_2hwxi_2Research_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 != 126) { goto __ats_lab_24_0 ; }
__ats_lab_23_1:
/* tmp195 = */ _2home_2hwxi_2Research_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 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null () ;
break ;
} while (0) ;
return (tmp190) ;
} /* end of [p_srpelifkind_27] */

/*
// /home/hwxi/Research/ATS-Anairiats/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] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_parsing_decl.dats: 17412(line=822, offs=1) -- 24847(line=1126, 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_void (tmp272) ;
ATSlocal (ats_ptr_type, tmp273) ;
ATSlocal (ats_bool_type, tmp274) ;
ATSlocal (ats_int_type, tmp275) ;
// ATSlocal_void (tmp276) ;
ATSlocal (ats_ptr_type, tmp277) ;
ATSlocal (ats_bool_type, 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 (ats_int_type, tmp285) ;
// ATSlocal_void (tmp286) ;
ATSlocal (ats_ptr_type, tmp287) ;
ATSlocal (ats_ptr_type, tmp288) ;
ATSlocal (ats_ptr_type, tmp289) ;
// ATSlocal_void (tmp290) ;
ATSlocal (ats_ptr_type, tmp291) ;
// ATSlocal_void (tmp292) ;
ATSlocal (ats_ptr_type, tmp293) ;
ATSlocal (ats_ptr_type, tmp294) ;
ATSlocal (ats_bool_type, tmp295) ;
ATSlocal (ats_int_type, tmp296) ;
// ATSlocal_void (tmp297) ;
ATSlocal (ats_ptr_type, tmp298) ;
ATSlocal (ats_bool_type, tmp299) ;
ATSlocal (ats_ptr_type, tmp300) ;
ATSlocal (ats_bool_type, tmp301) ;
// ATSlocal_void (tmp302) ;
// ATSlocal_void (tmp303) ;
ATSlocal (ats_int_type, tmp304) ;

__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 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp201 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_p0rec (arg0, 0, arg2) ;
tmp202 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_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 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_fixity (arg3, tmp201, tmp202) ;
} else {
tmp197 = _2home_2hwxi_2Research_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 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp205 = _2home_2hwxi_2Research_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 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_nonfix (arg3, tmp205) ;
} else {
tmp197 = _2home_2hwxi_2Research_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 != 75) { goto __ats_lab_28_0 ; }
__ats_lab_27_1:
/* tmp207 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp208 = _2home_2hwxi_2Research_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 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_symintr (arg3, tmp208) ;
} else {
tmp197 = _2home_2hwxi_2Research_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 != 74) { goto __ats_lab_29_0 ; }
__ats_lab_28_1:
/* tmp210 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp211 = _2home_2hwxi_2Research_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 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_symelim (arg3, tmp211) ;
} else {
tmp197 = _2home_2hwxi_2Research_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 != 63) { goto __ats_lab_32_0 ; }
__ats_lab_29_1:
/* tmp213 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp214 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_decl_2edats__p_s0ym (arg0, 0, arg2) ;
tmp215 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_WITH, tmp198) ;
tmp216 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_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 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__ptokentopt_fun (arg0, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__is_OF, &_2home_2hwxi_2Research_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 = _2home_2hwxi_2Research_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 = _2home_2hwxi_2Research_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 != 133) { goto __ats_lab_33_0 ; }
__ats_lab_32_1:
/* tmp222 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp223 = _2home_2hwxi_2Research_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 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_e0xpundef (arg3, tmp223) ;
} else {
tmp197 = _2home_2hwxi_2Research_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 != 134) { goto __ats_lab_34_0 ; }
__ats_lab_33_1:
/* tmp225 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp226 = _2home_2hwxi_2Research_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 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__popt_fun (arg0, 0, &_2home_2hwxi_2Research_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 = _2home_2hwxi_2Research_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 = _2home_2hwxi_2Research_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 != 129) { goto __ats_lab_35_0 ; }
__ats_lab_34_1:
/* tmp231 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp232 = _2home_2hwxi_2Research_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 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_e0xpact_error (arg3, tmp232) ;
} else {
tmp197 = _2home_2hwxi_2Research_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 != 130) { goto __ats_lab_36_0 ; }
__ats_lab_35_1:
/* tmp234 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp235 = _2home_2hwxi_2Research_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 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_e0xpact_prerr (arg3, tmp235) ;
} else {
tmp197 = _2home_2hwxi_2Research_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 != 131) { goto __ats_lab_37_0 ; }
__ats_lab_36_1:
/* tmp237 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp238 = _2home_2hwxi_2Research_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 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_e0xpact_print (arg3, tmp238) ;
} else {
tmp197 = _2home_2hwxi_2Research_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 != 132) { goto __ats_lab_38_0 ; }
__ats_lab_37_1:
/* tmp240 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp241 = _2home_2hwxi_2Research_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 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_e0xpact_assert (arg3, tmp241) ;
} else {
tmp197 = _2home_2hwxi_2Research_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 != 136) { goto __ats_lab_39_0 ; }
__ats_lab_38_1:
/* tmp243 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp244 = _2home_2hwxi_2Research_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 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_require (arg3, tmp244) ;
} else {
tmp197 = _2home_2hwxi_2Research_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 != 137) { goto __ats_lab_40_0 ; }
__ats_lab_39_1:
/* tmp246 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp247 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_LPAREN (arg0, 0, arg2) ;
tmp248 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_e0xpseq, tmp198) ;
tmp249 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_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 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_pragma (tmp247, tmp248, tmp249) ;
} else {
tmp197 = _2home_2hwxi_2Research_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 != 138) { goto __ats_lab_41_0 ; }
__ats_lab_40_1:
/* tmp251 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp252 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_LPAREN (arg0, 0, arg2) ;
tmp253 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_e0xpseq, tmp198) ;
tmp254 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_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 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_codegen2 (tmp252, tmp253, tmp254) ;
} else {
tmp197 = _2home_2hwxi_2Research_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 != 69) { goto __ats_lab_42_0 ; }
__ats_lab_41_1:
/* tmp256 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp257 = _2home_2hwxi_2Research_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 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_srtdefs (arg3, tmp257) ;
} else {
tmp197 = _2home_2hwxi_2Research_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 != 38) { goto __ats_lab_43_0 ; }
__ats_lab_42_1:
/* tmp259 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp260 = _2home_2hwxi_2Research_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 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_datsrts (arg3, tmp260) ;
} else {
tmp197 = _2home_2hwxi_2Research_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 != 70) { goto __ats_lab_44_0 ; }
__ats_lab_43_1:
/* tmp262 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp263 = _2home_2hwxi_2Research_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 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_stacsts (arg3, tmp263) ;
} else {
tmp197 = _2home_2hwxi_2Research_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 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp267 = _2home_2hwxi_2Research_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 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_stacons (tmp265, arg3, tmp267) ;
} else {
tmp197 = _2home_2hwxi_2Research_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 != 77) { goto __ats_lab_46_0 ; }
__ats_lab_45_1:
/* tmp269 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp270 = p_t0kindef_10 (arg0, 0, arg2) ;
tmp271 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp198) ;
if (tmp271) {
tmp197 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_tkindef (arg3, tmp270) ;
} else {
tmp197 = _2home_2hwxi_2Research_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 != 71) { goto __ats_lab_47_0 ; }
__ats_lab_46_1:
/* tmp272 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp273 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0expdefseq (arg0, 0, arg2) ;
tmp274 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp198) ;
if (tmp274) {
tmp197 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_sexpdefs (-1, arg3, tmp273) ;
} else {
tmp197 = _2home_2hwxi_2Research_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 != 80) { goto __ats_lab_48_0 ; }
__ats_lab_47_1:
tmp275 = ats_caselptrlab_mac(anairiats_sum_6, tmp199, atslab_0) ;
/* tmp276 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp277 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0expdefseq (arg0, 0, arg2) ;
tmp278 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp198) ;
if (tmp278) {
tmp197 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_sexpdefs (tmp275, arg3, tmp277) ;
} else {
tmp197 = _2home_2hwxi_2Research_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 != 34) { goto __ats_lab_49_0 ; }
__ats_lab_48_1:
/* tmp279 = */ _2home_2hwxi_2Research_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 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_saspdec (arg3, tmp280) ;
} else {
tmp197 = _2home_2hwxi_2Research_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 != 44) { goto __ats_lab_50_0 ; }
__ats_lab_49_1:
/* tmp282 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp283 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_e0xndecseq (arg0, 0, arg2) ;
tmp284 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp198) ;
if (tmp284) {
tmp197 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_exndecs (arg3, tmp283) ;
} else {
tmp197 = _2home_2hwxi_2Research_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 != 39) { goto __ats_lab_53_0 ; }
__ats_lab_50_1:
tmp285 = ats_caselptrlab_mac(anairiats_sum_6, tmp199, atslab_0) ;
/* tmp286 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp287 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0atdecseq (arg0, 0, arg2) ;
tmp288 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ;
tmp289 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, tmp288), atslab_token_node) ;
do {
/* branch: __ats_lab_51 */
__ats_lab_51_0:
if (((ats_sum_ptr_type)tmp289)->tag != 84) { goto __ats_lab_52_0 ; }
__ats_lab_51_1:
/* tmp290 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp291 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0expdefseq (arg0, 0, arg2) ;
tmp197 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_datdecs_some (tmp285, arg3, tmp287, tmp288, tmp291) ;
break ;

/* branch: __ats_lab_52 */
__ats_lab_52_0:
__ats_lab_52_1:
tmp197 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_datdecs_none (tmp285, arg3, tmp287) ;
break ;
} while (0) ;
break ;

/* branch: __ats_lab_53 */
__ats_lab_53_0:
if (((ats_sum_ptr_type)tmp199)->tag != 37) { goto __ats_lab_54_0 ; }
__ats_lab_53_1:
/* tmp292 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp293 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_si0de (arg0, 0, arg2) ;
tmp294 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_colons0expopt, tmp198) ;
tmp295 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp198) ;
if (tmp295) {
tmp197 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_classdec (arg3, tmp293, tmp294) ;
} else {
tmp197 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null () ;
} /* end of [if] */
break ;

/* branch: __ats_lab_54 */
__ats_lab_54_0:
if (((ats_sum_ptr_type)tmp199)->tag != 61) { goto __ats_lab_55_0 ; }
__ats_lab_54_1:
tmp296 = ats_caselptrlab_mac(anairiats_sum_6, tmp199, atslab_0) ;
/* tmp297 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
/* ats_ptr_type tmp298 ; */
tmp299 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__ptest_fun (arg0, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_REC, (&tmp298)) ;
tmp300 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__pstar_fun1_AND (arg0, 0, arg2, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_m0acdef) ;
tmp301 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp198) ;
if (tmp301) {
tmp197 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_macdefs (tmp296, tmp299, arg3, ats_castfn_mac(ats_ptr_type, tmp300)) ;
} else {
/* tmp302 = */ list_vt_free_01499_ats_ptr_type (tmp300) ;
tmp197 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null () ;
} /* end of [if] */
break ;

/* branch: __ats_lab_55 */
__ats_lab_55_0:
if (((ats_sum_ptr_type)tmp199)->tag != 72) { goto __ats_lab_56_0 ; }
__ats_lab_55_1:
/* tmp303 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp197 = p_staload_tok_25 (arg0, 0, arg2, arg3) ;
break ;

/* branch: __ats_lab_56 */
__ats_lab_56_0:
__ats_lab_56_1:
tmp304 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ;
ats_ptrget_mac(ats_int_type, arg2) = tmp304 ;
tmp197 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null () ;
break ;
} while (0) ;
return (tmp197) ;
} /* end of [p_d0ecl_tok_28] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_parsing_decl.dats: 24914(line=1132, offs=3) -- 24983(line=1133, offs=53)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_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, tmp305) ;
ATSlocal (ats_ptr_type, tmp306) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0ecl:
tmp306 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__PE_d0ecl_86) ;
tmp305 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__ptokwrap_fun (arg0, arg1, arg2, &p_d0ecl_tok_28, tmp306) ;
return (tmp305) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0ecl] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_parsing_decl.dats: 25118(line=1144, offs=5) -- 25704(line=1169, 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 (tmp308) ;
ATSlocal (ats_ptr_type, tmp309) ;
ATSlocal (ats_bool_type, tmp310) ;
ATSlocal (ats_ptr_type, tmp311) ;
ATSlocal (ats_ptr_type, tmp312) ;
ATSlocal (ats_ptr_type, tmp313) ;
ATSlocal (ats_ptr_type, tmp314) ;
// ATSlocal_void (tmp315) ;

__ats_lab_loop_32:
tmp309 = ((ats_ptr_type(*)(ats_ref_type, ats_int_type, ats_ref_type))env0) (arg0, 1, arg2) ;
do {
/* branch: __ats_lab_57 */
__ats_lab_57_0:
__ats_lab_57_1:
tmp310 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg2), 0) ;
if (!tmp310) { goto __ats_lab_58_1 ; }
tmp311 = (ats_sum_ptr_type)0 ;
ats_ptrget_mac(ats_ptr_type, arg1) = tmp311 ;
break ;

/* branch: __ats_lab_58 */
__ats_lab_58_0:
__ats_lab_58_1:
tmp312 = ATS_MALLOC(sizeof(anairiats_sum_2)) ;
ats_selptrset_mac(anairiats_sum_2, tmp312, atslab_0, tmp309) ;
ats_ptrget_mac(ats_ptr_type, arg1) = tmp312 ;
// if (ats_ptrget_mac(ats_ptr_type, arg1) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
tmp313 = &ats_caselptrlab_mac(anairiats_sum_2, ats_ptrget_mac(ats_ptr_type, arg1), atslab_1) ;
tmp314 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__pstar_fun (arg0, 1, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_SEMICOLON) ;
/* tmp315 = */ list_vt_free_01499_ats_ptr_type (tmp314) ;
arg0 = arg0 ;
arg1 = tmp313 ;
arg2 = arg2 ;
goto __ats_lab_loop_32 ; // tail call
break ;
} while (0) ;
return /* (tmp308) */ ;
} /* 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 */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_parsing_decl.dats: 25056(line=1140, offs=6) -- 25826(line=1177, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_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, tmp307) ;
ATSlocal (ats_ptr_type, tmp316) ;
ATSlocal (ats_int_type, tmp317) ;
// ATSlocal_void (tmp318) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0eclseq_fun:
/* ats_ptr_type tmp316 ; */
/* ats_int_type tmp317 ; */
tmp317 = 0 ;
/* tmp318 = */ loop_32 (arg2, arg0, (&tmp316), (&tmp317)) ;
tmp307 = tmp316 ;
return (tmp307) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0eclseq_fun] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_parsing_decl.dats: 26059(line=1188, offs=1) -- 27783(line=1265, 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, tmp319) ;
ATSlocal (ats_int_type, tmp320) ;
ATSlocal (ats_uint_type, tmp321) ;
ATSlocal (ats_ptr_type, tmp322) ;
ATSlocal (ats_ptr_type, tmp323) ;
ATSlocal (ats_bool_type, tmp324) ;
ATSlocal (ats_ptr_type, tmp325) ;
ATSlocal (ats_bool_type, tmp326) ;
ATSlocal (ats_ptr_type, tmp327) ;
ATSlocal (ats_bool_type, tmp328) ;
ATSlocal (ats_ptr_type, tmp329) ;
// ATSlocal_void (tmp330) ;
// ATSlocal_void (tmp331) ;
ATSlocal (ats_ptr_type, tmp332) ;
ATSlocal (ats_ptr_type, tmp333) ;
ATSlocal (ats_bool_type, tmp334) ;
// ATSlocal_void (tmp335) ;
// ATSlocal_void (tmp336) ;
ATSlocal (ats_bool_type, tmp337) ;
ATSlocal (ats_ptr_type, tmp338) ;
ATSlocal (ats_bool_type, tmp339) ;
// ATSlocal_void (tmp340) ;
ATSlocal (ats_int_type, tmp341) ;
// ATSlocal_void (tmp342) ;
// ATSlocal_void (tmp343) ;
ATSlocal (ats_ptr_type, tmp344) ;
ATSlocal (ats_ptr_type, tmp345) ;
// ATSlocal_void (tmp346) ;

__ats_lab_guad0ecl_fun_33:
tmp320 = ats_ptrget_mac(ats_int_type, arg2) ;
tmp321 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ;
/* ats_ptr_type tmp322 ; */
tmp323 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_e0xp (arg0, arg1, arg2) ;
tmp324 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__ptest_fun (arg0, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_SRPTHEN, (&tmp322)) ;
tmp326 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp320) ;
if (tmp326) {
tmp325 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0eclseq_fun (arg0, 0, arg3) ;
} else {
tmp325 = (ats_sum_ptr_type)0 ;
} /* end of [if] */
tmp327 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ;
tmp328 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp320) ;
if (tmp328) {
tmp329 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, tmp327), atslab_token_node) ;
do {
/* branch: __ats_lab_59 */
__ats_lab_59_0:
if (((ats_sum_ptr_type)tmp329)->tag != 128) { goto __ats_lab_60_0 ; }
__ats_lab_59_1:
/* tmp330 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp319 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__guad0ecl_one (tmp323, ats_castfn_mac(ats_ptr_type, tmp325), tmp327) ;
break ;

/* branch: __ats_lab_60 */
__ats_lab_60_0:
if (((ats_sum_ptr_type)tmp329)->tag != 127) { goto __ats_lab_61_0 ; }
__ats_lab_60_1:
/* tmp331 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp332 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0eclseq_fun (arg0, 0, arg3) ;
tmp333 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_SRPENDIF (arg0, 0, arg2) ;
tmp334 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp320) ;
if (tmp334) {
tmp319 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__guad0ecl_two (tmp323, ats_castfn_mac(ats_ptr_type, tmp325), ats_castfn_mac(ats_ptr_type, tmp332), tmp333) ;
} else {
/* tmp335 = */ list_vt_free_01499_ats_ptr_type (tmp325) ;
/* tmp336 = */ list_vt_free_01499_ats_ptr_type (tmp332) ;
tmp319 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp321) ;
} /* end of [if] */
break ;

/* branch: __ats_lab_61 */
__ats_lab_61_0:
__ats_lab_61_1:
tmp337 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__ptest_fun (arg0, &p_srpelifkind_27, (&tmp322)) ;
if (!tmp337) { goto __ats_lab_62_1 ; }
tmp338 = guad0ecl_fun_33 (arg0, 0, arg2, arg3) ;
tmp339 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp320) ;
if (tmp339) {
tmp319 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__guad0ecl_cons (tmp323, ats_castfn_mac(ats_ptr_type, tmp325), tmp327, tmp338) ;
} else {
/* tmp340 = */ list_vt_free_01499_ats_ptr_type (tmp325) ;
tmp319 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp321) ;
} /* end of [if] */
break ;

/* branch: __ats_lab_62 */
__ats_lab_62_0:
__ats_lab_62_1:
tmp341 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ;
ats_ptrget_mac(ats_int_type, arg2) = tmp341 ;
/* tmp342 = */ list_vt_free_01499_ats_ptr_type (tmp325) ;
tmp344 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, tmp327), atslab_token_loc) ;
tmp345 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__PE_guad0ecl_89) ;
/* tmp343 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__the_parerrlst_add_ifnbt (0, tmp344, tmp345) ;
tmp319 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp321) ;
break ;
} while (0) ;
} else {
/* tmp346 = */ list_vt_free_01499_ats_ptr_type (tmp325) ;
tmp319 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp321) ;
} /* end of [if] */
return (tmp319) ;
} /* end of [guad0ecl_fun_33] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_parsing_decl.dats: 28017(line=1280, offs=1) -- 30014(line=1363, 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, tmp347) ;
ATSlocal (ats_int_type, tmp348) ;
ATSlocal (ats_ptr_type, tmp349) ;
ATSlocal (ats_ptr_type, tmp350) ;
ATSlocal (ats_bool_type, tmp351) ;
ATSlocal (ats_bool_type, tmp352) ;
ATSlocal (ats_ptr_type, tmp353) ;
ATSlocal (ats_ptr_type, tmp354) ;
ATSlocal (ats_ptr_type, tmp355) ;
ATSlocal (ats_bool_type, tmp356) ;
// ATSlocal_void (tmp357) ;
// ATSlocal_void (tmp358) ;
ATSlocal (ats_ptr_type, tmp359) ;
ATSlocal (ats_bool_type, tmp360) ;
ATSlocal (ats_bool_type, tmp361) ;
ATSlocal (ats_ptr_type, tmp362) ;
ATSlocal (ats_ptr_type, tmp363) ;
ATSlocal (ats_bool_type, tmp364) ;
// ATSlocal_void (tmp365) ;
ATSlocal (ats_ptr_type, tmp366) ;
ATSlocal (ats_ptr_type, tmp367) ;
ATSlocal (ats_ptr_type, tmp368) ;
ATSlocal (ats_bool_type, tmp369) ;
ATSlocal (ats_ptr_type, tmp370) ;
ATSlocal (ats_bool_type, tmp371) ;
// ATSlocal_void (tmp372) ;
// ATSlocal_void (tmp373) ;
ATSlocal (ats_int_type, tmp374) ;

__ats_lab_p_d0ecl_sta_tok_34:
tmp348 = ats_ptrget_mac(ats_int_type, arg2) ;
/* ats_ptr_type tmp349 ; */
tmp350 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg3), atslab_token_node) ;
do {
/* branch: __ats_lab_63 */
__ats_lab_63_0:
__ats_lab_63_1:
tmp351 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__ptest_fun (arg0, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0ecl, (&tmp349)) ;
if (!tmp351) { goto __ats_lab_64_1 ; }
tmp347 = ats_castfn_mac(ats_ptr_type, tmp349) ;
break ;

/* branch: __ats_lab_64 */
__ats_lab_64_0:
__ats_lab_64_1:
tmp352 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__ptest_fun (arg0, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_dcstkind, (&tmp349)) ;
if (!tmp352) { goto __ats_lab_65_0 ; }
tmp353 = ats_castfn_mac(ats_ptr_type, tmp349) ;
tmp354 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_q0margseq (arg0, 0, arg2) ;
tmp355 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0cstdecseq (arg0, 0, arg2) ;
tmp356 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp348) ;
if (tmp356) {
tmp347 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_dcstdecs (tmp353, tmp354, tmp355) ;
} else {
tmp347 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null () ;
} /* end of [if] */
break ;

/* branch: __ats_lab_65 */
__ats_lab_65_0:
if (((ats_sum_ptr_type)tmp350)->tag != 170) { goto __ats_lab_66_0 ; }
__ats_lab_65_1:
/* tmp357 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp347 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_extcode (0, arg3) ;
break ;

/* branch: __ats_lab_66 */
__ats_lab_66_0:
if (((ats_sum_ptr_type)tmp350)->tag != 135) { goto __ats_lab_67_0 ; }
__ats_lab_66_1:
/* tmp358 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp359 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0tring (arg0, 0, arg2) ;
tmp360 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp348) ;
if (tmp360) {
tmp347 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_include (0, arg3, tmp359) ;
} else {
tmp347 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null () ;
} /* end of [if] */
break ;

/* branch: __ats_lab_67 */
__ats_lab_67_0:
__ats_lab_67_1:
tmp361 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__ptest_fun (arg0, &p_srpifkind_26, (&tmp349)) ;
if (!tmp361) { goto __ats_lab_68_0 ; }
tmp362 = ats_castfn_mac(ats_ptr_type, tmp349) ;
tmp363 = guad0ecl_fun_33 (arg0, 0, arg2, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0ecl_sta) ;
tmp364 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp348) ;
if (tmp364) {
tmp347 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_guadecl (tmp362, tmp363) ;
} else {
tmp347 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null () ;
} /* end of [if] */
break ;

/* branch: __ats_lab_68 */
__ats_lab_68_0:
if (((ats_sum_ptr_type)tmp350)->tag != 60) { goto __ats_lab_69_0 ; }
__ats_lab_68_1:
/* tmp365 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp366 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0eclseq_fun (arg0, 0, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0ecl_sta) ;
tmp367 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_IN (arg0, 0, arg2) ;
tmp369 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp348) ;
if (tmp369) {
tmp368 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0eclseq_fun (arg0, 0, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0ecl_sta) ;
} else {
tmp368 = (ats_sum_ptr_type)0 ;
} /* end of [if] */
tmp370 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_END, tmp348) ;
tmp371 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp348) ;
if (tmp371) {
tmp347 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_local (arg3, ats_castfn_mac(ats_ptr_type, tmp366), ats_castfn_mac(ats_ptr_type, tmp368), tmp370) ;
} else {
/* tmp372 = */ list_vt_free_01499_ats_ptr_type (tmp366) ;
/* tmp373 = */ list_vt_free_01499_ats_ptr_type (tmp368) ;
tmp347 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null () ;
} /* end of [if] */
break ;

/* branch: __ats_lab_69 */
__ats_lab_69_0:
__ats_lab_69_1:
tmp374 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ;
ats_ptrget_mac(ats_int_type, arg2) = tmp374 ;
tmp347 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null () ;
break ;
} while (0) ;
return (tmp347) ;
} /* end of [p_d0ecl_sta_tok_34] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_parsing_decl.dats: 30068(line=1367, offs=3) -- 30145(line=1368, offs=61)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_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, tmp375) ;
ATSlocal (ats_ptr_type, tmp376) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0ecl_sta:
tmp376 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__PE_d0ecl_sta_87) ;
tmp375 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__ptokwrap_fun (arg0, arg1, arg2, &p_d0ecl_sta_tok_34, tmp376) ;
return (tmp375) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0ecl_sta] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_parsing_decl.dats: 30238(line=1376, offs=5) -- 30646(line=1393, 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, tmp377) ;
ATSlocal (ats_int_type, tmp378) ;
ATSlocal (ats_uint_type, tmp379) ;
ATSlocal (ats_ptr_type, tmp380) ;
ATSlocal (ats_ptr_type, tmp381) ;
ATSlocal (ats_ptr_type, tmp382) ;
ATSlocal (ats_ptr_type, tmp383) ;
ATSlocal (ats_bool_type, tmp384) ;

__ats_lab_p_v0aldec_36:
tmp378 = ats_ptrget_mac(ats_int_type, arg2) ;
tmp379 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ;
tmp380 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_p0at (arg0, arg1, arg2) ;
tmp381 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, arg1, arg2, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_EQ, tmp378) ;
tmp382 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, arg1, arg2, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0exp, tmp378) ;
tmp383 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, arg1, arg2, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_witht0ype, tmp378) ;
tmp384 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp378) ;
if (tmp384) {
tmp377 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__v0aldec_make (tmp380, tmp382, tmp383) ;
} else {
tmp377 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp379) ;
} /* end of [if] */
return (tmp377) ;
} /* end of [p_v0aldec_36] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_parsing_decl.dats: 30765(line=1400, offs=5) -- 31797(line=1434, 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, tmp385) ;
ATSlocal (ats_int_type, tmp386) ;
ATSlocal (ats_ptr_type, tmp387) ;
ATSlocal (ats_bool_type, tmp388) ;
ATSlocal (ats_ptr_type, tmp389) ;
ATSlocal (ats_ptr_type, tmp390) ;
ATSlocal (ats_ptr_type, tmp391) ;
ATSlocal (ats_ptr_type, tmp392) ;
ATSlocal (ats_ptr_type, tmp393) ;
ATSlocal (ats_ptr_type, tmp394) ;
ATSlocal (ats_bool_type, tmp395) ;
ATSlocal (ats_ptr_type, tmp396) ;
ATSlocal (ats_bool_type, tmp397) ;
ATSlocal (ats_bool_type, tmp399) ;
ATSlocal (ats_ptr_type, tmp400) ;
ATSlocal (ats_ptr_type, tmp401) ;
ATSlocal (ats_ptr_type, tmp402) ;
ATSlocal (ats_bool_type, tmp403) ;
// ATSlocal_void (tmp404) ;
ATSlocal (ats_int_type, tmp405) ;

__ats_lab_p_f0undec_37:
tmp386 = ats_ptrget_mac(ats_int_type, arg2) ;
/* ats_ptr_type tmp387 ; */
do {
/* branch: __ats_lab_70 */
__ats_lab_70_0:
__ats_lab_70_1:
tmp388 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__ptest_fun (arg0, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_di0de, (&tmp387)) ;
if (!tmp388) { goto __ats_lab_71_1 ; }
tmp389 = ats_castfn_mac(ats_ptr_type, tmp387) ;
tmp390 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__pstar_fun (arg0, 0, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_f0arg1) ;
tmp391 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__pseq2_fun (arg0, 1, arg2, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_colonwith, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0exp) ;
// 
tmp392 = ats_caselptrlab_mac(anairiats_sum_2, tmp391, atslab_0) ;
tmp393 = ats_caselptrlab_mac(anairiats_sum_2, tmp391, atslab_1) ;
ATS_FREE(tmp391) ;
tmp395 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp386) ;
if (tmp395) {
tmp394 = tmp392 ;
} else {
tmp394 = (ats_sum_ptr_type)0 ;
} /* end of [if] */
tmp397 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp386) ;
if (tmp397) {
tmp396 = ATS_MALLOC(sizeof(anairiats_sum_7)) ;
ats_selptrset_mac(anairiats_sum_7, tmp396, atslab_0, tmp393) ;
} else {
tmp396 = (ats_sum_ptr_type)0 ;
} /* end of [if] */
tmp399 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp386) ;
if (tmp399) {
ats_ptrget_mac(ats_int_type, arg2) = tmp386 ;
} else {
/* empty */
} /* end of [if] */
tmp400 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__pseq3_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_EQ, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0exp, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_witht0ype) ;
// 
tmp401 = ats_caselptrlab_mac(anairiats_sum_1, tmp400, atslab_1) ;
tmp402 = ats_caselptrlab_mac(anairiats_sum_1, tmp400, atslab_2) ;
ATS_FREE(tmp400) ;
tmp403 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp386) ;
if (tmp403) {
tmp385 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__f0undec_make (tmp389, ats_castfn_mac(ats_ptr_type, tmp390), tmp394, tmp396, tmp401, tmp402) ;
} else {
/* tmp404 = */ list_vt_free_01499_ats_ptr_type (tmp390) ;
tmp385 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null () ;
} /* end of [if] */
break ;

/* branch: __ats_lab_71 */
__ats_lab_71_0:
__ats_lab_71_1:
tmp405 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ;
ats_ptrget_mac(ats_int_type, arg2) = tmp405 ;
tmp385 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null () ;
break ;
} while (0) ;
return (tmp385) ;
} /* end of [p_f0undec_37] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_parsing_decl.dats: 31917(line=1442, offs=5) -- 32623(line=1471, 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, tmp406) ;
ATSlocal (ats_int_type, tmp407) ;
ATSlocal (ats_uint_type, tmp408) ;
ATSlocal (ats_ptr_type, tmp409) ;
ATSlocal (ats_ptr_type, tmp410) ;
ATSlocal (ats_ptr_type, tmp411) ;
ATSlocal (ats_ptr_type, tmp412) ;
ATSlocal (ats_bool_type, tmp413) ;
ATSlocal (ats_ptr_type, tmp414) ;
ATSlocal (ats_bool_type, tmp415) ;
// ATSlocal_void (tmp416) ;
// ATSlocal_void (tmp417) ;

__ats_lab_p_v0ardec_38:
tmp407 = ats_ptrget_mac(ats_int_type, arg2) ;
tmp408 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ;
tmp409 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__popt_fun (arg0, arg1, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_BANG) ;
tmp410 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_pi0de (arg0, arg1, arg2) ;
tmp411 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, arg1, arg2, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_colons0expopt, tmp407) ;
tmp413 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp407) ;
if (tmp413) {
tmp412 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__ptokentopt_fun (arg0, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__is_WITH, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_pi0de) ;
} else {
tmp412 = (ats_sum_ptr_type)0 ;
} /* end of [if] */
tmp414 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, arg1, arg2, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_eqd0expopt, tmp407) ;
tmp415 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp407) ;
if (tmp415) {
tmp406 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__v0ardec_make (ats_castfn_mac(ats_ptr_type, tmp409), tmp410, ats_castfn_mac(ats_ptr_type, tmp412), tmp411, tmp414) ;
} else {
/* tmp416 = */ option_vt_free_01544_ats_ptr_type (tmp409) ;
/* tmp417 = */ option_vt_free_01544_ats_ptr_type (tmp412) ;
tmp406 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp408) ;
} /* end of [if] */
return (tmp406) ;
} /* end of [p_v0ardec_38] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_parsing_decl.dats: 32717(line=1479, offs=1) -- 33056(line=1491, 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, tmp418) ;
ATSlocal (ats_int_type, tmp419) ;
ATSlocal (ats_ptr_type, tmp420) ;
ATSlocal (ats_ptr_type, tmp421) ;
ATSlocal (ats_bool_type, tmp422) ;

__ats_lab_p_i0mpsvararg_39:
tmp419 = ats_ptrget_mac(ats_int_type, arg2) ;
tmp420 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__pseq3_fun (arg0, arg1, arg2, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_LBRACE, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0vararg, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_RBRACE) ;
// 
tmp421 = ats_caselptrlab_mac(anairiats_sum_1, tmp420, atslab_1) ;
ATS_FREE(tmp420) ;
tmp422 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp419) ;
if (tmp422) {
tmp418 = tmp421 ;
} else {
tmp418 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null () ;
} /* end of [if] */
return (tmp418) ;
} /* end of [p_i0mpsvararg_39] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_parsing_decl.dats: 33146(line=1497, offs=1) -- 33933(line=1531, 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, tmp423) ;
ATSlocal (ats_int_type, tmp424) ;
ATSlocal (ats_uint_type, tmp425) ;
ATSlocal (ats_ptr_type, tmp426) ;
ATSlocal (ats_ptr_type, tmp427) ;
ATSlocal (ats_ptr_type, tmp428) ;
// ATSlocal_void (tmp429) ;
ATSlocal (ats_ptr_type, tmp430) ;
ATSlocal (ats_ptr_type, tmp431) ;
ATSlocal (ats_bool_type, tmp432) ;
// ATSlocal_void (tmp433) ;

__ats_lab_p_i0mparg_40:
tmp424 = ats_ptrget_mac(ats_int_type, arg2) ;
tmp425 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ;
tmp426 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ;
tmp427 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, tmp426), atslab_token_node) ;
do {
/* branch: __ats_lab_72 */
__ats_lab_72_0:
if (((ats_sum_ptr_type)tmp427)->tag != 158) { goto __ats_lab_73_0 ; }
__ats_lab_72_1:
tmp428 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__pstar_fun (arg0, arg1, &p_i0mpsvararg_39) ;
tmp423 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__i0mparg_svararglst (ats_castfn_mac(ats_ptr_type, tmp428)) ;
break ;

/* branch: __ats_lab_73 */
__ats_lab_73_0:
if (((ats_sum_ptr_type)tmp427)->tag != 154) { goto __ats_lab_74_0 ; }
__ats_lab_73_1:
/* tmp429 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp430 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__pstar_fun0_COMMA (arg0, 0, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0arg) ;
tmp431 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_RPAREN (arg0, 0, arg2) ;
tmp432 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp424) ;
if (tmp432) {
tmp423 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__i0mparg_sarglst_some (tmp426, ats_castfn_mac(ats_ptr_type, tmp430), tmp431) ;
} else {
/* tmp433 = */ list_vt_free_01499_ats_ptr_type (tmp430) ;
tmp423 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp425) ;
} /* end of [if] */
break ;

/* branch: __ats_lab_74 */
__ats_lab_74_0:
__ats_lab_74_1:
tmp423 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__i0mparg_sarglst_none () ;
break ;
} while (0) ;
return (tmp423) ;
} /* end of [p_i0mparg_40] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_parsing_decl.dats: 34046(line=1542, offs=1) -- 35052(line=1585, 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, tmp434) ;
ATSlocal (ats_int_type, tmp435) ;
ATSlocal (ats_uint_type, tmp436) ;
ATSlocal (ats_ptr_type, tmp437) ;
ATSlocal (ats_ptr_type, tmp438) ;
ATSlocal (ats_bool_type, tmp439) ;
ATSlocal (ats_ptr_type, tmp440) ;
ATSlocal (ats_bool_type, tmp441) ;
ATSlocal (ats_ptr_type, tmp442) ;
ATSlocal (ats_ptr_type, tmp443) ;
ATSlocal (ats_ptr_type, tmp444) ;
ATSlocal (ats_bool_type, tmp445) ;
// ATSlocal_void (tmp446) ;
ATSlocal (ats_int_type, tmp447) ;
// ATSlocal_void (tmp448) ;
ATSlocal (ats_ptr_type, tmp449) ;
ATSlocal (ats_ptr_type, tmp450) ;

__ats_lab_p_impqi0de_41:
tmp435 = ats_ptrget_mac(ats_int_type, arg2) ;
tmp436 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ;
tmp437 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ;
/* ats_ptr_type tmp438 ; */
do {
/* branch: __ats_lab_75 */
__ats_lab_75_0:
__ats_lab_75_1:
tmp439 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__ptest_fun (arg0, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_dqi0de, (&tmp438)) ;
if (!tmp439) { goto __ats_lab_76_1 ; }
tmp440 = ats_castfn_mac(ats_ptr_type, tmp438) ;
tmp434 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__impqi0de_make_none (tmp440) ;
break ;

/* branch: __ats_lab_76 */
__ats_lab_76_0:
__ats_lab_76_1:
tmp441 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__ptest_fun (arg0, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_tmpqi0de, (&tmp438)) ;
if (!tmp441) { goto __ats_lab_77_1 ; }
tmp442 = ats_castfn_mac(ats_ptr_type, tmp438) ;
tmp443 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__pstar_fun1_sep (arg0, 0, arg2, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_tmps0expseq, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_GTLT_test) ;
tmp444 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_GT (arg0, 0, arg2) ;
tmp445 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp435) ;
if (tmp445) {
tmp434 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__impqi0de_make_some (tmp442, ats_castfn_mac(ats_ptr_type, tmp443), tmp444) ;
} else {
/* tmp446 = */ list_vt_free_01499_ats_ptr_type (tmp443) ;
tmp434 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp436) ;
} /* end of [if] */
break ;

/* branch: __ats_lab_77 */
__ats_lab_77_0:
__ats_lab_77_1:
tmp447 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ;
ats_ptrget_mac(ats_int_type, arg2) = tmp447 ;
tmp449 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, tmp437), atslab_token_loc) ;
tmp450 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__PE_impqi0de_55) ;
/* tmp448 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__the_parerrlst_add_ifnbt (arg1, tmp449, tmp450) ;
tmp434 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null () ;
break ;
} while (0) ;
return (tmp434) ;
} /* end of [p_impqi0de_41] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_parsing_decl.dats: 35169(line=1594, offs=5) -- 35830(line=1620, 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, tmp451) ;
ATSlocal (ats_int_type, tmp452) ;
ATSlocal (ats_uint_type, tmp453) ;
ATSlocal (ats_ptr_type, tmp454) ;
ATSlocal (ats_ptr_type, tmp455) ;
ATSlocal (ats_bool_type, tmp456) ;
ATSlocal (ats_ptr_type, tmp457) ;
ATSlocal (ats_ptr_type, tmp458) ;
ATSlocal (ats_ptr_type, tmp459) ;
ATSlocal (ats_bool_type, tmp460) ;
// ATSlocal_void (tmp461) ;

__ats_lab_p_i0mpdec_42:
tmp452 = ats_ptrget_mac(ats_int_type, arg2) ;
tmp453 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ;
tmp454 = p_impqi0de_41 (arg0, arg1, arg2) ;
tmp456 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp452) ;
if (tmp456) {
tmp455 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__pstar_fun (arg0, 0, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_f0arg2) ;
} else {
tmp455 = (ats_sum_ptr_type)0 ;
} /* end of [if] */
tmp457 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_colons0expopt, tmp452) ;
tmp458 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_EQ, tmp452) ;
tmp459 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0exp, tmp452) ;
tmp460 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp452) ;
if (tmp460) {
tmp451 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__i0mpdec_make (tmp454, ats_castfn_mac(ats_ptr_type, tmp455), tmp457, tmp459) ;
} else {
/* tmp461 = */ list_vt_free_01499_ats_ptr_type (tmp455) ;
tmp451 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp453) ;
} /* end of [if] */
return (tmp451) ;
} /* end of [p_i0mpdec_42] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_parsing_decl.dats: 36289(line=1644, offs=1) -- 41942(line=1853, 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, tmp462) ;
ATSlocal (ats_int_type, tmp463) ;
ATSlocal (ats_ptr_type, tmp464) ;
ATSlocal (ats_ptr_type, tmp465) ;
ATSlocal (ats_bool_type, tmp466) ;
ATSlocal (ats_ptr_type, tmp467) ;
// ATSlocal_void (tmp468) ;
ATSlocal (ats_bool_type, tmp469) ;
ATSlocal (ats_ptr_type, tmp470) ;
ATSlocal (ats_bool_type, tmp471) ;
// ATSlocal_void (tmp472) ;
ATSlocal (ats_ptr_type, tmp473) ;
// ATSlocal_void (tmp474) ;
ATSlocal (ats_ptr_type, tmp475) ;
ATSlocal (ats_ptr_type, tmp476) ;
ATSlocal (ats_bool_type, tmp477) ;
// ATSlocal_void (tmp478) ;
// ATSlocal_void (tmp479) ;
ATSlocal (ats_int_type, tmp480) ;
// ATSlocal_void (tmp481) ;
ATSlocal (ats_ptr_type, tmp482) ;
ATSlocal (ats_bool_type, tmp483) ;
// ATSlocal_void (tmp484) ;
// ATSlocal_void (tmp485) ;
ATSlocal (ats_ptr_type, tmp486) ;
ATSlocal (ats_ptr_type, tmp487) ;
ATSlocal (ats_bool_type, tmp488) ;
// ATSlocal_void (tmp489) ;
// ATSlocal_void (tmp490) ;
ATSlocal (ats_ptr_type, tmp491) ;
ATSlocal (ats_ptr_type, tmp492) ;
ATSlocal (ats_bool_type, tmp493) ;
ATSlocal (ats_ptr_type, tmp494) ;
ATSlocal (ats_ptr_type, tmp495) ;
ATSlocal (ats_ptr_type, tmp496) ;
ATSlocal (ats_bool_type, tmp497) ;
// ATSlocal_void (tmp498) ;
ATSlocal (ats_ptr_type, tmp499) ;
ATSlocal (ats_ptr_type, tmp500) ;
ATSlocal (ats_ptr_type, tmp501) ;
ATSlocal (ats_bool_type, tmp502) ;
// ATSlocal_void (tmp503) ;
ATSlocal (ats_ptr_type, tmp504) ;
ATSlocal (ats_ptr_type, tmp505) ;
ATSlocal (ats_ptr_type, tmp506) ;
ATSlocal (ats_bool_type, tmp507) ;
ATSlocal (ats_int_type, tmp508) ;
// ATSlocal_void (tmp509) ;
ATSlocal (ats_ptr_type, tmp510) ;
ATSlocal (ats_ptr_type, tmp511) ;
ATSlocal (ats_ptr_type, tmp512) ;
ATSlocal (ats_bool_type, tmp513) ;
// ATSlocal_void (tmp514) ;
ATSlocal (ats_ptr_type, tmp515) ;
ATSlocal (ats_ptr_type, tmp516) ;
ATSlocal (ats_ptr_type, tmp517) ;
ATSlocal (ats_bool_type, tmp518) ;
// ATSlocal_void (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 (ats_bool_type, tmp539) ;
ATSlocal (ats_ptr_type, tmp540) ;
ATSlocal (ats_ptr_type, tmp541) ;
ATSlocal (ats_bool_type, tmp542) ;
ATSlocal (ats_int_type, tmp543) ;

__ats_lab_p_d0ecl_dyn_tok_43:
tmp463 = ats_ptrget_mac(ats_int_type, arg2) ;
/* ats_ptr_type tmp464 ; */
tmp465 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg3), atslab_token_node) ;
do {
/* branch: __ats_lab_78 */
__ats_lab_78_0:
__ats_lab_78_1:
tmp466 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__ptest_fun (arg0, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0ecl, (&tmp464)) ;
if (!tmp466) { goto __ats_lab_79_0 ; }
tmp462 = ats_castfn_mac(ats_ptr_type, tmp464) ;
break ;

/* branch: __ats_lab_79 */
__ats_lab_79_0:
if (((ats_sum_ptr_type)tmp465)->tag != 81) { goto __ats_lab_80_0 ; }
__ats_lab_79_1:
tmp467 = ats_caselptrlab_mac(anairiats_sum_4, tmp465, atslab_0) ;
/* tmp468 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp469 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_REC_test (arg0) ;
tmp470 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__pstar_fun1_AND (arg0, 0, arg2, &p_v0aldec_36) ;
tmp471 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp463) ;
if (tmp471) {
tmp462 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_valdecs (tmp467, tmp469, arg3, ats_castfn_mac(ats_ptr_type, tmp470)) ;
} else {
/* tmp472 = */ list_vt_free_01499_ats_ptr_type (tmp470) ;
tmp462 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null () ;
} /* end of [if] */
break ;

/* branch: __ats_lab_80 */
__ats_lab_80_0:
if (((ats_sum_ptr_type)tmp465)->tag != 52) { goto __ats_lab_81_0 ; }
__ats_lab_80_1:
tmp473 = ats_caselptrlab_mac(anairiats_sum_4, tmp465, atslab_0) ;
/* tmp474 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp475 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__pstar_fun (arg0, 0, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_q0marg) ;
tmp476 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__pstar_fun1_AND (arg0, 0, arg2, &p_f0undec_37) ;
tmp477 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp463) ;
if (tmp477) {
tmp462 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_fundecs (tmp473, arg3, ats_castfn_mac(ats_ptr_type, tmp475), ats_castfn_mac(ats_ptr_type, tmp476)) ;
} else {
/* tmp478 = */ list_vt_free_01499_ats_ptr_type (tmp475) ;
/* tmp479 = */ list_vt_free_01499_ats_ptr_type (tmp476) ;
tmp462 = _2home_2hwxi_2Research_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)tmp465)->tag != 82) { goto __ats_lab_82_0 ; }
__ats_lab_81_1:
tmp480 = ats_caselptrlab_mac(anairiats_sum_6, tmp465, atslab_0) ;
/* tmp481 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp482 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__pstar_fun1_AND (arg0, 0, arg2, &p_v0ardec_38) ;
tmp483 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp463) ;
if (tmp483) {
tmp462 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_vardecs (tmp480, arg3, ats_castfn_mac(ats_ptr_type, tmp482)) ;
} else {
/* tmp484 = */ list_vt_free_01499_ats_ptr_type (tmp482) ;
tmp462 = _2home_2hwxi_2Research_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)tmp465)->tag != 55) { goto __ats_lab_83_0 ; }
__ats_lab_82_1:
/* tmp485 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp486 = p_i0mparg_40 (arg0, 0, arg2) ;
tmp487 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &p_i0mpdec_42, tmp463) ;
tmp488 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp463) ;
if (tmp488) {
tmp462 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_impdec (arg3, tmp486, tmp487) ;
} else {
tmp462 = _2home_2hwxi_2Research_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)tmp465)->tag != 170) { goto __ats_lab_84_0 ; }
__ats_lab_83_1:
/* tmp489 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp462 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_extcode (1, arg3) ;
break ;

/* branch: __ats_lab_84 */
__ats_lab_84_0:
if (((ats_sum_ptr_type)tmp465)->tag != 45) { goto __ats_lab_89_0 ; }
__ats_lab_84_1:
/* tmp490 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp491 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ;
tmp492 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, tmp491), atslab_token_node) ;
do {
/* branch: __ats_lab_85 */
__ats_lab_85_0:
__ats_lab_85_1:
tmp493 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__ptest_fun (arg0, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_dcstkind, (&tmp464)) ;
if (!tmp493) { goto __ats_lab_86_0 ; }
tmp494 = ats_castfn_mac(ats_ptr_type, tmp464) ;
tmp495 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_q0margseq, tmp463) ;
tmp496 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0cstdecseq, tmp463) ;
tmp497 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp463) ;
if (tmp497) {
tmp462 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_dcstdecs_extern (tmp494, tmp495, tmp496) ;
} else {
tmp462 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null () ;
} /* end of [if] */
break ;

/* branch: __ats_lab_86 */
__ats_lab_86_0:
if (((ats_sum_ptr_type)tmp492)->tag != 82) { goto __ats_lab_87_0 ; }
__ats_lab_86_1:
/* tmp498 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp499 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__pseq3_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0tring, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_EQ, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0exp) ;
// 
tmp500 = ats_caselptrlab_mac(anairiats_sum_1, tmp499, atslab_0) ;
tmp501 = ats_caselptrlab_mac(anairiats_sum_1, tmp499, atslab_2) ;
ATS_FREE(tmp499) ;
tmp502 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp463) ;
if (tmp502) {
tmp462 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_extvar2 (tmp491, tmp500, tmp501) ;
} else {
tmp462 = _2home_2hwxi_2Research_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)tmp492)->tag != 80) { goto __ats_lab_88_0 ; }
__ats_lab_87_1:
/* tmp503 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp504 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__pseq3_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0tring, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_EQ, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0exp) ;
// 
tmp505 = ats_caselptrlab_mac(anairiats_sum_1, tmp504, atslab_0) ;
tmp506 = ats_caselptrlab_mac(anairiats_sum_1, tmp504, atslab_2) ;
ATS_FREE(tmp504) ;
tmp507 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp463) ;
if (tmp507) {
tmp462 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_extype2 (tmp491, tmp505, tmp506) ;
} else {
tmp462 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null () ;
} /* end of [if] */
break ;

/* branch: __ats_lab_88 */
__ats_lab_88_0:
__ats_lab_88_1:
tmp508 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ;
ats_ptrget_mac(ats_int_type, arg2) = tmp508 ;
tmp462 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null () ;
break ;
} while (0) ;
break ;

/* branch: __ats_lab_89 */
__ats_lab_89_0:
if (((ats_sum_ptr_type)tmp465)->tag != 46) { goto __ats_lab_90_0 ; }
__ats_lab_89_1:
/* tmp509 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp510 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__pseq3_fun (arg0, arg1, arg2, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0tring, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_EQ, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0exp) ;
// 
tmp511 = ats_caselptrlab_mac(anairiats_sum_1, tmp510, atslab_0) ;
tmp512 = ats_caselptrlab_mac(anairiats_sum_1, tmp510, atslab_2) ;
ATS_FREE(tmp510) ;
tmp513 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp463) ;
if (tmp513) {
tmp462 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_extype (arg3, tmp511, tmp512) ;
} else {
tmp462 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null () ;
} /* end of [if] */
break ;

/* branch: __ats_lab_90 */
__ats_lab_90_0:
if (((ats_sum_ptr_type)tmp465)->tag != 47) { goto __ats_lab_91_0 ; }
__ats_lab_90_1:
/* tmp514 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp515 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__pseq3_fun (arg0, arg1, arg2, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0tring, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_EQ, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0exp) ;
// 
tmp516 = ats_caselptrlab_mac(anairiats_sum_1, tmp515, atslab_0) ;
tmp517 = ats_caselptrlab_mac(anairiats_sum_1, tmp515, atslab_2) ;
ATS_FREE(tmp515) ;
tmp518 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp463) ;
if (tmp518) {
tmp462 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_extvar (arg3, tmp516, tmp517) ;
} else {
tmp462 = _2home_2hwxi_2Research_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)tmp465)->tag != 41) { goto __ats_lab_92_0 ; }
__ats_lab_91_1:
/* tmp519 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp520 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0tring (arg0, 0, arg2) ;
tmp521 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp463) ;
if (tmp521) {
tmp462 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_dynload (arg3, tmp520) ;
} else {
tmp462 = _2home_2hwxi_2Research_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)tmp465)->tag != 73) { goto __ats_lab_93_0 ; }
__ats_lab_92_1:
/* tmp522 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp523 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_dcstkind (arg0, 0, arg2) ;
tmp524 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_q0margseq, tmp463) ;
tmp525 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0cstdecseq, tmp463) ;
tmp526 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp463) ;
if (tmp526) {
tmp462 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_dcstdecs_static (tmp523, tmp524, tmp525) ;
} else {
tmp462 = _2home_2hwxi_2Research_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)tmp465)->tag != 60) { goto __ats_lab_94_0 ; }
__ats_lab_93_1:
/* tmp527 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp528 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0eclseq_fun (arg0, 0, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0ecl_dyn) ;
tmp529 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_IN, tmp463) ;
tmp531 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp463) ;
if (tmp531) {
tmp530 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0eclseq_fun (arg0, 0, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0ecl_dyn) ;
} else {
tmp530 = (ats_sum_ptr_type)0 ;
} /* end of [if] */
tmp532 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_END, tmp463) ;
tmp533 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp463) ;
if (tmp533) {
tmp462 = _2home_2hwxi_2Research_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) ;
tmp462 = _2home_2hwxi_2Research_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)tmp465)->tag != 135) { goto __ats_lab_95_0 ; }
__ats_lab_94_1:
/* tmp536 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ;
tmp537 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_s0tring (arg0, 0, arg2) ;
tmp538 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp463) ;
if (tmp538) {
tmp462 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_include (1, arg3, tmp537) ;
} else {
tmp462 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null () ;
} /* end of [if] */
break ;

/* branch: __ats_lab_95 */
__ats_lab_95_0:
__ats_lab_95_1:
tmp539 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__ptest_fun (arg0, &p_srpifkind_26, (&tmp464)) ;
if (!tmp539) { goto __ats_lab_96_1 ; }
tmp540 = ats_castfn_mac(ats_ptr_type, tmp464) ;
tmp541 = guad0ecl_fun_33 (arg0, 0, arg2, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0ecl_dyn) ;
tmp542 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp463) ;
if (tmp542) {
tmp462 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__d0ecl_guadecl (tmp540, tmp541) ;
} else {
tmp462 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null () ;
} /* end of [if] */
break ;

/* branch: __ats_lab_96 */
__ats_lab_96_0:
__ats_lab_96_1:
tmp543 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ;
ats_ptrget_mac(ats_int_type, arg2) = tmp543 ;
tmp462 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__synent_null () ;
break ;
} while (0) ;
return (tmp462) ;
} /* end of [p_d0ecl_dyn_tok_43] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_parsing_decl.dats: 41996(line=1857, offs=3) -- 42073(line=1858, offs=61)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_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, tmp544) ;
ATSlocal (ats_ptr_type, tmp545) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0ecl_dyn:
tmp545 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__PE_d0ecl_dyn_88) ;
tmp544 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__ptokwrap_fun (arg0, arg1, arg2, &p_d0ecl_dyn_tok_43, tmp545) ;
return (tmp544) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0ecl_dyn] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_parsing_decl.dats: 42147(line=1865, offs=3) -- 42233(line=1869, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_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, tmp546) ;
ATSlocal (ats_ptr_type, tmp547) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0eclseq_sta:
tmp547 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0eclseq_fun (arg0, arg1, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0ecl_sta) ;
tmp546 = ats_castfn_mac(ats_ptr_type, tmp547) ;
return (tmp546) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0eclseq_sta] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_parsing_decl.dats: 42289(line=1873, offs=3) -- 42375(line=1877, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_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, tmp548) ;
ATSlocal (ats_ptr_type, tmp549) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0eclseq_dyn:
tmp549 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0eclseq_fun (arg0, arg1, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0ecl_dyn) ;
tmp548 = ats_castfn_mac(ats_ptr_type, tmp549) ;
return (tmp548) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__p_d0eclseq_dyn] */

/* static load function */

// extern ats_void_type _2home_2hwxi_2Research_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 _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_lexing_2esats__staload (void) ;
extern ats_void_type _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__staload (void) ;
extern ats_void_type _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__staload (void) ;
extern ats_void_type _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__staload (void) ;

ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_decl_2edats__staload () {
static int _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_decl_2edats__staload_flag = 0 ;
if (_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_decl_2edats__staload_flag) return ;
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_decl_2edats__staload_flag = 1 ;

// _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_atspre_2edats__staload () ;
// ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ;
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_lexing_2esats__staload () ;
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_tokbuf_2esats__staload () ;
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__staload () ;
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_2esats__staload () ;

return ;
} /* staload function */

/* dynamic load function */

// dynload flag declaration
extern ats_int_type _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_decl_2edats__dynload_flag ;

ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_decl_2edats__dynload () {
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_parsing_decl_2edats__dynload_flag = 1 ;
_2home_2hwxi_2Research_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] */
