+++ /dev/null
-.comp 920 00011101001
-.start __semantic_functions_Start
-.depend "StdReal" "20111221123336"
-.depend "StdChar" "20111221123336"
-.depend "StdBool" "20111221123336"
-.depend "StdClass" "20111221123336"
-.depend "StdList" "20111221123336"
-.depend "StdOverloaded" "20111221123336"
-.depend "StdInt" "20111221123336"
-.depend "semantic_functions" "20140530152128"
-.module m_semantic_functions "semantic_functions" "20140530175504"
-.endinfo
-.implab _cycle_in_spine
-.implab _type_error
-.implab _hnf
-.impdesc _ind
-.implab _indirection _eaind
-.impdesc e_system_dif
-.implab e_system_nif e_system_eaif
-.implab e_system_sif
-.impdesc e_system_dAP
-.implab e_system_nAP e_system_eaAP
-.implab e_system_sAP
-.impdesc _Nil
-.impdesc _Cons
-.impdesc _Conss
-.implab n_Conss ea_Conss
-.impdesc _Consts
-.implab n_Consts ea_Consts
-.impdesc _Conssts
-.implab n_Conssts ea_Conssts
-.impdesc _Tuple
-.impdesc d_S.1
-.implab n_S.1 ea_S.1
-.impdesc d_S.2
-.implab n_S.2 ea_S.2
-.impdesc d_S.3
-.implab n_S.3 ea_S.3
-.impdesc d_S.4
-.implab n_S.4 ea_S.4
-.impdesc d_S.5
-.implab n_S.5 ea_S.5
-.impdesc d_S.6
-.implab n_S.6 ea_S.6
-.implab _driver
-.implab e_StdBool_snot
-.impdesc e_StdList_d++
-.implab e_StdList_s++
-.implab e_StdList_n++ e_StdList_ea++
-.implab e_StdList_slength;47
-.implab e_StdInt_s+;6
-.impdesc e_StdInt_d-;7
-.implab e_StdInt_s-;7
-.implab e_StdInt_n-;7
-.impdesc e_StdInt_d*;9
-.implab e_StdInt_n*;9
-.implab e_StdInt_s==;16
-.implab e_StdInt_s<;17
-.export __semantic_functions_Start
-.o 0 0
-__semantic_functions_Start
- build _ 0 n20
-.d 1 0
- jmp _driver
-.n 0 _ ea20
-.o 1 0
-n20
- push_node _cycle_in_spine 0
-.o 1 0
-ea20
-.o 1 0
-s20
-.d 1 0
- jmp s25
-.o 1 0
-s25
- create
-.d 1 0
- jsr s26
-.o 1 0
- create
- buildI 2
- push_a 2
- update_a 2 3
- update_a 0 2
- pop_a 1
-.d 3 0
- jsr s4
-.o 1 0
- create
- buildI 1
- push_a 2
- update_a 2 3
- update_a 0 2
- pop_a 1
-.d 3 0
- jsr s4
-.o 1 0
- create
- push_a 1
- update_a 1 2
- update_a 0 1
- pop_a 1
-.d 2 0
- jsr s1
-.o 1 0
- create
- push_a 1
- update_a 1 2
- update_a 0 1
- pop_a 1
-.d 2 0
- jsr s10
-.o 1 0
- create
- buildI 3
- push_a 2
- update_a 2 3
- update_a 0 2
- pop_a 1
-.d 3 0
- jsr s4
-.o 1 0
- create
- buildI 1
- push_a 2
- update_a 2 3
- update_a 0 2
- pop_a 1
-.d 3 0
- jsr s4
-.o 1 0
- create
- push_a 1
- update_a 1 2
- update_a 0 1
- pop_a 1
-.d 2 0
- jsr s1
-.o 1 0
- create
- buildI 1
- push_a 2
- update_a 2 3
- update_a 0 2
- pop_a 1
-.d 3 0
- jsr s4
-.o 1 0
- create
- push_a 1
- update_a 1 2
- update_a 0 1
- pop_a 1
-.d 2 0
- jsr s6
-.o 1 0
- create
- push_a 1
- update_a 1 2
- update_a 0 1
- pop_a 1
-.d 2 0
- jsr s11
-.o 1 0
- create
- buildI 1
- push_a 2
- update_a 2 3
- update_a 0 2
- pop_a 1
-.d 3 0
- jsr s4
-.o 1 0
- create
- buildI 1
- push_a 2
- update_a 2 3
- update_a 0 2
- pop_a 1
-.d 3 0
- jsr s4
-.o 1 0
- create
- push_a 1
- update_a 1 2
- update_a 0 1
- pop_a 1
-.d 2 0
- jsr s6
-.o 1 0
- create
- push_a 1
- update_a 1 2
- update_a 0 1
- pop_a 1
-.d 2 0
- jsr s12
-.o 1 0
- create
- push_a 1
- update_a 1 2
- update_a 0 1
- pop_a 1
-.d 2 0
- jsr s11
-.o 1 0
-.d 2 0
- jmp s3
-.o 1 0
-s26
- create
-.d 1 0
- jsr s27
-.o 1 0
- create
- push_a 1
- update_a 1 2
- update_a 0 1
- pop_a 1
-.d 2 0
- jsr s10
-.o 1 0
- create
- buildI 3
- push_a 2
- update_a 2 3
- update_a 0 2
- pop_a 1
-.d 3 0
- jsr s4
-.o 1 0
- create
- buildI 2
- push_a 2
- update_a 2 3
- update_a 0 2
- pop_a 1
-.d 3 0
- jsr s4
-.o 1 0
- create
- push_a 1
- update_a 1 2
- update_a 0 1
- pop_a 1
-.d 2 0
- jsr s1
-.o 1 0
- create
- push_a 1
- update_a 1 2
- update_a 0 1
- pop_a 1
-.d 2 0
- jsr s10
-.o 1 0
- create
- buildI 4
- push_a 2
- update_a 2 3
- update_a 0 2
- pop_a 1
-.d 3 0
- jsr s4
-.o 1 0
- create
- buildI 1
- push_a 2
- update_a 2 3
- update_a 0 2
- pop_a 1
-.d 3 0
- jsr s4
-.o 1 0
- create
- push_a 1
- update_a 1 2
- update_a 0 1
- pop_a 1
-.d 2 0
- jsr s1
-.o 1 0
- create
- push_a 1
- update_a 1 2
- update_a 0 1
- pop_a 1
-.d 2 0
- jsr s7
-.o 1 0
- create
- buildI 2
- push_a 2
- update_a 2 3
- update_a 0 2
- pop_a 1
-.d 3 0
- jsr s4
-.o 1 0
- create
- buildI 1
- push_a 2
- update_a 2 3
- update_a 0 2
- pop_a 1
-.d 3 0
- jsr s4
-.o 1 0
- create
- push_a 1
- update_a 1 2
- update_a 0 1
- pop_a 1
-.d 2 0
- jsr s1
-.o 1 0
- create
- push_a 1
- update_a 1 2
- update_a 0 1
- pop_a 1
-.d 2 0
- jsr s3
-.o 1 0
- create
- buildI 2
- push_a 2
- update_a 2 3
- update_a 0 2
- pop_a 1
-.d 3 0
- jsr s4
-.o 1 0
- create
- buildI 1
- push_a 2
- update_a 2 3
- update_a 0 2
- pop_a 1
-.d 3 0
- jsr s4
-.o 1 0
- create
- push_a 1
- update_a 1 2
- update_a 0 1
- pop_a 1
-.d 2 0
- jsr s1
-.o 1 0
- create
- push_a 1
- update_a 1 2
- update_a 0 1
- pop_a 1
-.d 2 0
- jsr s10
-.o 1 0
- create
- buildI 3
- push_a 2
- update_a 2 3
- update_a 0 2
- pop_a 1
-.d 3 0
- jsr s4
-.o 1 0
- create
- buildI 1
- push_a 2
- update_a 2 3
- update_a 0 2
- pop_a 1
-.d 3 0
- jsr s4
-.o 1 0
- create
- push_a 1
- update_a 1 2
- update_a 0 1
- pop_a 1
-.d 2 0
- jsr s1
-.o 1 0
- create
- buildI 1
- push_a 2
- update_a 2 3
- update_a 0 2
- pop_a 1
-.d 3 0
- jsr s4
-.o 1 0
- create
- push_a 1
- update_a 1 2
- update_a 0 1
- pop_a 1
-.d 2 0
- jsr s6
-.o 1 0
- create
- buildI 3
- push_a 2
- update_a 2 3
- update_a 0 2
- pop_a 1
-.d 3 0
- jsr s4
-.o 1 0
- create
- buildI 2
- push_a 2
- update_a 2 3
- update_a 0 2
- pop_a 1
-.d 3 0
- jsr s4
-.o 1 0
- create
- push_a 1
- update_a 1 2
- update_a 0 1
- pop_a 1
-.d 2 0
- jsr s1
-.o 1 0
- create
- push_a 1
- update_a 1 2
- update_a 0 1
- pop_a 1
-.d 2 0
- jsr s3
-.o 1 0
- create
- buildI 2
- push_a 2
- update_a 2 3
- update_a 0 2
- pop_a 1
-.d 3 0
- jsr s4
-.o 1 0
- create
- buildI 1
- push_a 2
- update_a 2 3
- update_a 0 2
- pop_a 1
-.d 3 0
- jsr s4
-.o 1 0
-.d 2 0
- jmp s1
-.o 1 0
-s27
- create
-.d 1 0
- jsr s28
-.o 1 0
- create
- buildI 2
- push_a 2
- update_a 2 3
- update_a 0 2
- pop_a 1
-.d 3 0
- jsr s4
-.o 1 0
- create
- buildI 1
- push_a 2
- update_a 2 3
- update_a 0 2
- pop_a 1
-.d 3 0
- jsr s4
-.o 1 0
- create
- push_a 1
- update_a 1 2
- update_a 0 1
- pop_a 1
-.d 2 0
- jsr s1
-.o 1 0
- create
- push_a 1
- update_a 1 2
- update_a 0 1
- pop_a 1
-.d 2 0
- jsr s10
-.o 1 0
- create
- buildI 3
- push_a 2
- update_a 2 3
- update_a 0 2
- pop_a 1
-.d 3 0
- jsr s4
-.o 1 0
- create
- buildI 1
- push_a 2
- update_a 2 3
- update_a 0 2
- pop_a 1
-.d 3 0
- jsr s4
-.o 1 0
- create
- push_a 1
- update_a 1 2
- update_a 0 1
- pop_a 1
-.d 2 0
- jsr s1
-.o 1 0
- create
- buildI 1
- push_a 2
- update_a 2 3
- update_a 0 2
- pop_a 1
-.d 3 0
- jsr s4
-.o 1 0
- create
- push_a 1
- update_a 1 2
- update_a 0 1
- pop_a 1
-.d 2 0
- jsr s6
-.o 1 0
- create
- push_a 1
- update_a 1 2
- update_a 0 1
- pop_a 1
-.d 2 0
- jsr s11
-.o 1 0
- create
- buildI 1
- push_a 2
- update_a 2 3
- update_a 0 2
- pop_a 1
-.d 3 0
- jsr s4
-.o 1 0
- create
- buildI 1
- push_a 2
- update_a 2 3
- update_a 0 2
- pop_a 1
-.d 3 0
- jsr s4
-.o 1 0
- create
- push_a 1
- update_a 1 2
- update_a 0 1
- pop_a 1
-.d 2 0
- jsr s6
-.o 1 0
- create
- push_a 1
- update_a 1 2
- update_a 0 1
- pop_a 1
-.d 2 0
- jsr s12
-.o 1 0
- create
- push_a 1
- update_a 1 2
- update_a 0 1
- pop_a 1
-.d 2 0
- jsr s11
-.o 1 0
-.d 2 0
- jmp s3
-.o 1 0
-s28
- create
-.d 1 0
- jsr s29
-.o 1 0
- create
- push_a 1
- update_a 1 2
- update_a 0 1
- pop_a 1
-.d 2 0
- jsr s10
-.o 1 0
- create
- buildI 3
- push_a 2
- update_a 2 3
- update_a 0 2
- pop_a 1
-.d 3 0
- jsr s4
-.o 1 0
- create
- buildI 2
- push_a 2
- update_a 2 3
- update_a 0 2
- pop_a 1
-.d 3 0
- jsr s4
-.o 1 0
- create
- push_a 1
- update_a 1 2
- update_a 0 1
- pop_a 1
-.d 2 0
- jsr s1
-.o 1 0
- create
- push_a 1
- update_a 1 2
- update_a 0 1
- pop_a 1
-.d 2 0
- jsr s10
-.o 1 0
- create
- buildI 4
- push_a 2
- update_a 2 3
- update_a 0 2
- pop_a 1
-.d 3 0
- jsr s4
-.o 1 0
- create
- buildI 1
- push_a 2
- update_a 2 3
- update_a 0 2
- pop_a 1
-.d 3 0
- jsr s4
-.o 1 0
- create
- push_a 1
- update_a 1 2
- update_a 0 1
- pop_a 1
-.d 2 0
- jsr s1
-.o 1 0
- create
- push_a 1
- update_a 1 2
- update_a 0 1
- pop_a 1
-.d 2 0
- jsr s7
-.o 1 0
- create
- buildI 2
- push_a 2
- update_a 2 3
- update_a 0 2
- pop_a 1
-.d 3 0
- jsr s4
-.o 1 0
- create
- buildI 1
- push_a 2
- update_a 2 3
- update_a 0 2
- pop_a 1
-.d 3 0
- jsr s4
-.o 1 0
- create
- push_a 1
- update_a 1 2
- update_a 0 1
- pop_a 1
-.d 2 0
- jsr s1
-.o 1 0
- create
- push_a 1
- update_a 1 2
- update_a 0 1
- pop_a 1
-.d 2 0
- jsr s3
-.o 1 0
- create
- buildI 2
- push_a 2
- update_a 2 3
- update_a 0 2
- pop_a 1
-.d 3 0
- jsr s4
-.o 1 0
- create
- buildI 1
- push_a 2
- update_a 2 3
- update_a 0 2
- pop_a 1
-.d 3 0
- jsr s4
-.o 1 0
- create
- push_a 1
- update_a 1 2
- update_a 0 1
- pop_a 1
-.d 2 0
- jsr s1
-.o 1 0
- create
- push_a 1
- update_a 1 2
- update_a 0 1
- pop_a 1
-.d 2 0
- jsr s10
-.o 1 0
- create
- buildI 3
- push_a 2
- update_a 2 3
- update_a 0 2
- pop_a 1
-.d 3 0
- jsr s4
-.o 1 0
- create
- buildI 1
- push_a 2
- update_a 2 3
- update_a 0 2
- pop_a 1
-.d 3 0
- jsr s4
-.o 1 0
- create
- push_a 1
- update_a 1 2
- update_a 0 1
- pop_a 1
-.d 2 0
- jsr s1
-.o 1 0
- create
- buildI 1
- push_a 2
- update_a 2 3
- update_a 0 2
- pop_a 1
-.d 3 0
- jsr s4
-.o 1 0
- create
- push_a 1
- update_a 1 2
- update_a 0 1
- pop_a 1
-.d 2 0
- jsr s6
-.o 1 0
- create
- buildI 3
- push_a 2
- update_a 2 3
- update_a 0 2
- pop_a 1
-.d 3 0
- jsr s4
-.o 1 0
- create
- buildI 2
- push_a 2
- update_a 2 3
- update_a 0 2
- pop_a 1
-.d 3 0
- jsr s4
-.o 1 0
- create
- push_a 1
- update_a 1 2
- update_a 0 1
- pop_a 1
-.d 2 0
- jsr s1
-.o 1 0
- create
- push_a 1
- update_a 1 2
- update_a 0 1
- pop_a 1
-.d 2 0
- jsr s3
-.o 1 0
- create
- buildI 2
- push_a 2
- update_a 2 3
- update_a 0 2
- pop_a 1
-.d 3 0
- jsr s4
-.o 1 0
- create
- buildI 1
- push_a 2
- update_a 2 3
- update_a 0 2
- pop_a 1
-.d 3 0
- jsr s4
-.o 1 0
-.d 2 0
- jmp s1
-.o 1 0
-s29
- create
-.d 1 0
- jsr s30
-.o 1 0
- create
- buildI 2
- push_a 2
- update_a 2 3
- update_a 0 2
- pop_a 1
-.d 3 0
- jsr s4
-.o 1 0
- create
- buildI 1
- push_a 2
- update_a 2 3
- update_a 0 2
- pop_a 1
-.d 3 0
- jsr s4
-.o 1 0
- create
- push_a 1
- update_a 1 2
- update_a 0 1
- pop_a 1
-.d 2 0
- jsr s1
-.o 1 0
- create
- push_a 1
- update_a 1 2
- update_a 0 1
- pop_a 1
-.d 2 0
- jsr s10
-.o 1 0
- create
- buildI 3
- push_a 2
- update_a 2 3
- update_a 0 2
- pop_a 1
-.d 3 0
- jsr s4
-.o 1 0
- create
- buildI 1
- push_a 2
- update_a 2 3
- update_a 0 2
- pop_a 1
-.d 3 0
- jsr s4
-.o 1 0
- create
- push_a 1
- update_a 1 2
- update_a 0 1
- pop_a 1
-.d 2 0
- jsr s1
-.o 1 0
- create
- buildI 1
- push_a 2
- update_a 2 3
- update_a 0 2
- pop_a 1
-.d 3 0
- jsr s4
-.o 1 0
- create
- push_a 1
- update_a 1 2
- update_a 0 1
- pop_a 1
-.d 2 0
- jsr s6
-.o 1 0
- create
- push_a 1
- update_a 1 2
- update_a 0 1
- pop_a 1
-.d 2 0
- jsr s11
-.o 1 0
- create
- buildI 1
- push_a 2
- update_a 2 3
- update_a 0 2
- pop_a 1
-.d 3 0
- jsr s4
-.o 1 0
- create
- buildI 1
- push_a 2
- update_a 2 3
- update_a 0 2
- pop_a 1
-.d 3 0
- jsr s4
-.o 1 0
- create
- push_a 1
- update_a 1 2
- update_a 0 1
- pop_a 1
-.d 2 0
- jsr s6
-.o 1 0
- create
- push_a 1
- update_a 1 2
- update_a 0 1
- pop_a 1
-.d 2 0
- jsr s12
-.o 1 0
- create
- push_a 1
- update_a 1 2
- update_a 0 1
- pop_a 1
-.d 2 0
- jsr s11
-.o 1 0
-.d 2 0
- jmp s3
-.o 1 0
-s30
- create
-.d 1 0
- jsr s31
-.o 1 0
- create
- push_a 1
- update_a 1 2
- update_a 0 1
- pop_a 1
-.d 2 0
- jsr s10
-.o 1 0
- create
- buildI 3
- push_a 2
- update_a 2 3
- update_a 0 2
- pop_a 1
-.d 3 0
- jsr s4
-.o 1 0
- create
- buildI 2
- push_a 2
- update_a 2 3
- update_a 0 2
- pop_a 1
-.d 3 0
- jsr s4
-.o 1 0
- create
- push_a 1
- update_a 1 2
- update_a 0 1
- pop_a 1
-.d 2 0
- jsr s1
-.o 1 0
- create
- push_a 1
- update_a 1 2
- update_a 0 1
- pop_a 1
-.d 2 0
- jsr s10
-.o 1 0
- create
- buildI 4
- push_a 2
- update_a 2 3
- update_a 0 2
- pop_a 1
-.d 3 0
- jsr s4
-.o 1 0
- create
- buildI 1
- push_a 2
- update_a 2 3
- update_a 0 2
- pop_a 1
-.d 3 0
- jsr s4
-.o 1 0
- create
- push_a 1
- update_a 1 2
- update_a 0 1
- pop_a 1
-.d 2 0
- jsr s1
-.o 1 0
- create
- push_a 1
- update_a 1 2
- update_a 0 1
- pop_a 1
-.d 2 0
- jsr s7
-.o 1 0
- create
- buildI 2
- push_a 2
- update_a 2 3
- update_a 0 2
- pop_a 1
-.d 3 0
- jsr s4
-.o 1 0
- create
- buildI 1
- push_a 2
- update_a 2 3
- update_a 0 2
- pop_a 1
-.d 3 0
- jsr s4
-.o 1 0
- create
- push_a 1
- update_a 1 2
- update_a 0 1
- pop_a 1
-.d 2 0
- jsr s1
-.o 1 0
- create
- push_a 1
- update_a 1 2
- update_a 0 1
- pop_a 1
-.d 2 0
- jsr s3
-.o 1 0
- create
- buildI 2
- push_a 2
- update_a 2 3
- update_a 0 2
- pop_a 1
-.d 3 0
- jsr s4
-.o 1 0
- create
- buildI 1
- push_a 2
- update_a 2 3
- update_a 0 2
- pop_a 1
-.d 3 0
- jsr s4
-.o 1 0
- create
- push_a 1
- update_a 1 2
- update_a 0 1
- pop_a 1
-.d 2 0
- jsr s1
-.o 1 0
- create
- push_a 1
- update_a 1 2
- update_a 0 1
- pop_a 1
-.d 2 0
- jsr s10
-.o 1 0
- create
- buildI 3
- push_a 2
- update_a 2 3
- update_a 0 2
- pop_a 1
-.d 3 0
- jsr s4
-.o 1 0
- create
- buildI 1
- push_a 2
- update_a 2 3
- update_a 0 2
- pop_a 1
-.d 3 0
- jsr s4
-.o 1 0
- create
- push_a 1
- update_a 1 2
- update_a 0 1
- pop_a 1
-.d 2 0
- jsr s1
-.o 1 0
- create
- buildI 1
- push_a 2
- update_a 2 3
- update_a 0 2
- pop_a 1
-.d 3 0
- jsr s4
-.o 1 0
- create
- push_a 1
- update_a 1 2
- update_a 0 1
- pop_a 1
-.d 2 0
- jsr s6
-.o 1 0
- create
- buildI 3
- push_a 2
- update_a 2 3
- update_a 0 2
- pop_a 1
-.d 3 0
- jsr s4
-.o 1 0
- create
- buildI 2
- push_a 2
- update_a 2 3
- update_a 0 2
- pop_a 1
-.d 3 0
- jsr s4
-.o 1 0
- create
- push_a 1
- update_a 1 2
- update_a 0 1
- pop_a 1
-.d 2 0
- jsr s1
-.o 1 0
- create
- push_a 1
- update_a 1 2
- update_a 0 1
- pop_a 1
-.d 2 0
- jsr s3
-.o 1 0
- create
- buildI 2
- push_a 2
- update_a 2 3
- update_a 0 2
- pop_a 1
-.d 3 0
- jsr s4
-.o 1 0
- create
- buildI 1
- push_a 2
- update_a 2 3
- update_a 0 2
- pop_a 1
-.d 3 0
- jsr s4
-.o 1 0
-.d 2 0
- jmp s1
-.o 1 0
-s31
- create
-.d 1 0
- jsr s32
-.o 1 0
- create
- buildI 2
- push_a 2
- update_a 2 3
- update_a 0 2
- pop_a 1
-.d 3 0
- jsr s4
-.o 1 0
- create
- buildI 1
- push_a 2
- update_a 2 3
- update_a 0 2
- pop_a 1
-.d 3 0
- jsr s4
-.o 1 0
- create
- push_a 1
- update_a 1 2
- update_a 0 1
- pop_a 1
-.d 2 0
- jsr s1
-.o 1 0
- create
- push_a 1
- update_a 1 2
- update_a 0 1
- pop_a 1
-.d 2 0
- jsr s10
-.o 1 0
- create
- buildI 3
- push_a 2
- update_a 2 3
- update_a 0 2
- pop_a 1
-.d 3 0
- jsr s4
-.o 1 0
- create
- buildI 1
- push_a 2
- update_a 2 3
- update_a 0 2
- pop_a 1
-.d 3 0
- jsr s4
-.o 1 0
- create
- push_a 1
- update_a 1 2
- update_a 0 1
- pop_a 1
-.d 2 0
- jsr s1
-.o 1 0
- create
- buildI 1
- push_a 2
- update_a 2 3
- update_a 0 2
- pop_a 1
-.d 3 0
- jsr s4
-.o 1 0
- create
- push_a 1
- update_a 1 2
- update_a 0 1
- pop_a 1
-.d 2 0
- jsr s6
-.o 1 0
- create
- push_a 1
- update_a 1 2
- update_a 0 1
- pop_a 1
-.d 2 0
- jsr s11
-.o 1 0
- create
- buildI 1
- push_a 2
- update_a 2 3
- update_a 0 2
- pop_a 1
-.d 3 0
- jsr s4
-.o 1 0
- create
- buildI 1
- push_a 2
- update_a 2 3
- update_a 0 2
- pop_a 1
-.d 3 0
- jsr s4
-.o 1 0
- create
- push_a 1
- update_a 1 2
- update_a 0 1
- pop_a 1
-.d 2 0
- jsr s6
-.o 1 0
- create
- push_a 1
- update_a 1 2
- update_a 0 1
- pop_a 1
-.d 2 0
- jsr s12
-.o 1 0
- create
- push_a 1
- update_a 1 2
- update_a 0 1
- pop_a 1
-.d 2 0
- jsr s11
-.o 1 0
-.d 2 0
- jmp s3
-.o 1 0
-s32
- buildh _Nil 0
- buildI 5
- buildh _Cons 2
- buildI 1
- buildh _Cons 2
- create
- push_a 1
- update_a 1 2
- update_a 0 1
- pop_a 1
-.d 2 0
- jsr s10
-.o 1 0
- create
- buildI 3
- push_a 2
- update_a 2 3
- update_a 0 2
- pop_a 1
-.d 3 0
- jsr s4
-.o 1 0
- create
- buildI 2
- push_a 2
- update_a 2 3
- update_a 0 2
- pop_a 1
-.d 3 0
- jsr s4
-.o 1 0
- create
- push_a 1
- update_a 1 2
- update_a 0 1
- pop_a 1
-.d 2 0
- jsr s1
-.o 1 0
- create
- push_a 1
- update_a 1 2
- update_a 0 1
- pop_a 1
-.d 2 0
- jsr s10
-.o 1 0
- create
- buildI 4
- push_a 2
- update_a 2 3
- update_a 0 2
- pop_a 1
-.d 3 0
- jsr s4
-.o 1 0
- create
- buildI 1
- push_a 2
- update_a 2 3
- update_a 0 2
- pop_a 1
-.d 3 0
- jsr s4
-.o 1 0
- create
- push_a 1
- update_a 1 2
- update_a 0 1
- pop_a 1
-.d 2 0
- jsr s1
-.o 1 0
- create
- push_a 1
- update_a 1 2
- update_a 0 1
- pop_a 1
-.d 2 0
- jsr s7
-.o 1 0
- create
- buildI 2
- push_a 2
- update_a 2 3
- update_a 0 2
- pop_a 1
-.d 3 0
- jsr s4
-.o 1 0
- create
- buildI 1
- push_a 2
- update_a 2 3
- update_a 0 2
- pop_a 1
-.d 3 0
- jsr s4
-.o 1 0
- create
- push_a 1
- update_a 1 2
- update_a 0 1
- pop_a 1
-.d 2 0
- jsr s1
-.o 1 0
- create
- push_a 1
- update_a 1 2
- update_a 0 1
- pop_a 1
-.d 2 0
- jsr s3
-.o 1 0
- create
- buildI 2
- push_a 2
- update_a 2 3
- update_a 0 2
- pop_a 1
-.d 3 0
- jsr s4
-.o 1 0
- create
- buildI 1
- push_a 2
- update_a 2 3
- update_a 0 2
- pop_a 1
-.d 3 0
- jsr s4
-.o 1 0
- create
- push_a 1
- update_a 1 2
- update_a 0 1
- pop_a 1
-.d 2 0
- jsr s1
-.o 1 0
- create
- push_a 1
- update_a 1 2
- update_a 0 1
- pop_a 1
-.d 2 0
- jsr s10
-.o 1 0
- create
- buildI 3
- push_a 2
- update_a 2 3
- update_a 0 2
- pop_a 1
-.d 3 0
- jsr s4
-.o 1 0
- create
- buildI 1
- push_a 2
- update_a 2 3
- update_a 0 2
- pop_a 1
-.d 3 0
- jsr s4
-.o 1 0
- create
- push_a 1
- update_a 1 2
- update_a 0 1
- pop_a 1
-.d 2 0
- jsr s1
-.o 1 0
- create
- buildI 1
- push_a 2
- update_a 2 3
- update_a 0 2
- pop_a 1
-.d 3 0
- jsr s4
-.o 1 0
- create
- push_a 1
- update_a 1 2
- update_a 0 1
- pop_a 1
-.d 2 0
- jsr s6
-.o 1 0
- create
- buildI 3
- push_a 2
- update_a 2 3
- update_a 0 2
- pop_a 1
-.d 3 0
- jsr s4
-.o 1 0
- create
- buildI 2
- push_a 2
- update_a 2 3
- update_a 0 2
- pop_a 1
-.d 3 0
- jsr s4
-.o 1 0
- create
- push_a 1
- update_a 1 2
- update_a 0 1
- pop_a 1
-.d 2 0
- jsr s1
-.o 1 0
- create
- push_a 1
- update_a 1 2
- update_a 0 1
- pop_a 1
-.d 2 0
- jsr s3
-.o 1 0
- create
- buildI 2
- push_a 2
- update_a 2 3
- update_a 0 2
- pop_a 1
-.d 3 0
- jsr s4
-.o 1 0
- create
- buildI 1
- push_a 2
- update_a 2 3
- update_a 0 2
- pop_a 1
-.d 3 0
- jsr s4
-.o 1 0
-.d 2 0
- jmp s1
-.o 2 0
-s12
- eq_desc _Nil 0 0
- jmp_true case.1
- jmp case.2
-case.1
- fillh _Nil 0 1
- pop_a 1
-.d 1 0
- rtn
-case.2
- repl_args 2 2
- jsr_eval 1
- eq_desc _Nil 0 1
- jmp_true case.3
- jmp case.4
-case.3
- buildh _Nil 0
- push_a 1
- fillh _Cons 2 4
- pop_a 2
-.d 1 0
- rtn
-case.4
- push_args 1 2 2
- buildh _Nil 0
- update_a 0 4
- pop_a 1
- push_a 0
- jsr_eval 0
- pushI_a 1
- pop_a 1
- push_a 2
- jsr_eval 0
- pushI_a 3
- pop_a 1
- ltI
- notB
- jmp_false else.5
- push_a 1
- buildI 0
- fillh _Cons 2 6
- pop_a 4
-.d 1 0
- rtn
-else.5
- push_a 1
- buildI 1
- fillh _Cons 2 6
- pop_a 4
-.d 1 0
- rtn
-.o 2 0
-s11
- eq_desc _Nil 0 0
- jmp_true case.6
- jmp case.7
-case.6
- fillh _Nil 0 1
- pop_a 1
-.d 1 0
- rtn
-case.7
- repl_args 2 2
- jsr_eval 0
- eqI_a 0 0
- jmp_true case.8
- jmp case.9
-case.8
- push_a 1
- buildI 1
- fillh _Cons 2 4
- pop_a 2
-.d 1 0
- rtn
-case.9
- push_a 1
- buildI 0
- fillh _Cons 2 4
- pop_a 2
-.d 1 0
- rtn
-.o 2 0
-s10
- eq_desc _Nil 0 0
- jmp_true case.10
- jmp case.11
-case.10
- fillh _Nil 0 1
- pop_a 1
-.d 1 0
- rtn
-case.11
- repl_args 2 2
- push_a 1
- push_a 1
- buildh _Cons 2
- push_a 1
- fillh _Cons 2 4
- pop_a 2
-.d 1 0
- rtn
-.o 2 0
-s7
- eq_desc _Nil 0 0
- jmp_true case.12
- jmp case.13
-case.12
- fillh _Nil 0 1
- pop_a 1
-.d 1 0
- rtn
-case.13
- repl_args 2 2
- jsr_eval 1
- eq_desc _Nil 0 1
- jmp_true case.14
- jmp case.15
-case.14
- buildh _Nil 0
- push_a 1
- fillh _Cons 2 4
- pop_a 2
-.d 1 0
- rtn
-case.15
- push_args 1 2 2
- buildh _Nil 0
- update_a 0 4
- pop_a 1
- push_a 2
- push_a 1
- build _ 2 e_StdInt_n*;9
- push_a 2
- push_a 1
- update_a 1 2
- update_a 0 1
- pop_a 1
- fillh _Cons 2 6
- pop_a 4
-.d 1 0
- rtn
-.o 2 0
-s6
- eq_desc _Nil 0 0
- jmp_true case.16
- jmp case.17
-case.16
- fillh _Nil 0 1
- pop_a 1
-.d 1 0
- rtn
-case.17
- repl_args 2 2
- jsr_eval 1
- eq_desc _Nil 0 1
- jmp_true case.18
- jmp case.19
-case.18
- buildh _Nil 0
- push_a 1
- fillh _Cons 2 4
- pop_a 2
-.d 1 0
- rtn
-case.19
- push_args 1 2 2
- buildh _Nil 0
- update_a 0 4
- pop_a 1
- push_a 2
- push_a 1
- build _ 2 e_StdInt_n-;7
- push_a 2
- push_a 1
- update_a 1 2
- update_a 0 1
- pop_a 1
- fillh _Cons 2 6
- pop_a 4
-.d 1 0
- rtn
-.o 3 0
-s4
- eq_desc _Nil 0 1
- jmp_true case.20
- jmp case.21
-case.20
- buildh _Nil 0
- push_a 1
- fillh _Cons 2 4
- pop_a 2
-.d 1 0
- rtn
-case.21
- buildh _Nil 0
- push_a 1
- buildh _Cons 2
- push_a 2
- push_a 1
- update_a 1 2
- update_a 0 1
- pop_a 1
- update_a 1 3
- updatepop_a 0 2
-.d 3 0
- jmp e_StdList_s++
-.o 2 0
-s3
- eq_desc _Nil 0 0
- jmp_true case.22
- jmp case.23
-case.22
- fillh _Nil 0 1
- pop_a 1
-.d 1 0
- rtn
-case.23
- repl_args 2 2
- pop_a 1
- jmp_eval_upd
-.export e_semantic_functions_sroll
-.export e_semantic_functions_earoll
-.descexp e_semantic_functions_droll e_semantic_functions_nroll e_semantic_functions_lroll 1 0 "roll"
-.o 2 0
-e_semantic_functions_lroll
- update_a 1 0
- create
- update_a 0 2
- pop_a 1
-.d 2 0
- jmp e_semantic_functions_earoll
-.n 1 e_semantic_functions_droll e_semantic_functions_earoll
-.o 1 0
-e_semantic_functions_nroll
- push_node _cycle_in_spine 1
-.o 2 0
-e_semantic_functions_sroll
-.o 2 0
-e_semantic_functions_earoll
- jsr_eval 0
-.o 2 0
-s1
- eq_desc _Nil 0 0
- jmp_true case.24
- jmp case.25
-case.24
- fillh _Nil 0 1
- pop_a 1
-.d 1 0
- rtn
-case.25
- repl_args 2 2
- jsr_eval 1
- eq_desc _Nil 0 1
- jmp_true case.26
- jmp case.27
-case.26
- buildh _Nil 0
- push_a 1
- fillh _Cons 2 4
- pop_a 2
-.d 1 0
- rtn
-case.27
- push_args 1 2 2
- buildh _Nil 0
- update_a 0 4
- pop_a 1
- push_a 0
- jsr_eval 0
- pushI_a 1
- pop_a 1
- push_a 2
- jsr_eval 0
- pushI_a 3
- pop_a 1
-.d 0 2 ii
- jsr s15
-.o 0 1 i
- pushI 0
- push_b 1
- update_b 1 2
- update_b 0 1
- pop_b 1
- eqI
- jmp_false else.28
- updatepop_a 1 3
- jmp_eval_upd
-else.28
- pushI_a 0
- pushI 0
- ltI
- notB
- jmp_false else.29
- updatepop_a 1 3
- jmp_eval_upd
-else.29
- push_a 1
- jsr_eval 0
-.d 1 0
- jsr e_StdList_slength;47
-.o 0 1 i
- pushI_a 0
- push_b 1
- update_b 1 2
- update_b 0 1
- pop_b 1
- ltI
- jmp_false else.30
- fill_a 1 4
- pop_a 4
-.d 1 0
- rtn
-else.30
- pushI 1
- pushI_a 2
- eqI
- jmp_false else.31
- push_a 1
- push_a 1
- buildh _Cons 2
- updatepop_a 0 4
-.d 2 0
- jmp s2
-else.31
- pushI_a 2
- pushI 0
- ltI
- jmp_false else.32
- push_a 1
- push_a 1
- buildh _Cons 2
- build e_semantic_functions_droll1 1 e_semantic_functions_nroll1
- buildh _Nil 0
- push_a 2
- buildh _Cons 2
- build e_StdList_d++ 2 e_StdList_n++
- buildh _Nil 0
- buildI 1
- push_a 5
- build _ 2 e_StdInt_n-;7
- buildh _Cons 2
- create
- push_a 2
- update_a 1 3
- update_a 2 1
- update_a 0 2
- pop_a 1
- update_a 2 6
- update_a 1 5
- updatepop_a 0 4
-.d 3 0
- jsr e_StdList_s++
-.o 1 0
-.d 2 0
- jmp s1
-else.32
- pushI 0
- pushI_a 2
- ltI
- jmp_false else.33
- push_a 1
- push_a 1
- buildh _Cons 2
- buildh _Nil 0
- push_a 2
- push_a 5
- build _ 2 n15
- buildh _Cons 2
- create
- push_a 2
- update_a 1 3
- update_a 2 1
- update_a 0 2
- pop_a 1
- update_a 2 6
- update_a 1 5
- updatepop_a 0 4
-.d 3 0
- jsr e_StdList_s++
-.o 1 0
-.d 2 0
- jmp s1
-else.33
- pop_a 3
- jmp s1.1
-s1.1
- pop_a 2
- pushD m_semantic_functions
- pushD e_semantic_functions_droll
-.d 0 2 ii
- jmp _match_error
-.export e_semantic_functions_sroll1
-.export e_semantic_functions_earoll1
-.descexp e_semantic_functions_droll1 e_semantic_functions_nroll1 e_semantic_functions_lroll1 1 0 "roll1"
-.o 2 0
-e_semantic_functions_lroll1
- update_a 1 0
- create
- update_a 0 2
- pop_a 1
-.d 2 0
- jmp e_semantic_functions_earoll1
-.n 1 e_semantic_functions_droll1 e_semantic_functions_earoll1
-.o 1 0
-e_semantic_functions_nroll1
- push_node _cycle_in_spine 1
-.o 2 0
-e_semantic_functions_sroll1
-.o 2 0
-e_semantic_functions_earoll1
- jsr_eval 0
-.o 2 0
-s2
- eq_desc _Cons 2 0
- jmp_true case.34
- jmp s2.1
-case.34
- repl_args 2 2
- jsr_eval 0
- eqI_a 1 0
- jmp_true case.35
- jmp case.36
-case.35
- pop_a 1
- jmp_eval_upd
-case.36
- jsr_eval 1
- eq_desc _Cons 2 1
- jmp_true case.37
- pop_a 1
- jmp s2.1
-case.37
- push_args 1 2 2
- buildh _Nil 0
- update_a 0 4
- pop_a 1
- jsr_eval 1
- eq_desc _Cons 2 1
- jmp_true case.38
- pop_a 3
- jmp s2.1
-case.38
- push_args 1 2 2
- buildh _Nil 0
- update_a 0 4
- pop_a 1
- push_a 1
- push_a 3
- buildh _Cons 2
- buildI 1
- push_a 6
- build _ 2 e_StdInt_n-;7
- buildh _Cons 2
- build e_semantic_functions_droll1 1 e_semantic_functions_nroll1
- buildh _Nil 0
- push_a 2
- buildh _Cons 2
- update_a 1 7
- updatepop_a 0 6
-.d 3 0
- jmp e_StdList_s++
-s2.1
- pop_a 2
- pushD m_semantic_functions
- pushD e_semantic_functions_droll1
-.d 0 2 ii
- jmp _match_error
-.n 2 _
-.o 1 0
-n15
- push_node _cycle_in_spine 2
-.d 2 0
- jsr ea15
-.o 0 1 i
- fillI_b 0 0
- pop_b 1
-.d 1 0
- rtn
-.o 2 0
-ea15
- jsr_eval 1
- jsr_eval 0
- pushI_a 1
- pushI_a 0
- pop_a 2
-.o 0 2 ii
-s15
- pushI 0
- push_b 1
- ltI
- jmp_false else.39
- push_b 1
- push_b 1
- addI
- push_b 2
- push_b 1
- update_b 1 2
- update_b 0 1
- pop_b 1
- update_b 1 3
- updatepop_b 0 2
-.d 0 2 ii
- jmp s15
-else.39
- push_b 1
- push_b 1
- ltI
- jmp_false else.40
- update_b 0 1
- pop_b 1
-.d 0 1 i
- rtn
-else.40
- push_b 1
- push_b 1
- subI
- push_b 2
- push_b 1
- update_b 1 2
- update_b 0 1
- pop_b 1
- update_b 1 3
- updatepop_b 0 2
-.d 0 2 ii
- jmp s15
De ware syntax voor piet is makkelijk te beschrijven in een zeer grote tabel
die gedeeltelijk beschreven is in tabel \ref{tab:sy1}.
\begin{table}[h]
- \caption{Gedeeltelijke ware syntax van \textit{Piet}}
+ \caption{Gedeelte van ware syntax van \textit{Piet}}
\label{tab:sy1}
\begin{tabular}{l|cccccc} %p{1em}|p{1em}p{1em}p{1em}p{1em}p{1em}p{1em}p{1em}}
\textbackslash & {\color{lred}\#} & {\color{lyellow}\#} &
\subsection{Tussentaal}
Om de notatie leesbaar en overzichtelijk te houden beschrijven we de syntax
-niet in de oorspronkelijke kleuren notatie maar gebruiken we een woordelijke
+niet in de oorspronkelijke kleurennotatie maar gebruiken we een textuele
notatie. Dan ziet de grammatica er als volgt uit:\\
-$S ::= S_1 ; S_2\ |\ push \: n\ |\ pop\ |\ add\ |\ subtract\
+$S ::= S_1 ; S_2\ |\ push \ |\ pop\ |\ add\ |\ subtract\
|\ multiply\ |\ divide\ |\mod\ |\\ not\ |\ greater\
|\ pointer\ |\ switch\ |\ duplicate\ |\ roll\ |\
innum\ |\ outnum$\\
-Waarbij $n \in \mathbb{N}_1$.\\
-De commando's in(char) en out(char) worden hier niet behandeld.
-
\subsection{Piet'}
-Omdat sommige simpele expressies in \textit{While} veel regels in beslag nemen
-als deze omgeschreven zouden worden naar een semantisch equivalent programma
-in de bovengenoemde tussentaal hebben we ook nog een tweede syntax: Piet'.
-In Piet' worden de commando's die beschreven worden in de tussentaal aangegeven
-door de eerste 3 letters van het commando, met uitzondering van het commando
-\textit{push}. Voor het ophalen van een variabele zoals staat beschreven in
-subsectie \ref{subsec:unair} gebruiken we ook \textit{get n}. De commando's
-worden gescheiden door komma's inplaats van puntkomma's.
+Omdat sommige simpele expressies in \textit{While} veel regels in beslag nemen
+als deze omgeschreven zouden worden naar een semantisch equivalent programma in
+de bovengenoemde tussentaal hebben we ook nog een tweede syntax: Piet'. In
+Piet' worden de commando's die beschreven worden in de tussentaal aangegeven
+door de eerste drie letters van het commando, met uitzondering van het commando
+\textit{push}. Voor het ophalen van een variabele zoals staat beschreven in
+Paragraaf~\ref{subsec:unair} gebruiken we ook \textit{get n}. De commando's
+worden gescheiden door komma's in plaats van puntkomma's.