|
1 val sier = List( |
|
2 ArrayDef("mem", 30000), |
|
3 Assign("ptr", Num(15000)), |
|
4 AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(8))), |
|
5 While( |
|
6 Bop("!=", Ref("mem", Var("ptr")), Num(0)), |
|
7 List( |
|
8 Assign("ptr", Aop("+", Var("ptr"), Num(1))), |
|
9 AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(1))), |
|
10 Assign("ptr", Aop("+", Var("ptr"), Num(1))), |
|
11 AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(4))), |
|
12 Assign("ptr", Aop("-", Var("ptr"), Num(2))), |
|
13 AssignA("mem", Var("ptr"), Aop("-", Ref("mem", Var("ptr")), Num(1))), |
|
14 Skip |
|
15 ) |
|
16 ), |
|
17 Assign("ptr", Aop("+", Var("ptr"), Num(1))), |
|
18 AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(2))), |
|
19 Assign("ptr", Aop("+", Var("ptr"), Num(2))), |
|
20 AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(1))), |
|
21 Assign("ptr", Aop("-", Var("ptr"), Num(1))), |
|
22 While( |
|
23 Bop("!=", Ref("mem", Var("ptr")), Num(0)), |
|
24 List( |
|
25 AssignA("mem", Var("ptr"), Aop("-", Ref("mem", Var("ptr")), Num(1))), |
|
26 While( |
|
27 Bop("!=", Ref("mem", Var("ptr")), Num(0)), |
|
28 List( |
|
29 Assign("ptr", Aop("+", Var("ptr"), Num(2))), |
|
30 AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(1))), |
|
31 Assign("ptr", Aop("-", Var("ptr"), Num(2))), |
|
32 AssignA("mem", Var("ptr"), Aop("-", Ref("mem", Var("ptr")), Num(1))), |
|
33 Skip |
|
34 ) |
|
35 ), |
|
36 AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(1))), |
|
37 Assign("ptr", Aop("+", Var("ptr"), Num(2))), |
|
38 Skip |
|
39 ) |
|
40 ), |
|
41 Assign("ptr", Aop("+", Var("ptr"), Num(1))), |
|
42 AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(1))), |
|
43 While( |
|
44 Bop("!=", Ref("mem", Var("ptr")), Num(0)), |
|
45 List( |
|
46 AssignA("mem", Var("ptr"), Aop("-", Ref("mem", Var("ptr")), Num(1))), |
|
47 Assign("ptr", Aop("-", Var("ptr"), Num(3))), |
|
48 While( |
|
49 Bop("!=", Ref("mem", Var("ptr")), Num(0)), |
|
50 List( |
|
51 AssignA("mem", Var("ptr"), Aop("-", Ref("mem", Var("ptr")), Num(1))), |
|
52 Assign("ptr", Aop("+", Var("ptr"), Num(1))), |
|
53 While( |
|
54 Bop("!=", Ref("mem", Var("ptr")), Num(0)), |
|
55 List( |
|
56 AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(1))), |
|
57 AssignA("mem", Var("ptr"), Num(0)), |
|
58 AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(1))), |
|
59 Assign("ptr", Aop("+", Var("ptr"), Num(1))), |
|
60 AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(2))), |
|
61 Assign("ptr", Aop("+", Var("ptr"), Num(3))), |
|
62 AssignA("mem", Var("ptr"), Aop("-", Ref("mem", Var("ptr")), Num(1))), |
|
63 Assign("ptr", Aop("-", Var("ptr"), Num(2))), |
|
64 Skip |
|
65 ) |
|
66 ), |
|
67 Assign("ptr", Aop("-", Var("ptr"), Num(1))), |
|
68 While( |
|
69 Bop("!=", Ref("mem", Var("ptr")), Num(0)), |
|
70 List(Assign("ptr", Aop("-", Var("ptr"), Num(1))), Skip) |
|
71 ), |
|
72 Assign("ptr", Aop("+", Var("ptr"), Num(2))), |
|
73 AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(6))), |
|
74 While( |
|
75 Bop("!=", Ref("mem", Var("ptr")), Num(0)), |
|
76 List( |
|
77 Assign("ptr", Aop("-", Var("ptr"), Num(2))), |
|
78 AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(5))), |
|
79 Assign("ptr", Aop("+", Var("ptr"), Num(2))), |
|
80 AssignA("mem", Var("ptr"), Aop("-", Ref("mem", Var("ptr")), Num(1))), |
|
81 Skip |
|
82 ) |
|
83 ), |
|
84 AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(1))), |
|
85 Assign("ptr", Aop("-", Var("ptr"), Num(2))), |
|
86 AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(2))), |
|
87 Assign("x", Ref("mem", Var("ptr"))), |
|
88 Write("x"), |
|
89 AssignA("mem", Var("ptr"), Num(0)), |
|
90 Assign("ptr", Aop("-", Var("ptr"), Num(2))), |
|
91 Skip |
|
92 ) |
|
93 ), |
|
94 Assign("ptr", Aop("+", Var("ptr"), Num(1))), |
|
95 Assign("x", Ref("mem", Var("ptr"))), |
|
96 Write("x"), |
|
97 Assign("ptr", Aop("+", Var("ptr"), Num(1))), |
|
98 AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(1))), |
|
99 While( |
|
100 Bop("!=", Ref("mem", Var("ptr")), Num(0)), |
|
101 List(Assign("ptr", Aop("+", Var("ptr"), Num(2))), Skip) |
|
102 ), |
|
103 Assign("ptr", Aop("+", Var("ptr"), Num(1))), |
|
104 AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(1))), |
|
105 Skip |
|
106 ) |
|
107 ), |
|
108 Skip |
|
109 ) |