3 <GFCN
\1aCREATE-AC ("VALUE" AC ATOM FIX) NAME4 NUM5>
6 <UUBLOCK <TYPE-CODE VECTOR> 5 = LVS7 (TYPE VECTOR)>
7 <RESTUV LVS7 5 = LVS7 (TYPE VECTOR)>
20 <UBLOCK <TYPE-CODE VECTOR> 9 = LVS7>
21 <CHTYPE LVS7 <TYPE-CODE AC> = LVS7>
27 <GFCN
\1aINITIALIZE-ACS ("VALUE" AC-STATE)>
28 <TEMP (NUM4:FIX -1) TEMP11:VECTOR TEMP12:VECTOR TEMP13:VECTOR ATM118:ATOM ATM219 NUM-SYM20 TEMP23>
30 <SET TEMP11 [AC-0 AC-1 AC-2 AC-3 AC-4 AC-5 AC-6 AC-7 AC-8 AC-9 AC-10 AC-M AC-F AC-TP AC-P AC-PC] (TYPE VECTOR)>
31 <SET TEMP12 [AC-0 AC-1 AC-2 AC-3 AC-4 AC-5 AC-6 AC-7 AC-8 AC-9 AC-10 M F TP P PC] (TYPE VECTOR)>
32 <SET TEMP13 [0 0 0 0 0 0 0 0 0 0 0 NAC-M NAC-F NAC-TP NAC-P NAC-PC] (TYPE VECTOR)>
36 <EMPUV? TEMP11 + MAPAP9>
37 <EMPUV? TEMP12 + MAPAP9>
38 <EMPUV? TEMP13 + MAPAP9>
39 <NTHUV TEMP11 1 = ATM118>
40 <NTHUV TEMP12 1 = ATM219>
41 <NTHUV TEMP13 1 = NUM-SYM20>
45 <ADD NUM4 1 = NUM4 (TYPE FIX)>
47 <CALL '
\1aCREATE-AC 2 = ATM219>
48 <NTHR ATM118 1 = TEMP23 (RECORD-TYPE ATOM) (BRANCH-FALSE + TAG24)>
49 <TYPE? TEMP23 <TYPE-CODE FALSE> + TAG24>
50 <PUTR TEMP23 1 ATM219 (RECORD-TYPE GBIND)>
59 <CALL '
\1aSETG 2 = ATM219>
61 <TYPE? NUM-SYM20 <TYPE-CODE ATOM> - TAG29>
62 <NTHR NUM-SYM20 1 = ATM219 (RECORD-TYPE ATOM) (BRANCH-FALSE + TAG28)>
63 <TYPE? ATM219 <TYPE-CODE FALSE> + TAG28>
64 <PUTR ATM219 1 NUM4 (RECORD-TYPE GBIND)>
73 <CALL '
\1aSETG 2 = NUM4>
75 <RESTUV TEMP11 1 = TEMP11 (TYPE VECTOR)>
76 <RESTUV TEMP12 1 = TEMP12 (TYPE VECTOR)>
77 <RESTUV TEMP13 1 = TEMP13 (TYPE VECTOR)>
91 <UBLOCK <TYPE-CODE VECTOR> 11 = TEMP13>
92 <SETG 'ALL-ACS TEMP13>
99 <UBLOCK <TYPE-CODE VECTOR> 5 = TEMP13>
100 <SETG 'VAL-ACS TEMP13>
107 <UBLOCK <TYPE-CODE VECTOR> 5 = TEMP13>
108 <SETG 'TYPE-ACS TEMP13>
111 <FRAME '
\1aINIT-VARIABLE-CACHE>
112 <CALL '
\1aINIT-VARIABLE-CACHE 0 = TEMP13>
115 <END
\1aINITIALIZE-ACS>
118 <GFCN
\1aRESET-AC-STACK-MODEL ("VALUE" <OR FALSE VARTBL>)>
119 <TEMP CACHE4:VECTOR TEMP16 AC17:AC VARS18 TEMP19>
121 <GVAL 'VARIABLE-CACHE = CACHE4>
122 <GVAL 'ALL-ACS = TEMP16>
126 <EMPUV? TEMP16 + MAPAP9>
127 <NTHUV TEMP16 1 = AC17>
128 <NTHUV AC17 8 = VARS18 (TYPE VECTOR)>
129 <LENUV VARS18 = TEMP19 (TYPE FIX)>
130 <RESTUV VARS18 TEMP19 = TEMP19 (TYPE VECTOR)>
132 <PUTUV AC17 8 TEMP19>
134 <RESTUV TEMP16 1 = TEMP16 (TYPE VECTOR)>
137 <LENUV CACHE4 = TEMP16 (TYPE FIX)>
138 <RESTUV CACHE4 TEMP16 = TEMP16 (TYPE VECTOR)>
140 <SETG 'VARIABLE-CACHE TEMP16>
142 <FRAME '
\1aINIT-STACK-MODEL>
143 <CALL '
\1aINIT-STACK-MODEL 0>
144 <FRAME '
\1aINIT-VAR-LIST>
145 <CALL '
\1aINIT-VAR-LIST 0>
146 <SETG 'STATUS-AC %<>>
147 <SETG 'STATUS-VAR %<>>
149 <END
\1aRESET-AC-STACK-MODEL>
152 <GFCN
\1aCLEAR-DEATH ("VALUE" <OR FALSE VARTBL>)>
153 <TEMP TEMP13 TEMP15:LIST>
155 <SET TEMP13 %<> (TYPE FALSE)>
156 <GVAL 'VAR-LIST = TEMP15>
160 <EMPL? TEMP15 + MAPAP8>
161 <NTHL TEMP15 1 = TEMP13>
163 <RESTL TEMP15 1 = TEMP15 (TYPE LIST)>
171 <GFCN
\1aINDICATE-ALL-DEAD ("VALUE" <OR FALSE VARTBL>)>
172 <TEMP TEMP13 TEMP15:LIST>
174 <SET TEMP13 %<> (TYPE FALSE)>
175 <GVAL 'VAR-LIST = TEMP15>
179 <EMPL? TEMP15 + MAPAP8>
180 <NTHL TEMP15 1 = TEMP13>
182 <RESTL TEMP15 1 = TEMP15 (TYPE LIST)>
187 <END
\1aINDICATE-ALL-DEAD>
190 <GFCN
\1aSAFE-DEAD-VAR ("VALUE" ATOM "TUPLE" <TUPLE [REST <OR VARTBL ATOM>]>)>
191 <MAKTUP VARS4 VAR16 LV17 TEMP29 = VARS4>
193 <CHTYPE VARS4 <TYPE-CODE VECTOR> = VARS4>
197 <EMPUV? VARS4 + MAPAP9>
198 <NTHUV VARS4 1 = VAR16>
199 <TYPE? VAR16 <TYPE-CODE VARTBL> - PHRASE23>
200 <FRAME '
\1aFIND-CACHE-VAR>
202 <CALL '
\1aFIND-CACHE-VAR 1 = LV17>
203 <TYPE? LV17 <TYPE-CODE FALSE> + PHRASE32>
204 <NTHUV VAR16 4 = TEMP29>
205 <TYPE? TEMP29 <TYPE-CODE FALSE> + BOOL28>
207 <NTHUV LV17 5 = TEMP29>
208 <TYPE? TEMP29 <TYPE-CODE FALSE> + BOOL28>
210 <FRAME '
\1aCOUNT-NEEDED?>
211 <NTHUV LV17 5 = STACK (TYPE ATOM)>
212 <CALL '
\1aCOUNT-NEEDED? 1 = TEMP29>
213 <TYPE? TEMP29 <TYPE-CODE FALSE> + PHRASE32>
216 <NTHUV LV17 3 = TEMP29>
217 <TYPE? TEMP29 <TYPE-CODE FALSE> + BOOL34>
219 <NTHUV LV17 2 = TEMP29>
220 <TYPE? TEMP29 <TYPE-CODE FALSE> + BOOL37>
223 <NTHUV LV17 4 = TEMP29>
224 <TYPE? TEMP29 <TYPE-CODE FALSE> + BOOL35>
226 <NTHUV LV17 2 = TEMP29>
227 <TYPE? TEMP29 <TYPE-CODE FALSE> + BOOL37>
230 <NTHUV LV17 2 = TEMP29>
231 <TYPE? TEMP29 <TYPE-CODE FALSE> + PHRASE32>
233 <NTHUV LV17 3 = TEMP29>
234 <TYPE? TEMP29 <TYPE-CODE FALSE> + BOOL37>
236 <NTHUV LV17 4 = TEMP29>
238 <TYPE? TEMP29 <TYPE-CODE FALSE> - PHRASE32>
243 <FRAME '
\1aADDR-VAR-TYPE>
245 <CALL '
\1aADDR-VAR-TYPE 1 = STACK>
251 <CALL '
\1aDEAD-VAR 1>
253 <RESTUV VARS4 1 = VARS4 (TYPE VECTOR)>
257 <END
\1aSAFE-DEAD-VAR>
260 <GFCN
\1aDEAD-VAR ("VALUE" ATOM "TUPLE" <TUPLE [REST <OR VARTBL ATOM>]>)>
261 <MAKTUP VARS4 VAR16 LV17 AC37:AC = VARS4>
263 <CHTYPE VARS4 <TYPE-CODE VECTOR> = VARS4>
267 <EMPUV? VARS4 + MAPAP9>
268 <NTHUV VARS4 1 = VAR16>
269 <TYPE? VAR16 <TYPE-CODE VARTBL> - MAPAP30>
270 <FRAME '
\1aFIND-CACHE-VAR>
272 <CALL '
\1aFIND-CACHE-VAR 1 = LV17>
273 <TYPE? LV17 <TYPE-CODE FALSE> + BOOL22>
274 <NTHUV LV17 4 = LV17>
275 <TYPE? LV17 <TYPE-CODE FALSE> - PHRASE21>
278 <FRAME '
\1aINDICATE-VAR-TEMP-DECL>
281 <CALL '
\1aINDICATE-VAR-TEMP-DECL 2>
283 <GVAL 'ALL-ACS = LV17>
287 <EMPUV? LV17 + MAPAP30>
288 <NTHUV LV17 1 = AC37>
289 <FRAME '
\1aBREAK-LINK>
293 <CALL '
\1aBREAK-LINK 2>
294 <RESTUV LV17 1 = LV17 (TYPE VECTOR)>
297 <RESTUV VARS4 1 = VARS4 (TYPE VECTOR)>
304 <GFCN
\1aUSE-ALL-ACS ("VALUE" ANY)>
305 <TEMP TEMP7 TEMP10:VECTOR>
307 <SET TEMP7 %<> (TYPE FALSE)>
308 <GVAL 'ALL-ACS = TEMP10>
312 <EMPUV? TEMP10 + MAP4>
314 <NTHUV TEMP10 1 = STACK>
315 <CALL '
\1aUSE-AC 1 = TEMP7>
316 <RESTUV TEMP10 1 = TEMP10 (TYPE VECTOR)>
323 <GDECL (EMPTY-VAR) VARTBL (EMPTY-LINKVAR) LINKVAR>
326 <GFCN
\1aCREATE-LINKVAR ("VALUE" LINKVAR VARTBL) VAR4>
340 <UBLOCK <TYPE-CODE VECTOR> 10 = TEMP6 (TYPE VECTOR)>
341 <CHTYPE TEMP6 <TYPE-CODE LINKVAR> = TEMP6>
344 <END
\1aCREATE-LINKVAR>
347 <GFCN
\1aCOPY-LINKVAR ("VALUE" LINKVAR LINKVAR) LV4>
350 <NTHUV LV4 1 = STACK (TYPE VARTBL)>
351 <NTHUV LV4 2 = STACK>
352 <NTHUV LV4 3 = STACK>
353 <NTHUV LV4 4 = STACK>
354 <NTHUV LV4 5 = STACK>
355 <NTHUV LV4 6 = STACK>
356 <NTHUV LV4 7 = STACK>
357 <NTHUV LV4 8 = STACK>
358 <NTHUV LV4 9 = STACK>
359 <NTHUV LV4 10 = STACK (TYPE LIST)>
361 <UBLOCK <TYPE-CODE VECTOR> 10 = TEMP6 (TYPE VECTOR)>
362 <CHTYPE TEMP6 <TYPE-CODE LINKVAR> = TEMP6>
365 <END
\1aCOPY-LINKVAR>
367 "THIS OPERATION SAYS THAT THE TYPE-WORD, VALUE-WORD, COUNT, OR TYPE
368 OF A VARIABLE IS IN AN AC"
371 <GFCN
\1aLINK-VAR-TO-AC ("VALUE" <OR ATOM FALSE LINKVAR> ANY AC ANY "OPTIONAL" ANY ANY) VAR7 AC8 KIND9 STORED?10 FLUSH-DECL11>
372 <OPT-DISPATCH 3 %<> OPT4 OPT5 OPT6>
378 <TEMP (TIN?14 %<>) (CIN?15 %<>) (VIN?16 %<>) LV13:LINKVAR TEMP21>
380 <FRAME '
\1aCACHE-VAR>
382 <CALL '
\1aCACHE-VAR 1 = LV13>
383 <NTHUV LV13 7 = TEMP21>
384 <TYPE? TEMP21 <TYPE-CODE FALSE> - BOOL20>
386 <NTHUV LV13 9 = TEMP21>
387 <TYPE? TEMP21 <TYPE-CODE FALSE> + PHRASE19>
390 <SET TIN?14 'T (TYPE ATOM)>
393 <NTHUV LV13 8 = STACK>
394 <NTHUV LV13 9 = STACK>
395 <CALL '
\1aOR? 2 = TEMP21>
396 <TYPE? TEMP21 <TYPE-CODE FALSE> + PHRASE23>
398 <SET CIN?15 'T (TYPE ATOM)>
400 <NTHUV LV13 6 = TEMP21>
401 <TYPE? TEMP21 <TYPE-CODE FALSE> + PHRASE26>
403 <SET VIN?16 'T (TYPE ATOM)>
405 <FRAME '
\1aPLACE-LV-IN-AC>
408 <CALL '
\1aPLACE-LV-IN-AC 2>
409 <EQUAL? KIND9 'TYPE-VALUE-PAIR - PHRASE29>
410 <FRAME '
\1aPLACE-LV-IN-AC>
413 <CALL '
\1aNEXT-AC 1 = STACK>
415 <CALL '
\1aPLACE-LV-IN-AC 2>
417 <TYPE? FLUSH-DECL11 <TYPE-CODE FALSE> + BOOL32>
419 <FRAME '
\1aINDICATE-VAR-TEMP-DECL>
423 <CALL '
\1aINDICATE-VAR-TEMP-DECL 2>
425 <EQUAL? KIND9 'TYPE-VALUE-PAIR - PHRASE35>
426 <NTHUV LV13 9 = TEMP21>
427 <TYPE? TEMP21 <TYPE-CODE FALSE> + BOOL36>
428 <FRAME '
\1aREMOVE-LV-FROM-AC>
432 <CALL '
\1aREMOVE-LV-FROM-AC 2>
438 <CALL '
\1aNEXT-AC 1 = AC8>
439 <NTHUV LV13 6 = TEMP21>
440 <TYPE? TEMP21 <TYPE-CODE FALSE> + BOOL39>
441 <FRAME '
\1aREMOVE-LV-FROM-AC>
445 <CALL '
\1aREMOVE-LV-FROM-AC 2>
451 <EQUAL? KIND9 'VALUE - PHRASE41>
452 <NTHUV LV13 6 = TEMP21>
453 <TYPE? TEMP21 <TYPE-CODE FALSE> + BOOL42>
454 <FRAME '
\1aREMOVE-LV-FROM-AC>
458 <CALL '
\1aREMOVE-LV-FROM-AC 2>
464 <EQUAL? KIND9 'TYPE - PHRASE44>
465 <NTHUV LV13 7 = TEMP21>
466 <TYPE? TEMP21 <TYPE-CODE FALSE> + BOOL45>
467 <FRAME '
\1aREMOVE-LV-FROM-AC>
471 <CALL '
\1aREMOVE-LV-FROM-AC 2>
477 <EQUAL? KIND9 'TYPE-WORD - PHRASE47>
478 <NTHUV LV13 9 = TEMP21>
479 <TYPE? TEMP21 <TYPE-CODE FALSE> + BOOL48>
480 <FRAME '
\1aREMOVE-LV-FROM-AC>
484 <CALL '
\1aREMOVE-LV-FROM-AC 2>
490 <EQUAL? KIND9 'COUNT - PHRASE50>
491 <NTHUV LV13 8 = TEMP21>
492 <TYPE? TEMP21 <TYPE-CODE FALSE> + BOOL51>
493 <FRAME '
\1aREMOVE-LV-FROM-AC>
497 <CALL '
\1aREMOVE-LV-FROM-AC 2>
507 <PUSH 'LINK-VAR-TO-AC>
510 <EQUAL? STORED?10 'NO-CHANGE - TAG56>
513 <VEQUAL? VIN?16 0 - BOOL57>
515 <PUTUV LV13 2 STORED?10>
517 <VEQUAL? TIN?14 0 - BOOL58>
519 <PUTUV LV13 4 STORED?10>
523 <VEQUAL? TEMP21 0 - BOOL59>
524 <PUTUV LV13 3 STORED?10>
531 <END
\1aLINK-VAR-TO-AC>
534 <GFCN
\1aPLACE-LV-IN-AC ("VALUE" <OR FALSE AC> AC LINKVAR) AC4 LV5>
535 <TEMP VARS6 TEMP9 TEMP14>
537 <NTHUV AC4 8 = VARS6 (TYPE VECTOR)>
539 <EMPUV? TEMP9 + TAG11>
540 <LOOP (LV5 VALUE) (TEMP9 LENGTH VALUE)>
542 <NTHUV TEMP9 1 = TEMP14>
543 <VEQUAL? TEMP14 LV5 + TAG10>
545 <RESTUV TEMP9 1 = TEMP9 (TYPE VECTOR)>
546 <EMPUV? TEMP9 - TAG12>
551 <TOPU VARS6 = TEMP14>
552 <VEQUAL? TEMP14 VARS6 - PHRASE16>
556 <SET TEMP9 1 (TYPE FIX)>
559 <LOOP (TEMP14 VALUE LENGTH) (TEMP9 VALUE)>
562 <EMPUV? TEMP14 + TAG17>
563 <NTHUV TEMP14 1 = STACK>
564 <RESTUV TEMP14 1 = TEMP14 (TYPE VECTOR)>
565 <ADD TEMP9 1 = TEMP9 (TYPE FIX)>
568 <UBLOCK <TYPE-CODE VECTOR> TEMP9 = VARS6>
572 <BACKU VARS6 1 = VARS6>
576 <LENUV VARS6 = TEMP14 (TYPE FIX)>
577 <GRTR? TEMP14 1 - BOOL22 (TYPE FIX)>
587 <END
\1aPLACE-LV-IN-AC>
590 <GFCN
\1aREMOVE-LV-FROM-AC ("VALUE" AC AC LINKVAR) AC4 LV5>
593 <NTHUV AC4 8 = VARS6 (TYPE VECTOR)>
594 <FRAME '
\1aREMOVE-LINKVAR>
599 <CALL '
\1aREMOVE-LINKVAR 2 = VARS6>
604 <END
\1aREMOVE-LV-FROM-AC>
607 <GFCN
\1aINDICATE-CACHED-VARIABLE-DECL ("VALUE" ANY VARTBL <OR FALSE ATOM>) VAR4 DECL5>
610 <FRAME '
\1aFIND-CACHE-VAR>
612 <CALL '
\1aFIND-CACHE-VAR 1 = LV6>
614 <TYPE? TEMP10 <TYPE-CODE FALSE> + PHRASE9>
617 <FRAME '
\1aINDICATE-VAR-TEMP-DECL>
622 <CALL '
\1aINDICATE-VAR-TEMP-DECL 2 = TEMP10>
626 <END
\1aINDICATE-CACHED-VARIABLE-DECL>
629 <GFCN
\1aINDICATE-CACHED-VARIABLE-STORED ("VALUE" <OR FALSE LINKVAR> VARTBL <OR FALSE ATOM> ATOM) VAR4 STORED?5 TYP6>
632 <FRAME '
\1aFIND-CACHE-VAR>
635 <CALL '
\1aFIND-CACHE-VAR 1 = LV7>
637 <TYPE? TEMP10 <TYPE-CODE FALSE> + BOOL9>
638 <VEQUAL? TYP6 'TYPE - PHRASE12>
639 <PUTUV LV7 4 STORED?5>
643 <VEQUAL? TYP6 'VALUE - PHRASE13>
644 <PUTUV LV7 2 STORED?5>
648 <VEQUAL? TYP6 'COUNT + TAG15>
651 <PUTUV LV7 3 STORED?5>
661 <END
\1aINDICATE-CACHED-VARIABLE-STORED>
664 <GFCN
\1aINIT-VARIABLE-CACHE ("VALUE" AC-STATE)>
665 <TEMP TEMP7 RES4:VECTOR TEMP9>
667 <FRAME '
\1aINIT-VAR-LIST>
668 <CALL '
\1aINIT-VAR-LIST 0>
669 <FRAME '
\1aCREATE-VAR>
672 <CALL '
\1aCREATE-VAR 2 = TEMP7>
673 <SETG 'EMPTY-VAR TEMP7>
675 <FRAME '
\1aCREATE-LINKVAR>
676 <GVAL 'EMPTY-VAR = STACK>
677 <CALL '
\1aCREATE-LINKVAR 1 = TEMP7>
678 <SETG 'EMPTY-LINKVAR TEMP7>
680 <GVAL 'EMPTY-LINKVAR = TEMP7>
681 <UUBLOCK <TYPE-CODE VECTOR> 30 = RES4>
683 <LOOP (TEMP9 VALUE LENGTH) (TEMP7 TYPE VALUE LENGTH)>
685 <EMPUV? TEMP9 + ISTRE11>
686 <PUTUV TEMP9 1 TEMP7>
687 <RESTUV TEMP9 1 = TEMP9>
690 <LENUV RES4 = TEMP7 (TYPE FIX)>
691 <RESTUV RES4 TEMP7 = TEMP7 (TYPE VECTOR)>
693 <SETG 'VARIABLE-CACHE TEMP7>
696 <END
\1aINIT-VARIABLE-CACHE>
699 <GFCN
\1aFIND-CACHE-VAR ("VALUE" <OR FALSE LINKVAR> VARTBL "OPTIONAL" AC-STATE) VAR6 CACHE7>
700 <OPT-DISPATCH 1 %<> OPT4 OPT5>
704 <TEMP TEMP19 TEMP16:VECTOR TEMP24:VARTBL>
706 <TYPE? CACHE7 <TYPE-CODE UNBOUND> - TAG8>
707 <GVAL 'VARIABLE-CACHE = CACHE7>
709 <SET TEMP19 %<> (TYPE FALSE)>
710 <SET TEMP16 CACHE7 (TYPE VECTOR)>
715 <EMPUV? TEMP16 + MAPAP14>
716 <NTHUV TEMP16 1 = TEMP19>
717 <NTHUV TEMP19 1 = TEMP24 (TYPE VARTBL)>
718 <VEQUAL? TEMP24 VAR6 + TAG23>
720 <SET TEMP19 %<> (TYPE FALSE)>
726 <RESTUV TEMP16 1 = TEMP16 (TYPE VECTOR)>
731 <END
\1aFIND-CACHE-VAR>
734 <GFCN
\1aVAR-VALUE-IN-AC? ("VALUE" <OR AC FALSE> VARTBL) VAR4>
737 <FRAME '
\1aFIND-CACHE-VAR>
740 <CALL '
\1aFIND-CACHE-VAR 1 = LVAR5>
742 <TYPE? TEMP8 <TYPE-CODE FALSE> + BOOL7>
743 <NTHUV LVAR5 6 = TEMP8>
748 <END
\1aVAR-VALUE-IN-AC?>
751 <GFCN
\1aVAR-TYPE-IN-AC? ("VALUE" <OR AC FALSE> VARTBL) VAR4>
754 <FRAME '
\1aFIND-CACHE-VAR>
757 <CALL '
\1aFIND-CACHE-VAR 1 = LVAR5>
759 <TYPE? TEMP8 <TYPE-CODE FALSE> + BOOL9>
760 <NTHUV LVAR5 7 = TEMP8>
761 <TYPE? TEMP8 <TYPE-CODE FALSE> - BOOL9>
762 <NTHUV LVAR5 9 = TEMP8>
767 <END
\1aVAR-TYPE-IN-AC?>
770 <GFCN
\1aVAR-COUNT-IN-AC? ("VALUE" <OR AC FALSE> VARTBL) VAR4>
773 <FRAME '
\1aFIND-CACHE-VAR>
776 <CALL '
\1aFIND-CACHE-VAR 1 = LVAR5>
778 <TYPE? TEMP8 <TYPE-CODE FALSE> + BOOL7>
779 <NTHUV LVAR5 8 = TEMP8>
784 <END
\1aVAR-COUNT-IN-AC?>
787 <GFCN
\1aVAR-TYPE-WORD-IN-AC? ("VALUE" <OR AC FALSE> VARTBL) VAR4>
790 <FRAME '
\1aFIND-CACHE-VAR>
793 <CALL '
\1aFIND-CACHE-VAR 1 = LVAR5>
795 <TYPE? TEMP8 <TYPE-CODE FALSE> + BOOL7>
796 <NTHUV LVAR5 9 = TEMP8>
801 <END
\1aVAR-TYPE-WORD-IN-AC?>
804 <GFCN
\1aVAR-COUNT-STORED? ("VALUE" ANY ANY) VAR4>
807 <FRAME '
\1aFIND-CACHE-VAR>
809 <CALL '
\1aFIND-CACHE-VAR 1 = LVAR5>
810 <TYPE? LVAR5 <TYPE-CODE FALSE> + PHRASE7>
811 <NTHUV LVAR5 3 = LVAR5>
812 <TYPE? LVAR5 <TYPE-CODE FALSE> + COND6>
813 <FRAME '
\1aADDR-VAR-COUNT>
816 <CALL '
\1aADDR-VAR-COUNT 1 = LVAR5>
820 <FRAME '
\1aADDR-VAR-COUNT>
823 <CALL '
\1aADDR-VAR-COUNT 1 = LVAR5>
827 <END
\1aVAR-COUNT-STORED?>
830 <GFCN
\1aSAFE-TYPE-WORD? ("VALUE" <OR AC ATOM FALSE> VARTBL) VAR4>
833 <FRAME '
\1aFIND-CACHE-VAR>
835 <CALL '
\1aFIND-CACHE-VAR 1 = LVAR5>
836 <TYPE? LVAR5 <TYPE-CODE FALSE> + PHRASE7>
837 <NTHUV LVAR5 9 = TEMP10>
838 <TYPE? TEMP10 <TYPE-CODE FALSE> - COND6>
839 <NTHUV LVAR5 4 = TEMP10>
840 <TYPE? TEMP10 <TYPE-CODE FALSE> + BOOL11>
842 <NTHUV LVAR5 3 = TEMP10>
843 <TYPE? TEMP10 <TYPE-CODE FALSE> - COND6>
845 <NTHUV VAR4 4 = TEMP10>
847 <TYPE? TEMP10 <TYPE-CODE FALSE> + COND6>
848 <FRAME '
\1aCOUNT-NEEDED?>
849 <NTHUV LVAR5 5 = STACK>
851 <CALL '
\1aCOUNT-NEEDED? 1 = TEMP10>
852 <TYPE? TEMP10 <TYPE-CODE FALSE> - TAG14>
858 <SET TEMP10 'T (TYPE ATOM)>
862 <END
\1aSAFE-TYPE-WORD?>
865 <GFCN
\1aCACHE-VAR ("VALUE" LINKVAR VARTBL "OPTIONAL" <OR FALSE LINKVAR>) VAR6 LVC7>
866 <OPT-DISPATCH 1 %<> OPT4 OPT5>
870 <TEMP RES8 CACHE9 TEMP19 TEMP21:FIX>
872 <FRAME '
\1aFIND-CACHE-VAR>
874 <CALL '
\1aFIND-CACHE-VAR 1 = RES8>
875 <TYPE? RES8 <TYPE-CODE FALSE> - PHRASE12>
876 <GVAL 'VARIABLE-CACHE = CACHE9>
877 <TYPE? LVC7 <TYPE-CODE FALSE> + PHRASE14>
878 <FRAME '
\1aCOPY-LINKVAR>
881 <CALL '
\1aCOPY-LINKVAR 1 = RES8>
884 <FRAME '
\1aCREATE-LINKVAR>
887 <CALL '
\1aCREATE-LINKVAR 1 = RES8>
889 <TOPU CACHE9 = TEMP19>
890 <VEQUAL? TEMP19 CACHE9 - PHRASE18>
893 <SET TEMP21 1 (TYPE FIX)>
896 <LOOP (TEMP19 VALUE LENGTH) (TEMP21 VALUE)>
899 <EMPUV? TEMP19 + TAG20>
900 <NTHUV TEMP19 1 = STACK>
901 <RESTUV TEMP19 1 = TEMP19 (TYPE VECTOR)>
902 <ADD TEMP21 1 = TEMP21 (TYPE FIX)>
905 <UBLOCK <TYPE-CODE VECTOR> TEMP21 = CACHE9>
909 <BACKU CACHE9 1 = CACHE9>
910 <PUTUV CACHE9 1 RES8>
912 <SETG 'VARIABLE-CACHE CACHE9>
920 <GFCN
\1aBREAK-LINK ("VALUE" <OR FALSE <VECTOR [REST LINKVAR]>> AC VARTBL) AC4 VAR5>
923 <NTHUV AC4 8 = VARS6 (TYPE VECTOR)>
924 <FRAME '
\1aFIND-CACHE-VAR>
929 <CALL '
\1aFIND-CACHE-VAR 2 = VARS6>
931 <TYPE? TEMP10 <TYPE-CODE FALSE> + PHRASE20>
932 <FRAME '
\1aREMOVE-LV-FROM-AC>
935 <CALL '
\1aREMOVE-LV-FROM-AC 2>
936 <NTHUV VARS6 6 = TEMP10>
937 <EQUAL? TEMP10 AC4 - PHRASE14>
942 <NTHUV VARS6 7 = TEMP10>
943 <EQUAL? TEMP10 AC4 - PHRASE16>
948 <NTHUV VARS6 9 = TEMP10>
949 <EQUAL? TEMP10 AC4 - PHRASE17>
954 <NTHUV VARS6 8 = TEMP10>
955 <EQUAL? TEMP10 AC4 - PHRASE18>
959 <NTHUV VARS6 6 = TEMP10>
960 <TYPE? TEMP10 <TYPE-CODE FALSE> + TAG22>
964 <NTHUV VARS6 7 = TEMP10>
965 <TYPE? TEMP10 <TYPE-CODE FALSE> + TAG23>
969 <NTHUV VARS6 9 = TEMP10>
970 <TYPE? TEMP10 <TYPE-CODE FALSE> + TAG24>
974 <NTHUV VARS6 8 = TEMP10>
975 <TYPE? TEMP10 <TYPE-CODE FALSE> + TAG25>
979 <FRAME '
\1aREMOVE-VAR-FROM-CACHE>
982 <CALL '
\1aREMOVE-VAR-FROM-CACHE 1 = TEMP10>
989 <GFCN
\1aREMOVE-VAR-FROM-CACHE ("VALUE" AC-STATE ANY) LV4>
992 <FRAME '
\1aREMOVE-LINKVAR>
995 <GVAL 'VARIABLE-CACHE = STACK>
996 <CALL '
\1aREMOVE-LINKVAR 2 = TEMP6>
997 <SETG 'VARIABLE-CACHE TEMP6>
1000 <END
\1aREMOVE-VAR-FROM-CACHE>
1003 <GFCN
\1aREMOVE-LINKVAR ("VALUE" <VECTOR [REST LINKVAR]> LINKVAR "OPTIONAL" <VECTOR [REST LINKVAR]>) LV6 CACHE7>
1004 <OPT-DISPATCH 1 %<> OPT4 OPT5>
1010 <TYPE? CACHE7 <TYPE-CODE UNBOUND> - TAG10>
1011 <GVAL 'VARIABLE-CACHE = CACHE7>
1014 <EMPUV? LVS8 + TAG12>
1015 <LOOP (LV6 VALUE) (LVS8 LENGTH VALUE)>
1017 <NTHUV LVS8 1 = TEMP16>
1018 <VEQUAL? TEMP16 LV6 + TAG13>
1020 <RESTUV LVS8 1 = LVS8 (TYPE VECTOR)>
1021 <EMPUV? LVS8 - TAG14>
1023 <SET LVS8 %<> (TYPE FALSE)>
1025 <VEQUAL? LVS8 0 + PHRASE18>
1026 <LENUV CACHE7 = TEMP16 (TYPE FIX)>
1027 <LENUV LVS8 = LVS8 (TYPE FIX)>
1028 <SUB TEMP16 LVS8 = TEMP16 (TYPE FIX)>
1030 <GRTR? TEMP16 0 - BOOL20 (TYPE FIX)>
1031 <RESTUV CACHE7 1 = LVS8 (TYPE VECTOR)>
1032 <MOVE-WORDS CACHE7 LVS8 TEMP16 (TYPE VECTOR) (DIRECTION FORWARD)>
1035 <RESTUV CACHE7 1 = LVS8 (TYPE VECTOR)>
1042 <END
\1aREMOVE-LINKVAR>
1045 <GFCN
\1aCLEAR-VARS-FROM-AC ("VALUE" <OR FALSE <VECTOR [REST LINKVAR]>> ANY "OPTIONAL" ANY ANY) AC7 SAVE?8 ALL?9>
1046 <OPT-DISPATCH 1 %<> OPT4 OPT5 OPT6>
1052 <TEMP VARS10:VECTOR TEMP20 LV22 TAC23>
1054 <NTHUV AC7 8 = VARS10 (TYPE VECTOR)>
1055 <SET TEMP20 %<> (TYPE FALSE)>
1059 <EMPUV? VARS10 + MAPAP15>
1060 <NTHUV VARS10 1 = LV22>
1061 <EQUAL? LV22 SAVE?8 - TAG26>
1062 <SET TEMP20 %<> (TYPE FALSE)>
1065 <FRAME '
\1aBREAK-LINK>
1067 <NTHUV LV22 1 = STACK (TYPE VARTBL)>
1068 <CALL '
\1aBREAK-LINK 2>
1070 <TYPE? TEMP20 <TYPE-CODE FALSE> + PHRASE43>
1071 <NTHUV LV22 6 = TAC23>
1072 <TYPE? TAC23 <TYPE-CODE FALSE> + PHRASE31>
1073 <VEQUAL? TAC23 AC7 + PHRASE31>
1074 <FRAME '
\1aBREAK-LINK>
1077 <NTHUV LV22 1 = STACK (TYPE VARTBL)>
1078 <CALL '
\1aBREAK-LINK 2>
1080 <NTHUV LV22 9 = TAC23>
1081 <TYPE? TAC23 <TYPE-CODE FALSE> + PHRASE35>
1082 <VEQUAL? TAC23 AC7 + PHRASE35>
1083 <FRAME '
\1aBREAK-LINK>
1086 <NTHUV LV22 1 = STACK (TYPE VARTBL)>
1087 <CALL '
\1aBREAK-LINK 2>
1089 <NTHUV LV22 7 = TAC23>
1090 <TYPE? TAC23 <TYPE-CODE FALSE> + PHRASE39>
1091 <VEQUAL? TAC23 AC7 + PHRASE39>
1092 <FRAME '
\1aBREAK-LINK>
1095 <NTHUV LV22 1 = STACK (TYPE VARTBL)>
1096 <CALL '
\1aBREAK-LINK 2>
1098 <NTHUV LV22 8 = TAC23>
1100 <TYPE? TEMP20 <TYPE-CODE FALSE> + PHRASE43>
1101 <VEQUAL? TAC23 AC7 - TAG45>
1102 <SET TEMP20 %<> (TYPE FALSE)>
1105 <FRAME '
\1aBREAK-LINK>
1108 <NTHUV LV22 1 = STACK (TYPE VARTBL)>
1110 <CALL '
\1aBREAK-LINK 2 = TEMP20>
1112 <RESTUV VARS10 1 = VARS10 (TYPE VECTOR)>
1117 <END
\1aCLEAR-VARS-FROM-AC>
1120 <GFCN
\1aMUNG-AC ("VALUE" <OR FALSE <VECTOR [REST LINKVAR]>> AC) VAC4>
1123 <FRAME '
\1aSTORE-AC>
1126 <CALL '
\1aSTORE-AC 2>
1130 <FRAME '
\1aCLEAR-VARS-FROM-AC>
1133 <CALL '
\1aCLEAR-VARS-FROM-AC 1 = TEMP8>
1139 <GFCN
\1aFLUSH-ACS ("VALUE" ANY)>
1140 <TEMP TEMP7 TEMP10:VECTOR>
1142 <SET TEMP7 %<> (TYPE FALSE)>
1143 <GVAL 'ALL-ACS = TEMP10>
1147 <EMPUV? TEMP10 + MAP4>
1149 <NTHUV TEMP10 1 = STACK>
1150 <CALL '
\1aMUNG-AC 1 = TEMP7>
1151 <RESTUV TEMP10 1 = TEMP10 (TYPE VECTOR)>
1159 <GFCN
\1aEXCH-AC ("VALUE" <OR FALSE LINKVAR> AC AC) AC14 AC25>
1160 <TEMP VARS6:VECTOR TEMP7 LV21:LINKVAR>
1162 <NTHUV AC25 8 = VARS6 (TYPE VECTOR)>
1163 <NTHUV AC14 8 = TEMP7 (TYPE VECTOR)>
1164 <PUTUV AC25 8 TEMP7>
1166 <PUTUV AC14 8 VARS6>
1168 <FRAME '
\1aCLOAD-AC>
1170 <CALL '
\1aCLOAD-AC 1>
1171 <FRAME '
\1aCLOAD-AC>
1173 <CALL '
\1aCLOAD-AC 1>
1174 <SET TEMP7 %<> (TYPE FALSE)>
1175 <GVAL 'VARIABLE-CACHE = VARS6>
1179 <EMPUV? VARS6 + MAPAP14>
1180 <NTHUV VARS6 1 = LV21>
1181 <FRAME '
\1aEXCH-TEST>
1184 <NTHUV LV21 6 = STACK>
1185 <CALL '
\1aEXCH-TEST 3 = TEMP7>
1186 <PUTUV LV21 6 TEMP7>
1188 <FRAME '
\1aEXCH-TEST>
1191 <NTHUV LV21 7 = STACK>
1192 <CALL '
\1aEXCH-TEST 3 = TEMP7>
1193 <PUTUV LV21 7 TEMP7>
1195 <FRAME '
\1aEXCH-TEST>
1198 <NTHUV LV21 8 = STACK>
1199 <CALL '
\1aEXCH-TEST 3 = TEMP7>
1200 <PUTUV LV21 8 TEMP7>
1202 <FRAME '
\1aEXCH-TEST>
1205 <NTHUV LV21 9 = STACK>
1206 <CALL '
\1aEXCH-TEST 3 = TEMP7>
1207 <PUTUV LV21 9 TEMP7>
1211 <RESTUV VARS6 1 = VARS6 (TYPE VECTOR)>
1219 <GFCN
\1aEXCH-TEST ("VALUE" <OR AC FALSE> AC AC <OR AC FALSE>) AC14 AC25 ACL6>
1222 <EQUAL? AC14 ACL6 - PHRASE8>
1226 <EQUAL? AC25 ACL6 - PHRASE10>
1236 <GFCN
\1aMOVE-AC ("VALUE" <OR FALSE <VECTOR [REST LINKVAR]>> AC AC) AC14 AC25>
1237 <TEMP VARS16:VECTOR VARS27:VECTOR TEMP20:VECTOR LV21 TEMP24>
1239 <NTHUV AC14 8 = VARS16 (TYPE VECTOR)>
1240 <NTHUV AC25 8 = VARS27 (TYPE VECTOR)>
1244 <GVAL 'VARIABLE-CACHE = TEMP20>
1248 <EMPUV? TEMP20 + MAPAP13>
1249 <NTHUV TEMP20 1 = LV21>
1250 <NTHUV LV21 6 = TEMP24>
1251 <EQUAL? TEMP24 AC14 - PHRASE23>
1257 <NTHUV LV21 7 = TEMP24>
1258 <EQUAL? TEMP24 AC14 - PHRASE25>
1264 <NTHUV LV21 9 = TEMP24>
1265 <EQUAL? TEMP24 AC14 - PHRASE26>
1271 <NTHUV LV21 8 = TEMP24>
1272 <EQUAL? TEMP24 AC14 - PHRASE27>
1277 <RESTUV TEMP20 1 = TEMP20 (TYPE VECTOR)>
1280 <FRAME '
\1aADJUST-LENGTH>
1283 <LENUV VARS16 = STACK (TYPE FIX)>
1284 <CALL '
\1aADJUST-LENGTH 2 = VARS27>
1285 <PUTUV AC25 8 VARS27>
1287 <SET TEMP20 VARS27 (TYPE VECTOR)>
1292 <EMPUV? TEMP20 + MAPAP33>
1293 <EMPUV? VARS16 + MAPAP33>
1296 <NTHUV LV21 1 = TEMP24>
1298 <PUTUV VARS27 1 TEMP24>
1299 <DEAD VARS27 TEMP24>
1300 <RESTUV TEMP20 1 = TEMP20 (TYPE VECTOR)>
1301 <RESTUV VARS16 1 = VARS16 (TYPE VECTOR)>
1304 <FRAME '
\1aCLEAR-VARS-FROM-AC>
1307 <CALL '
\1aCLEAR-VARS-FROM-AC 1 = TEMP24>
1313 <GFCN
\1aADJUST-LENGTH ("VALUE" VECTOR VECTOR FIX) VEC4 LEN5>
1314 <TEMP TEMP9 TVEC6 TEMP14:FIX>
1316 <LENUV VEC4 = TEMP9 (TYPE FIX)>
1317 <LESS? LEN5 TEMP9 - PHRASE8 (TYPE FIX)>
1319 <LENUV VEC4 = TEMP9 (TYPE FIX)>
1320 <SUB TEMP9 LEN5 = TEMP9 (TYPE FIX)>
1322 <RESTUV VEC4 TEMP9 = VEC4 (TYPE VECTOR)>
1327 <LENUV VEC4 = TEMP9 (TYPE FIX)>
1328 <GRTR? LEN5 TEMP9 - COND11 (TYPE FIX)>
1332 <LENUV TVEC6 = TEMP9 (TYPE FIX)>
1333 <LESS? LEN5 TEMP9 - PHRASE12 (TYPE FIX)>
1335 <LENUV TVEC6 = TEMP9 (TYPE FIX)>
1336 <SUB TEMP9 LEN5 = TEMP9 (TYPE FIX)>
1338 <RESTUV TVEC6 TEMP9 = VEC4 (TYPE VECTOR)>
1343 <SET TEMP14 0 (TYPE FIX)>
1344 <LENUV TVEC6 = TEMP9 (TYPE FIX)>
1345 <SUB TEMP9 LEN5 = TEMP9 (TYPE FIX)>
1347 <UUBLOCK <TYPE-CODE VECTOR> TEMP9 = TEMP9 (TYPE VECTOR)>
1348 <LOOP (TEMP9 VALUE LENGTH) (TEMP14 VALUE)>
1351 <EMPUV? TEMP9 + TAG13>
1352 <NTHUV TEMP9 1 = STACK>
1353 <RESTUV TEMP9 1 = TEMP9 (TYPE VECTOR)>
1354 <ADD TEMP14 1 = TEMP14 (TYPE FIX)>
1359 <LOOP (TEMP9 VALUE LENGTH) (TEMP14 VALUE)>
1362 <EMPUV? TEMP9 + TAG17>
1363 <NTHUV TEMP9 1 = STACK>
1364 <RESTUV TEMP9 1 = TEMP9 (TYPE VECTOR)>
1365 <ADD TEMP14 1 = TEMP14 (TYPE FIX)>
1368 <UBLOCK <TYPE-CODE VECTOR> TEMP14 = VEC4>
1373 <END
\1aADJUST-LENGTH>
1376 <GFCN
\1aSET-AC-AGE ("VALUE" FIX AC) AC4>
1379 <GVAL 'AC-TIME = TEMP5>
1380 <PUTUV AC4 3 TEMP5 (TYPE FIX)>
1382 <GVAL 'AC-TIME = TEMP5>
1383 <ADD TEMP5 1 = TEMP5 (TYPE FIX)>
1384 <SETG 'AC-TIME TEMP5>
1390 <GFCN
\1aUSE-AC ("VALUE" AC AC) AC4>
1399 <GFCN
\1aPROTECT ("VALUE" AC AC) AC4>
1408 <GFCN
\1aPROTECT-USE ("VALUE" AC AC) AC4>
1413 <CALL '
\1aPROTECT 1>
1417 <CALL '
\1aUSE-AC 1 = TEMP7>
1420 <END
\1aPROTECT-USE>
1423 <GFCN
\1aUNPROTECT ("VALUE" AC AC) AC4>
1432 <GFCN
\1aUNPROTECT-ACS ("VALUE" <OR AC FALSE>)>
1433 <TEMP TEMP7 TEMP10:VECTOR>
1435 <SET TEMP7 %<> (TYPE FALSE)>
1436 <GVAL 'ALL-ACS = TEMP10>
1440 <EMPUV? TEMP10 + MAP4>
1441 <FRAME '
\1aUNPROTECT>
1442 <NTHUV TEMP10 1 = STACK>
1443 <CALL '
\1aUNPROTECT 1 = TEMP7>
1444 <RESTUV TEMP10 1 = TEMP10 (TYPE VECTOR)>
1449 <END
\1aUNPROTECT-ACS>
1452 <GFCN
\1aLOAD-AC ("VALUE" <OR FALSE VARTBL> AC ANY) AC4 EA5>
1455 <GVAL 'CODE-COUNT = TEMP6>
1462 <FRAME '
\1aCLEAR-STATUS>
1463 <CALL '
\1aCLEAR-STATUS 0 = TEMP6>
1469 <GFCN
\1aCLOAD-AC ("VALUE" AC AC) AC4>
1479 <GFCN
\1aSET-STATUS-AC ("VALUE" <OR AC FALSE VARTBL> AC) AC4>
1482 <GVAL 'AC-STORE-OPT = TEMP7>
1483 <TYPE? TEMP7 <TYPE-CODE FALSE> + PHRASE6>
1485 <SETG 'STATUS-AC AC4>
1489 <FRAME '
\1aCLEAR-STATUS>
1490 <CALL '
\1aCLEAR-STATUS 0 = TEMP7>
1493 <END
\1aSET-STATUS-AC>
1496 <GFCN
\1aSET-STATUS-VAR ("VALUE" <OR ATOM FALSE> VARTBL ATOM) VAR4 STYP5>
1499 <GVAL 'STATUS-AC = TEMP8>
1500 <TYPE? TEMP8 <TYPE-CODE FALSE> + PHRASE7>
1501 <GVAL 'AC-STORE-OPT = TEMP8>
1502 <TYPE? TEMP8 <TYPE-CODE FALSE> + PHRASE7>
1503 <SETG 'STATUS-VAR VAR4>
1505 <SETG 'STATUS-TYPE STYP5>
1511 <END
\1aSET-STATUS-VAR>
1514 <GFCN
\1aCLEAR-STATUS ("VALUE" <OR FALSE VARTBL>)>
1517 <SETG 'STATUS-AC %<>>
1518 <SETG 'STATUS-VAR %<>>
1520 <END
\1aCLEAR-STATUS>
1523 <GFCN
\1aSTATUS? ("VALUE" <OR AC ATOM FALSE> VARTBL ATOM) VAR4 STYPE5>
1524 <TEMP SAC7 TEMP11 LVAR6>
1526 <GVAL 'STATUS-AC = SAC7>
1527 <GVAL 'STATUS-AC = TEMP11>
1528 <TYPE? TEMP11 <TYPE-CODE FALSE> + PHRASE9>
1530 <FRAME '
\1aFIND-CACHE-VAR>
1532 <NTHUV SAC7 8 = STACK (TYPE VECTOR)>
1533 <CALL '
\1aFIND-CACHE-VAR 2 = LVAR6>
1534 <TYPE? LVAR6 <TYPE-CODE FALSE> + PHRASE9>
1535 <VEQUAL? STYPE5 'VALUE - BOOL14>
1536 <NTHUV LVAR6 6 = TEMP11>
1537 <EQUAL? TEMP11 SAC7 + BOOL13>
1540 <VEQUAL? STYPE5 'COUNT + BOOL13>
1541 <NTHUV LVAR6 8 = TEMP11>
1543 <EQUAL? TEMP11 SAC7 - PHRASE9>
1546 <GVAL 'STATUS-AC = TEMP11>
1550 <GVAL 'STATUS-VAR = SAC7>
1551 <EQUAL? SAC7 VAR4 + TAG17>
1555 <GVAL 'STATUS-TYPE = SAC7>
1556 <VEQUAL? SAC7 STYPE5 + TAG19>
1560 <GVAL 'STATUS-AC = SAC7>
1561 <TYPE? SAC7 <TYPE-CODE FALSE> + PHRASE21>
1563 <GVAL 'STATUS-AC = TEMP11>
1571 <GFCN
\1aPRINT-LINKVAR ("VALUE" STRING LINKVAR) LV4>
1572 <TEMP OUTCHAN5 TEMP10>
1574 <GEN-LVAL 'OUTCHAN = OUTCHAN5>
1580 <NTHUV LV4 1 = TEMP10 (TYPE VARTBL)>
1581 <NTHUV TEMP10 1 = STACK (TYPE ATOM)>
1590 <NTHUV LV4 5 = STACK>
1593 <FRAME '
\1aTESTPRINT>
1594 <NTHUV LV4 6 = STACK>
1597 <CALL '
\1aTESTPRINT 3>
1598 <FRAME '
\1aTESTPRINT>
1599 <NTHUV LV4 7 = STACK>
1602 <CALL '
\1aTESTPRINT 3>
1603 <FRAME '
\1aTESTPRINT>
1604 <NTHUV LV4 9 = STACK>
1607 <CALL '
\1aTESTPRINT 3>
1608 <FRAME '
\1aTESTPRINT>
1609 <NTHUV LV4 8 = STACK>
1613 <CALL '
\1aTESTPRINT 3>
1618 <CALL '
\1aPRINC 2 = TEMP10>
1621 <END
\1aPRINT-LINKVAR>
1624 <GFCN
\1aTESTPRINT ("VALUE" <OR ATOM FALSE> <OR FALSE AC> STRING CHANNEL) AC4 TYP5 OUTCHAN6>
1625 <TEMP TEMP3:LBIND TEMP9>
1627 <GETS 'BIND = TEMP3 (TYPE LBIND)>
1628 <BBIND 'OUTCHAN 'CHANNEL %<> OUTCHAN6>
1632 <TYPE? TEMP9 <TYPE-CODE FALSE> + PHRASE8>
1635 <NTHR 'OUTCHAN 2 = TEMP9 (RECORD-TYPE ATOM) (TYPE LBIND)>
1636 <NTHR TEMP9 1 = STACK (RECORD-TYPE LBIND)>
1642 <NTHR 'OUTCHAN 2 = TEMP9 (RECORD-TYPE ATOM) (TYPE LBIND)>
1643 <NTHR TEMP9 1 = STACK (RECORD-TYPE LBIND)>
1648 <NTHR 'OUTCHAN 2 = TEMP9 (RECORD-TYPE ATOM) (TYPE LBIND)>
1649 <NTHR TEMP9 1 = STACK (RECORD-TYPE LBIND)>
1653 <NTHUV AC4 1 = STACK (TYPE ATOM)>
1655 <NTHR 'OUTCHAN 2 = TEMP9 (RECORD-TYPE ATOM) (TYPE LBIND)>
1656 <NTHR TEMP9 1 = STACK (RECORD-TYPE LBIND)>
1658 <CALL '
\1aPRIN1 2 = TEMP9>
1667 <COND (<GASSIGNED? PRINT-LINKVAR> <PRINTTYPE LINKVAR ,PRINT-LINKVAR>)>
1670 <GFCN
\1aPRINT-AC ("VALUE" STRING AC) AC4>
1671 <TEMP OUTCHAN5 TEMP22:VECTOR LV23:LINKVAR>
1673 <GEN-LVAL 'OUTCHAN = OUTCHAN5>
1679 <NTHUV AC4 1 = STACK (TYPE ATOM)>
1686 <NTHUV AC4 8 = TEMP22 (TYPE VECTOR)>
1690 <EMPUV? TEMP22 + MAPAP15>
1691 <NTHUV TEMP22 1 = LV23>
1692 <FRAME '
\1aPRINT-SHORT-LINKVAR>
1696 <CALL '
\1aPRINT-SHORT-LINKVAR 2>
1697 <RESTUV TEMP22 1 = TEMP22 (TYPE VECTOR)>
1704 <CALL '
\1aPRINC 2 = OUTCHAN5>
1709 <COND (<GASSIGNED? PRINT-AC> <PRINTTYPE AC ,PRINT-AC>)>
1712 <GFCN
\1aPRINT-SHORT-LINKVAR ("VALUE" STRING LINKVAR AC) LV4 AC5>
1713 <TEMP OUTCHAN6 TEMP11>
1715 <GEN-LVAL 'OUTCHAN = OUTCHAN6>
1716 <NTHUV LV4 7 = TEMP11>
1717 <EQUAL? TEMP11 AC5 - PHRASE10>
1725 <NTHUV LV4 6 = TEMP11>
1726 <EQUAL? TEMP11 AC5 - PHRASE13>
1734 <NTHUV LV4 9 = TEMP11>
1735 <EQUAL? TEMP11 AC5 - PHRASE15>
1738 <PUSH "#TYPE-WORD ">
1743 <NTHUV LV4 8 = TEMP11>
1744 <EQUAL? TEMP11 AC5 - PHRASE17>
1752 <NTHUV LV4 1 = TEMP11 (TYPE VARTBL)>
1754 <NTHUV TEMP11 1 = STACK (TYPE ATOM)>
1762 <CALL '
\1aPRINC 2 = TEMP11>
1765 <END
\1aPRINT-SHORT-LINKVAR>
1768 <GFCN
\1aFREE-TYPE-AC? ("VALUE" ANY "OPTIONAL" ANY ANY) HOWFREE?7 REAL?8>
1769 <OPT-DISPATCH 0 %<> OPT4 OPT5 OPT6>
1777 <FRAME '
\1aFIND-FREE-AC>
1778 <GVAL 'TYPE-ACS = STACK>
1781 <CALL '
\1aFIND-FREE-AC 2 = TEMP10>
1784 <END
\1aFREE-TYPE-AC?>
1787 <GFCN
\1aFREE-VALUE-AC? ("VALUE" ANY "OPTIONAL" ANY) HOWFREE?6>
1788 <OPT-DISPATCH 0 %<> OPT4 OPT5>
1794 <FRAME '
\1aFIND-FREE-AC>
1795 <GVAL 'VAL-ACS = STACK>
1798 <CALL '
\1aFIND-FREE-AC 2 = TEMP8>
1801 <END
\1aFREE-VALUE-AC?>
1804 <GFCN
\1aFREE-AC? ("VALUE" ANY "OPTIONAL" ANY ANY) PREF7 HOWFREE?8>
1805 <OPT-DISPATCH 0 %<> OPT4 OPT5 OPT6>
1813 <EQUAL? PREF7 'DOUBLE - PHRASE10>
1814 <FRAME '
\1aFIND-FREE-PAIR>
1817 <CALL '
\1aFIND-FREE-PAIR 1 = TEMP12>
1821 <EQUAL? PREF7 'NONE - PHRASE13>
1822 <FRAME '
\1aFIND-FREE-AC>
1823 <GVAL 'ALL-ACS = STACK>
1826 <CALL '
\1aFIND-FREE-AC 2 = TEMP12>
1830 <EQUAL? PREF7 'TYPE + BOOL16>
1831 <EQUAL? PREF7 'PREF-TYPE - PHRASE15>
1833 <FRAME '
\1aFIND-FREE-AC>
1834 <GVAL 'TYPE-ACS = STACK>
1836 <CALL '
\1aFIND-FREE-AC 2 = TEMP12>
1837 <TYPE? TEMP12 <TYPE-CODE FALSE> - COND9>
1838 <FRAME '
\1aFIND-FREE-AC>
1839 <GVAL 'VAL-ACS = STACK>
1842 <CALL '
\1aFIND-FREE-AC 2 = TEMP12>
1846 <EQUAL? PREF7 'VALUE + BOOL21>
1847 <EQUAL? PREF7 'PREF-VAL - PHRASE20>
1850 <FRAME '
\1aFIND-FREE-AC>
1851 <GVAL 'VAL-ACS = STACK>
1853 <CALL '
\1aFIND-FREE-AC 2 = TEMP12>
1854 <TYPE? TEMP12 <TYPE-CODE FALSE> - COND9>
1855 <FRAME '
\1aFIND-FREE-AC>
1856 <GVAL 'TYPE-ACS = STACK>
1859 <CALL '
\1aFIND-FREE-AC 2 = TEMP12>
1864 <PUSH 'BAD-PREFERENCE>
1866 <CALL '
\1aERROR 2 = TEMP12>
1873 <GFCN
\1aFIND-FREE-PAIR ("VALUE" <OR AC FALSE> ANY) HOWFREE?4>
1874 <TEMP ACS8:VECTOR TEMP14 AC19 TEMP18>
1876 <GVAL 'ALL-ACS = ACS8>
1880 <LENUV ACS8 = TEMP14 (TYPE FIX)>
1881 <LESS? TEMP14 2 - PHRASE13 (TYPE FIX)>
1885 <NTHUV ACS8 1 = AC19>
1886 <NTHUV AC19 4 = TEMP14>
1887 <TYPE? TEMP14 <TYPE-CODE FALSE> - PHRASE33>
1889 <NTHUV ACS8 2 = TEMP14>
1890 <NTHUV TEMP14 4 = TEMP18>
1891 <TYPE? TEMP18 <TYPE-CODE FALSE> - PHRASE33>
1893 <EQUAL? HOWFREE?4 'NOVARS - PHRASE20>
1894 <FRAME '
\1aALL-DEAD?>
1896 <CALL '
\1aALL-DEAD? 1 = TEMP18>
1897 <TYPE? TEMP18 <TYPE-CODE FALSE> + PHRASE33>
1899 <FRAME '
\1aALL-DEAD?>
1902 <CALL '
\1aALL-DEAD? 1 = TEMP18>
1903 <TYPE? TEMP18 <TYPE-CODE FALSE> + PHRASE33>
1908 <EQUAL? HOWFREE?4 'STORED - PHRASE27>
1909 <FRAME '
\1aALL-STORED?>
1911 <CALL '
\1aALL-STORED? 1 = TEMP18>
1912 <TYPE? TEMP18 <TYPE-CODE FALSE> + PHRASE33>
1914 <FRAME '
\1aALL-STORED?>
1917 <CALL '
\1aALL-STORED? 1 = TEMP18>
1918 <TYPE? TEMP18 <TYPE-CODE FALSE> + PHRASE33>
1925 <PUSH 'FIND-FREE-PAIR>
1928 <RESTUV ACS8 2 = ACS8 (TYPE VECTOR)>
1930 <END
\1aFIND-FREE-PAIR>
1933 <GFCN
\1aFIND-FREE-AC ("VALUE" ANY <VECTOR [REST AC]> ATOM) ACLIST4 HOWFREE?5>
1934 <TEMP TEMP15 TEMP12:VECTOR AC17:AC>
1936 <SET TEMP15 %<> (TYPE FALSE)>
1937 <SET TEMP12 ACLIST4 (TYPE VECTOR)>
1942 <EMPUV? TEMP12 + MAPAP10>
1943 <NTHUV TEMP12 1 = AC17>
1944 <NTHUV AC17 4 = TEMP15>
1945 <TYPE? TEMP15 <TYPE-CODE FALSE> + TAG20>
1947 <SET TEMP15 %<> (TYPE FALSE)>
1950 <VEQUAL? HOWFREE?5 'NOVARS - PHRASE22>
1951 <FRAME '
\1aALL-DEAD?>
1953 <CALL '
\1aALL-DEAD? 1 = TEMP15>
1954 <TYPE? TEMP15 <TYPE-CODE FALSE> + COND21>
1958 <VEQUAL? HOWFREE?5 'STORED - PHRASE25>
1959 <FRAME '
\1aALL-STORED?>
1961 <CALL '
\1aALL-STORED? 1 = TEMP15>
1962 <TYPE? TEMP15 <TYPE-CODE FALSE> + COND21>
1968 <PUSH 'FIND-FREE-AC>
1969 <CALL '
\1aERROR 2 = TEMP15>
1971 <RESTUV TEMP12 1 = TEMP12 (TYPE VECTOR)>
1976 <END
\1aFIND-FREE-AC>
1979 <GFCN
\1aAC-VAR-STORED? ("VALUE" ANY VARTBL AC) VAR4 AC5>
1980 <TEMP LV6:LINKVAR TEMP12>
1982 <FRAME '
\1aFIND-CACHE-VAR>
1984 <CALL '
\1aFIND-CACHE-VAR 1 = LV6>
1985 <NTHUV LV6 6 = TEMP12>
1986 <EQUAL? TEMP12 AC5 - PHRASE11>
1988 <NTHUV LV6 2 = TEMP12>
1993 <NTHUV LV6 8 = TEMP12>
1994 <EQUAL? TEMP12 AC5 - PHRASE13>
1996 <NTHUV LV6 3 = TEMP12>
2001 <NTHUV LV6 7 = TEMP12>
2002 <EQUAL? TEMP12 AC5 - PHRASE15>
2004 <NTHUV LV6 4 = TEMP12>
2009 <NTHUV LV6 9 = TEMP12>
2010 <EQUAL? TEMP12 AC5 - PHRASE16>
2012 <NTHUV LV6 4 = TEMP12>
2018 <PUSH "VAR NOT IN AC">
2023 <CALL '
\1aERROR 3 = TEMP12>
2026 <END
\1aAC-VAR-STORED?>
2029 <GFCN
\1aALL-STORED? ("VALUE" <OR ATOM FALSE> AC) AC4>
2030 <TEMP (VAL5 'T) TEMP17:VECTOR LV18:LINKVAR TEMP21>
2032 <NTHUV AC4 8 = TEMP17 (TYPE VECTOR)>
2036 <EMPUV? TEMP17 + MAPAP10>
2037 <NTHUV TEMP17 1 = LV18>
2038 <NTHUV LV18 6 = TEMP21>
2039 <EQUAL? TEMP21 AC4 - PHRASE20>
2041 <NTHUV LV18 2 = TEMP21>
2043 <TYPE? TEMP21 <TYPE-CODE FALSE> - COND19>
2047 <NTHUV LV18 8 = TEMP21>
2048 <EQUAL? TEMP21 AC4 - PHRASE23>
2050 <NTHUV LV18 3 = TEMP21>
2052 <TYPE? TEMP21 <TYPE-CODE FALSE> - COND19>
2056 <NTHUV LV18 7 = TEMP21>
2057 <EQUAL? TEMP21 AC4 - PHRASE25>
2059 <NTHUV LV18 4 = TEMP21>
2061 <TYPE? TEMP21 <TYPE-CODE FALSE> - COND19>
2065 <NTHUV LV18 9 = TEMP21>
2066 <EQUAL? TEMP21 AC4 - PHRASE27>
2068 <NTHUV LV18 4 = TEMP21>
2070 <TYPE? TEMP21 <TYPE-CODE FALSE> - COND19>
2075 <PUSH "VAR NOT IN AC">
2079 <RESTUV TEMP17 1 = TEMP17 (TYPE VECTOR)>
2084 <END
\1aALL-STORED?>
2087 <GFCN
\1aALL-DEAD? ("VALUE" <OR ATOM FALSE> AC) AC4>
2088 <TEMP (VAL5 'T) TEMP17:VECTOR LV18:LINKVAR TEMP22>
2090 <NTHUV AC4 8 = TEMP17 (TYPE VECTOR)>
2095 <EMPUV? TEMP17 + MAPAP10>
2096 <NTHUV TEMP17 1 = LV18>
2097 <NTHUV LV18 1 = TEMP22 (TYPE VARTBL)>
2098 <NTHUV TEMP22 5 = TEMP22>
2099 <TYPE? TEMP22 <TYPE-CODE FALSE> - PHRASE20>
2101 <FRAME '
\1aWILL-DIE?>
2102 <NTHUV LV18 1 = STACK (TYPE VARTBL)>
2104 <CALL '
\1aWILL-DIE? 1 = TEMP22>
2105 <TYPE? TEMP22 <TYPE-CODE FALSE> - PHRASE20>
2109 <RESTUV TEMP17 1 = TEMP17 (TYPE VECTOR)>
2117 <GFCN
\1aFLUSH-ALL-ACS ("VALUE" <OR FALSE <VECTOR [REST LINKVAR]>>)>
2118 <TEMP TEMP7 TEMP10:VECTOR>
2120 <SET TEMP7 %<> (TYPE FALSE)>
2121 <GVAL 'ALL-ACS = TEMP10>
2125 <EMPUV? TEMP10 + MAP4>
2127 <NTHUV TEMP10 1 = STACK>
2128 <CALL '
\1aMUNG-AC 1 = TEMP7>
2129 <RESTUV TEMP10 1 = TEMP10 (TYPE VECTOR)>
2134 <END
\1aFLUSH-ALL-ACS>
2137 <GFCN
\1aMOVE-TO-AC ("VALUE" ANY AC ANY ATOM) AC4 ADDR5 LEN6>
2140 <VEQUAL? LEN6 'LONG - PHRASE8>
2141 <FRAME '
\1aEMIT-MOVE>
2143 <NTHUV AC4 2 = TEMP10 (TYPE FIX)>
2144 <OR TEMP10 #WORD *120* = TEMP10>
2145 <LSH TEMP10 24 = TEMP10 (TYPE FIX)>
2146 <CHTYPE TEMP10 <TYPE-CODE EFF-ADDR> = STACK>
2149 <CALL '
\1aEMIT-MOVE 3>
2155 <CALL '
\1aLOAD-AC 2 = TEMP10>
2159 <VEQUAL? LEN6 'WORD - PHRASE12>
2164 <NTHUV AC4 2 = TEMP10 (TYPE FIX)>
2166 <OR TEMP10 #WORD *120* = TEMP10>
2167 <LSH TEMP10 24 = TEMP10 (TYPE FIX)>
2168 <CHTYPE TEMP10 <TYPE-CODE EFF-ADDR> = STACK>
2170 <CALL '
\1aEMIT 3 = TEMP10>
2174 <VEQUAL? LEN6 'BYTE + TAG16>
2182 <NTHUV AC4 2 = TEMP10 (TYPE FIX)>
2184 <OR TEMP10 #WORD *120* = TEMP10>
2185 <LSH TEMP10 24 = TEMP10 (TYPE FIX)>
2186 <CHTYPE TEMP10 <TYPE-CODE EFF-ADDR> = STACK>
2188 <CALL '
\1aEMIT 3 = TEMP10>
2194 <GFCN
\1aPREV-AC ("VALUE" <OR AC !<FALSE>> AC) AC4>
2195 <TEMP ACN5 TEMP12:VECTOR>
2197 <NTHUV AC4 2 = ACN5 (TYPE FIX)>
2199 <VEQUAL? ACN5 0 - PHRASE7 (TYPE FIX)>
2202 <GVAL 'ALL-ACS = TEMP12>
2203 <NTHUV TEMP12 ACN5 = ACN5 (TYPE AC)>
2210 <GFCN
\1aNEXT-AC ("VALUE" AC ANY) AC4>
2211 <TEMP ACN5 TEMP6:VECTOR>
2213 <NTHUV AC4 2 = ACN5 (TYPE FIX)>
2215 <GVAL 'ALL-ACS = TEMP6>
2216 <ADD ACN5 2 = ACN5 (TYPE FIX)>
2217 <NTHUV TEMP6 ACN5 = ACN5 (TYPE AC)>