6 <USE "COMPDEC" "CODGEN" "CHKDCL" "STRGEN" "MIMGEN">
9 <GFCN
\1aALL-REST-GEN ("VALUE" ANY NODE ANY) N4 W5>
10 <TEMP TEMP19 TEMP20 R?6 NUM11 SS14:LIST STR10 SPARE12:TEMP>
14 <EQUAL? TEMP19 TEMP20 - TAG18>
16 <SET R?6 'T (TYPE ATOM)>
19 <SET R?6 %<> (TYPE FALSE)>
21 <NTHUV N4 5 = TEMP19 (TYPE LIST)>
22 <NTHUV N4 7 = SS14 (TYPE LIST)>
25 <NTHL TEMP19 1 = STACK (TYPE NODE)>
27 <TYPE? W5 <TYPE-CODE TEMP> - PHRASE24>
31 <RESTL SS14 1 = TEMP19 (TYPE LIST)>
32 <RESTL TEMP19 1 = TEMP19 (TYPE LIST)>
33 <NTHL TEMP19 1 = TEMP19 (TYPE LIST)>
34 <EMPL? TEMP19 + PHRASE25 (TYPE LIST)>
37 <RESTL SS14 1 = TEMP19 (TYPE LIST)>
38 <RESTL TEMP19 1 = TEMP19 (TYPE LIST)>
39 <NTHL TEMP19 1 = STACK>
41 <PUSH %<OFFSET 4 NODE>>
42 <CALL '
\1aNTH 2 = TEMP19>
43 <NTHUV TEMP19 10 = TEMP20>
47 <SET TEMP20 'DONT-CARE (TYPE ATOM)>
51 <CALL '
\1aGEN 2 = STR10>
52 <TYPE? STR10 <TYPE-CODE TEMP> - BOOL30>
53 <EQUAL? W5 STR10 + PHRASE29>
54 <NTHUV STR10 2 = TEMP20 (TYPE FIX)>
55 <GRTR? TEMP20 1 - PHRASE29 (TYPE FIX)>
63 <CALL '
\1aGEN-TEMP 1 = STACK>
64 <CALL '
\1aMOVE-ARG 2 = STR10>
66 <GEN-LVAL 'CAREFUL = TEMP20>
67 <TYPE? TEMP20 <TYPE-CODE FALSE> + PHRASE37>
69 <FRAME '
\1aEMPTY-CHECK>
73 <CALL '
\1aEMPTY-CHECK 3>
75 <NTHL SS14 1 = TEMP20 (TYPE LIST)>
76 <EMPL? TEMP20 - BOOL43 (TYPE LIST)>
78 <RESTL SS14 1 = TEMP20 (TYPE LIST)>
79 <NTHL TEMP20 1 = TEMP20 (TYPE LIST)>
80 <EMPL? TEMP20 + PHRASE42 (TYPE LIST)>
84 <NTHL SS14 1 = TEMP20 (TYPE LIST)>
85 <EMPL? TEMP20 + PHRASE46 (TYPE LIST)>
87 <NTHL SS14 1 = TEMP20 (TYPE LIST)>
88 <NTHL TEMP20 1 = TEMP20 (TYPE NODE)>
89 <NTHUV TEMP20 4 = TEMP20 (TYPE SYMTAB)>
90 <NTHUV TEMP20 10 = NUM11>
94 <RESTL SS14 1 = TEMP20 (TYPE LIST)>
95 <NTHL TEMP20 1 = TEMP20 (TYPE LIST)>
96 <EMPL? TEMP20 + PHRASE47 (TYPE LIST)>
98 <RESTL SS14 1 = TEMP20 (TYPE LIST)>
99 <NTHL TEMP20 1 = TEMP20 (TYPE LIST)>
100 <NTHL TEMP20 1 = TEMP20 (TYPE NODE)>
101 <NTHUV TEMP20 4 = TEMP20 (TYPE SYMTAB)>
102 <NTHUV TEMP20 10 = NUM11>
107 <CALL '
\1aGEN-TEMP 0 = NUM11>
111 <CALL '
\1aSET-TEMP 2>
113 <TYPE? NUM11 <TYPE-CODE UNBOUND> + PHRASE51>
116 <CONS 'VALUE () = TEMP20>
117 <GEN-LVAL 'MUM = TEMP19>
118 <NTHUV TEMP19 1 = TEMP19 (TYPE ATOM)>
119 <CONS TEMP19 TEMP20 = STACK>
121 <CONS 'VALUE () = TEMP20>
122 <NTHUV STR10 1 = TEMP19 (TYPE ATOM)>
123 <CONS TEMP19 TEMP20 = STACK>
130 <CONS 'VALUE () = TEMP20>
131 <NTHUV STR10 1 = TEMP19 (TYPE ATOM)>
132 <CONS TEMP19 TEMP20 = STACK>
136 <FRAME '
\1aLABEL-TAG>
138 <CALL '
\1aMAKE-TAG 0 = TEMP19>
140 <CALL '
\1aLABEL-TAG 1>
141 <FRAME '
\1aREST-LIST>
144 <CALL '
\1aGEN-TEMP 0 = SPARE12>
147 <CALL '
\1aREST-LIST 3>
148 <FRAME '
\1aEMPTY-LIST>
151 <CALL '
\1aMAKE-TAG 0 = TEMP20>
154 <CALL '
\1aEMPTY-LIST 3>
158 <CALL '
\1aSET-TEMP 2>
159 <FRAME '
\1aFREE-TEMP>
162 <CALL '
\1aFREE-TEMP 1>
163 <TYPE? NUM11 <TYPE-CODE UNBOUND> + PHRASE66>
172 <FRAME '
\1aBRANCH-TAG>
175 <CALL '
\1aBRANCH-TAG 1>
176 <FRAME '
\1aLABEL-TAG>
179 <CALL '
\1aLABEL-TAG 1>
180 <FRAME '
\1aMUNG-VALS>
182 <RESTL SS14 1 = TEMP20 (TYPE LIST)>
183 <RESTL TEMP20 1 = TEMP20 (TYPE LIST)>
184 <NTHL TEMP20 1 = STACK (TYPE LIST)>
186 <CALL '
\1aMUNG-VALS 2>
187 <TYPE? NUM11 <TYPE-CODE UNBOUND> + PHRASE72>
188 <FRAME '
\1aMUNG-VALS>
190 <NTHL SS14 1 = STACK (TYPE LIST)>
191 <CALL '
\1aMUNG-VALS 2>
192 <RESTL SS14 1 = TEMP20 (TYPE LIST)>
193 <NTHL TEMP20 1 = TEMP20 (TYPE LIST)>
194 <EMPL? TEMP20 + PHRASE75 (TYPE LIST)>
196 <NTHL SS14 1 = TEMP20 (TYPE LIST)>
197 <EMPL? TEMP20 + PHRASE75 (TYPE LIST)>
207 <FRAME '
\1aMUNG-VALS>
210 <RESTL SS14 1 = TEMP20 (TYPE LIST)>
212 <NTHL TEMP20 1 = STACK (TYPE LIST)>
214 <CALL '
\1aMUNG-VALS 2>
216 <VEQUAL? R?6 0 + PHRASE80>
223 <CALL '
\1aMOVE-ARG 2 = TEMP20>
227 <EQUAL? W5 'DONT-CARE - PHRASE84>
229 <CALL '
\1aGEN-TEMP 0 = W5>
232 <TYPE? W5 <TYPE-CODE TEMP> - PHRASE86>
235 <CALL '
\1aUSE-TEMP 1>
241 <CALL '
\1aNTH-LIST 3>
242 <FRAME '
\1aFREE-TEMP>
245 <CALL '
\1aFREE-TEMP 1>
248 <END
\1aALL-REST-GEN>
251 <GFCN
\1aMUNG-VALS ("VALUE" <OR FALSE TEMP> ANY <LIST [REST NODE]>) D4 L5>
252 <TEMP TEMP15 TEMP12:LIST TEMP22>
254 <SET TEMP15 %<> (TYPE FALSE)>
255 <SET TEMP12 L5 (TYPE LIST)>
260 <EMPL? TEMP12 + MAPAP10>
261 <NTHL TEMP12 1 = TEMP15>
262 <NTHUV TEMP15 4 = TEMP15 (TYPE SYMTAB)>
263 <NTHUV TEMP15 10 = TEMP22>
264 <EQUAL? TEMP22 D4 - TAG21>
266 <SET TEMP15 %<> (TYPE FALSE)>
273 <CALL '
\1aSET-SYM 2 = TEMP15>
275 <RESTL TEMP12 1 = TEMP12 (TYPE LIST)>