diff -r 60420a11e344 -r ba35058db273 Attic/sier.prs --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Attic/sier.prs Mon Feb 03 01:10:16 2020 +0000 @@ -0,0 +1,109 @@ +val sier = List( + ArrayDef("mem", 30000), + Assign("ptr", Num(15000)), + AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(8))), + While( + Bop("!=", Ref("mem", Var("ptr")), Num(0)), + List( + Assign("ptr", Aop("+", Var("ptr"), Num(1))), + AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(1))), + Assign("ptr", Aop("+", Var("ptr"), Num(1))), + AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(4))), + Assign("ptr", Aop("-", Var("ptr"), Num(2))), + AssignA("mem", Var("ptr"), Aop("-", Ref("mem", Var("ptr")), Num(1))), + Skip + ) + ), + Assign("ptr", Aop("+", Var("ptr"), Num(1))), + AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(2))), + Assign("ptr", Aop("+", Var("ptr"), Num(2))), + AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(1))), + Assign("ptr", Aop("-", Var("ptr"), Num(1))), + While( + Bop("!=", Ref("mem", Var("ptr")), Num(0)), + List( + AssignA("mem", Var("ptr"), Aop("-", Ref("mem", Var("ptr")), Num(1))), + While( + Bop("!=", Ref("mem", Var("ptr")), Num(0)), + List( + Assign("ptr", Aop("+", Var("ptr"), Num(2))), + AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(1))), + Assign("ptr", Aop("-", Var("ptr"), Num(2))), + AssignA("mem", Var("ptr"), Aop("-", Ref("mem", Var("ptr")), Num(1))), + Skip + ) + ), + AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(1))), + Assign("ptr", Aop("+", Var("ptr"), Num(2))), + Skip + ) + ), + Assign("ptr", Aop("+", Var("ptr"), Num(1))), + AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(1))), + While( + Bop("!=", Ref("mem", Var("ptr")), Num(0)), + List( + AssignA("mem", Var("ptr"), Aop("-", Ref("mem", Var("ptr")), Num(1))), + Assign("ptr", Aop("-", Var("ptr"), Num(3))), + While( + Bop("!=", Ref("mem", Var("ptr")), Num(0)), + List( + AssignA("mem", Var("ptr"), Aop("-", Ref("mem", Var("ptr")), Num(1))), + Assign("ptr", Aop("+", Var("ptr"), Num(1))), + While( + Bop("!=", Ref("mem", Var("ptr")), Num(0)), + List( + AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(1))), + AssignA("mem", Var("ptr"), Num(0)), + AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(1))), + Assign("ptr", Aop("+", Var("ptr"), Num(1))), + AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(2))), + Assign("ptr", Aop("+", Var("ptr"), Num(3))), + AssignA("mem", Var("ptr"), Aop("-", Ref("mem", Var("ptr")), Num(1))), + Assign("ptr", Aop("-", Var("ptr"), Num(2))), + Skip + ) + ), + Assign("ptr", Aop("-", Var("ptr"), Num(1))), + While( + Bop("!=", Ref("mem", Var("ptr")), Num(0)), + List(Assign("ptr", Aop("-", Var("ptr"), Num(1))), Skip) + ), + Assign("ptr", Aop("+", Var("ptr"), Num(2))), + AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(6))), + While( + Bop("!=", Ref("mem", Var("ptr")), Num(0)), + List( + Assign("ptr", Aop("-", Var("ptr"), Num(2))), + AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(5))), + Assign("ptr", Aop("+", Var("ptr"), Num(2))), + AssignA("mem", Var("ptr"), Aop("-", Ref("mem", Var("ptr")), Num(1))), + Skip + ) + ), + AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(1))), + Assign("ptr", Aop("-", Var("ptr"), Num(2))), + AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(2))), + Assign("x", Ref("mem", Var("ptr"))), + Write("x"), + AssignA("mem", Var("ptr"), Num(0)), + Assign("ptr", Aop("-", Var("ptr"), Num(2))), + Skip + ) + ), + Assign("ptr", Aop("+", Var("ptr"), Num(1))), + Assign("x", Ref("mem", Var("ptr"))), + Write("x"), + Assign("ptr", Aop("+", Var("ptr"), Num(1))), + AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(1))), + While( + Bop("!=", Ref("mem", Var("ptr")), Num(0)), + List(Assign("ptr", Aop("+", Var("ptr"), Num(2))), Skip) + ), + Assign("ptr", Aop("+", Var("ptr"), Num(1))), + AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(1))), + Skip + ) + ), + Skip +) \ No newline at end of file