4 <ENTRY PROG-REP-GEN RETURN-GEN AGAIN-GEN ACTIV? MULTI-RETURN-GEN>
6 <USE "COMPDEC" "CODGEN" "CHKDCL" "MIMGEN" "ADVMESS" "NOTGEN">
8 " Generate code for a poor innocent PROG or REPEAT."
13 <GFCN
\1aPROG-REP-GEN ("VALUE" ANY NODE ANY "OPTIONAL" ANY ANY ANY) PNOD8 PWHERE9 NOTF10 BRANCH11 DIR12>
14 <OPT-DISPATCH 2 %<> OPT4 OPT5 OPT6 OPT7>
22 <TEMP TEMP3:LBIND (TEMP36 %<>) DEST18 K19:LIST ORPNOD22 OFREE-TEMPS27 TEMP59 FOK30 TEMP77 TEMP95 EXIT15 TEMP120 TEMP121 MYFRAME89:TEMP BNDTMP24:TEMP>
24 <GETS 'BIND = TEMP3 (TYPE LBIND)>
25 <BBIND 'PNOD 'NODE %<> PNOD8>
28 <BBIND 'START-TAG 'ATOM 'FIX>
29 <GEN-LVAL 'BASEF = TEMP36>
30 <BBIND 'BASEF 'NODE 'FIX TEMP36>
32 <EQUAL? PWHERE9 'FLUSHED - PHRASE40>
33 <SET DEST18 'FLUSHED (TYPE ATOM)>
36 <EQUAL? PWHERE9 'DONT-CARE - PHRASE41>
39 <CALL '
\1aGEN-TEMP 1 = DEST18>
44 <NTHR 'PNOD 2 = TEMP36 (RECORD-TYPE ATOM) (TYPE LBIND)>
45 <NTHR TEMP36 1 = TEMP36 (RECORD-TYPE LBIND)>
46 <NTHUV TEMP36 5 = K19 (TYPE LIST)>
48 <BBIND 'SPECD 'ANY 'FIX>
49 <GEN-ASSIGNED? 'RPNOD + TAG47>
50 <SET TEMP36 %<> (TYPE FALSE)>
53 <GEN-LVAL 'RPNOD = TEMP36>
57 <BBIND 'RPNOD 'NODE 'FIX>
58 <GEN-LVAL 'FREE-TEMPS = OFREE-TEMPS27>
62 <RESTL TEMP36 1 = TEMP59 (TYPE LIST)>
63 <EMPL? TEMP59 + TAG60>
68 <NTHL TEMP36 1 = TEMP59>
70 <NTHUV TEMP59 3 = TEMP36>
75 <CALL '
\1aTYPE-OK? 2 = FOK30>
79 <CALL '
\1aISTYPE? 1 = TEMP59>
80 <VEQUAL? TEMP59 'FALSE + TAG62>
82 <SET TEMP36 'T (TYPE ATOM)>
85 <SET TEMP36 %<> (TYPE FALSE)>
87 <BBIND 'STK 'FIX 'FIX 0>
88 <BBIND 'STK-CHARS7 'FIX 'FIX 0>
89 <BBIND 'STK-CHARS8 'FIX 'FIX 0>
90 <BBIND 'STKTMP 'ANY 'FIX>
91 <NTHR 'PNOD 2 = TEMP59 (RECORD-TYPE ATOM) (TYPE LBIND)>
92 <NTHR TEMP59 1 = TEMP59 (RECORD-TYPE LBIND)>
93 <NTHUV TEMP59 12 = TEMP59>
94 <TYPE? TEMP59 <TYPE-CODE FALSE> - BOOL68>
97 <NTHR 'PNOD 2 = TEMP59 (RECORD-TYPE ATOM) (TYPE LBIND)>
98 <NTHR TEMP59 1 = TEMP59 (RECORD-TYPE LBIND)>
99 <NTHUV TEMP59 10 = STACK (TYPE LIST)>
101 <CALL '
\1aACTIV? 1 = TEMP59>
102 <VEQUAL? TEMP59 0 + PHRASE66>
105 <TYPE? DEST18 <TYPE-CODE TEMP> - PHRASE66>
108 <CALL '
\1aUSE-TEMP 1>
110 <GETS 'BIND = TEMP59 (TYPE LBIND)>
111 <GEN-LVAL 'TMPS = TEMP77>
112 <BBIND 'TMPS 'FORM 'FIX TEMP77>
114 <GEN-LVAL 'TMPS-NEXT = TEMP77>
115 <BBIND 'TMPS-NEXT 'LIST 'FIX TEMP77>
117 <GEN-LVAL 'FREE-TEMPS = TEMP77>
118 <BBIND 'FREE-TEMPS 'LIST 'FIX TEMP77>
120 <GEN-LVAL 'ALL-TEMPS-LIST = TEMP77>
121 <BBIND 'ALL-TEMPS-LIST 'LIST 'FIX TEMP77>
123 <NTHR 'PNOD 2 = TEMP77 (RECORD-TYPE ATOM) (TYPE LBIND)>
124 <NTHR TEMP77 1 = TEMP77 (RECORD-TYPE LBIND)>
125 <NTHUV TEMP77 9 = TEMP77>
126 <GVAL 'BIND = TEMP95>
127 <EQUAL? TEMP77 TEMP95 + PHRASE92>
129 <NTHR 'PNOD 2 = TEMP95 (RECORD-TYPE ATOM) (TYPE LBIND)>
130 <NTHR TEMP95 1 = TEMP95 (RECORD-TYPE LBIND)>
131 <NTHR 'RPNOD 2 = TEMP77 (RECORD-TYPE ATOM) (TYPE LBIND)>
132 <PUTR TEMP77 1 TEMP95 (RECORD-TYPE LBIND)>
136 <TYPE? ORPNOD22 <TYPE-CODE FALSE> + PHRASE100>
137 <NTHR 'RPNOD 2 = TEMP95 (RECORD-TYPE ATOM) (TYPE LBIND)>
138 <PUTR TEMP95 1 ORPNOD22 (RECORD-TYPE LBIND)>
139 <DEAD TEMP95 ORPNOD22>
141 <SET ORPNOD22 DEST18>
144 <CALL '
\1aMAKE-TAG 1 = EXIT15>
145 <NTHR 'PNOD 2 = TEMP95 (RECORD-TYPE ATOM) (TYPE LBIND)>
146 <NTHR TEMP95 1 = TEMP95 (RECORD-TYPE LBIND)>
147 <NTHUV TEMP95 12 = TEMP95>
148 <TYPE? TEMP95 <TYPE-CODE FALSE> - BOOL106>
151 <NTHR 'PNOD 2 = TEMP95 (RECORD-TYPE ATOM) (TYPE LBIND)>
152 <NTHR TEMP95 1 = TEMP95 (RECORD-TYPE LBIND)>
153 <NTHUV TEMP95 10 = STACK (TYPE LIST)>
155 <CALL '
\1aACTIV? 1 = TEMP95>
156 <VEQUAL? TEMP95 0 + PHRASE145>
159 <NTHR 'PNOD 2 = TEMP95 (RECORD-TYPE ATOM) (TYPE LBIND)>
160 <NTHR TEMP95 1 = TEMP95 (RECORD-TYPE LBIND)>
163 <NTHR 'PNOD 2 = TEMP95 (RECORD-TYPE ATOM) (TYPE LBIND)>
164 <NTHR TEMP95 1 = TEMP95 (RECORD-TYPE LBIND)>
165 <NTHR 'BASEF 2 = TEMP77 (RECORD-TYPE ATOM) (TYPE LBIND)>
166 <PUTR TEMP77 1 TEMP95 (RECORD-TYPE LBIND)>
168 <NTHR 'ALL-TEMPS-LIST 2 = TEMP95 (RECORD-TYPE ATOM) (TYPE LBIND)>
169 <NTHR TEMP95 1 = TEMP95 (RECORD-TYPE LBIND)>
170 <CONS %<> () = TEMP77>
171 <NTHR 'FREE-TEMPS 2 = TEMP121 (RECORD-TYPE ATOM) (TYPE LBIND)>
172 <NTHR TEMP121 1 = TEMP120 (RECORD-TYPE LBIND)>
174 <CONS TEMP120 TEMP77 = TEMP120>
176 <NTHR 'TMPS-NEXT 2 = TEMP77 (RECORD-TYPE ATOM) (TYPE LBIND)>
177 <NTHR TEMP77 1 = TEMP77 (RECORD-TYPE LBIND)>
178 <CONS TEMP77 TEMP120 = TEMP120>
180 <NTHR 'TMPS 2 = TEMP77 (RECORD-TYPE ATOM) (TYPE LBIND)>
181 <NTHR TEMP77 1 = TEMP77 (RECORD-TYPE LBIND)>
182 <CONS TEMP77 TEMP120 = TEMP120>
184 <CONS TEMP120 TEMP95 = TEMP120>
186 <NTHR 'ALL-TEMPS-LIST 2 = TEMP95 (RECORD-TYPE ATOM) (TYPE LBIND)>
187 <PUTR TEMP95 1 TEMP120 (RECORD-TYPE LBIND)>
188 <DEAD TEMP95 TEMP120>
189 <EQUAL? DEST18 'FLUSHED - PHRASE131>
203 <FRAME '
\1aMIM-TEMPS-HOLD>
204 <CALL '
\1aMIM-TEMPS-HOLD 0>
205 <FRAME '
\1aMIM-TEMPS-EMIT>
206 <CALL '
\1aMIM-TEMPS-EMIT 0>
207 <NTHR 'FREE-TEMPS 2 = TEMP120 (RECORD-TYPE ATOM) (TYPE LBIND)>
208 <PUTR TEMP120 1 () (RECORD-TYPE LBIND)>
211 <CALL '
\1aGEN-TEMP 0 = MYFRAME89>
212 <FRAME '
\1aPREV-FRAME>
214 <CALL '
\1aPREV-FRAME 1>
216 <NTHR 'ALL-TEMPS-LIST 2 = TEMP120 (RECORD-TYPE ATOM) (TYPE LBIND)>
217 <NTHR TEMP120 1 = TEMP120 (RECORD-TYPE LBIND)>
218 <NTHL TEMP120 1 = STACK>
223 <EQUAL? PWHERE9 'FLUSHED + PHRASE145>
226 <CALL '
\1aGEN-TEMP 1 = DEST18>
228 <NTHR 'PNOD 2 = TEMP120 (RECORD-TYPE ATOM) (TYPE LBIND)>
229 <NTHR TEMP120 1 = TEMP120 (RECORD-TYPE LBIND)>
230 <NTHUV TEMP120 12 = TEMP120>
231 <TYPE? TEMP120 <TYPE-CODE FALSE> + PHRASE148>
233 <FRAME '
\1aBIND-CODE>
234 <NTHR 'PNOD 2 = TEMP120 (RECORD-TYPE ATOM) (TYPE LBIND)>
235 <NTHR TEMP120 1 = STACK (RECORD-TYPE LBIND)>
237 <CALL '
\1aBIND-CODE 1 = TEMP120>
240 <FRAME '
\1aBIND-CODE>
241 <NTHR 'PNOD 2 = TEMP95 (RECORD-TYPE ATOM) (TYPE LBIND)>
242 <NTHR TEMP95 1 = STACK (RECORD-TYPE LBIND)>
247 <CALL '
\1aGEN-TEMP 1 = BNDTMP24>
249 <CALL '
\1aBIND-CODE 3 = TEMP120>
251 <NTHR 'SPECD 2 = TEMP95 (RECORD-TYPE ATOM) (TYPE LBIND)>
252 <PUTR TEMP95 1 TEMP120 (RECORD-TYPE LBIND)>
253 <DEAD TEMP95 TEMP120>
254 <NTHR 'PNOD 2 = TEMP120 (RECORD-TYPE ATOM) (TYPE LBIND)>
255 <NTHR TEMP120 1 = TEMP120 (RECORD-TYPE LBIND)>
256 <NTHR 'BASEF 2 = TEMP95 (RECORD-TYPE ATOM) (TYPE LBIND)>
257 <PUTR TEMP95 1 TEMP120 (RECORD-TYPE LBIND)>
258 <DEAD TEMP95 TEMP120>
259 <NTHR 'PNOD 2 = TEMP120 (RECORD-TYPE ATOM) (TYPE LBIND)>
260 <NTHR TEMP120 1 = TEMP120 (RECORD-TYPE LBIND)>
261 <NTHUV TEMP120 9 = TEMP120>
262 <GVAL 'REPEAT = TEMP95>
263 <EQUAL? TEMP120 TEMP95 + BOOL167>
264 <DEAD TEMP120 TEMP95>
265 <NTHR 'PNOD 2 = TEMP95 (RECORD-TYPE ATOM) (TYPE LBIND)>
266 <NTHR TEMP95 1 = TEMP95 (RECORD-TYPE LBIND)>
267 <NTHUV TEMP95 19 = TEMP95>
268 <TYPE? TEMP95 <TYPE-CODE FALSE> + PHRASE166>
275 <FRAME '
\1aLABEL-TAG>
278 <CALL '
\1aMAKE-TAG 1 = TEMP121>
280 <CALL '
\1aLABEL-TAG 1>
281 <NTHR 'PNOD 2 = TEMP95 (RECORD-TYPE ATOM) (TYPE LBIND)>
282 <NTHR TEMP95 1 = TEMP95 (RECORD-TYPE LBIND)>
283 <NTHUV TEMP95 9 = TEMP95>
284 <GVAL 'REPEAT = TEMP120>
285 <EQUAL? TEMP95 TEMP120 + BOOL177>
286 <DEAD TEMP95 TEMP120>
287 <NTHR 'PNOD 2 = TEMP120 (RECORD-TYPE ATOM) (TYPE LBIND)>
288 <NTHR TEMP120 1 = TEMP120 (RECORD-TYPE LBIND)>
289 <NTHUV TEMP120 19 = TEMP120>
290 <TYPE? TEMP120 <TYPE-CODE FALSE> + PHRASE176>
297 <TYPE? NOTF10 <TYPE-CODE FALSE> + TAG186>
299 <TYPE? DIR12 <TYPE-CODE FALSE> - TAG185>
301 <SET DIR12 'T (TYPE ATOM)>
304 <SET DIR12 %<> (TYPE FALSE)>
306 <TYPE? BRANCH11 <TYPE-CODE FALSE> + PHRASE188>
307 <CONS DIR12 () = TEMP120>
308 <CONS BRANCH11 TEMP120 = TEMP120>
311 <GVAL 'NO-DATUM = TEMP120>
313 <NTHR 'PNOD 2 = TEMP95 (RECORD-TYPE ATOM) (TYPE LBIND)>
314 <NTHR TEMP95 1 = TEMP95 (RECORD-TYPE LBIND)>
315 <PUTUV TEMP95 15 TEMP120>
316 <DEAD TEMP95 TEMP120>
317 <NTHR 'PNOD 2 = TEMP95 (RECORD-TYPE ATOM) (TYPE LBIND)>
318 <NTHR TEMP95 1 = TEMP95 (RECORD-TYPE LBIND)>
319 <PUTUV TEMP95 14 DEST18>
321 <NTHR 'SPECD 2 = TEMP95 (RECORD-TYPE ATOM) (TYPE LBIND)>
322 <NTHR TEMP95 1 = TEMP95 (RECORD-TYPE LBIND)>
323 <NTHR 'PNOD 2 = TEMP120 (RECORD-TYPE ATOM) (TYPE LBIND)>
324 <NTHR TEMP120 1 = TEMP120 (RECORD-TYPE LBIND)>
325 <PUTUV TEMP120 13 TEMP95>
326 <DEAD TEMP120 TEMP95>
327 <NTHR 'PNOD 2 = TEMP120 (RECORD-TYPE ATOM) (TYPE LBIND)>
328 <NTHR TEMP120 1 = TEMP120 (RECORD-TYPE LBIND)>
329 <PUTUV TEMP120 16 TEMP121>
331 <NTHR 'PNOD 2 = TEMP120 (RECORD-TYPE ATOM) (TYPE LBIND)>
332 <NTHR TEMP120 1 = TEMP120 (RECORD-TYPE LBIND)>
333 <PUTUV TEMP120 17 EXIT15>
335 <NTHR 'PNOD 2 = TEMP120 (RECORD-TYPE ATOM) (TYPE LBIND)>
336 <NTHR TEMP120 1 = TEMP120 (RECORD-TYPE LBIND)>
337 <NTHUV TEMP120 9 = TEMP120>
338 <GVAL 'REPEAT = TEMP95>
339 <EQUAL? TEMP120 TEMP95 + BOOL204>
340 <DEAD TEMP120 TEMP95>
341 <NTHR 'PNOD 2 = TEMP95 (RECORD-TYPE ATOM) (TYPE LBIND)>
342 <NTHR TEMP95 1 = TEMP95 (RECORD-TYPE LBIND)>
343 <NTHUV TEMP95 19 = TEMP95>
344 <TYPE? TEMP95 <TYPE-CODE FALSE> + PHRASE203>
347 <NTHR 'PNOD 2 = TEMP95 (RECORD-TYPE ATOM) (TYPE LBIND)>
348 <NTHR TEMP95 1 = TEMP95 (RECORD-TYPE LBIND)>
349 <NTHUV TEMP95 9 = TEMP95>
350 <GVAL 'REPEAT = TEMP120>
351 <EQUAL? TEMP95 TEMP120 - PHRASE210>
352 <DEAD TEMP95 TEMP120>
360 <EQUAL? DEST18 'FLUSHED - PHRASE214>
361 <TYPE? BRANCH11 <TYPE-CODE FALSE> + PHRASE216>
362 <TYPE? FOK30 <TYPE-CODE FALSE> + PHRASE216>
363 <VEQUAL? TEMP36 0 + PHRASE216>
372 <CALL '
\1aPSEQ-GEN 5>
375 <TYPE? BRANCH11 <TYPE-CODE FALSE> + PHRASE219>
376 <TYPE? DIR12 <TYPE-CODE FALSE> + PHRASE222>
378 <VEQUAL? TEMP36 0 + PHRASE219>
382 <TYPE? FOK30 <TYPE-CODE FALSE> + PHRASE219>
390 <FRAME '
\1aBRANCH-TAG>
392 <CALL '
\1aBRANCH-TAG 1>
406 <CALL '
\1aSEQ-GEN 2 = TEMP36>
408 <GVAL 'NO-DATUM = TEMP120>
409 <EQUAL? TEMP120 FOK30 - PHRASE231>
411 <NTHR 'PNOD 2 = TEMP120 (RECORD-TYPE ATOM) (TYPE LBIND)>
412 <NTHR TEMP120 1 = TEMP120 (RECORD-TYPE LBIND)>
413 <NTHUV TEMP120 15 = TEMP120>
414 <EMPTY? TEMP120 + PHRASE274>
418 <NTHR 'PNOD 2 = TEMP120 (RECORD-TYPE ATOM) (TYPE LBIND)>
419 <NTHR TEMP120 1 = TEMP120 (RECORD-TYPE LBIND)>
420 <NTHUV TEMP120 15 = TEMP120>
421 <GVAL 'NO-DATUM = TEMP95>
422 <EQUAL? TEMP120 TEMP95 - PHRASE274>
423 <DEAD TEMP120 TEMP95>
424 <NTHR 'PNOD 2 = TEMP95 (RECORD-TYPE ATOM) (TYPE LBIND)>
425 <NTHR TEMP95 1 = TEMP95 (RECORD-TYPE LBIND)>
426 <PUTUV TEMP95 15 TEMP36>
430 <EQUAL? DEST18 'FLUSHED - PHRASE246>
431 <TYPE? BRANCH11 <TYPE-CODE FALSE> + PHRASE248>
432 <TYPE? FOK30 <TYPE-CODE FALSE> + PHRASE248>
433 <VEQUAL? TEMP36 0 + PHRASE248>
442 <CALL '
\1aPSEQ-GEN 5>
445 <TYPE? BRANCH11 <TYPE-CODE FALSE> + PHRASE251>
446 <TYPE? DIR12 <TYPE-CODE FALSE> + PHRASE254>
448 <VEQUAL? TEMP36 0 + PHRASE251>
452 <TYPE? FOK30 <TYPE-CODE FALSE> + PHRASE251>
460 <FRAME '
\1aBRANCH-TAG>
462 <CALL '
\1aBRANCH-TAG 1>
477 <CALL '
\1aSEQ-GEN 3 = TEMP36>
479 <GVAL 'NO-DATUM = TEMP95>
480 <EQUAL? TEMP95 FOK30 - PHRASE263>
482 <NTHR 'PNOD 2 = TEMP95 (RECORD-TYPE ATOM) (TYPE LBIND)>
483 <NTHR TEMP95 1 = TEMP95 (RECORD-TYPE LBIND)>
484 <NTHUV TEMP95 15 = TEMP95>
485 <EMPTY? TEMP95 + PHRASE274>
487 <NTHR 'PNOD 2 = TEMP95 (RECORD-TYPE ATOM) (TYPE LBIND)>
488 <NTHR TEMP95 1 = TEMP95 (RECORD-TYPE LBIND)>
489 <NTHUV TEMP95 15 = TEMP95>
490 <GVAL 'NO-DATUM = TEMP120>
491 <EQUAL? TEMP95 TEMP120 + PHRASE274>
492 <DEAD TEMP95 TEMP120>
495 <NTHR 'PNOD 2 = TEMP120 (RECORD-TYPE ATOM) (TYPE LBIND)>
496 <NTHR TEMP120 1 = TEMP120 (RECORD-TYPE LBIND)>
497 <NTHUV TEMP120 15 = TEMP120>
498 <GVAL 'NO-DATUM = TEMP95>
499 <EQUAL? TEMP120 TEMP95 - PHRASE274>
500 <DEAD TEMP120 TEMP95>
501 <NTHR 'PNOD 2 = TEMP95 (RECORD-TYPE ATOM) (TYPE LBIND)>
502 <NTHR TEMP95 1 = TEMP95 (RECORD-TYPE LBIND)>
503 <PUTUV TEMP95 15 TEMP36>
506 <GEN-ASSIGNED? 'NPRUNE + PHRASE280>
507 <NTHR 'PNOD 2 = TEMP120 (RECORD-TYPE ATOM) (TYPE LBIND)>
508 <NTHR TEMP120 1 = TEMP120 (RECORD-TYPE LBIND)>
509 <PUTUV TEMP120 5 () (TYPE LIST)>
512 <NTHR 'PNOD 2 = TEMP120 (RECORD-TYPE ATOM) (TYPE LBIND)>
513 <NTHR TEMP120 1 = TEMP120 (RECORD-TYPE LBIND)>
514 <NTHUV TEMP120 9 = TEMP120>
515 <GVAL 'REPEAT = TEMP77>
516 <EQUAL? TEMP120 TEMP77 + PHRASE285>
517 <DEAD TEMP120 TEMP77>
518 <NTHR 'PNOD 2 = TEMP77 (RECORD-TYPE ATOM) (TYPE LBIND)>
519 <NTHR TEMP77 1 = TEMP77 (RECORD-TYPE LBIND)>
520 <NTHUV TEMP77 12 = TEMP77>
521 <TYPE? TEMP77 <TYPE-CODE FALSE> + PHRASE289>
526 <CALL '
\1aPROG-END 1>
527 <FRAME '
\1aFREE-TEMP>
530 <CALL '
\1aFREE-TEMP 1>
533 <NTHR 'SPECD 2 = TEMP77 (RECORD-TYPE ATOM) (TYPE LBIND)>
534 <NTHR TEMP77 1 = TEMP77 (RECORD-TYPE LBIND)>
535 <TYPE? TEMP77 <TYPE-CODE FALSE> + PHRASE299>
541 <FRAME '
\1aFREE-TEMP>
544 <CALL '
\1aFREE-TEMP 1>
547 <FRAME '
\1aBRANCH-TAG>
550 <CALL '
\1aBRANCH-TAG 1>
552 <FRAME '
\1aLABEL-TAG>
555 <CALL '
\1aLABEL-TAG 1>
556 <NTHR 'STK-CHARS8 2 = TEMP77 (RECORD-TYPE ATOM) (TYPE LBIND)>
557 <NTHR TEMP77 1 = TEMP77 (RECORD-TYPE LBIND)>
558 <VEQUAL? TEMP77 0 + PHRASE303 (TYPE FIX)>
560 <NTHR 'STK-CHARS8 2 = TEMP77 (RECORD-TYPE ATOM) (TYPE LBIND)>
561 <NTHR TEMP77 1 = TEMP77 (RECORD-TYPE LBIND)>
562 <NTHR 'STK 2 = TEMP120 (RECORD-TYPE ATOM) (TYPE LBIND)>
563 <NTHR TEMP120 1 = TEMP120 (RECORD-TYPE LBIND)>
564 <ADD TEMP77 TEMP120 = TEMP77 (TYPE FIX)>
566 <NTHR 'STK-CHARS8 2 = TEMP120 (RECORD-TYPE ATOM) (TYPE LBIND)>
567 <PUTR TEMP120 1 TEMP77 (RECORD-TYPE LBIND)>
568 <DEAD TEMP120 TEMP77>
569 <NTHR 'STK-CHARS7 2 = TEMP77 (RECORD-TYPE ATOM) (TYPE LBIND)>
570 <NTHR TEMP77 1 = TEMP77 (RECORD-TYPE LBIND)>
571 <NTHR 'STK 2 = TEMP120 (RECORD-TYPE ATOM) (TYPE LBIND)>
572 <NTHR TEMP120 1 = TEMP120 (RECORD-TYPE LBIND)>
573 <ADD TEMP77 TEMP120 = TEMP77 (TYPE FIX)>
575 <NTHR 'STK-CHARS7 2 = TEMP120 (RECORD-TYPE ATOM) (TYPE LBIND)>
576 <PUTR TEMP120 1 TEMP77 (RECORD-TYPE LBIND)>
577 <DEAD TEMP120 TEMP77>
578 <NTHR 'STK 2 = TEMP77 (RECORD-TYPE ATOM) (TYPE LBIND)>
579 <PUTR TEMP77 1 0 (RECORD-TYPE LBIND)>
582 <NTHR 'PNOD 2 = TEMP77 (RECORD-TYPE ATOM) (TYPE LBIND)>
583 <NTHR TEMP77 1 = TEMP77 (RECORD-TYPE LBIND)>
584 <NTHUV TEMP77 12 = TEMP77>
585 <TYPE? TEMP77 <TYPE-CODE FALSE> - PHRASE325>
587 <NTHR 'STKTMP 2 = TEMP77 (RECORD-TYPE ATOM) (TYPE LBIND)>
588 <NTHR TEMP77 1 = TEMP77 (RECORD-TYPE LBIND)>
589 <TYPE? TEMP77 <TYPE-CODE UNBOUND> + PHRASE327>
590 <NTHR 'STK 2 = TEMP77 (RECORD-TYPE ATOM) (TYPE LBIND)>
591 <NTHR TEMP77 1 = TEMP77 (RECORD-TYPE LBIND)>
592 <VEQUAL? TEMP77 0 + PHRASE329 (TYPE FIX)>
595 <NTHR 'STKTMP 2 = TEMP77 (RECORD-TYPE ATOM) (TYPE LBIND)>
596 <NTHR TEMP77 1 = STACK (RECORD-TYPE LBIND)>
597 <NTHR 'STK 2 = TEMP77 (RECORD-TYPE ATOM) (TYPE LBIND)>
598 <NTHR TEMP77 1 = STACK (RECORD-TYPE LBIND)>
600 <NTHR 'STKTMP 2 = TEMP77 (RECORD-TYPE ATOM) (TYPE LBIND)>
601 <NTHR TEMP77 1 = STACK (RECORD-TYPE LBIND)>
602 <CONS 'FIX () = TEMP77>
603 <CONS '`TYPE TEMP77 = STACK>
607 <NTHR 'STK-CHARS7 2 = TEMP77 (RECORD-TYPE ATOM) (TYPE LBIND)>
608 <NTHR TEMP77 1 = TEMP77 (RECORD-TYPE LBIND)>
609 <VEQUAL? TEMP77 0 + PHRASE341 (TYPE FIX)>
616 <NTHR 'STKTMP 2 = TEMP77 (RECORD-TYPE ATOM) (TYPE LBIND)>
617 <NTHR TEMP77 1 = STACK (RECORD-TYPE LBIND)>
618 <NTHR 'STK-CHARS7 2 = TEMP77 (RECORD-TYPE ATOM) (TYPE LBIND)>
619 <NTHR TEMP77 1 = STACK (RECORD-TYPE LBIND)>
621 <NTHR 'STKTMP 2 = TEMP77 (RECORD-TYPE ATOM) (TYPE LBIND)>
622 <NTHR TEMP77 1 = STACK (RECORD-TYPE LBIND)>
634 <NTHR 'STKTMP 2 = TEMP77 (RECORD-TYPE ATOM) (TYPE LBIND)>
635 <NTHR TEMP77 1 = STACK (RECORD-TYPE LBIND)>
636 <NTHR 'STK-CHARS8 2 = TEMP77 (RECORD-TYPE ATOM) (TYPE LBIND)>
637 <NTHR TEMP77 1 = STACK (RECORD-TYPE LBIND)>
639 <NTHR 'STKTMP 2 = TEMP77 (RECORD-TYPE ATOM) (TYPE LBIND)>
640 <NTHR TEMP77 1 = STACK (RECORD-TYPE LBIND)>
649 <NTHR 'STKTMP 2 = TEMP77 (RECORD-TYPE ATOM) (TYPE LBIND)>
650 <NTHR TEMP77 1 = STACK (RECORD-TYPE LBIND)>
652 <FRAME '
\1aFREE-TEMP>
653 <NTHR 'STKTMP 2 = TEMP77 (RECORD-TYPE ATOM) (TYPE LBIND)>
654 <NTHR TEMP77 1 = STACK (RECORD-TYPE LBIND)>
655 <CALL '
\1aFREE-TEMP 1>
658 <NTHR 'STK 2 = TEMP77 (RECORD-TYPE ATOM) (TYPE LBIND)>
659 <NTHR TEMP77 1 = TEMP77 (RECORD-TYPE LBIND)>
660 <VEQUAL? TEMP77 0 + PHRASE370 (TYPE FIX)>
663 <NTHR 'STK 2 = TEMP77 (RECORD-TYPE ATOM) (TYPE LBIND)>
664 <NTHR TEMP77 1 = TEMP77 (RECORD-TYPE LBIND)>
665 <SUB 0 TEMP77 = STACK (TYPE FIX)>
669 <NTHR 'STK-CHARS8 2 = TEMP77 (RECORD-TYPE ATOM) (TYPE LBIND)>
670 <NTHR TEMP77 1 = TEMP77 (RECORD-TYPE LBIND)>
671 <VEQUAL? TEMP77 0 + PHRASE378 (TYPE FIX)>
678 <NTHR 'STK-CHARS7 2 = TEMP77 (RECORD-TYPE ATOM) (TYPE LBIND)>
679 <NTHR TEMP77 1 = TEMP77 (RECORD-TYPE LBIND)>
680 <SUB 0 TEMP77 = STACK (TYPE FIX)>
692 <NTHR 'STK-CHARS8 2 = TEMP77 (RECORD-TYPE ATOM) (TYPE LBIND)>
693 <NTHR TEMP77 1 = TEMP77 (RECORD-TYPE LBIND)>
694 <SUB 0 TEMP77 = STACK (TYPE FIX)>
701 <NTHR 'FREE-TEMPS 2 = OFREE-TEMPS27 (RECORD-TYPE ATOM) (TYPE LBIND)>
702 <NTHR OFREE-TEMPS27 1 = OFREE-TEMPS27 (RECORD-TYPE LBIND)>
707 <GEN-SET 'FREE-TEMPS OFREE-TEMPS27>
710 <GEN-LVAL 'TMPS = STACK>
712 <GEN-LVAL 'TMPS = STACK>
713 <CALL '
\1aLENGTH 1 = TEMP120>
714 <SUB TEMP120 1 = STACK (TYPE FIX)>
716 <CALL '
\1aREST 2 = TEMP120>
717 <GEN-SET 'TMPS-NEXT TEMP120>
719 <NTHR 'PNOD 2 = TEMP120 (RECORD-TYPE ATOM) (TYPE LBIND)>
720 <NTHR TEMP120 1 = TEMP120 (RECORD-TYPE LBIND)>
721 <NTHUV TEMP120 15 = TEMP120>
722 <GVAL 'NO-DATUM = TEMP121>
723 <EQUAL? TEMP120 TEMP121 + BOOL407>
724 <DEAD TEMP120 TEMP121>
725 <TYPE? BRANCH11 <TYPE-CODE FALSE> + PHRASE406>
728 <NTHR 'PNOD 2 = TEMP121 (RECORD-TYPE ATOM) (TYPE LBIND)>
729 <NTHR TEMP121 1 = TEMP121 (RECORD-TYPE LBIND)>
730 <NTHUV TEMP121 12 = TEMP121>
731 <TYPE? TEMP121 <TYPE-CODE FALSE> + PHRASE411>
733 <EQUAL? PWHERE9 'FLUSHED + PHRASE411>
739 <CALL '
\1aMOVE-ARG 2 = TEMP121>
742 <GVAL 'NO-DATUM = TEMP121>
750 <CALL '
\1aMOVE-ARG 2 = TEMP121>
757 <END
\1aPROG-REP-GEN>
760 <GFCN
\1aPROG-END ("VALUE" ATOM ANY) RESULT4>
763 <EQUAL? RESULT4 'FLUSHED - PHRASE6>
764 <FRAME '
\1aMIM-RETURN>
766 <CALL '
\1aMIM-RETURN 1 = TEMP8>
770 <FRAME '
\1aMIM-RETURN>
773 <CALL '
\1aMIM-RETURN 1 = TEMP8>
779 <GFCN
\1aACTIV? ("VALUE" <OR ATOM !<FALSE>> <LIST [REST SYMTAB]>) BST4>
785 <EMPL? BST4 - PHRASE10 (TYPE LIST)>
788 <NTHL BST4 1 = TEMP5 (TYPE SYMTAB)>
789 <NTHUV TEMP5 4 = TEMP5 (TYPE FIX)>
790 <VEQUAL? TEMP5 1 - PHRASE12 (TYPE FIX)>
792 <NTHL BST4 1 = TEMP5 (TYPE SYMTAB)>
793 <NTHUV TEMP5 11 = TEMP5>
794 <TYPE? TEMP5 <TYPE-CODE FALSE> + BOOL17>
796 <NTHL BST4 1 = TEMP5 (TYPE SYMTAB)>
797 <NTHUV TEMP5 3 = TEMP5>
798 <TYPE? TEMP5 <TYPE-CODE FALSE> + PHRASE12>
803 <RESTL BST4 1 = BST4 (TYPE LIST)>
809 " Generate code for a RETURN."
812 <GFCN
\1aRETURN-GEN ("VALUE" ANY NODE ANY) NOD4 WHERE5>
813 <TEMP (CD1-8 %<>) (NF10 0) (FOK13 %<>) TEMP25 RTA14 DEST9 LL11 RT12>
815 <NTHUV NOD4 5 = CD1-8 (TYPE LIST)>
816 <EMPL? CD1-8 + PHRASE20>
817 <RESTL CD1-8 1 = CD1-8 (TYPE LIST)>
818 <EMPL? CD1-8 - PHRASE20>
820 <GEN-LVAL 'RPNOD = NF10>
823 <NTHUV NOD4 5 = TEMP25 (TYPE LIST)>
824 <RESTL TEMP25 1 = TEMP25 (TYPE LIST)>
825 <NTHL TEMP25 1 = TEMP25 (TYPE NODE)>
826 <NTHUV TEMP25 4 = TEMP25 (TYPE SYMTAB)>
827 <NTHUV TEMP25 11 = CD1-8>
829 <TYPE? CD1-8 <TYPE-CODE FALSE> + PHRASE24>
839 <CALL '
\1aSUBR-GEN 2 = CD1-8>
843 <NTHUV NF10 17 = RTA14>
844 <NTHUV NF10 14 = DEST9>
845 <EQUAL? DEST9 'FLUSHED - PHRASE29>
846 <NTHUV NF10 15 = LL11>
847 <TYPE? LL11 <TYPE-CODE LIST> - PHRASE31>
848 <GVAL 'NO-DATUM = TEMP25>
849 <EQUAL? TEMP25 LL11 + PHRASE31>
852 <NTHUV NOD4 5 = TEMP25 (TYPE LIST)>
854 <NTHL TEMP25 1 = CD1-8 (TYPE NODE)>
856 <NTHUV CD1-8 3 = RT12>
859 <CALL '
\1aTYPE-OK? 2 = TEMP25>
860 <TYPE? TEMP25 <TYPE-CODE FALSE> + PHRASE34>
862 <SET FOK13 'T (TYPE ATOM)>
866 <CALL '
\1aISTYPE? 1 = TEMP25>
867 <VEQUAL? TEMP25 'FALSE + PHRASE34>
869 <FRAME '
\1aPRED-BRANCH-GEN>
870 <NTHL LL11 1 = STACK>
873 <RESTL LL11 1 = TEMP25 (TYPE LIST)>
875 <NTHL TEMP25 1 = STACK>
879 <CALL '
\1aPRED-BRANCH-GEN 5>
882 <RESTL LL11 1 = TEMP25 (TYPE LIST)>
883 <NTHL TEMP25 1 = TEMP25>
884 <TYPE? TEMP25 <TYPE-CODE FALSE> + PHRASE41>
886 <VEQUAL? FOK13 0 - PHRASE39>
890 <VEQUAL? FOK13 0 + PHRASE39>
893 <NTHUV CD1-8 1 = TEMP25 (TYPE FIX)>
894 <VEQUAL? TEMP25 2 + PHRASE44 (TYPE FIX)>
902 <NTHL LL11 1 = RTA14>
906 <NTHUV CD1-8 1 = TEMP25 (TYPE FIX)>
907 <VEQUAL? TEMP25 2 + PHRASE50 (TYPE FIX)>
917 <NTHUV NOD4 5 = TEMP25 (TYPE LIST)>
919 <NTHL TEMP25 1 = STACK (TYPE NODE)>
925 <EQUAL? DEST9 'DONT-CARE - PHRASE52>
928 <CALL '
\1aGEN-TEMP 1 = DEST9>
931 <NTHUV NOD4 5 = TEMP25 (TYPE LIST)>
933 <NTHL TEMP25 1 = STACK (TYPE NODE)>
936 <CALL '
\1aGEN 2 = CD1-8>
937 <NTHUV NF10 14 = TEMP25>
938 <EQUAL? TEMP25 'DONT-CARE - PHRASE56>
940 <PUTUV NF10 14 CD1-8>
942 <NTHUV NF10 15 = TEMP25>
943 <GVAL 'NO-DATUM = FOK13>
944 <EQUAL? TEMP25 FOK13 + PHRASE58>
946 <FRAME '
\1aDEALLOCATE-TEMP>
948 <CALL '
\1aDEALLOCATE-TEMP 1>
950 <PUTUV NF10 15 CD1-8>
953 <NTHUV NF10 12 = FOK13>
954 <TYPE? FOK13 <TYPE-CODE FALSE> + PHRASE62>
959 <CALL '
\1aPROG-END 1>
962 <NTHUV NF10 13 = FOK13>
963 <TYPE? FOK13 <TYPE-CODE FALSE> + PHRASE66>
967 <NTHUV NF10 13 = STACK>
971 <FRAME '
\1aBRANCH-TAG>
974 <CALL '
\1aBRANCH-TAG 1>
976 <GVAL 'NO-DATUM = CD1-8>
982 <GFCN
\1aMULTI-RETURN-GEN ("VALUE" ANY NODE ANY) NOD4 WHERE5>
983 <TEMP (K6 %<>) FTMP10 N11 (LOCAL12 %<>) SEGTMP14 (I15:FIX 0) TEMP22 FR13 TEMP45 N61:NODE TEMP89 RES92>
985 <NTHUV NOD4 5 = K6 (TYPE LIST)>
986 <NTHL K6 1 = N11 (TYPE NODE)>
987 <NTHUV N11 1 = TEMP22 (TYPE FIX)>
988 <VEQUAL? TEMP22 2 - PHRASE21 (TYPE FIX)>
990 <SET LOCAL12 'T (TYPE ATOM)>
991 <GEN-LVAL 'RPNOD = N11>
992 <GEN-ASSIGNED? 'SEGLABEL - PHRASE33>
993 <GEN-LVAL 'COUNTMP = FTMP10>
996 <NTHUV N11 1 = TEMP22 (TYPE FIX)>
997 <VEQUAL? TEMP22 10 - PHRASE30 (TYPE FIX)>
999 <NTHUV N11 4 = TEMP22 (TYPE SYMTAB)>
1000 <NTHUV TEMP22 11 = TEMP22>
1001 <TYPE? TEMP22 <TYPE-CODE FALSE> + PHRASE30>
1004 <SET FR13 0 (TYPE FIX)>
1010 <CALL '
\1aGEN 2 = FR13>
1012 <RESTL K6 1 = TEMP45 (TYPE LIST)>
1016 <EMPL? TEMP45 + MAPAP39>
1017 <NTHL TEMP45 1 = TEMP22>
1018 <NTHUV TEMP22 1 = TEMP22 (TYPE FIX)>
1019 <VEQUAL? TEMP22 3 + PHRASE48 (TYPE FIX)>
1021 <ADD I15 1 = I15 (TYPE FIX)>
1023 <RESTL TEMP45 1 = TEMP45 (TYPE LIST)>
1026 <RESTL K6 1 = TEMP22 (TYPE LIST)>
1031 <EMPL? TEMP22 + MAPAP54>
1032 <NTHL TEMP22 1 = K6>
1033 <NTHUV K6 1 = TEMP45 (TYPE FIX)>
1034 <VEQUAL? TEMP45 3 - PHRASE64 (TYPE FIX)>
1036 <TYPE? SEGTMP14 <TYPE-CODE UNBOUND> - PHRASE67>
1037 <TYPE? FTMP10 <TYPE-CODE UNBOUND> + PHRASE69>
1038 <VEQUAL? I15 0 + PHRASE75 (TYPE FIX)>
1048 <FRAME '
\1aGEN-TEMP>
1049 <CALL '
\1aGEN-TEMP 0 = FTMP10>
1056 <FRAME '
\1aGEN-TEMP>
1058 <CALL '
\1aGEN-TEMP 1 = SEGTMP14>
1060 <FRAME '
\1aSTRUCTYP-SEG>
1061 <NTHUV K6 5 = TEMP45 (TYPE LIST)>
1063 <NTHL TEMP45 1 = N61 (TYPE NODE)>
1065 <NTHUV N61 3 = STACK>
1066 <CALL '
\1aSTRUCTYP-SEG 1 = K6>
1067 <VEQUAL? LOCAL12 0 + PHRASE81>
1072 <FRAME '
\1aSEGMENT-STACK>
1078 <NTHUV N61 3 = STACK>
1080 <CALL '
\1aISTYPE? 1 = STACK>
1081 <CALL '
\1aSEGMENT-STACK 4>
1084 <GETS 'BIND = TEMP45 (TYPE LBIND)>
1085 <FRAME '
\1aMAKE-TAG>
1086 <CALL '
\1aMAKE-TAG 0 = TEMP89>
1087 <BBIND 'SEGLABEL 'ANY 'FIX TEMP89>
1089 <BBIND 'COUNTMP 'ANY 'FIX FTMP10>
1090 <BBIND 'SEGCALLED 'ANY 'FIX %<>>
1094 <CALL '
\1aGEN 2 = RES92>
1095 <GVAL 'NO-DATUM = TEMP89>
1096 <EQUAL? TEMP89 RES92 - BOOL97>
1098 <EQUAL? K6 'MULTI + PHRASE96>
1100 <FRAME '
\1aSEGMENT-STACK>
1102 <NTHR 'COUNTMP 2 = TEMP89 (RECORD-TYPE ATOM) (TYPE LBIND)>
1103 <NTHR TEMP89 1 = STACK (RECORD-TYPE LBIND)>
1108 <NTHUV N61 3 = STACK>
1110 <CALL '
\1aISTYPE? 1 = STACK>
1111 <NTHR 'SEGLABEL 2 = TEMP89 (RECORD-TYPE ATOM) (TYPE LBIND)>
1112 <NTHR TEMP89 1 = STACK (RECORD-TYPE LBIND)>
1114 <CALL '
\1aSEGMENT-STACK 5>
1117 <NTHR 'SEGCALLED 2 = TEMP89 (RECORD-TYPE ATOM) (TYPE LBIND)>
1118 <NTHR TEMP89 1 = TEMP89 (RECORD-TYPE LBIND)>
1119 <TYPE? TEMP89 <TYPE-CODE FALSE> + PHRASE104>
1121 <FRAME '
\1aLABEL-TAG>
1122 <NTHR 'SEGLABEL 2 = TEMP89 (RECORD-TYPE ATOM) (TYPE LBIND)>
1123 <NTHR TEMP89 1 = STACK (RECORD-TYPE LBIND)>
1125 <CALL '
\1aLABEL-TAG 1>
1135 <GVAL 'POP-STACK = STACK>
1138 <RESTL TEMP22 1 = TEMP22 (TYPE LIST)>
1141 <VEQUAL? LOCAL12 0 + PHRASE113>
1142 <NTHUV N11 14 = TEMP22>
1143 <EQUAL? TEMP22 'FLUSHED + BOOL115>
1145 <GEN-ASSIGNED? 'SEGLABEL + PHRASE113>
1147 <FRAME '
\1aCOMPILE-ERROR>
1148 <PUSH "MULTI-RETURN to nothing">
1151 <CALL '
\1aCOMPILE-ERROR 2>
1154 <VEQUAL? LOCAL12 0 + PHRASE118>
1156 <GEN-ASSIGNED? 'SEGLABEL - PHRASE118>
1157 <TYPE? SEGTMP14 <TYPE-CODE UNBOUND> - PHRASE121>
1167 <NTHUV N11 13 = FTMP10>
1168 <TYPE? FTMP10 <TYPE-CODE FALSE> + PHRASE124>
1172 <NTHUV N11 13 = STACK>
1176 <FRAME '
\1aBRANCH-TAG>
1177 <GEN-LVAL 'SEGLABEL = STACK>
1178 <CALL '
\1aBRANCH-TAG 1>
1183 <TYPE? FTMP10 <TYPE-CODE UNBOUND> + PHRASE132>
1197 <GVAL 'NO-DATUM = FTMP10>
1200 <END
\1aMULTI-RETURN-GEN>
1204 " Generate code for an AGAIN."
1207 <GFCN
\1aAGAIN-GEN ("VALUE" ANY NODE ANY) NOD4 WHERE5>
1210 <NTHUV NOD4 5 = TEMP14 (TYPE LIST)>
1211 <EMPL? TEMP14 - PHRASE13 (TYPE LIST)>
1213 <GEN-LVAL 'RPNOD = TEMP14>
1216 <NTHUV NOD4 5 = TEMP14 (TYPE LIST)>
1217 <NTHL TEMP14 1 = TEMP14 (TYPE NODE)>
1218 <NTHUV TEMP14 4 = TEMP14 (TYPE SYMTAB)>
1219 <NTHUV TEMP14 11 = TEMP14>
1220 <TYPE? TEMP14 <TYPE-CODE FALSE> - PHRASE19>
1221 <FRAME '
\1aSUBR-GEN>
1226 <CALL '
\1aSUBR-GEN 2 = TEMP14>
1230 <FRAME '
\1aBRANCH-TAG>
1231 <NTHUV TEMP14 16 = STACK>
1233 <CALL '
\1aBRANCH-TAG 1>
1234 <GVAL 'NO-DATUM = TEMP14>
1240 <GFCN
\1aUNBIND-LOCS ("VALUE" ATOM)>
1244 <END
\1aUNBIND-LOCS>