6 <USE "COMPDEC" "CODGEN" "CHKDCL" "MIMGEN" "ADVMESS" "STRGEN">
9 <GFCN
\1aMEMQ-GEN ("VALUE" ANY NODE ANY "OPTIONAL" <OR FALSE ATOM> <OR FALSE ATOM> <OR FALSE ATOM> ANY) N9 W10 NOTF11 BRANCH12 DIR13 SETF14>
10 <OPT-DISPATCH 2 %<> OPT4 OPT5 OPT6 OPT7 OPT8>
20 <TEMP TEMP37 STR15 THING16 TYP17 TPS18 FLS19 SDIR20 TTYP21 TYPTMP22 ETY24 TWIN25 B226 B331:ATOM RW32 FC33 LP34 NXT-TAG36 TEM29 TEMP71 TEMP72 TY30>
22 <NTHUV N9 5 = TEMP37 (TYPE LIST)>
23 <RESTL TEMP37 1 = TEMP37 (TYPE LIST)>
24 <NTHL TEMP37 1 = STR15 (TYPE NODE)>
26 <NTHUV N9 5 = TEMP37 (TYPE LIST)>
27 <NTHL TEMP37 1 = THING16 (TYPE NODE)>
29 <NTHUV STR15 3 = TYP17>
32 <CALL '
\1aSTRUCTYP 1 = TPS18>
33 <EQUAL? W10 'FLUSHED - TAG39>
34 <SET FLS19 'T (TYPE ATOM)>
37 <SET FLS19 %<> (TYPE FALSE)>
40 <NTHUV THING16 3 = TTYP21>
41 <FRAME '
\1aGET-ELE-TYPE>
44 <CALL '
\1aGET-ELE-TYPE 2 = ETY24>
48 <CALL '
\1aTYPESAME 2 = TWIN25>
49 <VEQUAL? FLS19 0 + PHRASE44>
50 <TYPE? BRANCH12 <TYPE-CODE FALSE> + PHRASE44>
55 <CALL '
\1aMAKE-TAG 0 = TEMP37>
60 <CALL '
\1aMAKE-TAG 0 = B331>
64 <CALL '
\1aMINL 1 = TEMP37>
65 <VEQUAL? TEMP37 0 - TAG50 (TYPE FIX)>
67 <SET FC33 'T (TYPE ATOM)>
70 <SET FC33 %<> (TYPE FALSE)>
73 <CALL '
\1aMAKE-TAG 0 = LP34>
75 <CALL '
\1aMAKE-TAG 0 = NXT-TAG36>
76 <TYPE? NOTF11 <TYPE-CODE FALSE> + TAG58>
77 <TYPE? DIR13 <TYPE-CODE FALSE> - TAG57>
79 <SET DIR13 'T (TYPE ATOM)>
82 <SET DIR13 %<> (TYPE FALSE)>
84 <TYPE? W10 <TYPE-CODE TEMP> - PHRASE60>
85 <NTHUV W10 2 = TEMP37 (TYPE FIX)>
86 <GRTR? TEMP37 0 + PHRASE60 (TYPE FIX)>
91 <SET TEM29 'DONT-CARE (TYPE ATOM)>
95 <TYPE? TEMP37 <TYPE-CODE FALSE> - PHRASE66>
97 <NTHUV STR15 1 = TEMP37 (TYPE FIX)>
98 <GVAL 'SNODES = TEMP71>
99 <EMPUU? TEMP71 + TAG68>
100 <LOOP (TEMP37 VALUE) (TEMP71 LENGTH VALUE)>
102 <NTHUU TEMP71 1 = TEMP72>
103 <VEQUAL? TEMP72 TEMP37 + PHRASE66>
105 <RESTUU TEMP71 1 = TEMP71 (TYPE UVECTOR)>
106 <EMPUU? TEMP71 - TAG69>
108 <NTHUV THING16 1 = TEMP71 (TYPE FIX)>
109 <GVAL 'SNODES = TEMP37>
110 <EMPUU? TEMP37 + PHRASE66>
111 <LOOP (TEMP71 VALUE) (TEMP37 LENGTH VALUE)>
113 <NTHUU TEMP37 1 = TEMP72>
114 <VEQUAL? TEMP72 TEMP71 + TAG73>
116 <RESTUU TEMP37 1 = TEMP37 (TYPE UVECTOR)>
117 <EMPUU? TEMP37 - TAG74>
125 <CALL '
\1aGEN 2 = TEM29>
130 <CALL '
\1aGEN 2 = THING16>
137 <CALL '
\1aGEN 2 = THING16>
138 <FRAME '
\1aINTERF-CHANGE>
142 <CALL '
\1aINTERF-CHANGE 2 = THING16>
148 <CALL '
\1aGEN 2 = TEM29>
150 <TYPE? TEM29 <TYPE-CODE TEMP> - BOOL84>
151 <NTHUV TEM29 2 = TEMP37 (TYPE FIX)>
152 <GRTR? TEMP37 1 - PHRASE83 (TYPE FIX)>
155 <VEQUAL? FLS19 0 - PHRASE88>
156 <TYPE? NOTF11 <TYPE-CODE FALSE> - PHRASE88>
157 <TYPE? TPS18 <TYPE-CODE FALSE> + PHRASE88>
161 <CALL '
\1aISTYPE? 1 = TEMP37>
162 <VEQUAL? TPS18 TEMP37 + PHRASE88>
164 <FRAME '
\1aFREE-TEMP>
167 <CALL '
\1aFREE-TEMP 2>
175 <CALL '
\1aFORM 2 = STACK>
179 <CALL '
\1aGEN-TEMP 1 = TEM29>
189 <CALL '
\1aGEN-TEMP 1 = STACK>
190 <CALL '
\1aMOVE-ARG 2 = TEM29>
193 <VEQUAL? FLS19 0 - PHRASE98>
194 <TYPE? NOTF11 <TYPE-CODE FALSE> - PHRASE98>
195 <TYPE? TPS18 <TYPE-CODE FALSE> + PHRASE98>
199 <CALL '
\1aISTYPE? 1 = TEMP37>
200 <VEQUAL? TPS18 TEMP37 + PHRASE98>
208 <CALL '
\1aFORM 2 = STACK>
213 <TYPE? TWIN25 <TYPE-CODE FALSE> - PHRASE104>
217 <CALL '
\1aISTYPE? 1 = TY30>
218 <TYPE? TY30 <TYPE-CODE FALSE> + PHRASE104>
219 <FRAME '
\1aGEN-TYPE?>
222 <TYPE? DIR13 <TYPE-CODE FALSE> + PHRASE109>
231 <CALL '
\1aGEN-TYPE? 4>
232 <SET TWIN25 'T (TYPE ATOM)>
237 <CALL '
\1aISTYPE? 1 = TTYP21>
238 <TYPE? TTYP21 <TYPE-CODE FALSE> - PHRASE112>
239 <TYPE? TY30 <TYPE-CODE FALSE> - PHRASE112>
246 <CALL '
\1aGEN-TEMP 0 = TYPTMP22>
250 <TYPE? BRANCH12 <TYPE-CODE FALSE> + PHRASE118>
251 <VEQUAL? FLS19 0 - PHRASE118>
252 <TYPE? DIR13 <TYPE-CODE FALSE> + PHRASE118>
253 <TYPE? NOTF11 <TYPE-CODE FALSE> - PHRASE118>
257 <CALL '
\1a=? 2 = TEMP37>
258 <VEQUAL? TEMP37 0 + PHRASE118>
260 <TYPE? SETF14 <TYPE-CODE FALSE> - PHRASE118>
263 <VEQUAL? FC33 0 + PHRASE129>
265 <TYPE? TPS18 <TYPE-CODE FALSE> + PHRASE124>
266 <FRAME '
\1aEMPTY-CHECK>
271 <TYPE? DIR13 <TYPE-CODE FALSE> + PHRASE127>
279 <CALL '
\1aEMPTY-CHECK 5>
286 <TYPE? DIR13 <TYPE-CODE FALSE> + PHRASE132>
298 <SET TEMP71 2 (TYPE FIX)>
299 <TYPE? THING16 <TYPE-CODE TEMP> - PHRASE136>
300 <TYPE? TYPTMP22 <TYPE-CODE UNBOUND> + PHRASE138>
301 <CONS 'VALUE () = TEMP72>
302 <NTHUV TYPTMP22 1 = STR15 (TYPE ATOM)>
303 <CONS STR15 TEMP72 = TEMP72>
305 <CONS TEMP72 () = TEMP37>
307 <CONS 'VALUE () = TEMP72>
308 <NTHUV THING16 1 = STR15 (TYPE ATOM)>
309 <CONS STR15 TEMP72 = TEMP72>
311 <CONS TEMP72 TEMP37 = TEMP37>
315 <CONS 'VALUE () = TEMP72>
316 <NTHUV THING16 1 = STR15 (TYPE ATOM)>
317 <CONS STR15 TEMP72 = TEMP72>
319 <CONS TEMP72 () = TEMP37>
323 <TYPE? TYPTMP22 <TYPE-CODE UNBOUND> + PHRASE141>
324 <CONS 'VALUE () = TEMP72>
325 <NTHUV TYPTMP22 1 = STR15 (TYPE ATOM)>
326 <CONS STR15 TEMP72 = TEMP72>
328 <CONS TEMP72 () = TEMP37>
332 <SET TEMP37 () (TYPE LIST)>
334 <LOOP (TEMP37 VALUE) (TEMP71 VALUE)>
337 <EMPL? TEMP37 + TAG134>
338 <NTHL TEMP37 1 = STACK>
339 <RESTL TEMP37 1 = TEMP37 (TYPE LIST)>
340 <ADD TEMP71 1 = TEMP71 (TYPE FIX)>
343 <TYPE? TPS18 <TYPE-CODE FALSE> - PHRASE146>
344 <CONS 'TYPE () = TEMP72>
345 <CONS 'VALUE TEMP72 = TEMP72>
346 <CONS 'LENGTH TEMP72 = TEMP72>
347 <NTHUV TEM29 1 = STR15 (TYPE ATOM)>
348 <CONS STR15 TEMP72 = TEMP72>
352 <VEQUAL? TPS18 'LIST - PHRASE147>
353 <CONS 'VALUE () = TEMP72>
354 <NTHUV TEM29 1 = STR15 (TYPE ATOM)>
355 <CONS STR15 TEMP72 = TEMP72>
359 <CONS 'VALUE () = TEMP72>
360 <CONS 'LENGTH TEMP72 = TEMP72>
361 <NTHUV TEM29 1 = STR15 (TYPE ATOM)>
362 <CONS STR15 TEMP72 = TEMP72>
367 <CALL '
\1aIEMIT TEMP71>
369 <FRAME '
\1aLABEL-TAG>
371 <CALL '
\1aLABEL-TAG 1>
372 <TYPE? TPS18 <TYPE-CODE FALSE> + PHRASE151>
377 <CALL '
\1aGEN-TEMP 0 = TEMP37>
388 <CALL '
\1aGEN-TEMP 0 = TEMP37>
392 <TYPE? TYPTMP22 <TYPE-CODE UNBOUND> + PHRASE158>
393 <FRAME '
\1aGEN-TYPE?>
398 <CALL '
\1aGEN-TYPE? 4>
401 <TYPE? TWIN25 <TYPE-CODE FALSE> - PHRASE160>
403 <FRAME '
\1aGEN-TYPE?>
409 <CALL '
\1aGEN-TYPE? 4>
416 <CALL '
\1aATOMCHK 1 = STACK>
418 <TYPE? DIR13 <TYPE-CODE FALSE> + PHRASE165>
427 <FRAME '
\1aFREE-TEMP>
430 <CALL '
\1aFREE-TEMP 1>
431 <FRAME '
\1aLABEL-TAG>
434 <CALL '
\1aLABEL-TAG 1>
435 <TYPE? TPS18 <TYPE-CODE FALSE> + PHRASE170>
451 <TYPE? TPS18 <TYPE-CODE FALSE> + PHRASE175>
452 <FRAME '
\1aEMPTY-CHECK>
460 <CALL '
\1aEMPTY-CHECK 5>
471 <FRAME '
\1aFREE-TEMP>
474 <CALL '
\1aFREE-TEMP 1>
475 <TYPE? TYPTMP22 <TYPE-CODE UNBOUND> + PHRASE181>
476 <FRAME '
\1aFREE-TEMP>
479 <CALL '
\1aFREE-TEMP 1>
481 <TYPE? BRANCH12 <TYPE-CODE FALSE> + PHRASE184>
482 <VEQUAL? FLS19 0 + PHRASE184>
484 <TYPE? DIR13 <TYPE-CODE FALSE> - PHRASE187>
486 <FRAME '
\1aBRANCH-TAG>
489 <CALL '
\1aBRANCH-TAG 1>
490 <FRAME '
\1aLABEL-TAG>
493 <CALL '
\1aLABEL-TAG 1>
496 <FRAME '
\1aLABEL-TAG>
499 <CALL '
\1aLABEL-TAG 1>
501 <FRAME '
\1aFREE-TEMP>
504 <CALL '
\1aFREE-TEMP 1>
507 <TYPE? NOTF11 <TYPE-CODE FALSE> - BOOL194>
508 <TYPE? SETF14 <TYPE-CODE FALSE> - PHRASE193>
509 <TYPE? BRANCH12 <TYPE-CODE FALSE> - TAG196>
510 <SET TEMP71 'T (TYPE ATOM)>
513 <SET TEMP71 %<> (TYPE FALSE)>
515 <TYPE? DIR13 <TYPE-CODE FALSE> - TAG198>
516 <SET TEMP37 'T (TYPE ATOM)>
519 <SET TEMP37 %<> (TYPE FALSE)>
521 <VEQUAL? TEMP71 TEMP37 + PHRASE193>
524 <EQUAL? TEM29 W10 - PHRASE201>
525 <FRAME '
\1aDEALLOCATE-TEMP>
528 <CALL '
\1aDEALLOCATE-TEMP 1>
531 <FRAME '
\1aFREE-TEMP>
534 <CALL '
\1aFREE-TEMP 1>
536 <TYPE? NOTF11 <TYPE-CODE FALSE> + PHRASE206>
538 <TYPE? DIR13 <TYPE-CODE FALSE> + PHRASE206>
540 <FRAME '
\1aBRANCH-TAG>
542 <CALL '
\1aBRANCH-TAG 1>
544 <FRAME '
\1aLABEL-TAG>
547 <CALL '
\1aLABEL-TAG 1>
549 <FRAME '
\1aREFERENCE>
551 <CALL '
\1aREFERENCE 1 = STACK>
552 <EQUAL? W10 'DONT-CARE - PHRASE213>
555 <CALL '
\1aGEN-TEMP 1 = W10>
558 <CALL '
\1aMOVE-ARG 2>
559 <FRAME '
\1aBRANCH-TAG>
562 <CALL '
\1aBRANCH-TAG 1>
563 <TYPE? SETF14 <TYPE-CODE FALSE> + PHRASE218>
565 <FRAME '
\1aDEALLOCATE-TEMP>
567 <CALL '
\1aDEALLOCATE-TEMP 1>
569 <FRAME '
\1aREFERENCE>
570 <TYPE? SDIR20 <TYPE-CODE FALSE> - TAG222>
572 <SET TEMP37 'T (TYPE ATOM)>
575 <SET TEMP37 %<> (TYPE FALSE)>
579 <CALL '
\1aREFERENCE 1 = STACK>
581 <CALL '
\1aMOVE-ARG 2>
583 <FRAME '
\1aLABEL-TAG>
586 <CALL '
\1aLABEL-TAG 1>
589 <TYPE? BRANCH12 <TYPE-CODE FALSE> + PHRASE227>
590 <VEQUAL? B226 BRANCH12 - PHRASE229>
591 <FRAME '
\1aLABEL-TAG>
594 <CALL '
\1aLABEL-TAG 1>
600 <CALL '
\1aMOVE-ARG 2 = W10>
603 <TYPE? DIR13 <TYPE-CODE FALSE> - PHRASE232>
605 <FRAME '
\1aLABEL-TAG>
608 <CALL '
\1aLABEL-TAG 1>
609 <TYPE? SETF14 <TYPE-CODE FALSE> + PHRASE235>
611 <FRAME '
\1aDEALLOCATE-TEMP>
613 <FRAME '
\1aREFERENCE>
615 <CALL '
\1aREFERENCE 1 = STACK>
617 <CALL '
\1aMOVE-ARG 2 = STACK>
618 <CALL '
\1aDEALLOCATE-TEMP 1>
620 <FRAME '
\1aBRANCH-TAG>
623 <CALL '
\1aBRANCH-TAG 1>
624 <FRAME '
\1aLABEL-TAG>
627 <CALL '
\1aLABEL-TAG 1>
633 <CALL '
\1aMOVE-ARG 2 = W10>
636 <FRAME '
\1aBRANCH-TAG>
638 <CALL '
\1aBRANCH-TAG 1>
639 <FRAME '
\1aLABEL-TAG>
642 <CALL '
\1aLABEL-TAG 1>
648 <CALL '
\1aMOVE-ARG 2 = W10>
649 <FRAME '
\1aBRANCH-TAG>
652 <CALL '
\1aBRANCH-TAG 1>
653 <FRAME '
\1aLABEL-TAG>
656 <CALL '
\1aLABEL-TAG 1>
657 <TYPE? SETF14 <TYPE-CODE FALSE> + PHRASE264>
659 <FRAME '
\1aDEALLOCATE-TEMP>
661 <CALL '
\1aDEALLOCATE-TEMP 1>
663 <FRAME '
\1aREFERENCE>
665 <CALL '
\1aREFERENCE 1 = STACK>
667 <CALL '
\1aMOVE-ARG 2>
670 <FRAME '
\1aDEALLOCATE-TEMP>
672 <CALL '
\1aDEALLOCATE-TEMP 1>
673 <FRAME '
\1aLABEL-TAG>
676 <CALL '
\1aLABEL-TAG 1>
678 <FRAME '
\1aREFERENCE>
680 <CALL '
\1aREFERENCE 1 = STACK>
681 <EQUAL? W10 'DONT-CARE - PHRASE259>
690 <CALL '
\1aMOVE-ARG 2 = W10>
691 <EQUAL? W10 TEM29 - PHRASE262>
692 <FRAME '
\1aLABEL-TAG>
695 <CALL '
\1aLABEL-TAG 1>
698 <FRAME '
\1aDEALLOCATE-TEMP>
700 <CALL '
\1aDEALLOCATE-TEMP 1>
701 <FRAME '
\1aBRANCH-TAG>
703 <CALL '
\1aMAKE-TAG 0 = STR15>
705 <CALL '
\1aBRANCH-TAG 1>
706 <FRAME '
\1aLABEL-TAG>
709 <CALL '
\1aLABEL-TAG 1>
715 <CALL '
\1aMOVE-ARG 2 = W10>
716 <FRAME '
\1aLABEL-TAG>
719 <CALL '
\1aLABEL-TAG 1>
726 <CALL '
\1aMOVE-ARG 2 = TEMP37>