-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmytest.tokens
More file actions
230 lines (230 loc) · 1.89 KB
/
Copy pathmytest.tokens
File metadata and controls
230 lines (230 loc) · 1.89 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
FUNCTION
IDENT main
SEMICOLON
BEGIN_PARAMS
END_PARAMS
BEGIN_LOCALS
IDENT n
COLON
INTEGER
SEMICOLON
IDENT i
COMMA
IDENT j
COMMA
IDENT k
COLON
INTEGER
SEMICOLON
IDENT t
COLON
ARRAY
L_SQUARE_BRACKET
NUMBER 20
R_SQUARE_BRACKET
OF
INTEGER
SEMICOLON
IDENT x
COLON
ENUM
L_PAREN
IDENT Proc1
COMMA
IDENT Proc2
R_PAREN
SEMICOLON
END_LOCALS
BEGIN_BODY
READ
IDENT i
COMMA
IDENT j
SEMICOLON
IDENT k
ASSIGN
NUMBER 0
SEMICOLON
IDENT n
ASSIGN
NUMBER 20
SEMICOLON
DO
BEGINLOOP
IDENT t
L_SQUARE_BRACKET
IDENT k
R_SQUARE_BRACKET
ASSIGN
IDENT k
SEMICOLON
IDENT k
ASSIGN
IDENT k
ADD
NUMBER 1
SEMICOLON
IF
IDENT k
MOD
NUMBER 2
EQ
NUMBER 0
THEN
CONTINUE
SEMICOLON
ENDIF
SEMICOLON
WRITE
IDENT t
L_SQUARE_BRACKET
IDENT k
SUB
NUMBER 1
R_SQUARE_BRACKET
SEMICOLON
ENDLOOP
WHILE
IDENT k
LT
IDENT n
SEMICOLON
IF
IDENT i
LT
IDENT j
AND
IDENT j
LT
IDENT n
AND
IDENT i
GTE
NUMBER 0
THEN
IDENT t
L_SQUARE_BRACKET
IDENT i
R_SQUARE_BRACKET
ASSIGN
IDENT i
MULT
NUMBER 2
SEMICOLON
IDENT t
L_SQUARE_BRACKET
IDENT j
R_SQUARE_BRACKET
ASSIGN
IDENT j
MULT
NUMBER 2
SEMICOLON
IDENT k
ASSIGN
IDENT t
L_SQUARE_BRACKET
IDENT i
R_SQUARE_BRACKET
SEMICOLON
IDENT t
L_SQUARE_BRACKET
IDENT i
R_SQUARE_BRACKET
ASSIGN
IDENT t
L_SQUARE_BRACKET
IDENT j
R_SQUARE_BRACKET
SEMICOLON
IDENT t
L_SQUARE_BRACKET
IDENT j
R_SQUARE_BRACKET
ASSIGN
IDENT k
SEMICOLON
ELSE
WHILE
IDENT i
GTE
IDENT j
OR
FALSE
BEGINLOOP
IDENT k
ASSIGN
L_PAREN
NUMBER 1
ADD
IDENT i
SUB
IDENT j
R_PAREN
MOD
NUMBER 3
SEMICOLON
IDENT i
ASSIGN
IDENT i
SUB
NUMBER 1
SEMICOLON
IF
IDENT k
GT
NUMBER 1
THEN
CONTINUE
SEMICOLON
ENDIF
SEMICOLON
WRITE
IDENT k
SEMICOLON
ENDLOOP
SEMICOLON
ENDIF
SEMICOLON
WRITE
IDENT i
COMMA
IDENT j
COMMA
IDENT k
SEMICOLON
IF
IDENT i
LT
IDENT n
AND
IDENT i
GTE
NUMBER 0
THEN
WRITE
IDENT t
L_SQUARE_BRACKET
IDENT i
R_SQUARE_BRACKET
SEMICOLON
ENDIF
SEMICOLON
IF
IDENT j
LT
IDENT n
AND
IDENT j
GTE
NUMBER 0
THEN
WRITE
IDENT t
L_SQUARE_BRACKET
IDENT j
R_SQUARE_BRACKET
SEMICOLON
ENDIF
SEMICOLON
END_BODY