Machine-Independent MDL for TOPS-20 and VAX.
[pdp10-muddle.git] / mim / development / mim / vax / mimlib / stdmacs.mud
1
2 <DEFINITIONS "STDMACS">
3
4 <USE-WHEN <COMPILING? "STDMACS"> "BACKQUOTE">
5
6 #WORD *15174625610*
7 <GFCN \1aIF ("VALUE" FORM "ARGS" ANY) STUFF8>
8                     <OPT-DISPATCH 0 %<> OPT6 OPT7>
9 OPT6
10                     <PUSH ()>
11 OPT7
12                     <TEMP ELSE-CLAUSE10 TEMP20 TEMP18 TEMP17 RSTUFF22:LIST ITEM23>
13                     <INTGO>
14                     <SET TEMP20 () (TYPE LIST)>
15                     <SET TEMP18 () (TYPE LIST)>
16                     <SET TEMP17 STUFF8 (TYPE LIST)>
17                     <DEAD STUFF8>
18                     <LOOP>
19 MAP12
20                     <INTGO>
21                     <EMPL? TEMP17 + MAPAP15>
22                     <SET RSTUFF22 TEMP17>
23                     <NTHL RSTUFF22 1 = ITEM23>
24                     <EQUAL? ITEM23 'ELSE - PHRASE25>
25                     <SET ELSE-CLAUSE10 RSTUFF22>
26                     <DEAD RSTUFF22>
27                     <JUMP + MAPAP15>
28 PHRASE25
29                     <CONS ITEM23 () = ITEM23 (TYPE LIST)>
30                     <EMPL? TEMP20 - TAG29>
31                     <SET TEMP20 ITEM23 (TYPE LIST)>
32                     <JUMP + TAG30>
33 TAG29
34                     <PUTREST TEMP18 ITEM23>
35                     <DEAD TEMP18>
36 TAG30
37                     <SET TEMP18 ITEM23 (TYPE LIST)>
38                     <DEAD ITEM23>
39                     <RESTL TEMP17 1 = TEMP17 (TYPE LIST)>
40                     <JUMP + MAP12>
41 MAPAP15
42                     <TYPE? ELSE-CLAUSE10 <TYPE-CODE UNBOUND> + PHRASE32>
43                     <CONS ELSE-CLAUSE10 () = TEMP17>
44                     <DEAD ELSE-CLAUSE10>
45                     <CONS TEMP20 TEMP17 = TEMP17>
46                     <DEAD TEMP20>
47                     <CONS 'COND TEMP17 = TEMP17>
48                     <CHTYPE TEMP17 <TYPE-CODE FORM> = TEMP17>
49                     <RETURN TEMP17>
50                     <DEAD TEMP17>
51 PHRASE32
52                     <CONS TEMP20 () = ITEM23>
53                     <DEAD TEMP20>
54                     <CONS 'COND ITEM23 = ITEM23>
55                     <CHTYPE ITEM23 <TYPE-CODE FORM> = TEMP17>
56                     <DEAD ITEM23>
57                     <RETURN TEMP17>
58                     <DEAD TEMP17>
59                     <END \1aIF><COND (<AND <GASSIGNED? IF> <NOT <TYPE? ,IF MACRO>>> <SETG IF <CHTYPE (,IF) MACRO>>)>
60
61 #WORD *7532720407*
62 <GFCN \1aWHEN ("VALUE" FORM "QUOTE" ANY "ARGS" ANY) TEST8 THINGS9>
63                     <OPT-DISPATCH 1 %<> OPT6 OPT7>
64 OPT6
65                     <PUSH ()>
66 OPT7
67                     <TEMP TEMP12 TEMP13 TEMP14 TEMP15>
68                     <INTGO>
69                     <SET TEMP12 THINGS9>
70                     <DEAD THINGS9>
71                     <SET TEMP13 () (TYPE LIST)>
72                     <EMPL? TEMP12 + TAG11>
73                     <NTHL TEMP12 1 = TEMP14>
74                     <CONS TEMP14 () = TEMP14>
75                     <SET TEMP13 TEMP14>
76                     <RESTL TEMP12 1 = TEMP12 (TYPE LIST)>
77                     <EMPL? TEMP12 + TAG11>
78                     <LOOP (TEMP12 VALUE) (TEMP14 VALUE)>
79 TAG10
80                     <NTHL TEMP12 1 = TEMP15>
81                     <CONS TEMP15 () = TEMP15>
82                     <PUTREST TEMP14 TEMP15>
83                     <DEAD TEMP14>
84                     <SET TEMP14 TEMP15>
85                     <DEAD TEMP15>
86                     <RESTL TEMP12 1 = TEMP12 (TYPE LIST)>
87                     <EMPL? TEMP12 - TAG10>
88 TAG11
89                     <CONS TEST8 TEMP13 = TEMP12>
90                     <DEAD TEST8 TEMP13>
91                     <CONS TEMP12 () = TEMP12>
92                     <CONS 'COND TEMP12 = TEMP12>
93                     <CHTYPE TEMP12 <TYPE-CODE FORM> = TEMP12>
94                     <RETURN TEMP12>
95                     <DEAD TEMP12>
96                     <END \1aWHEN><COND (<AND <GASSIGNED? WHEN> <NOT <TYPE? ,WHEN MACRO>>> <SETG WHEN <CHTYPE (,WHEN) MACRO>>)>
97
98 #WORD *740777035*
99 <GFCN \1aUNLESS ("VALUE" FORM "QUOTE" ANY "ARGS" ANY) TEST8 THINGS9>
100                     <OPT-DISPATCH 1 %<> OPT6 OPT7>
101 OPT6
102                     <PUSH ()>
103 OPT7
104                     <TEMP TEMP12 TEMP13 TEMP14 TEMP15>
105                     <INTGO>
106                     <SET TEMP12 THINGS9>
107                     <DEAD THINGS9>
108                     <SET TEMP13 () (TYPE LIST)>
109                     <EMPL? TEMP12 + TAG11>
110                     <NTHL TEMP12 1 = TEMP14>
111                     <CONS TEMP14 () = TEMP14>
112                     <SET TEMP13 TEMP14>
113                     <RESTL TEMP12 1 = TEMP12 (TYPE LIST)>
114                     <EMPL? TEMP12 + TAG11>
115                     <LOOP (TEMP12 VALUE) (TEMP14 VALUE)>
116 TAG10
117                     <NTHL TEMP12 1 = TEMP15>
118                     <CONS TEMP15 () = TEMP15>
119                     <PUTREST TEMP14 TEMP15>
120                     <DEAD TEMP14>
121                     <SET TEMP14 TEMP15>
122                     <DEAD TEMP15>
123                     <RESTL TEMP12 1 = TEMP12 (TYPE LIST)>
124                     <EMPL? TEMP12 - TAG10>
125 TAG11
126                     <CONS TEST8 () = TEMP12>
127                     <DEAD TEST8>
128                     <CONS 'NOT TEMP12 = TEMP12>
129                     <CHTYPE TEMP12 <TYPE-CODE FORM> = TEMP12>
130                     <CONS TEMP12 TEMP13 = TEMP13>
131                     <DEAD TEMP12>
132                     <CONS TEMP13 () = TEMP13>
133                     <CONS 'COND TEMP13 = TEMP13>
134                     <CHTYPE TEMP13 <TYPE-CODE FORM> = TEMP13>
135                     <RETURN TEMP13>
136                     <DEAD TEMP13>
137                     <END \1aUNLESS>
138 <COND (<AND <GASSIGNED? UNLESS> <NOT <TYPE? ,UNLESS MACRO>>> <SETG UNLESS <CHTYPE (,UNLESS) MACRO>>)>
139
140 #WORD *6065057625*
141 <GFCN \1aWHILE ("VALUE" FORM "QUOTE" ANY "ARGS" ANY) TEST8 THINGS9>
142                     <OPT-DISPATCH 1 %<> OPT6 OPT7>
143 OPT6
144                     <PUSH ()>
145 OPT7
146                     <TEMP TEMP12 TEMP13 TEMP14 TEMP15>
147                     <INTGO>
148                     <SET TEMP12 THINGS9>
149                     <DEAD THINGS9>
150                     <SET TEMP13 () (TYPE LIST)>
151                     <EMPL? TEMP12 + TAG11>
152                     <NTHL TEMP12 1 = TEMP14>
153                     <CONS TEMP14 () = TEMP14>
154                     <SET TEMP13 TEMP14>
155                     <RESTL TEMP12 1 = TEMP12 (TYPE LIST)>
156                     <EMPL? TEMP12 + TAG11>
157                     <LOOP (TEMP12 VALUE) (TEMP14 VALUE)>
158 TAG10
159                     <NTHL TEMP12 1 = TEMP15>
160                     <CONS TEMP15 () = TEMP15>
161                     <PUTREST TEMP14 TEMP15>
162                     <DEAD TEMP14>
163                     <SET TEMP14 TEMP15>
164                     <DEAD TEMP15>
165                     <RESTL TEMP12 1 = TEMP12 (TYPE LIST)>
166                     <EMPL? TEMP12 - TAG10>
167 TAG11
168                     <CONS TEST8 () = TEMP12>
169                     <DEAD TEST8>
170                     <CONS 'NOT TEMP12 = TEMP12>
171                     <CHTYPE TEMP12 <TYPE-CODE FORM> = TEMP12>
172                     <CONS TEMP12 (<RETURN>) = TEMP12>
173                     <CONS TEMP12 () = TEMP12>
174                     <CONS 'COND TEMP12 = TEMP12>
175                     <CHTYPE TEMP12 <TYPE-CODE FORM> = TEMP12>
176                     <CONS TEMP12 TEMP13 = TEMP13>
177                     <DEAD TEMP12>
178                     <CONS () TEMP13 = TEMP13>
179                     <CONS 'REPEAT TEMP13 = TEMP13>
180                     <CHTYPE TEMP13 <TYPE-CODE FORM> = TEMP13>
181                     <RETURN TEMP13>
182                     <DEAD TEMP13>
183                     <END \1aWHILE><COND (<AND <GASSIGNED? WHILE> <NOT <TYPE? ,WHILE MACRO>>> <SETG WHILE <CHTYPE (,WHILE) MACRO>>)>
184
185 #WORD *15727324110*
186 <GFCN \1aUNTIL ("VALUE" FORM "QUOTE" ANY "ARGS" ANY) TEST8 THINGS9>
187                     <OPT-DISPATCH 1 %<> OPT6 OPT7>
188 OPT6
189                     <PUSH ()>
190 OPT7
191                     <TEMP TEMP12 TEMP13 TEMP14 TEMP15>
192                     <INTGO>
193                     <SET TEMP12 THINGS9>
194                     <DEAD THINGS9>
195                     <SET TEMP13 () (TYPE LIST)>
196                     <EMPL? TEMP12 + TAG11>
197                     <NTHL TEMP12 1 = TEMP14>
198                     <CONS TEMP14 () = TEMP14>
199                     <SET TEMP13 TEMP14>
200                     <RESTL TEMP12 1 = TEMP12 (TYPE LIST)>
201                     <EMPL? TEMP12 + TAG11>
202                     <LOOP (TEMP12 VALUE) (TEMP14 VALUE)>
203 TAG10
204                     <NTHL TEMP12 1 = TEMP15>
205                     <CONS TEMP15 () = TEMP15>
206                     <PUTREST TEMP14 TEMP15>
207                     <DEAD TEMP14>
208                     <SET TEMP14 TEMP15>
209                     <DEAD TEMP15>
210                     <RESTL TEMP12 1 = TEMP12 (TYPE LIST)>
211                     <EMPL? TEMP12 - TAG10>
212 TAG11
213                     <CONS TEST8 (<RETURN>) = TEMP12>
214                     <DEAD TEST8>
215                     <CONS TEMP12 () = TEMP12>
216                     <CONS 'COND TEMP12 = TEMP12>
217                     <CHTYPE TEMP12 <TYPE-CODE FORM> = TEMP12>
218                     <CONS TEMP12 TEMP13 = TEMP13>
219                     <DEAD TEMP12>
220                     <CONS () TEMP13 = TEMP13>
221                     <CONS 'REPEAT TEMP13 = TEMP13>
222                     <CHTYPE TEMP13 <TYPE-CODE FORM> = TEMP13>
223                     <RETURN TEMP13>
224                     <DEAD TEMP13>
225                     <END \1aUNTIL><COND (<AND <GASSIGNED? UNTIL> <NOT <TYPE? ,UNTIL MACRO>>> <SETG UNTIL <CHTYPE (,UNTIL) MACRO>>)>
226
227 #WORD *26267644360*
228 <GFCN \1aBUILD ("VALUE" ANY ATOM "ARGS" <LIST [REST ATOM ANY]>) NTYPE8 FILLER9>
229                     <OPT-DISPATCH 1 %<> OPT6 OPT7>
230 OPT6
231                     <PUSH ()>
232 OPT7
233                     <TEMP TEMP12 STUFF15 TEMP20:FIX SLOTS19 TEMP23 INITED21 ATM16:ATOM I18:FIX>
234                     <INTGO>
235                     <NTHR NTYPE8 5 = TEMP12 (RECORD-TYPE ATOM) (BRANCH-FALSE + PHRASE11)>
236                     <TYPE? TEMP12 <TYPE-CODE FALSE> + PHRASE11>
237                     <DEAD TEMP12>
238                     <SET STUFF15 FILLER9>
239                     <LENL FILLER9 = TEMP20 (TYPE FIX)>
240                     <DEAD FILLER9>
241                     <LSH TEMP20 -1 = TEMP20 (TYPE FIX)>
242                     <USBLOCK <TYPE-CODE VECTOR> TEMP20 = SLOTS19 (TYPE VECTOR)>
243                     <LSH TEMP20 1 = TEMP20>
244                     <SUB 0 TEMP20 = TEMP20>
245                     <LENUV SLOTS19 = TEMP12 (TYPE FIX)>
246                     <USBLOCK <TYPE-CODE VECTOR> TEMP12 = INITED21>
247                     <SET TEMP23 INITED21>
248                     <LOOP (TEMP23 VALUE LENGTH)>
249 ISTR24
250                     <EMPUV? TEMP23 + ISTRE25>
251                     <PUTUV TEMP23 1 %<>>
252                     <RESTUV TEMP23 1 = TEMP23>
253                     <JUMP + ISTR24>
254 ISTRE25
255                     <LSH TEMP12 1 = TEMP12>
256                     <SUB TEMP20 TEMP12 = TEMP20>
257                     <DEAD TEMP12>
258                     <LOOP>
259 AGAIN26
260                     <INTGO>
261                     <EMPL? STUFF15 - PHRASE28 (TYPE LIST)>
262                     <CONS 'CHTYPE () = TEMP12>
263                     <FRAME '\1aTYPEPRIM>
264                     <PUSH NTYPE8>
265                     <CALL '\1aTYPEPRIM 1 = TEMP23>
266                     <CONS TEMP23 () = TEMP23>
267                     <SET STUFF15 SLOTS19>
268                     <DEAD SLOTS19>
269                     <SET SLOTS19 TEMP23>
270                     <EMPUV? STUFF15 + TAG31>
271                     <LOOP (STUFF15 VALUE LENGTH) (SLOTS19 VALUE)>
272 TAG30
273                     <NTHUV STUFF15 1 = INITED21>
274                     <CONS INITED21 () = INITED21>
275                     <PUTREST SLOTS19 INITED21>
276                     <DEAD SLOTS19>
277                     <SET SLOTS19 INITED21>
278                     <DEAD INITED21>
279                     <RESTUV STUFF15 1 = STUFF15 (TYPE VECTOR)>
280                     <EMPUV? STUFF15 - TAG30>
281 TAG31
282                     <PUTREST SLOTS19 ()>
283                     <DEAD SLOTS19>
284                     <CHTYPE TEMP23 <TYPE-CODE FORM> = SLOTS19>
285                     <DEAD TEMP23>
286                     <CONS SLOTS19 () = SLOTS19>
287                     <PUTREST TEMP12 SLOTS19>
288                     <CONS NTYPE8 () = STUFF15>
289                     <DEAD NTYPE8>
290                     <PUTREST SLOTS19 STUFF15>
291                     <DEAD SLOTS19>
292                     <PUTREST STUFF15 ()>
293                     <DEAD STUFF15>
294                     <CHTYPE TEMP12 <TYPE-CODE FORM> = TEMP12>
295                     <JUMP + EXIT13>
296 PHRASE28
297                     <NTHL STUFF15 1 = ATM16 (TYPE ATOM)>
298                     <NTHR ATM16 1 = TEMP12 (RECORD-TYPE ATOM) (BRANCH-FALSE + BOOL36)>
299                     <TYPE? TEMP12 <TYPE-CODE FALSE> + BOOL36>
300                     <NTHR TEMP12 1 = TEMP12 (RECORD-TYPE GBIND)>
301                     <TYPE? TEMP12 <TYPE-CODE UNBOUND> + BOOL36>
302                     <DEAD TEMP12>
303                     <GVAL ATM16 = TEMP23>
304                     <TYPE? TEMP23 <TYPE-CODE OFFSET> - BOOL36>
305                     <NTHUV TEMP23 1 = I18>
306                     <LENUV SLOTS19 = TEMP12 (TYPE FIX)>
307                     <GRTR? I18 TEMP12 + BOOL36 (TYPE FIX)>
308                     <DEAD TEMP12>
309                     <NTHUV TEMP23 2 = TEMP12>
310                     <EQUAL? TEMP12 NTYPE8 + PHRASE35>
311                     <DEAD TEMP12>
312 BOOL36
313                     <FRAME '\1aERROR>
314                     <PUSH 'BAD-SLOT-NAME>
315                     <PUSH ATM16>
316                     <DEAD ATM16>
317                     <PUSH NTYPE8>
318                     <DEAD NTYPE8>
319                     <PUSH 'BUILD>
320                     <CALL '\1aERROR 4 = TEMP12>
321                     <JUMP + EXIT13>
322 PHRASE35
323                     <RESTL STUFF15 1 = STUFF15 (TYPE LIST)>
324                     <EMPL? STUFF15 - PHRASE38 (TYPE LIST)>
325                     <FRAME '\1aERROR>
326                     <PUSH 'MISSING-SLOT-VALUE!-ERRORS>
327                     <PUSH TEMP23>
328                     <DEAD TEMP23>
329                     <PUSH 'BUILD>
330                     <CALL '\1aERROR 3 = TEMP12>
331                     <JUMP + EXIT13>
332 PHRASE38
333                     <NTHL STUFF15 1 = TEMP12>
334                     <PUTUV SLOTS19 I18 TEMP12>
335                     <DEAD TEMP12>
336                     <NTHUV INITED21 I18 = TEMP12>
337                     <TYPE? TEMP12 <TYPE-CODE FALSE> + PHRASE42>
338                     <DEAD TEMP12>
339                     <FRAME '\1aERROR>
340                     <PUSH 'SLOT-INITIALIZED-TWICE!-ERRORS>
341                     <PUSH TEMP23>
342                     <DEAD TEMP23>
343                     <PUSH 'BUILD>
344                     <CALL '\1aERROR 3 = TEMP12>
345                     <JUMP + EXIT13>
346 PHRASE42
347                     <PUTUV INITED21 I18 'T>
348                     <DEAD I18>
349                     <RESTL STUFF15 1 = STUFF15 (TYPE LIST)>
350                     <JUMP + AGAIN26>
351 EXIT13
352                     <SUB TEMP20 4 = TEMP20 (TYPE FIX)>
353                     <ADJ TEMP20>
354                     <DEAD TEMP20>
355                     <RETURN TEMP12>
356                     <DEAD TEMP12>
357 PHRASE11
358                     <FRAME '\1aERROR>
359                     <PUSH 'BAD-TYPE-NAME!-ERRORS>
360                     <PUSH NTYPE8>
361                     <DEAD NTYPE8>
362                     <PUSH 'BUILD>
363                     <CALL '\1aERROR 3 = TEMP12>
364                     <RETURN TEMP12>
365                     <DEAD TEMP12>
366                     <END \1aBUILD><COND (<AND <GASSIGNED? BUILD> <NOT <TYPE? ,BUILD MACRO>>> <SETG BUILD <CHTYPE (,BUILD) MACRO>>)>
367
368 #WORD *1526753766*
369 <GFCN \1aPRIMTYPE? ("VALUE" ANY "QUOTE" ANY "ARGS" ANY) OBJECT8 TYPES9>
370                     <OPT-DISPATCH 1 %<> OPT6 OPT7>
371 OPT6
372                     <PUSH ()>
373 OPT7
374                     <TEMP TEMP13 TEMP16 TEMP26 X30>
375                     <INTGO>
376                     <EMPL? TYPES9 - PHRASE11 (TYPE LIST)>
377                     <FRAME '\1aERROR>
378                     <PUSH 'TOO-FEW-ARGUMENTS-SUPPLIED!-ERRORS>
379                     <PUSH 'PRIMTYPE?>
380                     <CALL '\1aERROR 2 = TEMP13>
381                     <RETURN TEMP13>
382                     <DEAD TEMP13>
383 PHRASE11
384                     <RESTL TYPES9 1 = TEMP13 (TYPE LIST)>
385                     <EMPL? TEMP13 - PHRASE14 (TYPE LIST)>
386                     <DEAD TEMP13>
387                     <NTHL TYPES9 1 = TEMP13>
388                     <DEAD TYPES9>
389                     <CONS TEMP13 () = TEMP13>
390                     <CONS OBJECT8 () = TEMP16>
391                     <DEAD OBJECT8>
392                     <CONS 'PRIMTYPE TEMP16 = TEMP16>
393                     <CHTYPE TEMP16 <TYPE-CODE FORM> = TEMP16>
394                     <CONS TEMP16 TEMP13 = TEMP13>
395                     <DEAD TEMP16>
396                     <CONS '==? TEMP13 = TEMP13>
397                     <CHTYPE TEMP13 <TYPE-CODE FORM> = TEMP13>
398                     <RETURN TEMP13>
399                     <DEAD TEMP13>
400 PHRASE14
401                     <SET TEMP13 () (TYPE LIST)>
402                     <SET TEMP26 () (TYPE LIST)>
403                     <SET TEMP16 TYPES9 (TYPE LIST)>
404                     <DEAD TYPES9>
405                     <LOOP>
406 MAP21
407                     <INTGO>
408                     <EMPL? TEMP16 + MAPAP24>
409                     <NTHL TEMP16 1 = X30>
410                     <CONS X30 () = X30>
411                     <CONS .O X30 = X30>
412                     <CONS '==? X30 = X30>
413                     <CHTYPE X30 <TYPE-CODE FORM> = X30>
414                     <CONS X30 () = X30 (TYPE LIST)>
415                     <EMPL? TEMP13 - TAG32>
416                     <SET TEMP13 X30 (TYPE LIST)>
417                     <JUMP + TAG33>
418 TAG32
419                     <PUTREST TEMP26 X30>
420                     <DEAD TEMP26>
421 TAG33
422                     <SET TEMP26 X30 (TYPE LIST)>
423                     <DEAD X30>
424                     <RESTL TEMP16 1 = TEMP16 (TYPE LIST)>
425                     <JUMP + MAP21>
426 MAPAP24
427                     <SET TEMP16 () (TYPE LIST)>
428                     <EMPL? TEMP13 + TAG19>
429                     <NTHL TEMP13 1 = X30>
430                     <CONS X30 () = X30>
431                     <SET TEMP16 X30>
432                     <RESTL TEMP13 1 = TEMP13 (TYPE LIST)>
433                     <EMPL? TEMP13 + TAG19>
434                     <LOOP (TEMP13 VALUE) (X30 VALUE)>
435 TAG18
436                     <NTHL TEMP13 1 = TEMP26>
437                     <CONS TEMP26 () = TEMP26>
438                     <PUTREST X30 TEMP26>
439                     <DEAD X30>
440                     <SET X30 TEMP26>
441                     <DEAD TEMP26>
442                     <RESTL TEMP13 1 = TEMP13 (TYPE LIST)>
443                     <EMPL? TEMP13 - TAG18>
444 TAG19
445                     <CONS 'OR TEMP16 = TEMP16>
446                     <CHTYPE TEMP16 <TYPE-CODE FORM> = TEMP16>
447                     <CONS TEMP16 (.O) = TEMP16>
448                     <CONS TEMP16 () = TEMP16>
449                     <CONS 'COND TEMP16 = TEMP16>
450                     <CHTYPE TEMP16 <TYPE-CODE FORM> = TEMP16>
451                     <CONS TEMP16 () = TEMP16>
452                     <CONS OBJECT8 () = X30>
453                     <DEAD OBJECT8>
454                     <CONS 'PRIMTYPE X30 = X30>
455                     <CHTYPE X30 <TYPE-CODE FORM> = X30>
456                     <CONS X30 () = X30>
457                     <CONS O:ATOM X30 = X30>
458                     <CONS X30 () = X30>
459                     <CONS X30 TEMP16 = TEMP16>
460                     <DEAD X30>
461                     <CONS 'BIND TEMP16 = TEMP16>
462                     <CHTYPE TEMP16 <TYPE-CODE FORM> = TEMP13>
463                     <DEAD TEMP16>
464                     <RETURN TEMP13>
465                     <DEAD TEMP13>
466                     <END \1aPRIMTYPE?><COND (<AND <GASSIGNED? PRIMTYPE?> <NOT <TYPE? ,PRIMTYPE? MACRO>>> <SETG PRIMTYPE? <CHTYPE (,PRIMTYPE?) MACRO>>)>
467
468 #WORD *7617522500*
469                     <GFCN \1aMULTI-SET ("VALUE" FORM "QUOTE" ANY "ARGS" ANY) B\\ 38 STUFF9>
470                     <OPT-DISPATCH 1 %<> OPT6 OPT7>
471 OPT6
472                     <PUSH ()>
473 OPT7
474                     <TEMP CNT13 TEMP27 TEMP25 TEMP29 ATM32 TEMP33 TEMP34 TEMP35 TEMP36>
475                     <INTGO>
476                     <SET CNT13 0 (TYPE FIX)>
477                     <SET TEMP27 () (TYPE LIST)>
478                     <SET TEMP25 () (TYPE LIST)>
479                     <GEN-LVAL 'ATOMS = TEMP29>
480                     <LOOP>
481 MAP19
482                     <INTGO>
483                     <EMPTY? TEMP29 + MAPAP22>
484                     <NTH1 TEMP29 = ATM32>
485                     <CONS 'COND () = TEMP33>
486                     <CONS 'G=? () = TEMP34>
487                     <CONS .LEN () = TEMP35>
488                     <PUTREST TEMP34 TEMP35>
489                     <ADD CNT13 1 = CNT13 (TYPE FIX)>
490                     <CONS CNT13 () = TEMP36>
491                     <PUTREST TEMP35 TEMP36>
492                     <DEAD TEMP35>
493                     <PUTREST TEMP36 ()>
494                     <DEAD TEMP36>
495                     <CHTYPE TEMP34 <TYPE-CODE FORM> = TEMP34>
496                     <CONS TEMP34 () = TEMP36>
497                     <DEAD TEMP34>
498                     <CONS CNT13 (.THINGS) = TEMP35>
499                     <CHTYPE TEMP35 <TYPE-CODE FORM> = TEMP35>
500                     <CONS TEMP35 () = TEMP35>
501                     <CONS ATM32 TEMP35 = TEMP35>
502                     <DEAD ATM32>
503                     <CONS 'SET TEMP35 = TEMP35>
504                     <CHTYPE TEMP35 <TYPE-CODE FORM> = TEMP35>
505                     <CONS TEMP35 () = TEMP35>
506                     <PUTREST TEMP36 TEMP35>
507                     <PUTREST TEMP35 ()>
508                     <DEAD TEMP35>
509                     <CONS TEMP36 () = TEMP36>
510                     <PUTREST TEMP33 TEMP36>
511                     <PUTREST TEMP36 ()>
512                     <DEAD TEMP36>
513                     <CHTYPE TEMP33 <TYPE-CODE FORM> = TEMP33>
514                     <CONS TEMP33 () = TEMP33 (TYPE LIST)>
515                     <EMPL? TEMP27 - TAG37>
516                     <SET TEMP27 TEMP33 (TYPE LIST)>
517                     <JUMP + TAG38>
518 TAG37
519                     <PUTREST TEMP25 TEMP33>
520                     <DEAD TEMP25>
521 TAG38
522                     <SET TEMP25 TEMP33 (TYPE LIST)>
523                     <DEAD TEMP33>
524                     <REST1 TEMP29 = TEMP29>
525                     <JUMP + MAP19>
526 MAPAP22
527                     <SET TEMP29 () (TYPE LIST)>
528                     <EMPL? TEMP27 + TAG16>
529                     <NTHL TEMP27 1 = TEMP33>
530                     <CONS TEMP33 () = TEMP36>
531                     <DEAD TEMP33>
532                     <SET TEMP29 TEMP36>
533                     <RESTL TEMP27 1 = TEMP27 (TYPE LIST)>
534                     <EMPL? TEMP27 + TAG16>
535                     <LOOP (TEMP27 VALUE) (TEMP36 VALUE)>
536 TAG15
537                     <NTHL TEMP27 1 = TEMP33>
538                     <CONS TEMP33 () = TEMP33>
539                     <PUTREST TEMP36 TEMP33>
540                     <DEAD TEMP36>
541                     <SET TEMP36 TEMP33>
542                     <DEAD TEMP33>
543                     <RESTL TEMP27 1 = TEMP27 (TYPE LIST)>
544                     <EMPL? TEMP27 - TAG15>
545 TAG16
546                     <SET TEMP36 STUFF9>
547                     <DEAD STUFF9>
548                     <SET TEMP27 () (TYPE LIST)>
549                     <EMPL? TEMP36 + TAG40>
550                     <NTHL TEMP36 1 = TEMP33>
551                     <CONS TEMP33 () = TEMP33>
552                     <SET TEMP27 TEMP33>
553                     <RESTL TEMP36 1 = TEMP36 (TYPE LIST)>
554                     <EMPL? TEMP36 + TAG40>
555                     <LOOP (TEMP36 VALUE) (TEMP33 VALUE)>
556 TAG39
557                     <NTHL TEMP36 1 = TEMP35>
558                     <CONS TEMP35 () = TEMP35>
559                     <PUTREST TEMP33 TEMP35>
560                     <DEAD TEMP33>
561                     <SET TEMP33 TEMP35>
562                     <DEAD TEMP35>
563                     <RESTL TEMP36 1 = TEMP36 (TYPE LIST)>
564                     <EMPL? TEMP36 - TAG39>
565 TAG40
566                     <CONS 'VECTOR TEMP27 = TEMP27>
567                     <CHTYPE TEMP27 <TYPE-CODE FORM> = TEMP27>
568                     <CONS TEMP27 () = TEMP27>
569                     <CONS 'STACK TEMP27 = TEMP27>
570                     <CHTYPE TEMP27 <TYPE-CODE FORM> = TEMP27>
571                     <CONS TEMP27 () = TEMP27>
572                     <CONS 'THINGS TEMP27 = TEMP27>
573                     <CONS TEMP27 ((LEN:FIX <LENGTH .THINGS>)) = TEMP27>
574                     <CONS TEMP27 TEMP29 = TEMP29>
575                     <DEAD TEMP27>
576                     <CONS 'BIND TEMP29 = TEMP29>
577                     <CHTYPE TEMP29 <TYPE-CODE FORM> = CNT13>
578                     <DEAD TEMP29>
579                     <RETURN CNT13>
580                     <DEAD CNT13>
581                     <END \1aMULTI-SET>
582 <COND (<AND <GASSIGNED? MULTI-SET> <NOT <TYPE? ,MULTI-SET MACRO>>> <SETG MULTI-SET <CHTYPE (,MULTI-SET) MACRO>>)>
583
584 <END-DEFINITIONS>