2 <DEFINITIONS "STDMACS">
4 <USE-WHEN <COMPILING? "STDMACS"> "BACKQUOTE">
7 <GFCN
\1aIF ("VALUE" FORM "ARGS" ANY) STUFF8>
8 <OPT-DISPATCH 0 %<> OPT6 OPT7>
12 <TEMP ELSE-CLAUSE10 TEMP20 TEMP18 TEMP17 RSTUFF22:LIST ITEM23>
14 <SET TEMP20 () (TYPE LIST)>
15 <SET TEMP18 () (TYPE LIST)>
16 <SET TEMP17 STUFF8 (TYPE LIST)>
21 <EMPL? TEMP17 + MAPAP15>
23 <NTHL RSTUFF22 1 = ITEM23>
24 <EQUAL? ITEM23 'ELSE - PHRASE25>
25 <SET ELSE-CLAUSE10 RSTUFF22>
29 <CONS ITEM23 () = ITEM23 (TYPE LIST)>
30 <EMPL? TEMP20 - TAG29>
31 <SET TEMP20 ITEM23 (TYPE LIST)>
34 <PUTREST TEMP18 ITEM23>
37 <SET TEMP18 ITEM23 (TYPE LIST)>
39 <RESTL TEMP17 1 = TEMP17 (TYPE LIST)>
42 <TYPE? ELSE-CLAUSE10 <TYPE-CODE UNBOUND> + PHRASE32>
43 <CONS ELSE-CLAUSE10 () = TEMP17>
45 <CONS TEMP20 TEMP17 = TEMP17>
47 <CONS 'COND TEMP17 = TEMP17>
48 <CHTYPE TEMP17 <TYPE-CODE FORM> = TEMP17>
52 <CONS TEMP20 () = ITEM23>
54 <CONS 'COND ITEM23 = ITEM23>
55 <CHTYPE ITEM23 <TYPE-CODE FORM> = TEMP17>
59 <END
\1aIF><COND (<AND <GASSIGNED? IF> <NOT <TYPE? ,IF MACRO>>> <SETG IF <CHTYPE (,IF) MACRO>>)>
62 <GFCN
\1aWHEN ("VALUE" FORM "QUOTE" ANY "ARGS" ANY) TEST8 THINGS9>
63 <OPT-DISPATCH 1 %<> OPT6 OPT7>
67 <TEMP TEMP12 TEMP13 TEMP14 TEMP15>
71 <SET TEMP13 () (TYPE LIST)>
72 <EMPL? TEMP12 + TAG11>
73 <NTHL TEMP12 1 = TEMP14>
74 <CONS TEMP14 () = TEMP14>
76 <RESTL TEMP12 1 = TEMP12 (TYPE LIST)>
77 <EMPL? TEMP12 + TAG11>
78 <LOOP (TEMP12 VALUE) (TEMP14 VALUE)>
80 <NTHL TEMP12 1 = TEMP15>
81 <CONS TEMP15 () = TEMP15>
82 <PUTREST TEMP14 TEMP15>
86 <RESTL TEMP12 1 = TEMP12 (TYPE LIST)>
87 <EMPL? TEMP12 - TAG10>
89 <CONS TEST8 TEMP13 = TEMP12>
91 <CONS TEMP12 () = TEMP12>
92 <CONS 'COND TEMP12 = TEMP12>
93 <CHTYPE TEMP12 <TYPE-CODE FORM> = TEMP12>
96 <END
\1aWHEN><COND (<AND <GASSIGNED? WHEN> <NOT <TYPE? ,WHEN MACRO>>> <SETG WHEN <CHTYPE (,WHEN) MACRO>>)>
99 <GFCN
\1aUNLESS ("VALUE" FORM "QUOTE" ANY "ARGS" ANY) TEST8 THINGS9>
100 <OPT-DISPATCH 1 %<> OPT6 OPT7>
104 <TEMP TEMP12 TEMP13 TEMP14 TEMP15>
108 <SET TEMP13 () (TYPE LIST)>
109 <EMPL? TEMP12 + TAG11>
110 <NTHL TEMP12 1 = TEMP14>
111 <CONS TEMP14 () = TEMP14>
113 <RESTL TEMP12 1 = TEMP12 (TYPE LIST)>
114 <EMPL? TEMP12 + TAG11>
115 <LOOP (TEMP12 VALUE) (TEMP14 VALUE)>
117 <NTHL TEMP12 1 = TEMP15>
118 <CONS TEMP15 () = TEMP15>
119 <PUTREST TEMP14 TEMP15>
123 <RESTL TEMP12 1 = TEMP12 (TYPE LIST)>
124 <EMPL? TEMP12 - TAG10>
126 <CONS TEST8 () = TEMP12>
128 <CONS 'NOT TEMP12 = TEMP12>
129 <CHTYPE TEMP12 <TYPE-CODE FORM> = TEMP12>
130 <CONS TEMP12 TEMP13 = TEMP13>
132 <CONS TEMP13 () = TEMP13>
133 <CONS 'COND TEMP13 = TEMP13>
134 <CHTYPE TEMP13 <TYPE-CODE FORM> = TEMP13>
138 <COND (<AND <GASSIGNED? UNLESS> <NOT <TYPE? ,UNLESS MACRO>>> <SETG UNLESS <CHTYPE (,UNLESS) MACRO>>)>
141 <GFCN
\1aWHILE ("VALUE" FORM "QUOTE" ANY "ARGS" ANY) TEST8 THINGS9>
142 <OPT-DISPATCH 1 %<> OPT6 OPT7>
146 <TEMP TEMP12 TEMP13 TEMP14 TEMP15>
150 <SET TEMP13 () (TYPE LIST)>
151 <EMPL? TEMP12 + TAG11>
152 <NTHL TEMP12 1 = TEMP14>
153 <CONS TEMP14 () = TEMP14>
155 <RESTL TEMP12 1 = TEMP12 (TYPE LIST)>
156 <EMPL? TEMP12 + TAG11>
157 <LOOP (TEMP12 VALUE) (TEMP14 VALUE)>
159 <NTHL TEMP12 1 = TEMP15>
160 <CONS TEMP15 () = TEMP15>
161 <PUTREST TEMP14 TEMP15>
165 <RESTL TEMP12 1 = TEMP12 (TYPE LIST)>
166 <EMPL? TEMP12 - TAG10>
168 <CONS TEST8 () = TEMP12>
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>
178 <CONS () TEMP13 = TEMP13>
179 <CONS 'REPEAT TEMP13 = TEMP13>
180 <CHTYPE TEMP13 <TYPE-CODE FORM> = TEMP13>
183 <END
\1aWHILE><COND (<AND <GASSIGNED? WHILE> <NOT <TYPE? ,WHILE MACRO>>> <SETG WHILE <CHTYPE (,WHILE) MACRO>>)>
186 <GFCN
\1aUNTIL ("VALUE" FORM "QUOTE" ANY "ARGS" ANY) TEST8 THINGS9>
187 <OPT-DISPATCH 1 %<> OPT6 OPT7>
191 <TEMP TEMP12 TEMP13 TEMP14 TEMP15>
195 <SET TEMP13 () (TYPE LIST)>
196 <EMPL? TEMP12 + TAG11>
197 <NTHL TEMP12 1 = TEMP14>
198 <CONS TEMP14 () = TEMP14>
200 <RESTL TEMP12 1 = TEMP12 (TYPE LIST)>
201 <EMPL? TEMP12 + TAG11>
202 <LOOP (TEMP12 VALUE) (TEMP14 VALUE)>
204 <NTHL TEMP12 1 = TEMP15>
205 <CONS TEMP15 () = TEMP15>
206 <PUTREST TEMP14 TEMP15>
210 <RESTL TEMP12 1 = TEMP12 (TYPE LIST)>
211 <EMPL? TEMP12 - TAG10>
213 <CONS TEST8 (<RETURN>) = TEMP12>
215 <CONS TEMP12 () = TEMP12>
216 <CONS 'COND TEMP12 = TEMP12>
217 <CHTYPE TEMP12 <TYPE-CODE FORM> = TEMP12>
218 <CONS TEMP12 TEMP13 = TEMP13>
220 <CONS () TEMP13 = TEMP13>
221 <CONS 'REPEAT TEMP13 = TEMP13>
222 <CHTYPE TEMP13 <TYPE-CODE FORM> = TEMP13>
225 <END
\1aUNTIL><COND (<AND <GASSIGNED? UNTIL> <NOT <TYPE? ,UNTIL MACRO>>> <SETG UNTIL <CHTYPE (,UNTIL) MACRO>>)>
228 <GFCN
\1aBUILD ("VALUE" ANY ATOM "ARGS" <LIST [REST ATOM ANY]>) NTYPE8 FILLER9>
229 <OPT-DISPATCH 1 %<> OPT6 OPT7>
233 <TEMP TEMP12 STUFF15 TEMP20:FIX SLOTS19 TEMP23 INITED21 ATM16:ATOM I18:FIX>
235 <NTHR NTYPE8 5 = TEMP12 (RECORD-TYPE ATOM) (BRANCH-FALSE + PHRASE11)>
236 <TYPE? TEMP12 <TYPE-CODE FALSE> + PHRASE11>
238 <SET STUFF15 FILLER9>
239 <LENL FILLER9 = TEMP20 (TYPE FIX)>
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)>
250 <EMPUV? TEMP23 + ISTRE25>
252 <RESTUV TEMP23 1 = TEMP23>
255 <LSH TEMP12 1 = TEMP12>
256 <SUB TEMP20 TEMP12 = TEMP20>
261 <EMPL? STUFF15 - PHRASE28 (TYPE LIST)>
262 <CONS 'CHTYPE () = TEMP12>
265 <CALL '
\1aTYPEPRIM 1 = TEMP23>
266 <CONS TEMP23 () = TEMP23>
267 <SET STUFF15 SLOTS19>
270 <EMPUV? STUFF15 + TAG31>
271 <LOOP (STUFF15 VALUE LENGTH) (SLOTS19 VALUE)>
273 <NTHUV STUFF15 1 = INITED21>
274 <CONS INITED21 () = INITED21>
275 <PUTREST SLOTS19 INITED21>
277 <SET SLOTS19 INITED21>
279 <RESTUV STUFF15 1 = STUFF15 (TYPE VECTOR)>
280 <EMPUV? STUFF15 - TAG30>
284 <CHTYPE TEMP23 <TYPE-CODE FORM> = SLOTS19>
286 <CONS SLOTS19 () = SLOTS19>
287 <PUTREST TEMP12 SLOTS19>
288 <CONS NTYPE8 () = STUFF15>
290 <PUTREST SLOTS19 STUFF15>
294 <CHTYPE TEMP12 <TYPE-CODE FORM> = TEMP12>
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>
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)>
309 <NTHUV TEMP23 2 = TEMP12>
310 <EQUAL? TEMP12 NTYPE8 + PHRASE35>
314 <PUSH 'BAD-SLOT-NAME>
320 <CALL '
\1aERROR 4 = TEMP12>
323 <RESTL STUFF15 1 = STUFF15 (TYPE LIST)>
324 <EMPL? STUFF15 - PHRASE38 (TYPE LIST)>
326 <PUSH 'MISSING-SLOT-VALUE!-ERRORS>
330 <CALL '
\1aERROR 3 = TEMP12>
333 <NTHL STUFF15 1 = TEMP12>
334 <PUTUV SLOTS19 I18 TEMP12>
336 <NTHUV INITED21 I18 = TEMP12>
337 <TYPE? TEMP12 <TYPE-CODE FALSE> + PHRASE42>
340 <PUSH 'SLOT-INITIALIZED-TWICE!-ERRORS>
344 <CALL '
\1aERROR 3 = TEMP12>
347 <PUTUV INITED21 I18 'T>
349 <RESTL STUFF15 1 = STUFF15 (TYPE LIST)>
352 <SUB TEMP20 4 = TEMP20 (TYPE FIX)>
359 <PUSH 'BAD-TYPE-NAME!-ERRORS>
363 <CALL '
\1aERROR 3 = TEMP12>
366 <END
\1aBUILD><COND (<AND <GASSIGNED? BUILD> <NOT <TYPE? ,BUILD MACRO>>> <SETG BUILD <CHTYPE (,BUILD) MACRO>>)>
369 <GFCN
\1aPRIMTYPE? ("VALUE" ANY "QUOTE" ANY "ARGS" ANY) OBJECT8 TYPES9>
370 <OPT-DISPATCH 1 %<> OPT6 OPT7>
374 <TEMP TEMP13 TEMP16 TEMP26 X30>
376 <EMPL? TYPES9 - PHRASE11 (TYPE LIST)>
378 <PUSH 'TOO-FEW-ARGUMENTS-SUPPLIED!-ERRORS>
380 <CALL '
\1aERROR 2 = TEMP13>
384 <RESTL TYPES9 1 = TEMP13 (TYPE LIST)>
385 <EMPL? TEMP13 - PHRASE14 (TYPE LIST)>
387 <NTHL TYPES9 1 = TEMP13>
389 <CONS TEMP13 () = TEMP13>
390 <CONS OBJECT8 () = TEMP16>
392 <CONS 'PRIMTYPE TEMP16 = TEMP16>
393 <CHTYPE TEMP16 <TYPE-CODE FORM> = TEMP16>
394 <CONS TEMP16 TEMP13 = TEMP13>
396 <CONS '==? TEMP13 = TEMP13>
397 <CHTYPE TEMP13 <TYPE-CODE FORM> = TEMP13>
401 <SET TEMP13 () (TYPE LIST)>
402 <SET TEMP26 () (TYPE LIST)>
403 <SET TEMP16 TYPES9 (TYPE LIST)>
408 <EMPL? TEMP16 + MAPAP24>
409 <NTHL TEMP16 1 = 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)>
422 <SET TEMP26 X30 (TYPE LIST)>
424 <RESTL TEMP16 1 = TEMP16 (TYPE LIST)>
427 <SET TEMP16 () (TYPE LIST)>
428 <EMPL? TEMP13 + TAG19>
429 <NTHL TEMP13 1 = X30>
432 <RESTL TEMP13 1 = TEMP13 (TYPE LIST)>
433 <EMPL? TEMP13 + TAG19>
434 <LOOP (TEMP13 VALUE) (X30 VALUE)>
436 <NTHL TEMP13 1 = TEMP26>
437 <CONS TEMP26 () = TEMP26>
442 <RESTL TEMP13 1 = TEMP13 (TYPE LIST)>
443 <EMPL? TEMP13 - TAG18>
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>
454 <CONS 'PRIMTYPE X30 = X30>
455 <CHTYPE X30 <TYPE-CODE FORM> = X30>
457 <CONS O:ATOM X30 = X30>
459 <CONS X30 TEMP16 = TEMP16>
461 <CONS 'BIND TEMP16 = TEMP16>
462 <CHTYPE TEMP16 <TYPE-CODE FORM> = TEMP13>
466 <END
\1aPRIMTYPE?><COND (<AND <GASSIGNED? PRIMTYPE?> <NOT <TYPE? ,PRIMTYPE? MACRO>>> <SETG PRIMTYPE? <CHTYPE (,PRIMTYPE?) MACRO>>)>
469 <GFCN
\1aMULTI-SET ("VALUE" FORM "QUOTE" ANY "ARGS" ANY) B\
\ 38 STUFF9>
470 <OPT-DISPATCH 1 %<> OPT6 OPT7>
474 <TEMP CNT13 TEMP27 TEMP25 TEMP29 ATM32 TEMP33 TEMP34 TEMP35 TEMP36>
476 <SET CNT13 0 (TYPE FIX)>
477 <SET TEMP27 () (TYPE LIST)>
478 <SET TEMP25 () (TYPE LIST)>
479 <GEN-LVAL 'ATOMS = TEMP29>
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>
495 <CHTYPE TEMP34 <TYPE-CODE FORM> = TEMP34>
496 <CONS TEMP34 () = TEMP36>
498 <CONS CNT13 (.THINGS) = TEMP35>
499 <CHTYPE TEMP35 <TYPE-CODE FORM> = TEMP35>
500 <CONS TEMP35 () = TEMP35>
501 <CONS ATM32 TEMP35 = TEMP35>
503 <CONS 'SET TEMP35 = TEMP35>
504 <CHTYPE TEMP35 <TYPE-CODE FORM> = TEMP35>
505 <CONS TEMP35 () = TEMP35>
506 <PUTREST TEMP36 TEMP35>
509 <CONS TEMP36 () = TEMP36>
510 <PUTREST TEMP33 TEMP36>
513 <CHTYPE TEMP33 <TYPE-CODE FORM> = TEMP33>
514 <CONS TEMP33 () = TEMP33 (TYPE LIST)>
515 <EMPL? TEMP27 - TAG37>
516 <SET TEMP27 TEMP33 (TYPE LIST)>
519 <PUTREST TEMP25 TEMP33>
522 <SET TEMP25 TEMP33 (TYPE LIST)>
524 <REST1 TEMP29 = TEMP29>
527 <SET TEMP29 () (TYPE LIST)>
528 <EMPL? TEMP27 + TAG16>
529 <NTHL TEMP27 1 = TEMP33>
530 <CONS TEMP33 () = TEMP36>
533 <RESTL TEMP27 1 = TEMP27 (TYPE LIST)>
534 <EMPL? TEMP27 + TAG16>
535 <LOOP (TEMP27 VALUE) (TEMP36 VALUE)>
537 <NTHL TEMP27 1 = TEMP33>
538 <CONS TEMP33 () = TEMP33>
539 <PUTREST TEMP36 TEMP33>
543 <RESTL TEMP27 1 = TEMP27 (TYPE LIST)>
544 <EMPL? TEMP27 - TAG15>
548 <SET TEMP27 () (TYPE LIST)>
549 <EMPL? TEMP36 + TAG40>
550 <NTHL TEMP36 1 = TEMP33>
551 <CONS TEMP33 () = TEMP33>
553 <RESTL TEMP36 1 = TEMP36 (TYPE LIST)>
554 <EMPL? TEMP36 + TAG40>
555 <LOOP (TEMP36 VALUE) (TEMP33 VALUE)>
557 <NTHL TEMP36 1 = TEMP35>
558 <CONS TEMP35 () = TEMP35>
559 <PUTREST TEMP33 TEMP35>
563 <RESTL TEMP36 1 = TEMP36 (TYPE LIST)>
564 <EMPL? TEMP36 - TAG39>
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>
576 <CONS 'BIND TEMP29 = TEMP29>
577 <CHTYPE TEMP29 <TYPE-CODE FORM> = CNT13>
582 <COND (<AND <GASSIGNED? MULTI-SET> <NOT <TYPE? ,MULTI-SET MACRO>>> <SETG MULTI-SET <CHTYPE (,MULTI-SET) MACRO>>)>