/* ** ** 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 */ /* external codes at top */ /* type definitions */ typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_0 ; typedef struct { int tag ; ats_int_type atslab_0 ; } anairiats_sum_1 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_2 ; typedef struct { int tag ; ats_int64_type atslab_0 ; } anairiats_sum_3 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_4 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_5 ; typedef struct { int tag ; ats_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_6 ; /* 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, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__EQ) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__NEQ) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__GT) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__GE) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__LT) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__LE) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__PLUS) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__MINUS) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__MUL) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__DIV) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__STMmove) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__STMexp) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__STMjump) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__STMcjump) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__STMseq) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__STMlabel) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__STMusedef) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__EXPconst) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__EXPname) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__EXPtemp) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__EXPbinop) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__EXPmem) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__EXPcall) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__EXPeseq) ; /* external dynamic constant declarations */ ATSextern_fun(ats_int_type, atspre_add_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_void_type, atspre_fprint_int) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_void_type, atspre_fprint_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2templab_2esats__fprint_temp) (ats_ptr_type, ats_int64_type) ; ATSextern_fun(ats_void_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2templab_2esats__fprint_label) (ats_ptr_type, ats_ptr_type) ; ATSextern_val(ats_ptr_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__exp_const_0) ; ATSextern_fun(ats_void_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__fprint_exp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__fprint_stm) (ats_ptr_type, ats_ptr_type) ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK #endif /* _ATS_PROOFCHECK */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ ATSglobal(ats_ptr_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__exp_const_0) ; ATSglobal(ats_ptr_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__exp_const_1) ; ATSglobal(ats_ptr_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__stm_nop) ; /* internal function declarations */ static ats_void_type fprint_binop_0 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type fprint_relop_1 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type loop_3 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) ; static ats_void_type fprint_explst_2 (ats_ptr_type arg0, ats_ptr_type arg1) ; /* partial value template declarations */ /* static temporary variable declarations */ ATSstatic (ats_ptr_type, statmp89) ; ATSstatic (ats_ptr_type, statmp90) ; ATSstatic (ats_ptr_type, statmp91) ; /* external value variable declarations */ /* function implementations */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/irtree.dats: 252(line=20, offs=4) -- 465(line=24, offs=38) */ ATSstaticdec() ats_void_type fprint_binop_0 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp0) ; __ats_lab_fprint_binop_0: #line 20 "irtree.dats" do { /* branch: __ats_lab_0 */ #line 21 "irtree.dats" __ats_lab_0_0: #line 21 "irtree.dats" if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_1_0 ; } #line 21 "irtree.dats" __ats_lab_0_1: #line 21 "irtree.dats" /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst("+")) ; break ; /* branch: __ats_lab_1 */ #line 22 "irtree.dats" __ats_lab_1_0: #line 22 "irtree.dats" if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_2_0 ; } #line 22 "irtree.dats" __ats_lab_1_1: #line 22 "irtree.dats" /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst("-")) ; break ; /* branch: __ats_lab_2 */ #line 23 "irtree.dats" __ats_lab_2_0: #line 23 "irtree.dats" if (((ats_sum_ptr_type)arg1)->tag != 2) { goto __ats_lab_3_0 ; } #line 23 "irtree.dats" __ats_lab_2_1: #line 23 "irtree.dats" /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst("*")) ; break ; /* branch: __ats_lab_3 */ #line 24 "irtree.dats" __ats_lab_3_0: #line 24 "irtree.dats" // if (((ats_sum_ptr_type)arg1)->tag != 3) { ats_deadcode_failure_handle () ; } #line 24 "irtree.dats" __ats_lab_3_1: #line 24 "irtree.dats" /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst("/")) ; break ; } while (0) ; return /* (tmp0) */ ; } /* end of [fprint_binop_0] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/irtree.dats: 767(line=37, offs=4) -- 1054(line=43, offs=38) */ ATSstaticdec() ats_void_type fprint_relop_1 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp1) ; __ats_lab_fprint_relop_1: #line 37 "irtree.dats" do { /* branch: __ats_lab_4 */ #line 38 "irtree.dats" __ats_lab_4_0: #line 38 "irtree.dats" if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_5_0 ; } #line 38 "irtree.dats" __ats_lab_4_1: #line 38 "irtree.dats" /* tmp1 = */ atspre_fprint_string (arg0, ATSstrcst("=")) ; break ; /* branch: __ats_lab_5 */ #line 39 "irtree.dats" __ats_lab_5_0: #line 39 "irtree.dats" if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_6_0 ; } #line 39 "irtree.dats" __ats_lab_5_1: #line 39 "irtree.dats" /* tmp1 = */ atspre_fprint_string (arg0, ATSstrcst("<>")) ; break ; /* branch: __ats_lab_6 */ #line 40 "irtree.dats" __ats_lab_6_0: #line 40 "irtree.dats" if (((ats_sum_ptr_type)arg1)->tag != 2) { goto __ats_lab_7_0 ; } #line 40 "irtree.dats" __ats_lab_6_1: #line 40 "irtree.dats" /* tmp1 = */ atspre_fprint_string (arg0, ATSstrcst("GT")) ; break ; /* branch: __ats_lab_7 */ #line 41 "irtree.dats" __ats_lab_7_0: #line 41 "irtree.dats" if (((ats_sum_ptr_type)arg1)->tag != 3) { goto __ats_lab_8_0 ; } #line 41 "irtree.dats" __ats_lab_7_1: #line 41 "irtree.dats" /* tmp1 = */ atspre_fprint_string (arg0, ATSstrcst("GTE")) ; break ; /* branch: __ats_lab_8 */ #line 42 "irtree.dats" __ats_lab_8_0: #line 42 "irtree.dats" if (((ats_sum_ptr_type)arg1)->tag != 4) { goto __ats_lab_9_0 ; } #line 42 "irtree.dats" __ats_lab_8_1: #line 42 "irtree.dats" /* tmp1 = */ atspre_fprint_string (arg0, ATSstrcst("LT")) ; break ; /* branch: __ats_lab_9 */ #line 43 "irtree.dats" __ats_lab_9_0: #line 43 "irtree.dats" // if (((ats_sum_ptr_type)arg1)->tag != 5) { ats_deadcode_failure_handle () ; } #line 43 "irtree.dats" __ats_lab_9_1: #line 43 "irtree.dats" /* tmp1 = */ atspre_fprint_string (arg0, ATSstrcst("LE")) ; break ; } while (0) ; return /* (tmp1) */ ; } /* end of [fprint_relop_1] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/irtree.dats: 1326(line=56, offs=7) -- 1595(line=64, offs=24) */ ATSstaticdec() ats_void_type loop_3 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) { /* local vardec */ // ATSlocal_void (tmp3) ; ATSlocal (ats_ptr_type, tmp4) ; ATSlocal (ats_ptr_type, tmp5) ; // ATSlocal_void (tmp6) ; ATSlocal (ats_bool_type, tmp7) ; // ATSlocal_void (tmp8) ; ATSlocal (ats_int_type, tmp9) ; __ats_lab_loop_3: #line 58 "irtree.dats" do { /* branch: __ats_lab_10 */ #line 59 "irtree.dats" __ats_lab_10_0: #line 59 "irtree.dats" if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_11_0 ; } #line 59 "irtree.dats" __ats_lab_10_1: #line 59 "irtree.dats" tmp4 = ats_caselptr_mac(anairiats_sum_0, arg1, atslab_0) ; #line 59 "irtree.dats" tmp5 = ats_caselptr_mac(anairiats_sum_0, arg1, atslab_1) ; #line 60 "irtree.dats" tmp7 = atspre_gt_int_int (arg2, 0) ; #line 60 "irtree.dats" if (tmp7) { #line 60 "irtree.dats" /* tmp6 = */ atspre_fprint_string (arg0, ATSstrcst(", ")) ; } else { /* empty */ } /* end of [if] */ #line 62 "irtree.dats" /* tmp8 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__fprint_exp (arg0, tmp4) ; #line 62 "irtree.dats" tmp9 = atspre_add_int_int (arg2, 1) ; #line 62 "irtree.dats" arg0 = arg0 ; #line 62 "irtree.dats" arg1 = tmp5 ; #line 62 "irtree.dats" arg2 = tmp9 ; #line 62 "irtree.dats" goto __ats_lab_loop_3 ; // tail call break ; /* branch: __ats_lab_11 */ #line 64 "irtree.dats" __ats_lab_11_0: #line 64 "irtree.dats" // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 64 "irtree.dats" __ats_lab_11_1: break ; } while (0) ; return /* (tmp3) */ ; } /* end of [loop_3] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/irtree.dats: 1271(line=54, offs=4) -- 1641(line=68, offs=4) */ ATSstaticdec() ats_void_type fprint_explst_2 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp2) ; __ats_lab_fprint_explst_2: #line 67 "irtree.dats" /* tmp2 = */ loop_3 (arg0, arg1, 0) ; return /* (tmp2) */ ; } /* end of [fprint_explst_2] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/irtree.dats: 1690(line=70, offs=22) -- 2792(line=105, offs=4) */ ATSglobaldec() ats_void_type _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__fprint_exp (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp10) ; ATSlocal (ats_int_type, tmp11) ; // ATSlocal_void (tmp12) ; // ATSlocal_void (tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; // ATSlocal_void (tmp15) ; // ATSlocal_void (tmp16) ; ATSlocal (ats_int64_type, tmp17) ; // ATSlocal_void (tmp18) ; // ATSlocal_void (tmp19) ; ATSlocal (ats_ptr_type, tmp20) ; ATSlocal (ats_ptr_type, tmp21) ; ATSlocal (ats_ptr_type, tmp22) ; // ATSlocal_void (tmp23) ; // ATSlocal_void (tmp24) ; // ATSlocal_void (tmp25) ; // ATSlocal_void (tmp26) ; // ATSlocal_void (tmp27) ; // ATSlocal_void (tmp28) ; ATSlocal (ats_ptr_type, tmp29) ; // ATSlocal_void (tmp30) ; // ATSlocal_void (tmp31) ; ATSlocal (ats_ptr_type, tmp32) ; ATSlocal (ats_ptr_type, tmp33) ; // ATSlocal_void (tmp34) ; // ATSlocal_void (tmp35) ; // ATSlocal_void (tmp36) ; // ATSlocal_void (tmp37) ; ATSlocal (ats_ptr_type, tmp38) ; ATSlocal (ats_ptr_type, tmp39) ; // ATSlocal_void (tmp40) ; // ATSlocal_void (tmp41) ; // ATSlocal_void (tmp42) ; // ATSlocal_void (tmp43) ; __ats_lab__2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__fprint_exp: #line 73 "irtree.dats" do { /* branch: __ats_lab_12 */ #line 74 "irtree.dats" __ats_lab_12_0: #line 74 "irtree.dats" if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_13_0 ; } #line 74 "irtree.dats" __ats_lab_12_1: #line 74 "irtree.dats" tmp11 = ats_caselptr_mac(anairiats_sum_1, arg1, atslab_0) ; #line 75 "irtree.dats" /* tmp12 = */ atspre_fprint_string (arg0, ATSstrcst("EXPconst(")) ; #line 75 "irtree.dats" /* tmp13 = */ atspre_fprint_int (arg0, tmp11) ; #line 75 "irtree.dats" /* tmp10 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_13 */ #line 77 "irtree.dats" __ats_lab_13_0: #line 77 "irtree.dats" if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_14_0 ; } #line 77 "irtree.dats" __ats_lab_13_1: #line 77 "irtree.dats" tmp14 = ats_caselptr_mac(anairiats_sum_2, arg1, atslab_0) ; #line 78 "irtree.dats" /* tmp15 = */ atspre_fprint_string (arg0, ATSstrcst("EXPname(")) ; #line 78 "irtree.dats" /* tmp16 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2templab_2esats__fprint_label (arg0, tmp14) ; #line 78 "irtree.dats" /* tmp10 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_14 */ #line 80 "irtree.dats" __ats_lab_14_0: #line 80 "irtree.dats" if (((ats_sum_ptr_type)arg1)->tag != 2) { goto __ats_lab_15_0 ; } #line 80 "irtree.dats" __ats_lab_14_1: #line 80 "irtree.dats" tmp17 = ats_caselptr_mac(anairiats_sum_3, arg1, atslab_0) ; #line 81 "irtree.dats" /* tmp18 = */ atspre_fprint_string (arg0, ATSstrcst("EXPtemp(")) ; #line 81 "irtree.dats" /* tmp19 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2templab_2esats__fprint_temp (arg0, tmp17) ; #line 81 "irtree.dats" /* tmp10 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_15 */ #line 83 "irtree.dats" __ats_lab_15_0: #line 83 "irtree.dats" if (((ats_sum_ptr_type)arg1)->tag != 3) { goto __ats_lab_16_0 ; } #line 83 "irtree.dats" __ats_lab_15_1: #line 83 "irtree.dats" tmp20 = ats_caselptr_mac(anairiats_sum_4, arg1, atslab_0) ; #line 83 "irtree.dats" tmp21 = ats_caselptr_mac(anairiats_sum_4, arg1, atslab_1) ; #line 83 "irtree.dats" tmp22 = ats_caselptr_mac(anairiats_sum_4, arg1, atslab_2) ; #line 84 "irtree.dats" /* tmp23 = */ atspre_fprint_string (arg0, ATSstrcst("EXPbinop(")) ; #line 85 "irtree.dats" /* tmp24 = */ fprint_binop_0 (arg0, tmp20) ; #line 86 "irtree.dats" /* tmp25 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; #line 87 "irtree.dats" /* tmp26 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__fprint_exp (arg0, tmp21) ; #line 87 "irtree.dats" /* tmp27 = */ atspre_fprint_string (arg0, ATSstrcst(", ")) ; #line 87 "irtree.dats" /* tmp28 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__fprint_exp (arg0, tmp22) ; #line 88 "irtree.dats" /* tmp10 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_16 */ #line 90 "irtree.dats" __ats_lab_16_0: #line 90 "irtree.dats" if (((ats_sum_ptr_type)arg1)->tag != 4) { goto __ats_lab_17_0 ; } #line 90 "irtree.dats" __ats_lab_16_1: #line 90 "irtree.dats" tmp29 = ats_caselptr_mac(anairiats_sum_2, arg1, atslab_0) ; #line 91 "irtree.dats" /* tmp30 = */ atspre_fprint_string (arg0, ATSstrcst("EXPmem(")) ; #line 91 "irtree.dats" /* tmp31 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__fprint_exp (arg0, tmp29) ; #line 91 "irtree.dats" /* tmp10 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_17 */ #line 93 "irtree.dats" __ats_lab_17_0: #line 93 "irtree.dats" if (((ats_sum_ptr_type)arg1)->tag != 5) { goto __ats_lab_18_0 ; } #line 93 "irtree.dats" __ats_lab_17_1: #line 93 "irtree.dats" tmp32 = ats_caselptr_mac(anairiats_sum_5, arg1, atslab_0) ; #line 93 "irtree.dats" tmp33 = ats_caselptr_mac(anairiats_sum_5, arg1, atslab_1) ; #line 94 "irtree.dats" /* tmp34 = */ atspre_fprint_string (arg0, ATSstrcst("EXPcall(")) ; #line 95 "irtree.dats" /* tmp35 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__fprint_exp (arg0, tmp32) ; #line 96 "irtree.dats" /* tmp36 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; #line 97 "irtree.dats" /* tmp37 = */ fprint_explst_2 (arg0, tmp33) ; #line 98 "irtree.dats" /* tmp10 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_18 */ #line 100 "irtree.dats" __ats_lab_18_0: #line 100 "irtree.dats" // if (((ats_sum_ptr_type)arg1)->tag != 6) { ats_deadcode_failure_handle () ; } #line 100 "irtree.dats" __ats_lab_18_1: #line 100 "irtree.dats" tmp38 = ats_caselptr_mac(anairiats_sum_5, arg1, atslab_0) ; #line 100 "irtree.dats" tmp39 = ats_caselptr_mac(anairiats_sum_5, arg1, atslab_1) ; #line 101 "irtree.dats" /* tmp40 = */ atspre_fprint_string (arg0, ATSstrcst("EXPeseq(")) ; #line 102 "irtree.dats" /* tmp41 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__fprint_stm (arg0, tmp38) ; #line 102 "irtree.dats" /* tmp42 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; #line 102 "irtree.dats" /* tmp43 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__fprint_exp (arg0, tmp39) ; #line 103 "irtree.dats" /* tmp10 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; } while (0) ; return /* (tmp10) */ ; } /* end of [_2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__fprint_exp] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/irtree.dats: 2837(line=107, offs=21) -- 2873(line=107, offs=57) */ ATSglobaldec() ats_void_type _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__print_exp (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp44) ; __ats_lab__2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__print_exp: #line 107 "irtree.dats" /* tmp44 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__fprint_exp (stdout, arg0) ; return /* (tmp44) */ ; } /* end of [_2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__print_exp] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/irtree.dats: 2894(line=108, offs=21) -- 2930(line=108, offs=57) */ ATSglobaldec() ats_void_type _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__prerr_exp (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp45) ; __ats_lab__2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__prerr_exp: #line 108 "irtree.dats" /* tmp45 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__fprint_exp (stderr, arg0) ; return /* (tmp45) */ ; } /* end of [_2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__prerr_exp] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/irtree.dats: 2974(line=112, offs=22) -- 4217(line=153, offs=4) */ ATSglobaldec() ats_void_type _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__fprint_stm (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp46) ; ATSlocal (ats_ptr_type, tmp47) ; ATSlocal (ats_ptr_type, tmp48) ; // ATSlocal_void (tmp49) ; // ATSlocal_void (tmp50) ; // ATSlocal_void (tmp51) ; // ATSlocal_void (tmp52) ; ATSlocal (ats_ptr_type, tmp53) ; // ATSlocal_void (tmp54) ; // ATSlocal_void (tmp55) ; ATSlocal (ats_ptr_type, tmp56) ; // ATSlocal_void (tmp57) ; // ATSlocal_void (tmp58) ; // ATSlocal_void (tmp59) ; // ATSlocal_void (tmp60) ; ATSlocal (ats_ptr_type, tmp61) ; ATSlocal (ats_ptr_type, tmp62) ; ATSlocal (ats_ptr_type, tmp63) ; ATSlocal (ats_ptr_type, tmp64) ; ATSlocal (ats_ptr_type, tmp65) ; // ATSlocal_void (tmp66) ; // ATSlocal_void (tmp67) ; // ATSlocal_void (tmp68) ; // ATSlocal_void (tmp69) ; // ATSlocal_void (tmp70) ; // ATSlocal_void (tmp71) ; // ATSlocal_void (tmp72) ; // ATSlocal_void (tmp73) ; // ATSlocal_void (tmp74) ; // ATSlocal_void (tmp75) ; ATSlocal (ats_ptr_type, tmp76) ; ATSlocal (ats_ptr_type, tmp77) ; // ATSlocal_void (tmp78) ; // ATSlocal_void (tmp79) ; // ATSlocal_void (tmp80) ; // ATSlocal_void (tmp81) ; ATSlocal (ats_ptr_type, tmp82) ; // ATSlocal_void (tmp83) ; // ATSlocal_void (tmp84) ; // ATSlocal_void (tmp85) ; // ATSlocal_void (tmp86) ; __ats_lab__2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__fprint_stm: #line 115 "irtree.dats" do { /* branch: __ats_lab_19 */ #line 116 "irtree.dats" __ats_lab_19_0: #line 116 "irtree.dats" if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_20_0 ; } #line 116 "irtree.dats" __ats_lab_19_1: #line 116 "irtree.dats" tmp47 = ats_caselptr_mac(anairiats_sum_5, arg1, atslab_0) ; #line 116 "irtree.dats" tmp48 = ats_caselptr_mac(anairiats_sum_5, arg1, atslab_1) ; #line 117 "irtree.dats" /* tmp49 = */ atspre_fprint_string (arg0, ATSstrcst("STMmove(")) ; #line 118 "irtree.dats" /* tmp50 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__fprint_exp (arg0, tmp47) ; #line 118 "irtree.dats" /* tmp51 = */ atspre_fprint_string (arg0, ATSstrcst(", ")) ; #line 118 "irtree.dats" /* tmp52 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__fprint_exp (arg0, tmp48) ; #line 119 "irtree.dats" /* tmp46 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_20 */ #line 121 "irtree.dats" __ats_lab_20_0: #line 121 "irtree.dats" if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_21_0 ; } #line 121 "irtree.dats" __ats_lab_20_1: #line 121 "irtree.dats" tmp53 = ats_caselptr_mac(anairiats_sum_2, arg1, atslab_0) ; #line 122 "irtree.dats" /* tmp54 = */ atspre_fprint_string (arg0, ATSstrcst("STMexp(")) ; #line 122 "irtree.dats" /* tmp55 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__fprint_exp (arg0, tmp53) ; #line 122 "irtree.dats" /* tmp46 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_21 */ #line 124 "irtree.dats" __ats_lab_21_0: #line 124 "irtree.dats" if (((ats_sum_ptr_type)arg1)->tag != 2) { goto __ats_lab_22_0 ; } #line 124 "irtree.dats" __ats_lab_21_1: #line 124 "irtree.dats" tmp56 = ats_caselptr_mac(anairiats_sum_5, arg1, atslab_0) ; #line 125 "irtree.dats" /* tmp57 = */ atspre_fprint_string (arg0, ATSstrcst("STMjump(")) ; #line 126 "irtree.dats" /* tmp58 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__fprint_exp (arg0, tmp56) ; #line 126 "irtree.dats" /* tmp59 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; #line 126 "irtree.dats" /* tmp60 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; #line 127 "irtree.dats" /* tmp46 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_22 */ #line 129 "irtree.dats" __ats_lab_22_0: #line 129 "irtree.dats" if (((ats_sum_ptr_type)arg1)->tag != 3) { goto __ats_lab_23_0 ; } #line 129 "irtree.dats" __ats_lab_22_1: #line 129 "irtree.dats" tmp61 = ats_caselptr_mac(anairiats_sum_6, arg1, atslab_0) ; #line 129 "irtree.dats" tmp62 = ats_caselptr_mac(anairiats_sum_6, arg1, atslab_1) ; #line 129 "irtree.dats" tmp63 = ats_caselptr_mac(anairiats_sum_6, arg1, atslab_2) ; #line 129 "irtree.dats" tmp64 = ats_caselptr_mac(anairiats_sum_6, arg1, atslab_3) ; #line 129 "irtree.dats" tmp65 = ats_caselptr_mac(anairiats_sum_6, arg1, atslab_4) ; #line 130 "irtree.dats" /* tmp66 = */ atspre_fprint_string (arg0, ATSstrcst("STMcjump(")) ; #line 131 "irtree.dats" /* tmp67 = */ fprint_relop_1 (arg0, tmp61) ; #line 132 "irtree.dats" /* tmp68 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; #line 133 "irtree.dats" /* tmp69 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__fprint_exp (arg0, tmp62) ; #line 134 "irtree.dats" /* tmp70 = */ atspre_fprint_string (arg0, ATSstrcst(", ")) ; #line 135 "irtree.dats" /* tmp71 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__fprint_exp (arg0, tmp63) ; #line 136 "irtree.dats" /* tmp72 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; #line 137 "irtree.dats" /* tmp73 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2templab_2esats__fprint_label (arg0, tmp64) ; #line 138 "irtree.dats" /* tmp74 = */ atspre_fprint_string (arg0, ATSstrcst(" : ")) ; #line 139 "irtree.dats" /* tmp75 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2templab_2esats__fprint_label (arg0, tmp65) ; #line 140 "irtree.dats" /* tmp46 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_23 */ #line 142 "irtree.dats" __ats_lab_23_0: #line 142 "irtree.dats" if (((ats_sum_ptr_type)arg1)->tag != 4) { goto __ats_lab_24_0 ; } #line 142 "irtree.dats" __ats_lab_23_1: #line 142 "irtree.dats" tmp76 = ats_caselptr_mac(anairiats_sum_5, arg1, atslab_0) ; #line 142 "irtree.dats" tmp77 = ats_caselptr_mac(anairiats_sum_5, arg1, atslab_1) ; #line 143 "irtree.dats" /* tmp78 = */ atspre_fprint_string (arg0, ATSstrcst("STMseq(")) ; #line 144 "irtree.dats" /* tmp79 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__fprint_stm (arg0, tmp76) ; #line 144 "irtree.dats" /* tmp80 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; #line 144 "irtree.dats" /* tmp81 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__fprint_stm (arg0, tmp77) ; #line 145 "irtree.dats" /* tmp46 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_24 */ #line 147 "irtree.dats" __ats_lab_24_0: #line 147 "irtree.dats" if (((ats_sum_ptr_type)arg1)->tag != 5) { goto __ats_lab_25_0 ; } #line 147 "irtree.dats" __ats_lab_24_1: #line 147 "irtree.dats" tmp82 = ats_caselptr_mac(anairiats_sum_2, arg1, atslab_0) ; #line 148 "irtree.dats" /* tmp83 = */ atspre_fprint_string (arg0, ATSstrcst("STMlabel(")) ; #line 148 "irtree.dats" /* tmp84 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2templab_2esats__fprint_label (arg0, tmp82) ; #line 148 "irtree.dats" /* tmp46 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_25 */ #line 150 "irtree.dats" __ats_lab_25_0: #line 150 "irtree.dats" // if (((ats_sum_ptr_type)arg1)->tag != 6) { ats_deadcode_failure_handle () ; } #line 150 "irtree.dats" __ats_lab_25_1: #line 151 "irtree.dats" /* tmp85 = */ atspre_fprint_string (arg0, ATSstrcst("STMusedef(")) ; #line 151 "irtree.dats" /* tmp86 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; #line 151 "irtree.dats" /* tmp46 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; } while (0) ; return /* (tmp46) */ ; } /* end of [_2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__fprint_stm] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/irtree.dats: 4265(line=155, offs=21) -- 4301(line=155, offs=57) */ ATSglobaldec() ats_void_type _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__print_stm (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp87) ; __ats_lab__2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__print_stm: #line 155 "irtree.dats" /* tmp87 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__fprint_stm (stdout, arg0) ; return /* (tmp87) */ ; } /* end of [_2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__print_stm] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/irtree.dats: 4322(line=156, offs=21) -- 4358(line=156, offs=57) */ ATSglobaldec() ats_void_type _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__prerr_stm (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp88) ; __ats_lab__2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__prerr_stm: #line 156 "irtree.dats" /* tmp88 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__fprint_stm (stderr, arg0) ; return /* (tmp88) */ ; } /* end of [_2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__prerr_stm] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/irtree.dats: 4543(line=167, offs=29) -- 4619(line=169, offs=50) */ ATSglobaldec() ats_bool_type _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__binop_is_additive (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp92) ; __ats_lab__2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__binop_is_additive: #line 168 "irtree.dats" do { /* branch: __ats_lab_26 */ #line 169 "irtree.dats" __ats_lab_26_0: #line 169 "irtree.dats" if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_27_0 ; } #line 169 "irtree.dats" __ats_lab_26_1: #line 169 "irtree.dats" tmp92 = ats_true_bool ; break ; /* branch: __ats_lab_27 */ #line 169 "irtree.dats" __ats_lab_27_0: #line 169 "irtree.dats" if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_28_0 ; } #line 169 "irtree.dats" __ats_lab_27_1: #line 169 "irtree.dats" tmp92 = ats_true_bool ; break ; /* branch: __ats_lab_28 */ #line 169 "irtree.dats" __ats_lab_28_0: #line 169 "irtree.dats" __ats_lab_28_1: #line 169 "irtree.dats" tmp92 = ats_false_bool ; break ; } while (0) ; return (tmp92) ; } /* end of [_2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__binop_is_additive] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/irtree.dats: 4685(line=172, offs=35) -- 4758(line=174, offs=47) */ ATSglobaldec() ats_bool_type _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__binop_is_multiplicative (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp93) ; __ats_lab__2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__binop_is_multiplicative: #line 173 "irtree.dats" do { /* branch: __ats_lab_29 */ #line 174 "irtree.dats" __ats_lab_29_0: #line 174 "irtree.dats" if (((ats_sum_ptr_type)arg0)->tag != 2) { goto __ats_lab_30_0 ; } #line 174 "irtree.dats" __ats_lab_29_1: #line 174 "irtree.dats" tmp93 = ats_true_bool ; break ; /* branch: __ats_lab_30 */ #line 174 "irtree.dats" __ats_lab_30_0: #line 174 "irtree.dats" if (((ats_sum_ptr_type)arg0)->tag != 3) { goto __ats_lab_31_0 ; } #line 174 "irtree.dats" __ats_lab_30_1: #line 174 "irtree.dats" tmp93 = ats_true_bool ; break ; /* branch: __ats_lab_31 */ #line 174 "irtree.dats" __ats_lab_31_0: #line 174 "irtree.dats" __ats_lab_31_1: #line 174 "irtree.dats" tmp93 = ats_false_bool ; break ; } while (0) ; return (tmp93) ; } /* end of [_2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__binop_is_multiplicative] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/irtree.dats: 4840(line=179, offs=24) -- 4980(line=185, offs=19) */ ATSglobaldec() ats_ptr_type _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__relop_negate (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp94) ; __ats_lab__2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__relop_negate: #line 179 "irtree.dats" do { /* branch: __ats_lab_32 */ #line 180 "irtree.dats" __ats_lab_32_0: #line 180 "irtree.dats" if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_33_0 ; } #line 180 "irtree.dats" __ats_lab_32_1: #line 180 "irtree.dats" tmp94 = (ats_sum_ptr_type)(&_2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__NEQ) ; break ; /* branch: __ats_lab_33 */ #line 181 "irtree.dats" __ats_lab_33_0: #line 181 "irtree.dats" if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_34_0 ; } #line 181 "irtree.dats" __ats_lab_33_1: #line 181 "irtree.dats" tmp94 = (ats_sum_ptr_type)(&_2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__EQ) ; break ; /* branch: __ats_lab_34 */ #line 182 "irtree.dats" __ats_lab_34_0: #line 182 "irtree.dats" if (((ats_sum_ptr_type)arg0)->tag != 2) { goto __ats_lab_35_0 ; } #line 182 "irtree.dats" __ats_lab_34_1: #line 182 "irtree.dats" tmp94 = (ats_sum_ptr_type)(&_2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__LE) ; break ; /* branch: __ats_lab_35 */ #line 183 "irtree.dats" __ats_lab_35_0: #line 183 "irtree.dats" if (((ats_sum_ptr_type)arg0)->tag != 3) { goto __ats_lab_36_0 ; } #line 183 "irtree.dats" __ats_lab_35_1: #line 183 "irtree.dats" tmp94 = (ats_sum_ptr_type)(&_2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__LT) ; break ; /* branch: __ats_lab_36 */ #line 184 "irtree.dats" __ats_lab_36_0: #line 184 "irtree.dats" if (((ats_sum_ptr_type)arg0)->tag != 4) { goto __ats_lab_37_0 ; } #line 184 "irtree.dats" __ats_lab_36_1: #line 184 "irtree.dats" tmp94 = (ats_sum_ptr_type)(&_2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__GE) ; break ; /* branch: __ats_lab_37 */ #line 185 "irtree.dats" __ats_lab_37_0: #line 185 "irtree.dats" // if (((ats_sum_ptr_type)arg0)->tag != 5) { ats_deadcode_failure_handle () ; } #line 185 "irtree.dats" __ats_lab_37_1: #line 185 "irtree.dats" tmp94 = (ats_sum_ptr_type)(&_2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__GT) ; break ; } while (0) ; return (tmp94) ; } /* end of [_2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__relop_negate] */ /* static load function */ extern ats_void_type _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2templab_2esats__staload (void) ; extern ats_void_type _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__staload (void) ; ats_void_type _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2edats__staload () { static int _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2edats__staload_flag = 0 ; if (_2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2edats__staload_flag) return ; _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2edats__staload_flag = 1 ; _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2templab_2esats__staload () ; _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2edats__dynload_flag ; ats_void_type _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2edats__dynload () { _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2edats__dynload_flag = 1 ; _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2edats__staload () ; #ifdef _ATS_PROOFCHECK #endif /* _ATS_PROOFCHECK */ /* marking static variables for GC */ ATS_GC_MARKROOT(&statmp89, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp90, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp91, sizeof(ats_ptr_type)) ; /* marking external values for GC */ /* code for dynamic loading */ #line 160 "irtree.dats" statmp89 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)statmp89)->tag = 0 ; ats_selptrset_mac(anairiats_sum_1, statmp89, atslab_0, 0) ; #line 160 "irtree.dats" ATS_GC_MARKROOT(&_2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__exp_const_0, sizeof(ats_ptr_type)) ; _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__exp_const_0 = statmp89 ; #line 161 "irtree.dats" statmp90 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)statmp90)->tag = 0 ; ats_selptrset_mac(anairiats_sum_1, statmp90, atslab_0, 1) ; #line 161 "irtree.dats" ATS_GC_MARKROOT(&_2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__exp_const_1, sizeof(ats_ptr_type)) ; _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__exp_const_1 = statmp90 ; #line 163 "irtree.dats" statmp91 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)statmp91)->tag = 1 ; ats_selptrset_mac(anairiats_sum_2, statmp91, atslab_0, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__exp_const_0) ; #line 163 "irtree.dats" ATS_GC_MARKROOT(&_2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__stm_nop, sizeof(ats_ptr_type)) ; _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__stm_nop = statmp91 ; return ; } /* end of [dynload function] */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [irtree_dats.c] */