/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2011-9-10: 22h:10m ** */ /* 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/bool.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/integer.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/lazy.cats" #include "prelude/CATS/lazy_vt.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/printf.cats" #include "prelude/CATS/reference.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/array.cats" #include "prelude/CATS/list.cats" #include "prelude/CATS/matrix.cats" #include "prelude/CATS/option.cats" #endif /* _ATS_PRELUDE_NONE */ /* prologues from statically loaded files */ /* external codes at top */ /* type definitions */ typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_0 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_1 ; typedef struct { int tag ; ats_int64_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_2 ; typedef struct { ats_int_type atslab_vfty_level ; ats_ptr_type atslab_vfty_node ; } anairiats_rec_3 ; typedef struct { ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; ats_ptr_type atslab_4 ; } anairiats_sum_4 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_5 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_6 ; typedef struct { ats_ptr_type atslab_typ_loc ; ats_ptr_type atslab_typ_node ; ats_ptr_type atslab_typ_ty ; } anairiats_rec_7 ; typedef struct { ats_ptr_type atslab_fieldtyp_loc ; ats_ptr_type atslab_fieldtyp_lab ; ats_ptr_type atslab_fieldtyp_escape ; ats_ptr_type atslab_fieldtyp_typ ; } anairiats_rec_8 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_9 ; typedef struct { ats_ptr_type atslab_v1ar_loc ; ats_ptr_type atslab_v1ar_node ; ats_ptr_type atslab_v1ar_ty ; } anairiats_rec_10 ; typedef struct { ats_ptr_type atslab_exp_loc ; ats_ptr_type atslab_exp_node ; ats_ptr_type atslab_exp_ty ; } anairiats_rec_11 ; typedef struct { ats_ptr_type atslab_fieldexp_loc ; ats_ptr_type atslab_fieldexp_lab ; ats_ptr_type atslab_fieldexp_exp ; } anairiats_rec_12 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_13 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; ats_ptr_type atslab_4 ; } anairiats_sum_14 ; typedef struct { ats_ptr_type atslab_typdec_loc ; ats_ptr_type atslab_typdec_name ; ats_ptr_type atslab_typdec_typ ; } anairiats_rec_15 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_rec_16 ; typedef struct { anairiats_rec_16 atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_17 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_rec_18 ; typedef struct { anairiats_rec_18 atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_19 ; typedef struct { ats_ptr_type atslab_fundec_loc ; ats_ptr_type atslab_fundec_name ; ats_ptr_type atslab_fundec_arglst ; ats_ptr_type atslab_fundec_result ; ats_ptr_type atslab_fundec_body ; } anairiats_rec_20 ; typedef struct { ats_ptr_type atslab_dec_loc ; ats_ptr_type atslab_dec_node ; } anairiats_rec_21 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_22 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e6_2prelude_2basics_sta_2esats__list_cons) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e6_2prelude_2basics_sta_2esats__list_nil) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e6_2prelude_2basics_sta_2esats__None) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e6_2prelude_2basics_sta_2esats__Some) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e6_2prelude_2basics_sta_2esats__list_vt_cons) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e6_2prelude_2basics_sta_2esats__list_vt_nil) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e6_2prelude_2basics_sta_2esats__None_vt) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e6_2prelude_2basics_sta_2esats__Some_vt) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2types_2esats__LABTYLSTcons) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2types_2esats__LABTYLSTnil) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2types_2esats__TYarr) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2types_2esats__TYbase) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2types_2esats__TYname) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2types_2esats__TYnil) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2types_2esats__TYrec) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2types_2esats__TYtop) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2types_2esats__TYunit) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2absyn_2esats__PlusOp) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2absyn_2esats__MinusOp) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2absyn_2esats__TimesOp) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2absyn_2esats__DivideOp) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2absyn_2esats__EqOp) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2absyn_2esats__NeqOp) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2absyn_2esats__GtOp) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2absyn_2esats__GeOp) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2absyn_2esats__LtOp) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2absyn_2esats__LeOp) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2absyn_2esats__AndOp) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2absyn_2esats__OrOp) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2absyn_2esats__NameTyp) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2absyn_2esats__RecordTyp) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2absyn_2esats__ArrayTyp) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2absyn_2esats__FunctionDec) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2absyn_2esats__VarDec) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2absyn_2esats__TypeDec) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2absyn_2esats__VarExp) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2absyn_2esats__NilExp) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2absyn_2esats__IntExp) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2absyn_2esats__StringExp) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2absyn_2esats__CallExp) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2absyn_2esats__OpExp) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2absyn_2esats__RecordExp) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2absyn_2esats__SeqExp) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2absyn_2esats__AssignExp) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2absyn_2esats__IfExp) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2absyn_2esats__WhileExp) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2absyn_2esats__ForExp) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2absyn_2esats__BreakExp) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2absyn_2esats__ContinueExp) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2absyn_2esats__LetExp) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2absyn_2esats__ArrayExp) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2absyn_2esats__SimpleVar) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2absyn_2esats__FieldVar) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2absyn_2esats__SubscriptVar) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2esats__VFTYvar) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2esats__VFTYfun) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2LIB_2funmap_avltree_2edats__B) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2LIB_2funmap_avltree_2edats__E) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_prerr_newline) () ; ATSextern_fun(ats_double_type, atspre_double_of_size) (ats_size_type) ; ATSextern_fun(ats_double_type, atspre_div_double_double) (ats_double_type, ats_double_type) ; ATSextern_fun(ats_bool_type, atspre_lte_double_double) (ats_double_type, ats_double_type) ; ATSextern_fun(ats_bool_type, atspre_gte_double_double) (ats_double_type, ats_double_type) ; ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_sub_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_bool_type, atspre_neq_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_compare_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_bool_type, atspre_ilt) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_ilte) (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_int_type, atspre_imax) (ats_int_type, ats_int_type) ; ATSextern_val(ats_ptr_type, atspre_null_ptr) ; ATSextern_fun(ats_ptr_type, atspre_padd_size) (ats_ptr_type, ats_size_type) ; ATSextern_fun(ats_bool_type, atspre_pneq) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, atspre_ref_make_elt_tsz) (ats_ref_type, ats_size_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_add_size1_size1) (ats_size_type, ats_size_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_size_type, atspre_div_size1_int1) (ats_size_type, ats_int_type) ; ATSextern_fun(ats_size_type, atspre_mod1_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_gte_size1_int1) (ats_size_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_eq_size1_int1) (ats_size_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_eq_string_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_fprint_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_prerr_string) (ats_ptr_type) ; ATSextern_fun(ats_ulint_type, atspre_string_hash_33) (ats_ptr_type) ; ATSextern_fun(ats_varet_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2error_2esats__abort) (ats_int_type) ; ATSextern_fun(ats_int64_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2stamp_2esats__stamp_make) () ; ATSextern_fun(ats_bool_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2stamp_2esats__eq_stamp_stamp) (ats_int64_type, ats_int64_type) ; ATSextern_fun(ats_void_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2PARCOMB_2posloc_2esats__prerr_location) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2symbol_2esats__symbol_name_get) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2symbol_2esats__symbol_make_name) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2symbol_2esats__fprint_symbol) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2symbol_2esats__prerr_symbol) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2symbol_2esats__eq_symbol_symbol) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_int_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2symbol_2esats__compare_symbol_symbol) (ats_ptr_type, ats_ptr_type) ; ATSextern_val(ats_ptr_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2symbol_2esats__symbol_INT) ; ATSextern_val(ats_ptr_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2symbol_2esats__symbol_STRING) ; ATSextern_val(ats_ptr_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2symbol_2esats__symbol_UNIT) ; ATSextern_val(ats_ptr_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2symbol_2esats__symbol_CHR) ; ATSextern_val(ats_ptr_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2symbol_2esats__symbol_CONCAT) ; ATSextern_val(ats_ptr_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2symbol_2esats__symbol_EXIT) ; ATSextern_val(ats_ptr_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2symbol_2esats__symbol_FLUSH) ; ATSextern_val(ats_ptr_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2symbol_2esats__symbol_GETCHAR) ; ATSextern_val(ats_ptr_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2symbol_2esats__symbol_NOT) ; ATSextern_val(ats_ptr_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2symbol_2esats__symbol_ORD) ; ATSextern_val(ats_ptr_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2symbol_2esats__symbol_PRINT) ; ATSextern_val(ats_ptr_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2symbol_2esats__symbol_PRINT_INT) ; ATSextern_val(ats_ptr_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2symbol_2esats__symbol_SIZE) ; ATSextern_val(ats_ptr_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2symbol_2esats__symbol_SUBSTRING) ; ATSextern_fun(ats_void_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2types_2esats__prerr_ty) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2types_2esats__ty_lnkrmv) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2types_2esats__ty_normalize) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2types_2esats__ty_normalize_max) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2types_2esats__join_ty_ty) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, tigerats_typ_ty_set) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, tigerats_v1ar_ty_set) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, tigerats_exp_ty_set) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2esats__vfty_var_make) (ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2esats__vfty_fun_make) (ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_size_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2LIB_2hashtable_2edats__hashtbl_size) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, hashtbl_ptr_make) (ats_size_type) ; ATSextern_fun(ats_void_type, hashtbl_ptr_free) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2edats__transVar) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2edats__transExpUp) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2edats__transExpDn) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2edats__transDec) (ats_ref_type, ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2edats__transDeclst) (ats_ref_type, ats_ref_type, ats_ptr_type) ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2SATS_2list_2esats__list_length_is_nonnegative_prfck () ; extern ats_void_type _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2LIB_2hashtable_2edats__hashtbl_v_split_prfck () ; extern ats_void_type _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2LIB_2hashtable_2edats__hashtbl_v_unsplit_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; #endif /* _ATS_PROOFCHECK */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type tyleq_solve_0 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type ref_01023_ats_int_type (ats_int_type arg0) ; static ats_ptr_type ref_make_elt_01024_ats_int_type (ats_int_type arg0) ; static ats_int_type the_funlevel_get_5 () ; static ats_void_type the_funlevel_inc_6 () ; static ats_void_type the_funlevel_dec_7 () ; static ats_int_type the_looplevel_get_8 () ; static ats_void_type the_looplevel_inc_9 () ; static ats_void_type the_looplevel_dec_10 () ; static ats_int_type __ats_fun_11 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_clo_ptr_type __ats_fun_11_closure_make () ; static ats_int_type __ats_fun_11_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type funmap_empty_01763_ () ; static ats_ptr_type tymap_empty_12 () ; static ats_ptr_type vftymap_empty_14 () ; static ats_int_type compare_key_key_01762_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) ; static ats_ptr_type search_17 (ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type arg0) ; static ats_clo_ptr_type search_17_closure_make (ats_ptr_type env0, ats_clo_ref_type env1) ; static ats_ptr_type search_17_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_ptr_type funmap_search_01767_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) ; static ats_ptr_type tymap_search_15 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type vftymap_search_19 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_int_type avltree_height_0391_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type avltree_rrotate_0410_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_ptr_type avltree_lrotate_0394_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_ptr_type insert_23 (ats_ptr_type env0, ats_ptr_type env1, ats_clo_ref_type env2, ats_ptr_type arg0, ats_ref_type arg1) ; static ats_clo_ptr_type insert_23_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_clo_ref_type env2) ; static ats_ptr_type insert_23_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ref_type arg1) ; static ats_ptr_type funmap_insert_status_01769_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_clo_ref_type arg3, ats_ref_type arg4) ; static ats_ptr_type funmap_insert_01768_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_clo_ref_type arg3) ; static ats_ptr_type tymap_insert_20 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type vftymap_insert_27 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type aux_29 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type ty_make_typ_28 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type loop_31 (ats_ptr_type env0, ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_clo_ptr_type loop_31_closure_make (ats_ptr_type env0) ; static ats_ptr_type loop_31_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type loop_33 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) ; static ats_ptr_type transExpUp_callexp_32 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) ; static ats_void_type transExpUp_opexp_eqop_34 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) ; static ats_ptr_type transExpUp_opexp_35 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) ; static ats_void_type loop_37 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_clo_ptr_type loop_37_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) ; static ats_void_type loop_37_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type transExpUp_recordexp_36 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) ; static ats_ptr_type loop_39 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_int_type loop_43 (ats_ptr_type arg0, ats_int_type arg1) ; static ats_int_type list_length_01478_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type ref_01023_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type ref_make_elt_01024_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type aux_44 (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_void_type loop_47 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type loop_48 (ats_ptr_type arg0, ats_int_type arg1, ats_ref_type arg2) ; static ats_void_type transTypdeclst_41 (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_ptr_type aux_50 (ats_ptr_type arg0, ats_ref_type arg1, ats_ptr_type arg2) ; static ats_ptr_type aux_51 (ats_ptr_type arg0) ; static anairiats_rec_16 transFundec_49 (ats_ptr_type arg0, ats_ref_type arg1, ats_ptr_type arg2) ; static ats_ptr_type aux_53 (ats_ptr_type arg0, ats_ref_type arg1, ats_ptr_type arg2) ; static ats_ptr_type loop1_55 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type loop_54 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type transFundeclst_52 (ats_ptr_type arg0, ats_ref_type arg1, ats_ptr_type arg2) ; /* partial value template declarations */ /* static temporary variable declarations */ ATSstatic (ats_ptr_type, statmp0) ; ATSstatic (ats_ptr_type, statmp1) ; ATSstatic (ats_ptr_type, statmp2) ; ATSstatic (ats_ptr_type, statmp3) ; ATSstatic (ats_ptr_type, statmp30) ; ATSstatic (ats_ptr_type, statmp41) ; ATSstatic (ats_ptr_type, statmp50) ; ATSstatic (ats_ptr_type, statmp546) ; ATSstatic (ats_ptr_type, statmp547) ; ATSstatic (ats_ptr_type, statmp548) ; ATSstatic (ats_ptr_type, statmp549) ; ATSstatic (ats_ptr_type, statmp550) ; ATSstatic (ats_ptr_type, statmp551) ; ATSstatic (ats_ptr_type, statmp552) ; ATSstatic (ats_ptr_type, statmp553) ; ATSstatic (ats_ptr_type, statmp554) ; ATSstatic (ats_ptr_type, statmp555) ; ATSstatic (ats_ptr_type, statmp556) ; ATSstatic (ats_ptr_type, statmp557) ; ATSstatic (ats_ptr_type, statmp558) ; ATSstatic (ats_ptr_type, statmp559) ; ATSstatic (ats_ptr_type, statmp560) ; ATSstatic (ats_ptr_type, statmp561) ; ATSstatic (ats_ptr_type, statmp562) ; ATSstatic (ats_ptr_type, statmp563) ; ATSstatic (ats_ptr_type, statmp564) ; ATSstatic (ats_ptr_type, statmp565) ; ATSstatic (ats_ptr_type, statmp566) ; ATSstatic (ats_ptr_type, statmp567) ; ATSstatic (ats_ptr_type, statmp568) ; ATSstatic (ats_ptr_type, statmp569) ; ATSstatic (ats_ptr_type, statmp570) ; ATSstatic (ats_ptr_type, statmp571) ; ATSstatic (ats_ptr_type, statmp572) ; ATSstatic (ats_ptr_type, statmp573) ; ATSstatic (ats_ptr_type, statmp574) ; ATSstatic (ats_ptr_type, statmp575) ; ATSstatic (ats_ptr_type, statmp576) ; ATSstatic (ats_ptr_type, statmp577) ; ATSstatic (ats_ptr_type, statmp578) ; ATSstatic (ats_ptr_type, statmp579) ; ATSstatic (ats_ptr_type, statmp580) ; ATSstatic (ats_ptr_type, statmp581) ; ATSstatic (ats_ptr_type, statmp582) ; ATSstatic (ats_ptr_type, statmp583) ; ATSstatic (ats_ptr_type, statmp584) ; ATSstatic (ats_ptr_type, statmp585) ; /* external value variable declarations */ /* function implementations */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/tychecker.dats: 617(line=41, offs=5) -- 1510(line=64, offs=8) */ ATSstaticdec() ats_void_type tyleq_solve_0 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp4) ; ATSlocal (ats_ptr_type, tmp5) ; ATSlocal (ats_ptr_type, tmp6) ; ATSlocal (ats_ptr_type, tmp7) ; ATSlocal (ats_ptr_type, tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; ATSlocal (ats_ptr_type, tmp10) ; ATSlocal (ats_bool_type, tmp11) ; ATSlocal (ats_int64_type, tmp12) ; ATSlocal (ats_int64_type, tmp13) ; ATSlocal (ats_bool_type, tmp14) ; ATSlocal (ats_int64_type, tmp15) ; ATSlocal (ats_int64_type, tmp16) ; ATSlocal (ats_bool_type, tmp17) ; // ATSlocal_void (tmp18) ; // ATSlocal_void (tmp19) ; // ATSlocal_void (tmp20) ; // ATSlocal_void (tmp21) ; // ATSlocal_void (tmp22) ; // ATSlocal_void (tmp23) ; // ATSlocal_void (tmp24) ; // ATSlocal_void (tmp25) ; __ats_lab_tyleq_solve_0: #line 42 "tychecker.dats" do { /* branch: __ats_lab_0 */ #line 43 "tychecker.dats" __ats_lab_0_0: #line 43 "tychecker.dats" if (((ats_sum_ptr_type)arg1)->tag != 2) { goto __ats_lab_1_0 ; } #line 43 "tychecker.dats" __ats_lab_0_1: #line 43 "tychecker.dats" __ats_lab_0_2: #line 43 "tychecker.dats" tmp5 = ats_caselptr_mac(anairiats_sum_1, arg1, atslab_1) ; #line 44 "tychecker.dats" tmp6 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2types_2esats__ty_lnkrmv (tmp5) ; #line 44 "tychecker.dats" arg0 = arg0 ; #line 44 "tychecker.dats" arg1 = tmp6 ; #line 44 "tychecker.dats" arg2 = arg2 ; #line 44 "tychecker.dats" goto __ats_lab_tyleq_solve_0 ; // tail call break ; /* branch: __ats_lab_1 */ #line 46 "tychecker.dats" __ats_lab_1_0: #line 46 "tychecker.dats" __ats_lab_1_1: #line 46 "tychecker.dats" if (((ats_sum_ptr_type)arg2)->tag != 2) { goto __ats_lab_2_0 ; } #line 46 "tychecker.dats" __ats_lab_1_2: #line 46 "tychecker.dats" tmp7 = ats_caselptr_mac(anairiats_sum_1, arg2, atslab_1) ; #line 47 "tychecker.dats" tmp8 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2types_2esats__ty_lnkrmv (tmp7) ; #line 47 "tychecker.dats" arg0 = arg0 ; #line 47 "tychecker.dats" arg1 = arg1 ; #line 47 "tychecker.dats" arg2 = tmp8 ; #line 47 "tychecker.dats" goto __ats_lab_tyleq_solve_0 ; // tail call break ; /* branch: __ats_lab_2 */ #line 49 "tychecker.dats" __ats_lab_2_0: #line 49 "tychecker.dats" if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_3_0 ; } #line 49 "tychecker.dats" __ats_lab_2_1: #line 49 "tychecker.dats" if (((ats_sum_ptr_type)arg2)->tag != 1) { goto __ats_lab_8_1 ; } #line 49 "tychecker.dats" __ats_lab_2_2: #line 49 "tychecker.dats" tmp9 = ats_caselptr_mac(anairiats_sum_0, arg1, atslab_0) ; #line 49 "tychecker.dats" tmp10 = ats_caselptr_mac(anairiats_sum_0, arg2, atslab_0) ; #line 49 "tychecker.dats" tmp11 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2symbol_2esats__eq_symbol_symbol (tmp9, tmp10) ; #line 49 "tychecker.dats" if (!tmp11) { goto __ats_lab_8_2 ; } break ; /* branch: __ats_lab_3 */ #line 50 "tychecker.dats" __ats_lab_3_0: #line 50 "tychecker.dats" if (((ats_sum_ptr_type)arg1)->tag != 3) { goto __ats_lab_4_0 ; } #line 50 "tychecker.dats" __ats_lab_3_1: #line 50 "tychecker.dats" if (((ats_sum_ptr_type)arg2)->tag != 3) { goto __ats_lab_4_1 ; } #line 50 "tychecker.dats" __ats_lab_3_2: break ; /* branch: __ats_lab_4 */ #line 50 "tychecker.dats" __ats_lab_4_0: #line 50 "tychecker.dats" if (((ats_sum_ptr_type)arg1)->tag != 3) { goto __ats_lab_5_0 ; } #line 50 "tychecker.dats" __ats_lab_4_1: #line 50 "tychecker.dats" if (((ats_sum_ptr_type)arg2)->tag != 4) { goto __ats_lab_8_1 ; } #line 50 "tychecker.dats" __ats_lab_4_2: break ; /* branch: __ats_lab_5 */ #line 51 "tychecker.dats" __ats_lab_5_0: #line 51 "tychecker.dats" if (((ats_sum_ptr_type)arg1)->tag != 4) { goto __ats_lab_6_0 ; } #line 51 "tychecker.dats" __ats_lab_5_1: #line 51 "tychecker.dats" if (((ats_sum_ptr_type)arg2)->tag != 4) { goto __ats_lab_8_1 ; } #line 51 "tychecker.dats" __ats_lab_5_2: #line 51 "tychecker.dats" tmp12 = ats_caselptr_mac(anairiats_sum_2, arg1, atslab_0) ; #line 51 "tychecker.dats" tmp13 = ats_caselptr_mac(anairiats_sum_2, arg2, atslab_0) ; #line 51 "tychecker.dats" tmp14 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2stamp_2esats__eq_stamp_stamp (tmp12, tmp13) ; #line 51 "tychecker.dats" if (!tmp14) { goto __ats_lab_8_2 ; } break ; /* branch: __ats_lab_6 */ #line 52 "tychecker.dats" __ats_lab_6_0: #line 52 "tychecker.dats" if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_7_0 ; } #line 52 "tychecker.dats" __ats_lab_6_1: #line 52 "tychecker.dats" if (((ats_sum_ptr_type)arg2)->tag != 0) { goto __ats_lab_8_1 ; } #line 52 "tychecker.dats" __ats_lab_6_2: #line 52 "tychecker.dats" tmp15 = ats_caselptr_mac(anairiats_sum_2, arg1, atslab_0) ; #line 52 "tychecker.dats" tmp16 = ats_caselptr_mac(anairiats_sum_2, arg2, atslab_0) ; #line 52 "tychecker.dats" tmp17 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2stamp_2esats__eq_stamp_stamp (tmp15, tmp16) ; #line 52 "tychecker.dats" if (!tmp17) { goto __ats_lab_8_2 ; } break ; /* branch: __ats_lab_7 */ #line 53 "tychecker.dats" __ats_lab_7_0: #line 53 "tychecker.dats" if (((ats_sum_ptr_type)arg1)->tag != 6) { goto __ats_lab_8_0 ; } #line 53 "tychecker.dats" __ats_lab_7_1: #line 53 "tychecker.dats" if (((ats_sum_ptr_type)arg2)->tag != 6) { goto __ats_lab_8_1 ; } #line 53 "tychecker.dats" __ats_lab_7_2: break ; /* branch: __ats_lab_8 */ #line 54 "tychecker.dats" __ats_lab_8_0: #line 54 "tychecker.dats" __ats_lab_8_1: #line 54 "tychecker.dats" __ats_lab_8_2: #line 55 "tychecker.dats" /* tmp18 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2PARCOMB_2posloc_2esats__prerr_location (arg0) ; #line 56 "tychecker.dats" /* tmp19 = */ atspre_prerr_string (ATSstrcst(": exit(TIGER): type mismatch")) ; #line 57 "tychecker.dats" /* tmp20 = */ atspre_prerr_string (ATSstrcst(": the needed type is [")) ; #line 58 "tychecker.dats" /* tmp21 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2types_2esats__prerr_ty (arg2) ; #line 59 "tychecker.dats" /* tmp22 = */ atspre_prerr_string (ATSstrcst("] but the actual type is [")) ; #line 60 "tychecker.dats" /* tmp23 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2types_2esats__prerr_ty (arg1) ; #line 61 "tychecker.dats" /* tmp24 = */ atspre_prerr_string (ATSstrcst("]")) ; #line 62 "tychecker.dats" /* tmp25 = */ atspre_prerr_newline () ; #line 63 "tychecker.dats" /* tmp4 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2error_2esats__abort (1) ; break ; } while (0) ; return /* (tmp4) */ ; } /* end of [tyleq_solve_0] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/tychecker.dats: 1598(line=69, offs=25) -- 1668(line=71, offs=2) */ ATSglobaldec() ats_ptr_type _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2esats__vfty_var_make (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp26) ; ATSlocal (ats_ptr_type, tmp27) ; __ats_lab__2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2esats__vfty_var_make: #line 70 "tychecker.dats" tmp27 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp27)->tag = 0 ; ats_selptrset_mac(anairiats_sum_1, tmp27, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_1, tmp27, atslab_1, arg2) ; #line 69 "tychecker.dats" tmp26 = ATS_MALLOC(sizeof(anairiats_rec_3)) ; ats_selptrset_mac(anairiats_rec_3, tmp26, atslab_vfty_level, arg0) ; ats_selptrset_mac(anairiats_rec_3, tmp26, atslab_vfty_node, tmp27) ; return (tmp26) ; } /* end of [_2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2esats__vfty_var_make] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/tychecker.dats: 1694(line=73, offs=25) -- 1766(line=75, offs=2) */ ATSglobaldec() ats_ptr_type _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2esats__vfty_fun_make (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp28) ; ATSlocal (ats_ptr_type, tmp29) ; __ats_lab__2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2esats__vfty_fun_make: #line 74 "tychecker.dats" tmp29 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp29)->tag = 1 ; ats_selptrset_mac(anairiats_sum_1, tmp29, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_1, tmp29, atslab_1, arg2) ; #line 73 "tychecker.dats" tmp28 = ATS_MALLOC(sizeof(anairiats_rec_3)) ; ats_selptrset_mac(anairiats_rec_3, tmp28, atslab_vfty_level, arg0) ; ats_selptrset_mac(anairiats_rec_3, tmp28, atslab_vfty_node, tmp29) ; return (tmp28) ; } /* end of [_2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2esats__vfty_fun_make] */ /* // /home/fac2/hwxi/research/ATS/IMPLEMENT/Geizella/Anairiats/svn/ats-lang/prelude/DATS/reference.dats: 1834(line=59, offs=18) -- 1908(line=61, offs=4) */ ATSstaticdec() ats_ptr_type ref_01023_ats_int_type (ats_int_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp32) ; ATSlocal (ats_int_type, tmp33) ; __ats_lab_ref_01023_ats_int_type: #line 60 "reference.dats" /* ats_int_type tmp33 ; */ #line 60 "reference.dats" tmp33 = arg0 ; #line 60 "reference.dats" tmp32 = atspre_ref_make_elt_tsz ((&tmp33), sizeof(ats_int_type)) ; return (tmp32) ; } /* end of [ref_01023_ats_int_type] */ /* // /home/fac2/hwxi/research/ATS/IMPLEMENT/Geizella/Anairiats/svn/ats-lang/prelude/DATS/reference.dats: 2000(line=64, offs=27) -- 2015(line=64, offs=42) */ ATSstaticdec() ats_ptr_type ref_make_elt_01024_ats_int_type (ats_int_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp31) ; __ats_lab_ref_make_elt_01024_ats_int_type: #line 64 "reference.dats" tmp31 = ref_01023_ats_int_type (arg0) ; return (tmp31) ; } /* end of [ref_make_elt_01024_ats_int_type] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/tychecker.dats: 1863(line=85, offs=5) -- 1903(line=85, offs=45) */ ATSstaticdec() ats_int_type the_funlevel_get_5 () { /* local vardec */ ATSlocal (ats_int_type, tmp34) ; __ats_lab_the_funlevel_get_5: #line 85 "tychecker.dats" tmp34 = ats_ptrget_mac(ats_int_type, statmp30) ; return (tmp34) ; } /* end of [the_funlevel_get_5] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/tychecker.dats: 1909(line=87, offs=5) -- 1994(line=89, offs=4) */ ATSstaticdec() ats_void_type the_funlevel_inc_6 () { /* local vardec */ // ATSlocal_void (tmp35) ; ATSlocal (ats_int_type, tmp36) ; ATSlocal (ats_int_type, tmp37) ; __ats_lab_the_funlevel_inc_6: #line 88 "tychecker.dats" tmp36 = ats_ptrget_mac(ats_int_type, statmp30) ; #line 88 "tychecker.dats" tmp37 = atspre_add_int_int (tmp36, 1) ; #line 88 "tychecker.dats" ats_ptrget_mac(ats_int_type, statmp30) = tmp37 ; return /* (tmp35) */ ; } /* end of [the_funlevel_inc_6] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/tychecker.dats: 2029(line=91, offs=5) -- 2114(line=93, offs=4) */ ATSstaticdec() ats_void_type the_funlevel_dec_7 () { /* local vardec */ // ATSlocal_void (tmp38) ; ATSlocal (ats_int_type, tmp39) ; ATSlocal (ats_int_type, tmp40) ; __ats_lab_the_funlevel_dec_7: #line 92 "tychecker.dats" tmp39 = ats_ptrget_mac(ats_int_type, statmp30) ; #line 92 "tychecker.dats" tmp40 = atspre_sub_int_int (tmp39, 1) ; #line 92 "tychecker.dats" ats_ptrget_mac(ats_int_type, statmp30) = tmp40 ; return /* (tmp38) */ ; } /* end of [the_funlevel_dec_7] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/tychecker.dats: 2264(line=105, offs=5) -- 2306(line=105, offs=47) */ ATSstaticdec() ats_int_type the_looplevel_get_8 () { /* local vardec */ ATSlocal (ats_int_type, tmp42) ; __ats_lab_the_looplevel_get_8: #line 105 "tychecker.dats" tmp42 = ats_ptrget_mac(ats_int_type, statmp41) ; return (tmp42) ; } /* end of [the_looplevel_get_8] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/tychecker.dats: 2312(line=107, offs=5) -- 2400(line=109, offs=4) */ ATSstaticdec() ats_void_type the_looplevel_inc_9 () { /* local vardec */ // ATSlocal_void (tmp43) ; ATSlocal (ats_int_type, tmp44) ; ATSlocal (ats_int_type, tmp45) ; __ats_lab_the_looplevel_inc_9: #line 108 "tychecker.dats" tmp44 = ats_ptrget_mac(ats_int_type, statmp41) ; #line 108 "tychecker.dats" tmp45 = atspre_add_int_int (tmp44, 1) ; #line 108 "tychecker.dats" ats_ptrget_mac(ats_int_type, statmp41) = tmp45 ; return /* (tmp43) */ ; } /* end of [the_looplevel_inc_9] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/tychecker.dats: 2436(line=111, offs=5) -- 2524(line=113, offs=4) */ ATSstaticdec() ats_void_type the_looplevel_dec_10 () { /* local vardec */ // ATSlocal_void (tmp46) ; ATSlocal (ats_int_type, tmp47) ; ATSlocal (ats_int_type, tmp48) ; __ats_lab_the_looplevel_dec_10: #line 112 "tychecker.dats" tmp47 = ats_ptrget_mac(ats_int_type, statmp41) ; #line 112 "tychecker.dats" tmp48 = atspre_sub_int_int (tmp47, 1) ; #line 112 "tychecker.dats" ats_ptrget_mac(ats_int_type, statmp41) = tmp48 ; return /* (tmp46) */ ; } /* end of [the_looplevel_dec_10] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/tychecker.dats: 2756(line=130, offs=3) -- 2810(line=130, offs=57) */ ATSstaticdec() ats_int_type __ats_fun_11 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp49) ; __ats_lab___ats_fun_11: #line 130 "tychecker.dats" tmp49 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2symbol_2esats__compare_symbol_symbol (arg0, arg1) ; return (tmp49) ; } /* end of [__ats_fun_11] */ typedef struct { ats_fun_ptr_type closure_fun ; } __ats_fun_11_closure_type ; ats_int_type __ats_fun_11_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) { return __ats_fun_11 (arg0, arg1) ; } /* end of function */ ATSinline() ats_void_type __ats_fun_11_closure_init (__ats_fun_11_closure_type *p_clo) { p_clo->closure_fun = (ats_fun_ptr_type)&__ats_fun_11_clofun ; return ; } /* end of function */ ats_clo_ptr_type __ats_fun_11_closure_make () { __ats_fun_11_closure_type *p_clo = ATS_MALLOC(sizeof(__ats_fun_11_closure_type)) ; __ats_fun_11_closure_init (p_clo) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/LIB/funmap_avltree.dats: 2673(line=105, offs=26) -- 2682(line=105, offs=35) */ ATSstaticdec() ats_ptr_type funmap_empty_01763_ () { /* local vardec */ ATSlocal (ats_ptr_type, tmp52) ; __ats_lab_funmap_empty_01763_: #line 105 "funmap_avltree.dats" tmp52 = (ats_sum_ptr_type)0 ; return (tmp52) ; } /* end of [funmap_empty_01763_] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/tychecker.dats: 2835(line=135, offs=4) -- 2872(line=135, offs=41) */ ATSstaticdec() ats_ptr_type tymap_empty_12 () { /* local vardec */ ATSlocal (ats_ptr_type, tmp51) ; __ats_lab_tymap_empty_12: #line 135 "tychecker.dats" tmp51 = funmap_empty_01763_ () ; return (tmp51) ; } /* end of [tymap_empty_12] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/tychecker.dats: 2876(line=136, offs=4) -- 2915(line=136, offs=43) */ ATSstaticdec() ats_ptr_type vftymap_empty_14 () { /* local vardec */ ATSlocal (ats_ptr_type, tmp53) ; __ats_lab_vftymap_empty_14: #line 136 "tychecker.dats" tmp53 = funmap_empty_01763_ () ; return (tmp53) ; } /* end of [vftymap_empty_14] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/LIB/funmap_avltree.dats: 554(line=29, offs=32) -- 582(line=29, offs=60) */ ATSstaticdec() ats_int_type compare_key_key_01762_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_int_type, tmp63) ; __ats_lab_compare_key_key_01762_ats_ptr_type: #line 29 "funmap_avltree.dats" tmp63 = ((ats_int_type(*)(ats_clo_ptr_type, ats_ptr_type, ats_ptr_type))(ats_closure_fun(arg2))) (arg2, arg0, arg1) ; return (tmp63) ; } /* end of [compare_key_key_01762_ats_ptr_type] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/LIB/funmap_avltree.dats: 3305(line=130, offs=7) -- 3729(line=143, offs=6) */ ATSstaticdec() ats_ptr_type search_17 (ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp57) ; ATSlocal (ats_ptr_type, tmp58) ; ATSlocal (ats_ptr_type, tmp59) ; ATSlocal (ats_ptr_type, tmp60) ; ATSlocal (ats_ptr_type, tmp61) ; ATSlocal (ats_int_type, tmp62) ; ATSlocal (ats_bool_type, tmp64) ; ATSlocal (ats_bool_type, tmp65) ; ATSlocal (ats_ptr_type, tmp66) ; __ats_lab_search_17: #line 132 "funmap_avltree.dats" do { /* branch: __ats_lab_9 */ #line 133 "funmap_avltree.dats" __ats_lab_9_0: #line 133 "funmap_avltree.dats" if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_10_0 ; } #line 133 "funmap_avltree.dats" __ats_lab_9_1: #line 133 "funmap_avltree.dats" tmp58 = ats_caselptr_mac(anairiats_sum_4, arg0, atslab_1) ; #line 133 "funmap_avltree.dats" tmp59 = ats_caselptr_mac(anairiats_sum_4, arg0, atslab_2) ; #line 133 "funmap_avltree.dats" tmp60 = ats_caselptr_mac(anairiats_sum_4, arg0, atslab_3) ; #line 133 "funmap_avltree.dats" tmp61 = ats_caselptr_mac(anairiats_sum_4, arg0, atslab_4) ; #line 134 "funmap_avltree.dats" tmp62 = compare_key_key_01762_ats_ptr_type (env0, tmp58, env1) ; #line 136 "funmap_avltree.dats" tmp64 = atspre_ilt (tmp62, 0) ; #line 136 "funmap_avltree.dats" if (tmp64) { #line 136 "funmap_avltree.dats" arg0 = tmp60 ; #line 136 "funmap_avltree.dats" goto __ats_lab_search_17 ; // tail call } else { #line 136 "funmap_avltree.dats" tmp65 = atspre_igt (tmp62, 0) ; #line 136 "funmap_avltree.dats" if (tmp65) { #line 136 "funmap_avltree.dats" arg0 = tmp61 ; #line 136 "funmap_avltree.dats" goto __ats_lab_search_17 ; // tail call } else { #line 137 "funmap_avltree.dats" // if (tmp59 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 137 "funmap_avltree.dats" tmp66 = ats_caselptr_mac(anairiats_sum_5, tmp59, atslab_0) ; #line 139 "funmap_avltree.dats" tmp57 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp57, atslab_0, tmp66) ; } /* end of [if] */ } /* end of [if] */ break ; /* branch: __ats_lab_10 */ #line 142 "funmap_avltree.dats" __ats_lab_10_0: #line 142 "funmap_avltree.dats" // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 142 "funmap_avltree.dats" __ats_lab_10_1: #line 142 "funmap_avltree.dats" tmp57 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp57) ; } /* end of [search_17] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_clo_ref_type closure_env_1 ; } search_17_closure_type ; ats_ptr_type search_17_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return search_17 (((search_17_closure_type*)cloptr)->closure_env_0, ((search_17_closure_type*)cloptr)->closure_env_1, arg0) ; } /* end of function */ ATSinline() ats_void_type search_17_closure_init (search_17_closure_type *p_clo, ats_ptr_type env0, ats_clo_ref_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&search_17_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type search_17_closure_make (ats_ptr_type env0, ats_clo_ref_type env1) { search_17_closure_type *p_clo = ATS_MALLOC(sizeof(search_17_closure_type)) ; search_17_closure_init (p_clo, env0, env1) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/LIB/funmap_avltree.dats: 3265(line=129, offs=34) -- 3750(line=144, offs=2) */ ATSstaticdec() ats_ptr_type funmap_search_01767_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp56) ; __ats_lab_funmap_search_01767_ats_ptr_type_2cats_ptr_type: #line 129 "funmap_avltree.dats" tmp56 = search_17 (arg1, arg2, arg0) ; return (tmp56) ; } /* end of [funmap_search_01767_ats_ptr_type_2cats_ptr_type] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/tychecker.dats: 2920(line=138, offs=4) -- 3311(line=150, offs=4) */ ATSstaticdec() ats_ptr_type tymap_search_15 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp54) ; ATSlocal (ats_ptr_type, tmp55) ; ATSlocal (ats_ptr_type, tmp67) ; // ATSlocal_void (tmp68) ; // ATSlocal_void (tmp69) ; // ATSlocal_void (tmp70) ; // ATSlocal_void (tmp71) ; // ATSlocal_void (tmp72) ; // ATSlocal_void (tmp73) ; __ats_lab_tymap_search_15: #line 141 "tychecker.dats" tmp55 = funmap_search_01767_ats_ptr_type_2cats_ptr_type (arg1, arg2, statmp50) ; #line 142 "tychecker.dats" do { /* branch: __ats_lab_11 */ #line 143 "tychecker.dats" __ats_lab_11_0: #line 143 "tychecker.dats" if (tmp55 == (ats_sum_ptr_type)0) { goto __ats_lab_12_0 ; } #line 143 "tychecker.dats" __ats_lab_11_1: #line 143 "tychecker.dats" tmp67 = ats_caselptr_mac(anairiats_sum_6, tmp55, atslab_0) ; #line 143 "tychecker.dats" ATS_FREE(tmp55) ; #line 143 "tychecker.dats" tmp54 = tmp67 ; break ; /* branch: __ats_lab_12 */ #line 143 "tychecker.dats" __ats_lab_12_0: #line 143 "tychecker.dats" // if (tmp55 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 143 "tychecker.dats" __ats_lab_12_1: #line 144 "tychecker.dats" /* tmp68 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2PARCOMB_2posloc_2esats__prerr_location (arg0) ; #line 145 "tychecker.dats" /* tmp69 = */ atspre_prerr_string (ATSstrcst(": exit(TIGER)")) ; #line 146 "tychecker.dats" /* tmp70 = */ atspre_prerr_string (ATSstrcst(": unrecognized type symbol [")) ; #line 146 "tychecker.dats" /* tmp71 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2symbol_2esats__prerr_symbol (arg2) ; #line 147 "tychecker.dats" /* tmp72 = */ atspre_prerr_string (ATSstrcst("]")) ; #line 147 "tychecker.dats" /* tmp73 = */ atspre_prerr_newline () ; #line 148 "tychecker.dats" /* tmp54 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2error_2esats__abort (1) ; break ; } while (0) ; return (tmp54) ; } /* end of [tymap_search_15] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/tychecker.dats: 3341(line=152, offs=4) -- 3747(line=164, offs=4) */ ATSstaticdec() ats_ptr_type vftymap_search_19 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp74) ; ATSlocal (ats_ptr_type, tmp75) ; ATSlocal (ats_ptr_type, tmp76) ; // ATSlocal_void (tmp77) ; // ATSlocal_void (tmp78) ; // ATSlocal_void (tmp79) ; // ATSlocal_void (tmp80) ; // ATSlocal_void (tmp81) ; // ATSlocal_void (tmp82) ; __ats_lab_vftymap_search_19: #line 155 "tychecker.dats" tmp75 = funmap_search_01767_ats_ptr_type_2cats_ptr_type (arg1, arg2, statmp50) ; #line 156 "tychecker.dats" do { /* branch: __ats_lab_13 */ #line 157 "tychecker.dats" __ats_lab_13_0: #line 157 "tychecker.dats" if (tmp75 == (ats_sum_ptr_type)0) { goto __ats_lab_14_0 ; } #line 157 "tychecker.dats" __ats_lab_13_1: #line 157 "tychecker.dats" tmp76 = ats_caselptr_mac(anairiats_sum_6, tmp75, atslab_0) ; #line 157 "tychecker.dats" ATS_FREE(tmp75) ; #line 157 "tychecker.dats" tmp74 = tmp76 ; break ; /* branch: __ats_lab_14 */ #line 157 "tychecker.dats" __ats_lab_14_0: #line 157 "tychecker.dats" // if (tmp75 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 157 "tychecker.dats" __ats_lab_14_1: #line 158 "tychecker.dats" /* tmp77 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2PARCOMB_2posloc_2esats__prerr_location (arg0) ; #line 159 "tychecker.dats" /* tmp78 = */ atspre_prerr_string (ATSstrcst(": exit(TIGER)")) ; #line 160 "tychecker.dats" /* tmp79 = */ atspre_prerr_string (ATSstrcst(": unrecognized var/fun symbol [")) ; #line 160 "tychecker.dats" /* tmp80 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2symbol_2esats__prerr_symbol (arg2) ; #line 161 "tychecker.dats" /* tmp81 = */ atspre_prerr_string (ATSstrcst("]")) ; #line 161 "tychecker.dats" /* tmp82 = */ atspre_prerr_newline () ; #line 162 "tychecker.dats" /* tmp74 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2error_2esats__abort (1) ; break ; } while (0) ; return (tmp74) ; } /* end of [vftymap_search_19] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/LIB/funmap_avltree.dats: 3842(line=149, offs=3) -- 3939(line=151, offs=4) */ ATSstaticdec() ats_int_type avltree_height_0391_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp97) ; ATSlocal (ats_int_type, tmp98) ; __ats_lab_avltree_height_0391_ats_ptr_type_2cats_ptr_type: #line 150 "funmap_avltree.dats" do { /* branch: __ats_lab_16 */ #line 150 "funmap_avltree.dats" __ats_lab_16_0: #line 150 "funmap_avltree.dats" if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_17_0 ; } #line 150 "funmap_avltree.dats" __ats_lab_16_1: #line 150 "funmap_avltree.dats" tmp98 = ats_caselptr_mac(anairiats_sum_4, arg0, atslab_0) ; #line 150 "funmap_avltree.dats" tmp97 = tmp98 ; break ; /* branch: __ats_lab_17 */ #line 150 "funmap_avltree.dats" __ats_lab_17_0: #line 150 "funmap_avltree.dats" // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 150 "funmap_avltree.dats" __ats_lab_17_1: #line 150 "funmap_avltree.dats" tmp97 = 0 ; break ; } while (0) ; return (tmp97) ; } /* end of [avltree_height_0391_ats_ptr_type_2cats_ptr_type] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/LIB/funmap_avltree.dats: 4781(line=176, offs=60) -- 5337(line=191, offs=4) */ ATSstaticdec() ats_ptr_type avltree_rrotate_0410_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp104) ; ATSlocal (ats_int_type, tmp105) ; ATSlocal (ats_ptr_type, tmp106) ; ATSlocal (ats_ptr_type, tmp107) ; ATSlocal (ats_ptr_type, tmp108) ; ATSlocal (ats_ptr_type, tmp109) ; ATSlocal (ats_int_type, tmp110) ; ATSlocal (ats_int_type, tmp111) ; ATSlocal (ats_bool_type, tmp112) ; ATSlocal (ats_int_type, tmp113) ; ATSlocal (ats_ptr_type, tmp114) ; ATSlocal (ats_int_type, tmp115) ; ATSlocal (ats_ptr_type, tmp116) ; ATSlocal (ats_ptr_type, tmp117) ; ATSlocal (ats_ptr_type, tmp118) ; ATSlocal (ats_ptr_type, tmp119) ; ATSlocal (ats_ptr_type, tmp120) ; ATSlocal (ats_ptr_type, tmp121) ; __ats_lab_avltree_rrotate_0410_ats_ptr_type_2cats_ptr_type: #line 181 "funmap_avltree.dats" // if (arg2 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 181 "funmap_avltree.dats" tmp105 = ats_caselptr_mac(anairiats_sum_4, arg2, atslab_0) ; #line 181 "funmap_avltree.dats" tmp106 = ats_caselptr_mac(anairiats_sum_4, arg2, atslab_1) ; #line 181 "funmap_avltree.dats" tmp107 = ats_caselptr_mac(anairiats_sum_4, arg2, atslab_2) ; #line 181 "funmap_avltree.dats" tmp108 = ats_caselptr_mac(anairiats_sum_4, arg2, atslab_3) ; #line 181 "funmap_avltree.dats" tmp109 = ats_caselptr_mac(anairiats_sum_4, arg2, atslab_4) ; #line 182 "funmap_avltree.dats" tmp110 = avltree_height_0391_ats_ptr_type_2cats_ptr_type (tmp108) ; #line 182 "funmap_avltree.dats" tmp111 = avltree_height_0391_ats_ptr_type_2cats_ptr_type (tmp109) ; #line 184 "funmap_avltree.dats" tmp112 = atspre_igte (tmp110, tmp111) ; #line 184 "funmap_avltree.dats" if (tmp112) { #line 185 "funmap_avltree.dats" tmp113 = atspre_iadd (tmp111, 2) ; #line 185 "funmap_avltree.dats" tmp115 = atspre_iadd (tmp111, 1) ; #line 185 "funmap_avltree.dats" tmp114 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp114, atslab_0, tmp115) ; ats_selptrset_mac(anairiats_sum_4, tmp114, atslab_1, arg0) ; ats_selptrset_mac(anairiats_sum_4, tmp114, atslab_2, arg1) ; ats_selptrset_mac(anairiats_sum_4, tmp114, atslab_3, tmp109) ; ats_selptrset_mac(anairiats_sum_4, tmp114, atslab_4, arg3) ; #line 185 "funmap_avltree.dats" tmp104 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp104, atslab_0, tmp113) ; ats_selptrset_mac(anairiats_sum_4, tmp104, atslab_1, tmp106) ; ats_selptrset_mac(anairiats_sum_4, tmp104, atslab_2, tmp107) ; ats_selptrset_mac(anairiats_sum_4, tmp104, atslab_3, tmp108) ; ats_selptrset_mac(anairiats_sum_4, tmp104, atslab_4, tmp114) ; } else { #line 187 "funmap_avltree.dats" // if (tmp109 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 187 "funmap_avltree.dats" tmp116 = ats_caselptr_mac(anairiats_sum_4, tmp109, atslab_1) ; #line 187 "funmap_avltree.dats" tmp117 = ats_caselptr_mac(anairiats_sum_4, tmp109, atslab_2) ; #line 187 "funmap_avltree.dats" tmp118 = ats_caselptr_mac(anairiats_sum_4, tmp109, atslab_3) ; #line 187 "funmap_avltree.dats" tmp119 = ats_caselptr_mac(anairiats_sum_4, tmp109, atslab_4) ; #line 189 "funmap_avltree.dats" tmp120 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp120, atslab_0, tmp111) ; ats_selptrset_mac(anairiats_sum_4, tmp120, atslab_1, tmp106) ; ats_selptrset_mac(anairiats_sum_4, tmp120, atslab_2, tmp107) ; ats_selptrset_mac(anairiats_sum_4, tmp120, atslab_3, tmp108) ; ats_selptrset_mac(anairiats_sum_4, tmp120, atslab_4, tmp118) ; #line 189 "funmap_avltree.dats" tmp121 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp121, atslab_0, tmp111) ; ats_selptrset_mac(anairiats_sum_4, tmp121, atslab_1, arg0) ; ats_selptrset_mac(anairiats_sum_4, tmp121, atslab_2, arg1) ; ats_selptrset_mac(anairiats_sum_4, tmp121, atslab_3, tmp119) ; ats_selptrset_mac(anairiats_sum_4, tmp121, atslab_4, arg3) ; #line 189 "funmap_avltree.dats" tmp104 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp104, atslab_0, tmp105) ; ats_selptrset_mac(anairiats_sum_4, tmp104, atslab_1, tmp116) ; ats_selptrset_mac(anairiats_sum_4, tmp104, atslab_2, tmp117) ; ats_selptrset_mac(anairiats_sum_4, tmp104, atslab_3, tmp120) ; ats_selptrset_mac(anairiats_sum_4, tmp104, atslab_4, tmp121) ; } /* end of [if] */ return (tmp104) ; } /* end of [avltree_rrotate_0410_ats_ptr_type_2cats_ptr_type] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/LIB/funmap_avltree.dats: 4081(line=156, offs=60) -- 4637(line=171, offs=4) */ ATSstaticdec() ats_ptr_type avltree_lrotate_0394_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp130) ; ATSlocal (ats_int_type, tmp131) ; ATSlocal (ats_ptr_type, tmp132) ; ATSlocal (ats_ptr_type, tmp133) ; ATSlocal (ats_ptr_type, tmp134) ; ATSlocal (ats_ptr_type, tmp135) ; ATSlocal (ats_int_type, tmp136) ; ATSlocal (ats_int_type, tmp137) ; ATSlocal (ats_bool_type, tmp138) ; ATSlocal (ats_int_type, tmp139) ; ATSlocal (ats_ptr_type, tmp140) ; ATSlocal (ats_int_type, tmp141) ; ATSlocal (ats_ptr_type, tmp142) ; ATSlocal (ats_ptr_type, tmp143) ; ATSlocal (ats_ptr_type, tmp144) ; ATSlocal (ats_ptr_type, tmp145) ; ATSlocal (ats_ptr_type, tmp146) ; ATSlocal (ats_ptr_type, tmp147) ; __ats_lab_avltree_lrotate_0394_ats_ptr_type_2cats_ptr_type: #line 161 "funmap_avltree.dats" // if (arg3 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 161 "funmap_avltree.dats" tmp131 = ats_caselptr_mac(anairiats_sum_4, arg3, atslab_0) ; #line 161 "funmap_avltree.dats" tmp132 = ats_caselptr_mac(anairiats_sum_4, arg3, atslab_1) ; #line 161 "funmap_avltree.dats" tmp133 = ats_caselptr_mac(anairiats_sum_4, arg3, atslab_2) ; #line 161 "funmap_avltree.dats" tmp134 = ats_caselptr_mac(anairiats_sum_4, arg3, atslab_3) ; #line 161 "funmap_avltree.dats" tmp135 = ats_caselptr_mac(anairiats_sum_4, arg3, atslab_4) ; #line 162 "funmap_avltree.dats" tmp136 = avltree_height_0391_ats_ptr_type_2cats_ptr_type (tmp134) ; #line 162 "funmap_avltree.dats" tmp137 = avltree_height_0391_ats_ptr_type_2cats_ptr_type (tmp135) ; #line 164 "funmap_avltree.dats" tmp138 = atspre_ilte (tmp136, tmp137) ; #line 164 "funmap_avltree.dats" if (tmp138) { #line 165 "funmap_avltree.dats" tmp139 = atspre_iadd (tmp136, 2) ; #line 165 "funmap_avltree.dats" tmp141 = atspre_iadd (tmp136, 1) ; #line 165 "funmap_avltree.dats" tmp140 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp140, atslab_0, tmp141) ; ats_selptrset_mac(anairiats_sum_4, tmp140, atslab_1, arg0) ; ats_selptrset_mac(anairiats_sum_4, tmp140, atslab_2, arg1) ; ats_selptrset_mac(anairiats_sum_4, tmp140, atslab_3, arg2) ; ats_selptrset_mac(anairiats_sum_4, tmp140, atslab_4, tmp134) ; #line 165 "funmap_avltree.dats" tmp130 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp130, atslab_0, tmp139) ; ats_selptrset_mac(anairiats_sum_4, tmp130, atslab_1, tmp132) ; ats_selptrset_mac(anairiats_sum_4, tmp130, atslab_2, tmp133) ; ats_selptrset_mac(anairiats_sum_4, tmp130, atslab_3, tmp140) ; ats_selptrset_mac(anairiats_sum_4, tmp130, atslab_4, tmp135) ; } else { #line 167 "funmap_avltree.dats" // if (tmp134 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 167 "funmap_avltree.dats" tmp142 = ats_caselptr_mac(anairiats_sum_4, tmp134, atslab_1) ; #line 167 "funmap_avltree.dats" tmp143 = ats_caselptr_mac(anairiats_sum_4, tmp134, atslab_2) ; #line 167 "funmap_avltree.dats" tmp144 = ats_caselptr_mac(anairiats_sum_4, tmp134, atslab_3) ; #line 167 "funmap_avltree.dats" tmp145 = ats_caselptr_mac(anairiats_sum_4, tmp134, atslab_4) ; #line 169 "funmap_avltree.dats" tmp146 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp146, atslab_0, tmp136) ; ats_selptrset_mac(anairiats_sum_4, tmp146, atslab_1, arg0) ; ats_selptrset_mac(anairiats_sum_4, tmp146, atslab_2, arg1) ; ats_selptrset_mac(anairiats_sum_4, tmp146, atslab_3, arg2) ; ats_selptrset_mac(anairiats_sum_4, tmp146, atslab_4, tmp144) ; #line 169 "funmap_avltree.dats" tmp147 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp147, atslab_0, tmp136) ; ats_selptrset_mac(anairiats_sum_4, tmp147, atslab_1, tmp132) ; ats_selptrset_mac(anairiats_sum_4, tmp147, atslab_2, tmp133) ; ats_selptrset_mac(anairiats_sum_4, tmp147, atslab_3, tmp145) ; ats_selptrset_mac(anairiats_sum_4, tmp147, atslab_4, tmp135) ; #line 169 "funmap_avltree.dats" tmp130 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp130, atslab_0, tmp131) ; ats_selptrset_mac(anairiats_sum_4, tmp130, atslab_1, tmp142) ; ats_selptrset_mac(anairiats_sum_4, tmp130, atslab_2, tmp143) ; ats_selptrset_mac(anairiats_sum_4, tmp130, atslab_3, tmp146) ; ats_selptrset_mac(anairiats_sum_4, tmp130, atslab_4, tmp147) ; } /* end of [if] */ return (tmp130) ; } /* end of [avltree_lrotate_0394_ats_ptr_type_2cats_ptr_type] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/LIB/funmap_avltree.dats: 5779(line=208, offs=7) -- 6968(line=239, offs=6) */ ATSstaticdec() ats_ptr_type insert_23 (ats_ptr_type env0, ats_ptr_type env1, ats_clo_ref_type env2, ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp87) ; ATSlocal (ats_int_type, tmp88) ; ATSlocal (ats_ptr_type, tmp89) ; ATSlocal (ats_ptr_type, tmp90) ; ATSlocal (ats_ptr_type, tmp91) ; ATSlocal (ats_ptr_type, tmp92) ; ATSlocal (ats_int_type, tmp93) ; ATSlocal (ats_bool_type, tmp94) ; ATSlocal (ats_ptr_type, tmp95) ; ATSlocal (ats_int_type, tmp96) ; ATSlocal (ats_int_type, tmp99) ; ATSlocal (ats_bool_type, tmp100) ; ATSlocal (ats_int_type, tmp101) ; ATSlocal (ats_int_type, tmp102) ; ATSlocal (ats_int_type, tmp103) ; ATSlocal (ats_bool_type, tmp122) ; ATSlocal (ats_ptr_type, tmp123) ; ATSlocal (ats_int_type, tmp124) ; ATSlocal (ats_int_type, tmp125) ; ATSlocal (ats_bool_type, tmp126) ; ATSlocal (ats_int_type, tmp127) ; ATSlocal (ats_int_type, tmp128) ; ATSlocal (ats_int_type, tmp129) ; ATSlocal (ats_ptr_type, tmp148) ; ATSlocal (ats_ptr_type, tmp149) ; ATSlocal (ats_ptr_type, tmp150) ; ATSlocal (ats_ptr_type, tmp151) ; ATSlocal (ats_ptr_type, tmp152) ; __ats_lab_insert_23: #line 210 "funmap_avltree.dats" do { /* branch: __ats_lab_15 */ #line 211 "funmap_avltree.dats" __ats_lab_15_0: #line 211 "funmap_avltree.dats" if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_18_0 ; } #line 211 "funmap_avltree.dats" __ats_lab_15_1: #line 211 "funmap_avltree.dats" tmp88 = ats_caselptr_mac(anairiats_sum_4, arg0, atslab_0) ; #line 211 "funmap_avltree.dats" tmp89 = ats_caselptr_mac(anairiats_sum_4, arg0, atslab_1) ; #line 211 "funmap_avltree.dats" tmp90 = ats_caselptr_mac(anairiats_sum_4, arg0, atslab_2) ; #line 211 "funmap_avltree.dats" tmp91 = ats_caselptr_mac(anairiats_sum_4, arg0, atslab_3) ; #line 211 "funmap_avltree.dats" tmp92 = ats_caselptr_mac(anairiats_sum_4, arg0, atslab_4) ; #line 212 "funmap_avltree.dats" tmp93 = compare_key_key_01762_ats_ptr_type (env0, tmp89, env2) ; #line 214 "funmap_avltree.dats" tmp94 = atspre_ilt (tmp93, 0) ; #line 214 "funmap_avltree.dats" if (tmp94) { #line 215 "funmap_avltree.dats" tmp95 = insert_23 (env0, env1, env2, tmp91, arg1) ; #line 216 "funmap_avltree.dats" tmp96 = avltree_height_0391_ats_ptr_type_2cats_ptr_type (tmp95) ; #line 216 "funmap_avltree.dats" tmp99 = avltree_height_0391_ats_ptr_type_2cats_ptr_type (tmp92) ; #line 218 "funmap_avltree.dats" tmp101 = atspre_isub (tmp96, tmp99) ; #line 218 "funmap_avltree.dats" tmp100 = atspre_ilte (tmp101, 1) ; #line 218 "funmap_avltree.dats" if (tmp100) { #line 219 "funmap_avltree.dats" tmp103 = atspre_imax (tmp96, tmp99) ; #line 219 "funmap_avltree.dats" tmp102 = atspre_iadd (tmp103, 1) ; #line 219 "funmap_avltree.dats" tmp87 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp87, atslab_0, tmp102) ; ats_selptrset_mac(anairiats_sum_4, tmp87, atslab_1, tmp89) ; ats_selptrset_mac(anairiats_sum_4, tmp87, atslab_2, tmp90) ; ats_selptrset_mac(anairiats_sum_4, tmp87, atslab_3, tmp95) ; ats_selptrset_mac(anairiats_sum_4, tmp87, atslab_4, tmp92) ; } else { #line 221 "funmap_avltree.dats" tmp87 = avltree_rrotate_0410_ats_ptr_type_2cats_ptr_type (tmp89, tmp90, tmp95, tmp92) ; } /* end of [if] */ } else { #line 223 "funmap_avltree.dats" tmp122 = atspre_igt (tmp93, 0) ; #line 223 "funmap_avltree.dats" if (tmp122) { #line 224 "funmap_avltree.dats" tmp123 = insert_23 (env0, env1, env2, tmp92, arg1) ; #line 225 "funmap_avltree.dats" tmp124 = avltree_height_0391_ats_ptr_type_2cats_ptr_type (tmp91) ; #line 225 "funmap_avltree.dats" tmp125 = avltree_height_0391_ats_ptr_type_2cats_ptr_type (tmp123) ; #line 227 "funmap_avltree.dats" tmp127 = atspre_isub (tmp125, tmp124) ; #line 227 "funmap_avltree.dats" tmp126 = atspre_ilte (tmp127, 1) ; #line 227 "funmap_avltree.dats" if (tmp126) { #line 228 "funmap_avltree.dats" tmp129 = atspre_imax (tmp124, tmp125) ; #line 228 "funmap_avltree.dats" tmp128 = atspre_iadd (tmp129, 1) ; #line 228 "funmap_avltree.dats" tmp87 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp87, atslab_0, tmp128) ; ats_selptrset_mac(anairiats_sum_4, tmp87, atslab_1, tmp89) ; ats_selptrset_mac(anairiats_sum_4, tmp87, atslab_2, tmp90) ; ats_selptrset_mac(anairiats_sum_4, tmp87, atslab_3, tmp91) ; ats_selptrset_mac(anairiats_sum_4, tmp87, atslab_4, tmp123) ; } else { #line 230 "funmap_avltree.dats" tmp87 = avltree_lrotate_0394_ats_ptr_type_2cats_ptr_type (tmp89, tmp90, tmp91, tmp123) ; } /* end of [if] */ } else { #line 233 "funmap_avltree.dats" ats_ptrget_mac(ats_int_type, arg1) = 1 ; #line 233 "funmap_avltree.dats" tmp148 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp148, atslab_0, env1) ; ats_selptrset_mac(anairiats_sum_5, tmp148, atslab_1, tmp90) ; #line 233 "funmap_avltree.dats" tmp87 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp87, atslab_0, tmp88) ; ats_selptrset_mac(anairiats_sum_4, tmp87, atslab_1, tmp89) ; ats_selptrset_mac(anairiats_sum_4, tmp87, atslab_2, tmp148) ; ats_selptrset_mac(anairiats_sum_4, tmp87, atslab_3, tmp91) ; ats_selptrset_mac(anairiats_sum_4, tmp87, atslab_4, tmp92) ; } /* end of [if] */ } /* end of [if] */ break ; /* branch: __ats_lab_18 */ #line 236 "funmap_avltree.dats" __ats_lab_18_0: #line 236 "funmap_avltree.dats" // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 236 "funmap_avltree.dats" __ats_lab_18_1: #line 237 "funmap_avltree.dats" ats_ptrget_mac(ats_int_type, arg1) = 0 ; #line 237 "funmap_avltree.dats" tmp150 = (ats_sum_ptr_type)0 ; #line 237 "funmap_avltree.dats" tmp149 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp149, atslab_0, env1) ; ats_selptrset_mac(anairiats_sum_5, tmp149, atslab_1, tmp150) ; #line 237 "funmap_avltree.dats" tmp151 = (ats_sum_ptr_type)0 ; #line 237 "funmap_avltree.dats" tmp152 = (ats_sum_ptr_type)0 ; #line 237 "funmap_avltree.dats" tmp87 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp87, atslab_0, 1) ; ats_selptrset_mac(anairiats_sum_4, tmp87, atslab_1, env0) ; ats_selptrset_mac(anairiats_sum_4, tmp87, atslab_2, tmp149) ; ats_selptrset_mac(anairiats_sum_4, tmp87, atslab_3, tmp151) ; ats_selptrset_mac(anairiats_sum_4, tmp87, atslab_4, tmp152) ; break ; } while (0) ; return (tmp87) ; } /* end of [insert_23] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; ats_clo_ref_type closure_env_2 ; } insert_23_closure_type ; ats_ptr_type insert_23_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ref_type arg1) { return insert_23 (((insert_23_closure_type*)cloptr)->closure_env_0, ((insert_23_closure_type*)cloptr)->closure_env_1, ((insert_23_closure_type*)cloptr)->closure_env_2, arg0, arg1) ; } /* end of function */ ATSinline() ats_void_type insert_23_closure_init (insert_23_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1, ats_clo_ref_type env2) { p_clo->closure_fun = (ats_fun_ptr_type)&insert_23_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; p_clo->closure_env_2 = env2 ; return ; } /* end of function */ ats_clo_ptr_type insert_23_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_clo_ref_type env2) { insert_23_closure_type *p_clo = ATS_MALLOC(sizeof(insert_23_closure_type)) ; insert_23_closure_init (p_clo, env0, env1, env2) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/LIB/funmap_avltree.dats: 5719(line=207, offs=3) -- 6989(line=240, offs=2) */ ATSstaticdec() ats_ptr_type funmap_insert_status_01769_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_clo_ref_type arg3, ats_ref_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp86) ; __ats_lab_funmap_insert_status_01769_ats_ptr_type_2cats_ptr_type: #line 207 "funmap_avltree.dats" tmp86 = insert_23 (arg1, arg2, arg3, arg0, arg4) ; return (tmp86) ; } /* end of [funmap_insert_status_01769_ats_ptr_type_2cats_ptr_type] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/LIB/funmap_avltree.dats: 5475(line=197, offs=34) -- 5587(line=201, offs=4) */ ATSstaticdec() ats_ptr_type funmap_insert_01768_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_clo_ref_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp84) ; ATSlocal (ats_int_type, tmp85) ; __ats_lab_funmap_insert_01768_ats_ptr_type_2cats_ptr_type: #line 198 "funmap_avltree.dats" /* ats_int_type tmp85 ; */ #line 200 "funmap_avltree.dats" tmp84 = funmap_insert_status_01769_ats_ptr_type_2cats_ptr_type (arg0, arg1, arg2, arg3, (&tmp85)) ; return (tmp84) ; } /* end of [funmap_insert_01768_ats_ptr_type_2cats_ptr_type] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/tychecker.dats: 3775(line=166, offs=4) -- 3879(line=168, offs=49) */ ATSstaticdec() ats_ptr_type tymap_insert_20 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp83) ; __ats_lab_tymap_insert_20: #line 168 "tychecker.dats" tmp83 = funmap_insert_01768_ats_ptr_type_2cats_ptr_type (arg0, arg1, arg2, statmp50) ; return (tmp83) ; } /* end of [tymap_insert_20] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/tychecker.dats: 3909(line=171, offs=4) -- 4027(line=173, offs=53) */ ATSstaticdec() ats_ptr_type vftymap_insert_27 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp153) ; __ats_lab_vftymap_insert_27: #line 173 "tychecker.dats" tmp153 = funmap_insert_01768_ats_ptr_type_2cats_ptr_type (arg0, arg1, arg2, statmp50) ; return (tmp153) ; } /* end of [vftymap_insert_27] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/tychecker.dats: 4423(line=189, offs=15) -- 4874(line=199, offs=44) */ ATSstaticdec() ats_ptr_type aux_29 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp161) ; ATSlocal (ats_ptr_type, tmp162) ; ATSlocal (ats_ptr_type, tmp163) ; ATSlocal (ats_ptr_type, tmp164) ; ATSlocal (ats_ptr_type, tmp165) ; ATSlocal (ats_ptr_type, tmp166) ; ATSlocal (ats_ptr_type, tmp167) ; ATSlocal (ats_ptr_type, tmp168) ; __ats_lab_aux_29: #line 190 "tychecker.dats" do { /* branch: __ats_lab_21 */ #line 191 "tychecker.dats" __ats_lab_21_0: #line 191 "tychecker.dats" if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_22_0 ; } #line 191 "tychecker.dats" __ats_lab_21_1: #line 191 "tychecker.dats" tmp162 = ats_caselptr_mac(anairiats_sum_5, arg1, atslab_0) ; #line 191 "tychecker.dats" tmp163 = ats_caselptr_mac(anairiats_sum_5, arg1, atslab_1) ; #line 192 "tychecker.dats" tmp164 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, tmp162), atslab_fieldtyp_loc) ; #line 193 "tychecker.dats" tmp165 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, tmp162), atslab_fieldtyp_lab) ; #line 194 "tychecker.dats" tmp166 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, tmp162), atslab_fieldtyp_typ) ; #line 195 "tychecker.dats" tmp167 = tymap_search_15 (tmp164, arg0, tmp166) ; #line 197 "tychecker.dats" tmp168 = aux_29 (arg0, tmp163) ; #line 197 "tychecker.dats" tmp161 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp161, atslab_0, tmp165) ; ats_selptrset_mac(anairiats_sum_9, tmp161, atslab_1, tmp167) ; ats_selptrset_mac(anairiats_sum_9, tmp161, atslab_2, tmp168) ; break ; /* branch: __ats_lab_22 */ #line 199 "tychecker.dats" __ats_lab_22_0: #line 199 "tychecker.dats" // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 199 "tychecker.dats" __ats_lab_22_1: #line 199 "tychecker.dats" tmp161 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp161) ; } /* end of [aux_29] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/tychecker.dats: 4104(line=180, offs=5) -- 5253(line=215, offs=4) */ ATSstaticdec() ats_ptr_type ty_make_typ_28 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp154) ; ATSlocal (ats_ptr_type, tmp155) ; ATSlocal (ats_ptr_type, tmp156) ; ATSlocal (ats_ptr_type, tmp157) ; ATSlocal (ats_ptr_type, tmp158) ; ATSlocal (ats_ptr_type, tmp159) ; ATSlocal (ats_int64_type, tmp160) ; ATSlocal (ats_ptr_type, tmp169) ; ATSlocal (ats_ptr_type, tmp170) ; ATSlocal (ats_ptr_type, tmp171) ; ATSlocal (ats_int64_type, tmp172) ; ATSlocal (ats_ptr_type, tmp173) ; // ATSlocal_void (tmp174) ; __ats_lab_ty_make_typ_28: #line 182 "tychecker.dats" tmp156 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg1), atslab_typ_node) ; #line 182 "tychecker.dats" do { /* branch: __ats_lab_19 */ #line 183 "tychecker.dats" __ats_lab_19_0: #line 183 "tychecker.dats" if (((ats_sum_ptr_type)tmp156)->tag != 0) { goto __ats_lab_20_0 ; } #line 183 "tychecker.dats" __ats_lab_19_1: #line 183 "tychecker.dats" tmp157 = ats_caselptr_mac(anairiats_sum_0, tmp156, atslab_0) ; #line 184 "tychecker.dats" tmp158 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg1), atslab_typ_loc) ; #line 184 "tychecker.dats" tmp155 = tymap_search_15 (tmp158, arg0, tmp157) ; break ; /* branch: __ats_lab_20 */ #line 186 "tychecker.dats" __ats_lab_20_0: #line 186 "tychecker.dats" if (((ats_sum_ptr_type)tmp156)->tag != 1) { goto __ats_lab_23_0 ; } #line 186 "tychecker.dats" __ats_lab_20_1: #line 186 "tychecker.dats" tmp159 = ats_caselptr_mac(anairiats_sum_0, tmp156, atslab_0) ; #line 187 "tychecker.dats" tmp160 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2stamp_2esats__stamp_make () ; #line 188 "tychecker.dats" tmp169 = aux_29 (arg0, tmp159) ; #line 203 "tychecker.dats" tmp155 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp155)->tag = 4 ; ats_selptrset_mac(anairiats_sum_2, tmp155, atslab_0, tmp160) ; ats_selptrset_mac(anairiats_sum_2, tmp155, atslab_1, tmp169) ; break ; /* branch: __ats_lab_23 */ #line 205 "tychecker.dats" __ats_lab_23_0: #line 205 "tychecker.dats" // if (((ats_sum_ptr_type)tmp156)->tag != 2) { ats_deadcode_failure_handle () ; } #line 205 "tychecker.dats" __ats_lab_23_1: #line 205 "tychecker.dats" tmp170 = ats_caselptr_mac(anairiats_sum_0, tmp156, atslab_0) ; #line 206 "tychecker.dats" tmp171 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg1), atslab_typ_loc) ; #line 207 "tychecker.dats" tmp172 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2stamp_2esats__stamp_make () ; #line 208 "tychecker.dats" tmp173 = tymap_search_15 (tmp171, arg0, tmp170) ; #line 210 "tychecker.dats" tmp155 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp155)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, tmp155, atslab_0, tmp172) ; ats_selptrset_mac(anairiats_sum_2, tmp155, atslab_1, tmp173) ; break ; } while (0) ; #line 214 "tychecker.dats" /* tmp174 = */ tigerats_typ_ty_set (arg1, tmp155) ; #line 214 "tychecker.dats" tmp154 = tmp155 ; return (tmp154) ; } /* end of [ty_make_typ_28] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/tychecker.dats: 7132(line=271, offs=13) -- 7660(line=283, offs=16) */ ATSstaticdec() ats_ptr_type loop_31 (ats_ptr_type env0, ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp205) ; ATSlocal (ats_ptr_type, tmp206) ; ATSlocal (ats_ptr_type, tmp207) ; ATSlocal (ats_ptr_type, tmp208) ; ATSlocal (ats_bool_type, tmp209) ; // ATSlocal_void (tmp210) ; ATSlocal (ats_ptr_type, tmp211) ; // ATSlocal_void (tmp212) ; // ATSlocal_void (tmp213) ; // ATSlocal_void (tmp214) ; // ATSlocal_void (tmp215) ; // ATSlocal_void (tmp216) ; __ats_lab_loop_31: #line 272 "tychecker.dats" do { /* branch: __ats_lab_30 */ #line 273 "tychecker.dats" __ats_lab_30_0: #line 273 "tychecker.dats" if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_31_0 ; } #line 273 "tychecker.dats" __ats_lab_30_1: #line 273 "tychecker.dats" tmp206 = ats_caselptr_mac(anairiats_sum_9, arg1, atslab_0) ; #line 273 "tychecker.dats" tmp207 = ats_caselptr_mac(anairiats_sum_9, arg1, atslab_1) ; #line 273 "tychecker.dats" tmp208 = ats_caselptr_mac(anairiats_sum_9, arg1, atslab_2) ; #line 274 "tychecker.dats" tmp209 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2symbol_2esats__eq_symbol_symbol (tmp206, arg0) ; #line 274 "tychecker.dats" if (tmp209) { #line 274 "tychecker.dats" tmp205 = tmp207 ; } else { #line 274 "tychecker.dats" arg0 = arg0 ; #line 274 "tychecker.dats" arg1 = tmp208 ; #line 274 "tychecker.dats" goto __ats_lab_loop_31 ; // tail call } /* end of [if] */ break ; /* branch: __ats_lab_31 */ #line 276 "tychecker.dats" __ats_lab_31_0: #line 276 "tychecker.dats" // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 276 "tychecker.dats" __ats_lab_31_1: #line 277 "tychecker.dats" tmp211 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_10, env0), atslab_v1ar_loc) ; #line 277 "tychecker.dats" /* tmp210 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2PARCOMB_2posloc_2esats__prerr_location (tmp211) ; #line 278 "tychecker.dats" /* tmp212 = */ atspre_prerr_string (ATSstrcst(": exit(TIGER)")) ; #line 279 "tychecker.dats" /* tmp213 = */ atspre_prerr_string (ATSstrcst(": the label [")) ; #line 279 "tychecker.dats" /* tmp214 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2symbol_2esats__prerr_symbol (arg0) ; #line 280 "tychecker.dats" /* tmp215 = */ atspre_prerr_string (ATSstrcst("] is not found in the recorded type assigned to the variable.")) ; #line 281 "tychecker.dats" /* tmp216 = */ atspre_prerr_newline () ; #line 282 "tychecker.dats" /* tmp205 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2error_2esats__abort (1) ; break ; } while (0) ; return (tmp205) ; } /* end of [loop_31] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } loop_31_closure_type ; ats_ptr_type loop_31_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) { return loop_31 (((loop_31_closure_type*)cloptr)->closure_env_0, arg0, arg1) ; } /* end of function */ ATSinline() ats_void_type loop_31_closure_init (loop_31_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&loop_31_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type loop_31_closure_make (ats_ptr_type env0) { loop_31_closure_type *p_clo = ATS_MALLOC(sizeof(loop_31_closure_type)) ; loop_31_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/tychecker.dats: 5680(line=230, offs=20) -- 8424(line=309, offs=4) */ ATSglobaldec() ats_ptr_type _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2edats__transVar (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp175) ; ATSlocal (ats_ptr_type, tmp176) ; ATSlocal (ats_ptr_type, tmp177) ; ATSlocal (ats_ptr_type, tmp178) ; ATSlocal (ats_ptr_type, tmp179) ; ATSlocal (ats_ptr_type, tmp180) ; ATSlocal (ats_ptr_type, tmp181) ; ATSlocal (ats_ptr_type, tmp182) ; ATSlocal (ats_ptr_type, tmp183) ; ATSlocal (ats_int_type, tmp184) ; ATSlocal (ats_bool_type, tmp185) ; ATSlocal (ats_int_type, tmp186) ; // ATSlocal_void (tmp188) ; // ATSlocal_void (tmp189) ; // ATSlocal_void (tmp190) ; // ATSlocal_void (tmp191) ; // ATSlocal_void (tmp192) ; ATSlocal (ats_ptr_type, tmp193) ; ATSlocal (ats_ptr_type, tmp194) ; ATSlocal (ats_ptr_type, tmp195) ; ATSlocal (ats_ptr_type, tmp196) ; ATSlocal (ats_ptr_type, tmp197) ; ATSlocal (ats_ptr_type, tmp198) ; // ATSlocal_void (tmp199) ; ATSlocal (ats_ptr_type, tmp200) ; // ATSlocal_void (tmp201) ; // ATSlocal_void (tmp202) ; // ATSlocal_void (tmp203) ; // ATSlocal_void (tmp204) ; ATSlocal (ats_ptr_type, tmp217) ; ATSlocal (ats_ptr_type, tmp218) ; ATSlocal (ats_ptr_type, tmp219) ; ATSlocal (ats_ptr_type, tmp220) ; ATSlocal (ats_ptr_type, tmp221) ; ATSlocal (ats_ptr_type, tmp222) ; // ATSlocal_void (tmp223) ; ATSlocal (ats_ptr_type, tmp224) ; // ATSlocal_void (tmp225) ; // ATSlocal_void (tmp226) ; // ATSlocal_void (tmp227) ; // ATSlocal_void (tmp228) ; // ATSlocal_void (tmp229) ; ATSlocal (ats_ptr_type, tmp230) ; // ATSlocal_void (tmp231) ; __ats_lab__2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2edats__transVar: #line 231 "tychecker.dats" tmp177 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_10, arg2), atslab_v1ar_node) ; #line 231 "tychecker.dats" do { /* branch: __ats_lab_24 */ #line 232 "tychecker.dats" __ats_lab_24_0: #line 232 "tychecker.dats" if (((ats_sum_ptr_type)tmp177)->tag != 0) { goto __ats_lab_27_0 ; } #line 232 "tychecker.dats" __ats_lab_24_1: #line 232 "tychecker.dats" tmp178 = ats_caselptr_mac(anairiats_sum_0, tmp177, atslab_0) ; #line 233 "tychecker.dats" tmp180 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_10, arg2), atslab_v1ar_loc) ; #line 233 "tychecker.dats" tmp179 = vftymap_search_19 (tmp180, arg1, tmp178) ; #line 235 "tychecker.dats" tmp181 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, tmp179), atslab_vfty_node) ; #line 235 "tychecker.dats" do { /* branch: __ats_lab_25 */ #line 236 "tychecker.dats" __ats_lab_25_0: #line 236 "tychecker.dats" if (((ats_sum_ptr_type)tmp181)->tag != 0) { goto __ats_lab_26_0 ; } #line 236 "tychecker.dats" __ats_lab_25_1: #line 236 "tychecker.dats" tmp182 = ats_caselptr_mac(anairiats_sum_1, tmp181, atslab_0) ; #line 236 "tychecker.dats" tmp183 = ats_caselptr_mac(anairiats_sum_1, tmp181, atslab_1) ; #line 237 "tychecker.dats" tmp184 = the_funlevel_get_5 () ; #line 238 "tychecker.dats" tmp186 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, tmp179), atslab_vfty_level) ; #line 238 "tychecker.dats" tmp185 = atspre_gt_int_int (tmp184, tmp186) ; #line 246 "tychecker.dats" if (tmp185) { #line 246 "tychecker.dats" ats_ptrget_mac(ats_bool_type, tmp182) = ats_true_bool ; } else { /* empty */ } /* end of [if] */ #line 236 "tychecker.dats" tmp176 = tmp183 ; break ; /* branch: __ats_lab_26 */ #line 248 "tychecker.dats" __ats_lab_26_0: #line 248 "tychecker.dats" // if (((ats_sum_ptr_type)tmp181)->tag != 1) { ats_deadcode_failure_handle () ; } #line 248 "tychecker.dats" __ats_lab_26_1: #line 249 "tychecker.dats" /* tmp188 = */ atspre_prerr_string (ATSstrcst(": exit(TIGER)")) ; #line 250 "tychecker.dats" /* tmp189 = */ atspre_prerr_string (ATSstrcst(": the variable [")) ; #line 251 "tychecker.dats" /* tmp190 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2symbol_2esats__prerr_symbol (tmp178) ; #line 252 "tychecker.dats" /* tmp191 = */ atspre_prerr_string (ATSstrcst("] is not a recognized variable")) ; #line 253 "tychecker.dats" /* tmp192 = */ atspre_prerr_newline () ; #line 254 "tychecker.dats" /* tmp176 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2error_2esats__abort (1) ; break ; } while (0) ; break ; /* branch: __ats_lab_27 */ #line 257 "tychecker.dats" __ats_lab_27_0: #line 257 "tychecker.dats" if (((ats_sum_ptr_type)tmp177)->tag != 1) { goto __ats_lab_32_0 ; } #line 257 "tychecker.dats" __ats_lab_27_1: #line 257 "tychecker.dats" tmp193 = ats_caselptr_mac(anairiats_sum_1, tmp177, atslab_0) ; #line 257 "tychecker.dats" tmp194 = ats_caselptr_mac(anairiats_sum_1, tmp177, atslab_1) ; #line 258 "tychecker.dats" tmp195 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2edats__transVar (arg0, arg1, tmp193) ; #line 259 "tychecker.dats" tmp196 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2types_2esats__ty_normalize (tmp195) ; #line 260 "tychecker.dats" do { /* branch: __ats_lab_28 */ #line 261 "tychecker.dats" __ats_lab_28_0: #line 261 "tychecker.dats" if (((ats_sum_ptr_type)tmp196)->tag != 4) { goto __ats_lab_29_0 ; } #line 261 "tychecker.dats" __ats_lab_28_1: #line 261 "tychecker.dats" tmp198 = ats_caselptr_mac(anairiats_sum_2, tmp196, atslab_1) ; #line 261 "tychecker.dats" tmp197 = tmp198 ; break ; /* branch: __ats_lab_29 */ #line 261 "tychecker.dats" __ats_lab_29_0: #line 261 "tychecker.dats" __ats_lab_29_1: #line 262 "tychecker.dats" tmp200 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_10, tmp193), atslab_v1ar_loc) ; #line 262 "tychecker.dats" /* tmp199 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2PARCOMB_2posloc_2esats__prerr_location (tmp200) ; #line 263 "tychecker.dats" /* tmp201 = */ atspre_prerr_string (ATSstrcst(": exit(TIGER)")) ; #line 264 "tychecker.dats" /* tmp202 = */ atspre_prerr_string (ATSstrcst(": the type of the variable is expected to be a record type")) ; #line 265 "tychecker.dats" /* tmp203 = */ atspre_prerr_string (ATSstrcst(", but it is not.")) ; #line 266 "tychecker.dats" /* tmp204 = */ atspre_prerr_newline () ; #line 267 "tychecker.dats" /* tmp197 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2error_2esats__abort (1) ; break ; } while (0) ; #line 270 "tychecker.dats" tmp176 = loop_31 (tmp193, tmp194, tmp197) ; break ; /* branch: __ats_lab_32 */ #line 288 "tychecker.dats" __ats_lab_32_0: #line 288 "tychecker.dats" // if (((ats_sum_ptr_type)tmp177)->tag != 2) { ats_deadcode_failure_handle () ; } #line 288 "tychecker.dats" __ats_lab_32_1: #line 288 "tychecker.dats" tmp217 = ats_caselptr_mac(anairiats_sum_1, tmp177, atslab_0) ; #line 288 "tychecker.dats" tmp218 = ats_caselptr_mac(anairiats_sum_1, tmp177, atslab_1) ; #line 289 "tychecker.dats" tmp219 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2edats__transVar (arg0, arg1, tmp217) ; #line 290 "tychecker.dats" tmp220 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2types_2esats__ty_normalize (tmp219) ; #line 291 "tychecker.dats" do { /* branch: __ats_lab_33 */ #line 292 "tychecker.dats" __ats_lab_33_0: #line 292 "tychecker.dats" if (((ats_sum_ptr_type)tmp220)->tag != 0) { goto __ats_lab_34_0 ; } #line 292 "tychecker.dats" __ats_lab_33_1: #line 292 "tychecker.dats" tmp222 = ats_caselptr_mac(anairiats_sum_2, tmp220, atslab_1) ; #line 292 "tychecker.dats" tmp221 = tmp222 ; break ; /* branch: __ats_lab_34 */ #line 293 "tychecker.dats" __ats_lab_34_0: #line 293 "tychecker.dats" __ats_lab_34_1: #line 294 "tychecker.dats" tmp224 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_10, tmp217), atslab_v1ar_loc) ; #line 294 "tychecker.dats" /* tmp223 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2PARCOMB_2posloc_2esats__prerr_location (tmp224) ; #line 295 "tychecker.dats" /* tmp225 = */ atspre_prerr_string (ATSstrcst(": exit(TIGER)")) ; #line 296 "tychecker.dats" /* tmp226 = */ atspre_prerr_string (ATSstrcst(": the variable should be assigned an array type")) ; #line 297 "tychecker.dats" /* tmp227 = */ atspre_prerr_string (ATSstrcst(", but it is not")) ; #line 298 "tychecker.dats" /* tmp228 = */ atspre_prerr_newline () ; #line 299 "tychecker.dats" /* tmp221 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2error_2esats__abort (1) ; break ; } while (0) ; #line 302 "tychecker.dats" /* tmp229 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2edats__transExpDn (arg0, arg1, tmp218, statmp0) ; #line 304 "tychecker.dats" tmp176 = tmp221 ; break ; } while (0) ; #line 306 "tychecker.dats" tmp230 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2types_2esats__ty_normalize (tmp176) ; #line 308 "tychecker.dats" /* tmp231 = */ tigerats_v1ar_ty_set (arg2, tmp230) ; #line 308 "tychecker.dats" tmp175 = tmp230 ; return (tmp175) ; } /* end of [_2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2edats__transVar] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/tychecker.dats: 8761(line=325, offs=11) -- 9681(line=352, offs=10) */ ATSstaticdec() ats_void_type loop_33 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ // ATSlocal_void (tmp238) ; ATSlocal (ats_ptr_type, tmp239) ; ATSlocal (ats_ptr_type, tmp240) ; ATSlocal (ats_ptr_type, tmp241) ; ATSlocal (ats_ptr_type, tmp242) ; // ATSlocal_void (tmp243) ; // ATSlocal_void (tmp244) ; ATSlocal (ats_ptr_type, tmp245) ; // ATSlocal_void (tmp246) ; // ATSlocal_void (tmp247) ; // ATSlocal_void (tmp248) ; // ATSlocal_void (tmp249) ; ATSlocal (ats_ptr_type, tmp250) ; // ATSlocal_void (tmp251) ; // ATSlocal_void (tmp252) ; // ATSlocal_void (tmp253) ; __ats_lab_loop_33: #line 331 "tychecker.dats" do { /* branch: __ats_lab_36 */ #line 332 "tychecker.dats" __ats_lab_36_0: #line 332 "tychecker.dats" if (arg3 == (ats_sum_ptr_type)0) { goto __ats_lab_37_0 ; } #line 332 "tychecker.dats" __ats_lab_36_1: #line 332 "tychecker.dats" if (arg4 == (ats_sum_ptr_type)0) { goto __ats_lab_38_1 ; } #line 332 "tychecker.dats" __ats_lab_36_2: #line 332 "tychecker.dats" tmp239 = ats_caselptr_mac(anairiats_sum_5, arg3, atslab_0) ; #line 332 "tychecker.dats" tmp240 = ats_caselptr_mac(anairiats_sum_5, arg3, atslab_1) ; #line 332 "tychecker.dats" tmp241 = ats_caselptr_mac(anairiats_sum_5, arg4, atslab_0) ; #line 332 "tychecker.dats" tmp242 = ats_caselptr_mac(anairiats_sum_5, arg4, atslab_1) ; #line 334 "tychecker.dats" /* tmp243 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2edats__transExpDn (arg0, arg1, tmp239, tmp241) ; #line 335 "tychecker.dats" arg0 = arg0 ; #line 335 "tychecker.dats" arg1 = arg1 ; #line 335 "tychecker.dats" arg2 = arg2 ; #line 335 "tychecker.dats" arg3 = tmp240 ; #line 335 "tychecker.dats" arg4 = tmp242 ; #line 335 "tychecker.dats" goto __ats_lab_loop_33 ; // tail call break ; /* branch: __ats_lab_37 */ #line 337 "tychecker.dats" __ats_lab_37_0: #line 337 "tychecker.dats" if (arg3 != (ats_sum_ptr_type)0) { goto __ats_lab_38_0 ; } #line 337 "tychecker.dats" __ats_lab_37_1: #line 337 "tychecker.dats" if (arg4 != (ats_sum_ptr_type)0) { goto __ats_lab_39_1 ; } #line 337 "tychecker.dats" __ats_lab_37_2: break ; /* branch: __ats_lab_38 */ #line 338 "tychecker.dats" __ats_lab_38_0: #line 338 "tychecker.dats" if (arg3 == (ats_sum_ptr_type)0) { goto __ats_lab_39_0 ; } #line 338 "tychecker.dats" __ats_lab_38_1: #line 338 "tychecker.dats" // if (arg4 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 338 "tychecker.dats" __ats_lab_38_2: #line 339 "tychecker.dats" tmp245 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg2), atslab_exp_loc) ; #line 339 "tychecker.dats" /* tmp244 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2PARCOMB_2posloc_2esats__prerr_location (tmp245) ; #line 340 "tychecker.dats" /* tmp246 = */ atspre_prerr_string (ATSstrcst(": exit(TIGER)")) ; #line 341 "tychecker.dats" /* tmp247 = */ atspre_prerr_string (ATSstrcst(": arith mismatch: less arguments are needed")) ; #line 342 "tychecker.dats" /* tmp248 = */ atspre_prerr_newline () ; #line 343 "tychecker.dats" /* tmp238 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2error_2esats__abort (1) ; break ; /* branch: __ats_lab_39 */ #line 345 "tychecker.dats" __ats_lab_39_0: #line 345 "tychecker.dats" // if (arg3 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 345 "tychecker.dats" __ats_lab_39_1: #line 345 "tychecker.dats" // if (arg4 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 345 "tychecker.dats" __ats_lab_39_2: #line 346 "tychecker.dats" tmp250 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg2), atslab_exp_loc) ; #line 346 "tychecker.dats" /* tmp249 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2PARCOMB_2posloc_2esats__prerr_location (tmp250) ; #line 347 "tychecker.dats" /* tmp251 = */ atspre_prerr_string (ATSstrcst(": exit(TIGER)")) ; #line 348 "tychecker.dats" /* tmp252 = */ atspre_prerr_string (ATSstrcst(": arith mismatch: more arguments are needed")) ; #line 349 "tychecker.dats" /* tmp253 = */ atspre_prerr_newline () ; #line 350 "tychecker.dats" /* tmp238 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2error_2esats__abort (1) ; break ; } while (0) ; return /* (tmp238) */ ; } /* end of [loop_33] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/tychecker.dats: 8537(line=317, offs=4) -- 10034(line=363, offs=4) */ ATSstaticdec() ats_ptr_type transExpUp_callexp_32 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp232) ; ATSlocal (ats_ptr_type, tmp233) ; ATSlocal (ats_ptr_type, tmp234) ; ATSlocal (ats_ptr_type, tmp235) ; ATSlocal (ats_ptr_type, tmp236) ; ATSlocal (ats_ptr_type, tmp237) ; // ATSlocal_void (tmp254) ; // ATSlocal_void (tmp255) ; ATSlocal (ats_ptr_type, tmp256) ; // ATSlocal_void (tmp257) ; // ATSlocal_void (tmp258) ; // ATSlocal_void (tmp259) ; // ATSlocal_void (tmp260) ; // ATSlocal_void (tmp261) ; __ats_lab_transExpUp_callexp_32: #line 321 "tychecker.dats" tmp234 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg2), atslab_exp_loc) ; #line 321 "tychecker.dats" tmp233 = vftymap_search_19 (tmp234, arg1, arg3) ; #line 323 "tychecker.dats" tmp235 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, tmp233), atslab_vfty_node) ; #line 323 "tychecker.dats" do { /* branch: __ats_lab_35 */ #line 324 "tychecker.dats" __ats_lab_35_0: #line 324 "tychecker.dats" if (((ats_sum_ptr_type)tmp235)->tag != 1) { goto __ats_lab_40_0 ; } #line 324 "tychecker.dats" __ats_lab_35_1: #line 324 "tychecker.dats" tmp236 = ats_caselptr_mac(anairiats_sum_1, tmp235, atslab_0) ; #line 324 "tychecker.dats" tmp237 = ats_caselptr_mac(anairiats_sum_1, tmp235, atslab_1) ; #line 353 "tychecker.dats" /* tmp254 = */ loop_33 (arg0, arg1, arg2, arg4, tmp236) ; #line 324 "tychecker.dats" tmp232 = tmp237 ; break ; /* branch: __ats_lab_40 */ #line 355 "tychecker.dats" __ats_lab_40_0: #line 355 "tychecker.dats" // if (((ats_sum_ptr_type)tmp235)->tag != 0) { ats_deadcode_failure_handle () ; } #line 355 "tychecker.dats" __ats_lab_40_1: #line 356 "tychecker.dats" tmp256 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg2), atslab_exp_loc) ; #line 356 "tychecker.dats" /* tmp255 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2PARCOMB_2posloc_2esats__prerr_location (tmp256) ; #line 357 "tychecker.dats" /* tmp257 = */ atspre_prerr_string (ATSstrcst(": exit(TIGER)")) ; #line 358 "tychecker.dats" /* tmp258 = */ atspre_prerr_string (ATSstrcst(": [")) ; #line 358 "tychecker.dats" /* tmp259 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2symbol_2esats__prerr_symbol (arg3) ; #line 359 "tychecker.dats" /* tmp260 = */ atspre_prerr_string (ATSstrcst("] should be assigned a function type but it is not.")) ; #line 360 "tychecker.dats" /* tmp261 = */ atspre_prerr_newline () ; #line 361 "tychecker.dats" /* tmp232 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2error_2esats__abort (1) ; break ; } while (0) ; return (tmp232) ; } /* end of [transExpUp_callexp_32] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/tychecker.dats: 10070(line=365, offs=4) -- 10635(line=381, offs=2) */ ATSstaticdec() ats_void_type transExpUp_opexp_eqop_34 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ // ATSlocal_void (tmp262) ; ATSlocal (ats_ptr_type, tmp263) ; ATSlocal (ats_ptr_type, tmp264) ; ATSlocal (ats_ptr_type, tmp265) ; // ATSlocal_void (tmp266) ; ATSlocal (ats_ptr_type, tmp267) ; // ATSlocal_void (tmp268) ; // ATSlocal_void (tmp269) ; // ATSlocal_void (tmp270) ; // ATSlocal_void (tmp271) ; __ats_lab_transExpUp_opexp_eqop_34: #line 368 "tychecker.dats" tmp263 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2edats__transExpUp (arg0, arg1, arg3) ; #line 369 "tychecker.dats" tmp264 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2edats__transExpUp (arg0, arg1, arg4) ; #line 370 "tychecker.dats" tmp265 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2types_2esats__join_ty_ty (tmp263, tmp264) ; #line 370 "tychecker.dats" do { /* branch: __ats_lab_41 */ #line 371 "tychecker.dats" __ats_lab_41_0: #line 371 "tychecker.dats" if (((ats_sum_ptr_type)tmp265)->tag != 5) { goto __ats_lab_42_0 ; } #line 371 "tychecker.dats" __ats_lab_41_1: #line 372 "tychecker.dats" tmp267 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg2), atslab_exp_loc) ; #line 372 "tychecker.dats" /* tmp266 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2PARCOMB_2posloc_2esats__prerr_location (tmp267) ; #line 373 "tychecker.dats" /* tmp268 = */ atspre_prerr_string (ATSstrcst(": exit(TIGER)")) ; #line 374 "tychecker.dats" /* tmp269 = */ atspre_prerr_string (ATSstrcst(": type mismatch: the arguments need to be assigned the same type")) ; #line 375 "tychecker.dats" /* tmp270 = */ atspre_prerr_string (ATSstrcst(", but they are not")) ; #line 376 "tychecker.dats" /* tmp271 = */ atspre_prerr_newline () ; #line 377 "tychecker.dats" /* tmp262 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2error_2esats__abort (1) ; break ; /* branch: __ats_lab_42 */ #line 379 "tychecker.dats" __ats_lab_42_0: #line 379 "tychecker.dats" __ats_lab_42_1: break ; } while (0) ; return /* (tmp262) */ ; } /* end of [transExpUp_opexp_eqop_34] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/tychecker.dats: 10674(line=383, offs=4) -- 12115(line=430, offs=4) */ ATSstaticdec() ats_ptr_type transExpUp_opexp_35 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp272) ; // ATSlocal_void (tmp273) ; // ATSlocal_void (tmp274) ; // ATSlocal_void (tmp275) ; // ATSlocal_void (tmp276) ; // ATSlocal_void (tmp277) ; // ATSlocal_void (tmp278) ; // ATSlocal_void (tmp279) ; // ATSlocal_void (tmp280) ; // ATSlocal_void (tmp281) ; // ATSlocal_void (tmp282) ; // ATSlocal_void (tmp283) ; // ATSlocal_void (tmp284) ; // ATSlocal_void (tmp285) ; // ATSlocal_void (tmp286) ; // ATSlocal_void (tmp287) ; // ATSlocal_void (tmp288) ; // ATSlocal_void (tmp289) ; // ATSlocal_void (tmp290) ; // ATSlocal_void (tmp291) ; // ATSlocal_void (tmp292) ; // ATSlocal_void (tmp293) ; // ATSlocal_void (tmp294) ; __ats_lab_transExpUp_opexp_35: #line 399 "tychecker.dats" do { /* branch: __ats_lab_43 */ #line 400 "tychecker.dats" __ats_lab_43_0: #line 400 "tychecker.dats" if (((ats_sum_ptr_type)arg4)->tag != 0) { goto __ats_lab_44_0 ; } #line 400 "tychecker.dats" __ats_lab_43_1: #line 400 "tychecker.dats" /* tmp273 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2edats__transExpDn (arg0, arg1, arg3, statmp0) ; #line 400 "tychecker.dats" /* tmp274 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2edats__transExpDn (arg0, arg1, arg5, statmp0) ; #line 400 "tychecker.dats" tmp272 = statmp0 ; break ; /* branch: __ats_lab_44 */ #line 401 "tychecker.dats" __ats_lab_44_0: #line 401 "tychecker.dats" if (((ats_sum_ptr_type)arg4)->tag != 1) { goto __ats_lab_45_0 ; } #line 401 "tychecker.dats" __ats_lab_44_1: #line 401 "tychecker.dats" /* tmp275 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2edats__transExpDn (arg0, arg1, arg3, statmp0) ; #line 401 "tychecker.dats" /* tmp276 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2edats__transExpDn (arg0, arg1, arg5, statmp0) ; #line 401 "tychecker.dats" tmp272 = statmp0 ; break ; /* branch: __ats_lab_45 */ #line 402 "tychecker.dats" __ats_lab_45_0: #line 402 "tychecker.dats" if (((ats_sum_ptr_type)arg4)->tag != 2) { goto __ats_lab_46_0 ; } #line 402 "tychecker.dats" __ats_lab_45_1: #line 402 "tychecker.dats" /* tmp277 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2edats__transExpDn (arg0, arg1, arg3, statmp0) ; #line 402 "tychecker.dats" /* tmp278 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2edats__transExpDn (arg0, arg1, arg5, statmp0) ; #line 402 "tychecker.dats" tmp272 = statmp0 ; break ; /* branch: __ats_lab_46 */ #line 403 "tychecker.dats" __ats_lab_46_0: #line 403 "tychecker.dats" if (((ats_sum_ptr_type)arg4)->tag != 3) { goto __ats_lab_47_0 ; } #line 403 "tychecker.dats" __ats_lab_46_1: #line 403 "tychecker.dats" /* tmp279 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2edats__transExpDn (arg0, arg1, arg3, statmp0) ; #line 403 "tychecker.dats" /* tmp280 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2edats__transExpDn (arg0, arg1, arg5, statmp0) ; #line 403 "tychecker.dats" tmp272 = statmp0 ; break ; /* branch: __ats_lab_47 */ #line 404 "tychecker.dats" __ats_lab_47_0: #line 404 "tychecker.dats" if (((ats_sum_ptr_type)arg4)->tag != 6) { goto __ats_lab_48_0 ; } #line 404 "tychecker.dats" __ats_lab_47_1: #line 404 "tychecker.dats" /* tmp281 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2edats__transExpDn (arg0, arg1, arg3, statmp0) ; #line 404 "tychecker.dats" /* tmp282 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2edats__transExpDn (arg0, arg1, arg5, statmp0) ; #line 404 "tychecker.dats" tmp272 = statmp0 ; break ; /* branch: __ats_lab_48 */ #line 405 "tychecker.dats" __ats_lab_48_0: #line 405 "tychecker.dats" if (((ats_sum_ptr_type)arg4)->tag != 7) { goto __ats_lab_49_0 ; } #line 405 "tychecker.dats" __ats_lab_48_1: #line 405 "tychecker.dats" /* tmp283 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2edats__transExpDn (arg0, arg1, arg3, statmp0) ; #line 405 "tychecker.dats" /* tmp284 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2edats__transExpDn (arg0, arg1, arg5, statmp0) ; #line 405 "tychecker.dats" tmp272 = statmp0 ; break ; /* branch: __ats_lab_49 */ #line 406 "tychecker.dats" __ats_lab_49_0: #line 406 "tychecker.dats" if (((ats_sum_ptr_type)arg4)->tag != 8) { goto __ats_lab_50_0 ; } #line 406 "tychecker.dats" __ats_lab_49_1: #line 406 "tychecker.dats" /* tmp285 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2edats__transExpDn (arg0, arg1, arg3, statmp0) ; #line 406 "tychecker.dats" /* tmp286 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2edats__transExpDn (arg0, arg1, arg5, statmp0) ; #line 406 "tychecker.dats" tmp272 = statmp0 ; break ; /* branch: __ats_lab_50 */ #line 407 "tychecker.dats" __ats_lab_50_0: #line 407 "tychecker.dats" if (((ats_sum_ptr_type)arg4)->tag != 9) { goto __ats_lab_51_0 ; } #line 407 "tychecker.dats" __ats_lab_50_1: #line 407 "tychecker.dats" /* tmp287 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2edats__transExpDn (arg0, arg1, arg3, statmp0) ; #line 407 "tychecker.dats" /* tmp288 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2edats__transExpDn (arg0, arg1, arg5, statmp0) ; #line 407 "tychecker.dats" tmp272 = statmp0 ; break ; /* branch: __ats_lab_51 */ #line 408 "tychecker.dats" __ats_lab_51_0: #line 408 "tychecker.dats" if (((ats_sum_ptr_type)arg4)->tag != 4) { goto __ats_lab_52_0 ; } #line 408 "tychecker.dats" __ats_lab_51_1: #line 409 "tychecker.dats" /* tmp289 = */ transExpUp_opexp_eqop_34 (arg0, arg1, arg2, arg3, arg5) ; #line 411 "tychecker.dats" tmp272 = statmp0 ; break ; /* branch: __ats_lab_52 */ #line 413 "tychecker.dats" __ats_lab_52_0: #line 413 "tychecker.dats" if (((ats_sum_ptr_type)arg4)->tag != 5) { goto __ats_lab_53_0 ; } #line 413 "tychecker.dats" __ats_lab_52_1: #line 414 "tychecker.dats" /* tmp290 = */ transExpUp_opexp_eqop_34 (arg0, arg1, arg2, arg3, arg5) ; #line 416 "tychecker.dats" tmp272 = statmp0 ; break ; /* branch: __ats_lab_53 */ #line 418 "tychecker.dats" __ats_lab_53_0: #line 418 "tychecker.dats" if (((ats_sum_ptr_type)arg4)->tag != 10) { goto __ats_lab_54_0 ; } #line 418 "tychecker.dats" __ats_lab_53_1: #line 419 "tychecker.dats" /* tmp291 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2edats__transExpDn (arg0, arg1, arg3, statmp0) ; #line 420 "tychecker.dats" /* tmp292 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2edats__transExpDn (arg0, arg1, arg5, statmp0) ; #line 422 "tychecker.dats" tmp272 = statmp0 ; break ; /* branch: __ats_lab_54 */ #line 424 "tychecker.dats" __ats_lab_54_0: #line 424 "tychecker.dats" // if (((ats_sum_ptr_type)arg4)->tag != 11) { ats_deadcode_failure_handle () ; } #line 424 "tychecker.dats" __ats_lab_54_1: #line 425 "tychecker.dats" /* tmp293 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2edats__transExpDn (arg0, arg1, arg3, statmp0) ; #line 426 "tychecker.dats" /* tmp294 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2edats__transExpDn (arg0, arg1, arg5, statmp0) ; #line 428 "tychecker.dats" tmp272 = statmp0 ; break ; } while (0) ; return (tmp272) ; } /* end of [transExpUp_opexp_35] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/tychecker.dats: 12660(line=447, offs=9) -- 13774(line=476, offs=8) */ ATSstaticdec() ats_void_type loop_37 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp304) ; ATSlocal (ats_ptr_type, tmp305) ; ATSlocal (ats_ptr_type, tmp306) ; ATSlocal (ats_ptr_type, tmp307) ; ATSlocal (ats_ptr_type, tmp308) ; ATSlocal (ats_ptr_type, tmp309) ; ATSlocal (ats_ptr_type, tmp310) ; ATSlocal (ats_bool_type, tmp311) ; // ATSlocal_void (tmp312) ; ATSlocal (ats_ptr_type, tmp313) ; // ATSlocal_void (tmp314) ; ATSlocal (ats_ptr_type, tmp315) ; // ATSlocal_void (tmp316) ; // ATSlocal_void (tmp317) ; // ATSlocal_void (tmp318) ; // ATSlocal_void (tmp319) ; // ATSlocal_void (tmp320) ; ATSlocal (ats_ptr_type, tmp321) ; // ATSlocal_void (tmp322) ; ATSlocal (ats_ptr_type, tmp323) ; // ATSlocal_void (tmp324) ; // ATSlocal_void (tmp325) ; // ATSlocal_void (tmp326) ; // ATSlocal_void (tmp327) ; // ATSlocal_void (tmp328) ; __ats_lab_loop_37: #line 449 "tychecker.dats" do { /* branch: __ats_lab_57 */ #line 450 "tychecker.dats" __ats_lab_57_0: #line 450 "tychecker.dats" if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_60_0 ; } #line 450 "tychecker.dats" __ats_lab_57_1: #line 450 "tychecker.dats" tmp305 = ats_caselptr_mac(anairiats_sum_5, arg0, atslab_0) ; #line 450 "tychecker.dats" tmp306 = ats_caselptr_mac(anairiats_sum_5, arg0, atslab_1) ; #line 451 "tychecker.dats" tmp307 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_12, tmp305), atslab_fieldexp_lab) ; #line 451 "tychecker.dats" do { /* branch: __ats_lab_58 */ #line 452 "tychecker.dats" __ats_lab_58_0: #line 452 "tychecker.dats" if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_59_0 ; } #line 452 "tychecker.dats" __ats_lab_58_1: #line 452 "tychecker.dats" tmp308 = ats_caselptr_mac(anairiats_sum_9, arg1, atslab_0) ; #line 452 "tychecker.dats" tmp309 = ats_caselptr_mac(anairiats_sum_9, arg1, atslab_1) ; #line 452 "tychecker.dats" tmp310 = ats_caselptr_mac(anairiats_sum_9, arg1, atslab_2) ; #line 452 "tychecker.dats" tmp311 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2symbol_2esats__eq_symbol_symbol (tmp307, tmp308) ; #line 452 "tychecker.dats" if (!tmp311) { goto __ats_lab_59_1 ; } #line 453 "tychecker.dats" tmp313 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_12, tmp305), atslab_fieldexp_exp) ; #line 453 "tychecker.dats" /* tmp312 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2edats__transExpDn (env0, env1, tmp313, tmp309) ; #line 454 "tychecker.dats" arg0 = tmp306 ; #line 454 "tychecker.dats" arg1 = tmp310 ; #line 454 "tychecker.dats" goto __ats_lab_loop_37 ; // tail call break ; /* branch: __ats_lab_59 */ #line 456 "tychecker.dats" __ats_lab_59_0: #line 456 "tychecker.dats" __ats_lab_59_1: #line 457 "tychecker.dats" tmp315 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, env2), atslab_exp_loc) ; #line 457 "tychecker.dats" /* tmp314 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2PARCOMB_2posloc_2esats__prerr_location (tmp315) ; #line 458 "tychecker.dats" /* tmp316 = */ atspre_prerr_string (ATSstrcst(": exit(TIGER)")) ; #line 459 "tychecker.dats" /* tmp317 = */ atspre_prerr_string (ATSstrcst(": the lable [")) ; #line 459 "tychecker.dats" /* tmp318 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2symbol_2esats__prerr_symbol (tmp307) ; #line 460 "tychecker.dats" /* tmp319 = */ atspre_prerr_string (ATSstrcst("] is skipped.")) ; #line 461 "tychecker.dats" /* tmp320 = */ atspre_prerr_newline () ; #line 462 "tychecker.dats" /* tmp304 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2error_2esats__abort (1) ; break ; } while (0) ; break ; /* branch: __ats_lab_60 */ #line 465 "tychecker.dats" __ats_lab_60_0: #line 465 "tychecker.dats" // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 465 "tychecker.dats" __ats_lab_60_1: #line 465 "tychecker.dats" do { /* branch: __ats_lab_61 */ #line 466 "tychecker.dats" __ats_lab_61_0: #line 466 "tychecker.dats" if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_62_0 ; } #line 466 "tychecker.dats" __ats_lab_61_1: #line 466 "tychecker.dats" tmp321 = ats_caselptr_mac(anairiats_sum_9, arg1, atslab_0) ; #line 467 "tychecker.dats" tmp323 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, env2), atslab_exp_loc) ; #line 467 "tychecker.dats" /* tmp322 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2PARCOMB_2posloc_2esats__prerr_location (tmp323) ; #line 468 "tychecker.dats" /* tmp324 = */ atspre_prerr_string (ATSstrcst(": exit(TIGER)")) ; #line 469 "tychecker.dats" /* tmp325 = */ atspre_prerr_string (ATSstrcst(": the lable [")) ; #line 469 "tychecker.dats" /* tmp326 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2symbol_2esats__prerr_symbol (tmp321) ; #line 470 "tychecker.dats" /* tmp327 = */ atspre_prerr_string (ATSstrcst("] is extra.")) ; #line 471 "tychecker.dats" /* tmp328 = */ atspre_prerr_newline () ; #line 472 "tychecker.dats" /* tmp304 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2error_2esats__abort (1) ; break ; /* branch: __ats_lab_62 */ #line 474 "tychecker.dats" __ats_lab_62_0: #line 474 "tychecker.dats" // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 474 "tychecker.dats" __ats_lab_62_1: break ; } while (0) ; break ; } while (0) ; return /* (tmp304) */ ; } /* end of [loop_37] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; ats_ptr_type closure_env_2 ; } loop_37_closure_type ; ats_void_type loop_37_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) { loop_37 (((loop_37_closure_type*)cloptr)->closure_env_0, ((loop_37_closure_type*)cloptr)->closure_env_1, ((loop_37_closure_type*)cloptr)->closure_env_2, arg0, arg1) ; return ; } /* end of function */ ATSinline() ats_void_type loop_37_closure_init (loop_37_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { p_clo->closure_fun = (ats_fun_ptr_type)&loop_37_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; p_clo->closure_env_2 = env2 ; return ; } /* end of function */ ats_clo_ptr_type loop_37_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { loop_37_closure_type *p_clo = ATS_MALLOC(sizeof(loop_37_closure_type)) ; loop_37_closure_init (p_clo, env0, env1, env2) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/tychecker.dats: 12149(line=432, offs=4) -- 13813(line=478, offs=2) */ ATSstaticdec() ats_void_type transExpUp_recordexp_36 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ // ATSlocal_void (tmp295) ; ATSlocal (ats_ptr_type, tmp296) ; ATSlocal (ats_ptr_type, tmp297) ; ATSlocal (ats_ptr_type, tmp298) ; // ATSlocal_void (tmp299) ; ATSlocal (ats_ptr_type, tmp300) ; // ATSlocal_void (tmp301) ; // ATSlocal_void (tmp302) ; // ATSlocal_void (tmp303) ; __ats_lab_transExpUp_recordexp_36: #line 436 "tychecker.dats" tmp296 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2types_2esats__ty_normalize (arg4) ; #line 437 "tychecker.dats" do { /* branch: __ats_lab_55 */ #line 438 "tychecker.dats" __ats_lab_55_0: #line 438 "tychecker.dats" if (((ats_sum_ptr_type)tmp296)->tag != 4) { goto __ats_lab_56_0 ; } #line 438 "tychecker.dats" __ats_lab_55_1: #line 438 "tychecker.dats" tmp298 = ats_caselptr_mac(anairiats_sum_2, tmp296, atslab_1) ; #line 438 "tychecker.dats" tmp297 = tmp298 ; break ; /* branch: __ats_lab_56 */ #line 438 "tychecker.dats" __ats_lab_56_0: #line 438 "tychecker.dats" __ats_lab_56_1: #line 439 "tychecker.dats" tmp300 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg2), atslab_exp_loc) ; #line 439 "tychecker.dats" /* tmp299 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2PARCOMB_2posloc_2esats__prerr_location (tmp300) ; #line 440 "tychecker.dats" /* tmp301 = */ atspre_prerr_string (ATSstrcst(": exit(TIGER)")) ; #line 441 "tychecker.dats" /* tmp302 = */ atspre_prerr_string (ATSstrcst(": the type for the record is not a record type.")) ; #line 442 "tychecker.dats" /* tmp303 = */ atspre_prerr_newline () ; #line 443 "tychecker.dats" /* tmp297 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2error_2esats__abort (1) ; break ; } while (0) ; #line 446 "tychecker.dats" /* tmp295 = */ loop_37 (arg0, arg1, arg2, arg3, tmp297) ; return /* (tmp295) */ ; } /* end of [transExpUp_recordexp_36] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/tychecker.dats: 15385(line=524, offs=13) -- 15788(line=535, offs=12) */ ATSstaticdec() ats_ptr_type loop_39 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp362) ; ATSlocal (ats_ptr_type, tmp363) ; ATSlocal (ats_ptr_type, tmp364) ; ATSlocal (ats_ptr_type, tmp365) ; __ats_lab_loop_39: #line 527 "tychecker.dats" // if (arg2 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 527 "tychecker.dats" tmp363 = ats_caselptr_mac(anairiats_sum_5, arg2, atslab_0) ; #line 527 "tychecker.dats" tmp364 = ats_caselptr_mac(anairiats_sum_5, arg2, atslab_1) ; #line 529 "tychecker.dats" do { /* branch: __ats_lab_76 */ #line 530 "tychecker.dats" __ats_lab_76_0: #line 530 "tychecker.dats" if (tmp364 == (ats_sum_ptr_type)0) { goto __ats_lab_77_0 ; } #line 530 "tychecker.dats" __ats_lab_76_1: #line 532 "tychecker.dats" tmp365 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2edats__transExpUp (arg0, arg1, tmp363) ; #line 532 "tychecker.dats" arg0 = arg0 ; #line 532 "tychecker.dats" arg1 = arg1 ; #line 532 "tychecker.dats" arg2 = tmp364 ; #line 532 "tychecker.dats" goto __ats_lab_loop_39 ; // tail call break ; /* branch: __ats_lab_77 */ #line 534 "tychecker.dats" __ats_lab_77_0: #line 534 "tychecker.dats" // if (tmp364 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 534 "tychecker.dats" __ats_lab_77_1: #line 534 "tychecker.dats" tmp362 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2edats__transExpUp (arg0, arg1, tmp363) ; break ; } while (0) ; return (tmp362) ; } /* end of [loop_39] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/tychecker.dats: 13872(line=480, offs=22) -- 19234(line=638, offs=4) */ ATSglobaldec() ats_ptr_type _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2edats__transExpUp (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp329) ; ATSlocal (ats_ptr_type, tmp330) ; ATSlocal (ats_ptr_type, tmp331) ; ATSlocal (ats_ptr_type, tmp332) ; ATSlocal (ats_ptr_type, tmp333) ; ATSlocal (ats_ptr_type, tmp334) ; ATSlocal (ats_ptr_type, tmp335) ; ATSlocal (ats_ptr_type, tmp336) ; ATSlocal (ats_ptr_type, tmp337) ; ATSlocal (ats_ptr_type, tmp338) ; ATSlocal (ats_ptr_type, tmp339) ; ATSlocal (ats_ptr_type, tmp340) ; ATSlocal (ats_ptr_type, tmp341) ; // ATSlocal_void (tmp342) ; ATSlocal (ats_ptr_type, tmp343) ; ATSlocal (ats_ptr_type, tmp344) ; ATSlocal (ats_ptr_type, tmp345) ; ATSlocal (ats_ptr_type, tmp346) ; ATSlocal (ats_ptr_type, tmp347) ; ATSlocal (ats_ptr_type, tmp348) ; ATSlocal (ats_ptr_type, tmp349) ; // ATSlocal_void (tmp350) ; ATSlocal (ats_ptr_type, tmp351) ; // ATSlocal_void (tmp352) ; // ATSlocal_void (tmp353) ; // ATSlocal_void (tmp354) ; // ATSlocal_void (tmp355) ; // ATSlocal_void (tmp356) ; ATSlocal (ats_ptr_type, tmp357) ; ATSlocal (ats_ptr_type, tmp358) ; ATSlocal (ats_ptr_type, tmp359) ; // ATSlocal_void (tmp360) ; ATSlocal (ats_ptr_type, tmp361) ; ATSlocal (ats_ptr_type, tmp366) ; ATSlocal (ats_ptr_type, tmp367) ; ATSlocal (ats_ptr_type, tmp368) ; // ATSlocal_void (tmp369) ; ATSlocal (ats_ptr_type, tmp370) ; ATSlocal (ats_ptr_type, tmp371) ; ATSlocal (ats_ptr_type, tmp372) ; ATSlocal (ats_ptr_type, tmp373) ; // ATSlocal_void (tmp374) ; // ATSlocal_void (tmp375) ; ATSlocal (ats_ptr_type, tmp376) ; // ATSlocal_void (tmp377) ; // ATSlocal_void (tmp378) ; // ATSlocal_void (tmp379) ; // ATSlocal_void (tmp380) ; // ATSlocal_void (tmp381) ; // ATSlocal_void (tmp382) ; // ATSlocal_void (tmp383) ; // ATSlocal_void (tmp384) ; ATSlocal (ats_ptr_type, tmp385) ; ATSlocal (ats_ptr_type, tmp386) ; // ATSlocal_void (tmp387) ; // ATSlocal_void (tmp388) ; // ATSlocal_void (tmp389) ; // ATSlocal_void (tmp390) ; ATSlocal (ats_ptr_type, tmp391) ; ATSlocal (ats_ptr_type, tmp392) ; ATSlocal (ats_ptr_type, tmp393) ; ATSlocal (ats_ptr_type, tmp394) ; ATSlocal (ats_ptr_type, tmp395) ; // ATSlocal_void (tmp396) ; // ATSlocal_void (tmp397) ; ATSlocal (ats_int_type, tmp398) ; ATSlocal (ats_ptr_type, tmp399) ; ATSlocal (ats_ptr_type, tmp400) ; // ATSlocal_void (tmp401) ; // ATSlocal_void (tmp402) ; // ATSlocal_void (tmp403) ; ATSlocal (ats_int_type, tmp404) ; ATSlocal (ats_bool_type, tmp405) ; // ATSlocal_void (tmp406) ; ATSlocal (ats_ptr_type, tmp407) ; // ATSlocal_void (tmp408) ; // ATSlocal_void (tmp409) ; ATSlocal (ats_int_type, tmp410) ; ATSlocal (ats_bool_type, tmp411) ; // ATSlocal_void (tmp412) ; ATSlocal (ats_ptr_type, tmp413) ; // ATSlocal_void (tmp414) ; // ATSlocal_void (tmp415) ; ATSlocal (ats_ptr_type, tmp416) ; ATSlocal (ats_ptr_type, tmp417) ; ATSlocal (ats_ptr_type, tmp418) ; ATSlocal (ats_ptr_type, tmp419) ; // ATSlocal_void (tmp420) ; // ATSlocal_void (tmp421) ; __ats_lab__2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2edats__transExpUp: #line 481 "tychecker.dats" tmp331 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg2), atslab_exp_node) ; #line 481 "tychecker.dats" do { /* branch: __ats_lab_63 */ #line 482 "tychecker.dats" __ats_lab_63_0: #line 482 "tychecker.dats" if (((ats_sum_ptr_type)tmp331)->tag != 0) { goto __ats_lab_64_0 ; } #line 482 "tychecker.dats" __ats_lab_63_1: #line 482 "tychecker.dats" tmp332 = ats_caselptr_mac(anairiats_sum_0, tmp331, atslab_0) ; #line 482 "tychecker.dats" tmp330 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2edats__transVar (arg0, arg1, tmp332) ; break ; /* branch: __ats_lab_64 */ #line 483 "tychecker.dats" __ats_lab_64_0: #line 483 "tychecker.dats" if (((ats_sum_ptr_type)tmp331)->tag != 1) { goto __ats_lab_65_0 ; } #line 483 "tychecker.dats" __ats_lab_64_1: #line 483 "tychecker.dats" tmp330 = statmp2 ; break ; /* branch: __ats_lab_65 */ #line 484 "tychecker.dats" __ats_lab_65_0: #line 484 "tychecker.dats" if (((ats_sum_ptr_type)tmp331)->tag != 2) { goto __ats_lab_66_0 ; } #line 484 "tychecker.dats" __ats_lab_65_1: #line 484 "tychecker.dats" tmp330 = statmp0 ; break ; /* branch: __ats_lab_66 */ #line 485 "tychecker.dats" __ats_lab_66_0: #line 485 "tychecker.dats" if (((ats_sum_ptr_type)tmp331)->tag != 3) { goto __ats_lab_67_0 ; } #line 485 "tychecker.dats" __ats_lab_66_1: #line 485 "tychecker.dats" tmp330 = statmp1 ; break ; /* branch: __ats_lab_67 */ #line 486 "tychecker.dats" __ats_lab_67_0: #line 486 "tychecker.dats" if (((ats_sum_ptr_type)tmp331)->tag != 4) { goto __ats_lab_68_0 ; } #line 486 "tychecker.dats" __ats_lab_67_1: #line 486 "tychecker.dats" tmp333 = ats_caselptr_mac(anairiats_sum_1, tmp331, atslab_0) ; #line 486 "tychecker.dats" tmp334 = ats_caselptr_mac(anairiats_sum_1, tmp331, atslab_1) ; #line 487 "tychecker.dats" tmp335 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg2), atslab_exp_loc) ; #line 488 "tychecker.dats" tmp330 = transExpUp_callexp_32 (arg0, arg1, arg2, tmp333, tmp334) ; break ; /* branch: __ats_lab_68 */ #line 490 "tychecker.dats" __ats_lab_68_0: #line 490 "tychecker.dats" if (((ats_sum_ptr_type)tmp331)->tag != 5) { goto __ats_lab_69_0 ; } #line 490 "tychecker.dats" __ats_lab_68_1: #line 490 "tychecker.dats" tmp336 = ats_caselptr_mac(anairiats_sum_13, tmp331, atslab_0) ; #line 490 "tychecker.dats" tmp337 = ats_caselptr_mac(anairiats_sum_13, tmp331, atslab_1) ; #line 490 "tychecker.dats" tmp338 = ats_caselptr_mac(anairiats_sum_13, tmp331, atslab_2) ; #line 491 "tychecker.dats" tmp330 = transExpUp_opexp_35 (arg0, arg1, arg2, tmp336, tmp337, tmp338) ; break ; /* branch: __ats_lab_69 */ #line 493 "tychecker.dats" __ats_lab_69_0: #line 493 "tychecker.dats" if (((ats_sum_ptr_type)tmp331)->tag != 6) { goto __ats_lab_70_0 ; } #line 493 "tychecker.dats" __ats_lab_69_1: #line 493 "tychecker.dats" tmp339 = ats_caselptr_mac(anairiats_sum_1, tmp331, atslab_0) ; #line 493 "tychecker.dats" tmp340 = ats_caselptr_mac(anairiats_sum_1, tmp331, atslab_1) ; #line 494 "tychecker.dats" tmp341 = ty_make_typ_28 (arg0, tmp340) ; #line 495 "tychecker.dats" /* tmp342 = */ transExpUp_recordexp_36 (arg0, arg1, arg2, tmp339, tmp341) ; #line 496 "tychecker.dats" tmp330 = tmp341 ; break ; /* branch: __ats_lab_70 */ #line 498 "tychecker.dats" __ats_lab_70_0: #line 498 "tychecker.dats" if (((ats_sum_ptr_type)tmp331)->tag != 15) { goto __ats_lab_73_0 ; } #line 498 "tychecker.dats" __ats_lab_70_1: #line 498 "tychecker.dats" tmp343 = ats_caselptr_mac(anairiats_sum_13, tmp331, atslab_0) ; #line 498 "tychecker.dats" tmp344 = ats_caselptr_mac(anairiats_sum_13, tmp331, atslab_1) ; #line 498 "tychecker.dats" tmp345 = ats_caselptr_mac(anairiats_sum_13, tmp331, atslab_2) ; #line 499 "tychecker.dats" tmp346 = ty_make_typ_28 (arg0, tmp343) ; #line 500 "tychecker.dats" tmp347 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2types_2esats__ty_normalize (tmp346) ; #line 501 "tychecker.dats" do { /* branch: __ats_lab_71 */ #line 502 "tychecker.dats" __ats_lab_71_0: #line 502 "tychecker.dats" if (((ats_sum_ptr_type)tmp347)->tag != 0) { goto __ats_lab_72_0 ; } #line 502 "tychecker.dats" __ats_lab_71_1: #line 502 "tychecker.dats" tmp349 = ats_caselptr_mac(anairiats_sum_2, tmp347, atslab_1) ; #line 502 "tychecker.dats" tmp348 = tmp349 ; break ; /* branch: __ats_lab_72 */ #line 503 "tychecker.dats" __ats_lab_72_0: #line 503 "tychecker.dats" __ats_lab_72_1: #line 504 "tychecker.dats" tmp351 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg2), atslab_exp_loc) ; #line 504 "tychecker.dats" /* tmp350 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2PARCOMB_2posloc_2esats__prerr_location (tmp351) ; #line 505 "tychecker.dats" /* tmp352 = */ atspre_prerr_string (ATSstrcst(": exit(TIGER)")) ; #line 506 "tychecker.dats" /* tmp353 = */ atspre_prerr_string (ATSstrcst(": the type assigned to the array expression is not an array type")) ; #line 507 "tychecker.dats" /* tmp354 = */ atspre_prerr_newline () ; #line 508 "tychecker.dats" /* tmp348 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2error_2esats__abort (1) ; break ; } while (0) ; #line 511 "tychecker.dats" /* tmp355 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2edats__transExpDn (arg0, arg1, tmp344, statmp0) ; #line 512 "tychecker.dats" /* tmp356 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2edats__transExpDn (arg0, arg1, tmp345, tmp348) ; #line 514 "tychecker.dats" tmp330 = tmp347 ; break ; /* branch: __ats_lab_73 */ #line 516 "tychecker.dats" __ats_lab_73_0: #line 516 "tychecker.dats" if (((ats_sum_ptr_type)tmp331)->tag != 8) { goto __ats_lab_74_0 ; } #line 516 "tychecker.dats" __ats_lab_73_1: #line 516 "tychecker.dats" tmp357 = ats_caselptr_mac(anairiats_sum_1, tmp331, atslab_0) ; #line 516 "tychecker.dats" tmp358 = ats_caselptr_mac(anairiats_sum_1, tmp331, atslab_1) ; #line 517 "tychecker.dats" tmp359 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2edats__transVar (arg0, arg1, tmp357) ; #line 518 "tychecker.dats" /* tmp360 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2edats__transExpDn (arg0, arg1, tmp358, tmp359) ; #line 520 "tychecker.dats" tmp330 = statmp3 ; break ; /* branch: __ats_lab_74 */ #line 522 "tychecker.dats" __ats_lab_74_0: #line 522 "tychecker.dats" if (((ats_sum_ptr_type)tmp331)->tag != 7) { goto __ats_lab_79_0 ; } #line 522 "tychecker.dats" __ats_lab_74_1: #line 522 "tychecker.dats" tmp361 = ats_caselptr_mac(anairiats_sum_0, tmp331, atslab_0) ; #line 522 "tychecker.dats" do { /* branch: __ats_lab_75 */ #line 523 "tychecker.dats" __ats_lab_75_0: #line 523 "tychecker.dats" if (tmp361 == (ats_sum_ptr_type)0) { goto __ats_lab_78_0 ; } #line 523 "tychecker.dats" __ats_lab_75_1: #line 523 "tychecker.dats" tmp330 = loop_39 (arg0, arg1, tmp361) ; break ; /* branch: __ats_lab_78 */ #line 537 "tychecker.dats" __ats_lab_78_0: #line 537 "tychecker.dats" // if (tmp361 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 537 "tychecker.dats" __ats_lab_78_1: #line 537 "tychecker.dats" tmp330 = statmp3 ; break ; } while (0) ; break ; /* branch: __ats_lab_79 */ #line 539 "tychecker.dats" __ats_lab_79_0: #line 539 "tychecker.dats" if (((ats_sum_ptr_type)tmp331)->tag != 9) { goto __ats_lab_84_0 ; } #line 539 "tychecker.dats" __ats_lab_79_1: #line 539 "tychecker.dats" tmp366 = ats_caselptr_mac(anairiats_sum_13, tmp331, atslab_0) ; #line 539 "tychecker.dats" tmp367 = ats_caselptr_mac(anairiats_sum_13, tmp331, atslab_1) ; #line 539 "tychecker.dats" tmp368 = ats_caselptr_mac(anairiats_sum_13, tmp331, atslab_2) ; #line 540 "tychecker.dats" /* tmp369 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2edats__transExpDn (arg0, arg1, tmp366, statmp0) ; #line 541 "tychecker.dats" do { /* branch: __ats_lab_80 */ #line 542 "tychecker.dats" __ats_lab_80_0: #line 542 "tychecker.dats" if (tmp368 == (ats_sum_ptr_type)0) { goto __ats_lab_83_0 ; } #line 542 "tychecker.dats" __ats_lab_80_1: #line 542 "tychecker.dats" tmp370 = ats_caselptr_mac(anairiats_sum_6, tmp368, atslab_0) ; #line 543 "tychecker.dats" tmp371 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2edats__transExpUp (arg0, arg1, tmp367) ; #line 547 "tychecker.dats" tmp372 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2edats__transExpUp (arg0, arg1, tmp370) ; #line 551 "tychecker.dats" tmp373 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2types_2esats__join_ty_ty (tmp371, tmp372) ; #line 555 "tychecker.dats" do { /* branch: __ats_lab_81 */ #line 556 "tychecker.dats" __ats_lab_81_0: #line 556 "tychecker.dats" if (((ats_sum_ptr_type)tmp373)->tag != 5) { goto __ats_lab_82_0 ; } #line 556 "tychecker.dats" __ats_lab_81_1: #line 557 "tychecker.dats" tmp376 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg2), atslab_exp_loc) ; #line 557 "tychecker.dats" /* tmp375 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2PARCOMB_2posloc_2esats__prerr_location (tmp376) ; #line 558 "tychecker.dats" /* tmp377 = */ atspre_prerr_string (ATSstrcst(": exit(TIGER): type mismatch")) ; #line 559 "tychecker.dats" /* tmp378 = */ atspre_prerr_string (ATSstrcst(": the type for the then-branch is [")) ; #line 560 "tychecker.dats" /* tmp379 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2types_2esats__prerr_ty (tmp371) ; #line 561 "tychecker.dats" /* tmp380 = */ atspre_prerr_string (ATSstrcst("] but the type for the else-branch is [")) ; #line 562 "tychecker.dats" /* tmp381 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2types_2esats__prerr_ty (tmp372) ; #line 563 "tychecker.dats" /* tmp382 = */ atspre_prerr_string (ATSstrcst("]")) ; #line 564 "tychecker.dats" /* tmp383 = */ atspre_prerr_newline () ; #line 565 "tychecker.dats" /* tmp374 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2error_2esats__abort (1) ; break ; /* branch: __ats_lab_82 */ #line 567 "tychecker.dats" __ats_lab_82_0: #line 567 "tychecker.dats" __ats_lab_82_1: break ; } while (0) ; #line 542 "tychecker.dats" tmp330 = tmp373 ; break ; /* branch: __ats_lab_83 */ #line 570 "tychecker.dats" __ats_lab_83_0: #line 570 "tychecker.dats" // if (tmp368 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 570 "tychecker.dats" __ats_lab_83_1: #line 571 "tychecker.dats" /* tmp384 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2edats__transExpDn (arg0, arg1, tmp367, statmp3) ; #line 571 "tychecker.dats" tmp330 = statmp3 ; break ; } while (0) ; break ; /* branch: __ats_lab_84 */ #line 575 "tychecker.dats" __ats_lab_84_0: #line 575 "tychecker.dats" if (((ats_sum_ptr_type)tmp331)->tag != 10) { goto __ats_lab_85_0 ; } #line 575 "tychecker.dats" __ats_lab_84_1: #line 575 "tychecker.dats" tmp385 = ats_caselptr_mac(anairiats_sum_1, tmp331, atslab_0) ; #line 575 "tychecker.dats" tmp386 = ats_caselptr_mac(anairiats_sum_1, tmp331, atslab_1) ; #line 576 "tychecker.dats" /* tmp387 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2edats__transExpDn (arg0, arg1, tmp385, statmp0) ; #line 577 "tychecker.dats" /* tmp388 = */ the_looplevel_inc_9 () ; #line 578 "tychecker.dats" /* tmp389 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2edats__transExpDn (arg0, arg1, tmp386, statmp3) ; #line 579 "tychecker.dats" /* tmp390 = */ the_looplevel_dec_10 () ; #line 581 "tychecker.dats" tmp330 = statmp3 ; break ; /* branch: __ats_lab_85 */ #line 583 "tychecker.dats" __ats_lab_85_0: #line 583 "tychecker.dats" if (((ats_sum_ptr_type)tmp331)->tag != 11) { goto __ats_lab_86_0 ; } #line 583 "tychecker.dats" __ats_lab_85_1: #line 583 "tychecker.dats" tmp391 = ats_caselptr_mac(anairiats_sum_14, tmp331, atslab_0) ; #line 583 "tychecker.dats" tmp392 = ats_caselptr_mac(anairiats_sum_14, tmp331, atslab_1) ; #line 583 "tychecker.dats" tmp393 = ats_caselptr_mac(anairiats_sum_14, tmp331, atslab_2) ; #line 583 "tychecker.dats" tmp394 = ats_caselptr_mac(anairiats_sum_14, tmp331, atslab_3) ; #line 583 "tychecker.dats" tmp395 = ats_caselptr_mac(anairiats_sum_14, tmp331, atslab_4) ; #line 584 "tychecker.dats" /* tmp396 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2edats__transExpDn (arg0, arg1, tmp393, statmp0) ; #line 585 "tychecker.dats" /* tmp397 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2edats__transExpDn (arg0, arg1, tmp394, statmp0) ; #line 587 "tychecker.dats" tmp398 = the_funlevel_get_5 () ; #line 588 "tychecker.dats" tmp399 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2esats__vfty_var_make (tmp398, tmp392, statmp0) ; #line 590 "tychecker.dats" tmp400 = vftymap_insert_27 (arg1, tmp391, tmp399) ; #line 592 "tychecker.dats" /* tmp401 = */ the_looplevel_inc_9 () ; #line 593 "tychecker.dats" /* tmp402 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2edats__transExpDn (arg0, tmp400, tmp395, statmp3) ; #line 594 "tychecker.dats" /* tmp403 = */ the_looplevel_dec_10 () ; #line 596 "tychecker.dats" tmp330 = statmp3 ; break ; /* branch: __ats_lab_86 */ #line 598 "tychecker.dats" __ats_lab_86_0: #line 598 "tychecker.dats" if (((ats_sum_ptr_type)tmp331)->tag != 12) { goto __ats_lab_89_0 ; } #line 598 "tychecker.dats" __ats_lab_86_1: #line 599 "tychecker.dats" tmp404 = the_looplevel_get_8 () ; #line 601 "tychecker.dats" do { /* branch: __ats_lab_87 */ #line 602 "tychecker.dats" __ats_lab_87_0: #line 602 "tychecker.dats" __ats_lab_87_1: #line 602 "tychecker.dats" tmp405 = atspre_gt_int_int (tmp404, 0) ; #line 602 "tychecker.dats" if (!tmp405) { goto __ats_lab_88_1 ; } #line 602 "tychecker.dats" tmp330 = statmp3 ; break ; /* branch: __ats_lab_88 */ #line 604 "tychecker.dats" __ats_lab_88_0: #line 604 "tychecker.dats" __ats_lab_88_1: #line 605 "tychecker.dats" tmp407 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg2), atslab_exp_loc) ; #line 605 "tychecker.dats" /* tmp406 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2PARCOMB_2posloc_2esats__prerr_location (tmp407) ; #line 606 "tychecker.dats" /* tmp408 = */ atspre_prerr_string (ATSstrcst(": exit(TIGER): [break] can only occur inside a loop")) ; #line 607 "tychecker.dats" /* tmp409 = */ atspre_prerr_newline () ; #line 608 "tychecker.dats" /* tmp330 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2error_2esats__abort (1) ; break ; } while (0) ; break ; /* branch: __ats_lab_89 */ #line 611 "tychecker.dats" __ats_lab_89_0: #line 611 "tychecker.dats" if (((ats_sum_ptr_type)tmp331)->tag != 13) { goto __ats_lab_92_0 ; } #line 611 "tychecker.dats" __ats_lab_89_1: #line 612 "tychecker.dats" tmp410 = the_looplevel_get_8 () ; #line 614 "tychecker.dats" do { /* branch: __ats_lab_90 */ #line 615 "tychecker.dats" __ats_lab_90_0: #line 615 "tychecker.dats" __ats_lab_90_1: #line 615 "tychecker.dats" tmp411 = atspre_gt_int_int (tmp410, 0) ; #line 615 "tychecker.dats" if (!tmp411) { goto __ats_lab_91_1 ; } #line 615 "tychecker.dats" tmp330 = statmp3 ; break ; /* branch: __ats_lab_91 */ #line 617 "tychecker.dats" __ats_lab_91_0: #line 617 "tychecker.dats" __ats_lab_91_1: #line 618 "tychecker.dats" tmp413 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg2), atslab_exp_loc) ; #line 618 "tychecker.dats" /* tmp412 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2PARCOMB_2posloc_2esats__prerr_location (tmp413) ; #line 619 "tychecker.dats" /* tmp414 = */ atspre_prerr_string (ATSstrcst(": exit(TIGER): [continue] can only occur inside a loop")) ; #line 620 "tychecker.dats" /* tmp415 = */ atspre_prerr_newline () ; #line 621 "tychecker.dats" /* tmp330 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2error_2esats__abort (1) ; break ; } while (0) ; break ; /* branch: __ats_lab_92 */ #line 624 "tychecker.dats" __ats_lab_92_0: #line 624 "tychecker.dats" // if (((ats_sum_ptr_type)tmp331)->tag != 14) { ats_deadcode_failure_handle () ; } #line 624 "tychecker.dats" __ats_lab_92_1: #line 624 "tychecker.dats" tmp416 = ats_caselptr_mac(anairiats_sum_1, tmp331, atslab_0) ; #line 624 "tychecker.dats" tmp417 = ats_caselptr_mac(anairiats_sum_1, tmp331, atslab_1) ; #line 625 "tychecker.dats" /* ats_ptr_type tmp418 ; */ #line 625 "tychecker.dats" tmp418 = arg0 ; #line 625 "tychecker.dats" /* ats_ptr_type tmp419 ; */ #line 625 "tychecker.dats" tmp419 = arg1 ; #line 626 "tychecker.dats" /* tmp420 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2edats__transDeclst ((&tmp418), (&tmp419), tmp416) ; #line 627 "tychecker.dats" tmp330 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2edats__transExpUp (tmp418, tmp419, tmp417) ; break ; } while (0) ; #line 637 "tychecker.dats" /* tmp421 = */ tigerats_exp_ty_set (arg2, tmp330) ; #line 637 "tychecker.dats" tmp329 = tmp330 ; return (tmp329) ; } /* end of [_2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2edats__transExpUp] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/tychecker.dats: 19282(line=641, offs=3) -- 19434(line=645, offs=2) */ ATSglobaldec() ats_void_type _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2edats__transExpDn (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp422) ; ATSlocal (ats_ptr_type, tmp423) ; // ATSlocal_void (tmp424) ; ATSlocal (ats_ptr_type, tmp425) ; __ats_lab__2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2edats__transExpDn: #line 642 "tychecker.dats" tmp423 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2edats__transExpUp (arg0, arg1, arg2) ; #line 643 "tychecker.dats" tmp425 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg2), atslab_exp_loc) ; #line 643 "tychecker.dats" /* tmp424 = */ tyleq_solve_0 (tmp425, tmp423, arg3) ; #line 644 "tychecker.dats" /* tmp422 = */ tigerats_exp_ty_set (arg2, arg3) ; return /* (tmp422) */ ; } /* end of [_2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2edats__transExpDn] */ /* // /home/fac2/hwxi/research/ATS/IMPLEMENT/Geizella/Anairiats/svn/ats-lang/prelude/DATS/list.dats: 50131(line=1731, offs=7) -- 50271(line=1734, offs=6) */ ATSstaticdec() ats_int_type loop_43 (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp429) ; ATSlocal (ats_ptr_type, tmp430) ; ATSlocal (ats_int_type, tmp431) ; __ats_lab_loop_43: #line 1733 "list.dats" do { /* branch: __ats_lab_93 */ #line 1733 "list.dats" __ats_lab_93_0: #line 1733 "list.dats" if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_94_0 ; } #line 1733 "list.dats" __ats_lab_93_1: #line 1733 "list.dats" tmp430 = ats_caselptr_mac(anairiats_sum_5, arg0, atslab_1) ; #line 1733 "list.dats" tmp431 = atspre_isucc (arg1) ; #line 1733 "list.dats" arg0 = tmp430 ; #line 1733 "list.dats" arg1 = tmp431 ; #line 1733 "list.dats" goto __ats_lab_loop_43 ; // tail call break ; /* branch: __ats_lab_94 */ #line 1733 "list.dats" __ats_lab_94_0: #line 1733 "list.dats" // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 1733 "list.dats" __ats_lab_94_1: #line 1733 "list.dats" tmp429 = arg1 ; break ; } while (0) ; return (tmp429) ; } /* end of [loop_43] */ /* // /home/fac2/hwxi/research/ATS/IMPLEMENT/Geizella/Anairiats/svn/ats-lang/prelude/DATS/list.dats: 50114(line=1730, offs=13) -- 50310(line=1737, offs=4) */ ATSstaticdec() ats_int_type list_length_01478_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp428) ; __ats_lab_list_length_01478_ats_ptr_type: #line 1736 "list.dats" tmp428 = loop_43 (arg0, 0) ; return (tmp428) ; } /* end of [list_length_01478_ats_ptr_type] */ /* // /home/fac2/hwxi/research/ATS/IMPLEMENT/Geizella/Anairiats/svn/ats-lang/prelude/DATS/reference.dats: 1834(line=59, offs=18) -- 1908(line=61, offs=4) */ ATSstaticdec() ats_ptr_type ref_01023_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp437) ; ATSlocal (ats_ptr_type, tmp438) ; __ats_lab_ref_01023_ats_ptr_type: #line 60 "reference.dats" /* ats_ptr_type tmp438 ; */ #line 60 "reference.dats" tmp438 = arg0 ; #line 60 "reference.dats" tmp437 = atspre_ref_make_elt_tsz ((&tmp438), sizeof(ats_ptr_type)) ; return (tmp437) ; } /* end of [ref_01023_ats_ptr_type] */ /* // /home/fac2/hwxi/research/ATS/IMPLEMENT/Geizella/Anairiats/svn/ats-lang/prelude/DATS/reference.dats: 2000(line=64, offs=27) -- 2015(line=64, offs=42) */ ATSstaticdec() ats_ptr_type ref_make_elt_01024_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp436) ; __ats_lab_ref_make_elt_01024_ats_ptr_type: #line 64 "reference.dats" tmp436 = ref_01023_ats_ptr_type (arg0) ; return (tmp436) ; } /* end of [ref_make_elt_01024_ats_ptr_type] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/tychecker.dats: 19698(line=657, offs=9) -- 20122(line=667, offs=8) */ ATSstaticdec() ats_ptr_type aux_44 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp432) ; ATSlocal (ats_ptr_type, tmp433) ; ATSlocal (ats_ptr_type, tmp434) ; ATSlocal (ats_ptr_type, tmp435) ; ATSlocal (ats_ptr_type, tmp439) ; ATSlocal (ats_ptr_type, tmp440) ; ATSlocal (ats_ptr_type, tmp441) ; ATSlocal (ats_ptr_type, tmp442) ; ATSlocal (anairiats_rec_16, tmp443) ; ATSlocal (ats_ptr_type, tmp444) ; __ats_lab_aux_44: #line 658 "tychecker.dats" do { /* branch: __ats_lab_95 */ #line 659 "tychecker.dats" __ats_lab_95_0: #line 659 "tychecker.dats" if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_96_0 ; } #line 659 "tychecker.dats" __ats_lab_95_1: #line 659 "tychecker.dats" tmp433 = ats_caselptr_mac(anairiats_sum_5, arg1, atslab_0) ; #line 659 "tychecker.dats" tmp434 = ats_caselptr_mac(anairiats_sum_5, arg1, atslab_1) ; #line 660 "tychecker.dats" tmp439 = (ats_sum_ptr_type)(&_2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2types_2esats__TYtop) ; #line 660 "tychecker.dats" tmp435 = ref_make_elt_01024_ats_ptr_type (tmp439) ; #line 661 "tychecker.dats" tmp440 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_15, tmp433), atslab_typdec_name) ; #line 662 "tychecker.dats" tmp442 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp442)->tag = 2 ; ats_selptrset_mac(anairiats_sum_1, tmp442, atslab_0, tmp440) ; ats_selptrset_mac(anairiats_sum_1, tmp442, atslab_1, tmp435) ; #line 662 "tychecker.dats" tmp441 = tymap_insert_20 (ats_ptrget_mac(ats_ptr_type, arg0), tmp440, tmp442) ; #line 662 "tychecker.dats" ats_ptrget_mac(ats_ptr_type, arg0) = tmp441 ; #line 664 "tychecker.dats" tmp443.atslab_0 = tmp435 ; tmp443.atslab_1 = tmp433 ; #line 664 "tychecker.dats" tmp444 = aux_44 (arg0, tmp434) ; #line 664 "tychecker.dats" tmp432 = ATS_MALLOC(sizeof(anairiats_sum_17)) ; ats_selptrset_mac(anairiats_sum_17, tmp432, atslab_0, tmp443) ; ats_selptrset_mac(anairiats_sum_17, tmp432, atslab_1, tmp444) ; break ; /* branch: __ats_lab_96 */ #line 666 "tychecker.dats" __ats_lab_96_0: #line 666 "tychecker.dats" // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 666 "tychecker.dats" __ats_lab_96_1: #line 666 "tychecker.dats" tmp432 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp432) ; } /* end of [aux_44] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/tychecker.dats: 20206(line=670, offs=9) -- 20586(line=682, offs=35) */ ATSstaticdec() ats_void_type loop_47 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp446) ; ATSlocal (anairiats_rec_16, tmp447) ; ATSlocal (ats_ptr_type, tmp448) ; ATSlocal (ats_ptr_type, tmp449) ; ATSlocal (ats_ptr_type, tmp450) ; ATSlocal (ats_ptr_type, tmp451) ; ATSlocal (ats_ptr_type, tmp452) ; ATSlocal (ats_ptr_type, tmp453) ; __ats_lab_loop_47: #line 674 "tychecker.dats" do { /* branch: __ats_lab_97 */ #line 675 "tychecker.dats" __ats_lab_97_0: #line 675 "tychecker.dats" if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_98_0 ; } #line 675 "tychecker.dats" __ats_lab_97_1: #line 675 "tychecker.dats" tmp447 = ats_caselptr_mac(anairiats_sum_17, arg1, atslab_0) ; #line 675 "tychecker.dats" tmp448 = &ats_caselptr_mac(anairiats_sum_17, arg1, atslab_1) ; #line 676 "tychecker.dats" tmp449 = ats_select_mac(tmp447, atslab_0) ; #line 676 "tychecker.dats" tmp450 = ats_select_mac(tmp447, atslab_1) ; #line 677 "tychecker.dats" tmp452 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_15, tmp450), atslab_typdec_typ) ; #line 677 "tychecker.dats" tmp451 = ty_make_typ_28 (arg0, tmp452) ; #line 677 "tychecker.dats" ats_ptrget_mac(ats_ptr_type, tmp449) = tmp451 ; #line 678 "tychecker.dats" tmp453 = ats_ptrget_mac(ats_ptr_type, tmp448) ; #line 678 "tychecker.dats" arg0 = arg0 ; #line 678 "tychecker.dats" arg1 = tmp453 ; #line 678 "tychecker.dats" goto __ats_lab_loop_47 ; // tail call break ; /* branch: __ats_lab_98 */ #line 682 "tychecker.dats" __ats_lab_98_0: #line 682 "tychecker.dats" // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 682 "tychecker.dats" __ats_lab_98_1: break ; } while (0) ; return /* (tmp446) */ ; } /* end of [loop_47] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/tychecker.dats: 20743(line=688, offs=9) -- 21413(line=706, offs=30) */ ATSstaticdec() ats_void_type loop_48 (ats_ptr_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ // ATSlocal_void (tmp456) ; ATSlocal (anairiats_rec_16, tmp457) ; ATSlocal (ats_ptr_type, tmp458) ; ATSlocal (ats_ptr_type, tmp459) ; ATSlocal (ats_ptr_type, tmp460) ; ATSlocal (ats_ptr_type, tmp461) ; // ATSlocal_void (tmp462) ; ATSlocal (ats_ptr_type, tmp463) ; ATSlocal (ats_int_type, tmp464) ; // ATSlocal_void (tmp465) ; // ATSlocal_void (tmp466) ; // ATSlocal_void (tmp467) ; __ats_lab_loop_48: #line 690 "tychecker.dats" do { /* branch: __ats_lab_99 */ #line 691 "tychecker.dats" __ats_lab_99_0: #line 691 "tychecker.dats" if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_102_0 ; } #line 691 "tychecker.dats" __ats_lab_99_1: #line 691 "tychecker.dats" tmp457 = ats_caselptr_mac(anairiats_sum_17, arg0, atslab_0) ; #line 691 "tychecker.dats" tmp458 = ats_caselptr_mac(anairiats_sum_17, arg0, atslab_1) ; #line 691 "tychecker.dats" ATS_FREE(arg0) ; #line 692 "tychecker.dats" tmp459 = ats_select_mac(tmp457, atslab_0) ; #line 692 "tychecker.dats" tmp461 = ats_ptrget_mac(ats_ptr_type, tmp459) ; #line 692 "tychecker.dats" tmp460 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2types_2esats__ty_normalize_max (tmp461, arg1) ; #line 693 "tychecker.dats" do { /* branch: __ats_lab_100 */ #line 694 "tychecker.dats" __ats_lab_100_0: #line 694 "tychecker.dats" if (((ats_sum_ptr_type)tmp460)->tag != 2) { goto __ats_lab_101_0 ; } #line 694 "tychecker.dats" __ats_lab_100_1: #line 694 "tychecker.dats" tmp463 = ats_caselptr_mac(anairiats_sum_1, tmp460, atslab_0) ; #line 695 "tychecker.dats" tmp464 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; #line 695 "tychecker.dats" ats_ptrget_mac(ats_int_type, arg2) = tmp464 ; #line 697 "tychecker.dats" /* tmp465 = */ atspre_prerr_string (ATSstrcst("The type [")) ; #line 697 "tychecker.dats" /* tmp466 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2symbol_2esats__prerr_symbol (tmp463) ; #line 698 "tychecker.dats" /* tmp467 = */ atspre_prerr_string (ATSstrcst("] is involved in a circular type definition.")) ; #line 699 "tychecker.dats" /* tmp462 = */ atspre_prerr_newline () ; break ; /* branch: __ats_lab_101 */ #line 701 "tychecker.dats" __ats_lab_101_0: #line 701 "tychecker.dats" __ats_lab_101_1: break ; } while (0) ; #line 704 "tychecker.dats" arg0 = tmp458 ; #line 704 "tychecker.dats" arg1 = arg1 ; #line 704 "tychecker.dats" arg2 = arg2 ; #line 704 "tychecker.dats" goto __ats_lab_loop_48 ; // tail call break ; /* branch: __ats_lab_102 */ #line 706 "tychecker.dats" __ats_lab_102_0: #line 706 "tychecker.dats" // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 706 "tychecker.dats" __ats_lab_102_1: break ; } while (0) ; return /* (tmp456) */ ; } /* end of [loop_48] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/tychecker.dats: 19556(line=653, offs=5) -- 21501(line=710, offs=2) */ ATSstaticdec() ats_void_type transTypdeclst_41 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp426) ; ATSlocal (ats_int_type, tmp427) ; ATSlocal (ats_ptr_type, tmp445) ; // ATSlocal_void (tmp454) ; ATSlocal (ats_int_type, tmp455) ; // ATSlocal_void (tmp468) ; ATSlocal (ats_int_type, tmp469) ; ATSlocal (ats_bool_type, tmp470) ; __ats_lab_transTypdeclst_41: #line 655 "tychecker.dats" tmp427 = list_length_01478_ats_ptr_type (arg1) ; #line 656 "tychecker.dats" tmp445 = aux_44 (arg0, arg1) ; #line 669 "tychecker.dats" /* tmp454 = */ loop_47 (ats_ptrget_mac(ats_ptr_type, arg0), tmp445) ; #line 685 "tychecker.dats" /* ats_int_type tmp455 ; */ #line 685 "tychecker.dats" tmp455 = 0 ; #line 687 "tychecker.dats" tmp469 = atspre_isub (tmp427, 1) ; #line 687 "tychecker.dats" /* tmp468 = */ loop_48 (tmp445, tmp469, (&tmp455)) ; #line 709 "tychecker.dats" tmp470 = atspre_gt_int_int (tmp455, 0) ; #line 709 "tychecker.dats" if (tmp470) { #line 709 "tychecker.dats" /* tmp426 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2error_2esats__abort (1) ; } else { /* empty */ } /* end of [if] */ return /* (tmp426) */ ; } /* end of [transTypdeclst_41] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/tychecker.dats: 21754(line=720, offs=9) -- 22267(line=736, offs=8) */ ATSstaticdec() ats_ptr_type aux_50 (ats_ptr_type arg0, ats_ref_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp472) ; ATSlocal (ats_ptr_type, tmp473) ; ATSlocal (ats_ptr_type, tmp474) ; ATSlocal (ats_ptr_type, tmp475) ; ATSlocal (ats_ptr_type, tmp476) ; ATSlocal (ats_ptr_type, tmp477) ; ATSlocal (ats_ptr_type, tmp478) ; ATSlocal (ats_ptr_type, tmp479) ; ATSlocal (anairiats_rec_18, tmp480) ; ATSlocal (ats_ptr_type, tmp481) ; __ats_lab_aux_50: #line 724 "tychecker.dats" do { /* branch: __ats_lab_103 */ #line 725 "tychecker.dats" __ats_lab_103_0: #line 725 "tychecker.dats" if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_104_0 ; } #line 725 "tychecker.dats" __ats_lab_103_1: #line 725 "tychecker.dats" tmp473 = ats_caselptr_mac(anairiats_sum_5, arg2, atslab_0) ; #line 725 "tychecker.dats" tmp474 = ats_caselptr_mac(anairiats_sum_5, arg2, atslab_1) ; #line 726 "tychecker.dats" tmp475 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, tmp473), atslab_fieldtyp_loc) ; #line 727 "tychecker.dats" tmp476 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, tmp473), atslab_fieldtyp_lab) ; #line 728 "tychecker.dats" tmp477 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, tmp473), atslab_fieldtyp_typ) ; #line 729 "tychecker.dats" tmp478 = tymap_search_15 (tmp475, arg0, tmp477) ; #line 730 "tychecker.dats" tmp479 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, tmp473), atslab_fieldtyp_escape) ; #line 731 "tychecker.dats" tmp480.atslab_0 = tmp476 ; tmp480.atslab_1 = tmp479 ; tmp480.atslab_2 = tmp478 ; #line 733 "tychecker.dats" tmp481 = aux_50 (arg0, arg1, tmp474) ; #line 733 "tychecker.dats" tmp472 = ATS_MALLOC(sizeof(anairiats_sum_19)) ; ats_selptrset_mac(anairiats_sum_19, tmp472, atslab_0, tmp480) ; ats_selptrset_mac(anairiats_sum_19, tmp472, atslab_1, tmp481) ; break ; /* branch: __ats_lab_104 */ #line 735 "tychecker.dats" __ats_lab_104_0: #line 735 "tychecker.dats" // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 735 "tychecker.dats" __ats_lab_104_1: #line 735 "tychecker.dats" tmp472 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp472) ; } /* end of [aux_50] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/tychecker.dats: 22332(line=739, offs=9) -- 22461(line=741, offs=35) */ ATSstaticdec() ats_ptr_type aux_51 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp484) ; ATSlocal (anairiats_rec_18, tmp485) ; ATSlocal (ats_ptr_type, tmp486) ; ATSlocal (ats_ptr_type, tmp487) ; ATSlocal (ats_ptr_type, tmp488) ; __ats_lab_aux_51: #line 739 "tychecker.dats" do { /* branch: __ats_lab_105 */ #line 740 "tychecker.dats" __ats_lab_105_0: #line 740 "tychecker.dats" if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_106_0 ; } #line 740 "tychecker.dats" __ats_lab_105_1: #line 740 "tychecker.dats" tmp485 = ats_caselptr_mac(anairiats_sum_19, arg0, atslab_0) ; #line 740 "tychecker.dats" tmp486 = ats_caselptr_mac(anairiats_sum_19, arg0, atslab_1) ; #line 740 "tychecker.dats" tmp487 = ats_select_mac(tmp485, atslab_2) ; #line 740 "tychecker.dats" tmp488 = aux_51 (tmp486) ; #line 740 "tychecker.dats" tmp484 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp484, atslab_0, tmp487) ; ats_selptrset_mac(anairiats_sum_5, tmp484, atslab_1, tmp488) ; break ; /* branch: __ats_lab_106 */ #line 741 "tychecker.dats" __ats_lab_106_0: #line 741 "tychecker.dats" // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 741 "tychecker.dats" __ats_lab_106_1: #line 741 "tychecker.dats" tmp484 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp484) ; } /* end of [aux_51] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/tychecker.dats: 21598(line=716, offs=4) -- 22839(line=754, offs=4) */ ATSstaticdec() anairiats_rec_16 transFundec_49 (ats_ptr_type arg0, ats_ref_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (anairiats_rec_16, tmp471) ; ATSlocal (ats_ptr_type, tmp482) ; ATSlocal (ats_ptr_type, tmp483) ; ATSlocal (ats_ptr_type, tmp489) ; ATSlocal (ats_ptr_type, tmp490) ; ATSlocal (ats_ptr_type, tmp491) ; ATSlocal (ats_ptr_type, tmp492) ; ATSlocal (ats_int_type, tmp493) ; ATSlocal (ats_ptr_type, tmp494) ; ATSlocal (ats_ptr_type, tmp495) ; ATSlocal (ats_ptr_type, tmp496) ; __ats_lab_transFundec_49: #line 719 "tychecker.dats" tmp483 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_20, arg2), atslab_fundec_arglst) ; #line 719 "tychecker.dats" tmp482 = aux_50 (arg0, arg1, tmp483) ; #line 738 "tychecker.dats" tmp489 = aux_51 (tmp482) ; #line 744 "tychecker.dats" tmp491 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_20, arg2), atslab_fundec_result) ; #line 744 "tychecker.dats" do { /* branch: __ats_lab_107 */ #line 745 "tychecker.dats" __ats_lab_107_0: #line 745 "tychecker.dats" if (tmp491 == (ats_sum_ptr_type)0) { goto __ats_lab_108_0 ; } #line 745 "tychecker.dats" __ats_lab_107_1: #line 745 "tychecker.dats" tmp492 = ats_caselptr_mac(anairiats_sum_6, tmp491, atslab_0) ; #line 745 "tychecker.dats" tmp490 = ty_make_typ_28 (arg0, tmp492) ; break ; /* branch: __ats_lab_108 */ #line 746 "tychecker.dats" __ats_lab_108_0: #line 746 "tychecker.dats" // if (tmp491 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 746 "tychecker.dats" __ats_lab_108_1: #line 746 "tychecker.dats" tmp490 = statmp3 ; break ; } while (0) ; #line 748 "tychecker.dats" tmp493 = the_funlevel_get_5 () ; #line 749 "tychecker.dats" tmp494 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2esats__vfty_fun_make (tmp493, tmp489, tmp490) ; #line 750 "tychecker.dats" tmp496 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_20, arg2), atslab_fundec_name) ; #line 750 "tychecker.dats" tmp495 = vftymap_insert_27 (ats_ptrget_mac(ats_ptr_type, arg1), tmp496, tmp494) ; #line 750 "tychecker.dats" ats_ptrget_mac(ats_ptr_type, arg1) = tmp495 ; #line 753 "tychecker.dats" tmp471.atslab_0 = tmp482 ; tmp471.atslab_1 = tmp490 ; return (tmp471) ; } /* end of [transFundec_49] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/tychecker.dats: 23010(line=762, offs=9) -- 23460(line=775, offs=8) */ ATSstaticdec() ats_ptr_type aux_53 (ats_ptr_type arg0, ats_ref_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp498) ; ATSlocal (ats_ptr_type, tmp499) ; ATSlocal (ats_ptr_type, tmp500) ; ATSlocal (anairiats_rec_16, tmp501) ; ATSlocal (anairiats_rec_18, tmp502) ; ATSlocal (ats_ptr_type, tmp503) ; ATSlocal (ats_ptr_type, tmp504) ; ATSlocal (ats_ptr_type, tmp505) ; ATSlocal (ats_ptr_type, tmp506) ; __ats_lab_aux_53: #line 767 "tychecker.dats" do { /* branch: __ats_lab_109 */ #line 768 "tychecker.dats" __ats_lab_109_0: #line 768 "tychecker.dats" if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_110_0 ; } #line 768 "tychecker.dats" __ats_lab_109_1: #line 768 "tychecker.dats" tmp499 = ats_caselptr_mac(anairiats_sum_5, arg2, atslab_0) ; #line 768 "tychecker.dats" tmp500 = ats_caselptr_mac(anairiats_sum_5, arg2, atslab_1) ; #line 769 "tychecker.dats" tmp501 = transFundec_49 (arg0, arg1, tmp499) ; #line 770 "tychecker.dats" tmp503 = ats_select_mac(tmp501, atslab_0) ; #line 770 "tychecker.dats" tmp504 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_20, tmp499), atslab_fundec_body) ; #line 770 "tychecker.dats" tmp505 = ats_select_mac(tmp501, atslab_1) ; #line 770 "tychecker.dats" tmp502.atslab_0 = tmp503 ; tmp502.atslab_1 = tmp504 ; tmp502.atslab_2 = tmp505 ; #line 772 "tychecker.dats" tmp506 = aux_53 (arg0, arg1, tmp500) ; #line 772 "tychecker.dats" tmp498 = ATS_MALLOC(sizeof(anairiats_sum_19)) ; ats_selptrset_mac(anairiats_sum_19, tmp498, atslab_0, tmp502) ; ats_selptrset_mac(anairiats_sum_19, tmp498, atslab_1, tmp506) ; break ; /* branch: __ats_lab_110 */ #line 774 "tychecker.dats" __ats_lab_110_0: #line 774 "tychecker.dats" // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 774 "tychecker.dats" __ats_lab_110_1: #line 774 "tychecker.dats" tmp498 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp498) ; } /* end of [aux_53] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/tychecker.dats: 23800(line=784, offs=17) -- 24278(line=795, offs=16) */ ATSstaticdec() ats_ptr_type loop1_55 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp511) ; ATSlocal (anairiats_rec_18, tmp512) ; ATSlocal (ats_ptr_type, tmp513) ; ATSlocal (ats_int_type, tmp514) ; ATSlocal (ats_ptr_type, tmp515) ; ATSlocal (ats_ptr_type, tmp516) ; ATSlocal (ats_ptr_type, tmp517) ; ATSlocal (ats_ptr_type, tmp518) ; ATSlocal (ats_ptr_type, tmp519) ; __ats_lab_loop1_55: #line 786 "tychecker.dats" do { /* branch: __ats_lab_112 */ #line 787 "tychecker.dats" __ats_lab_112_0: #line 787 "tychecker.dats" if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_113_0 ; } #line 787 "tychecker.dats" __ats_lab_112_1: #line 787 "tychecker.dats" tmp512 = ats_caselptr_mac(anairiats_sum_19, arg1, atslab_0) ; #line 787 "tychecker.dats" tmp513 = ats_caselptr_mac(anairiats_sum_19, arg1, atslab_1) ; #line 788 "tychecker.dats" tmp514 = the_funlevel_get_5 () ; #line 789 "tychecker.dats" tmp516 = ats_select_mac(tmp512, atslab_1) ; #line 789 "tychecker.dats" tmp517 = ats_select_mac(tmp512, atslab_2) ; #line 789 "tychecker.dats" tmp515 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2esats__vfty_var_make (tmp514, tmp516, tmp517) ; #line 790 "tychecker.dats" tmp519 = ats_select_mac(tmp512, atslab_0) ; #line 790 "tychecker.dats" tmp518 = vftymap_insert_27 (arg0, tmp519, tmp515) ; #line 792 "tychecker.dats" arg0 = tmp518 ; #line 792 "tychecker.dats" arg1 = tmp513 ; #line 792 "tychecker.dats" goto __ats_lab_loop1_55 ; // tail call break ; /* branch: __ats_lab_113 */ #line 794 "tychecker.dats" __ats_lab_113_0: #line 794 "tychecker.dats" // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 794 "tychecker.dats" __ats_lab_113_1: #line 794 "tychecker.dats" tmp511 = arg0 ; break ; } while (0) ; return (tmp511) ; } /* end of [loop1_55] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/tychecker.dats: 23551(line=778, offs=9) -- 24510(line=802, offs=8) */ ATSstaticdec() ats_void_type loop_54 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp508) ; ATSlocal (anairiats_rec_18, tmp509) ; ATSlocal (ats_ptr_type, tmp510) ; ATSlocal (ats_ptr_type, tmp520) ; ATSlocal (ats_ptr_type, tmp521) ; // ATSlocal_void (tmp522) ; ATSlocal (ats_ptr_type, tmp523) ; ATSlocal (ats_ptr_type, tmp524) ; __ats_lab_loop_54: #line 781 "tychecker.dats" do { /* branch: __ats_lab_111 */ #line 782 "tychecker.dats" __ats_lab_111_0: #line 782 "tychecker.dats" if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_114_0 ; } #line 782 "tychecker.dats" __ats_lab_111_1: #line 782 "tychecker.dats" tmp509 = ats_caselptr_mac(anairiats_sum_19, arg2, atslab_0) ; #line 782 "tychecker.dats" tmp510 = ats_caselptr_mac(anairiats_sum_19, arg2, atslab_1) ; #line 782 "tychecker.dats" ATS_FREE(arg2) ; #line 783 "tychecker.dats" tmp521 = ats_select_mac(tmp509, atslab_0) ; #line 783 "tychecker.dats" tmp520 = loop1_55 (arg1, tmp521) ; #line 797 "tychecker.dats" tmp523 = ats_select_mac(tmp509, atslab_1) ; #line 797 "tychecker.dats" tmp524 = ats_select_mac(tmp509, atslab_2) ; #line 797 "tychecker.dats" /* tmp522 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2edats__transExpDn (arg0, tmp520, tmp523, tmp524) ; #line 799 "tychecker.dats" arg0 = arg0 ; #line 799 "tychecker.dats" arg1 = arg1 ; #line 799 "tychecker.dats" arg2 = tmp510 ; #line 799 "tychecker.dats" goto __ats_lab_loop_54 ; // tail call break ; /* branch: __ats_lab_114 */ #line 801 "tychecker.dats" __ats_lab_114_0: #line 801 "tychecker.dats" // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 801 "tychecker.dats" __ats_lab_114_1: break ; } while (0) ; return /* (tmp508) */ ; } /* end of [loop_54] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/tychecker.dats: 22868(line=756, offs=4) -- 24565(line=806, offs=4) */ ATSstaticdec() ats_void_type transFundeclst_52 (ats_ptr_type arg0, ats_ref_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp497) ; ATSlocal (ats_ptr_type, tmp507) ; __ats_lab_transFundeclst_52: #line 761 "tychecker.dats" tmp507 = aux_53 (arg0, arg1, arg2) ; #line 777 "tychecker.dats" /* tmp497 = */ loop_54 (arg0, ats_ptrget_mac(ats_ptr_type, arg1), tmp507) ; return /* (tmp497) */ ; } /* end of [transFundeclst_52] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/tychecker.dats: 24613(line=808, offs=20) -- 25355(line=829, offs=4) */ ATSglobaldec() ats_void_type _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2edats__transDec (ats_ref_type arg0, ats_ref_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp525) ; ATSlocal (ats_ptr_type, tmp526) ; ATSlocal (ats_ptr_type, tmp527) ; // ATSlocal_void (tmp528) ; // ATSlocal_void (tmp529) ; ATSlocal (ats_ptr_type, tmp530) ; ATSlocal (ats_ptr_type, tmp531) ; ATSlocal (ats_ptr_type, tmp532) ; ATSlocal (ats_ptr_type, tmp533) ; ATSlocal (ats_ptr_type, tmp534) ; ATSlocal (ats_ptr_type, tmp535) ; ATSlocal (ats_ptr_type, tmp536) ; // ATSlocal_void (tmp537) ; ATSlocal (ats_int_type, tmp538) ; ATSlocal (ats_ptr_type, tmp539) ; ATSlocal (ats_ptr_type, tmp540) ; ATSlocal (ats_ptr_type, tmp541) ; __ats_lab__2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2edats__transDec: #line 809 "tychecker.dats" tmp526 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_21, arg2), atslab_dec_node) ; #line 809 "tychecker.dats" do { /* branch: __ats_lab_115 */ #line 810 "tychecker.dats" __ats_lab_115_0: #line 810 "tychecker.dats" if (((ats_sum_ptr_type)tmp526)->tag != 0) { goto __ats_lab_116_0 ; } #line 810 "tychecker.dats" __ats_lab_115_1: #line 810 "tychecker.dats" tmp527 = ats_caselptr_mac(anairiats_sum_0, tmp526, atslab_0) ; #line 811 "tychecker.dats" /* tmp528 = */ the_funlevel_inc_6 () ; #line 812 "tychecker.dats" /* tmp529 = */ transFundeclst_52 (ats_ptrget_mac(ats_ptr_type, arg0), arg1, tmp527) ; #line 813 "tychecker.dats" /* tmp525 = */ the_funlevel_dec_7 () ; break ; /* branch: __ats_lab_116 */ #line 815 "tychecker.dats" __ats_lab_116_0: #line 815 "tychecker.dats" if (((ats_sum_ptr_type)tmp526)->tag != 1) { goto __ats_lab_119_0 ; } #line 815 "tychecker.dats" __ats_lab_116_1: #line 815 "tychecker.dats" tmp530 = ats_caselptr_mac(anairiats_sum_22, tmp526, atslab_0) ; #line 815 "tychecker.dats" tmp531 = ats_caselptr_mac(anairiats_sum_22, tmp526, atslab_1) ; #line 815 "tychecker.dats" tmp532 = ats_caselptr_mac(anairiats_sum_22, tmp526, atslab_2) ; #line 815 "tychecker.dats" tmp533 = ats_caselptr_mac(anairiats_sum_22, tmp526, atslab_3) ; #line 816 "tychecker.dats" do { /* branch: __ats_lab_117 */ #line 817 "tychecker.dats" __ats_lab_117_0: #line 817 "tychecker.dats" if (tmp532 == (ats_sum_ptr_type)0) { goto __ats_lab_118_0 ; } #line 817 "tychecker.dats" __ats_lab_117_1: #line 817 "tychecker.dats" tmp535 = ats_caselptr_mac(anairiats_sum_6, tmp532, atslab_0) ; #line 818 "tychecker.dats" tmp536 = ty_make_typ_28 (ats_ptrget_mac(ats_ptr_type, arg0), tmp535) ; #line 819 "tychecker.dats" /* tmp537 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2edats__transExpDn (ats_ptrget_mac(ats_ptr_type, arg0), ats_ptrget_mac(ats_ptr_type, arg1), tmp533, tmp536) ; #line 819 "tychecker.dats" tmp534 = tmp536 ; break ; /* branch: __ats_lab_118 */ #line 821 "tychecker.dats" __ats_lab_118_0: #line 821 "tychecker.dats" // if (tmp532 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 821 "tychecker.dats" __ats_lab_118_1: #line 821 "tychecker.dats" tmp534 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2edats__transExpUp (ats_ptrget_mac(ats_ptr_type, arg0), ats_ptrget_mac(ats_ptr_type, arg1), tmp533) ; break ; } while (0) ; #line 823 "tychecker.dats" tmp538 = the_funlevel_get_5 () ; #line 824 "tychecker.dats" tmp539 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2esats__vfty_var_make (tmp538, tmp531, tmp534) ; #line 826 "tychecker.dats" tmp540 = vftymap_insert_27 (ats_ptrget_mac(ats_ptr_type, arg1), tmp530, tmp539) ; #line 826 "tychecker.dats" ats_ptrget_mac(ats_ptr_type, arg1) = tmp540 ; break ; /* branch: __ats_lab_119 */ #line 828 "tychecker.dats" __ats_lab_119_0: #line 828 "tychecker.dats" // if (((ats_sum_ptr_type)tmp526)->tag != 2) { ats_deadcode_failure_handle () ; } #line 828 "tychecker.dats" __ats_lab_119_1: #line 828 "tychecker.dats" tmp541 = ats_caselptr_mac(anairiats_sum_0, tmp526, atslab_0) ; #line 828 "tychecker.dats" /* tmp525 = */ transTypdeclst_41 (arg0, tmp541) ; break ; } while (0) ; return /* (tmp525) */ ; } /* end of [_2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2edats__transDec] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/tychecker.dats: 25400(line=831, offs=23) -- 25574(line=835, offs=22) */ ATSglobaldec() ats_void_type _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2edats__transDeclst (ats_ref_type arg0, ats_ref_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp542) ; ATSlocal (ats_ptr_type, tmp543) ; ATSlocal (ats_ptr_type, tmp544) ; // ATSlocal_void (tmp545) ; __ats_lab__2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2edats__transDeclst: #line 831 "tychecker.dats" do { /* branch: __ats_lab_120 */ #line 832 "tychecker.dats" __ats_lab_120_0: #line 832 "tychecker.dats" if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_121_0 ; } #line 832 "tychecker.dats" __ats_lab_120_1: #line 832 "tychecker.dats" tmp543 = ats_caselptr_mac(anairiats_sum_5, arg2, atslab_0) ; #line 832 "tychecker.dats" tmp544 = ats_caselptr_mac(anairiats_sum_5, arg2, atslab_1) ; #line 833 "tychecker.dats" /* tmp545 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2edats__transDec (arg0, arg1, tmp543) ; #line 833 "tychecker.dats" arg0 = arg0 ; #line 833 "tychecker.dats" arg1 = arg1 ; #line 833 "tychecker.dats" arg2 = tmp544 ; #line 833 "tychecker.dats" goto __ats_lab__2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2edats__transDeclst ; // tail call break ; /* branch: __ats_lab_121 */ #line 835 "tychecker.dats" __ats_lab_121_0: #line 835 "tychecker.dats" // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 835 "tychecker.dats" __ats_lab_121_1: break ; } while (0) ; return /* (tmp542) */ ; } /* end of [_2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2edats__transDeclst] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/tychecker.dats: 26361(line=873, offs=21) -- 27432(line=896, offs=4) */ ATSglobaldec() ats_ptr_type _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2esats__transProg (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp586) ; ATSlocal (ats_ptr_type, tmp587) ; ATSlocal (ats_ptr_type, tmp588) ; ATSlocal (ats_ptr_type, tmp589) ; ATSlocal (ats_ptr_type, tmp590) ; ATSlocal (ats_ptr_type, tmp591) ; ATSlocal (ats_ptr_type, tmp592) ; ATSlocal (ats_ptr_type, tmp593) ; ATSlocal (ats_ptr_type, tmp594) ; ATSlocal (ats_ptr_type, tmp595) ; ATSlocal (ats_ptr_type, tmp596) ; ATSlocal (ats_ptr_type, tmp597) ; ATSlocal (ats_ptr_type, tmp598) ; ATSlocal (ats_ptr_type, tmp599) ; ATSlocal (ats_ptr_type, tmp600) ; ATSlocal (ats_ptr_type, tmp601) ; ATSlocal (ats_ptr_type, tmp602) ; __ats_lab__2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2esats__transProg: #line 875 "tychecker.dats" tmp587 = tymap_empty_12 () ; #line 876 "tychecker.dats" tmp588 = tymap_insert_20 (tmp587, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2symbol_2esats__symbol_INT, statmp0) ; #line 877 "tychecker.dats" tmp589 = tymap_insert_20 (tmp588, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2symbol_2esats__symbol_STRING, statmp1) ; #line 878 "tychecker.dats" tmp590 = tymap_insert_20 (tmp589, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2symbol_2esats__symbol_UNIT, statmp3) ; #line 881 "tychecker.dats" tmp591 = vftymap_empty_14 () ; #line 882 "tychecker.dats" tmp592 = vftymap_insert_27 (tmp591, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2symbol_2esats__symbol_CHR, statmp562) ; #line 883 "tychecker.dats" tmp593 = vftymap_insert_27 (tmp592, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2symbol_2esats__symbol_FLUSH, statmp554) ; #line 884 "tychecker.dats" tmp594 = vftymap_insert_27 (tmp593, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2symbol_2esats__symbol_GETCHAR, statmp556) ; #line 885 "tychecker.dats" tmp595 = vftymap_insert_27 (tmp594, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2symbol_2esats__symbol_ORD, statmp558) ; #line 886 "tychecker.dats" tmp596 = vftymap_insert_27 (tmp595, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2symbol_2esats__symbol_PRINT, statmp546) ; #line 887 "tychecker.dats" tmp597 = vftymap_insert_27 (tmp596, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2symbol_2esats__symbol_PRINT_INT, statmp550) ; #line 888 "tychecker.dats" tmp598 = vftymap_insert_27 (tmp597, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2symbol_2esats__symbol_SIZE, statmp566) ; #line 889 "tychecker.dats" tmp599 = vftymap_insert_27 (tmp598, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2symbol_2esats__symbol_SUBSTRING, statmp570) ; #line 890 "tychecker.dats" tmp600 = vftymap_insert_27 (tmp599, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2symbol_2esats__symbol_CONCAT, statmp574) ; #line 891 "tychecker.dats" tmp601 = vftymap_insert_27 (tmp600, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2symbol_2esats__symbol_NOT, statmp578) ; #line 892 "tychecker.dats" tmp602 = vftymap_insert_27 (tmp601, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2symbol_2esats__symbol_EXIT, statmp582) ; #line 895 "tychecker.dats" tmp586 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2edats__transExpUp (tmp590, tmp602, arg0) ; return (tmp586) ; } /* end of [_2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2esats__transProg] */ /* static load function */ extern ats_void_type _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2error_2esats__staload (void) ; extern ats_void_type _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2stamp_2esats__staload (void) ; extern ats_void_type _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2PARCOMB_2posloc_2esats__staload (void) ; extern ats_void_type _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2symbol_2esats__staload (void) ; extern ats_void_type _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2types_2esats__staload (void) ; extern ats_void_type _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2absyn_2esats__staload (void) ; extern ats_void_type _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2esats__staload (void) ; extern ats_void_type _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2symbol_2edats__staload (void) ; extern ats_void_type _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2LIB_2funmap_avltree_2edats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats__staload (void) ; ats_void_type _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2edats__staload () { static int _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2edats__staload_flag = 0 ; if (_2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2edats__staload_flag) return ; _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2edats__staload_flag = 1 ; _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2error_2esats__staload () ; _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2stamp_2esats__staload () ; _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2PARCOMB_2posloc_2esats__staload () ; _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2symbol_2esats__staload () ; _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2types_2esats__staload () ; _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2absyn_2esats__staload () ; _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2esats__staload () ; _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2symbol_2edats__staload () ; _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2LIB_2funmap_avltree_2edats__staload () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2edats__dynload_flag ; ats_void_type _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2edats__dynload () { _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2edats__dynload_flag = 1 ; _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2edats__staload () ; #ifdef _ATS_PROOFCHECK ATS_2d0_2e2_2e6_2prelude_2SATS_2list_2esats__list_length_is_nonnegative_prfck () ; _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2LIB_2hashtable_2edats__hashtbl_v_split_prfck () ; _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2LIB_2hashtable_2edats__hashtbl_v_unsplit_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; #endif /* _ATS_PROOFCHECK */ /* marking static variables for GC */ ATS_GC_MARKROOT(&statmp0, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp1, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp2, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp3, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp30, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp41, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp50, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp546, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp547, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp548, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp549, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp550, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp551, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp552, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp553, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp554, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp555, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp556, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp557, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp558, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp559, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp560, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp561, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp562, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp563, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp564, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp565, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp566, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp567, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp568, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp569, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp570, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp571, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp572, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp573, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp574, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp575, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp576, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp577, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp578, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp579, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp580, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp581, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp582, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp583, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp584, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp585, sizeof(ats_ptr_type)) ; /* marking external values for GC */ /* code for dynamic loading */ #line 34 "tychecker.dats" statmp0 = ATS_MALLOC(sizeof(anairiats_sum_0)) ; ((ats_sum_ptr_type)statmp0)->tag = 1 ; ats_selptrset_mac(anairiats_sum_0, statmp0, atslab_0, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2symbol_2esats__symbol_INT) ; #line 35 "tychecker.dats" statmp1 = ATS_MALLOC(sizeof(anairiats_sum_0)) ; ((ats_sum_ptr_type)statmp1)->tag = 1 ; ats_selptrset_mac(anairiats_sum_0, statmp1, atslab_0, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2symbol_2esats__symbol_STRING) ; #line 37 "tychecker.dats" statmp2 = (ats_sum_ptr_type)(&_2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2types_2esats__TYnil) ; #line 37 "tychecker.dats" statmp3 = (ats_sum_ptr_type)(&_2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2types_2esats__TYunit) ; #line 81 "tychecker.dats" statmp30 = ref_make_elt_01024_ats_int_type (0) ; #line 101 "tychecker.dats" statmp41 = ref_make_elt_01024_ats_int_type (0) ; #line 129 "tychecker.dats" statmp50 = __ats_fun_11_closure_make () ; #line 841 "tychecker.dats" statmp547 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, statmp547, atslab_0, statmp1) ; #line 841 "tychecker.dats" statmp548 = &ats_selptr_mac(ats_castptr_mac(anairiats_sum_5, statmp547), atslab_1) ; #line 841 "tychecker.dats" statmp549 = (ats_sum_ptr_type)0 ; #line 841 "tychecker.dats" ats_ptrget_mac(ats_ptr_type, statmp548) = statmp549 ; #line 841 "tychecker.dats" statmp546 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2esats__vfty_fun_make (0, statmp547, statmp3) ; #line 844 "tychecker.dats" statmp551 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, statmp551, atslab_0, statmp0) ; #line 844 "tychecker.dats" statmp552 = &ats_selptr_mac(ats_castptr_mac(anairiats_sum_5, statmp551), atslab_1) ; #line 844 "tychecker.dats" statmp553 = (ats_sum_ptr_type)0 ; #line 844 "tychecker.dats" ats_ptrget_mac(ats_ptr_type, statmp552) = statmp553 ; #line 844 "tychecker.dats" statmp550 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2esats__vfty_fun_make (0, statmp551, statmp3) ; #line 847 "tychecker.dats" statmp555 = (ats_sum_ptr_type)0 ; #line 847 "tychecker.dats" statmp554 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2esats__vfty_fun_make (0, statmp555, statmp3) ; #line 850 "tychecker.dats" statmp557 = (ats_sum_ptr_type)0 ; #line 850 "tychecker.dats" statmp556 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2esats__vfty_fun_make (0, statmp557, statmp1) ; #line 853 "tychecker.dats" statmp559 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, statmp559, atslab_0, statmp1) ; #line 853 "tychecker.dats" statmp560 = &ats_selptr_mac(ats_castptr_mac(anairiats_sum_5, statmp559), atslab_1) ; #line 853 "tychecker.dats" statmp561 = (ats_sum_ptr_type)0 ; #line 853 "tychecker.dats" ats_ptrget_mac(ats_ptr_type, statmp560) = statmp561 ; #line 853 "tychecker.dats" statmp558 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2esats__vfty_fun_make (0, statmp559, statmp0) ; #line 856 "tychecker.dats" statmp563 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, statmp563, atslab_0, statmp0) ; #line 856 "tychecker.dats" statmp564 = &ats_selptr_mac(ats_castptr_mac(anairiats_sum_5, statmp563), atslab_1) ; #line 856 "tychecker.dats" statmp565 = (ats_sum_ptr_type)0 ; #line 856 "tychecker.dats" ats_ptrget_mac(ats_ptr_type, statmp564) = statmp565 ; #line 856 "tychecker.dats" statmp562 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2esats__vfty_fun_make (0, statmp563, statmp1) ; #line 859 "tychecker.dats" statmp567 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, statmp567, atslab_0, statmp1) ; #line 859 "tychecker.dats" statmp568 = &ats_selptr_mac(ats_castptr_mac(anairiats_sum_5, statmp567), atslab_1) ; #line 859 "tychecker.dats" statmp569 = (ats_sum_ptr_type)0 ; #line 859 "tychecker.dats" ats_ptrget_mac(ats_ptr_type, statmp568) = statmp569 ; #line 859 "tychecker.dats" statmp566 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2esats__vfty_fun_make (0, statmp567, statmp0) ; #line 862 "tychecker.dats" statmp571 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, statmp571, atslab_0, statmp1) ; #line 862 "tychecker.dats" statmp572 = &ats_selptr_mac(ats_castptr_mac(anairiats_sum_5, statmp571), atslab_1) ; #line 862 "tychecker.dats" statmp573 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, statmp573, atslab_0, statmp0) ; #line 862 "tychecker.dats" ats_ptrget_mac(ats_ptr_type, statmp572) = statmp573 ; #line 862 "tychecker.dats" statmp572 = &ats_selptr_mac(ats_castptr_mac(anairiats_sum_5, statmp573), atslab_1) ; #line 862 "tychecker.dats" statmp573 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, statmp573, atslab_0, statmp0) ; #line 862 "tychecker.dats" ats_ptrget_mac(ats_ptr_type, statmp572) = statmp573 ; #line 862 "tychecker.dats" statmp572 = &ats_selptr_mac(ats_castptr_mac(anairiats_sum_5, statmp573), atslab_1) ; #line 862 "tychecker.dats" statmp573 = (ats_sum_ptr_type)0 ; #line 862 "tychecker.dats" ats_ptrget_mac(ats_ptr_type, statmp572) = statmp573 ; #line 861 "tychecker.dats" statmp570 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2esats__vfty_fun_make (0, statmp571, statmp1) ; #line 865 "tychecker.dats" statmp575 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, statmp575, atslab_0, statmp1) ; #line 865 "tychecker.dats" statmp576 = &ats_selptr_mac(ats_castptr_mac(anairiats_sum_5, statmp575), atslab_1) ; #line 865 "tychecker.dats" statmp577 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, statmp577, atslab_0, statmp1) ; #line 865 "tychecker.dats" ats_ptrget_mac(ats_ptr_type, statmp576) = statmp577 ; #line 865 "tychecker.dats" statmp576 = &ats_selptr_mac(ats_castptr_mac(anairiats_sum_5, statmp577), atslab_1) ; #line 865 "tychecker.dats" statmp577 = (ats_sum_ptr_type)0 ; #line 865 "tychecker.dats" ats_ptrget_mac(ats_ptr_type, statmp576) = statmp577 ; #line 864 "tychecker.dats" statmp574 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2esats__vfty_fun_make (0, statmp575, statmp1) ; #line 868 "tychecker.dats" statmp579 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, statmp579, atslab_0, statmp0) ; #line 868 "tychecker.dats" statmp580 = &ats_selptr_mac(ats_castptr_mac(anairiats_sum_5, statmp579), atslab_1) ; #line 868 "tychecker.dats" statmp581 = (ats_sum_ptr_type)0 ; #line 868 "tychecker.dats" ats_ptrget_mac(ats_ptr_type, statmp580) = statmp581 ; #line 868 "tychecker.dats" statmp578 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2esats__vfty_fun_make (0, statmp579, statmp0) ; #line 871 "tychecker.dats" statmp583 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, statmp583, atslab_0, statmp0) ; #line 871 "tychecker.dats" statmp584 = &ats_selptr_mac(ats_castptr_mac(anairiats_sum_5, statmp583), atslab_1) ; #line 871 "tychecker.dats" statmp585 = (ats_sum_ptr_type)0 ; #line 871 "tychecker.dats" ats_ptrget_mac(ats_ptr_type, statmp584) = statmp585 ; #line 871 "tychecker.dats" statmp582 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tychecker_2esats__vfty_fun_make (0, statmp583, statmp3) ; return ; } /* end of [dynload function] */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [tychecker_dats.c] */