Fixed the new lexer.
[m68k-assembler.git] / parser.lisp
blob44dfc6bf5943833cc155d56a7f4f9d91a7368bf8
1 ;; Automatically generated by LALR-PARSER-GENERATOR.
2 (in-package "M68K-ASSEMBLER")
4 (LABELS ((TREE->HASH (TREE)
5 (LET ((HT (MAKE-HASH-TABLE)))
6 (DOLIST (X TREE)
7 (SETF (GETHASH (CAR X) HT)
8 (IF (LISTP (SECOND X)) (TREE->HASH (CDR X)) (CDR X))))
9 HT)))
10 (LET ((TABLE
11 (TREE->HASH '((CLOSE (41 REDUCE M68K-ASSEMBLER::UNARY-OPERATOR 1)
12 (58 REDUCE M68K-ASSEMBLER::EXPRESSION 3)
13 (46 REDUCE M68K-ASSEMBLER::BITWISE-OPERATOR 1)
14 (29 REDUCE M68K-ASSEMBLER::VALUE 1)
15 (70 SHIFT 73)
16 (45 REDUCE M68K-ASSEMBLER::BITWISE-OPERATOR 1)
17 (28 REDUCE M68K-ASSEMBLER::VALUE 1)
18 (50 SHIFT 64)
19 (44 REDUCE M68K-ASSEMBLER::BITWISE-OPERATOR 1)
20 (38 REDUCE M68K-ASSEMBLER::ADDING-OPERATOR 1)
21 (21 REDUCE M68K-ASSEMBLER::EXPRESSION 1)
22 (54 REDUCE M68K-ASSEMBLER::MULTIPLYING-OPERATOR
24 (72 SHIFT 74)
25 (55 REDUCE M68K-ASSEMBLER::FACTOR 2)
26 (49 SHIFT 62)
27 (26 REDUCE M68K-ASSEMBLER::FACTOR 1)
28 (66 REDUCE M68K-ASSEMBLER::TERM 3)
29 (65 SHIFT 71)
30 (48 REDUCE M68K-ASSEMBLER::BITWISE-OPERATOR 1)
31 (25 REDUCE M68K-ASSEMBLER::TERM 1)
32 (61 REDUCE M68K-ASSEMBLER::TERM2 3)
33 (37 REDUCE M68K-ASSEMBLER::ADDING-OPERATOR 1)
34 (59 SHIFT 67)
35 (53 REDUCE M68K-ASSEMBLER::MULTIPLYING-OPERATOR
37 (47 REDUCE M68K-ASSEMBLER::BITWISE-OPERATOR 1)
38 (30 REDUCE M68K-ASSEMBLER::UNARY-OPERATOR 1)
39 (24 REDUCE M68K-ASSEMBLER::TERM2 1)
40 (64 REDUCE M68K-ASSEMBLER::FACTOR 3))
41 (OPEN (41 REDUCE M68K-ASSEMBLER::UNARY-OPERATOR 1)
42 (24 REDUCE M68K-ASSEMBLER::TERM2 1)
43 (58 REDUCE M68K-ASSEMBLER::EXPRESSION 3)
44 (52 SHIFT 40)
45 (46 REDUCE M68K-ASSEMBLER::BITWISE-OPERATOR 1)
46 (40 SHIFT 40)
47 (23 SHIFT 51)
48 (5 REDUCE M68K-ASSEMBLER::OPERATION 1)
49 (64 REDUCE M68K-ASSEMBLER::FACTOR 3)
50 (45 REDUCE M68K-ASSEMBLER::BITWISE-OPERATOR 1)
51 (28 REDUCE M68K-ASSEMBLER::VALUE 1)
52 (22 SHIFT 40)
53 (29 REDUCE M68K-ASSEMBLER::VALUE 1)
54 (33 SHIFT 22)
55 (44 REDUCE M68K-ASSEMBLER::BITWISE-OPERATOR 1)
56 (38 REDUCE M68K-ASSEMBLER::ADDING-OPERATOR 1)
57 (21 REDUCE M68K-ASSEMBLER::EXPRESSION 1)
58 (3 SHIFT 22)
59 (61 REDUCE M68K-ASSEMBLER::TERM2 3)
60 (55 REDUCE M68K-ASSEMBLER::FACTOR 2)
61 (43 SHIFT 40)
62 (26 REDUCE M68K-ASSEMBLER::FACTOR 1)
63 (14 SHIFT 36)
64 (66 REDUCE M68K-ASSEMBLER::TERM 3)
65 (54 REDUCE M68K-ASSEMBLER::MULTIPLYING-OPERATOR 1)
66 (48 REDUCE M68K-ASSEMBLER::BITWISE-OPERATOR 1)
67 (25 REDUCE M68K-ASSEMBLER::TERM 1)
68 (19 SHIFT 40)
69 (7 SHIFT 22)
70 (37 REDUCE M68K-ASSEMBLER::ADDING-OPERATOR 1)
71 (53 REDUCE M68K-ASSEMBLER::MULTIPLYING-OPERATOR 1)
72 (47 REDUCE M68K-ASSEMBLER::BITWISE-OPERATOR 1)
73 (30 REDUCE M68K-ASSEMBLER::UNARY-OPERATOR 1)
74 (35 SHIFT 40)
75 (6 REDUCE M68K-ASSEMBLER::OPERATION 1))
76 (M68K-ASSEMBLER::REGISTER (34 SHIFT 20)
77 (5 REDUCE M68K-ASSEMBLER::OPERATION 1) (63 SHIFT 70)
78 (68 SHIFT 72) (51 SHIFT 65) (22 SHIFT 49) (33 SHIFT 20)
79 (3 SHIFT 20) (42 SHIFT 60) (36 SHIFT 59) (7 SHIFT 20)
80 (6 REDUCE M68K-ASSEMBLER::OPERATION 1))
81 (M68K-ASSEMBLER::TERM (40 GOTO 24) (22 GOTO 24)
82 (33 GOTO 24) (3 GOTO 24) (43 GOTO 61) (19 GOTO 24)
83 (7 GOTO 24) (35 GOTO 24))
84 (M68K-ASSEMBLER::EXPRESSION (40 GOTO 50) (22 GOTO 50)
85 (33 GOTO 14) (3 GOTO 14) (19 GOTO 39) (7 GOTO 14))
86 (M68K-ASSEMBLER::PREDECREMENT-INDIRECT (33 GOTO 17)
87 (3 GOTO 17) (7 GOTO 17))
88 (M68K-ASSEMBLER::IMMEDIATE (33 GOTO 12) (3 GOTO 12)
89 (7 GOTO 12))
90 (M68K-ASSEMBLER::PSEUDO-OP (0 SHIFT 6)
91 (4 REDUCE M68K-ASSEMBLER::LABEL 1) (2 SHIFT 6)
92 (31 REDUCE M68K-ASSEMBLER::LABEL 2))
93 (M68K-ASSEMBLER::DISPLACEMENT-INDIRECT (33 GOTO 15)
94 (3 GOTO 15) (7 GOTO 15))
95 (M68K-ASSEMBLER::CONSTANT
96 (41 REDUCE M68K-ASSEMBLER::UNARY-OPERATOR 1)
97 (52 SHIFT 28)
98 (46 REDUCE M68K-ASSEMBLER::BITWISE-OPERATOR 1)
99 (40 SHIFT 28)
100 (23 REDUCE M68K-ASSEMBLER::UNARY-OPERATOR 1)
101 (5 REDUCE M68K-ASSEMBLER::OPERATION 1)
102 (45 REDUCE M68K-ASSEMBLER::BITWISE-OPERATOR 1)
103 (22 SHIFT 28) (33 SHIFT 28)
104 (44 REDUCE M68K-ASSEMBLER::BITWISE-OPERATOR 1)
105 (27 SHIFT 28) (3 SHIFT 28) (43 SHIFT 28)
106 (37 REDUCE M68K-ASSEMBLER::ADDING-OPERATOR 1)
107 (38 REDUCE M68K-ASSEMBLER::ADDING-OPERATOR 1)
108 (54 REDUCE M68K-ASSEMBLER::MULTIPLYING-OPERATOR 1)
109 (48 REDUCE M68K-ASSEMBLER::BITWISE-OPERATOR 1)
110 (19 SHIFT 28) (7 SHIFT 28)
111 (53 REDUCE M68K-ASSEMBLER::MULTIPLYING-OPERATOR 1)
112 (47 REDUCE M68K-ASSEMBLER::BITWISE-OPERATOR 1)
113 (30 REDUCE M68K-ASSEMBLER::UNARY-OPERATOR 1)
114 (35 SHIFT 28) (6 REDUCE M68K-ASSEMBLER::OPERATION 1))
115 (M68K-ASSEMBLER::MULTIPLYING-OPERATOR (61 GOTO 52)
116 (24 GOTO 52))
117 (+ (41 REDUCE M68K-ASSEMBLER::UNARY-OPERATOR 1)
118 (58 REDUCE M68K-ASSEMBLER::EXPRESSION 3)
119 (46 REDUCE M68K-ASSEMBLER::BITWISE-OPERATOR 1)
120 (29 REDUCE M68K-ASSEMBLER::VALUE 1)
121 (23 REDUCE M68K-ASSEMBLER::UNARY-OPERATOR 1)
122 (45 REDUCE M68K-ASSEMBLER::BITWISE-OPERATOR 1)
123 (39 SHIFT 37)
124 (62 SHIFT 69)
125 (50 SHIFT 37)
126 (44 REDUCE M68K-ASSEMBLER::BITWISE-OPERATOR 1)
127 (38 REDUCE M68K-ASSEMBLER::ADDING-OPERATOR 1)
128 (21 REDUCE M68K-ASSEMBLER::EXPRESSION 1)
129 (61 REDUCE M68K-ASSEMBLER::TERM2 3)
130 (55 REDUCE M68K-ASSEMBLER::FACTOR 2)
131 (26 REDUCE M68K-ASSEMBLER::FACTOR 1)
132 (14 SHIFT 37)
133 (66 REDUCE M68K-ASSEMBLER::TERM 3)
134 (54 REDUCE M68K-ASSEMBLER::MULTIPLYING-OPERATOR 1)
135 (48 REDUCE M68K-ASSEMBLER::BITWISE-OPERATOR 1)
136 (25 REDUCE M68K-ASSEMBLER::TERM 1)
137 (28 REDUCE M68K-ASSEMBLER::VALUE 1)
138 (37 REDUCE M68K-ASSEMBLER::ADDING-OPERATOR 1)
139 (53 REDUCE M68K-ASSEMBLER::MULTIPLYING-OPERATOR 1)
140 (47 REDUCE M68K-ASSEMBLER::BITWISE-OPERATOR 1)
141 (30 REDUCE M68K-ASSEMBLER::UNARY-OPERATOR 1)
142 (24 REDUCE M68K-ASSEMBLER::TERM2 1)
143 (64 REDUCE M68K-ASSEMBLER::FACTOR 3))
144 (M68K-ASSEMBLER::OPERAND (33 GOTO 56) (3 GOTO 9)
145 (7 GOTO 9))
146 (M68K-ASSEMBLER::&
147 (41 REDUCE M68K-ASSEMBLER::UNARY-OPERATOR 1)
148 (58 SHIFT 48)
149 (46 REDUCE M68K-ASSEMBLER::BITWISE-OPERATOR 1)
150 (29 REDUCE M68K-ASSEMBLER::VALUE 1)
151 (23 REDUCE M68K-ASSEMBLER::UNARY-OPERATOR 1)
152 (45 REDUCE M68K-ASSEMBLER::BITWISE-OPERATOR 1)
153 (28 REDUCE M68K-ASSEMBLER::VALUE 1)
154 (44 REDUCE M68K-ASSEMBLER::BITWISE-OPERATOR 1)
155 (38 REDUCE M68K-ASSEMBLER::ADDING-OPERATOR 1)
156 (21 SHIFT 48) (61 REDUCE M68K-ASSEMBLER::TERM2 3)
157 (55 REDUCE M68K-ASSEMBLER::FACTOR 2)
158 (26 REDUCE M68K-ASSEMBLER::FACTOR 1)
159 (66 REDUCE M68K-ASSEMBLER::TERM 3)
160 (54 REDUCE M68K-ASSEMBLER::MULTIPLYING-OPERATOR 1)
161 (48 REDUCE M68K-ASSEMBLER::BITWISE-OPERATOR 1)
162 (25 REDUCE M68K-ASSEMBLER::TERM 1)
163 (37 REDUCE M68K-ASSEMBLER::ADDING-OPERATOR 1)
164 (53 REDUCE M68K-ASSEMBLER::MULTIPLYING-OPERATOR 1)
165 (47 REDUCE M68K-ASSEMBLER::BITWISE-OPERATOR 1)
166 (30 REDUCE M68K-ASSEMBLER::UNARY-OPERATOR 1)
167 (24 REDUCE M68K-ASSEMBLER::TERM2 1)
168 (64 REDUCE M68K-ASSEMBLER::FACTOR 3))
169 (M68K-ASSEMBLER::UNARY-OPERATOR (52 GOTO 27)
170 (40 GOTO 27) (22 GOTO 27) (33 GOTO 27) (3 GOTO 27)
171 (43 GOTO 27) (19 GOTO 27) (7 GOTO 27) (35 GOTO 27))
172 (M68K-ASSEMBLER::COLON (4 SHIFT 31))
173 (M68K-ASSEMBLER::TERM2 (40 GOTO 21) (22 GOTO 21)
174 (33 GOTO 21) (3 GOTO 21) (19 GOTO 21) (7 GOTO 21)
175 (35 GOTO 58))
176 (M68K-ASSEMBLER::<<
177 (41 REDUCE M68K-ASSEMBLER::UNARY-OPERATOR 1)
178 (58 SHIFT 44)
179 (46 REDUCE M68K-ASSEMBLER::BITWISE-OPERATOR 1)
180 (29 REDUCE M68K-ASSEMBLER::VALUE 1)
181 (23 REDUCE M68K-ASSEMBLER::UNARY-OPERATOR 1)
182 (45 REDUCE M68K-ASSEMBLER::BITWISE-OPERATOR 1)
183 (28 REDUCE M68K-ASSEMBLER::VALUE 1)
184 (44 REDUCE M68K-ASSEMBLER::BITWISE-OPERATOR 1)
185 (38 REDUCE M68K-ASSEMBLER::ADDING-OPERATOR 1)
186 (21 SHIFT 44) (61 REDUCE M68K-ASSEMBLER::TERM2 3)
187 (55 REDUCE M68K-ASSEMBLER::FACTOR 2)
188 (26 REDUCE M68K-ASSEMBLER::FACTOR 1)
189 (66 REDUCE M68K-ASSEMBLER::TERM 3)
190 (54 REDUCE M68K-ASSEMBLER::MULTIPLYING-OPERATOR 1)
191 (48 REDUCE M68K-ASSEMBLER::BITWISE-OPERATOR 1)
192 (25 REDUCE M68K-ASSEMBLER::TERM 1)
193 (37 REDUCE M68K-ASSEMBLER::ADDING-OPERATOR 1)
194 (53 REDUCE M68K-ASSEMBLER::MULTIPLYING-OPERATOR 1)
195 (47 REDUCE M68K-ASSEMBLER::BITWISE-OPERATOR 1)
196 (30 REDUCE M68K-ASSEMBLER::UNARY-OPERATOR 1)
197 (24 REDUCE M68K-ASSEMBLER::TERM2 1)
198 (64 REDUCE M68K-ASSEMBLER::FACTOR 3))
199 (OR (41 REDUCE M68K-ASSEMBLER::UNARY-OPERATOR 1)
200 (58 SHIFT 47)
201 (46 REDUCE M68K-ASSEMBLER::BITWISE-OPERATOR 1)
202 (29 REDUCE M68K-ASSEMBLER::VALUE 1)
203 (23 REDUCE M68K-ASSEMBLER::UNARY-OPERATOR 1)
204 (45 REDUCE M68K-ASSEMBLER::BITWISE-OPERATOR 1)
205 (28 REDUCE M68K-ASSEMBLER::VALUE 1)
206 (44 REDUCE M68K-ASSEMBLER::BITWISE-OPERATOR 1)
207 (38 REDUCE M68K-ASSEMBLER::ADDING-OPERATOR 1)
208 (21 SHIFT 47)
209 (61 REDUCE M68K-ASSEMBLER::TERM2 3)
210 (55 REDUCE M68K-ASSEMBLER::FACTOR 2)
211 (26 REDUCE M68K-ASSEMBLER::FACTOR 1)
212 (66 REDUCE M68K-ASSEMBLER::TERM 3)
213 (54 REDUCE M68K-ASSEMBLER::MULTIPLYING-OPERATOR 1)
214 (48 REDUCE M68K-ASSEMBLER::BITWISE-OPERATOR 1)
215 (25 REDUCE M68K-ASSEMBLER::TERM 1)
216 (37 REDUCE M68K-ASSEMBLER::ADDING-OPERATOR 1)
217 (53 REDUCE M68K-ASSEMBLER::MULTIPLYING-OPERATOR 1)
218 (47 REDUCE M68K-ASSEMBLER::BITWISE-OPERATOR 1)
219 (30 REDUCE M68K-ASSEMBLER::UNARY-OPERATOR 1)
220 (24 REDUCE M68K-ASSEMBLER::TERM2 1)
221 (64 REDUCE M68K-ASSEMBLER::FACTOR 3))
222 (M68K-ASSEMBLER::OPERATION (0 GOTO 3) (2 GOTO 7))
223 (M68K-ASSEMBLER::LABEL (0 GOTO 2))
224 (M68K-ASSEMBLER::INDEXED-INDIRECT (33 GOTO 18)
225 (3 GOTO 18) (7 GOTO 18))
226 (M68K-ASSEMBLER::VALUE (52 GOTO 26) (40 GOTO 26)
227 (22 GOTO 26) (33 GOTO 26) (27 GOTO 55) (3 GOTO 26)
228 (43 GOTO 26) (19 GOTO 26) (7 GOTO 26) (35 GOTO 26))
229 (M68K-ASSEMBLER::COMMA
230 (41 REDUCE M68K-ASSEMBLER::UNARY-OPERATOR 1)
231 (71 REDUCE M68K-ASSEMBLER::PREDECREMENT-INDIRECT 4)
232 (58 REDUCE M68K-ASSEMBLER::EXPRESSION 3)
233 (46 REDUCE M68K-ASSEMBLER::BITWISE-OPERATOR 1)
234 (29 REDUCE M68K-ASSEMBLER::VALUE 1)
235 (23 REDUCE M68K-ASSEMBLER::UNARY-OPERATOR 1)
236 (17 REDUCE M68K-ASSEMBLER::INDIRECT 1)
237 (11 REDUCE M68K-ASSEMBLER::OPERAND 1)
238 (74 REDUCE M68K-ASSEMBLER::INDEXED-INDIRECT 6)
239 (57 REDUCE M68K-ASSEMBLER::REGISTER-LIST 3)
240 (45 REDUCE M68K-ASSEMBLER::BITWISE-OPERATOR 1)
241 (28 REDUCE M68K-ASSEMBLER::VALUE 1)
242 (16 REDUCE M68K-ASSEMBLER::INDIRECT 1)
243 (10 REDUCE M68K-ASSEMBLER::OPERAND 1)
244 (62 REDUCE M68K-ASSEMBLER::DISPLACEMENT-INDIRECT 3)
245 (56 REDUCE M68K-ASSEMBLER::OPERANDS 3)
246 (44 REDUCE M68K-ASSEMBLER::BITWISE-OPERATOR 1)
247 (38 REDUCE M68K-ASSEMBLER::ADDING-OPERATOR 1)
248 (32 SHIFT 33) (15 REDUCE M68K-ASSEMBLER::INDIRECT 1)
249 (9 REDUCE M68K-ASSEMBLER::OPERANDS 1)
250 (73 REDUCE M68K-ASSEMBLER::INDEXED-INDIRECT 5)
251 (69 REDUCE M68K-ASSEMBLER::POSTINCREMENT-INDIRECT 4)
252 (61 REDUCE M68K-ASSEMBLER::TERM2 3)
253 (55 REDUCE M68K-ASSEMBLER::FACTOR 2) (49 SHIFT 63)
254 (39 REDUCE M68K-ASSEMBLER::IMMEDIATE 2)
255 (26 REDUCE M68K-ASSEMBLER::FACTOR 1)
256 (20 REDUCE M68K-ASSEMBLER::REGISTER-LIST 1)
257 (14 REDUCE M68K-ASSEMBLER::ABSOLUTE 1) (8 SHIFT 33)
258 (66 REDUCE M68K-ASSEMBLER::TERM 3)
259 (21 REDUCE M68K-ASSEMBLER::EXPRESSION 1)
260 (67 REDUCE M68K-ASSEMBLER::DISPLACEMENT-INDIRECT 4)
261 (60 REDUCE M68K-ASSEMBLER::REGISTER-LIST 3)
262 (54 REDUCE M68K-ASSEMBLER::MULTIPLYING-OPERATOR 1)
263 (48 REDUCE M68K-ASSEMBLER::BITWISE-OPERATOR 1)
264 (25 REDUCE M68K-ASSEMBLER::TERM 1)
265 (13 REDUCE M68K-ASSEMBLER::OPERAND 1)
266 (37 REDUCE M68K-ASSEMBLER::ADDING-OPERATOR 1)
267 (59 SHIFT 68)
268 (53 REDUCE M68K-ASSEMBLER::MULTIPLYING-OPERATOR 1)
269 (47 REDUCE M68K-ASSEMBLER::BITWISE-OPERATOR 1)
270 (30 REDUCE M68K-ASSEMBLER::UNARY-OPERATOR 1)
271 (24 REDUCE M68K-ASSEMBLER::TERM2 1)
272 (18 REDUCE M68K-ASSEMBLER::INDIRECT 1)
273 (12 REDUCE M68K-ASSEMBLER::OPERAND 1)
274 (64 REDUCE M68K-ASSEMBLER::FACTOR 3))
275 (- (28 REDUCE M68K-ASSEMBLER::VALUE 1)
276 (24 REDUCE M68K-ASSEMBLER::TERM2 1)
277 (58 REDUCE M68K-ASSEMBLER::EXPRESSION 3)
278 (52 SHIFT 41)
279 (46 REDUCE M68K-ASSEMBLER::BITWISE-OPERATOR 1)
280 (40 SHIFT 41)
281 (23 REDUCE M68K-ASSEMBLER::UNARY-OPERATOR 1)
282 (41 REDUCE M68K-ASSEMBLER::UNARY-OPERATOR 1)
283 (5 REDUCE M68K-ASSEMBLER::OPERATION 1)
284 (64 REDUCE M68K-ASSEMBLER::FACTOR 3)
285 (45 REDUCE M68K-ASSEMBLER::BITWISE-OPERATOR 1)
286 (39 SHIFT 38)
287 (22 SHIFT 41)
288 (29 REDUCE M68K-ASSEMBLER::VALUE 1)
289 (33 SHIFT 23)
290 (50 SHIFT 38)
291 (44 REDUCE M68K-ASSEMBLER::BITWISE-OPERATOR 1)
292 (38 REDUCE M68K-ASSEMBLER::ADDING-OPERATOR 1)
293 (21 REDUCE M68K-ASSEMBLER::EXPRESSION 1)
294 (3 SHIFT 23)
295 (61 REDUCE M68K-ASSEMBLER::TERM2 3)
296 (55 REDUCE M68K-ASSEMBLER::FACTOR 2)
297 (43 SHIFT 41)
298 (26 REDUCE M68K-ASSEMBLER::FACTOR 1)
299 (20 SHIFT 42)
300 (14 SHIFT 38)
301 (66 REDUCE M68K-ASSEMBLER::TERM 3)
302 (54 REDUCE M68K-ASSEMBLER::MULTIPLYING-OPERATOR 1)
303 (48 REDUCE M68K-ASSEMBLER::BITWISE-OPERATOR 1)
304 (25 REDUCE M68K-ASSEMBLER::TERM 1)
305 (19 SHIFT 41)
306 (7 SHIFT 23)
307 (37 REDUCE M68K-ASSEMBLER::ADDING-OPERATOR 1)
308 (53 REDUCE M68K-ASSEMBLER::MULTIPLYING-OPERATOR 1)
309 (47 REDUCE M68K-ASSEMBLER::BITWISE-OPERATOR 1)
310 (30 REDUCE M68K-ASSEMBLER::UNARY-OPERATOR 1)
311 (35 SHIFT 41)
312 (6 REDUCE M68K-ASSEMBLER::OPERATION 1))
313 (* (41 REDUCE M68K-ASSEMBLER::UNARY-OPERATOR 1)
314 (58 REDUCE M68K-ASSEMBLER::EXPRESSION 3)
315 (46 REDUCE M68K-ASSEMBLER::BITWISE-OPERATOR 1)
316 (29 REDUCE M68K-ASSEMBLER::VALUE 1)
317 (23 REDUCE M68K-ASSEMBLER::UNARY-OPERATOR 1)
318 (45 REDUCE M68K-ASSEMBLER::BITWISE-OPERATOR 1)
319 (28 REDUCE M68K-ASSEMBLER::VALUE 1)
320 (44 REDUCE M68K-ASSEMBLER::BITWISE-OPERATOR 1)
321 (38 REDUCE M68K-ASSEMBLER::ADDING-OPERATOR 1)
322 (21 REDUCE M68K-ASSEMBLER::EXPRESSION 1)
323 (61 SHIFT 53)
324 (55 REDUCE M68K-ASSEMBLER::FACTOR 2)
325 (26 REDUCE M68K-ASSEMBLER::FACTOR 1)
326 (66 REDUCE M68K-ASSEMBLER::TERM 3)
327 (54 REDUCE M68K-ASSEMBLER::MULTIPLYING-OPERATOR 1)
328 (48 REDUCE M68K-ASSEMBLER::BITWISE-OPERATOR 1)
329 (25 REDUCE M68K-ASSEMBLER::TERM 1)
330 (37 REDUCE M68K-ASSEMBLER::ADDING-OPERATOR 1)
331 (53 REDUCE M68K-ASSEMBLER::MULTIPLYING-OPERATOR 1)
332 (47 REDUCE M68K-ASSEMBLER::BITWISE-OPERATOR 1)
333 (30 REDUCE M68K-ASSEMBLER::UNARY-OPERATOR 1)
334 (24 SHIFT 53)
335 (64 REDUCE M68K-ASSEMBLER::FACTOR 3))
336 ($ (41 REDUCE M68K-ASSEMBLER::UNARY-OPERATOR 1)
337 (69 REDUCE M68K-ASSEMBLER::POSTINCREMENT-INDIRECT 4)
338 (64 REDUCE M68K-ASSEMBLER::FACTOR 3)
339 (71 REDUCE M68K-ASSEMBLER::PREDECREMENT-INDIRECT 4)
340 (58 REDUCE M68K-ASSEMBLER::EXPRESSION 3)
341 (46 REDUCE M68K-ASSEMBLER::BITWISE-OPERATOR 1)
342 (29 REDUCE M68K-ASSEMBLER::VALUE 1)
343 (23 REDUCE M68K-ASSEMBLER::UNARY-OPERATOR 1)
344 (17 REDUCE M68K-ASSEMBLER::INDIRECT 1)
345 (11 REDUCE M68K-ASSEMBLER::OPERAND 1)
346 (5 REDUCE M68K-ASSEMBLER::OPERATION 1)
347 (74 REDUCE M68K-ASSEMBLER::INDEXED-INDIRECT 6)
348 (57 REDUCE M68K-ASSEMBLER::REGISTER-LIST 3)
349 (45 REDUCE M68K-ASSEMBLER::BITWISE-OPERATOR 1)
350 (28 REDUCE M68K-ASSEMBLER::VALUE 1)
351 (16 REDUCE M68K-ASSEMBLER::INDIRECT 1)
352 (10 REDUCE M68K-ASSEMBLER::OPERAND 1)
353 (4 REDUCE M68K-ASSEMBLER::LABEL 1)
354 (62 REDUCE M68K-ASSEMBLER::DISPLACEMENT-INDIRECT 3)
355 (56 REDUCE M68K-ASSEMBLER::OPERANDS 3)
356 (44 REDUCE M68K-ASSEMBLER::BITWISE-OPERATOR 1)
357 (38 REDUCE M68K-ASSEMBLER::ADDING-OPERATOR 1)
358 (21 REDUCE M68K-ASSEMBLER::EXPRESSION 1)
359 (15 REDUCE M68K-ASSEMBLER::INDIRECT 1)
360 (9 REDUCE M68K-ASSEMBLER::OPERANDS 1)
361 (3 REDUCE M68K-ASSEMBLER::LINE 1)
362 (73 REDUCE M68K-ASSEMBLER::INDEXED-INDIRECT 5)
363 (32 REDUCE M68K-ASSEMBLER::LINE 3)
364 (61 REDUCE M68K-ASSEMBLER::TERM2 3)
365 (55 REDUCE M68K-ASSEMBLER::FACTOR 2)
366 (39 REDUCE M68K-ASSEMBLER::IMMEDIATE 2)
367 (26 REDUCE M68K-ASSEMBLER::FACTOR 1)
368 (20 REDUCE M68K-ASSEMBLER::REGISTER-LIST 1)
369 (14 REDUCE M68K-ASSEMBLER::ABSOLUTE 1)
370 (8 REDUCE M68K-ASSEMBLER::LINE 2)
371 (2 REDUCE M68K-ASSEMBLER::LINE 1)
372 (67 REDUCE M68K-ASSEMBLER::DISPLACEMENT-INDIRECT 4)
373 (60 REDUCE M68K-ASSEMBLER::REGISTER-LIST 3)
374 (54 REDUCE M68K-ASSEMBLER::MULTIPLYING-OPERATOR 1)
375 (48 REDUCE M68K-ASSEMBLER::BITWISE-OPERATOR 1)
376 (31 REDUCE M68K-ASSEMBLER::LABEL 2)
377 (25 REDUCE M68K-ASSEMBLER::TERM 1)
378 (13 REDUCE M68K-ASSEMBLER::OPERAND 1)
379 (7 REDUCE M68K-ASSEMBLER::LINE 2) (1 ACCEPT)
380 (37 REDUCE M68K-ASSEMBLER::ADDING-OPERATOR 1)
381 (66 REDUCE M68K-ASSEMBLER::TERM 3)
382 (53 REDUCE M68K-ASSEMBLER::MULTIPLYING-OPERATOR 1)
383 (47 REDUCE M68K-ASSEMBLER::BITWISE-OPERATOR 1)
384 (30 REDUCE M68K-ASSEMBLER::UNARY-OPERATOR 1)
385 (24 REDUCE M68K-ASSEMBLER::TERM2 1)
386 (18 REDUCE M68K-ASSEMBLER::INDIRECT 1)
387 (12 REDUCE M68K-ASSEMBLER::OPERAND 1)
388 (6 REDUCE M68K-ASSEMBLER::OPERATION 1))
389 (M68K-ASSEMBLER::INDIRECT (33 GOTO 11) (3 GOTO 11)
390 (7 GOTO 11))
391 (M68K-ASSEMBLER::OPCODE (0 SHIFT 5)
392 (4 REDUCE M68K-ASSEMBLER::LABEL 1) (2 SHIFT 5)
393 (31 REDUCE M68K-ASSEMBLER::LABEL 2))
394 (M68K-ASSEMBLER::>>
395 (41 REDUCE M68K-ASSEMBLER::UNARY-OPERATOR 1)
396 (58 SHIFT 45)
397 (46 REDUCE M68K-ASSEMBLER::BITWISE-OPERATOR 1)
398 (29 REDUCE M68K-ASSEMBLER::VALUE 1)
399 (23 REDUCE M68K-ASSEMBLER::UNARY-OPERATOR 1)
400 (45 REDUCE M68K-ASSEMBLER::BITWISE-OPERATOR 1)
401 (28 REDUCE M68K-ASSEMBLER::VALUE 1)
402 (44 REDUCE M68K-ASSEMBLER::BITWISE-OPERATOR 1)
403 (38 REDUCE M68K-ASSEMBLER::ADDING-OPERATOR 1)
404 (21 SHIFT 45) (61 REDUCE M68K-ASSEMBLER::TERM2 3)
405 (55 REDUCE M68K-ASSEMBLER::FACTOR 2)
406 (26 REDUCE M68K-ASSEMBLER::FACTOR 1)
407 (66 REDUCE M68K-ASSEMBLER::TERM 3)
408 (54 REDUCE M68K-ASSEMBLER::MULTIPLYING-OPERATOR 1)
409 (48 REDUCE M68K-ASSEMBLER::BITWISE-OPERATOR 1)
410 (25 REDUCE M68K-ASSEMBLER::TERM 1)
411 (37 REDUCE M68K-ASSEMBLER::ADDING-OPERATOR 1)
412 (53 REDUCE M68K-ASSEMBLER::MULTIPLYING-OPERATOR 1)
413 (47 REDUCE M68K-ASSEMBLER::BITWISE-OPERATOR 1)
414 (30 REDUCE M68K-ASSEMBLER::UNARY-OPERATOR 1)
415 (24 REDUCE M68K-ASSEMBLER::TERM2 1)
416 (64 REDUCE M68K-ASSEMBLER::FACTOR 3))
417 (M68K-ASSEMBLER::OPERANDS (3 GOTO 8) (7 GOTO 32))
418 (M68K-ASSEMBLER::BITWISE-OPERATOR (58 GOTO 43)
419 (21 GOTO 43))
420 (M68K-ASSEMBLER::REGISTER-LIST (34 GOTO 57) (33 GOTO 13)
421 (3 GOTO 13) (7 GOTO 13))
422 (M68K-ASSEMBLER::HASH
423 (5 REDUCE M68K-ASSEMBLER::OPERATION 1) (33 SHIFT 19)
424 (3 SHIFT 19) (7 SHIFT 19)
425 (6 REDUCE M68K-ASSEMBLER::OPERATION 1))
426 (M68K-ASSEMBLER::LINE (0 GOTO 1))
427 (/ (41 REDUCE M68K-ASSEMBLER::UNARY-OPERATOR 1)
428 (58 REDUCE M68K-ASSEMBLER::EXPRESSION 3)
429 (46 REDUCE M68K-ASSEMBLER::BITWISE-OPERATOR 1)
430 (29 REDUCE M68K-ASSEMBLER::VALUE 1)
431 (23 REDUCE M68K-ASSEMBLER::UNARY-OPERATOR 1)
432 (57 SHIFT 34)
433 (45 REDUCE M68K-ASSEMBLER::BITWISE-OPERATOR 1)
434 (28 REDUCE M68K-ASSEMBLER::VALUE 1)
435 (44 REDUCE M68K-ASSEMBLER::BITWISE-OPERATOR 1)
436 (38 REDUCE M68K-ASSEMBLER::ADDING-OPERATOR 1)
437 (21 REDUCE M68K-ASSEMBLER::EXPRESSION 1)
438 (61 SHIFT 54)
439 (55 REDUCE M68K-ASSEMBLER::FACTOR 2)
440 (26 REDUCE M68K-ASSEMBLER::FACTOR 1)
441 (20 REDUCE M68K-ASSEMBLER::REGISTER-LIST 1)
442 (66 REDUCE M68K-ASSEMBLER::TERM 3)
443 (60 REDUCE M68K-ASSEMBLER::REGISTER-LIST 3)
444 (54 REDUCE M68K-ASSEMBLER::MULTIPLYING-OPERATOR 1)
445 (48 REDUCE M68K-ASSEMBLER::BITWISE-OPERATOR 1)
446 (25 REDUCE M68K-ASSEMBLER::TERM 1)
447 (13 SHIFT 34)
448 (37 REDUCE M68K-ASSEMBLER::ADDING-OPERATOR 1)
449 (53 REDUCE M68K-ASSEMBLER::MULTIPLYING-OPERATOR 1)
450 (47 REDUCE M68K-ASSEMBLER::BITWISE-OPERATOR 1)
451 (30 REDUCE M68K-ASSEMBLER::UNARY-OPERATOR 1)
452 (24 SHIFT 54)
453 (64 REDUCE M68K-ASSEMBLER::FACTOR 3))
454 (M68K-ASSEMBLER::ABSOLUTE (33 GOTO 10) (3 GOTO 10)
455 (7 GOTO 10))
456 (M68K-ASSEMBLER::FACTOR (52 GOTO 66) (40 GOTO 25)
457 (22 GOTO 25) (33 GOTO 25) (3 GOTO 25) (43 GOTO 25)
458 (19 GOTO 25) (7 GOTO 25) (35 GOTO 25))
459 (SYMBOL (0 SHIFT 4) (52 SHIFT 29)
460 (46 REDUCE M68K-ASSEMBLER::BITWISE-OPERATOR 1)
461 (40 SHIFT 29)
462 (23 REDUCE M68K-ASSEMBLER::UNARY-OPERATOR 1)
463 (41 REDUCE M68K-ASSEMBLER::UNARY-OPERATOR 1)
464 (5 REDUCE M68K-ASSEMBLER::OPERATION 1)
465 (45 REDUCE M68K-ASSEMBLER::BITWISE-OPERATOR 1)
466 (22 SHIFT 29) (33 SHIFT 29)
467 (44 REDUCE M68K-ASSEMBLER::BITWISE-OPERATOR 1)
468 (27 SHIFT 29) (3 SHIFT 29) (43 SHIFT 29)
469 (37 REDUCE M68K-ASSEMBLER::ADDING-OPERATOR 1)
470 (38 REDUCE M68K-ASSEMBLER::ADDING-OPERATOR 1)
471 (54 REDUCE M68K-ASSEMBLER::MULTIPLYING-OPERATOR 1)
472 (48 REDUCE M68K-ASSEMBLER::BITWISE-OPERATOR 1)
473 (19 SHIFT 29) (7 SHIFT 29)
474 (53 REDUCE M68K-ASSEMBLER::MULTIPLYING-OPERATOR 1)
475 (47 REDUCE M68K-ASSEMBLER::BITWISE-OPERATOR 1)
476 (30 REDUCE M68K-ASSEMBLER::UNARY-OPERATOR 1)
477 (35 SHIFT 29) (6 REDUCE M68K-ASSEMBLER::OPERATION 1))
478 (M68K-ASSEMBLER::ADDING-OPERATOR (39 GOTO 35)
479 (50 GOTO 35) (14 GOTO 35))
480 (M68K-ASSEMBLER::~ (52 SHIFT 30)
481 (46 REDUCE M68K-ASSEMBLER::BITWISE-OPERATOR 1)
482 (40 SHIFT 30) (5 REDUCE M68K-ASSEMBLER::OPERATION 1)
483 (45 REDUCE M68K-ASSEMBLER::BITWISE-OPERATOR 1)
484 (22 SHIFT 30) (33 SHIFT 30)
485 (44 REDUCE M68K-ASSEMBLER::BITWISE-OPERATOR 1)
486 (38 REDUCE M68K-ASSEMBLER::ADDING-OPERATOR 1)
487 (3 SHIFT 30) (43 SHIFT 30)
488 (37 REDUCE M68K-ASSEMBLER::ADDING-OPERATOR 1)
489 (54 REDUCE M68K-ASSEMBLER::MULTIPLYING-OPERATOR 1)
490 (48 REDUCE M68K-ASSEMBLER::BITWISE-OPERATOR 1)
491 (19 SHIFT 30) (7 SHIFT 30)
492 (53 REDUCE M68K-ASSEMBLER::MULTIPLYING-OPERATOR 1)
493 (47 REDUCE M68K-ASSEMBLER::BITWISE-OPERATOR 1)
494 (35 SHIFT 30) (6 REDUCE M68K-ASSEMBLER::OPERATION 1))
495 (M68K-ASSEMBLER::^
496 (41 REDUCE M68K-ASSEMBLER::UNARY-OPERATOR 1)
497 (58 SHIFT 46)
498 (46 REDUCE M68K-ASSEMBLER::BITWISE-OPERATOR 1)
499 (29 REDUCE M68K-ASSEMBLER::VALUE 1)
500 (23 REDUCE M68K-ASSEMBLER::UNARY-OPERATOR 1)
501 (45 REDUCE M68K-ASSEMBLER::BITWISE-OPERATOR 1)
502 (28 REDUCE M68K-ASSEMBLER::VALUE 1)
503 (44 REDUCE M68K-ASSEMBLER::BITWISE-OPERATOR 1)
504 (38 REDUCE M68K-ASSEMBLER::ADDING-OPERATOR 1)
505 (21 SHIFT 46) (61 REDUCE M68K-ASSEMBLER::TERM2 3)
506 (55 REDUCE M68K-ASSEMBLER::FACTOR 2)
507 (26 REDUCE M68K-ASSEMBLER::FACTOR 1)
508 (66 REDUCE M68K-ASSEMBLER::TERM 3)
509 (54 REDUCE M68K-ASSEMBLER::MULTIPLYING-OPERATOR 1)
510 (48 REDUCE M68K-ASSEMBLER::BITWISE-OPERATOR 1)
511 (25 REDUCE M68K-ASSEMBLER::TERM 1)
512 (37 REDUCE M68K-ASSEMBLER::ADDING-OPERATOR 1)
513 (53 REDUCE M68K-ASSEMBLER::MULTIPLYING-OPERATOR 1)
514 (47 REDUCE M68K-ASSEMBLER::BITWISE-OPERATOR 1)
515 (30 REDUCE M68K-ASSEMBLER::UNARY-OPERATOR 1)
516 (24 REDUCE M68K-ASSEMBLER::TERM2 1)
517 (64 REDUCE M68K-ASSEMBLER::FACTOR 3))
518 (M68K-ASSEMBLER::POSTINCREMENT-INDIRECT (33 GOTO 16)
519 (3 GOTO 16) (7 GOTO 16))))))
520 (DEFUN PARSE (NEXT-TOKEN)
521 "NEXT-TOKEN is a function which returns a cons of the next token in
522 the input (the CAR being the symbol name, the CDR being any
523 information the lexer would like to preserve), and advances the input
524 one token. Returns what might pass for a parse tree in some
525 countries."
526 (LOOP WITH STACK = (LIST 0)
527 AND TOKEN = (FUNCALL NEXT-TOKEN)
528 AND RESULT-STACK
529 FOR ROW = (GETHASH (CAR TOKEN) TABLE)
530 FOR ACTION =
531 (IF ROW
532 (GETHASH (FIRST STACK) ROW)
533 (ERROR "~A is not a valid token in this grammar." TOKEN))
534 DO (CASE (FIRST ACTION)
535 (SHIFT (PUSH TOKEN RESULT-STACK)
536 (SETF TOKEN (FUNCALL NEXT-TOKEN))
537 (PUSH (SECOND ACTION) STACK))
538 (REDUCE (PUSH (LIST (SECOND ACTION)) RESULT-STACK)
539 (DOTIMES (I (THIRD ACTION))
540 (POP STACK)
541 (PUSH (POP (CDR RESULT-STACK)) (CDAR RESULT-STACK)))
542 (DESTRUCTURING-BIND
543 (GOTO STATE)
544 (GETHASH (FIRST STACK)
545 (GETHASH (SECOND ACTION) TABLE))
546 (ASSERT (EQL GOTO 'GOTO)
548 "Malformed parse table!")
549 (PUSH STATE STACK)))
550 (ACCEPT (RETURN (CAR RESULT-STACK)))
551 (T (ERROR "Parse error at ~A" TOKEN)))))))