lama_byterun/byterun/test046.sm

490 lines
5.7 KiB
Text

IMPORT ("Std")
PUBLIC ("main")
EXTERN ("Llowercase")
EXTERN ("Luppercase")
EXTERN ("LtagHash")
EXTERN ("LflatCompare")
EXTERN ("LcompareTags")
EXTERN ("LkindOf")
EXTERN ("Ltime")
EXTERN ("Lrandom")
EXTERN ("LdisableGC")
EXTERN ("LenableGC")
EXTERN ("Ls__Infix_37")
EXTERN ("Ls__Infix_47")
EXTERN ("Ls__Infix_42")
EXTERN ("Ls__Infix_45")
EXTERN ("Ls__Infix_43")
EXTERN ("Ls__Infix_62")
EXTERN ("Ls__Infix_6261")
EXTERN ("Ls__Infix_60")
EXTERN ("Ls__Infix_6061")
EXTERN ("Ls__Infix_3361")
EXTERN ("Ls__Infix_6161")
EXTERN ("Ls__Infix_3838")
EXTERN ("Ls__Infix_3333")
EXTERN ("Ls__Infix_58")
EXTERN ("Li__Infix_4343")
EXTERN ("Lcompare")
EXTERN ("Lwrite")
EXTERN ("Lread")
EXTERN ("Lfailure")
EXTERN ("Lfexists")
EXTERN ("Lfwrite")
EXTERN ("Lfread")
EXTERN ("Lfclose")
EXTERN ("Lfopen")
EXTERN ("Lfprintf")
EXTERN ("Lprintf")
EXTERN ("LmakeString")
EXTERN ("Lsprintf")
EXTERN ("LregexpMatch")
EXTERN ("Lregexp")
EXTERN ("Lsubstring")
EXTERN ("LmatchSubString")
EXTERN ("Lstringcat")
EXTERN ("LreadLine")
EXTERN ("Ltl")
EXTERN ("Lhd")
EXTERN ("Lsnd")
EXTERN ("Lfst")
EXTERN ("Lhash")
EXTERN ("Lclone")
EXTERN ("Llength")
EXTERN ("Lstring")
EXTERN ("LmakeArray")
EXTERN ("LstringInt")
EXTERN ("global_sysargs")
EXTERN ("Lsystem")
EXTERN ("LgetEnv")
EXTERN ("Lassert")
LABEL ("main")
BEGIN ("main", 2, 4, [], [], [])
SLABEL ("L1")
LINE (3)
CALL ("Lread", 0, false)
LINE (1)
ST (Global ("n"))
DROP
CONST (3)
DUP
SLABEL ("L11")
DROP
DUP
ST (Local (0))
DROP
DROP
SLABEL ("L13")
LINE (6)
LD (Local (0))
CALL ("Lwrite", 1, false)
DROP
SLABEL ("L14")
JMP ("L7")
SLABEL ("L12")
JMP ("L7")
LABEL ("L7")
CONST (3)
DUP
SLABEL ("L20")
DROP
DUP
ST (Local (0))
DROP
DROP
SLABEL ("L22")
LINE (11)
LD (Local (0))
CALL ("Lwrite", 1, false)
DROP
SLABEL ("L23")
SLABEL ("L21")
JMP ("L17")
LABEL ("L17")
CONST (3)
DUP
SLABEL ("L29")
DROP
DUP
ST (Local (0))
DROP
DROP
SLABEL ("L31")
LINE (15)
LD (Local (0))
CALL ("Lwrite", 1, false)
DROP
SLABEL ("L32")
SLABEL ("L30")
JMP ("L26")
LABEL ("L26")
CONST (1)
CONST (2)
CONST (3)
SEXP ("A", 3)
DUP
SLABEL ("L44")
DUP
TAG ("A", 0)
CJMP ("nz", "L42")
LABEL ("L43")
DROP
JMP ("L41")
LABEL ("L42")
DROP
DROP
SLABEL ("L46")
LINE (19)
CONST (1)
CALL ("Lwrite", 1, false)
DROP
SLABEL ("L47")
JMP ("L35")
SLABEL ("L45")
SLABEL ("L52")
LABEL ("L41")
DUP
DUP
TAG ("A", 3)
CJMP ("nz", "L50")
LABEL ("L51")
DROP
JMP ("L36")
LABEL ("L50")
DUP
CONST (0)
ELEM
DROP
DUP
CONST (1)
ELEM
DROP
DUP
CONST (2)
ELEM
DROP
DROP
DUP
ST (Local (0))
DROP
DROP
SLABEL ("L54")
LINE (20)
LD (Local (0))
DUP
SLABEL ("L60")
DUP
TAG ("A", 3)
CJMP ("nz", "L58")
LABEL ("L59")
DROP
JMP ("L56")
LABEL ("L58")
DUP
CONST (0)
ELEM
DROP
DUP
CONST (1)
ELEM
DROP
DUP
CONST (2)
ELEM
DROP
DROP
DUP
CONST (0)
ELEM
ST (Local (3))
DROP
DUP
CONST (1)
ELEM
ST (Local (2))
DROP
DUP
CONST (2)
ELEM
ST (Local (1))
DROP
DROP
SLABEL ("L62")
LINE (21)
LD (Local (3))
CALL ("Lwrite", 1, false)
DROP
LD (Local (2))
CALL ("Lwrite", 1, false)
DROP
LD (Local (1))
CALL ("Lwrite", 1, false)
DROP
SLABEL ("L63")
SLABEL ("L61")
JMP ("L35")
LABEL ("L56")
FAIL ((20, 24), false)
JMP ("L35")
SLABEL ("L55")
SLABEL ("L53")
JMP ("L35")
LABEL ("L36")
FAIL ((18, 5), false)
JMP ("L35")
LABEL ("L35")
CONST (1)
CONST (2)
CONST (3)
CONST (4)
CONST (5)
SEXP ("A", 5)
DUP
SLABEL ("L83")
DUP
TAG ("A", 0)
CJMP ("nz", "L81")
LABEL ("L82")
DROP
JMP ("L80")
LABEL ("L81")
DROP
DROP
SLABEL ("L85")
LINE (26)
CONST (0)
CALL ("Lwrite", 1, false)
DROP
SLABEL ("L86")
JMP ("L72")
SLABEL ("L84")
SLABEL ("L92")
LABEL ("L80")
DUP
DUP
TAG ("A", 1)
CJMP ("nz", "L90")
LABEL ("L91")
DROP
JMP ("L89")
LABEL ("L90")
DUP
CONST (0)
ELEM
DROP
DROP
DROP
SLABEL ("L94")
LINE (27)
CONST (1)
CALL ("Lwrite", 1, false)
DROP
SLABEL ("L95")
JMP ("L72")
SLABEL ("L93")
SLABEL ("L101")
LABEL ("L89")
DUP
DUP
TAG ("A", 2)
CJMP ("nz", "L99")
LABEL ("L100")
DROP
JMP ("L98")
LABEL ("L99")
DUP
CONST (0)
ELEM
DROP
DUP
CONST (1)
ELEM
DROP
DROP
DROP
SLABEL ("L103")
LINE (28)
CONST (2)
CALL ("Lwrite", 1, false)
DROP
SLABEL ("L104")
JMP ("L72")
SLABEL ("L102")
SLABEL ("L110")
LABEL ("L98")
DUP
DUP
TAG ("A", 3)
CJMP ("nz", "L108")
LABEL ("L109")
DROP
JMP ("L107")
LABEL ("L108")
DUP
CONST (0)
ELEM
DROP
DUP
CONST (1)
ELEM
DROP
DUP
CONST (2)
ELEM
DROP
DROP
DROP
SLABEL ("L112")
LINE (29)
CONST (3)
CALL ("Lwrite", 1, false)
DROP
SLABEL ("L113")
JMP ("L72")
SLABEL ("L111")
SLABEL ("L119")
LABEL ("L107")
DUP
DUP
TAG ("A", 4)
CJMP ("nz", "L117")
LABEL ("L118")
DROP
JMP ("L116")
LABEL ("L117")
DUP
CONST (0)
ELEM
DROP
DUP
CONST (1)
ELEM
DROP
DUP
CONST (2)
ELEM
DROP
DUP
CONST (3)
ELEM
DROP
DROP
DROP
SLABEL ("L121")
LINE (30)
CONST (4)
CALL ("Lwrite", 1, false)
DROP
SLABEL ("L122")
JMP ("L72")
SLABEL ("L120")
SLABEL ("L127")
LABEL ("L116")
DUP
DUP
TAG ("A", 5)
CJMP ("nz", "L125")
LABEL ("L126")
DROP
JMP ("L73")
LABEL ("L125")
DUP
CONST (0)
ELEM
DROP
DUP
CONST (1)
ELEM
DROP
DUP
CONST (2)
ELEM
DROP
DUP
CONST (3)
ELEM
DROP
DUP
CONST (4)
ELEM
DROP
DROP
DROP
SLABEL ("L129")
LINE (31)
CONST (5)
CALL ("Lwrite", 1, false)
DROP
SLABEL ("L130")
SLABEL ("L128")
JMP ("L72")
LABEL ("L73")
FAIL ((25, 5), false)
JMP ("L72")
LABEL ("L72")
LINE (32)
CONST (1)
CONST (2)
CONST (3)
CONST (4)
CONST (5)
SEXP ("A", 5)
CALL ("Llength", 1, false)
CALL ("Lwrite", 1, false)
DROP
LINE (34)
CONST (1)
CONST (2)
CONST (3)
CONST (4)
CONST (5)
SEXP ("A", 5)
CONST (0)
ELEM
CALL ("Lwrite", 1, false)
DROP
LINE (36)
CONST (1)
CONST (2)
CONST (3)
CONST (4)
CONST (5)
SEXP ("A", 5)
CONST (1)
ELEM
CALL ("Lwrite", 1, false)
DROP
LINE (37)
CONST (1)
CONST (2)
CONST (3)
CONST (4)
CONST (5)
SEXP ("A", 5)
CONST (2)
ELEM
CALL ("Lwrite", 1, false)
DROP
LINE (38)
CONST (1)
CONST (2)
CONST (3)
CONST (4)
CONST (5)
SEXP ("A", 5)
CONST (3)
ELEM
CALL ("Lwrite", 1, false)
DROP
LINE (39)
CONST (1)
CONST (2)
CONST (3)
CONST (4)
CONST (5)
SEXP ("A", 5)
CONST (4)
ELEM
CALL ("Lwrite", 1, false)
SLABEL ("L2")
END