/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2011-9-10: 22h:12m ** */ /* 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 */ #include "libc/CATS/stdio.cats" #include "libc/sys/CATS/types.cats" /* external codes at top */ /* type definitions */ typedef struct { ats_ptr_type atslab_3 ; ats_ptr_type atslab_4 ; } anairiats_rec_0 ; typedef struct { ats_ptr_type atslab_2 ; ats_size_type atslab_3 ; } anairiats_rec_1 ; typedef struct { int tag ; ats_int_type atslab_0 ; } anairiats_sum_2 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_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_v1ar_loc ; ats_ptr_type atslab_v1ar_node ; ats_ptr_type atslab_v1ar_ty ; } anairiats_rec_7 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_8 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_9 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_10 ; typedef struct { ats_ptr_type atslab_fieldexp_loc ; ats_ptr_type atslab_fieldexp_lab ; ats_ptr_type atslab_fieldexp_exp ; } anairiats_rec_11 ; typedef struct { ats_ptr_type atslab_exp_loc ; ats_ptr_type atslab_exp_node ; ats_ptr_type atslab_exp_ty ; } anairiats_rec_12 ; 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_13 ; 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_14 ; 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_15 ; typedef struct { ats_ptr_type atslab_dec_loc ; ats_ptr_type atslab_dec_node ; } anairiats_rec_16 ; 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_17 ; /* 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_exn_type, ATS_2d0_2e2_2e6_2prelude_2SATS_2array_2esats__ArraySubscriptException) ; 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__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_2interp0_2esats__LABVALUELSTcons) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2esats__LABVALUELSTnil) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2esats__VALint) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2esats__VALstring) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2esats__VALrec) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2esats__VALarr) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2esats__VALunit) ; 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) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2edats__VFVALvar) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2edats__VFVALfun) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2edats__VFVALpre) ; ATSextern_val(ats_exn_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2edats__LoopBreak) ; ATSextern_val(ats_exn_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2edats__LoopContinue) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_assert) (ats_bool_type) ; ATSextern_fun(ats_void_type, atspre_assert_errmsg) (ats_bool_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_prerr_newline) () ; ATSextern_fun(ats_char_type, atspre_char_of_int) (ats_int_type) ; ATSextern_fun(ats_int_type, atspre_int_of_char) (ats_char_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_int_type, atspre_mul_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_div_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_lt_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_gte_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_void_type, atspre_fprint_int) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_void_type, atspre_print_int) (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_int_type, atspre_int_of_size) (ats_size_type) ; ATSextern_fun(ats_size_type, atspre_size_of_int1) (ats_int_type) ; ATSextern_fun(ats_size_type, atspre_size1_of_int1) (ats_int_type) ; ATSextern_fun(ats_size_type, atspre_add_size1_int1) (ats_size_type, ats_int_type) ; ATSextern_fun(ats_size_type, atspre_sub_size1_int1) (ats_size_type, ats_int_type) ; ATSextern_fun(ats_size_type, atspre_mul2_size1_size1) (ats_size_type, ats_size_type) ; ATSextern_fun(ats_bool_type, atspre_lt_size1_size1) (ats_size_type, ats_size_type) ; ATSextern_fun(ats_bool_type, atspre_lte_int1_size1) (ats_int_type, ats_size_type) ; ATSextern_fun(ats_bool_type, atspre_gt_size1_int1) (ats_size_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_neq_size1_size1) (ats_size_type, ats_size_type) ; ATSextern_fun(ats_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_print_string) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_prerr_string) (ats_ptr_type) ; ATSextern_fun(ats_char_type, atspre_string_get_char_at__intsz) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, atspre_string_make_char) (ats_size_type, ats_char_type) ; ATSextern_fun(ats_ptr_type, atspre_string_make_substring) (ats_ptr_type, ats_size_type, ats_size_type) ; ATSextern_fun(ats_ptr_type, atspre_string_append) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_size_type, atspre_string_length) (ats_ptr_type) ; ATSextern_fun(ats_size_type, atspre_string_length) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_isnot_at_end) (ats_ptr_type, ats_size_type) ; ATSextern_fun(ats_ptr_type, atspre_array_ptr_alloc_tsz) (ats_size_type, ats_size_type) ; ATSextern_fun(ats_void_type, atspre_array_ptr_free) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_array_ptr_initialize_elt_tsz) (ats_ref_type, ats_size_type, ats_ref_type, ats_size_type) ; ATSextern_fun(ats_void_type, atspre_array_ptr_initialize_funenv_tsz) (ats_ref_type, ats_size_type, ats_ptr_type, ats_size_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_array_ptr_initialize_cloenv_tsz) (ats_ref_type, ats_size_type, ats_ref_type, ats_size_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, atspre_array_ptr_split_tsz) (ats_ptr_type, ats_size_type, ats_size_type) ; ATSextern_fun(ats_ptr_type, atspre_array_ptr_takeout_tsz) (ats_ptr_type, ats_size_type, ats_size_type) ; ATSextern_fun(anairiats_rec_0, atspre_array_ptr_takeout2_tsz) (ats_ptr_type, ats_size_type, ats_size_type, ats_size_type) ; ATSextern_fun(ats_void_type, atspre_array_ptr_foreach_funenv_tsz) (ats_ref_type, ats_ptr_type, ats_size_type, ats_size_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_array_ptr_iforeach_funenv_tsz) (ats_ref_type, ats_ptr_type, ats_size_type, ats_size_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, atspre_array2_ptr_takeout_tsz) (ats_ptr_type, ats_size_type, ats_size_type, ats_size_type) ; ATSextern_fun(ats_ptr_type, ATS_2d0_2e2_2e6_2prelude_2SATS_2array0_2esats__array0_make_arrsz) (anairiats_rec_1) ; ATSextern_fun(ats_void_type, atslib_fflush_exn) (ats_ptr_type) ; ATSextern_fun(ats_int_type, atslib_getchar) () ; 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_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_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_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_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_2interp0_2esats__fprint_value) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2edats__interp0Var) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2edats__interp0Exp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2edats__interp0Dec) (ats_ptr_type, ats_ptr_type) ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2SATS_2array_2esats__array_v_takeout2_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2SATS_2list_2esats__list_length_is_nonnegative_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2array_2edats____copy_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2array_2edats____free_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2array_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2array_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 () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; #endif /* _ATS_PROOFCHECK */ /* sum constructor declarations */ ATSglobal(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2edats__VFVALvar) ; ATSglobal(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2edats__VFVALfun) ; ATSglobal(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2edats__VFVALpre) ; /* exn constructor declarations */ ATSglobal(ats_exn_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2edats__LoopBreak) ; ATSglobal(ats_exn_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2edats__LoopContinue) ; /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_int_type __ats_fun_3 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_clo_ptr_type __ats_fun_3_closure_make () ; static ats_int_type __ats_fun_3_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type funmap_empty_01942_ () ; static ats_ptr_type env_empty_4 () ; static ats_int_type compare_key_key_01941_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) ; static ats_ptr_type search_8 (ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type arg0) ; static ats_clo_ptr_type search_8_closure_make (ats_ptr_type env0, ats_clo_ref_type env1) ; static ats_ptr_type search_8_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_ptr_type funmap_search_01946_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) ; static ats_ptr_type env_search_6 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_int_type avltree_height_01798_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type avltree_rrotate_01817_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_01801_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_13 (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_13_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_clo_ref_type env2) ; static ats_ptr_type insert_13_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ref_type arg1) ; static ats_ptr_type funmap_insert_status_01948_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_01947_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 env_insert_10 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type loop_18 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type array0_get_elt_at_01357_ats_ptr_type (ats_ptr_type arg0, ats_size_type arg1) ; static ats_ptr_type array0_get_elt_at__intsz_01359_ats_ptr_type (ats_ptr_type arg0, ats_int_type arg1) ; 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 loop_22 (ats_ptr_type env0, ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_clo_ptr_type loop_22_closure_make (ats_ptr_type env0) ; static ats_ptr_type loop_22_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type __ats_fun_25 (ats_ptr_type env0, ats_ptr_type arg0) ; static ats_clo_ptr_type __ats_fun_25_closure_make (ats_ptr_type env0) ; static ats_ptr_type __ats_fun_25_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_ptr_type app_27 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type loop_29 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) ; static ats_ptr_type list_map_funenv_01479_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type list_map_vclo_01481_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ref_type arg1) ; static ats_ptr_type interp0Exp_CallExp_21 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_int_type interp0Exp_OpExp_eqop_30 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type interp0Exp_OpExp_31 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_void_type loop_33 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) ; static ats_ptr_type interp0Exp_RecordExp_32 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type loop_35 (ats_ptr_type env0, ats_ptr_type arg0) ; static ats_clo_ptr_type loop_35_closure_make (ats_ptr_type env0) ; static ats_ptr_type loop_35_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_ptr_type interp0Exp_SeqExp_34 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type loop_37 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_void_type array0_set_elt_at_01358_ats_ptr_type (ats_ptr_type arg0, ats_size_type arg1, ats_ptr_type arg2) ; static ats_void_type array0_set_elt_at__intsz_01360_ats_ptr_type (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) ; static ats_void_type interp0Exp_AssignExp_36 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type loop_41 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type interp0Exp_WhileExp_40 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type loop_43 (ats_int_type env0, ats_ptr_type env1, ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) ; static ats_clo_ptr_type loop_43_closure_make (ats_int_type env0, ats_ptr_type env1) ; static ats_void_type loop_43_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) ; static ats_void_type interp0Exp_ForExp_42 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) ; static ats_ptr_type interp0Exp_BreakExp_44 () ; static ats_ptr_type interp0Exp_ContinueExp_45 () ; static ats_ptr_type loop_47 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type array0_make_elt_01354_ats_ptr_type (ats_size_type arg0, ats_ptr_type arg1) ; static ats_ptr_type list_map_fun_01480_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type __ats_fun_51 (ats_ptr_type arg0) ; static ats_void_type interp0Fundec_49 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type loop_53 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type __ats_fun_54 (ats_ptr_type arg0) ; static ats_ptr_type __ats_fun_55 (ats_ptr_type arg0) ; static ats_ptr_type __ats_fun_56 (ats_ptr_type arg0) ; static ats_ptr_type __ats_fun_57 (ats_ptr_type arg0) ; static ats_ptr_type __ats_fun_58 (ats_ptr_type arg0) ; static ats_ptr_type __ats_fun_59 (ats_ptr_type arg0) ; static ats_ptr_type __ats_fun_60 (ats_ptr_type arg0) ; static ats_ptr_type __ats_fun_61 (ats_ptr_type arg0) ; static ats_ptr_type __ats_fun_62 (ats_ptr_type arg0) ; static ats_ptr_type __ats_fun_63 (ats_ptr_type arg0) ; /* partial value template declarations */ /* static temporary variable declarations */ ATSstatic (ats_ptr_type, statmp15) ; /* external value variable declarations */ /* function implementations */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 664(line=39, offs=24) -- 1270(line=58, offs=4) */ ATSglobaldec() ats_void_type _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2esats__fprint_value (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp0) ; ATSlocal (ats_int_type, tmp1) ; // ATSlocal_void (tmp2) ; // ATSlocal_void (tmp3) ; ATSlocal (ats_ptr_type, tmp4) ; // ATSlocal_void (tmp5) ; // ATSlocal_void (tmp6) ; // ATSlocal_void (tmp7) ; // ATSlocal_void (tmp8) ; // ATSlocal_void (tmp9) ; // ATSlocal_void (tmp10) ; // ATSlocal_void (tmp11) ; __ats_lab__2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2esats__fprint_value: #line 42 "interp0.dats" do { /* branch: __ats_lab_0 */ #line 43 "interp0.dats" __ats_lab_0_0: #line 43 "interp0.dats" if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_1_0 ; } #line 43 "interp0.dats" __ats_lab_0_1: #line 43 "interp0.dats" tmp1 = ats_caselptr_mac(anairiats_sum_2, arg1, atslab_0) ; #line 44 "interp0.dats" /* tmp2 = */ atspre_fprint_string (arg0, ATSstrcst("VALint(")) ; #line 44 "interp0.dats" /* tmp3 = */ atspre_fprint_int (arg0, tmp1) ; #line 44 "interp0.dats" /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_1 */ #line 46 "interp0.dats" __ats_lab_1_0: #line 46 "interp0.dats" if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_2_0 ; } #line 46 "interp0.dats" __ats_lab_1_1: #line 46 "interp0.dats" tmp4 = ats_caselptr_mac(anairiats_sum_3, arg1, atslab_0) ; #line 47 "interp0.dats" /* tmp5 = */ atspre_fprint_string (arg0, ATSstrcst("VALstring(")) ; #line 47 "interp0.dats" /* tmp6 = */ atspre_fprint_string (arg0, tmp4) ; #line 47 "interp0.dats" /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_2 */ #line 49 "interp0.dats" __ats_lab_2_0: #line 49 "interp0.dats" if (((ats_sum_ptr_type)arg1)->tag != 2) { goto __ats_lab_3_0 ; } #line 49 "interp0.dats" __ats_lab_2_1: #line 50 "interp0.dats" /* tmp7 = */ atspre_fprint_string (arg0, ATSstrcst("VALrec(")) ; #line 50 "interp0.dats" /* tmp8 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; #line 50 "interp0.dats" /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_3 */ #line 52 "interp0.dats" __ats_lab_3_0: #line 52 "interp0.dats" if (((ats_sum_ptr_type)arg1)->tag != 3) { goto __ats_lab_4_0 ; } #line 52 "interp0.dats" __ats_lab_3_1: #line 53 "interp0.dats" /* tmp9 = */ atspre_fprint_string (arg0, ATSstrcst("VALarr(")) ; #line 53 "interp0.dats" /* tmp10 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; #line 53 "interp0.dats" /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_4 */ #line 55 "interp0.dats" __ats_lab_4_0: #line 55 "interp0.dats" // if (((ats_sum_ptr_type)arg1)->tag != 4) { ats_deadcode_failure_handle () ; } #line 55 "interp0.dats" __ats_lab_4_1: #line 56 "interp0.dats" /* tmp11 = */ atspre_fprint_string (arg0, ATSstrcst("VALunit(")) ; #line 56 "interp0.dats" /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; } while (0) ; return /* (tmp0) */ ; } /* end of [_2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2esats__fprint_value] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 1319(line=60, offs=23) -- 1353(line=60, offs=57) */ ATSglobaldec() ats_void_type _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2esats__print_value (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp12) ; __ats_lab__2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2esats__print_value: #line 60 "interp0.dats" /* tmp12 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2esats__fprint_value (stdout, arg0) ; return /* (tmp12) */ ; } /* end of [_2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2esats__print_value] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 1376(line=61, offs=23) -- 1410(line=61, offs=57) */ ATSglobaldec() ats_void_type _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2esats__prerr_value (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp13) ; __ats_lab__2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2esats__prerr_value: #line 61 "interp0.dats" /* tmp13 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2esats__fprint_value (stderr, arg0) ; return /* (tmp13) */ ; } /* end of [_2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2esats__prerr_value] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 1806(line=86, offs=3) -- 1860(line=86, offs=57) */ ATSstaticdec() ats_int_type __ats_fun_3 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp14) ; __ats_lab___ats_fun_3: #line 86 "interp0.dats" tmp14 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2symbol_2esats__compare_symbol_symbol (arg0, arg1) ; return (tmp14) ; } /* end of [__ats_fun_3] */ typedef struct { ats_fun_ptr_type closure_fun ; } __ats_fun_3_closure_type ; ats_int_type __ats_fun_3_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) { return __ats_fun_3 (arg0, arg1) ; } /* end of function */ ATSinline() ats_void_type __ats_fun_3_closure_init (__ats_fun_3_closure_type *p_clo) { p_clo->closure_fun = (ats_fun_ptr_type)&__ats_fun_3_clofun ; return ; } /* end of function */ ats_clo_ptr_type __ats_fun_3_closure_make () { __ats_fun_3_closure_type *p_clo = ATS_MALLOC(sizeof(__ats_fun_3_closure_type)) ; __ats_fun_3_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_01942_ () { /* local vardec */ ATSlocal (ats_ptr_type, tmp17) ; __ats_lab_funmap_empty_01942_: #line 105 "funmap_avltree.dats" tmp17 = (ats_sum_ptr_type)0 ; return (tmp17) ; } /* end of [funmap_empty_01942_] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 1902(line=91, offs=4) -- 1942(line=91, offs=44) */ ATSstaticdec() ats_ptr_type env_empty_4 () { /* local vardec */ ATSlocal (ats_ptr_type, tmp16) ; __ats_lab_env_empty_4: #line 91 "interp0.dats" tmp16 = funmap_empty_01942_ () ; return (tmp16) ; } /* end of [env_empty_4] */ /* // /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_01941_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_int_type, tmp27) ; __ats_lab_compare_key_key_01941_ats_ptr_type: #line 29 "funmap_avltree.dats" tmp27 = ((ats_int_type(*)(ats_clo_ptr_type, ats_ptr_type, ats_ptr_type))(ats_closure_fun(arg2))) (arg2, arg0, arg1) ; return (tmp27) ; } /* end of [compare_key_key_01941_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_8 (ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp21) ; ATSlocal (ats_ptr_type, tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; ATSlocal (ats_ptr_type, tmp24) ; ATSlocal (ats_ptr_type, tmp25) ; ATSlocal (ats_int_type, tmp26) ; ATSlocal (ats_bool_type, tmp28) ; ATSlocal (ats_bool_type, tmp29) ; ATSlocal (ats_ptr_type, tmp30) ; __ats_lab_search_8: #line 132 "funmap_avltree.dats" do { /* branch: __ats_lab_5 */ #line 133 "funmap_avltree.dats" __ats_lab_5_0: #line 133 "funmap_avltree.dats" if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_6_0 ; } #line 133 "funmap_avltree.dats" __ats_lab_5_1: #line 133 "funmap_avltree.dats" tmp22 = ats_caselptr_mac(anairiats_sum_4, arg0, atslab_1) ; #line 133 "funmap_avltree.dats" tmp23 = ats_caselptr_mac(anairiats_sum_4, arg0, atslab_2) ; #line 133 "funmap_avltree.dats" tmp24 = ats_caselptr_mac(anairiats_sum_4, arg0, atslab_3) ; #line 133 "funmap_avltree.dats" tmp25 = ats_caselptr_mac(anairiats_sum_4, arg0, atslab_4) ; #line 134 "funmap_avltree.dats" tmp26 = compare_key_key_01941_ats_ptr_type (env0, tmp22, env1) ; #line 136 "funmap_avltree.dats" tmp28 = atspre_ilt (tmp26, 0) ; #line 136 "funmap_avltree.dats" if (tmp28) { #line 136 "funmap_avltree.dats" arg0 = tmp24 ; #line 136 "funmap_avltree.dats" goto __ats_lab_search_8 ; // tail call } else { #line 136 "funmap_avltree.dats" tmp29 = atspre_igt (tmp26, 0) ; #line 136 "funmap_avltree.dats" if (tmp29) { #line 136 "funmap_avltree.dats" arg0 = tmp25 ; #line 136 "funmap_avltree.dats" goto __ats_lab_search_8 ; // tail call } else { #line 137 "funmap_avltree.dats" // if (tmp23 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 137 "funmap_avltree.dats" tmp30 = ats_caselptr_mac(anairiats_sum_5, tmp23, atslab_0) ; #line 139 "funmap_avltree.dats" tmp21 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp21, atslab_0, tmp30) ; } /* end of [if] */ } /* end of [if] */ break ; /* branch: __ats_lab_6 */ #line 142 "funmap_avltree.dats" __ats_lab_6_0: #line 142 "funmap_avltree.dats" // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 142 "funmap_avltree.dats" __ats_lab_6_1: #line 142 "funmap_avltree.dats" tmp21 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp21) ; } /* end of [search_8] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_clo_ref_type closure_env_1 ; } search_8_closure_type ; ats_ptr_type search_8_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return search_8 (((search_8_closure_type*)cloptr)->closure_env_0, ((search_8_closure_type*)cloptr)->closure_env_1, arg0) ; } /* end of function */ ATSinline() ats_void_type search_8_closure_init (search_8_closure_type *p_clo, ats_ptr_type env0, ats_clo_ref_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&search_8_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type search_8_closure_make (ats_ptr_type env0, ats_clo_ref_type env1) { search_8_closure_type *p_clo = ATS_MALLOC(sizeof(search_8_closure_type)) ; search_8_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_01946_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, tmp20) ; __ats_lab_funmap_search_01946_ats_ptr_type_2cats_ptr_type: #line 129 "funmap_avltree.dats" tmp20 = search_8 (arg1, arg2, arg0) ; return (tmp20) ; } /* end of [funmap_search_01946_ats_ptr_type_2cats_ptr_type] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 1947(line=93, offs=4) -- 2311(line=105, offs=4) */ ATSstaticdec() ats_ptr_type env_search_6 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp18) ; ATSlocal (ats_ptr_type, tmp19) ; ATSlocal (ats_ptr_type, tmp31) ; // ATSlocal_void (tmp32) ; // ATSlocal_void (tmp33) ; // ATSlocal_void (tmp34) ; // ATSlocal_void (tmp35) ; __ats_lab_env_search_6: #line 96 "interp0.dats" tmp19 = funmap_search_01946_ats_ptr_type_2cats_ptr_type (arg0, arg1, statmp15) ; #line 97 "interp0.dats" do { /* branch: __ats_lab_7 */ #line 98 "interp0.dats" __ats_lab_7_0: #line 98 "interp0.dats" if (tmp19 == (ats_sum_ptr_type)0) { goto __ats_lab_8_0 ; } #line 98 "interp0.dats" __ats_lab_7_1: #line 98 "interp0.dats" tmp31 = ats_caselptr_mac(anairiats_sum_6, tmp19, atslab_0) ; #line 98 "interp0.dats" ATS_FREE(tmp19) ; #line 98 "interp0.dats" tmp18 = tmp31 ; break ; /* branch: __ats_lab_8 */ #line 98 "interp0.dats" __ats_lab_8_0: #line 98 "interp0.dats" // if (tmp19 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 98 "interp0.dats" __ats_lab_8_1: #line 99 "interp0.dats" /* tmp32 = */ atspre_prerr_string (ATSstrcst("INTERNAL ERROR")) ; #line 100 "interp0.dats" /* tmp33 = */ atspre_prerr_string (ATSstrcst(": env_search: unbound symbol: sym = ")) ; #line 101 "interp0.dats" /* tmp34 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2symbol_2esats__prerr_symbol (arg1) ; #line 102 "interp0.dats" /* tmp35 = */ atspre_prerr_newline () ; #line 103 "interp0.dats" /* tmp18 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2error_2esats__abort (1) ; break ; } while (0) ; return (tmp18) ; } /* end of [env_search_6] */ /* // /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_01798_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp50) ; ATSlocal (ats_int_type, tmp51) ; __ats_lab_avltree_height_01798_ats_ptr_type_2cats_ptr_type: #line 150 "funmap_avltree.dats" do { /* branch: __ats_lab_10 */ #line 150 "funmap_avltree.dats" __ats_lab_10_0: #line 150 "funmap_avltree.dats" if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_11_0 ; } #line 150 "funmap_avltree.dats" __ats_lab_10_1: #line 150 "funmap_avltree.dats" tmp51 = ats_caselptr_mac(anairiats_sum_4, arg0, atslab_0) ; #line 150 "funmap_avltree.dats" tmp50 = tmp51 ; break ; /* branch: __ats_lab_11 */ #line 150 "funmap_avltree.dats" __ats_lab_11_0: #line 150 "funmap_avltree.dats" // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 150 "funmap_avltree.dats" __ats_lab_11_1: #line 150 "funmap_avltree.dats" tmp50 = 0 ; break ; } while (0) ; return (tmp50) ; } /* end of [avltree_height_01798_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_01817_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, tmp57) ; ATSlocal (ats_int_type, tmp58) ; ATSlocal (ats_ptr_type, tmp59) ; ATSlocal (ats_ptr_type, tmp60) ; ATSlocal (ats_ptr_type, tmp61) ; ATSlocal (ats_ptr_type, tmp62) ; ATSlocal (ats_int_type, tmp63) ; ATSlocal (ats_int_type, tmp64) ; ATSlocal (ats_bool_type, tmp65) ; ATSlocal (ats_int_type, tmp66) ; ATSlocal (ats_ptr_type, tmp67) ; ATSlocal (ats_int_type, tmp68) ; ATSlocal (ats_ptr_type, tmp69) ; ATSlocal (ats_ptr_type, tmp70) ; ATSlocal (ats_ptr_type, tmp71) ; ATSlocal (ats_ptr_type, tmp72) ; ATSlocal (ats_ptr_type, tmp73) ; ATSlocal (ats_ptr_type, tmp74) ; __ats_lab_avltree_rrotate_01817_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" tmp58 = ats_caselptr_mac(anairiats_sum_4, arg2, atslab_0) ; #line 181 "funmap_avltree.dats" tmp59 = ats_caselptr_mac(anairiats_sum_4, arg2, atslab_1) ; #line 181 "funmap_avltree.dats" tmp60 = ats_caselptr_mac(anairiats_sum_4, arg2, atslab_2) ; #line 181 "funmap_avltree.dats" tmp61 = ats_caselptr_mac(anairiats_sum_4, arg2, atslab_3) ; #line 181 "funmap_avltree.dats" tmp62 = ats_caselptr_mac(anairiats_sum_4, arg2, atslab_4) ; #line 182 "funmap_avltree.dats" tmp63 = avltree_height_01798_ats_ptr_type_2cats_ptr_type (tmp61) ; #line 182 "funmap_avltree.dats" tmp64 = avltree_height_01798_ats_ptr_type_2cats_ptr_type (tmp62) ; #line 184 "funmap_avltree.dats" tmp65 = atspre_igte (tmp63, tmp64) ; #line 184 "funmap_avltree.dats" if (tmp65) { #line 185 "funmap_avltree.dats" tmp66 = atspre_iadd (tmp64, 2) ; #line 185 "funmap_avltree.dats" tmp68 = atspre_iadd (tmp64, 1) ; #line 185 "funmap_avltree.dats" tmp67 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp67, atslab_0, tmp68) ; ats_selptrset_mac(anairiats_sum_4, tmp67, atslab_1, arg0) ; ats_selptrset_mac(anairiats_sum_4, tmp67, atslab_2, arg1) ; ats_selptrset_mac(anairiats_sum_4, tmp67, atslab_3, tmp62) ; ats_selptrset_mac(anairiats_sum_4, tmp67, atslab_4, arg3) ; #line 185 "funmap_avltree.dats" tmp57 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp57, atslab_0, tmp66) ; ats_selptrset_mac(anairiats_sum_4, tmp57, atslab_1, tmp59) ; ats_selptrset_mac(anairiats_sum_4, tmp57, atslab_2, tmp60) ; ats_selptrset_mac(anairiats_sum_4, tmp57, atslab_3, tmp61) ; ats_selptrset_mac(anairiats_sum_4, tmp57, atslab_4, tmp67) ; } else { #line 187 "funmap_avltree.dats" // if (tmp62 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 187 "funmap_avltree.dats" tmp69 = ats_caselptr_mac(anairiats_sum_4, tmp62, atslab_1) ; #line 187 "funmap_avltree.dats" tmp70 = ats_caselptr_mac(anairiats_sum_4, tmp62, atslab_2) ; #line 187 "funmap_avltree.dats" tmp71 = ats_caselptr_mac(anairiats_sum_4, tmp62, atslab_3) ; #line 187 "funmap_avltree.dats" tmp72 = ats_caselptr_mac(anairiats_sum_4, tmp62, atslab_4) ; #line 189 "funmap_avltree.dats" tmp73 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp73, atslab_0, tmp64) ; ats_selptrset_mac(anairiats_sum_4, tmp73, atslab_1, tmp59) ; ats_selptrset_mac(anairiats_sum_4, tmp73, atslab_2, tmp60) ; ats_selptrset_mac(anairiats_sum_4, tmp73, atslab_3, tmp61) ; ats_selptrset_mac(anairiats_sum_4, tmp73, atslab_4, tmp71) ; #line 189 "funmap_avltree.dats" tmp74 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp74, atslab_0, tmp64) ; ats_selptrset_mac(anairiats_sum_4, tmp74, atslab_1, arg0) ; ats_selptrset_mac(anairiats_sum_4, tmp74, atslab_2, arg1) ; ats_selptrset_mac(anairiats_sum_4, tmp74, atslab_3, tmp72) ; ats_selptrset_mac(anairiats_sum_4, tmp74, atslab_4, arg3) ; #line 189 "funmap_avltree.dats" tmp57 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp57, atslab_0, tmp58) ; ats_selptrset_mac(anairiats_sum_4, tmp57, atslab_1, tmp69) ; ats_selptrset_mac(anairiats_sum_4, tmp57, atslab_2, tmp70) ; ats_selptrset_mac(anairiats_sum_4, tmp57, atslab_3, tmp73) ; ats_selptrset_mac(anairiats_sum_4, tmp57, atslab_4, tmp74) ; } /* end of [if] */ return (tmp57) ; } /* end of [avltree_rrotate_01817_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_01801_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, tmp83) ; ATSlocal (ats_int_type, tmp84) ; ATSlocal (ats_ptr_type, tmp85) ; ATSlocal (ats_ptr_type, tmp86) ; ATSlocal (ats_ptr_type, tmp87) ; ATSlocal (ats_ptr_type, tmp88) ; ATSlocal (ats_int_type, tmp89) ; ATSlocal (ats_int_type, tmp90) ; ATSlocal (ats_bool_type, tmp91) ; ATSlocal (ats_int_type, tmp92) ; ATSlocal (ats_ptr_type, tmp93) ; ATSlocal (ats_int_type, tmp94) ; ATSlocal (ats_ptr_type, tmp95) ; ATSlocal (ats_ptr_type, tmp96) ; ATSlocal (ats_ptr_type, tmp97) ; ATSlocal (ats_ptr_type, tmp98) ; ATSlocal (ats_ptr_type, tmp99) ; ATSlocal (ats_ptr_type, tmp100) ; __ats_lab_avltree_lrotate_01801_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" tmp84 = ats_caselptr_mac(anairiats_sum_4, arg3, atslab_0) ; #line 161 "funmap_avltree.dats" tmp85 = ats_caselptr_mac(anairiats_sum_4, arg3, atslab_1) ; #line 161 "funmap_avltree.dats" tmp86 = ats_caselptr_mac(anairiats_sum_4, arg3, atslab_2) ; #line 161 "funmap_avltree.dats" tmp87 = ats_caselptr_mac(anairiats_sum_4, arg3, atslab_3) ; #line 161 "funmap_avltree.dats" tmp88 = ats_caselptr_mac(anairiats_sum_4, arg3, atslab_4) ; #line 162 "funmap_avltree.dats" tmp89 = avltree_height_01798_ats_ptr_type_2cats_ptr_type (tmp87) ; #line 162 "funmap_avltree.dats" tmp90 = avltree_height_01798_ats_ptr_type_2cats_ptr_type (tmp88) ; #line 164 "funmap_avltree.dats" tmp91 = atspre_ilte (tmp89, tmp90) ; #line 164 "funmap_avltree.dats" if (tmp91) { #line 165 "funmap_avltree.dats" tmp92 = atspre_iadd (tmp89, 2) ; #line 165 "funmap_avltree.dats" tmp94 = atspre_iadd (tmp89, 1) ; #line 165 "funmap_avltree.dats" tmp93 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp93, atslab_0, tmp94) ; ats_selptrset_mac(anairiats_sum_4, tmp93, atslab_1, arg0) ; ats_selptrset_mac(anairiats_sum_4, tmp93, atslab_2, arg1) ; ats_selptrset_mac(anairiats_sum_4, tmp93, atslab_3, arg2) ; ats_selptrset_mac(anairiats_sum_4, tmp93, atslab_4, tmp87) ; #line 165 "funmap_avltree.dats" tmp83 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp83, atslab_0, tmp92) ; ats_selptrset_mac(anairiats_sum_4, tmp83, atslab_1, tmp85) ; ats_selptrset_mac(anairiats_sum_4, tmp83, atslab_2, tmp86) ; ats_selptrset_mac(anairiats_sum_4, tmp83, atslab_3, tmp93) ; ats_selptrset_mac(anairiats_sum_4, tmp83, atslab_4, tmp88) ; } else { #line 167 "funmap_avltree.dats" // if (tmp87 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 167 "funmap_avltree.dats" tmp95 = ats_caselptr_mac(anairiats_sum_4, tmp87, atslab_1) ; #line 167 "funmap_avltree.dats" tmp96 = ats_caselptr_mac(anairiats_sum_4, tmp87, atslab_2) ; #line 167 "funmap_avltree.dats" tmp97 = ats_caselptr_mac(anairiats_sum_4, tmp87, atslab_3) ; #line 167 "funmap_avltree.dats" tmp98 = ats_caselptr_mac(anairiats_sum_4, tmp87, atslab_4) ; #line 169 "funmap_avltree.dats" tmp99 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp99, atslab_0, tmp89) ; ats_selptrset_mac(anairiats_sum_4, tmp99, atslab_1, arg0) ; ats_selptrset_mac(anairiats_sum_4, tmp99, atslab_2, arg1) ; ats_selptrset_mac(anairiats_sum_4, tmp99, atslab_3, arg2) ; ats_selptrset_mac(anairiats_sum_4, tmp99, atslab_4, tmp97) ; #line 169 "funmap_avltree.dats" tmp100 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp100, atslab_0, tmp89) ; ats_selptrset_mac(anairiats_sum_4, tmp100, atslab_1, tmp85) ; ats_selptrset_mac(anairiats_sum_4, tmp100, atslab_2, tmp86) ; ats_selptrset_mac(anairiats_sum_4, tmp100, atslab_3, tmp98) ; ats_selptrset_mac(anairiats_sum_4, tmp100, atslab_4, tmp88) ; #line 169 "funmap_avltree.dats" tmp83 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp83, atslab_0, tmp84) ; ats_selptrset_mac(anairiats_sum_4, tmp83, atslab_1, tmp95) ; ats_selptrset_mac(anairiats_sum_4, tmp83, atslab_2, tmp96) ; ats_selptrset_mac(anairiats_sum_4, tmp83, atslab_3, tmp99) ; ats_selptrset_mac(anairiats_sum_4, tmp83, atslab_4, tmp100) ; } /* end of [if] */ return (tmp83) ; } /* end of [avltree_lrotate_01801_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_13 (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, tmp40) ; ATSlocal (ats_int_type, tmp41) ; ATSlocal (ats_ptr_type, tmp42) ; ATSlocal (ats_ptr_type, tmp43) ; ATSlocal (ats_ptr_type, tmp44) ; ATSlocal (ats_ptr_type, tmp45) ; ATSlocal (ats_int_type, tmp46) ; ATSlocal (ats_bool_type, tmp47) ; ATSlocal (ats_ptr_type, tmp48) ; ATSlocal (ats_int_type, tmp49) ; ATSlocal (ats_int_type, tmp52) ; ATSlocal (ats_bool_type, tmp53) ; ATSlocal (ats_int_type, tmp54) ; ATSlocal (ats_int_type, tmp55) ; ATSlocal (ats_int_type, tmp56) ; ATSlocal (ats_bool_type, tmp75) ; ATSlocal (ats_ptr_type, tmp76) ; ATSlocal (ats_int_type, tmp77) ; ATSlocal (ats_int_type, tmp78) ; ATSlocal (ats_bool_type, tmp79) ; ATSlocal (ats_int_type, tmp80) ; ATSlocal (ats_int_type, tmp81) ; ATSlocal (ats_int_type, tmp82) ; ATSlocal (ats_ptr_type, tmp101) ; ATSlocal (ats_ptr_type, tmp102) ; ATSlocal (ats_ptr_type, tmp103) ; ATSlocal (ats_ptr_type, tmp104) ; ATSlocal (ats_ptr_type, tmp105) ; __ats_lab_insert_13: #line 210 "funmap_avltree.dats" do { /* branch: __ats_lab_9 */ #line 211 "funmap_avltree.dats" __ats_lab_9_0: #line 211 "funmap_avltree.dats" if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_12_0 ; } #line 211 "funmap_avltree.dats" __ats_lab_9_1: #line 211 "funmap_avltree.dats" tmp41 = ats_caselptr_mac(anairiats_sum_4, arg0, atslab_0) ; #line 211 "funmap_avltree.dats" tmp42 = ats_caselptr_mac(anairiats_sum_4, arg0, atslab_1) ; #line 211 "funmap_avltree.dats" tmp43 = ats_caselptr_mac(anairiats_sum_4, arg0, atslab_2) ; #line 211 "funmap_avltree.dats" tmp44 = ats_caselptr_mac(anairiats_sum_4, arg0, atslab_3) ; #line 211 "funmap_avltree.dats" tmp45 = ats_caselptr_mac(anairiats_sum_4, arg0, atslab_4) ; #line 212 "funmap_avltree.dats" tmp46 = compare_key_key_01941_ats_ptr_type (env0, tmp42, env2) ; #line 214 "funmap_avltree.dats" tmp47 = atspre_ilt (tmp46, 0) ; #line 214 "funmap_avltree.dats" if (tmp47) { #line 215 "funmap_avltree.dats" tmp48 = insert_13 (env0, env1, env2, tmp44, arg1) ; #line 216 "funmap_avltree.dats" tmp49 = avltree_height_01798_ats_ptr_type_2cats_ptr_type (tmp48) ; #line 216 "funmap_avltree.dats" tmp52 = avltree_height_01798_ats_ptr_type_2cats_ptr_type (tmp45) ; #line 218 "funmap_avltree.dats" tmp54 = atspre_isub (tmp49, tmp52) ; #line 218 "funmap_avltree.dats" tmp53 = atspre_ilte (tmp54, 1) ; #line 218 "funmap_avltree.dats" if (tmp53) { #line 219 "funmap_avltree.dats" tmp56 = atspre_imax (tmp49, tmp52) ; #line 219 "funmap_avltree.dats" tmp55 = atspre_iadd (tmp56, 1) ; #line 219 "funmap_avltree.dats" tmp40 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp40, atslab_0, tmp55) ; ats_selptrset_mac(anairiats_sum_4, tmp40, atslab_1, tmp42) ; ats_selptrset_mac(anairiats_sum_4, tmp40, atslab_2, tmp43) ; ats_selptrset_mac(anairiats_sum_4, tmp40, atslab_3, tmp48) ; ats_selptrset_mac(anairiats_sum_4, tmp40, atslab_4, tmp45) ; } else { #line 221 "funmap_avltree.dats" tmp40 = avltree_rrotate_01817_ats_ptr_type_2cats_ptr_type (tmp42, tmp43, tmp48, tmp45) ; } /* end of [if] */ } else { #line 223 "funmap_avltree.dats" tmp75 = atspre_igt (tmp46, 0) ; #line 223 "funmap_avltree.dats" if (tmp75) { #line 224 "funmap_avltree.dats" tmp76 = insert_13 (env0, env1, env2, tmp45, arg1) ; #line 225 "funmap_avltree.dats" tmp77 = avltree_height_01798_ats_ptr_type_2cats_ptr_type (tmp44) ; #line 225 "funmap_avltree.dats" tmp78 = avltree_height_01798_ats_ptr_type_2cats_ptr_type (tmp76) ; #line 227 "funmap_avltree.dats" tmp80 = atspre_isub (tmp78, tmp77) ; #line 227 "funmap_avltree.dats" tmp79 = atspre_ilte (tmp80, 1) ; #line 227 "funmap_avltree.dats" if (tmp79) { #line 228 "funmap_avltree.dats" tmp82 = atspre_imax (tmp77, tmp78) ; #line 228 "funmap_avltree.dats" tmp81 = atspre_iadd (tmp82, 1) ; #line 228 "funmap_avltree.dats" tmp40 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp40, atslab_0, tmp81) ; ats_selptrset_mac(anairiats_sum_4, tmp40, atslab_1, tmp42) ; ats_selptrset_mac(anairiats_sum_4, tmp40, atslab_2, tmp43) ; ats_selptrset_mac(anairiats_sum_4, tmp40, atslab_3, tmp44) ; ats_selptrset_mac(anairiats_sum_4, tmp40, atslab_4, tmp76) ; } else { #line 230 "funmap_avltree.dats" tmp40 = avltree_lrotate_01801_ats_ptr_type_2cats_ptr_type (tmp42, tmp43, tmp44, tmp76) ; } /* end of [if] */ } else { #line 233 "funmap_avltree.dats" ats_ptrget_mac(ats_int_type, arg1) = 1 ; #line 233 "funmap_avltree.dats" tmp101 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp101, atslab_0, env1) ; ats_selptrset_mac(anairiats_sum_5, tmp101, atslab_1, tmp43) ; #line 233 "funmap_avltree.dats" tmp40 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp40, atslab_0, tmp41) ; ats_selptrset_mac(anairiats_sum_4, tmp40, atslab_1, tmp42) ; ats_selptrset_mac(anairiats_sum_4, tmp40, atslab_2, tmp101) ; ats_selptrset_mac(anairiats_sum_4, tmp40, atslab_3, tmp44) ; ats_selptrset_mac(anairiats_sum_4, tmp40, atslab_4, tmp45) ; } /* end of [if] */ } /* end of [if] */ break ; /* branch: __ats_lab_12 */ #line 236 "funmap_avltree.dats" __ats_lab_12_0: #line 236 "funmap_avltree.dats" // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 236 "funmap_avltree.dats" __ats_lab_12_1: #line 237 "funmap_avltree.dats" ats_ptrget_mac(ats_int_type, arg1) = 0 ; #line 237 "funmap_avltree.dats" tmp103 = (ats_sum_ptr_type)0 ; #line 237 "funmap_avltree.dats" tmp102 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp102, atslab_0, env1) ; ats_selptrset_mac(anairiats_sum_5, tmp102, atslab_1, tmp103) ; #line 237 "funmap_avltree.dats" tmp104 = (ats_sum_ptr_type)0 ; #line 237 "funmap_avltree.dats" tmp105 = (ats_sum_ptr_type)0 ; #line 237 "funmap_avltree.dats" tmp40 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp40, atslab_0, 1) ; ats_selptrset_mac(anairiats_sum_4, tmp40, atslab_1, env0) ; ats_selptrset_mac(anairiats_sum_4, tmp40, atslab_2, tmp102) ; ats_selptrset_mac(anairiats_sum_4, tmp40, atslab_3, tmp104) ; ats_selptrset_mac(anairiats_sum_4, tmp40, atslab_4, tmp105) ; break ; } while (0) ; return (tmp40) ; } /* end of [insert_13] */ 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_13_closure_type ; ats_ptr_type insert_13_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ref_type arg1) { return insert_13 (((insert_13_closure_type*)cloptr)->closure_env_0, ((insert_13_closure_type*)cloptr)->closure_env_1, ((insert_13_closure_type*)cloptr)->closure_env_2, arg0, arg1) ; } /* end of function */ ATSinline() ats_void_type insert_13_closure_init (insert_13_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_13_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_13_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_clo_ref_type env2) { insert_13_closure_type *p_clo = ATS_MALLOC(sizeof(insert_13_closure_type)) ; insert_13_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_01948_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, tmp39) ; __ats_lab_funmap_insert_status_01948_ats_ptr_type_2cats_ptr_type: #line 207 "funmap_avltree.dats" tmp39 = insert_13 (arg1, arg2, arg3, arg0, arg4) ; return (tmp39) ; } /* end of [funmap_insert_status_01948_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_01947_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, tmp37) ; ATSlocal (ats_int_type, tmp38) ; __ats_lab_funmap_insert_01947_ats_ptr_type_2cats_ptr_type: #line 198 "funmap_avltree.dats" /* ats_int_type tmp38 ; */ #line 200 "funmap_avltree.dats" tmp37 = funmap_insert_status_01948_ats_ptr_type_2cats_ptr_type (arg0, arg1, arg2, arg3, (&tmp38)) ; return (tmp37) ; } /* end of [funmap_insert_01947_ats_ptr_type_2cats_ptr_type] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 2339(line=107, offs=4) -- 2457(line=110, offs=4) */ ATSstaticdec() ats_ptr_type env_insert_10 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp36) ; __ats_lab_env_insert_10: #line 109 "interp0.dats" tmp36 = funmap_insert_01947_ats_ptr_type_2cats_ptr_type (arg0, arg1, arg2, statmp15) ; return (tmp36) ; } /* end of [env_insert_10] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 3224(line=138, offs=11) -- 3632(line=148, offs=14) */ ATSstaticdec() ats_ptr_type loop_18 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp119) ; ATSlocal (ats_ptr_type, tmp120) ; ATSlocal (ats_ptr_type, tmp121) ; ATSlocal (ats_ptr_type, tmp122) ; ATSlocal (ats_bool_type, tmp123) ; // ATSlocal_void (tmp124) ; // ATSlocal_void (tmp125) ; // ATSlocal_void (tmp126) ; // ATSlocal_void (tmp127) ; __ats_lab_loop_18: #line 139 "interp0.dats" do { /* branch: __ats_lab_17 */ #line 140 "interp0.dats" __ats_lab_17_0: #line 140 "interp0.dats" if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_18_0 ; } #line 140 "interp0.dats" __ats_lab_17_1: #line 140 "interp0.dats" tmp120 = ats_caselptr_mac(anairiats_sum_9, arg1, atslab_0) ; #line 140 "interp0.dats" tmp121 = ats_caselptr_mac(anairiats_sum_9, arg1, atslab_1) ; #line 140 "interp0.dats" tmp122 = ats_caselptr_mac(anairiats_sum_9, arg1, atslab_2) ; #line 141 "interp0.dats" tmp123 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2symbol_2esats__eq_symbol_symbol (arg0, tmp120) ; #line 141 "interp0.dats" if (tmp123) { #line 141 "interp0.dats" tmp119 = ats_ptrget_mac(ats_ptr_type, tmp121) ; } else { #line 141 "interp0.dats" arg0 = arg0 ; #line 141 "interp0.dats" arg1 = tmp122 ; #line 141 "interp0.dats" goto __ats_lab_loop_18 ; // tail call } /* end of [if] */ break ; /* branch: __ats_lab_18 */ #line 142 "interp0.dats" __ats_lab_18_0: #line 142 "interp0.dats" // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 142 "interp0.dats" __ats_lab_18_1: #line 143 "interp0.dats" /* tmp124 = */ atspre_prerr_string (ATSstrcst("INTERNAL ERROR")) ; #line 144 "interp0.dats" /* tmp125 = */ atspre_prerr_string (ATSstrcst(": interp0Var: FieldVar: unfound label: lab = ")) ; #line 145 "interp0.dats" /* tmp126 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2symbol_2esats__prerr_symbol (arg0) ; #line 146 "interp0.dats" /* tmp127 = */ atspre_prerr_newline () ; #line 147 "interp0.dats" /* tmp119 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2error_2esats__abort (1) ; break ; } while (0) ; return (tmp119) ; } /* end of [loop_18] */ /* // /home/fac2/hwxi/research/ATS/IMPLEMENT/Geizella/Anairiats/svn/ats-lang/prelude/DATS/array0.dats: 3020(line=108, offs=19) -- 3385(line=122, offs=4) */ ATSstaticdec() ats_ptr_type array0_get_elt_at_01357_ats_ptr_type (ats_ptr_type arg0, ats_size_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp136) ; ATSlocal (ats_ptr_type, tmp137) ; ATSlocal (ats_ptr_type, tmp138) ; ATSlocal (ats_size_type, tmp139) ; ATSlocal (ats_bool_type, tmp140) ; ATSlocal (ats_ptr_type, tmp141) ; __ats_lab_array0_get_elt_at_01357_ats_ptr_type: #line 109 "array0.dats" tmp137 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; #line 111 "array0.dats" tmp138 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp137), atslab_2) ; #line 111 "array0.dats" tmp139 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp137), atslab_3) ; #line 113 "array0.dats" tmp140 = atspre_lt_size1_size1 (ats_castfn_mac(ats_size_type, arg1), tmp139) ; #line 113 "array0.dats" if (tmp140) { #line 115 "array0.dats" tmp136 = ats_caselind_mac(ats_ptr_type, tmp138, [ats_castfn_mac(ats_size_type, arg1)]) ; } else { #line 120 "array0.dats" tmp141 = (ats_sum_ptr_type)(&ATS_2d0_2e2_2e6_2prelude_2SATS_2array_2esats__ArraySubscriptException) ; #line 120 "array0.dats" /* tmp136 = */ ats_raise_exn (tmp141) ; } /* end of [if] */ return (tmp136) ; } /* end of [array0_get_elt_at_01357_ats_ptr_type] */ /* // /home/fac2/hwxi/research/ATS/IMPLEMENT/Geizella/Anairiats/svn/ats-lang/prelude/DATS/array0.dats: 3923(line=143, offs=26) -- 4102(line=151, offs=4) */ ATSstaticdec() ats_ptr_type array0_get_elt_at__intsz_01359_ats_ptr_type (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp134) ; ATSlocal (ats_bool_type, tmp135) ; ATSlocal (ats_size_type, tmp142) ; ATSlocal (ats_ptr_type, tmp143) ; __ats_lab_array0_get_elt_at__intsz_01359_ats_ptr_type: #line 146 "array0.dats" tmp135 = atspre_igte (ats_castfn_mac(ats_int_type, arg1), 0) ; #line 146 "array0.dats" if (tmp135) { #line 147 "array0.dats" tmp142 = atspre_size1_of_int1 (ats_castfn_mac(ats_int_type, arg1)) ; #line 147 "array0.dats" tmp134 = array0_get_elt_at_01357_ats_ptr_type (arg0, tmp142) ; } else { #line 149 "array0.dats" tmp143 = (ats_sum_ptr_type)(&ATS_2d0_2e2_2e6_2prelude_2SATS_2array_2esats__ArraySubscriptException) ; #line 149 "array0.dats" /* tmp134 = */ ats_raise_exn (tmp143) ; } /* end of [if] */ return (tmp134) ; } /* end of [array0_get_elt_at__intsz_01359_ats_ptr_type] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 2714(line=123, offs=3) -- 4057(line=165, offs=8) */ ATSglobaldec() ats_ptr_type _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2edats__interp0Var (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp106) ; ATSlocal (ats_ptr_type, tmp107) ; ATSlocal (ats_ptr_type, tmp108) ; ATSlocal (ats_ptr_type, tmp109) ; ATSlocal (ats_ptr_type, tmp110) ; // ATSlocal_void (tmp111) ; // ATSlocal_void (tmp112) ; // ATSlocal_void (tmp113) ; // ATSlocal_void (tmp114) ; ATSlocal (ats_ptr_type, tmp115) ; ATSlocal (ats_ptr_type, tmp116) ; ATSlocal (ats_ptr_type, tmp117) ; ATSlocal (ats_ptr_type, tmp118) ; ATSlocal (ats_ptr_type, tmp128) ; ATSlocal (ats_ptr_type, tmp129) ; ATSlocal (ats_ptr_type, tmp130) ; ATSlocal (ats_ptr_type, tmp131) ; ATSlocal (ats_ptr_type, tmp132) ; ATSlocal (ats_int_type, tmp133) ; __ats_lab__2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2edats__interp0Var: #line 123 "interp0.dats" tmp107 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg1), atslab_v1ar_node) ; #line 123 "interp0.dats" do { /* branch: __ats_lab_13 */ #line 124 "interp0.dats" __ats_lab_13_0: #line 124 "interp0.dats" if (((ats_sum_ptr_type)tmp107)->tag != 0) { goto __ats_lab_16_0 ; } #line 124 "interp0.dats" __ats_lab_13_1: #line 124 "interp0.dats" tmp108 = ats_caselptr_mac(anairiats_sum_3, tmp107, atslab_0) ; #line 125 "interp0.dats" tmp109 = env_search_6 (arg0, tmp108) ; #line 126 "interp0.dats" do { /* branch: __ats_lab_14 */ #line 127 "interp0.dats" __ats_lab_14_0: #line 127 "interp0.dats" if (((ats_sum_ptr_type)tmp109)->tag != 0) { goto __ats_lab_15_0 ; } #line 127 "interp0.dats" __ats_lab_14_1: #line 127 "interp0.dats" tmp110 = ats_caselptr_mac(anairiats_sum_3, tmp109, atslab_0) ; #line 127 "interp0.dats" tmp106 = ats_ptrget_mac(ats_ptr_type, tmp110) ; break ; /* branch: __ats_lab_15 */ #line 127 "interp0.dats" __ats_lab_15_0: #line 127 "interp0.dats" __ats_lab_15_1: #line 128 "interp0.dats" /* tmp111 = */ atspre_prerr_string (ATSstrcst("INTERNAL ERROR")) ; #line 129 "interp0.dats" /* tmp112 = */ atspre_prerr_string (ATSstrcst(": interp0Var: unbound variable: sym = ")) ; #line 130 "interp0.dats" /* tmp113 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2symbol_2esats__prerr_symbol (tmp108) ; #line 131 "interp0.dats" /* tmp114 = */ atspre_prerr_newline () ; #line 132 "interp0.dats" /* tmp106 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2error_2esats__abort (1) ; break ; } while (0) ; break ; /* branch: __ats_lab_16 */ #line 135 "interp0.dats" __ats_lab_16_0: #line 135 "interp0.dats" if (((ats_sum_ptr_type)tmp107)->tag != 1) { goto __ats_lab_19_0 ; } #line 135 "interp0.dats" __ats_lab_16_1: #line 135 "interp0.dats" tmp115 = ats_caselptr_mac(anairiats_sum_8, tmp107, atslab_0) ; #line 135 "interp0.dats" tmp116 = ats_caselptr_mac(anairiats_sum_8, tmp107, atslab_1) ; #line 136 "interp0.dats" tmp117 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2edats__interp0Var (arg0, tmp115) ; #line 137 "interp0.dats" if (((ats_sum_ptr_type)tmp117)->tag != 2) { ats_caseof_failure_handle ("/cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 3195(line=137, offs=12) -- 3213(line=137, offs=30)") ; } #line 137 "interp0.dats" tmp118 = ats_caselptr_mac(anairiats_sum_3, tmp117, atslab_0) ; #line 151 "interp0.dats" tmp106 = loop_18 (tmp116, tmp118) ; break ; /* branch: __ats_lab_19 */ #line 153 "interp0.dats" __ats_lab_19_0: #line 153 "interp0.dats" // if (((ats_sum_ptr_type)tmp107)->tag != 2) { ats_deadcode_failure_handle () ; } #line 153 "interp0.dats" __ats_lab_19_1: #line 153 "interp0.dats" tmp128 = ats_caselptr_mac(anairiats_sum_8, tmp107, atslab_0) ; #line 153 "interp0.dats" tmp129 = ats_caselptr_mac(anairiats_sum_8, tmp107, atslab_1) ; #line 154 "interp0.dats" tmp130 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2edats__interp0Var (arg0, tmp128) ; #line 155 "interp0.dats" if (((ats_sum_ptr_type)tmp130)->tag != 3) { ats_caseof_failure_handle ("/cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 3827(line=155, offs=12) -- 3845(line=155, offs=30)") ; } #line 155 "interp0.dats" tmp131 = ats_caselptr_mac(anairiats_sum_3, tmp130, atslab_0) ; #line 156 "interp0.dats" tmp132 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2edats__interp0Exp (arg0, tmp129) ; #line 157 "interp0.dats" if (((ats_sum_ptr_type)tmp132)->tag != 0) { ats_caseof_failure_handle ("/cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 3899(line=157, offs=12) -- 3919(line=157, offs=32)") ; } #line 157 "interp0.dats" tmp133 = ats_caselptr_mac(anairiats_sum_2, tmp132, atslab_0) ; #line 164 "interp0.dats" tmp106 = array0_get_elt_at__intsz_01359_ats_ptr_type (tmp131, tmp133) ; break ; } while (0) ; return (tmp106) ; } /* end of [_2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2edats__interp0Var] */ /* // /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, tmp157) ; ATSlocal (ats_ptr_type, tmp158) ; __ats_lab_ref_01023_ats_ptr_type: #line 60 "reference.dats" /* ats_ptr_type tmp158 ; */ #line 60 "reference.dats" tmp158 = arg0 ; #line 60 "reference.dats" tmp157 = atspre_ref_make_elt_tsz ((&tmp158), sizeof(ats_ptr_type)) ; return (tmp157) ; } /* 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, tmp156) ; __ats_lab_ref_make_elt_01024_ats_ptr_type: #line 64 "reference.dats" tmp156 = ref_01023_ats_ptr_type (arg0) ; return (tmp156) ; } /* end of [ref_make_elt_01024_ats_ptr_type] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 4355(line=175, offs=15) -- 4819(line=186, offs=28) */ ATSstaticdec() ats_ptr_type loop_22 (ats_ptr_type env0, ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp149) ; ATSlocal (ats_ptr_type, tmp150) ; ATSlocal (ats_ptr_type, tmp151) ; ATSlocal (ats_ptr_type, tmp152) ; ATSlocal (ats_ptr_type, tmp153) ; ATSlocal (ats_ptr_type, tmp154) ; ATSlocal (ats_ptr_type, tmp155) ; ATSlocal (ats_ptr_type, tmp159) ; ATSlocal (ats_ptr_type, tmp160) ; __ats_lab_loop_22: #line 178 "interp0.dats" do { /* branch: __ats_lab_21 */ #line 179 "interp0.dats" __ats_lab_21_0: #line 179 "interp0.dats" if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_22_0 ; } #line 179 "interp0.dats" __ats_lab_21_1: #line 179 "interp0.dats" if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_22_1 ; } #line 179 "interp0.dats" __ats_lab_21_2: #line 179 "interp0.dats" tmp150 = ats_caselptr_mac(anairiats_sum_5, arg1, atslab_0) ; #line 179 "interp0.dats" tmp151 = ats_caselptr_mac(anairiats_sum_5, arg1, atslab_1) ; #line 179 "interp0.dats" tmp152 = ats_caselptr_mac(anairiats_sum_5, arg2, atslab_0) ; #line 179 "interp0.dats" tmp153 = ats_caselptr_mac(anairiats_sum_5, arg2, atslab_1) ; #line 180 "interp0.dats" tmp154 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2edats__interp0Exp (env0, tmp152) ; #line 181 "interp0.dats" tmp155 = ref_make_elt_01024_ats_ptr_type (tmp154) ; #line 182 "interp0.dats" tmp160 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp160)->tag = 0 ; ats_selptrset_mac(anairiats_sum_3, tmp160, atslab_0, tmp155) ; #line 182 "interp0.dats" tmp159 = env_insert_10 (arg0, tmp150, tmp160) ; #line 184 "interp0.dats" arg0 = tmp159 ; #line 184 "interp0.dats" arg1 = tmp151 ; #line 184 "interp0.dats" arg2 = tmp153 ; #line 184 "interp0.dats" goto __ats_lab_loop_22 ; // tail call break ; /* branch: __ats_lab_22 */ #line 186 "interp0.dats" __ats_lab_22_0: #line 186 "interp0.dats" __ats_lab_22_1: #line 186 "interp0.dats" __ats_lab_22_2: #line 186 "interp0.dats" tmp149 = arg0 ; break ; } while (0) ; return (tmp149) ; } /* end of [loop_22] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } loop_22_closure_type ; ats_ptr_type loop_22_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { return loop_22 (((loop_22_closure_type*)cloptr)->closure_env_0, arg0, arg1, arg2) ; } /* end of function */ ATSinline() ats_void_type loop_22_closure_init (loop_22_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&loop_22_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type loop_22_closure_make (ats_ptr_type env0) { loop_22_closure_type *p_clo = ATS_MALLOC(sizeof(loop_22_closure_type)) ; loop_22_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/interp0.dats: 4999(line=193, offs=26) -- 5072(line=194, offs=69) */ ATSstaticdec() ats_ptr_type __ats_fun_25 (ats_ptr_type env0, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp165) ; __ats_lab___ats_fun_25: #line 194 "interp0.dats" tmp165 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2edats__interp0Exp (env0, arg0) ; return (tmp165) ; } /* end of [__ats_fun_25] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } __ats_fun_25_closure_type ; ats_ptr_type __ats_fun_25_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return __ats_fun_25 (((__ats_fun_25_closure_type*)cloptr)->closure_env_0, arg0) ; } /* end of function */ ATSinline() ats_void_type __ats_fun_25_closure_init (__ats_fun_25_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&__ats_fun_25_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ /* // /home/fac2/hwxi/research/ATS/IMPLEMENT/Geizella/Anairiats/svn/ats-lang/prelude/DATS/list.dats: 51557(line=1783, offs=6) -- 51706(line=1789, offs=6) */ ATSstaticdec() ats_ptr_type app_27 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp169) ; __ats_lab_app_27: #line 1785 "list.dats" tmp169 = ((ats_ptr_type(*)(ats_clo_ptr_type, ats_ptr_type))(ats_closure_fun(arg1))) (arg1, arg0) ; return (tmp169) ; } /* end of [app_27] */ /* // /home/fac2/hwxi/research/ATS/IMPLEMENT/Geizella/Anairiats/svn/ats-lang/prelude/DATS/list.dats: 50485(line=1745, offs=7) -- 50916(line=1759, offs=6) */ ATSstaticdec() ats_void_type loop_29 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp171) ; ATSlocal (ats_ptr_type, tmp172) ; ATSlocal (ats_ptr_type, tmp173) ; ATSlocal (ats_ptr_type, tmp174) ; ATSlocal (ats_ptr_type, tmp175) ; ATSlocal (ats_ptr_type, tmp176) ; ATSlocal (ats_ptr_type, tmp177) ; __ats_lab_loop_29: #line 1751 "list.dats" do { /* branch: __ats_lab_24 */ #line 1752 "list.dats" __ats_lab_24_0: #line 1752 "list.dats" if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_25_0 ; } #line 1752 "list.dats" __ats_lab_24_1: #line 1752 "list.dats" tmp172 = ats_caselptr_mac(anairiats_sum_5, arg0, atslab_0) ; #line 1752 "list.dats" tmp173 = ats_caselptr_mac(anairiats_sum_5, arg0, atslab_1) ; #line 1753 "list.dats" tmp174 = ((ats_ptr_type(*)(ats_ptr_type, ats_ptr_type))arg1) (tmp172, arg3) ; #line 1754 "list.dats" tmp175 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp175, atslab_0, tmp174) ; #line 1754 "list.dats" ats_ptrget_mac(ats_ptr_type, arg2) = tmp175 ; #line 1754 "list.dats" // if (ats_ptrget_mac(ats_ptr_type, arg2) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 1754 "list.dats" tmp176 = &ats_caselptr_mac(anairiats_sum_5, ats_ptrget_mac(ats_ptr_type, arg2), atslab_1) ; #line 1756 "list.dats" arg0 = tmp173 ; #line 1756 "list.dats" arg1 = arg1 ; #line 1756 "list.dats" arg2 = tmp176 ; #line 1756 "list.dats" arg3 = arg3 ; #line 1756 "list.dats" goto __ats_lab_loop_29 ; // tail call break ; /* branch: __ats_lab_25 */ #line 1758 "list.dats" __ats_lab_25_0: #line 1758 "list.dats" // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 1758 "list.dats" __ats_lab_25_1: #line 1758 "list.dats" tmp177 = (ats_sum_ptr_type)0 ; #line 1758 "list.dats" ats_ptrget_mac(ats_ptr_type, arg2) = tmp177 ; break ; } while (0) ; return /* (tmp171) */ ; } /* end of [loop_29] */ /* // /home/fac2/hwxi/research/ATS/IMPLEMENT/Geizella/Anairiats/svn/ats-lang/prelude/DATS/list.dats: 50412(line=1743, offs=24) -- 51013(line=1763, offs=4) */ ATSstaticdec() ats_ptr_type list_map_funenv_01479_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp170) ; ATSlocal (ats_ptr_type, tmp178) ; // ATSlocal_void (tmp179) ; __ats_lab_list_map_funenv_01479_ats_ptr_type_ats_ptr_type: #line 1760 "list.dats" /* ats_ptr_type tmp178 ; */ #line 1762 "list.dats" /* tmp179 = */ loop_29 (arg0, arg1, (&tmp178), arg2) ; #line 1762 "list.dats" tmp170 = tmp178 ; return (tmp170) ; } /* end of [list_map_funenv_01479_ats_ptr_type_ats_ptr_type] */ /* // /home/fac2/hwxi/research/ATS/IMPLEMENT/Geizella/Anairiats/svn/ats-lang/prelude/DATS/list.dats: 51421(line=1779, offs=23) -- 51881(line=1796, offs=4) */ ATSstaticdec() ats_ptr_type list_map_vclo_01481_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp168) ; __ats_lab_list_map_vclo_01481_ats_ptr_type_ats_ptr_type: #line 1791 "list.dats" tmp168 = list_map_funenv_01479_ats_ptr_type_ats_ptr_type (arg0, &app_27, arg1) ; return (tmp168) ; } /* end of [list_map_vclo_01481_ats_ptr_type_ats_ptr_type] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 4132(line=170, offs=5) -- 5533(line=210, offs=4) */ ATSstaticdec() ats_ptr_type interp0Exp_CallExp_21 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp144) ; ATSlocal (ats_ptr_type, tmp145) ; ATSlocal (ats_ptr_type, tmp146) ; ATSlocal (ats_ptr_type, tmp147) ; ATSlocal (ats_ptr_type, tmp148) ; ATSlocal (ats_ptr_type, tmp161) ; ATSlocal (ats_ptr_type, tmp162) ; ATSlocal (ats_ptr_type, tmp163) ; ATSlocal (ats_ptr_type, tmp164) ; ATSlocal (__ats_fun_25_closure_type, tmp166) ; ATSlocal (ats_ptr_type, tmp167) ; // ATSlocal_void (tmp180) ; // ATSlocal_void (tmp181) ; // ATSlocal_void (tmp182) ; // ATSlocal_void (tmp183) ; __ats_lab_interp0Exp_CallExp_21: #line 172 "interp0.dats" tmp145 = env_search_6 (arg0, arg1) ; #line 172 "interp0.dats" do { /* branch: __ats_lab_20 */ #line 173 "interp0.dats" __ats_lab_20_0: #line 173 "interp0.dats" if (((ats_sum_ptr_type)tmp145)->tag != 1) { goto __ats_lab_23_0 ; } #line 173 "interp0.dats" __ats_lab_20_1: #line 173 "interp0.dats" tmp146 = ats_caselptr_mac(anairiats_sum_10, tmp145, atslab_0) ; #line 173 "interp0.dats" tmp147 = ats_caselptr_mac(anairiats_sum_10, tmp145, atslab_1) ; #line 173 "interp0.dats" tmp148 = ats_caselptr_mac(anairiats_sum_10, tmp145, atslab_2) ; #line 174 "interp0.dats" tmp162 = ats_ptrget_mac(ats_ptr_type, tmp146) ; #line 174 "interp0.dats" tmp161 = loop_22 (arg0, tmp162, tmp147, arg2) ; #line 190 "interp0.dats" tmp144 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2edats__interp0Exp (tmp161, tmp148) ; break ; /* branch: __ats_lab_23 */ #line 192 "interp0.dats" __ats_lab_23_0: #line 192 "interp0.dats" if (((ats_sum_ptr_type)tmp145)->tag != 2) { goto __ats_lab_26_0 ; } #line 192 "interp0.dats" __ats_lab_23_1: #line 192 "interp0.dats" tmp163 = ats_caselptr_mac(anairiats_sum_3, tmp145, atslab_0) ; #line 193 "interp0.dats" /* ats_ptr_type tmp164 ; */ #line 193 "interp0.dats" tmp164 = &(tmp166) ; __ats_fun_25_closure_init (tmp164, arg0) ; // closure initialization #line 197 "interp0.dats" tmp167 = list_map_vclo_01481_ats_ptr_type_ats_ptr_type (arg2, tmp164) ; #line 201 "interp0.dats" tmp144 = ((ats_ptr_type(*)(ats_ptr_type))tmp163) (ats_castfn_mac(ats_ptr_type, tmp167)) ; break ; /* branch: __ats_lab_26 */ #line 203 "interp0.dats" __ats_lab_26_0: #line 203 "interp0.dats" __ats_lab_26_1: #line 204 "interp0.dats" /* tmp180 = */ atspre_prerr_string (ATSstrcst("INTERNAL ERROR")) ; #line 205 "interp0.dats" /* tmp181 = */ atspre_prerr_string (ATSstrcst(": interp0Exp_CallExp: unbound function: sym = ")) ; #line 206 "interp0.dats" /* tmp182 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2symbol_2esats__prerr_symbol (arg1) ; #line 207 "interp0.dats" /* tmp183 = */ atspre_prerr_newline () ; #line 208 "interp0.dats" /* tmp144 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2error_2esats__abort (1) ; break ; } while (0) ; return (tmp144) ; } /* end of [interp0Exp_CallExp_21] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 5653(line=217, offs=4) -- 6195(line=231, offs=2) */ ATSstaticdec() ats_int_type interp0Exp_OpExp_eqop_30 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp184) ; ATSlocal (ats_int_type, tmp185) ; ATSlocal (ats_int_type, tmp186) ; ATSlocal (ats_bool_type, tmp187) ; ATSlocal (ats_ptr_type, tmp188) ; ATSlocal (ats_ptr_type, tmp189) ; ATSlocal (ats_bool_type, tmp190) ; // ATSlocal_void (tmp191) ; // ATSlocal_void (tmp192) ; // ATSlocal_void (tmp193) ; __ats_lab_interp0Exp_OpExp_eqop_30: #line 218 "interp0.dats" do { /* branch: __ats_lab_27 */ #line 219 "interp0.dats" __ats_lab_27_0: #line 219 "interp0.dats" if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_28_0 ; } #line 219 "interp0.dats" __ats_lab_27_1: #line 219 "interp0.dats" if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_32_1 ; } #line 219 "interp0.dats" __ats_lab_27_2: #line 219 "interp0.dats" tmp185 = ats_caselptr_mac(anairiats_sum_2, arg0, atslab_0) ; #line 219 "interp0.dats" tmp186 = ats_caselptr_mac(anairiats_sum_2, arg1, atslab_0) ; #line 219 "interp0.dats" tmp187 = atspre_eq_int_int (tmp185, tmp186) ; #line 219 "interp0.dats" if (tmp187) { #line 214 "interp0.dats" tmp184 = 1 ; } else { #line 214 "interp0.dats" tmp184 = 0 ; } /* end of [if] */ break ; /* branch: __ats_lab_28 */ #line 220 "interp0.dats" __ats_lab_28_0: #line 220 "interp0.dats" if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_29_0 ; } #line 220 "interp0.dats" __ats_lab_28_1: #line 220 "interp0.dats" if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_32_1 ; } #line 220 "interp0.dats" __ats_lab_28_2: #line 220 "interp0.dats" tmp188 = ats_caselptr_mac(anairiats_sum_3, arg0, atslab_0) ; #line 220 "interp0.dats" tmp189 = ats_caselptr_mac(anairiats_sum_3, arg1, atslab_0) ; #line 220 "interp0.dats" tmp190 = atspre_eq_string_string (tmp188, tmp189) ; #line 220 "interp0.dats" if (tmp190) { #line 214 "interp0.dats" tmp184 = 1 ; } else { #line 214 "interp0.dats" tmp184 = 0 ; } /* end of [if] */ break ; /* branch: __ats_lab_29 */ #line 221 "interp0.dats" __ats_lab_29_0: #line 221 "interp0.dats" if (((ats_sum_ptr_type)arg0)->tag != 4) { goto __ats_lab_30_0 ; } #line 221 "interp0.dats" __ats_lab_29_1: #line 221 "interp0.dats" if (((ats_sum_ptr_type)arg1)->tag != 4) { goto __ats_lab_31_1 ; } #line 221 "interp0.dats" __ats_lab_29_2: #line 214 "interp0.dats" tmp184 = 1 ; break ; /* branch: __ats_lab_30 */ #line 222 "interp0.dats" __ats_lab_30_0: #line 222 "interp0.dats" if (((ats_sum_ptr_type)arg0)->tag != 2) { goto __ats_lab_31_0 ; } #line 222 "interp0.dats" __ats_lab_30_1: #line 222 "interp0.dats" if (((ats_sum_ptr_type)arg1)->tag != 4) { goto __ats_lab_32_1 ; } #line 222 "interp0.dats" __ats_lab_30_2: #line 214 "interp0.dats" tmp184 = 0 ; break ; /* branch: __ats_lab_31 */ #line 223 "interp0.dats" __ats_lab_31_0: #line 223 "interp0.dats" if (((ats_sum_ptr_type)arg0)->tag != 4) { goto __ats_lab_32_0 ; } #line 223 "interp0.dats" __ats_lab_31_1: #line 223 "interp0.dats" if (((ats_sum_ptr_type)arg1)->tag != 2) { goto __ats_lab_32_1 ; } #line 223 "interp0.dats" __ats_lab_31_2: #line 214 "interp0.dats" tmp184 = 0 ; break ; /* branch: __ats_lab_32 */ #line 224 "interp0.dats" __ats_lab_32_0: #line 224 "interp0.dats" __ats_lab_32_1: #line 224 "interp0.dats" __ats_lab_32_2: #line 225 "interp0.dats" /* tmp191 = */ atspre_prerr_string (ATSstrcst("INTERNAL ERROR")) ; #line 226 "interp0.dats" /* tmp192 = */ atspre_prerr_string (ATSstrcst(": interp0Exp_OpExp_eqop: argument mismatch")) ; #line 227 "interp0.dats" /* tmp193 = */ atspre_prerr_newline () ; #line 228 "interp0.dats" /* tmp184 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2error_2esats__abort (1) ; break ; } while (0) ; return (tmp184) ; } /* end of [interp0Exp_OpExp_eqop_30] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 6234(line=233, offs=4) -- 8041(line=297, offs=4) */ ATSstaticdec() ats_ptr_type interp0Exp_OpExp_31 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp194) ; ATSlocal (ats_ptr_type, tmp195) ; ATSlocal (ats_ptr_type, tmp196) ; ATSlocal (ats_int_type, tmp197) ; ATSlocal (ats_int_type, tmp198) ; ATSlocal (ats_int_type, tmp199) ; ATSlocal (ats_int_type, tmp200) ; ATSlocal (ats_int_type, tmp201) ; ATSlocal (ats_int_type, tmp202) ; ATSlocal (ats_int_type, tmp203) ; ATSlocal (ats_int_type, tmp204) ; ATSlocal (ats_int_type, tmp205) ; ATSlocal (ats_int_type, tmp206) ; ATSlocal (ats_int_type, tmp207) ; ATSlocal (ats_int_type, tmp208) ; ATSlocal (ats_int_type, tmp209) ; ATSlocal (ats_int_type, tmp210) ; ATSlocal (ats_int_type, tmp211) ; ATSlocal (ats_bool_type, tmp212) ; ATSlocal (ats_int_type, tmp213) ; ATSlocal (ats_int_type, tmp214) ; ATSlocal (ats_int_type, tmp215) ; ATSlocal (ats_bool_type, tmp216) ; ATSlocal (ats_int_type, tmp217) ; ATSlocal (ats_int_type, tmp218) ; ATSlocal (ats_int_type, tmp219) ; ATSlocal (ats_bool_type, tmp220) ; ATSlocal (ats_int_type, tmp221) ; ATSlocal (ats_int_type, tmp222) ; ATSlocal (ats_int_type, tmp223) ; ATSlocal (ats_bool_type, tmp224) ; ATSlocal (ats_int_type, tmp225) ; ATSlocal (ats_int_type, tmp226) ; ATSlocal (ats_int_type, tmp227) ; ATSlocal (ats_bool_type, tmp228) ; ATSlocal (ats_int_type, tmp229) ; ATSlocal (ats_int_type, tmp230) ; ATSlocal (ats_int_type, tmp231) ; ATSlocal (ats_bool_type, tmp232) ; ATSlocal (ats_int_type, tmp233) ; ATSlocal (ats_int_type, tmp234) ; ATSlocal (ats_int_type, tmp235) ; ATSlocal (ats_bool_type, tmp236) ; __ats_lab_interp0Exp_OpExp_31: #line 235 "interp0.dats" tmp195 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2edats__interp0Exp (arg0, arg1) ; #line 235 "interp0.dats" tmp196 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2edats__interp0Exp (arg0, arg3) ; #line 237 "interp0.dats" do { /* branch: __ats_lab_33 */ #line 238 "interp0.dats" __ats_lab_33_0: #line 238 "interp0.dats" if (((ats_sum_ptr_type)arg2)->tag != 0) { goto __ats_lab_34_0 ; } #line 238 "interp0.dats" __ats_lab_33_1: #line 239 "interp0.dats" if (((ats_sum_ptr_type)tmp195)->tag != 0) { ats_caseof_failure_handle ("/cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 6420(line=239, offs=12) -- 6434(line=239, offs=26)") ; } #line 239 "interp0.dats" tmp197 = ats_caselptr_mac(anairiats_sum_2, tmp195, atslab_0) ; #line 239 "interp0.dats" if (((ats_sum_ptr_type)tmp196)->tag != 0) { ats_caseof_failure_handle ("/cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 6441(line=239, offs=33) -- 6455(line=239, offs=47)") ; } #line 239 "interp0.dats" tmp198 = ats_caselptr_mac(anairiats_sum_2, tmp196, atslab_0) ; #line 241 "interp0.dats" tmp199 = atspre_add_int_int (tmp197, tmp198) ; #line 241 "interp0.dats" tmp194 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp194)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, tmp194, atslab_0, tmp199) ; break ; /* branch: __ats_lab_34 */ #line 243 "interp0.dats" __ats_lab_34_0: #line 243 "interp0.dats" if (((ats_sum_ptr_type)arg2)->tag != 1) { goto __ats_lab_35_0 ; } #line 243 "interp0.dats" __ats_lab_34_1: #line 244 "interp0.dats" if (((ats_sum_ptr_type)tmp195)->tag != 0) { ats_caseof_failure_handle ("/cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 6545(line=244, offs=12) -- 6559(line=244, offs=26)") ; } #line 244 "interp0.dats" tmp200 = ats_caselptr_mac(anairiats_sum_2, tmp195, atslab_0) ; #line 244 "interp0.dats" if (((ats_sum_ptr_type)tmp196)->tag != 0) { ats_caseof_failure_handle ("/cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 6566(line=244, offs=33) -- 6580(line=244, offs=47)") ; } #line 244 "interp0.dats" tmp201 = ats_caselptr_mac(anairiats_sum_2, tmp196, atslab_0) ; #line 246 "interp0.dats" tmp202 = atspre_sub_int_int (tmp200, tmp201) ; #line 246 "interp0.dats" tmp194 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp194)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, tmp194, atslab_0, tmp202) ; break ; /* branch: __ats_lab_35 */ #line 248 "interp0.dats" __ats_lab_35_0: #line 248 "interp0.dats" if (((ats_sum_ptr_type)arg2)->tag != 2) { goto __ats_lab_36_0 ; } #line 248 "interp0.dats" __ats_lab_35_1: #line 249 "interp0.dats" if (((ats_sum_ptr_type)tmp195)->tag != 0) { ats_caseof_failure_handle ("/cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 6671(line=249, offs=12) -- 6685(line=249, offs=26)") ; } #line 249 "interp0.dats" tmp203 = ats_caselptr_mac(anairiats_sum_2, tmp195, atslab_0) ; #line 249 "interp0.dats" if (((ats_sum_ptr_type)tmp196)->tag != 0) { ats_caseof_failure_handle ("/cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 6692(line=249, offs=33) -- 6706(line=249, offs=47)") ; } #line 249 "interp0.dats" tmp204 = ats_caselptr_mac(anairiats_sum_2, tmp196, atslab_0) ; #line 251 "interp0.dats" tmp205 = atspre_mul_int_int (tmp203, tmp204) ; #line 251 "interp0.dats" tmp194 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp194)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, tmp194, atslab_0, tmp205) ; break ; /* branch: __ats_lab_36 */ #line 253 "interp0.dats" __ats_lab_36_0: #line 253 "interp0.dats" if (((ats_sum_ptr_type)arg2)->tag != 3) { goto __ats_lab_37_0 ; } #line 253 "interp0.dats" __ats_lab_36_1: #line 254 "interp0.dats" if (((ats_sum_ptr_type)tmp195)->tag != 0) { ats_caseof_failure_handle ("/cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 6798(line=254, offs=12) -- 6812(line=254, offs=26)") ; } #line 254 "interp0.dats" tmp206 = ats_caselptr_mac(anairiats_sum_2, tmp195, atslab_0) ; #line 254 "interp0.dats" if (((ats_sum_ptr_type)tmp196)->tag != 0) { ats_caseof_failure_handle ("/cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 6819(line=254, offs=33) -- 6833(line=254, offs=47)") ; } #line 254 "interp0.dats" tmp207 = ats_caselptr_mac(anairiats_sum_2, tmp196, atslab_0) ; #line 256 "interp0.dats" tmp208 = atspre_div_int_int (tmp206, tmp207) ; #line 256 "interp0.dats" tmp194 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp194)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, tmp194, atslab_0, tmp208) ; break ; /* branch: __ats_lab_37 */ #line 258 "interp0.dats" __ats_lab_37_0: #line 258 "interp0.dats" if (((ats_sum_ptr_type)arg2)->tag != 4) { goto __ats_lab_38_0 ; } #line 258 "interp0.dats" __ats_lab_37_1: #line 259 "interp0.dats" tmp209 = interp0Exp_OpExp_eqop_30 (tmp195, tmp196) ; #line 259 "interp0.dats" tmp194 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp194)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, tmp194, atslab_0, tmp209) ; break ; /* branch: __ats_lab_38 */ #line 261 "interp0.dats" __ats_lab_38_0: #line 261 "interp0.dats" if (((ats_sum_ptr_type)arg2)->tag != 5) { goto __ats_lab_39_0 ; } #line 261 "interp0.dats" __ats_lab_38_1: #line 262 "interp0.dats" tmp210 = interp0Exp_OpExp_eqop_30 (tmp195, tmp196) ; #line 263 "interp0.dats" tmp212 = atspre_neq_int_int (tmp210, 0) ; #line 263 "interp0.dats" if (tmp212) { #line 214 "interp0.dats" tmp211 = 0 ; } else { #line 214 "interp0.dats" tmp211 = 1 ; } /* end of [if] */ #line 265 "interp0.dats" tmp194 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp194)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, tmp194, atslab_0, tmp211) ; break ; /* branch: __ats_lab_39 */ #line 267 "interp0.dats" __ats_lab_39_0: #line 267 "interp0.dats" if (((ats_sum_ptr_type)arg2)->tag != 6) { goto __ats_lab_40_0 ; } #line 267 "interp0.dats" __ats_lab_39_1: #line 268 "interp0.dats" if (((ats_sum_ptr_type)tmp195)->tag != 0) { ats_caseof_failure_handle ("/cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 7196(line=268, offs=12) -- 7210(line=268, offs=26)") ; } #line 268 "interp0.dats" tmp213 = ats_caselptr_mac(anairiats_sum_2, tmp195, atslab_0) ; #line 268 "interp0.dats" if (((ats_sum_ptr_type)tmp196)->tag != 0) { ats_caseof_failure_handle ("/cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 7217(line=268, offs=33) -- 7231(line=268, offs=47)") ; } #line 268 "interp0.dats" tmp214 = ats_caselptr_mac(anairiats_sum_2, tmp196, atslab_0) ; #line 270 "interp0.dats" tmp216 = atspre_gt_int_int (tmp213, tmp214) ; #line 270 "interp0.dats" if (tmp216) { #line 214 "interp0.dats" tmp215 = 1 ; } else { #line 214 "interp0.dats" tmp215 = 0 ; } /* end of [if] */ #line 270 "interp0.dats" tmp194 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp194)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, tmp194, atslab_0, tmp215) ; break ; /* branch: __ats_lab_40 */ #line 272 "interp0.dats" __ats_lab_40_0: #line 272 "interp0.dats" if (((ats_sum_ptr_type)arg2)->tag != 7) { goto __ats_lab_41_0 ; } #line 272 "interp0.dats" __ats_lab_40_1: #line 273 "interp0.dats" if (((ats_sum_ptr_type)tmp195)->tag != 0) { ats_caseof_failure_handle ("/cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 7340(line=273, offs=12) -- 7354(line=273, offs=26)") ; } #line 273 "interp0.dats" tmp217 = ats_caselptr_mac(anairiats_sum_2, tmp195, atslab_0) ; #line 273 "interp0.dats" if (((ats_sum_ptr_type)tmp196)->tag != 0) { ats_caseof_failure_handle ("/cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 7361(line=273, offs=33) -- 7375(line=273, offs=47)") ; } #line 273 "interp0.dats" tmp218 = ats_caselptr_mac(anairiats_sum_2, tmp196, atslab_0) ; #line 275 "interp0.dats" tmp220 = atspre_gte_int_int (tmp217, tmp218) ; #line 275 "interp0.dats" if (tmp220) { #line 214 "interp0.dats" tmp219 = 1 ; } else { #line 214 "interp0.dats" tmp219 = 0 ; } /* end of [if] */ #line 275 "interp0.dats" tmp194 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp194)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, tmp194, atslab_0, tmp219) ; break ; /* branch: __ats_lab_41 */ #line 277 "interp0.dats" __ats_lab_41_0: #line 277 "interp0.dats" if (((ats_sum_ptr_type)arg2)->tag != 8) { goto __ats_lab_42_0 ; } #line 277 "interp0.dats" __ats_lab_41_1: #line 278 "interp0.dats" if (((ats_sum_ptr_type)tmp195)->tag != 0) { ats_caseof_failure_handle ("/cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 7485(line=278, offs=12) -- 7499(line=278, offs=26)") ; } #line 278 "interp0.dats" tmp221 = ats_caselptr_mac(anairiats_sum_2, tmp195, atslab_0) ; #line 278 "interp0.dats" if (((ats_sum_ptr_type)tmp196)->tag != 0) { ats_caseof_failure_handle ("/cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 7506(line=278, offs=33) -- 7520(line=278, offs=47)") ; } #line 278 "interp0.dats" tmp222 = ats_caselptr_mac(anairiats_sum_2, tmp196, atslab_0) ; #line 280 "interp0.dats" tmp224 = atspre_lt_int_int (tmp221, tmp222) ; #line 280 "interp0.dats" if (tmp224) { #line 214 "interp0.dats" tmp223 = 1 ; } else { #line 214 "interp0.dats" tmp223 = 0 ; } /* end of [if] */ #line 280 "interp0.dats" tmp194 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp194)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, tmp194, atslab_0, tmp223) ; break ; /* branch: __ats_lab_42 */ #line 282 "interp0.dats" __ats_lab_42_0: #line 282 "interp0.dats" if (((ats_sum_ptr_type)arg2)->tag != 9) { goto __ats_lab_43_0 ; } #line 282 "interp0.dats" __ats_lab_42_1: #line 283 "interp0.dats" if (((ats_sum_ptr_type)tmp195)->tag != 0) { ats_caseof_failure_handle ("/cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 7629(line=283, offs=12) -- 7643(line=283, offs=26)") ; } #line 283 "interp0.dats" tmp225 = ats_caselptr_mac(anairiats_sum_2, tmp195, atslab_0) ; #line 283 "interp0.dats" if (((ats_sum_ptr_type)tmp196)->tag != 0) { ats_caseof_failure_handle ("/cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 7650(line=283, offs=33) -- 7664(line=283, offs=47)") ; } #line 283 "interp0.dats" tmp226 = ats_caselptr_mac(anairiats_sum_2, tmp196, atslab_0) ; #line 285 "interp0.dats" tmp228 = atspre_lte_int_int (tmp225, tmp226) ; #line 285 "interp0.dats" if (tmp228) { #line 214 "interp0.dats" tmp227 = 1 ; } else { #line 214 "interp0.dats" tmp227 = 0 ; } /* end of [if] */ #line 285 "interp0.dats" tmp194 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp194)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, tmp194, atslab_0, tmp227) ; break ; /* branch: __ats_lab_43 */ #line 287 "interp0.dats" __ats_lab_43_0: #line 287 "interp0.dats" if (((ats_sum_ptr_type)arg2)->tag != 10) { goto __ats_lab_44_0 ; } #line 287 "interp0.dats" __ats_lab_43_1: #line 288 "interp0.dats" if (((ats_sum_ptr_type)tmp195)->tag != 0) { ats_caseof_failure_handle ("/cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 7775(line=288, offs=12) -- 7789(line=288, offs=26)") ; } #line 288 "interp0.dats" tmp229 = ats_caselptr_mac(anairiats_sum_2, tmp195, atslab_0) ; #line 288 "interp0.dats" if (((ats_sum_ptr_type)tmp196)->tag != 0) { ats_caseof_failure_handle ("/cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 7796(line=288, offs=33) -- 7810(line=288, offs=47)") ; } #line 288 "interp0.dats" tmp230 = ats_caselptr_mac(anairiats_sum_2, tmp196, atslab_0) ; #line 290 "interp0.dats" tmp232 = atspre_neq_int_int (tmp229, 0) ; #line 290 "interp0.dats" if (tmp232) { #line 290 "interp0.dats" tmp231 = tmp230 ; } else { #line 214 "interp0.dats" tmp231 = 0 ; } /* end of [if] */ #line 290 "interp0.dats" tmp194 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp194)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, tmp194, atslab_0, tmp231) ; break ; /* branch: __ats_lab_44 */ #line 292 "interp0.dats" __ats_lab_44_0: #line 292 "interp0.dats" // if (((ats_sum_ptr_type)arg2)->tag != 11) { ats_deadcode_failure_handle () ; } #line 292 "interp0.dats" __ats_lab_44_1: #line 293 "interp0.dats" if (((ats_sum_ptr_type)tmp195)->tag != 0) { ats_caseof_failure_handle ("/cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 7922(line=293, offs=12) -- 7936(line=293, offs=26)") ; } #line 293 "interp0.dats" tmp233 = ats_caselptr_mac(anairiats_sum_2, tmp195, atslab_0) ; #line 293 "interp0.dats" if (((ats_sum_ptr_type)tmp196)->tag != 0) { ats_caseof_failure_handle ("/cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 7943(line=293, offs=33) -- 7957(line=293, offs=47)") ; } #line 293 "interp0.dats" tmp234 = ats_caselptr_mac(anairiats_sum_2, tmp196, atslab_0) ; #line 295 "interp0.dats" tmp236 = atspre_neq_int_int (tmp233, 0) ; #line 295 "interp0.dats" if (tmp236) { #line 214 "interp0.dats" tmp235 = 1 ; } else { #line 295 "interp0.dats" tmp235 = tmp234 ; } /* end of [if] */ #line 295 "interp0.dats" tmp194 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp194)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, tmp194, atslab_0, tmp235) ; break ; } while (0) ; return (tmp194) ; } /* end of [interp0Exp_OpExp_31] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 8174(line=303, offs=7) -- 8709(line=319, offs=48) */ ATSstaticdec() ats_void_type loop_33 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* 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 (ats_ptr_type, tmp243) ; ATSlocal (ats_ptr_type, tmp244) ; ATSlocal (ats_ptr_type, tmp245) ; ATSlocal (ats_ptr_type, tmp246) ; ATSlocal (ats_ptr_type, tmp247) ; __ats_lab_loop_33: #line 308 "interp0.dats" do { /* branch: __ats_lab_45 */ #line 309 "interp0.dats" __ats_lab_45_0: #line 309 "interp0.dats" if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_46_0 ; } #line 309 "interp0.dats" __ats_lab_45_1: #line 309 "interp0.dats" tmp239 = ats_caselptr_mac(anairiats_sum_5, arg1, atslab_0) ; #line 309 "interp0.dats" tmp240 = ats_caselptr_mac(anairiats_sum_5, arg1, atslab_1) ; #line 310 "interp0.dats" tmp241 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, tmp239), atslab_fieldexp_lab) ; #line 311 "interp0.dats" tmp243 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, tmp239), atslab_fieldexp_exp) ; #line 311 "interp0.dats" tmp242 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2edats__interp0Exp (arg0, tmp243) ; #line 312 "interp0.dats" tmp244 = ref_make_elt_01024_ats_ptr_type (tmp242) ; #line 313 "interp0.dats" tmp245 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp245, atslab_0, tmp241) ; ats_selptrset_mac(anairiats_sum_9, tmp245, atslab_1, tmp244) ; #line 313 "interp0.dats" ats_ptrget_mac(ats_ptr_type, arg2) = tmp245 ; #line 314 "interp0.dats" // if (ats_ptrget_mac(ats_ptr_type, arg2) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 314 "interp0.dats" tmp246 = &ats_caselptr_mac(anairiats_sum_9, ats_ptrget_mac(ats_ptr_type, arg2), atslab_2) ; #line 315 "interp0.dats" arg0 = arg0 ; #line 315 "interp0.dats" arg1 = tmp240 ; #line 315 "interp0.dats" arg2 = tmp246 ; #line 315 "interp0.dats" goto __ats_lab_loop_33 ; // tail call break ; /* branch: __ats_lab_46 */ #line 319 "interp0.dats" __ats_lab_46_0: #line 319 "interp0.dats" // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 319 "interp0.dats" __ats_lab_46_1: #line 319 "interp0.dats" tmp247 = (ats_sum_ptr_type)0 ; #line 319 "interp0.dats" ats_ptrget_mac(ats_ptr_type, arg2) = tmp247 ; break ; } while (0) ; return /* (tmp238) */ ; } /* end of [loop_33] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 8097(line=301, offs=5) -- 8813(line=325, offs=4) */ ATSstaticdec() ats_ptr_type interp0Exp_RecordExp_32 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp237) ; ATSlocal (ats_ptr_type, tmp248) ; // ATSlocal_void (tmp249) ; __ats_lab_interp0Exp_RecordExp_32: #line 321 "interp0.dats" /* ats_ptr_type tmp248 ; */ #line 322 "interp0.dats" /* tmp249 = */ loop_33 (arg0, arg1, (&tmp248)) ; #line 324 "interp0.dats" tmp237 = tmp248 ; return (tmp237) ; } /* end of [interp0Exp_RecordExp_32] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 8981(line=332, offs=11) -- 9209(line=337, offs=10) */ ATSstaticdec() ats_ptr_type loop_35 (ats_ptr_type env0, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp251) ; ATSlocal (ats_ptr_type, tmp252) ; ATSlocal (ats_ptr_type, tmp253) ; ATSlocal (ats_ptr_type, tmp254) ; __ats_lab_loop_35: #line 334 "interp0.dats" // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 334 "interp0.dats" tmp252 = ats_caselptr_mac(anairiats_sum_5, arg0, atslab_0) ; #line 334 "interp0.dats" tmp253 = ats_caselptr_mac(anairiats_sum_5, arg0, atslab_1) ; #line 335 "interp0.dats" tmp254 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2edats__interp0Exp (env0, tmp252) ; #line 335 "interp0.dats" do { /* branch: __ats_lab_48 */ #line 336 "interp0.dats" __ats_lab_48_0: #line 336 "interp0.dats" if (tmp253 == (ats_sum_ptr_type)0) { goto __ats_lab_49_0 ; } #line 336 "interp0.dats" __ats_lab_48_1: #line 336 "interp0.dats" arg0 = tmp253 ; #line 336 "interp0.dats" goto __ats_lab_loop_35 ; // tail call break ; /* branch: __ats_lab_49 */ #line 336 "interp0.dats" __ats_lab_49_0: #line 336 "interp0.dats" // if (tmp253 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 336 "interp0.dats" __ats_lab_49_1: #line 336 "interp0.dats" tmp251 = tmp254 ; break ; } while (0) ; return (tmp251) ; } /* end of [loop_35] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } loop_35_closure_type ; ats_ptr_type loop_35_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return loop_35 (((loop_35_closure_type*)cloptr)->closure_env_0, arg0) ; } /* end of function */ ATSinline() ats_void_type loop_35_closure_init (loop_35_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&loop_35_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type loop_35_closure_make (ats_ptr_type env0) { loop_35_closure_type *p_clo = ATS_MALLOC(sizeof(loop_35_closure_type)) ; loop_35_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/interp0.dats: 8872(line=329, offs=4) -- 9284(line=339, offs=30) */ ATSstaticdec() ats_ptr_type interp0Exp_SeqExp_34 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp250) ; __ats_lab_interp0Exp_SeqExp_34: #line 330 "interp0.dats" do { /* branch: __ats_lab_47 */ #line 331 "interp0.dats" __ats_lab_47_0: #line 331 "interp0.dats" if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_50_0 ; } #line 331 "interp0.dats" __ats_lab_47_1: #line 331 "interp0.dats" tmp250 = loop_35 (arg0, arg1) ; break ; /* branch: __ats_lab_50 */ #line 339 "interp0.dats" __ats_lab_50_0: #line 339 "interp0.dats" // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 339 "interp0.dats" __ats_lab_50_1: #line 339 "interp0.dats" tmp250 = (ats_sum_ptr_type)(&_2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2esats__VALunit) ; break ; } while (0) ; return (tmp250) ; } /* end of [interp0Exp_SeqExp_34] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 9964(line=361, offs=11) -- 10525(line=376, offs=14) */ ATSstaticdec() ats_void_type loop_37 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp269) ; ATSlocal (ats_ptr_type, tmp270) ; ATSlocal (ats_ptr_type, tmp271) ; ATSlocal (ats_ptr_type, tmp272) ; ATSlocal (ats_bool_type, tmp273) ; ATSlocal (ats_ptr_type, tmp274) ; // ATSlocal_void (tmp275) ; // ATSlocal_void (tmp276) ; // ATSlocal_void (tmp277) ; // ATSlocal_void (tmp278) ; __ats_lab_loop_37: #line 363 "interp0.dats" do { /* branch: __ats_lab_55 */ #line 364 "interp0.dats" __ats_lab_55_0: #line 364 "interp0.dats" if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_56_0 ; } #line 364 "interp0.dats" __ats_lab_55_1: #line 364 "interp0.dats" tmp270 = ats_caselptr_mac(anairiats_sum_9, arg2, atslab_0) ; #line 364 "interp0.dats" tmp271 = ats_caselptr_mac(anairiats_sum_9, arg2, atslab_1) ; #line 364 "interp0.dats" tmp272 = ats_caselptr_mac(anairiats_sum_9, arg2, atslab_2) ; #line 365 "interp0.dats" tmp273 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2symbol_2esats__eq_symbol_symbol (arg1, tmp270) ; #line 365 "interp0.dats" if (tmp273) { #line 366 "interp0.dats" tmp274 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2edats__interp0Exp (arg0, arg3) ; #line 366 "interp0.dats" ats_ptrget_mac(ats_ptr_type, tmp271) = tmp274 ; } else { #line 368 "interp0.dats" arg0 = arg0 ; #line 368 "interp0.dats" arg1 = arg1 ; #line 368 "interp0.dats" arg2 = tmp272 ; #line 368 "interp0.dats" arg3 = arg3 ; #line 368 "interp0.dats" goto __ats_lab_loop_37 ; // tail call } /* end of [if] */ break ; /* branch: __ats_lab_56 */ #line 370 "interp0.dats" __ats_lab_56_0: #line 370 "interp0.dats" // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 370 "interp0.dats" __ats_lab_56_1: #line 371 "interp0.dats" /* tmp275 = */ atspre_prerr_string (ATSstrcst("INTERNAL ERROR")) ; #line 372 "interp0.dats" /* tmp276 = */ atspre_prerr_string (ATSstrcst(": interp0Var: FieldVar: unfound label: lab = ")) ; #line 373 "interp0.dats" /* tmp277 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2symbol_2esats__prerr_symbol (arg1) ; #line 374 "interp0.dats" /* tmp278 = */ atspre_prerr_newline () ; #line 375 "interp0.dats" /* tmp269 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2error_2esats__abort (1) ; break ; } while (0) ; return /* (tmp269) */ ; } /* end of [loop_37] */ /* // /home/fac2/hwxi/research/ATS/IMPLEMENT/Geizella/Anairiats/svn/ats-lang/prelude/DATS/array0.dats: 3451(line=124, offs=32) -- 3829(line=138, offs=4) */ ATSstaticdec() ats_void_type array0_set_elt_at_01358_ats_ptr_type (ats_ptr_type arg0, ats_size_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp288) ; ATSlocal (ats_ptr_type, tmp289) ; ATSlocal (ats_ptr_type, tmp290) ; ATSlocal (ats_size_type, tmp291) ; ATSlocal (ats_bool_type, tmp292) ; ATSlocal (ats_ptr_type, tmp293) ; __ats_lab_array0_set_elt_at_01358_ats_ptr_type: #line 125 "array0.dats" tmp289 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; #line 127 "array0.dats" tmp290 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp289), atslab_2) ; #line 127 "array0.dats" tmp291 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp289), atslab_3) ; #line 129 "array0.dats" tmp292 = atspre_lt_size1_size1 (ats_castfn_mac(ats_size_type, arg1), tmp291) ; #line 129 "array0.dats" if (tmp292) { #line 131 "array0.dats" ats_caselind_mac(ats_ptr_type, tmp290, [ats_castfn_mac(ats_size_type, arg1)]) = arg2 ; } else { #line 136 "array0.dats" tmp293 = (ats_sum_ptr_type)(&ATS_2d0_2e2_2e6_2prelude_2SATS_2array_2esats__ArraySubscriptException) ; #line 136 "array0.dats" /* tmp288 = */ ats_raise_exn (tmp293) ; } /* end of [if] */ return /* (tmp288) */ ; } /* end of [array0_set_elt_at_01358_ats_ptr_type] */ /* // /home/fac2/hwxi/research/ATS/IMPLEMENT/Geizella/Anairiats/svn/ats-lang/prelude/DATS/array0.dats: 4184(line=154, offs=26) -- 4369(line=162, offs=4) */ ATSstaticdec() ats_void_type array0_set_elt_at__intsz_01360_ats_ptr_type (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp286) ; ATSlocal (ats_bool_type, tmp287) ; ATSlocal (ats_size_type, tmp294) ; ATSlocal (ats_ptr_type, tmp295) ; __ats_lab_array0_set_elt_at__intsz_01360_ats_ptr_type: #line 157 "array0.dats" tmp287 = atspre_igte (ats_castfn_mac(ats_int_type, arg1), 0) ; #line 157 "array0.dats" if (tmp287) { #line 158 "array0.dats" tmp294 = atspre_size1_of_int1 (ats_castfn_mac(ats_int_type, arg1)) ; #line 158 "array0.dats" /* tmp286 = */ array0_set_elt_at_01358_ats_ptr_type (arg0, tmp294, arg2) ; } else { #line 160 "array0.dats" tmp295 = (ats_sum_ptr_type)(&ATS_2d0_2e2_2e6_2prelude_2SATS_2array_2esats__ArraySubscriptException) ; #line 160 "array0.dats" /* tmp286 = */ ats_raise_exn (tmp295) ; } /* end of [if] */ return /* (tmp286) */ ; } /* end of [array0_set_elt_at__intsz_01360_ats_ptr_type] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 9308(line=342, offs=4) -- 10891(line=389, offs=8) */ ATSstaticdec() ats_void_type interp0Exp_AssignExp_36 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp255) ; ATSlocal (ats_ptr_type, tmp256) ; ATSlocal (ats_ptr_type, tmp257) ; ATSlocal (ats_ptr_type, tmp258) ; ATSlocal (ats_ptr_type, tmp259) ; ATSlocal (ats_ptr_type, tmp260) ; // ATSlocal_void (tmp261) ; // ATSlocal_void (tmp262) ; // ATSlocal_void (tmp263) ; // ATSlocal_void (tmp264) ; ATSlocal (ats_ptr_type, tmp265) ; ATSlocal (ats_ptr_type, tmp266) ; ATSlocal (ats_ptr_type, tmp267) ; ATSlocal (ats_ptr_type, tmp268) ; ATSlocal (ats_ptr_type, tmp279) ; ATSlocal (ats_ptr_type, tmp280) ; ATSlocal (ats_ptr_type, tmp281) ; ATSlocal (ats_ptr_type, tmp282) ; ATSlocal (ats_ptr_type, tmp283) ; ATSlocal (ats_int_type, tmp284) ; ATSlocal (ats_ptr_type, tmp285) ; __ats_lab_interp0Exp_AssignExp_36: #line 343 "interp0.dats" tmp256 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg1), atslab_v1ar_node) ; #line 343 "interp0.dats" do { /* branch: __ats_lab_51 */ #line 344 "interp0.dats" __ats_lab_51_0: #line 344 "interp0.dats" if (((ats_sum_ptr_type)tmp256)->tag != 0) { goto __ats_lab_54_0 ; } #line 344 "interp0.dats" __ats_lab_51_1: #line 344 "interp0.dats" tmp257 = ats_caselptr_mac(anairiats_sum_3, tmp256, atslab_0) ; #line 345 "interp0.dats" tmp258 = env_search_6 (arg0, tmp257) ; #line 346 "interp0.dats" do { /* branch: __ats_lab_52 */ #line 347 "interp0.dats" __ats_lab_52_0: #line 347 "interp0.dats" if (((ats_sum_ptr_type)tmp258)->tag != 0) { goto __ats_lab_53_0 ; } #line 347 "interp0.dats" __ats_lab_52_1: #line 347 "interp0.dats" tmp259 = ats_caselptr_mac(anairiats_sum_3, tmp258, atslab_0) ; #line 348 "interp0.dats" tmp260 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2edats__interp0Exp (arg0, arg2) ; #line 348 "interp0.dats" ats_ptrget_mac(ats_ptr_type, tmp259) = tmp260 ; break ; /* branch: __ats_lab_53 */ #line 350 "interp0.dats" __ats_lab_53_0: #line 350 "interp0.dats" __ats_lab_53_1: #line 351 "interp0.dats" /* tmp261 = */ atspre_prerr_string (ATSstrcst("INTERNAL ERROR")) ; #line 352 "interp0.dats" /* tmp262 = */ atspre_prerr_string (ATSstrcst(": interp0Exp_AssignExp: unbound variable: sym = ")) ; #line 353 "interp0.dats" /* tmp263 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2symbol_2esats__prerr_symbol (tmp257) ; #line 354 "interp0.dats" /* tmp264 = */ atspre_prerr_newline () ; #line 355 "interp0.dats" /* tmp255 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2error_2esats__abort (1) ; break ; } while (0) ; break ; /* branch: __ats_lab_54 */ #line 358 "interp0.dats" __ats_lab_54_0: #line 358 "interp0.dats" if (((ats_sum_ptr_type)tmp256)->tag != 1) { goto __ats_lab_57_0 ; } #line 358 "interp0.dats" __ats_lab_54_1: #line 358 "interp0.dats" tmp265 = ats_caselptr_mac(anairiats_sum_8, tmp256, atslab_0) ; #line 358 "interp0.dats" tmp266 = ats_caselptr_mac(anairiats_sum_8, tmp256, atslab_1) ; #line 359 "interp0.dats" tmp267 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2edats__interp0Var (arg0, tmp265) ; #line 360 "interp0.dats" if (((ats_sum_ptr_type)tmp267)->tag != 2) { ats_caseof_failure_handle ("/cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 9935(line=360, offs=12) -- 9953(line=360, offs=30)") ; } #line 360 "interp0.dats" tmp268 = ats_caselptr_mac(anairiats_sum_3, tmp267, atslab_0) ; #line 379 "interp0.dats" /* tmp255 = */ loop_37 (arg0, tmp266, tmp268, arg2) ; break ; /* branch: __ats_lab_57 */ #line 381 "interp0.dats" __ats_lab_57_0: #line 381 "interp0.dats" // if (((ats_sum_ptr_type)tmp256)->tag != 2) { ats_deadcode_failure_handle () ; } #line 381 "interp0.dats" __ats_lab_57_1: #line 381 "interp0.dats" tmp279 = ats_caselptr_mac(anairiats_sum_8, tmp256, atslab_0) ; #line 381 "interp0.dats" tmp280 = ats_caselptr_mac(anairiats_sum_8, tmp256, atslab_1) ; #line 382 "interp0.dats" tmp281 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2edats__interp0Var (arg0, tmp279) ; #line 383 "interp0.dats" if (((ats_sum_ptr_type)tmp281)->tag != 3) { ats_caseof_failure_handle ("/cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 10728(line=383, offs=12) -- 10746(line=383, offs=30)") ; } #line 383 "interp0.dats" tmp282 = ats_caselptr_mac(anairiats_sum_3, tmp281, atslab_0) ; #line 384 "interp0.dats" tmp283 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2edats__interp0Exp (arg0, tmp280) ; #line 385 "interp0.dats" if (((ats_sum_ptr_type)tmp283)->tag != 0) { ats_caseof_failure_handle ("/cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 10800(line=385, offs=12) -- 10820(line=385, offs=32)") ; } #line 385 "interp0.dats" tmp284 = ats_caselptr_mac(anairiats_sum_2, tmp283, atslab_0) ; #line 386 "interp0.dats" tmp285 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2edats__interp0Exp (arg0, arg2) ; #line 388 "interp0.dats" /* tmp255 = */ array0_set_elt_at__intsz_01360_ats_ptr_type (tmp282, tmp284, tmp285) ; break ; } while (0) ; return /* (tmp255) */ ; } /* end of [interp0Exp_AssignExp_36] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 11107(line=402, offs=7) -- 11397(line=413, offs=6) */ ATSstaticdec() ats_void_type loop_41 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp297) ; ATSlocal (ats_ptr_type, tmp298) ; ATSlocal (ats_int_type, tmp299) ; ATSlocal (ats_bool_type, tmp300) ; ATSlocal (ats_ptr_type, tmp301) ; __ats_lab_loop_41: #line 405 "interp0.dats" tmp298 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2edats__interp0Exp (arg0, arg1) ; #line 406 "interp0.dats" if (((ats_sum_ptr_type)tmp298)->tag != 0) { ats_caseof_failure_handle ("/cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 11222(line=406, offs=10) -- 11244(line=406, offs=32)") ; } #line 406 "interp0.dats" tmp299 = ats_caselptr_mac(anairiats_sum_2, tmp298, atslab_0) ; #line 408 "interp0.dats" tmp300 = atspre_neq_int_int (tmp299, 0) ; #line 408 "interp0.dats" if (tmp300) { #line 409 "interp0.dats" tmp301 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2edats__interp0Exp (arg0, arg2) ; #line 411 "interp0.dats" arg0 = arg0 ; #line 411 "interp0.dats" arg1 = arg1 ; #line 411 "interp0.dats" arg2 = arg2 ; #line 411 "interp0.dats" goto __ats_lab_loop_41 ; // tail call } else { /* empty */ } /* end of [if] */ return /* (tmp297) */ ; } /* end of [loop_41] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 11030(line=400, offs=4) -- 11556(line=419, offs=4) */ ATSstaticdec() ats_void_type interp0Exp_WhileExp_40 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp296) ; ATSlocal (ats_ptr_type, tmp302) ; __ats_lab_interp0Exp_WhileExp_40: #line 415 "interp0.dats" ATS_TRYWITH_TRY(tmp302) #line 415 "interp0.dats" /* tmp296 = */ loop_41 (arg0, arg1, arg2) ; ATS_TRYWITH_WITH(tmp302) do { /* branch: __ats_lab_58 */ #line 416 "interp0.dats" __ats_lab_58_0: #line 416 "interp0.dats" if (tmp302 != &_2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2edats__LoopBreak) { goto __ats_lab_59_0 ; } #line 416 "interp0.dats" __ats_lab_58_1: break ; /* branch: __ats_lab_59 */ #line 417 "interp0.dats" __ats_lab_59_0: #line 417 "interp0.dats" if (tmp302 != &_2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2edats__LoopContinue) { ats_raise_exn (tmp302) ; } #line 417 "interp0.dats" __ats_lab_59_1: #line 417 "interp0.dats" /* tmp296 = */ loop_41 (arg0, arg1, arg2) ; break ; } while (0) ; ATS_TRYWITH_END() ; return /* (tmp296) */ ; } /* end of [interp0Exp_WhileExp_40] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 11893(line=430, offs=7) -- 12235(line=439, offs=8) */ ATSstaticdec() ats_void_type loop_43 (ats_int_type env0, ats_ptr_type env1, ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) { /* local vardec */ // ATSlocal_void (tmp311) ; ATSlocal (ats_bool_type, tmp312) ; ATSlocal (ats_ptr_type, tmp313) ; ATSlocal (ats_ptr_type, tmp314) ; ATSlocal (ats_int_type, tmp315) ; ATSlocal (ats_int_type, tmp316) ; ATSlocal (ats_bool_type, tmp317) ; ATSlocal (ats_ptr_type, tmp318) ; __ats_lab_loop_43: #line 432 "interp0.dats" tmp312 = atspre_lt_int_int (arg2, env0) ; #line 432 "interp0.dats" if (tmp312) { #line 433 "interp0.dats" tmp313 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2edats__interp0Exp (arg0, arg1) ; #line 434 "interp0.dats" tmp315 = atspre_add_int_int (arg2, 1) ; #line 434 "interp0.dats" tmp314 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp314)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, tmp314, atslab_0, tmp315) ; #line 434 "interp0.dats" ats_ptrget_mac(ats_ptr_type, env1) = tmp314 ; #line 434 "interp0.dats" tmp316 = atspre_add_int_int (arg2, 1) ; #line 434 "interp0.dats" arg0 = arg0 ; #line 434 "interp0.dats" arg1 = arg1 ; #line 434 "interp0.dats" arg2 = tmp316 ; #line 434 "interp0.dats" goto __ats_lab_loop_43 ; // tail call } else { #line 436 "interp0.dats" tmp317 = atspre_lte_int_int (arg2, env0) ; #line 436 "interp0.dats" if (tmp317) { #line 437 "interp0.dats" tmp318 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2edats__interp0Exp (arg0, arg1) ; } else { /* empty */ } /* end of [if] */ } /* end of [if] */ return /* (tmp311) */ ; } /* end of [loop_43] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_int_type closure_env_0 ; ats_ptr_type closure_env_1 ; } loop_43_closure_type ; ats_void_type loop_43_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) { loop_43 (((loop_43_closure_type*)cloptr)->closure_env_0, ((loop_43_closure_type*)cloptr)->closure_env_1, arg0, arg1, arg2) ; return ; } /* end of function */ ATSinline() ats_void_type loop_43_closure_init (loop_43_closure_type *p_clo, ats_int_type env0, ats_ptr_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&loop_43_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type loop_43_closure_make (ats_int_type env0, ats_ptr_type env1) { loop_43_closure_type *p_clo = ATS_MALLOC(sizeof(loop_43_closure_type)) ; loop_43_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/interp0.dats: 11585(line=421, offs=4) -- 12597(line=451, offs=4) */ ATSstaticdec() ats_void_type interp0Exp_ForExp_42 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ // ATSlocal_void (tmp303) ; ATSlocal (ats_ptr_type, tmp304) ; ATSlocal (ats_int_type, tmp305) ; ATSlocal (ats_ptr_type, tmp306) ; ATSlocal (ats_int_type, tmp307) ; ATSlocal (ats_ptr_type, tmp308) ; ATSlocal (ats_ptr_type, tmp309) ; ATSlocal (ats_ptr_type, tmp310) ; ATSlocal (ats_ptr_type, tmp319) ; ATSlocal (ats_ptr_type, tmp320) ; ATSlocal (ats_int_type, tmp321) ; ATSlocal (ats_bool_type, tmp322) ; ATSlocal (ats_ptr_type, tmp323) ; ATSlocal (ats_int_type, tmp324) ; ATSlocal (ats_int_type, tmp325) ; __ats_lab_interp0Exp_ForExp_42: #line 424 "interp0.dats" tmp304 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2edats__interp0Exp (arg0, arg2) ; #line 425 "interp0.dats" if (((ats_sum_ptr_type)tmp304)->tag != 0) { ats_caseof_failure_handle ("/cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 11717(line=425, offs=8) -- 11735(line=425, offs=26)") ; } #line 425 "interp0.dats" tmp305 = ats_caselptr_mac(anairiats_sum_2, tmp304, atslab_0) ; #line 426 "interp0.dats" tmp306 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2edats__interp0Exp (arg0, arg3) ; #line 427 "interp0.dats" if (((ats_sum_ptr_type)tmp306)->tag != 0) { ats_caseof_failure_handle ("/cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 11779(line=427, offs=8) -- 11797(line=427, offs=26)") ; } #line 427 "interp0.dats" tmp307 = ats_caselptr_mac(anairiats_sum_2, tmp306, atslab_0) ; #line 428 "interp0.dats" tmp308 = ref_make_elt_01024_ats_ptr_type (tmp304) ; #line 429 "interp0.dats" tmp310 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp310)->tag = 0 ; ats_selptrset_mac(anairiats_sum_3, tmp310, atslab_0, tmp308) ; #line 429 "interp0.dats" tmp309 = env_insert_10 (arg0, arg1, tmp310) ; #line 442 "interp0.dats" ATS_TRYWITH_TRY(tmp319) #line 442 "interp0.dats" /* tmp303 = */ loop_43 (tmp307, tmp308, tmp309, arg4, tmp305) ; ATS_TRYWITH_WITH(tmp319) do { /* branch: __ats_lab_60 */ #line 443 "interp0.dats" __ats_lab_60_0: #line 443 "interp0.dats" if (tmp319 != &_2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2edats__LoopBreak) { goto __ats_lab_61_0 ; } #line 443 "interp0.dats" __ats_lab_60_1: break ; /* branch: __ats_lab_61 */ #line 444 "interp0.dats" __ats_lab_61_0: #line 444 "interp0.dats" if (tmp319 != &_2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2edats__LoopContinue) { ats_raise_exn (tmp319) ; } #line 444 "interp0.dats" __ats_lab_61_1: #line 445 "interp0.dats" tmp320 = ats_ptrget_mac(ats_ptr_type, tmp308) ; #line 445 "interp0.dats" if (((ats_sum_ptr_type)tmp320)->tag != 0) { ats_caseof_failure_handle ("/cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 12397(line=445, offs=30) -- 12409(line=445, offs=42)") ; } #line 445 "interp0.dats" tmp321 = ats_caselptr_mac(anairiats_sum_2, tmp320, atslab_0) ; #line 446 "interp0.dats" tmp322 = atspre_lt_int_int (tmp321, tmp307) ; #line 446 "interp0.dats" if (tmp322) { #line 447 "interp0.dats" tmp324 = atspre_add_int_int (tmp321, 1) ; #line 447 "interp0.dats" tmp323 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp323)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, tmp323, atslab_0, tmp324) ; #line 447 "interp0.dats" ats_ptrget_mac(ats_ptr_type, tmp308) = tmp323 ; #line 447 "interp0.dats" tmp325 = atspre_add_int_int (tmp321, 1) ; #line 447 "interp0.dats" /* tmp303 = */ loop_43 (tmp307, tmp308, tmp309, arg4, tmp325) ; } else { /* empty */ } /* end of [if] */ break ; } while (0) ; ATS_TRYWITH_END() ; return /* (tmp303) */ ; } /* end of [interp0Exp_ForExp_42] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 12632(line=453, offs=4) -- 12683(line=453, offs=55) */ ATSstaticdec() ats_ptr_type interp0Exp_BreakExp_44 () { /* local vardec */ ATSlocal (ats_ptr_type, tmp326) ; ATSlocal (ats_ptr_type, tmp327) ; __ats_lab_interp0Exp_BreakExp_44: #line 453 "interp0.dats" tmp327 = (ats_sum_ptr_type)(&_2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2edats__LoopBreak) ; #line 453 "interp0.dats" /* tmp326 = */ ats_raise_exn (tmp327) ; return (tmp326) ; } /* end of [interp0Exp_BreakExp_44] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 12687(line=454, offs=4) -- 12744(line=454, offs=61) */ ATSstaticdec() ats_ptr_type interp0Exp_ContinueExp_45 () { /* local vardec */ ATSlocal (ats_ptr_type, tmp328) ; ATSlocal (ats_ptr_type, tmp329) ; __ats_lab_interp0Exp_ContinueExp_45: #line 454 "interp0.dats" tmp329 = (ats_sum_ptr_type)(&_2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2edats__LoopContinue) ; #line 454 "interp0.dats" /* tmp328 = */ ats_raise_exn (tmp329) ; return (tmp328) ; } /* end of [interp0Exp_ContinueExp_45] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 14223(line=502, offs=11) -- 14429(line=506, offs=29) */ ATSstaticdec() ats_ptr_type loop_47 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp363) ; ATSlocal (ats_ptr_type, tmp364) ; ATSlocal (ats_ptr_type, tmp365) ; ATSlocal (ats_ptr_type, tmp366) ; __ats_lab_loop_47: #line 502 "interp0.dats" do { /* branch: __ats_lab_79 */ #line 503 "interp0.dats" __ats_lab_79_0: #line 503 "interp0.dats" if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_80_0 ; } #line 503 "interp0.dats" __ats_lab_79_1: #line 503 "interp0.dats" tmp364 = ats_caselptr_mac(anairiats_sum_5, arg1, atslab_0) ; #line 503 "interp0.dats" tmp365 = ats_caselptr_mac(anairiats_sum_5, arg1, atslab_1) ; #line 504 "interp0.dats" tmp366 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2edats__interp0Dec (arg0, tmp364) ; #line 504 "interp0.dats" arg0 = tmp366 ; #line 504 "interp0.dats" arg1 = tmp365 ; #line 504 "interp0.dats" goto __ats_lab_loop_47 ; // tail call break ; /* branch: __ats_lab_80 */ #line 506 "interp0.dats" __ats_lab_80_0: #line 506 "interp0.dats" // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 506 "interp0.dats" __ats_lab_80_1: #line 506 "interp0.dats" tmp363 = arg0 ; break ; } while (0) ; return (tmp363) ; } /* end of [loop_47] */ /* // /home/fac2/hwxi/research/ATS/IMPLEMENT/Geizella/Anairiats/svn/ats-lang/prelude/DATS/array0.dats: 2117(line=73, offs=17) -- 2410(line=81, offs=4) */ ATSstaticdec() ats_ptr_type array0_make_elt_01354_ats_ptr_type (ats_size_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp378) ; ATSlocal (ats_ptr_type, tmp379) ; ATSlocal (ats_ptr_type, tmp380) ; ATSlocal (ats_ptr_type, tmp381) ; // ATSlocal_void (tmp382) ; ATSlocal (anairiats_rec_1, tmp383) ; __ats_lab_array0_make_elt_01354_ats_ptr_type: #line 76 "array0.dats" tmp379 = atspre_array_ptr_alloc_tsz (ats_castfn_mac(ats_size_type, arg0), sizeof(ats_ptr_type)) ; #line 76 "array0.dats" tmp380 = ats_selsin_mac(tmp379, atslab_2) ; #line 77 "array0.dats" /* ats_ptr_type tmp381 ; */ #line 77 "array0.dats" tmp381 = arg1 ; #line 78 "array0.dats" /* tmp382 = */ atspre_array_ptr_initialize_elt_tsz (tmp380, ats_castfn_mac(ats_size_type, arg0), (&tmp381), sizeof(ats_ptr_type)) ; #line 80 "array0.dats" tmp383.atslab_2 = tmp380 ; tmp383.atslab_3 = ats_castfn_mac(ats_size_type, arg0) ; #line 80 "array0.dats" tmp378 = ATS_2d0_2e2_2e6_2prelude_2SATS_2array0_2esats__array0_make_arrsz (tmp383) ; return (tmp378) ; } /* end of [array0_make_elt_01354_ats_ptr_type] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 12813(line=461, offs=3) -- 15069(line=525, offs=8) */ ATSglobaldec() ats_ptr_type _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2edats__interp0Exp (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp330) ; ATSlocal (ats_ptr_type, tmp331) ; ATSlocal (ats_ptr_type, tmp332) ; ATSlocal (ats_int_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 (ats_ptr_type, tmp342) ; ATSlocal (ats_ptr_type, tmp343) ; ATSlocal (ats_ptr_type, tmp344) ; // ATSlocal_void (tmp345) ; ATSlocal (ats_ptr_type, tmp346) ; ATSlocal (ats_ptr_type, tmp347) ; ATSlocal (ats_ptr_type, tmp348) ; ATSlocal (ats_ptr_type, tmp349) ; ATSlocal (ats_int_type, tmp350) ; ATSlocal (ats_bool_type, tmp351) ; ATSlocal (ats_ptr_type, tmp352) ; ATSlocal (ats_ptr_type, tmp353) ; ATSlocal (ats_ptr_type, tmp354) ; // ATSlocal_void (tmp355) ; ATSlocal (ats_ptr_type, 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, tmp362) ; ATSlocal (ats_ptr_type, tmp367) ; ATSlocal (ats_ptr_type, tmp368) ; ATSlocal (ats_ptr_type, tmp369) ; ATSlocal (ats_ptr_type, tmp370) ; ATSlocal (ats_int_type, tmp371) ; ATSlocal (ats_size_type, tmp372) ; ATSlocal (ats_bool_type, tmp373) ; // ATSlocal_void (tmp374) ; // ATSlocal_void (tmp375) ; ATSlocal (ats_ptr_type, tmp376) ; ATSlocal (ats_ptr_type, tmp377) ; __ats_lab__2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2edats__interp0Exp: #line 461 "interp0.dats" tmp331 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_12, arg1), atslab_exp_node) ; #line 461 "interp0.dats" do { /* branch: __ats_lab_62 */ #line 462 "interp0.dats" __ats_lab_62_0: #line 462 "interp0.dats" if (((ats_sum_ptr_type)tmp331)->tag != 0) { goto __ats_lab_63_0 ; } #line 462 "interp0.dats" __ats_lab_62_1: #line 462 "interp0.dats" tmp332 = ats_caselptr_mac(anairiats_sum_3, tmp331, atslab_0) ; #line 462 "interp0.dats" tmp330 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2edats__interp0Var (arg0, tmp332) ; break ; /* branch: __ats_lab_63 */ #line 463 "interp0.dats" __ats_lab_63_0: #line 463 "interp0.dats" if (((ats_sum_ptr_type)tmp331)->tag != 1) { goto __ats_lab_64_0 ; } #line 463 "interp0.dats" __ats_lab_63_1: #line 463 "interp0.dats" tmp330 = (ats_sum_ptr_type)(&_2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2esats__VALunit) ; break ; /* branch: __ats_lab_64 */ #line 464 "interp0.dats" __ats_lab_64_0: #line 464 "interp0.dats" if (((ats_sum_ptr_type)tmp331)->tag != 2) { goto __ats_lab_65_0 ; } #line 464 "interp0.dats" __ats_lab_64_1: #line 464 "interp0.dats" tmp333 = ats_caselptr_mac(anairiats_sum_2, tmp331, atslab_0) ; #line 464 "interp0.dats" tmp330 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp330)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, tmp330, atslab_0, tmp333) ; break ; /* branch: __ats_lab_65 */ #line 465 "interp0.dats" __ats_lab_65_0: #line 465 "interp0.dats" if (((ats_sum_ptr_type)tmp331)->tag != 3) { goto __ats_lab_66_0 ; } #line 465 "interp0.dats" __ats_lab_65_1: #line 465 "interp0.dats" tmp334 = ats_caselptr_mac(anairiats_sum_3, tmp331, atslab_0) ; #line 465 "interp0.dats" tmp330 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp330)->tag = 1 ; ats_selptrset_mac(anairiats_sum_3, tmp330, atslab_0, tmp334) ; break ; /* branch: __ats_lab_66 */ #line 466 "interp0.dats" __ats_lab_66_0: #line 466 "interp0.dats" if (((ats_sum_ptr_type)tmp331)->tag != 4) { goto __ats_lab_67_0 ; } #line 466 "interp0.dats" __ats_lab_66_1: #line 466 "interp0.dats" tmp335 = ats_caselptr_mac(anairiats_sum_8, tmp331, atslab_0) ; #line 466 "interp0.dats" tmp336 = ats_caselptr_mac(anairiats_sum_8, tmp331, atslab_1) ; #line 467 "interp0.dats" tmp330 = interp0Exp_CallExp_21 (arg0, tmp335, tmp336) ; break ; /* branch: __ats_lab_67 */ #line 469 "interp0.dats" __ats_lab_67_0: #line 469 "interp0.dats" if (((ats_sum_ptr_type)tmp331)->tag != 5) { goto __ats_lab_68_0 ; } #line 469 "interp0.dats" __ats_lab_67_1: #line 469 "interp0.dats" tmp337 = ats_caselptr_mac(anairiats_sum_10, tmp331, atslab_0) ; #line 469 "interp0.dats" tmp338 = ats_caselptr_mac(anairiats_sum_10, tmp331, atslab_1) ; #line 469 "interp0.dats" tmp339 = ats_caselptr_mac(anairiats_sum_10, tmp331, atslab_2) ; #line 470 "interp0.dats" tmp330 = interp0Exp_OpExp_31 (arg0, tmp337, tmp338, tmp339) ; break ; /* branch: __ats_lab_68 */ #line 472 "interp0.dats" __ats_lab_68_0: #line 472 "interp0.dats" if (((ats_sum_ptr_type)tmp331)->tag != 6) { goto __ats_lab_69_0 ; } #line 472 "interp0.dats" __ats_lab_68_1: #line 472 "interp0.dats" tmp340 = ats_caselptr_mac(anairiats_sum_8, tmp331, atslab_0) ; #line 473 "interp0.dats" tmp341 = interp0Exp_RecordExp_32 (arg0, tmp340) ; #line 473 "interp0.dats" tmp330 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp330)->tag = 2 ; ats_selptrset_mac(anairiats_sum_3, tmp330, atslab_0, tmp341) ; break ; /* branch: __ats_lab_69 */ #line 475 "interp0.dats" __ats_lab_69_0: #line 475 "interp0.dats" if (((ats_sum_ptr_type)tmp331)->tag != 7) { goto __ats_lab_70_0 ; } #line 475 "interp0.dats" __ats_lab_69_1: #line 475 "interp0.dats" tmp342 = ats_caselptr_mac(anairiats_sum_3, tmp331, atslab_0) ; #line 475 "interp0.dats" tmp330 = interp0Exp_SeqExp_34 (arg0, tmp342) ; break ; /* branch: __ats_lab_70 */ #line 476 "interp0.dats" __ats_lab_70_0: #line 476 "interp0.dats" if (((ats_sum_ptr_type)tmp331)->tag != 8) { goto __ats_lab_71_0 ; } #line 476 "interp0.dats" __ats_lab_70_1: #line 476 "interp0.dats" tmp343 = ats_caselptr_mac(anairiats_sum_8, tmp331, atslab_0) ; #line 476 "interp0.dats" tmp344 = ats_caselptr_mac(anairiats_sum_8, tmp331, atslab_1) ; #line 477 "interp0.dats" /* tmp345 = */ interp0Exp_AssignExp_36 (arg0, tmp343, tmp344) ; #line 478 "interp0.dats" tmp330 = (ats_sum_ptr_type)(&_2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2esats__VALunit) ; break ; /* branch: __ats_lab_71 */ #line 480 "interp0.dats" __ats_lab_71_0: #line 480 "interp0.dats" if (((ats_sum_ptr_type)tmp331)->tag != 9) { goto __ats_lab_74_0 ; } #line 480 "interp0.dats" __ats_lab_71_1: #line 480 "interp0.dats" tmp346 = ats_caselptr_mac(anairiats_sum_10, tmp331, atslab_0) ; #line 480 "interp0.dats" tmp347 = ats_caselptr_mac(anairiats_sum_10, tmp331, atslab_1) ; #line 480 "interp0.dats" tmp348 = ats_caselptr_mac(anairiats_sum_10, tmp331, atslab_2) ; #line 481 "interp0.dats" tmp349 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2edats__interp0Exp (arg0, tmp346) ; #line 482 "interp0.dats" if (((ats_sum_ptr_type)tmp349)->tag != 0) { ats_caseof_failure_handle ("/cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 13522(line=482, offs=12) -- 13536(line=482, offs=26)") ; } #line 482 "interp0.dats" tmp350 = ats_caselptr_mac(anairiats_sum_2, tmp349, atslab_0) ; #line 484 "interp0.dats" tmp351 = atspre_neq_int_int (tmp350, 0) ; #line 484 "interp0.dats" if (tmp351) { #line 485 "interp0.dats" arg0 = arg0 ; #line 485 "interp0.dats" arg1 = tmp347 ; #line 485 "interp0.dats" goto __ats_lab__2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2edats__interp0Exp ; // tail call } else { #line 486 "interp0.dats" do { /* branch: __ats_lab_72 */ #line 487 "interp0.dats" __ats_lab_72_0: #line 487 "interp0.dats" if (tmp348 == (ats_sum_ptr_type)0) { goto __ats_lab_73_0 ; } #line 487 "interp0.dats" __ats_lab_72_1: #line 487 "interp0.dats" tmp352 = ats_caselptr_mac(anairiats_sum_6, tmp348, atslab_0) ; #line 487 "interp0.dats" arg0 = arg0 ; #line 487 "interp0.dats" arg1 = tmp352 ; #line 487 "interp0.dats" goto __ats_lab__2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2edats__interp0Exp ; // tail call break ; /* branch: __ats_lab_73 */ #line 488 "interp0.dats" __ats_lab_73_0: #line 488 "interp0.dats" // if (tmp348 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 488 "interp0.dats" __ats_lab_73_1: #line 488 "interp0.dats" tmp330 = (ats_sum_ptr_type)(&_2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2esats__VALunit) ; break ; } while (0) ; } /* end of [if] */ break ; /* branch: __ats_lab_74 */ #line 491 "interp0.dats" __ats_lab_74_0: #line 491 "interp0.dats" if (((ats_sum_ptr_type)tmp331)->tag != 10) { goto __ats_lab_75_0 ; } #line 491 "interp0.dats" __ats_lab_74_1: #line 491 "interp0.dats" tmp353 = ats_caselptr_mac(anairiats_sum_8, tmp331, atslab_0) ; #line 491 "interp0.dats" tmp354 = ats_caselptr_mac(anairiats_sum_8, tmp331, atslab_1) ; #line 492 "interp0.dats" /* tmp355 = */ interp0Exp_WhileExp_40 (arg0, tmp353, tmp354) ; #line 493 "interp0.dats" tmp330 = (ats_sum_ptr_type)(&_2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2esats__VALunit) ; break ; /* branch: __ats_lab_75 */ #line 495 "interp0.dats" __ats_lab_75_0: #line 495 "interp0.dats" if (((ats_sum_ptr_type)tmp331)->tag != 11) { goto __ats_lab_76_0 ; } #line 495 "interp0.dats" __ats_lab_75_1: #line 495 "interp0.dats" tmp356 = ats_caselptr_mac(anairiats_sum_13, tmp331, atslab_0) ; #line 495 "interp0.dats" tmp357 = ats_caselptr_mac(anairiats_sum_13, tmp331, atslab_2) ; #line 495 "interp0.dats" tmp358 = ats_caselptr_mac(anairiats_sum_13, tmp331, atslab_3) ; #line 495 "interp0.dats" tmp359 = ats_caselptr_mac(anairiats_sum_13, tmp331, atslab_4) ; #line 496 "interp0.dats" /* tmp360 = */ interp0Exp_ForExp_42 (arg0, tmp356, tmp357, tmp358, tmp359) ; #line 497 "interp0.dats" tmp330 = (ats_sum_ptr_type)(&_2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2esats__VALunit) ; break ; /* branch: __ats_lab_76 */ #line 499 "interp0.dats" __ats_lab_76_0: #line 499 "interp0.dats" if (((ats_sum_ptr_type)tmp331)->tag != 12) { goto __ats_lab_77_0 ; } #line 499 "interp0.dats" __ats_lab_76_1: #line 499 "interp0.dats" tmp330 = interp0Exp_BreakExp_44 () ; break ; /* branch: __ats_lab_77 */ #line 500 "interp0.dats" __ats_lab_77_0: #line 500 "interp0.dats" if (((ats_sum_ptr_type)tmp331)->tag != 13) { goto __ats_lab_78_0 ; } #line 500 "interp0.dats" __ats_lab_77_1: #line 500 "interp0.dats" tmp330 = interp0Exp_ContinueExp_45 () ; break ; /* branch: __ats_lab_78 */ #line 501 "interp0.dats" __ats_lab_78_0: #line 501 "interp0.dats" if (((ats_sum_ptr_type)tmp331)->tag != 14) { goto __ats_lab_81_0 ; } #line 501 "interp0.dats" __ats_lab_78_1: #line 501 "interp0.dats" tmp361 = ats_caselptr_mac(anairiats_sum_8, tmp331, atslab_0) ; #line 501 "interp0.dats" tmp362 = ats_caselptr_mac(anairiats_sum_8, tmp331, atslab_1) ; #line 508 "interp0.dats" tmp367 = loop_47 (arg0, tmp361) ; #line 501 "interp0.dats" arg0 = tmp367 ; #line 501 "interp0.dats" arg1 = tmp362 ; #line 501 "interp0.dats" goto __ats_lab__2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2edats__interp0Exp ; // tail call break ; /* branch: __ats_lab_81 */ #line 510 "interp0.dats" __ats_lab_81_0: #line 510 "interp0.dats" // if (((ats_sum_ptr_type)tmp331)->tag != 15) { ats_deadcode_failure_handle () ; } #line 510 "interp0.dats" __ats_lab_81_1: #line 510 "interp0.dats" tmp368 = ats_caselptr_mac(anairiats_sum_10, tmp331, atslab_1) ; #line 510 "interp0.dats" tmp369 = ats_caselptr_mac(anairiats_sum_10, tmp331, atslab_2) ; #line 511 "interp0.dats" tmp370 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2edats__interp0Exp (arg0, tmp368) ; #line 512 "interp0.dats" if (((ats_sum_ptr_type)tmp370)->tag != 0) { ats_caseof_failure_handle ("/cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 14611(line=512, offs=12) -- 14633(line=512, offs=34)") ; } #line 512 "interp0.dats" tmp371 = ats_caselptr_mac(anairiats_sum_2, tmp370, atslab_0) ; #line 515 "interp0.dats" tmp373 = atspre_igte (ats_castfn_mac(ats_int_type, tmp371), 0) ; #line 515 "interp0.dats" if (tmp373) { #line 515 "interp0.dats" tmp372 = atspre_size_of_int1 (ats_castfn_mac(ats_int_type, tmp371)) ; } else { #line 516 "interp0.dats" /* tmp374 = */ atspre_print_string (ATSstrcst("interp0Exp: array size is negative: size = ")) ; #line 517 "interp0.dats" /* tmp375 = */ atspre_print_int (ats_castfn_mac(ats_int_type, tmp371)) ; #line 518 "interp0.dats" /* tmp372 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2error_2esats__abort (1) ; } /* end of [if] */ #line 521 "interp0.dats" tmp376 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2edats__interp0Exp (arg0, tmp369) ; #line 522 "interp0.dats" tmp377 = array0_make_elt_01354_ats_ptr_type (tmp372, tmp376) ; #line 524 "interp0.dats" tmp330 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp330)->tag = 3 ; ats_selptrset_mac(anairiats_sum_3, tmp330, atslab_0, tmp377) ; break ; } while (0) ; return (tmp330) ; } /* end of [_2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2edats__interp0Exp] */ /* // /home/fac2/hwxi/research/ATS/IMPLEMENT/Geizella/Anairiats/svn/ats-lang/prelude/DATS/list.dats: 51088(line=1766, offs=30) -- 51342(line=1775, offs=4) */ ATSstaticdec() ats_ptr_type list_map_fun_01480_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp386) ; __ats_lab_list_map_fun_01480_ats_ptr_type_ats_ptr_type: #line 1771 "list.dats" tmp386 = list_map_funenv_01479_ats_ptr_type_ats_ptr_type (arg0, ats_castfn_mac(ats_ptr_type, arg1), atspre_null_ptr) ; return (tmp386) ; } /* end of [list_map_fun_01480_ats_ptr_type_ats_ptr_type] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 15397(line=540, offs=24) -- 15426(line=540, offs=53) */ ATSstaticdec() ats_ptr_type __ats_fun_51 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp388) ; __ats_lab___ats_fun_51: #line 540 "interp0.dats" tmp388 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_15, arg0), atslab_fieldtyp_lab) ; return (tmp388) ; } /* end of [__ats_fun_51] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 15139(line=530, offs=4) -- 15576(line=545, offs=4) */ ATSstaticdec() ats_void_type interp0Fundec_49 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp384) ; ATSlocal (ats_ptr_type, tmp385) ; ATSlocal (ats_ptr_type, tmp387) ; ATSlocal (ats_ptr_type, tmp389) ; ATSlocal (ats_ptr_type, tmp390) ; ATSlocal (ats_ptr_type, tmp391) ; ATSlocal (ats_ptr_type, tmp392) ; ATSlocal (ats_ptr_type, tmp393) ; __ats_lab_interp0Fundec_49: #line 540 "interp0.dats" tmp387 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_14, arg1), atslab_fundec_arglst) ; #line 539 "interp0.dats" tmp385 = list_map_fun_01480_ats_ptr_type_ats_ptr_type (tmp387, &__ats_fun_51) ; #line 542 "interp0.dats" tmp390 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_14, arg1), atslab_fundec_body) ; #line 542 "interp0.dats" tmp389 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ((ats_sum_ptr_type)tmp389)->tag = 1 ; ats_selptrset_mac(anairiats_sum_10, tmp389, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_10, tmp389, atslab_1, ats_castfn_mac(ats_ptr_type, tmp385)) ; ats_selptrset_mac(anairiats_sum_10, tmp389, atslab_2, tmp390) ; #line 544 "interp0.dats" tmp392 = ats_ptrget_mac(ats_ptr_type, arg0) ; #line 544 "interp0.dats" tmp393 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_14, arg1), atslab_fundec_name) ; #line 544 "interp0.dats" tmp391 = env_insert_10 (tmp392, tmp393, tmp389) ; #line 544 "interp0.dats" ats_ptrget_mac(ats_ptr_type, arg0) = tmp391 ; return /* (tmp384) */ ; } /* end of [interp0Fundec_49] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 16230(line=570, offs=11) -- 16484(line=576, offs=10) */ ATSstaticdec() ats_ptr_type loop_53 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp403) ; ATSlocal (ats_ptr_type, tmp404) ; ATSlocal (ats_ptr_type, tmp405) ; // ATSlocal_void (tmp406) ; __ats_lab_loop_53: #line 571 "interp0.dats" do { /* branch: __ats_lab_84 */ #line 572 "interp0.dats" __ats_lab_84_0: #line 572 "interp0.dats" if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_85_0 ; } #line 572 "interp0.dats" __ats_lab_84_1: #line 572 "interp0.dats" tmp404 = ats_caselptr_mac(anairiats_sum_5, arg1, atslab_0) ; #line 572 "interp0.dats" tmp405 = ats_caselptr_mac(anairiats_sum_5, arg1, atslab_1) ; #line 573 "interp0.dats" /* tmp406 = */ interp0Fundec_49 (arg0, tmp404) ; #line 573 "interp0.dats" arg0 = arg0 ; #line 573 "interp0.dats" arg1 = tmp405 ; #line 573 "interp0.dats" goto __ats_lab_loop_53 ; // tail call break ; /* branch: __ats_lab_85 */ #line 575 "interp0.dats" __ats_lab_85_0: #line 575 "interp0.dats" // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 575 "interp0.dats" __ats_lab_85_1: #line 575 "interp0.dats" tmp403 = ats_ptrget_mac(ats_ptr_type, arg0) ; break ; } while (0) ; return (tmp403) ; } /* end of [loop_53] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 15625(line=547, offs=22) -- 16592(line=579, offs=4) */ ATSglobaldec() ats_ptr_type _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2edats__interp0Dec (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp394) ; ATSlocal (ats_ptr_type, tmp395) ; ATSlocal (ats_ptr_type, tmp396) ; ATSlocal (ats_ptr_type, tmp397) ; ATSlocal (ats_ptr_type, tmp398) ; ATSlocal (ats_ptr_type, tmp399) ; ATSlocal (ats_ptr_type, tmp400) ; ATSlocal (ats_ptr_type, tmp401) ; ATSlocal (ats_ptr_type, tmp402) ; __ats_lab__2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2edats__interp0Dec: #line 554 "interp0.dats" tmp395 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_16, arg1), atslab_dec_node) ; #line 554 "interp0.dats" do { /* branch: __ats_lab_82 */ #line 555 "interp0.dats" __ats_lab_82_0: #line 555 "interp0.dats" if (((ats_sum_ptr_type)tmp395)->tag != 1) { goto __ats_lab_83_0 ; } #line 555 "interp0.dats" __ats_lab_82_1: #line 555 "interp0.dats" tmp396 = ats_caselptr_mac(anairiats_sum_17, tmp395, atslab_0) ; #line 555 "interp0.dats" tmp397 = ats_caselptr_mac(anairiats_sum_17, tmp395, atslab_3) ; #line 556 "interp0.dats" tmp398 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2edats__interp0Exp (arg0, tmp397) ; #line 557 "interp0.dats" tmp399 = ref_make_elt_01024_ats_ptr_type (tmp398) ; #line 564 "interp0.dats" tmp400 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp400)->tag = 0 ; ats_selptrset_mac(anairiats_sum_3, tmp400, atslab_0, tmp399) ; #line 566 "interp0.dats" tmp394 = env_insert_10 (arg0, tmp396, tmp400) ; break ; /* branch: __ats_lab_83 */ #line 568 "interp0.dats" __ats_lab_83_0: #line 568 "interp0.dats" if (((ats_sum_ptr_type)tmp395)->tag != 0) { goto __ats_lab_86_0 ; } #line 568 "interp0.dats" __ats_lab_83_1: #line 568 "interp0.dats" tmp401 = ats_caselptr_mac(anairiats_sum_3, tmp395, atslab_0) ; #line 569 "interp0.dats" tmp402 = ref_make_elt_01024_ats_ptr_type (arg0) ; #line 568 "interp0.dats" tmp394 = loop_53 (tmp402, tmp401) ; break ; /* branch: __ats_lab_86 */ #line 578 "interp0.dats" __ats_lab_86_0: #line 578 "interp0.dats" // if (((ats_sum_ptr_type)tmp395)->tag != 2) { ats_deadcode_failure_handle () ; } #line 578 "interp0.dats" __ats_lab_86_1: #line 578 "interp0.dats" tmp394 = arg0 ; break ; } while (0) ; return (tmp394) ; } /* end of [_2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2edats__interp0Dec] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 16658(line=584, offs=17) -- 16858(line=592, offs=4) */ ATSstaticdec() ats_ptr_type __ats_fun_54 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp407) ; ATSlocal (ats_ptr_type, tmp408) ; ATSlocal (ats_int_type, tmp409) ; ATSlocal (ats_char_type, tmp410) ; ATSlocal (ats_ptr_type, tmp411) ; __ats_lab___ats_fun_54: #line 585 "interp0.dats" if (arg0 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 16698(line=585, offs=8) -- 16719(line=585, offs=29)") ; } #line 585 "interp0.dats" tmp408 = ats_caselptr_mac(anairiats_sum_5, arg0, atslab_0) ; #line 586 "interp0.dats" if (((ats_sum_ptr_type)tmp408)->tag != 0) { ats_caseof_failure_handle ("/cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 16727(line=586, offs=8) -- 16739(line=586, offs=20)") ; } #line 586 "interp0.dats" tmp409 = ats_caselptr_mac(anairiats_sum_2, tmp408, atslab_0) ; #line 587 "interp0.dats" tmp410 = atspre_char_of_int (tmp409) ; #line 588 "interp0.dats" tmp411 = atspre_string_make_char (1, tmp410) ; #line 591 "interp0.dats" tmp407 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp407)->tag = 1 ; ats_selptrset_mac(anairiats_sum_3, tmp407, atslab_0, ats_castfn_mac(ats_ptr_type, tmp411)) ; return (tmp407) ; } /* end of [__ats_fun_54] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 16901(line=594, offs=20) -- 17082(line=601, offs=4) */ ATSstaticdec() ats_ptr_type __ats_fun_55 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp412) ; ATSlocal (ats_ptr_type, tmp413) ; ATSlocal (ats_ptr_type, tmp414) ; ATSlocal (ats_ptr_type, tmp415) ; ATSlocal (ats_ptr_type, tmp416) ; ATSlocal (ats_ptr_type, tmp417) ; ATSlocal (ats_ptr_type, tmp418) ; __ats_lab___ats_fun_55: #line 595 "interp0.dats" if (arg0 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 16941(line=595, offs=8) -- 16964(line=595, offs=31)") ; } #line 595 "interp0.dats" tmp413 = ats_caselptr_mac(anairiats_sum_5, arg0, atslab_0) ; #line 595 "interp0.dats" tmp414 = ats_caselptr_mac(anairiats_sum_5, arg0, atslab_1) ; #line 596 "interp0.dats" if (((ats_sum_ptr_type)tmp413)->tag != 1) { ats_caseof_failure_handle ("/cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 16972(line=596, offs=8) -- 16991(line=596, offs=27)") ; } #line 596 "interp0.dats" tmp415 = ats_caselptr_mac(anairiats_sum_3, tmp413, atslab_0) ; #line 597 "interp0.dats" if (tmp414 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 16999(line=597, offs=8) -- 17022(line=597, offs=31)") ; } #line 597 "interp0.dats" tmp416 = ats_caselptr_mac(anairiats_sum_5, tmp414, atslab_0) ; #line 598 "interp0.dats" if (((ats_sum_ptr_type)tmp416)->tag != 1) { ats_caseof_failure_handle ("/cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 17030(line=598, offs=8) -- 17049(line=598, offs=27)") ; } #line 598 "interp0.dats" tmp417 = ats_caselptr_mac(anairiats_sum_3, tmp416, atslab_0) ; #line 600 "interp0.dats" tmp418 = atspre_string_append (tmp415, tmp417) ; #line 600 "interp0.dats" tmp412 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp412)->tag = 1 ; ats_selptrset_mac(anairiats_sum_3, tmp412, atslab_0, tmp418) ; return (tmp412) ; } /* end of [__ats_fun_55] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 17129(line=604, offs=3) -- 17214(line=606, offs=4) */ ATSstaticdec() ats_ptr_type __ats_fun_56 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp419) ; // ATSlocal_void (tmp420) ; __ats_lab___ats_fun_56: #line 605 "interp0.dats" /* tmp420 = */ atslib_fflush_exn (stdout) ; #line 605 "interp0.dats" tmp419 = (ats_sum_ptr_type)(&_2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2esats__VALunit) ; return (tmp419) ; } /* end of [__ats_fun_56] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 17260(line=608, offs=21) -- 17430(line=615, offs=4) */ ATSstaticdec() ats_ptr_type __ats_fun_57 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp421) ; ATSlocal (ats_int_type, tmp422) ; ATSlocal (ats_char_type, tmp423) ; ATSlocal (ats_ptr_type, tmp424) ; __ats_lab___ats_fun_57: #line 609 "interp0.dats" tmp422 = atslib_getchar () ; #line 610 "interp0.dats" tmp423 = atspre_char_of_int (tmp422) ; #line 611 "interp0.dats" tmp424 = atspre_string_make_char (1, tmp423) ; #line 614 "interp0.dats" tmp421 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp421)->tag = 1 ; ats_selptrset_mac(anairiats_sum_3, tmp421, atslab_0, ats_castfn_mac(ats_ptr_type, tmp424)) ; return (tmp421) ; } /* end of [__ats_fun_57] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 17474(line=617, offs=17) -- 17694(line=626, offs=4) */ ATSstaticdec() ats_ptr_type __ats_fun_58 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp425) ; ATSlocal (ats_ptr_type, tmp426) ; ATSlocal (ats_ptr_type, tmp427) ; // ATSlocal_void (tmp428) ; ATSlocal (ats_bool_type, tmp429) ; ATSlocal (ats_char_type, tmp430) ; ATSlocal (ats_int_type, tmp431) ; __ats_lab___ats_fun_58: #line 618 "interp0.dats" if (arg0 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 17514(line=618, offs=8) -- 17535(line=618, offs=29)") ; } #line 618 "interp0.dats" tmp426 = ats_caselptr_mac(anairiats_sum_5, arg0, atslab_0) ; #line 619 "interp0.dats" if (((ats_sum_ptr_type)tmp426)->tag != 1) { ats_caseof_failure_handle ("/cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 17543(line=619, offs=8) -- 17558(line=619, offs=23)") ; } #line 619 "interp0.dats" tmp427 = ats_caselptr_mac(anairiats_sum_3, tmp426, atslab_0) ; #line 621 "interp0.dats" tmp429 = atspre_string_isnot_at_end (ats_castfn_mac(ats_ptr_type, tmp427), 0) ; #line 621 "interp0.dats" /* tmp428 = */ atspre_assert (tmp429) ; #line 622 "interp0.dats" tmp430 = atspre_string_get_char_at__intsz (ats_castfn_mac(ats_ptr_type, tmp427), 0) ; #line 623 "interp0.dats" tmp431 = atspre_int_of_char (tmp430) ; #line 625 "interp0.dats" tmp425 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp425)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, tmp425, atslab_0, tmp431) ; return (tmp425) ; } /* end of [__ats_fun_58] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 17736(line=628, offs=19) -- 17992(line=637, offs=4) */ ATSstaticdec() ats_ptr_type __ats_fun_59 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp432) ; ATSlocal (ats_ptr_type, tmp433) ; // ATSlocal_void (tmp434) ; ATSlocal (ats_int_type, tmp435) ; ATSlocal (ats_ptr_type, tmp436) ; __ats_lab___ats_fun_59: #line 629 "interp0.dats" if (arg0 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 17776(line=629, offs=8) -- 17797(line=629, offs=29)") ; } #line 629 "interp0.dats" tmp433 = ats_caselptr_mac(anairiats_sum_5, arg0, atslab_0) ; #line 630 "interp0.dats" do { /* branch: __ats_lab_87 */ #line 631 "interp0.dats" __ats_lab_87_0: #line 631 "interp0.dats" if (((ats_sum_ptr_type)tmp433)->tag != 0) { goto __ats_lab_88_0 ; } #line 631 "interp0.dats" __ats_lab_87_1: #line 631 "interp0.dats" tmp435 = ats_caselptr_mac(anairiats_sum_2, tmp433, atslab_0) ; #line 631 "interp0.dats" /* tmp434 = */ atspre_fprint_int (stdout, tmp435) ; break ; /* branch: __ats_lab_88 */ #line 632 "interp0.dats" __ats_lab_88_0: #line 632 "interp0.dats" if (((ats_sum_ptr_type)tmp433)->tag != 1) { goto __ats_lab_89_0 ; } #line 632 "interp0.dats" __ats_lab_88_1: #line 632 "interp0.dats" tmp436 = ats_caselptr_mac(anairiats_sum_3, tmp433, atslab_0) ; #line 632 "interp0.dats" /* tmp434 = */ atspre_fprint_string (stdout, tmp436) ; break ; /* branch: __ats_lab_89 */ #line 633 "interp0.dats" __ats_lab_89_0: #line 633 "interp0.dats" __ats_lab_89_1: break ; } while (0) ; #line 636 "interp0.dats" tmp432 = (ats_sum_ptr_type)(&_2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2esats__VALunit) ; return (tmp432) ; } /* end of [__ats_fun_59] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 18040(line=639, offs=23) -- 18183(line=645, offs=4) */ ATSstaticdec() ats_ptr_type __ats_fun_60 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp437) ; ATSlocal (ats_ptr_type, tmp438) ; ATSlocal (ats_int_type, tmp439) ; // ATSlocal_void (tmp440) ; __ats_lab___ats_fun_60: #line 640 "interp0.dats" if (arg0 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 18080(line=640, offs=8) -- 18101(line=640, offs=29)") ; } #line 640 "interp0.dats" tmp438 = ats_caselptr_mac(anairiats_sum_5, arg0, atslab_0) ; #line 641 "interp0.dats" if (((ats_sum_ptr_type)tmp438)->tag != 0) { ats_caseof_failure_handle ("/cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 18109(line=641, offs=8) -- 18123(line=641, offs=22)") ; } #line 641 "interp0.dats" tmp439 = ats_caselptr_mac(anairiats_sum_2, tmp438, atslab_0) ; #line 642 "interp0.dats" /* tmp440 = */ atspre_fprint_int (stdout, tmp439) ; #line 644 "interp0.dats" tmp437 = (ats_sum_ptr_type)(&_2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2esats__VALunit) ; return (tmp437) ; } /* end of [__ats_fun_60] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 18235(line=647, offs=23) -- 18384(line=653, offs=4) */ ATSstaticdec() ats_ptr_type __ats_fun_61 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp441) ; ATSlocal (ats_ptr_type, tmp442) ; ATSlocal (ats_ptr_type, tmp443) ; // ATSlocal_void (tmp444) ; __ats_lab___ats_fun_61: #line 648 "interp0.dats" if (arg0 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 18275(line=648, offs=8) -- 18296(line=648, offs=29)") ; } #line 648 "interp0.dats" tmp442 = ats_caselptr_mac(anairiats_sum_5, arg0, atslab_0) ; #line 649 "interp0.dats" if (((ats_sum_ptr_type)tmp442)->tag != 1) { ats_caseof_failure_handle ("/cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 18304(line=649, offs=8) -- 18321(line=649, offs=25)") ; } #line 649 "interp0.dats" tmp443 = ats_caselptr_mac(anairiats_sum_3, tmp442, atslab_0) ; #line 650 "interp0.dats" /* tmp444 = */ atspre_fprint_string (stdout, tmp443) ; #line 652 "interp0.dats" tmp441 = (ats_sum_ptr_type)(&_2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2esats__VALunit) ; return (tmp441) ; } /* end of [__ats_fun_61] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 18427(line=655, offs=18) -- 18586(line=661, offs=4) */ ATSstaticdec() ats_ptr_type __ats_fun_62 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp445) ; ATSlocal (ats_ptr_type, tmp446) ; ATSlocal (ats_ptr_type, tmp447) ; ATSlocal (ats_size_type, tmp448) ; ATSlocal (ats_int_type, tmp449) ; __ats_lab___ats_fun_62: #line 656 "interp0.dats" if (arg0 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 18467(line=656, offs=8) -- 18488(line=656, offs=29)") ; } #line 656 "interp0.dats" tmp446 = ats_caselptr_mac(anairiats_sum_5, arg0, atslab_0) ; #line 656 "interp0.dats" if (((ats_sum_ptr_type)tmp446)->tag != 1) { ats_caseof_failure_handle ("/cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 18495(line=656, offs=36) -- 18512(line=656, offs=53)") ; } #line 656 "interp0.dats" tmp447 = ats_caselptr_mac(anairiats_sum_3, tmp446, atslab_0) ; #line 657 "interp0.dats" tmp448 = atspre_string_length (tmp447) ; #line 658 "interp0.dats" tmp449 = atspre_int_of_size (tmp448) ; #line 660 "interp0.dats" tmp445 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp445)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, tmp445, atslab_0, tmp449) ; return (tmp445) ; } /* end of [__ats_fun_62] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 18633(line=663, offs=23) -- 19343(line=680, offs=4) */ ATSstaticdec() ats_ptr_type __ats_fun_63 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp450) ; ATSlocal (ats_ptr_type, tmp451) ; ATSlocal (ats_ptr_type, tmp452) ; ATSlocal (ats_ptr_type, tmp453) ; ATSlocal (ats_ptr_type, tmp454) ; ATSlocal (ats_ptr_type, tmp455) ; ATSlocal (ats_int_type, tmp456) ; ATSlocal (ats_ptr_type, tmp457) ; ATSlocal (ats_int_type, tmp458) ; ATSlocal (ats_size_type, tmp459) ; // ATSlocal_void (tmp460) ; ATSlocal (ats_bool_type, tmp461) ; // ATSlocal_void (tmp462) ; ATSlocal (ats_bool_type, tmp463) ; // ATSlocal_void (tmp464) ; ATSlocal (ats_bool_type, tmp465) ; ATSlocal (ats_int_type, tmp466) ; ATSlocal (ats_size_type, tmp467) ; ATSlocal (ats_size_type, tmp468) ; ATSlocal (ats_ptr_type, tmp469) ; __ats_lab___ats_fun_63: #line 664 "interp0.dats" if (arg0 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 18673(line=664, offs=8) -- 18696(line=664, offs=31)") ; } #line 664 "interp0.dats" tmp451 = ats_caselptr_mac(anairiats_sum_5, arg0, atslab_0) ; #line 664 "interp0.dats" tmp452 = ats_caselptr_mac(anairiats_sum_5, arg0, atslab_1) ; #line 664 "interp0.dats" if (((ats_sum_ptr_type)tmp451)->tag != 1) { ats_caseof_failure_handle ("/cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 18703(line=664, offs=38) -- 18721(line=664, offs=56)") ; } #line 664 "interp0.dats" tmp453 = ats_caselptr_mac(anairiats_sum_3, tmp451, atslab_0) ; #line 665 "interp0.dats" if (tmp452 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 18729(line=665, offs=8) -- 18752(line=665, offs=31)") ; } #line 665 "interp0.dats" tmp454 = ats_caselptr_mac(anairiats_sum_5, tmp452, atslab_0) ; #line 665 "interp0.dats" tmp455 = ats_caselptr_mac(anairiats_sum_5, tmp452, atslab_1) ; #line 665 "interp0.dats" if (((ats_sum_ptr_type)tmp454)->tag != 0) { ats_caseof_failure_handle ("/cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 18759(line=665, offs=38) -- 18773(line=665, offs=52)") ; } #line 665 "interp0.dats" tmp456 = ats_caselptr_mac(anairiats_sum_2, tmp454, atslab_0) ; #line 666 "interp0.dats" if (tmp455 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 18781(line=666, offs=8) -- 18804(line=666, offs=31)") ; } #line 666 "interp0.dats" tmp457 = ats_caselptr_mac(anairiats_sum_5, tmp455, atslab_0) ; #line 666 "interp0.dats" if (((ats_sum_ptr_type)tmp457)->tag != 0) { ats_caseof_failure_handle ("/cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 18811(line=666, offs=38) -- 18825(line=666, offs=52)") ; } #line 666 "interp0.dats" tmp458 = ats_caselptr_mac(anairiats_sum_2, tmp457, atslab_0) ; #line 668 "interp0.dats" tmp459 = atspre_string_length (ats_castfn_mac(ats_ptr_type, tmp453)) ; #line 670 "interp0.dats" tmp461 = atspre_igte (ats_castfn_mac(ats_int_type, tmp456), 0) ; #line 670 "interp0.dats" /* tmp460 = */ atspre_assert_errmsg (tmp461, ATSstrcst("substring: illegal start")) ; #line 671 "interp0.dats" tmp463 = atspre_igte (ats_castfn_mac(ats_int_type, tmp458), 0) ; #line 671 "interp0.dats" /* tmp462 = */ atspre_assert_errmsg (tmp463, ATSstrcst("substring: illegal length")) ; #line 672 "interp0.dats" tmp466 = atspre_iadd (ats_castfn_mac(ats_int_type, tmp456), ats_castfn_mac(ats_int_type, tmp458)) ; #line 672 "interp0.dats" tmp465 = atspre_lte_int1_size1 (tmp466, tmp459) ; #line 672 "interp0.dats" /* tmp464 = */ atspre_assert_errmsg (tmp465, ATSstrcst("substring: illegal length")) ; #line 673 "interp0.dats" tmp467 = atspre_size1_of_int1 (ats_castfn_mac(ats_int_type, tmp456)) ; #line 673 "interp0.dats" tmp468 = atspre_size1_of_int1 (ats_castfn_mac(ats_int_type, tmp458)) ; #line 676 "interp0.dats" tmp469 = atspre_string_make_substring (ats_castfn_mac(ats_ptr_type, tmp453), tmp467, tmp468) ; #line 679 "interp0.dats" tmp450 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp450)->tag = 1 ; ats_selptrset_mac(anairiats_sum_3, tmp450, atslab_0, ats_castfn_mac(ats_ptr_type, tmp469)) ; return (tmp450) ; } /* end of [__ats_fun_63] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/interp0.dats: 19395(line=682, offs=23) -- 20055(line=695, offs=4) */ ATSglobaldec() ats_ptr_type _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2esats__interp0Prog (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp470) ; ATSlocal (ats_ptr_type, tmp471) ; 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 (ats_ptr_type, tmp480) ; ATSlocal (ats_ptr_type, tmp481) ; ATSlocal (ats_ptr_type, tmp482) ; ATSlocal (ats_ptr_type, tmp483) ; ATSlocal (ats_ptr_type, tmp484) ; ATSlocal (ats_ptr_type, tmp485) ; ATSlocal (ats_ptr_type, tmp486) ; ATSlocal (ats_ptr_type, tmp487) ; ATSlocal (ats_ptr_type, tmp488) ; ATSlocal (ats_ptr_type, tmp489) ; __ats_lab__2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2esats__interp0Prog: #line 683 "interp0.dats" tmp471 = env_empty_4 () ; #line 684 "interp0.dats" tmp473 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp473)->tag = 2 ; ats_selptrset_mac(anairiats_sum_3, tmp473, atslab_0, &__ats_fun_54) ; #line 684 "interp0.dats" tmp472 = env_insert_10 (tmp471, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2symbol_2esats__symbol_CHR, tmp473) ; #line 685 "interp0.dats" tmp475 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp475)->tag = 2 ; ats_selptrset_mac(anairiats_sum_3, tmp475, atslab_0, &__ats_fun_55) ; #line 685 "interp0.dats" tmp474 = env_insert_10 (tmp472, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2symbol_2esats__symbol_CONCAT, tmp475) ; #line 686 "interp0.dats" tmp477 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp477)->tag = 2 ; ats_selptrset_mac(anairiats_sum_3, tmp477, atslab_0, &__ats_fun_56) ; #line 686 "interp0.dats" tmp476 = env_insert_10 (tmp474, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2symbol_2esats__symbol_FLUSH, tmp477) ; #line 687 "interp0.dats" tmp479 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp479)->tag = 2 ; ats_selptrset_mac(anairiats_sum_3, tmp479, atslab_0, &__ats_fun_57) ; #line 687 "interp0.dats" tmp478 = env_insert_10 (tmp476, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2symbol_2esats__symbol_GETCHAR, tmp479) ; #line 688 "interp0.dats" tmp481 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp481)->tag = 2 ; ats_selptrset_mac(anairiats_sum_3, tmp481, atslab_0, &__ats_fun_58) ; #line 688 "interp0.dats" tmp480 = env_insert_10 (tmp478, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2symbol_2esats__symbol_ORD, tmp481) ; #line 689 "interp0.dats" tmp483 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp483)->tag = 2 ; ats_selptrset_mac(anairiats_sum_3, tmp483, atslab_0, &__ats_fun_59) ; #line 689 "interp0.dats" tmp482 = env_insert_10 (tmp480, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2symbol_2esats__symbol_PRINT, tmp483) ; #line 690 "interp0.dats" tmp485 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp485)->tag = 2 ; ats_selptrset_mac(anairiats_sum_3, tmp485, atslab_0, &__ats_fun_60) ; #line 690 "interp0.dats" tmp484 = env_insert_10 (tmp482, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2symbol_2esats__symbol_PRINT_INT, tmp485) ; #line 691 "interp0.dats" tmp487 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp487)->tag = 2 ; ats_selptrset_mac(anairiats_sum_3, tmp487, atslab_0, &__ats_fun_62) ; #line 691 "interp0.dats" tmp486 = env_insert_10 (tmp484, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2symbol_2esats__symbol_SIZE, tmp487) ; #line 692 "interp0.dats" tmp489 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp489)->tag = 2 ; ats_selptrset_mac(anairiats_sum_3, tmp489, atslab_0, &__ats_fun_63) ; #line 692 "interp0.dats" tmp488 = env_insert_10 (tmp486, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2symbol_2esats__symbol_SUBSTRING, tmp489) ; #line 694 "interp0.dats" tmp470 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2edats__interp0Exp (tmp488, arg0) ; return (tmp470) ; } /* end of [_2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2esats__interp0Prog] */ /* static load function */ extern ats_void_type ATS_2d0_2e2_2e6_2libc_2SATS_2stdio_2esats__staload (void) ; 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_2symbol_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_2interp0_2esats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2array_2edats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2array0_2edats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2reference_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) ; ats_void_type _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2edats__staload () { static int _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2edats__staload_flag = 0 ; if (_2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2edats__staload_flag) return ; _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2edats__staload_flag = 1 ; ATS_2d0_2e2_2e6_2libc_2SATS_2stdio_2esats__staload () ; _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_2symbol_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_2interp0_2esats__staload () ; // ATS_2d0_2e2_2e6_2prelude_2DATS_2array_2edats__staload () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2array0_2edats__staload () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats__staload () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2reference_2edats__staload () ; _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2LIB_2funmap_avltree_2edats__staload () ; // _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2edats__VFVALvar.tag = 0 ; // _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2edats__VFVALfun.tag = 1 ; // _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2edats__VFVALpre.tag = 2 ; _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2edats__LoopBreak.tag = ats_exception_con_tag_new () ; _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2edats__LoopBreak.name = "_2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2edats__LoopBreak" ; _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2edats__LoopContinue.tag = ats_exception_con_tag_new () ; _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2edats__LoopContinue.name = "_2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2edats__LoopContinue" ; 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_2interp0_2edats__dynload_flag ; ats_void_type _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2edats__dynload () { _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2edats__dynload_flag = 1 ; _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2interp0_2edats__staload () ; #ifdef _ATS_PROOFCHECK ATS_2d0_2e2_2e6_2prelude_2SATS_2array_2esats__array_v_takeout2_prfck () ; ATS_2d0_2e2_2e6_2prelude_2SATS_2list_2esats__list_length_is_nonnegative_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2array_2edats____copy_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2array_2edats____free_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2array_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2array_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 () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; #endif /* _ATS_PROOFCHECK */ /* marking static variables for GC */ ATS_GC_MARKROOT(&statmp15, sizeof(ats_ptr_type)) ; /* marking external values for GC */ /* code for dynamic loading */ #line 85 "interp0.dats" statmp15 = __ats_fun_3_closure_make () ; return ; } /* end of [dynload function] */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [interp0_dats.c] */