Machine-Independent MDL for TOPS-20 and VAX.
[pdp10-muddle.git] / mim / development / mim / mimc / nsymana.mima
1
2 <PACKAGE "SYMANA">
3
4 <ENTRY ANA EANA SET-CURRENT-TYPE TYPE-NTH-REST WHO TMPS GET-TMP TRUTH UNTRUTH SEGFLUSH KILL-REM BUILD-TYPE-LIST GET-CURRENT-TYPE ADD-TYPE-LIST PUT-FLUSH WHON SAVE-SURVIVORS SEQ-AN ARGCHK ASSUM-OK? FREST-L-D-STATE HTMPS ORUPC APPLTYP MSAVE-L-D-STATE SHTMPS RESET-VARS STMPS ASSERT-TYPES SAVE-L-D-STATE MUNG-L-D-STATE NORM-BAN SUBR-C-AN ENTROPY NAUX-BAN TUP-BAN ARGS-BAN LIFE MANIFESTQ SPEC-FLUSH UPDATE-SIDE-EFFECTS>
5
6 <USE "CHKDCL" "COMPDEC" "STRANA" "CARANA" "NOTANA" "ADVMESS" "MAPANA" "SUBRTY" "BITSANA" "CDRIVE">
7
8 "       This is the main file associated with the type analysis phase of
9 the compilation.  It is called by calling FUNC-ANA with the main data structure
10 pointer.   ANA is the FUNCTION that dispatches to the various special handlers
11 and the SUBR call analyzer further dispatches for specific functions."
12
13 "       Many analyzers for specific SUBRs appear in their own files
14 (CARITH, STRUCT etc.).  Currently no special hacks are done for TYPE?, EMPTY?
15 etc. in COND, ANDS and ORS."
16
17 "       All analysis functions are called with 2 args, a NODE and a desired
18 type specification.  These args are usually called NOD and RTYP or
19 N and R."
20
21 " ANA is the main analysis dispatcher (see ANALYZERS at the end of
22   this file for its dispatch table."
23
24 <GDECL (TEMPLATES SUBRS) VECTOR>
25
26 #WORD *23316420275*
27 <GFCN \1aANA ("VALUE" ANY NODE ANY) NOD4 RTYP5>
28                     <TEMP P6 TEMP9>
29                     <INTGO>
30                     <NTHUV NOD4 2 = P6>
31                     <LENUV NOD4 = TEMP9 (TYPE FIX)>
32                     <LESS? TEMP9 8 + PHRASE8 (TYPE FIX)>
33                     <DEAD TEMP9>
34                     <PUTUV NOD4 8 %<>>
35 PHRASE8
36                     <FRAME '\1aANALYSIS-DISPATCHER>
37                     <PUSH NOD4>
38                     <PUSH RTYP5>
39                     <DEAD RTYP5>
40                     <CALL '\1aANALYSIS-DISPATCHER 2 = TEMP9>
41                     <PUTUV NOD4 3 TEMP9>
42                     <DEAD TEMP9>
43                     <FRAME '\1aUPDATE-SIDE-EFFECTS>
44                     <PUSH NOD4>
45                     <PUSH P6>
46                     <DEAD P6>
47                     <CALL '\1aUPDATE-SIDE-EFFECTS 2>
48                     <NTHUV NOD4 3 = TEMP9>
49                     <DEAD NOD4>
50                     <RETURN TEMP9>
51                     <DEAD TEMP9>
52                     <END \1aANA>
53 #WORD *33230222626*
54 <GFCN \1aUPDATE-SIDE-EFFECTS ("VALUE" <OR FALSE NODE> NODE ANY) NOD4 P5>
55                     <TEMP TEMP12 TEM6 TEMP29 TEMP30 TEMP43 TEMP52 TEMP53 TEMP54 TEMP82>
56                     <INTGO>
57                     <NTHUV NOD4 1 = TEMP12 (TYPE FIX)>
58                     <VEQUAL? TEMP12 2 - TAG13 (TYPE FIX)>
59                     <DEAD TEMP12>
60                     <RETURN %<>>
61 TAG13
62                     <NTHUV NOD4 8 = TEM6>
63                     <DEAD NOD4>
64                     <SET TEMP12 TEM6>
65                     <TYPE? TEMP12 <TYPE-CODE FALSE> + PHRASE9>
66                     <LOOP>
67 AGAIN15
68                     <INTGO>
69                     <TYPE? P5 <TYPE-CODE NODE> + PHRASE17>
70                     <SET TEMP12 %<> (TYPE FALSE)>
71                     <JUMP + EXIT14>
72 PHRASE17
73                     <LENUV P5 = TEMP12 (TYPE FIX)>
74                     <LESS? TEMP12 8 + PHRASE19 (TYPE FIX)>
75                     <DEAD TEMP12>
76                     <SET TEMP12 'T (TYPE ATOM)>
77                     <JUMP + EXIT14>
78 PHRASE19
79                     <NTHUV P5 2 = P5>
80                     <JUMP + AGAIN15>
81 EXIT14
82                     <VEQUAL? TEMP12 0 + PHRASE9>
83                     <EMPL? TEM6 - PHRASE22 (TYPE LIST)>
84                     <NTHUV P5 8 = TEMP12>
85                     <JUMP + PHRASE96>
86 PHRASE22
87                     <NTHUV P5 8 = TEMP12>
88                     <EMPL? TEMP12 - PHRASE23>
89                     <SET TEMP12 TEM6>
90                     <DEAD TEM6>
91                     <JUMP + PHRASE96>
92 PHRASE23
93                     <SET TEMP29 TEM6>
94                     <LOOP (TEMP29 VALUE)>
95 TAG27
96                     <NTHL TEMP29 1 = TEMP30>
97                     <TYPE? TEMP30 <TYPE-CODE ATOM> - TAG28>
98                     <VEQUAL? TEMP30 'ALL + TAG26>
99                     <DEAD TEMP30>
100 TAG28
101                     <RESTL TEMP29 1 = TEMP29 (TYPE LIST)>
102                     <EMPL? TEMP29 - TAG27>
103                     <JUMP + PHRASE24>
104 TAG26
105                     <SET TEMP29 TEMP12>
106                     <LOOP (TEMP29 VALUE)>
107 TAG32
108                     <NTHL TEMP29 1 = TEMP30>
109                     <TYPE? TEMP30 <TYPE-CODE ATOM> - TAG33>
110                     <VEQUAL? TEMP30 'ALL + TAG31>
111                     <DEAD TEMP30>
112 TAG33
113                     <RESTL TEMP29 1 = TEMP29 (TYPE LIST)>
114                     <EMPL? TEMP29 - TAG32>
115                     <JUMP + PHRASE24>
116 TAG31
117                     <LENL TEM6 = TEMP29 (TYPE FIX)>
118                     <LENL TEMP12 = TEMP30 (TYPE FIX)>
119                     <GRTR? TEMP29 TEMP30 - PHRASE35 (TYPE FIX)>
120                     <DEAD TEMP29 TEMP30>
121                     <SET TEMP43 () (TYPE LIST)>
122                     <SET TEMP30 () (TYPE LIST)>
123                     <CHTYPE TEMP12 <TYPE-CODE LIST> = TEMP29>
124                     <DEAD TEMP12>
125                     <LOOP>
126 MAP37
127                     <INTGO>
128                     <EMPL? TEMP29 + MAPAP40>
129                     <NTHL TEMP29 1 = TEMP12>
130                     <EQUAL? TEMP12 'ALL + MAP38>
131                     <SET TEMP52 TEM6>
132                     <TYPE TEMP12 = TEMP53>
133                     <LOOP (TEMP12 VALUE) (TEMP53 VALUE) (TEMP52 VALUE)>
134 TAG50
135                     <NTHL TEMP52 1 = TEMP54>
136                     <TYPE? TEMP54 TEMP53 - TAG51>
137                     <VEQUAL? TEMP54 TEMP12 + MAP38>
138                     <DEAD TEMP54>
139 TAG51
140                     <RESTL TEMP52 1 = TEMP52 (TYPE LIST)>
141                     <EMPL? TEMP52 - TAG50>
142                     <SET TEMP52 TEMP12>
143                     <DEAD TEMP12>
144                     <CONS TEMP52 () = TEMP52 (TYPE LIST)>
145                     <EMPL? TEMP43 - TAG57>
146                     <SET TEMP43 TEMP52 (TYPE LIST)>
147                     <JUMP + TAG58>
148 TAG57
149                     <PUTREST TEMP30 TEMP52>
150                     <DEAD TEMP30>
151 TAG58
152                     <SET TEMP30 TEMP52 (TYPE LIST)>
153                     <DEAD TEMP52>
154 MAP38
155                     <RESTL TEMP29 1 = TEMP29 (TYPE LIST)>
156                     <JUMP + MAP37>
157 MAPAP40
158                     <SET TEMP12 TEMP43>
159                     <DEAD TEMP43>
160                     <EMPL? TEMP12 - PHRASE60 (TYPE LIST)>
161                     <SET TEMP12 TEM6>
162                     <DEAD TEM6>
163                     <JUMP + PHRASE96>
164 PHRASE60
165                     <SET TEMP29 TEMP12>
166                     <LOOP (TEMP29 VALUE)>
167 TAG62
168                     <RESTL TEMP29 1 = TEMP52 (TYPE LIST)>
169                     <EMPL? TEMP52 + TAG63>
170                     <SET TEMP29 TEMP52>
171                     <DEAD TEMP52>
172                     <JUMP + TAG62>
173 TAG63
174                     <PUTREST TEMP29 TEM6>
175                     <DEAD TEMP29 TEM6>
176                     <JUMP + PHRASE96>
177 PHRASE35
178                     <SET TEMP29 () (TYPE LIST)>
179                     <SET TEMP53 () (TYPE LIST)>
180                     <SET TEMP52 TEM6 (TYPE LIST)>
181                     <LOOP>
182 MAP66
183                     <INTGO>
184                     <EMPL? TEMP52 + MAPAP69>
185                     <NTHL TEMP52 1 = TEMP30>
186                     <EQUAL? TEMP30 'ALL + MAP67>
187                     <SET TEMP43 TEMP12>
188                     <TYPE TEMP30 = TEMP54>
189                     <LOOP (TEMP30 VALUE) (TEMP54 VALUE) (TEMP43 VALUE)>
190 TAG78
191                     <NTHL TEMP43 1 = TEMP82>
192                     <TYPE? TEMP82 TEMP54 - TAG79>
193                     <VEQUAL? TEMP82 TEMP30 + MAP67>
194                     <DEAD TEMP82>
195 TAG79
196                     <RESTL TEMP43 1 = TEMP43 (TYPE LIST)>
197                     <EMPL? TEMP43 - TAG78>
198                     <SET TEMP43 TEMP30>
199                     <DEAD TEMP30>
200                     <CONS TEMP43 () = TEMP43 (TYPE LIST)>
201                     <EMPL? TEMP29 - TAG85>
202                     <SET TEMP29 TEMP43 (TYPE LIST)>
203                     <JUMP + TAG86>
204 TAG85
205                     <PUTREST TEMP53 TEMP43>
206                     <DEAD TEMP53>
207 TAG86
208                     <SET TEMP53 TEMP43 (TYPE LIST)>
209                     <DEAD TEMP43>
210 MAP67
211                     <RESTL TEMP52 1 = TEMP52 (TYPE LIST)>
212                     <JUMP + MAP66>
213 MAPAP69
214                     <SET TEMP12 TEMP29>
215                     <DEAD TEMP29>
216                     <EMPL? TEM6 + PHRASE96 (TYPE LIST)>
217                     <SET TEMP52 TEM6>
218                     <LOOP (TEMP52 VALUE)>
219 TAG90
220                     <RESTL TEMP52 1 = TEMP43 (TYPE LIST)>
221                     <EMPL? TEMP43 + TAG91>
222                     <SET TEMP52 TEMP43>
223                     <DEAD TEMP43>
224                     <JUMP + TAG90>
225 TAG91
226                     <PUTREST TEMP52 TEMP12>
227                     <DEAD TEMP52 TEMP12>
228                     <SET TEMP12 TEM6>
229                     <DEAD TEM6>
230                     <JUMP + PHRASE96>
231 PHRASE24
232                     <LENL TEMP12 = TEMP43 (TYPE FIX)>
233                     <LENL TEM6 = TEMP54 (TYPE FIX)>
234                     <GRTR? TEMP43 TEMP54 - PHRASE92 (TYPE FIX)>
235                     <DEAD TEMP43 TEMP54>
236                     <SET TEMP43 TEM6>
237                     <DEAD TEM6>
238                     <NTHL TEMP43 1 = TEMP82>
239                     <CONS TEMP82 TEMP12 = TEMP82>
240                     <SET TEMP54 TEMP82>
241                     <RESTL TEMP43 1 = TEMP43 (TYPE LIST)>
242                     <EMPL? TEMP43 + TAG94>
243                     <LOOP (TEMP43 VALUE) (TEMP82 VALUE) (TEMP12 VALUE)>
244 TAG93
245                     <NTHL TEMP43 1 = TEMP29>
246                     <CONS TEMP29 TEMP12 = TEMP29>
247                     <PUTREST TEMP82 TEMP29>
248                     <DEAD TEMP82>
249                     <SET TEMP82 TEMP29>
250                     <DEAD TEMP29>
251                     <RESTL TEMP43 1 = TEMP43 (TYPE LIST)>
252                     <EMPL? TEMP43 - TAG93>
253 TAG94
254                     <SET TEMP12 TEMP54>
255                     <DEAD TEMP54>
256                     <JUMP + PHRASE96>
257 PHRASE92
258                     <SET TEMP54 TEMP12>
259                     <DEAD TEMP12>
260                     <NTHL TEMP54 1 = TEMP43>
261                     <CONS TEMP43 TEM6 = TEMP43>
262                     <SET TEMP82 TEMP43>
263                     <RESTL TEMP54 1 = TEMP54 (TYPE LIST)>
264                     <EMPL? TEMP54 + TAG98>
265                     <LOOP (TEMP54 VALUE) (TEMP43 VALUE) (TEM6 VALUE)>
266 TAG97
267                     <NTHL TEMP54 1 = TEMP29>
268                     <CONS TEMP29 TEM6 = TEMP29>
269                     <PUTREST TEMP43 TEMP29>
270                     <DEAD TEMP43>
271                     <SET TEMP43 TEMP29>
272                     <DEAD TEMP29>
273                     <RESTL TEMP54 1 = TEMP54 (TYPE LIST)>
274                     <EMPL? TEMP54 - TAG97>
275 TAG98
276                     <SET TEMP12 TEMP82>
277                     <DEAD TEMP82>
278 PHRASE96
279                     <PUTUV P5 8 TEMP12>
280                     <DEAD TEMP12>
281                     <SET TEMP12 P5>
282                     <DEAD P5>
283 PHRASE9
284                     <RETURN TEMP12>
285                     <DEAD TEMP12>
286                     <END \1aUPDATE-SIDE-EFFECTS>
287 #WORD *11532332567*
288 <GFCN \1aARGCHK ("VALUE" ATOM FIX <OR <LIST FIX FIX> FIX> ANY NODE) GIV4 REQ5 NAME6 NOD7>
289                     <TEMP HI8 LO9>
290                     <INTGO>
291                     <SET HI8 REQ5>
292                     <SET LO9 REQ5>
293                     <TYPE? REQ5 <TYPE-CODE LIST> - PHRASE11>
294                     <RESTL REQ5 1 = HI8 (TYPE LIST)>
295                     <NTHL HI8 1 = HI8 (TYPE FIX)>
296                     <NTHL REQ5 1 = LO9 (TYPE FIX)>
297                     <DEAD REQ5>
298 PHRASE11
299                     <LESS? GIV4 LO9 - PHRASE14 (TYPE FIX)>
300                     <DEAD LO9>
301                     <FRAME '\1aCOMPILE-ERROR>
302                     <PUSH "Too many arguments to:  ">
303                     <PUSH NAME6>
304                     <DEAD NAME6>
305                     <PUSH NOD7>
306                     <DEAD NOD7>
307                     <CALL '\1aCOMPILE-ERROR 3>
308                     <RETURN 'T>
309 PHRASE14
310                     <GRTR? GIV4 HI8 - PHRASE16 (TYPE FIX)>
311                     <DEAD GIV4 HI8>
312                     <FRAME '\1aCOMPILE-ERROR>
313                     <PUSH "Too many arguments to:  ">
314                     <PUSH NAME6>
315                     <DEAD NAME6>
316                     <PUSH NOD7>
317                     <DEAD NOD7>
318                     <CALL '\1aCOMPILE-ERROR 3>
319 PHRASE16
320                     <RETURN 'T>
321                     <END \1aARGCHK>
322 #WORD *35072322136*
323 <GFCN \1aEANA ("VALUE" ANY NODE ANY ANY) NOD4 RTYP5 NAME6>
324                     <TEMP TEMP8>
325                     <INTGO>
326                     <FRAME '\1aANA>
327                     <PUSH NOD4>
328                     <PUSH RTYP5>
329                     <DEAD RTYP5>
330                     <CALL '\1aANA 2 = TEMP8>
331                     <TYPE? TEMP8 <TYPE-CODE FALSE> - PHRASE10>
332                     <FRAME '\1aCOMPILE-ERROR>
333                     <PUSH "Argument wrong type to: ">
334                     <PUSH NAME6>
335                     <DEAD NAME6>
336                     <PUSH NOD4>
337                     <DEAD NOD4>
338                     <CALL '\1aCOMPILE-ERROR 3 = TEMP8>
339 PHRASE10
340                     <RETURN TEMP8>
341                     <DEAD TEMP8>
342                     <END \1aEANA>
343 " FUNC-ANA main entry to analysis phase.  Analyzes bindings then body."
344
345 #WORD *21272717127*
346 <FCN \1aFUNC-ANA ("VALUE" ANY ANY ANY) N4 R5>
347                     <TEMP TEMP3:LBIND TEMP11 OV7>
348                     <INTGO>
349                     <GETS 'BIND = TEMP3 (TYPE LBIND)>
350                     <GEN-ASSIGNED? 'ANALY-OK - PHRASE10>
351                     <GEN-LVAL 'ANALY-OK = TEMP11>
352                     <JUMP + PHRASE15>
353 PHRASE10
354                     <SET TEMP11 'T (TYPE ATOM)>
355 PHRASE15
356                     <BBIND 'ANALY-OK 'ANY 'FIX TEMP11>
357                     <DEAD TEMP11>
358                     <GEN-LVAL 'VERBOSE = OV7>
359                     <CFRAME = TEMP11 (TYPE FRAME)>
360                     <BBIND 'ANA-ACT 'ANY 'FIX TEMP11>
361                     <DEAD TEMP11>
362                     <ACTIVATION>
363                     <GEN-LVAL 'VERBOSE = TEMP11>
364                     <TYPE? TEMP11 <TYPE-CODE FALSE> + PHRASE19>
365                     <DEAD TEMP11>
366                     <GEN-SET 'VERBOSE OV7>
367                     <PUTREST OV7 ()>
368 PHRASE19
369                     <FRAME '\1aFUNC-AN1>
370                     <PUSH N4>
371                     <PUSH R5>
372                     <CALL '\1aFUNC-AN1 2 = TEMP11>
373                     <UNBIND TEMP3>
374                     <DEAD TEMP3>
375                     <ADJ -18>
376                     <RETURN TEMP11>
377                     <DEAD TEMP11>
378                     <END \1aFUNC-ANA>
379 #WORD *1770756522*
380 <GFCN \1aFUNC-AN1 ("VALUE" ANY NODE ANY) FCN4 RTYP5>
381                     <TEMP TEMP3:LBIND TEMP19 NRTYP18 ACT?40 OV44 TEMP63 TEM14>
382                     <INTGO>
383                     <GETS 'BIND = TEMP3 (TYPE LBIND)>
384                     <BBIND 'FCN 'NODE %<> FCN4>
385                     <DEAD FCN4>
386                     <FIXBIND>
387                     <NTHR 'FCN 2 = TEMP19 (RECORD-TYPE ATOM) (TYPE LBIND)>
388                     <NTHR TEMP19 1 = TEMP19 (RECORD-TYPE LBIND)>
389                     <NTHUV TEMP19 11 = TEMP19 (TYPE SYMTAB)>
390                     <BBIND 'VARTBL 'SYMTAB 'FIX TEMP19>
391                     <DEAD TEMP19>
392                     <BBIND 'TMPS 'FIX 'FIX 0>
393                     <BBIND 'HTMPS 'FIX 'FIX 0>
394                     <BBIND 'TRUTH 'LIST 'FIX ()>
395                     <BBIND 'UNTRUTH 'LIST 'FIX ()>
396                     <BBIND 'WHO 'ANY 'FIX ()>
397                     <BBIND 'WHON 'ANY 'FIX %<>>
398                     <BBIND 'PRED 'ANY 'FIX %<>>
399                     <BBIND 'LIFE 'LIST 'FIX ()>
400                     <BBIND 'USE-COUNT 'FIX 'FIX 0>
401                     <BBIND 'BACKTRACK 'FIX 'FIX 0>
402                     <FRAME '\1aRESET-VARS>
403                     <NTHR 'VARTBL 2 = TEMP19 (RECORD-TYPE ATOM) (TYPE LBIND)>
404                     <NTHR TEMP19 1 = STACK (RECORD-TYPE LBIND)>
405                     <DEAD TEMP19>
406                     <CALL '\1aRESET-VARS 1>
407                     <FRAME '\1aBIND-AN>
408                     <NTHR 'FCN 2 = TEMP19 (RECORD-TYPE ATOM) (TYPE LBIND)>
409                     <NTHR TEMP19 1 = TEMP19 (RECORD-TYPE LBIND)>
410                     <NTHUV TEMP19 10 = STACK (TYPE LIST)>
411                     <DEAD TEMP19>
412                     <CALL '\1aBIND-AN 1>
413                     <FRAME '\1aTYPE-OK?>
414                     <PUSH RTYP5>
415                     <NTHR 'FCN 2 = TEMP19 (RECORD-TYPE ATOM) (TYPE LBIND)>
416                     <NTHR TEMP19 1 = TEMP19 (RECORD-TYPE LBIND)>
417                     <NTHUV TEMP19 17 = STACK>
418                     <DEAD TEMP19>
419                     <CALL '\1aTYPE-OK? 2 = NRTYP18>
420                     <TYPE? NRTYP18 <TYPE-CODE FALSE> - PHRASE30>
421                     <FRAME '\1aCOMPILE-ERROR>
422                     <PUSH "Function returns wrong type: ">
423                     <NTHR 'FCN 2 = TEMP19 (RECORD-TYPE ATOM) (TYPE LBIND)>
424                     <NTHR TEMP19 1 = TEMP19 (RECORD-TYPE LBIND)>
425                     <NTHUV TEMP19 4 = STACK>
426                     <DEAD TEMP19>
427                     <PUSH ".  Declared type is ">
428                     <NTHR 'FCN 2 = TEMP19 (RECORD-TYPE ATOM) (TYPE LBIND)>
429                     <NTHR TEMP19 1 = TEMP19 (RECORD-TYPE LBIND)>
430                     <NTHUV TEMP19 17 = STACK>
431                     <DEAD TEMP19>
432                     <PUSH ", required type is ">
433                     <PUSH RTYP5>
434                     <CALL '\1aCOMPILE-ERROR 6>
435 PHRASE30
436                     <FRAME '\1aACTIV?>
437                     <NTHR 'FCN 2 = TEMP19 (RECORD-TYPE ATOM) (TYPE LBIND)>
438                     <NTHR TEMP19 1 = TEMP19 (RECORD-TYPE LBIND)>
439                     <NTHUV TEMP19 10 = STACK (TYPE LIST)>
440                     <DEAD TEMP19>
441                     <PUSH 'T>
442                     <CALL '\1aACTIV? 2 = ACT?40>
443                     <GEN-LVAL 'VERBOSE = OV44>
444                     <LOOP>
445 AGAIN47
446                     <INTGO>
447                     <GEN-LVAL 'VERBOSE = TEMP19>
448                     <TYPE? TEMP19 <TYPE-CODE FALSE> + PHRASE49>
449                     <DEAD TEMP19>
450                     <GEN-SET 'VERBOSE OV44>
451                     <PUTREST OV44 ()>
452 PHRASE49
453                     <NTHR 'FCN 2 = TEMP19 (RECORD-TYPE ATOM) (TYPE LBIND)>
454                     <NTHR TEMP19 1 = TEMP19 (RECORD-TYPE LBIND)>
455                     <PUTUV TEMP19 19 %<>>
456                     <DEAD TEMP19>
457                     <NTHR 'FCN 2 = TEMP19 (RECORD-TYPE ATOM) (TYPE LBIND)>
458                     <NTHR TEMP19 1 = TEMP19 (RECORD-TYPE LBIND)>
459                     <PUTUV TEMP19 7 () (TYPE LIST)>
460                     <DEAD TEMP19>
461                     <NTHR 'LIFE 2 = TEMP19 (RECORD-TYPE ATOM) (TYPE LBIND)>
462                     <PUTR TEMP19 1 () (RECORD-TYPE LBIND)>
463                     <DEAD TEMP19>
464                     <NTHR 'FCN 2 = TEMP19 (RECORD-TYPE ATOM) (TYPE LBIND)>
465                     <NTHR TEMP19 1 = TEMP19 (RECORD-TYPE LBIND)>
466                     <FRAME '\1aBUILD-TYPE-LIST>
467                     <NTHR 'VARTBL 2 = TEMP63 (RECORD-TYPE ATOM) (TYPE LBIND)>
468                     <NTHR TEMP63 1 = STACK (RECORD-TYPE LBIND)>
469                     <DEAD TEMP63>
470                     <CALL '\1aBUILD-TYPE-LIST 1 = TEMP63>
471                     <PUTUV TEMP19 18 TEMP63 (TYPE LIST)>
472                     <DEAD TEMP19 TEMP63>
473                     <TYPE? ACT?40 <TYPE-CODE FALSE> + PHRASE67>
474                     <SET TEMP19 RTYP5>
475                     <JUMP + PHRASE68>
476 PHRASE67
477                     <SET TEMP19 'NO-RETURN (TYPE ATOM)>
478 PHRASE68
479                     <NTHR 'FCN 2 = TEMP63 (RECORD-TYPE ATOM) (TYPE LBIND)>
480                     <NTHR TEMP63 1 = TEMP63 (RECORD-TYPE LBIND)>
481                     <PUTUV TEMP63 14 TEMP19>
482                     <DEAD TEMP63 TEMP19>
483                     <FRAME '\1aSEQ-AN>
484                     <NTHR 'FCN 2 = TEMP63 (RECORD-TYPE ATOM) (TYPE LBIND)>
485                     <NTHR TEMP63 1 = TEMP63 (RECORD-TYPE LBIND)>
486                     <NTHUV TEMP63 5 = STACK (TYPE LIST)>
487                     <DEAD TEMP63>
488                     <NTHR 'FCN 2 = TEMP63 (RECORD-TYPE ATOM) (TYPE LBIND)>
489                     <NTHR TEMP63 1 = TEMP63 (RECORD-TYPE LBIND)>
490                     <NTHUV TEMP63 17 = STACK>
491                     <DEAD TEMP63>
492                     <CALL '\1aSEQ-AN 2 = TEM14>
493                     <TYPE? ACT?40 <TYPE-CODE FALSE> + PHRASE77>
494                     <FRAME '\1aSPEC-FLUSH>
495                     <CALL '\1aSPEC-FLUSH 0>
496                     <FRAME '\1aPUT-FLUSH>
497                     <PUSH 'ALL>
498                     <CALL '\1aPUT-FLUSH 1>
499 PHRASE77
500                     <NTHR 'FCN 2 = TEMP63 (RECORD-TYPE ATOM) (TYPE LBIND)>
501                     <NTHR TEMP63 1 = TEMP63 (RECORD-TYPE LBIND)>
502                     <NTHUV TEMP63 19 = TEMP63>
503                     <TYPE? TEMP63 <TYPE-CODE FALSE> - BOOL84>
504                     <DEAD TEMP63>
505                     <TYPE? ACT?40 <TYPE-CODE FALSE> + BOOL83>
506 BOOL84
507                     <FRAME '\1aASSUM-OK?>
508                     <NTHR 'FCN 2 = TEMP63 (RECORD-TYPE ATOM) (TYPE LBIND)>
509                     <NTHR TEMP63 1 = TEMP63 (RECORD-TYPE LBIND)>
510                     <NTHUV TEMP63 18 = STACK (TYPE LIST)>
511                     <DEAD TEMP63>
512                     <NTHR 'FCN 2 = TEMP19 (RECORD-TYPE ATOM) (TYPE LBIND)>
513                     <NTHR TEMP19 1 = TEMP19 (RECORD-TYPE LBIND)>
514                     <NTHUV TEMP19 19 = TEMP63>
515                     <DEAD TEMP19>
516                     <TYPE? TEMP63 <TYPE-CODE FALSE> - BOOL90>
517                     <FRAME '\1aBUILD-TYPE-LIST>
518                     <NTHR 'VARTBL 2 = TEMP19 (RECORD-TYPE ATOM) (TYPE LBIND)>
519                     <NTHR TEMP19 1 = STACK (RECORD-TYPE LBIND)>
520                     <DEAD TEMP19>
521                     <CALL '\1aBUILD-TYPE-LIST 1 = TEMP63>
522 BOOL90
523                     <PUSH TEMP63>
524                     <DEAD TEMP63>
525                     <CALL '\1aASSUM-OK? 2 = TEMP63>
526                     <TYPE? TEMP63 <TYPE-CODE FALSE> + AGAIN47>
527                     <DEAD TEMP63>
528 BOOL83
529                     <TYPE? ACT?40 <TYPE-CODE FALSE> - PHRASE81>
530                     <DEAD ACT?40>
531                     <FRAME '\1aACTIV?>
532                     <NTHR 'FCN 2 = TEMP63 (RECORD-TYPE ATOM) (TYPE LBIND)>
533                     <NTHR TEMP63 1 = TEMP63 (RECORD-TYPE LBIND)>
534                     <NTHUV TEMP63 10 = STACK (TYPE LIST)>
535                     <DEAD TEMP63>
536                     <PUSH 'T>
537                     <CALL '\1aACTIV? 2 = ACT?40>
538                     <VEQUAL? ACT?40 0 + PHRASE81>
539                     <FRAME '\1aASSERT-TYPES>
540                     <NTHR 'FCN 2 = TEMP63 (RECORD-TYPE ATOM) (TYPE LBIND)>
541                     <NTHR TEMP63 1 = TEMP63 (RECORD-TYPE LBIND)>
542                     <NTHUV TEMP63 18 = STACK (TYPE LIST)>
543                     <DEAD TEMP63>
544                     <CALL '\1aASSERT-TYPES 1 = TEMP63>
545                     <TYPE? TEMP63 <TYPE-CODE FALSE> - AGAIN47>
546                     <DEAD TEMP63>
547 PHRASE81
548                     <NTHR 'FCN 2 = TEMP63 (RECORD-TYPE ATOM) (TYPE LBIND)>
549                     <NTHR TEMP63 1 = TEMP63 (RECORD-TYPE LBIND)>
550                     <PUTUV TEMP63 18 () (TYPE LIST)>
551                     <DEAD TEMP63>
552                     <NTHR 'FCN 2 = TEMP63 (RECORD-TYPE ATOM) (TYPE LBIND)>
553                     <NTHR TEMP63 1 = TEMP63 (RECORD-TYPE LBIND)>
554                     <PUTUV TEMP63 15 ()>
555                     <DEAD TEMP63>
556                     <TYPE? TEM14 <TYPE-CODE FALSE> - PHRASE108>
557                     <FRAME '\1aCOMPILE-ERROR>
558                     <PUSH "Returned value violates decl of: ">
559                     <PUSH NRTYP18>
560                     <DEAD NRTYP18>
561                     <CALL '\1aCOMPILE-ERROR 2>
562 PHRASE108
563                     <NTHR 'FCN 2 = TEMP63 (RECORD-TYPE ATOM) (TYPE LBIND)>
564                     <NTHR TEMP63 1 = TEMP63 (RECORD-TYPE LBIND)>
565                     <FRAME '\1aTYPE-MERGE>
566                     <NTHR 'FCN 2 = TEMP19 (RECORD-TYPE ATOM) (TYPE LBIND)>
567                     <NTHR TEMP19 1 = TEMP19 (RECORD-TYPE LBIND)>
568                     <NTHUV TEMP19 14 = STACK>
569                     <DEAD TEMP19>
570                     <PUSH TEM14>
571                     <DEAD TEM14>
572                     <CALL '\1aTYPE-MERGE 2 = TEMP19>
573                     <PUTUV TEMP63 3 TEMP19>
574                     <DEAD TEMP63 TEMP19>
575                     <FRAME '\1aPUT>
576                     <NTHR 'FCN 2 = TEMP63 (RECORD-TYPE ATOM) (TYPE LBIND)>
577                     <NTHR TEMP63 1 = TEMP63 (RECORD-TYPE LBIND)>
578                     <NTHUV TEMP63 9 = STACK>
579                     <DEAD TEMP63>
580                     <PUSH 2>
581                     <FRAME '\1aTASTEFUL-DECL>
582                     <NTHR 'FCN 2 = TEMP63 (RECORD-TYPE ATOM) (TYPE LBIND)>
583                     <NTHR TEMP63 1 = TEMP63 (RECORD-TYPE LBIND)>
584                     <NTHUV TEMP63 3 = STACK>
585                     <DEAD TEMP63>
586                     <CALL '\1aTASTEFUL-DECL 1 = STACK>
587                     <CALL '\1aPUT 3>
588                     <NTHR 'FCN 2 = TEMP63 (RECORD-TYPE ATOM) (TYPE LBIND)>
589                     <NTHR TEMP63 1 = TEMP63 (RECORD-TYPE LBIND)>
590                     <NTHUV TEMP63 3 = TEMP63>
591                     <UNBIND TEMP3>
592                     <DEAD TEMP3>
593                     <ADJ -108>
594                     <RETURN TEMP63>
595                     <DEAD TEMP63>
596                     <END \1aFUNC-AN1>
597 " BIND-AN analyze binding structure for PROGs, FUNCTIONs etc."
598
599 #WORD *2754703073*
600 <GFCN \1aBIND-AN ("VALUE" ATOM <LIST [REST SYMTAB]>) BNDS4>
601                     <TEMP TEMP6>
602                     <INTGO>
603                     <LOOP>
604 AGAIN10
605                     <INTGO>
606                     <EMPL? BNDS4 - PHRASE12 (TYPE LIST)>
607                     <RETURN 'T>
608 PHRASE12
609                     <NTHL BNDS4 1 = TEMP6 (TYPE SYMTAB)>
610                     <PUTUV TEMP6 18 'ANY>
611                     <PUTUV TEMP6 17 %<>>
612                     <FRAME '\1aBIND-DISPATCH>
613                     <PUSH TEMP6>
614                     <DEAD TEMP6>
615                     <CALL '\1aBIND-DISPATCH 1>
616                     <RESTL BNDS4 1 = BNDS4 (TYPE LIST)>
617                     <JUMP + AGAIN10>
618                     <END \1aBIND-AN>
619 " ENTROPY ignore call and return."
620
621 #WORD *24572033427*
622 <GFCN \1aENTROPY ("VALUE" ATOM ANY) SYM4>
623                     <TEMP>
624                     <INTGO>
625                     <RETURN 'T>
626                     <END \1aENTROPY>
627 #WORD *27576323030*
628 <GFCN \1aTUP-BAN ("VALUE" SYMTAB SYMTAB) SYM4>
629                     <TEMP TEMP7>
630                     <INTGO>
631                     <GEN-LVAL 'ANALY-OK = TEMP7>
632                     <TYPE? TEMP7 <TYPE-CODE FALSE> - PHRASE6>
633                     <DEAD TEMP7>
634                     <NTHUV SYM4 7 = TEMP7>
635                     <PUTUV SYM4 18 TEMP7>
636                     <DEAD TEMP7>
637                     <PUTUV SYM4 17 'ANY>
638                     <RETURN SYM4>
639                     <DEAD SYM4>
640 PHRASE6
641                     <FRAME '\1aISTYPE?>
642                     <NTHUV SYM4 7 = STACK>
643                     <CALL '\1aISTYPE? 1 = TEMP7>
644                     <VEQUAL? TEMP7 'TUPLE + PHRASE10>
645                     <DEAD TEMP7>
646                     <PUTUV SYM4 18 'TUPLE>
647                     <PUTUV SYM4 17 'TUPLE>
648                     <RETURN SYM4>
649                     <DEAD SYM4>
650 PHRASE10
651                     <NTHUV SYM4 7 = TEMP7>
652                     <PUTUV SYM4 17 TEMP7>
653                     <DEAD TEMP7>
654                     <NTHUV SYM4 7 = TEMP7>
655                     <PUTUV SYM4 18 TEMP7>
656                     <DEAD TEMP7>
657                     <RETURN SYM4>
658                     <DEAD SYM4>
659                     <END \1aTUP-BAN>
660 " Analyze AUX and OPTIONAL intializations."
661
662 #WORD *35435344735*
663 <GFCN \1aNORM-BAN ("VALUE" SYMTAB SYMTAB) SYM4>
664                     <TEMP TEMP3:LBIND TEMP9 N8:NODE TEM6>
665                     <INTGO>
666                     <GETS 'BIND = TEMP3 (TYPE LBIND)>
667                     <NTHUV SYM4 1 = TEMP9 (TYPE SYMTAB)>
668                     <BBIND 'VARTBL 'SYMTAB 'FIX TEMP9>
669                     <DEAD TEMP9>
670                     <NTHUV SYM4 9 = N8 (TYPE NODE)>
671                     <FRAME '\1aANA>
672                     <PUSH N8>
673                     <NTHUV SYM4 7 = STACK>
674                     <CALL '\1aANA 2 = TEM6>
675                     <TYPE? TEM6 <TYPE-CODE FALSE> - PHRASE11>
676                     <FRAME '\1aCOMPILE-ERROR>
677                     <PUSH "AUX/OPT init for:  ">
678                     <NTHUV SYM4 2 = STACK (TYPE ATOM)>
679                     <PUSH ".  Init value of: ">
680                     <PUSH N8>
681                     <PUSH " whose type is ">
682                     <NTHUV N8 3 = STACK>
683                     <PUSH " violates decl of ">
684                     <NTHUV SYM4 7 = STACK>
685                     <CALL '\1aCOMPILE-ERROR 8>
686 PHRASE11
687                     <GEN-LVAL 'ANALY-OK = TEMP9>
688                     <TYPE? TEMP9 <TYPE-CODE FALSE> + PHRASE15>
689                     <DEAD TEMP9>
690                     <NTHUV SYM4 4 = TEMP9 (TYPE FIX)>
691                     <GRTR? TEMP9 9 + BOOL19 (TYPE FIX)>
692                     <LESS? TEMP9 6 - PHRASE15 (TYPE FIX)>
693                     <DEAD TEMP9>
694 BOOL19
695                     <NTHUV N8 1 = TEMP9 (TYPE FIX)>
696                     <VEQUAL? TEMP9 2 - PHRASE24 (TYPE FIX)>
697                     <DEAD TEMP9>
698                     <NTHUV N8 4 = TEMP9>
699                     <EQUAL? TEMP9 %<> - PHRASE23>
700                     <DEAD TEMP9>
701                     <SET TEM6 'BOOL-FALSE (TYPE ATOM)>
702                     <JUMP + PHRASE24>
703 PHRASE23
704                     <NTHUV N8 4 = TEMP9>
705                     <DEAD N8>
706                     <EQUAL? TEMP9 'T - PHRASE24>
707                     <DEAD TEMP9>
708                     <SET TEM6 'BOOL-TRUE (TYPE ATOM)>
709 PHRASE24
710                     <PUTUV SYM4 17 TEM6>
711                     <PUTUV SYM4 18 TEM6>
712                     <DEAD TEM6>
713                     <SET TEMP9 SYM4>
714                     <DEAD SYM4>
715                     <JUMP + PHRASE25>
716 PHRASE15
717                     <NTHUV SYM4 7 = TEMP9>
718                     <PUTUV SYM4 18 TEMP9>
719                     <DEAD TEMP9>
720                     <NTHUV SYM4 7 = TEMP9>
721                     <PUTUV SYM4 17 TEMP9>
722                     <DEAD TEMP9>
723                     <SET TEMP9 SYM4>
724                     <DEAD SYM4>
725 PHRASE25
726                     <UNBIND TEMP3>
727                     <DEAD TEMP3>
728                     <ADJ -9>
729                     <RETURN TEMP9>
730                     <DEAD TEMP9>
731                     <END \1aNORM-BAN>
732 " ARGS-BAN analyze ARGS decl (change to OPTIONAL in some cases)."
733
734 #WORD *34214105762*
735 <GFCN \1aARGS-BAN ("VALUE" <OR FALSE SYMTAB> SYMTAB) SYM4>
736                     <TEMP TEMP6>
737                     <INTGO>
738                     <FRAME '\1aNODE1>
739                     <PUSH 2>
740                     <PUSH ()>
741                     <PUSH 'LIST>
742                     <PUSH ()>
743                     <PUSH ()>
744                     <CALL '\1aNODE1 5 = TEMP6>
745                     <PUTUV SYM4 9 TEMP6>
746                     <DEAD TEMP6>
747                     <PUTUV SYM4 4 7 (TYPE FIX)>
748                     <GEN-LVAL 'ANALY-OK = TEMP6>
749                     <TYPE? TEMP6 <TYPE-CODE FALSE> + PHRASE8>
750                     <DEAD TEMP6>
751                     <PUTUV SYM4 18 'LIST>
752                     <JUMP + PHRASE11>
753 PHRASE8
754                     <NTHUV SYM4 7 = TEMP6>
755                     <PUTUV SYM4 18 TEMP6>
756                     <DEAD TEMP6>
757 PHRASE11
758                     <GEN-LVAL 'ANALY-OK = TEMP6>
759                     <TYPE? TEMP6 <TYPE-CODE FALSE> + PHRASE13>
760                     <DEAD TEMP6>
761                     <FRAME '\1aTYPE-AND>
762                     <PUSH 'LIST>
763                     <NTHUV SYM4 7 = STACK>
764                     <CALL '\1aTYPE-AND 2 = TEMP6>
765                     <PUTUV SYM4 17 TEMP6>
766                     <DEAD TEMP6>
767                     <RETURN SYM4>
768                     <DEAD SYM4>
769 PHRASE13
770                     <GEN-LVAL 'ANALY-OK = TEMP6>
771                     <TYPE? TEMP6 <TYPE-CODE FALSE> + TAG21>
772                     <DEAD TEMP6>
773                     <RETURN %<>>
774 TAG21
775                     <PUTUV SYM4 17 'ANY>
776                     <RETURN SYM4>
777                     <DEAD SYM4>
778                     <END \1aARGS-BAN>
779 #WORD *25605130251*
780 <GFCN \1aNAUX-BAN ("VALUE" SYMTAB SYMTAB) SYM4>
781                     <TEMP TEMP7>
782                     <INTGO>
783                     <GEN-LVAL 'ANALY-OK = TEMP7>
784                     <TYPE? TEMP7 <TYPE-CODE FALSE> + PHRASE6>
785                     <DEAD TEMP7>
786                     <SET TEMP7 'NO-RETURN (TYPE ATOM)>
787                     <JUMP + PHRASE10>
788 PHRASE6
789                     <NTHUV SYM4 7 = TEMP7>
790 PHRASE10
791                     <PUTUV SYM4 18 TEMP7>
792                     <DEAD TEMP7>
793                     <GEN-LVAL 'ANALY-OK = TEMP7>
794                     <TYPE? TEMP7 <TYPE-CODE FALSE> + PHRASE12>
795                     <DEAD TEMP7>
796                     <SET TEMP7 'NO-RETURN (TYPE ATOM)>
797                     <JUMP + PHRASE15>
798 PHRASE12
799                     <SET TEMP7 'ANY (TYPE ATOM)>
800 PHRASE15
801                     <PUTUV SYM4 17 TEMP7>
802                     <DEAD TEMP7>
803                     <RETURN SYM4>
804                     <DEAD SYM4>
805                     <END \1aNAUX-BAN>
806 "BIND-DISPATCH go to various binding analyzers analyzers."
807
808 #WORD *13645572622*
809 <GFCN \1aBIND-DISPATCH ("VALUE" <OR ATOM FALSE SYMTAB> ANY) SYM4>
810                     <TEMP COD5>
811                     <INTGO>
812                     <NTHUV SYM4 4 = COD5 (TYPE FIX)>
813                     <DISPATCH COD5 1 CASE8 CASE9 CASE10 CASE11 CASE12 CASE13 CASE14 CASE15 CASE16 CASE17 CASE18 CASE19 CASE20>
814                     <DEAD COD5>
815                     <RETURN %<>>
816 CASE8
817                     <FRAME '\1aENTROPY>
818                     <PUSH SYM4>
819                     <DEAD SYM4>
820                     <CALL '\1aENTROPY 1 = COD5>
821                     <RETURN COD5>
822                     <DEAD COD5>
823 CASE9
824                     <FRAME '\1aNORM-BAN>
825                     <PUSH SYM4>
826                     <DEAD SYM4>
827                     <CALL '\1aNORM-BAN 1 = COD5>
828                     <RETURN COD5>
829                     <DEAD COD5>
830 CASE10
831                     <FRAME '\1aNAUX-BAN>
832                     <PUSH SYM4>
833                     <DEAD SYM4>
834                     <CALL '\1aNAUX-BAN 1 = COD5>
835                     <RETURN COD5>
836                     <DEAD COD5>
837 CASE11
838                     <FRAME '\1aTUP-BAN>
839                     <PUSH SYM4>
840                     <DEAD SYM4>
841                     <CALL '\1aTUP-BAN 1 = COD5>
842                     <RETURN COD5>
843                     <DEAD COD5>
844 CASE12
845                     <FRAME '\1aARGS-BAN>
846                     <PUSH SYM4>
847                     <DEAD SYM4>
848                     <CALL '\1aARGS-BAN 1 = COD5>
849                     <RETURN COD5>
850                     <DEAD COD5>
851 CASE13
852                     <FRAME '\1aNORM-BAN>
853                     <PUSH SYM4>
854                     <DEAD SYM4>
855                     <CALL '\1aNORM-BAN 1 = COD5>
856                     <RETURN COD5>
857                     <DEAD COD5>
858 CASE14
859                     <FRAME '\1aNORM-BAN>
860                     <PUSH SYM4>
861                     <DEAD SYM4>
862                     <CALL '\1aNORM-BAN 1 = COD5>
863                     <RETURN COD5>
864                     <DEAD COD5>
865 CASE15
866                     <FRAME '\1aENTROPY>
867                     <PUSH SYM4>
868                     <DEAD SYM4>
869                     <CALL '\1aENTROPY 1 = COD5>
870                     <RETURN COD5>
871                     <DEAD COD5>
872 CASE16
873                     <FRAME '\1aENTROPY>
874                     <PUSH SYM4>
875                     <DEAD SYM4>
876                     <CALL '\1aENTROPY 1 = COD5>
877                     <RETURN COD5>
878                     <DEAD COD5>
879 CASE17
880                     <FRAME '\1aENTROPY>
881                     <PUSH SYM4>
882                     <DEAD SYM4>
883                     <CALL '\1aENTROPY 1 = COD5>
884                     <RETURN COD5>
885                     <DEAD COD5>
886 CASE18
887                     <FRAME '\1aENTROPY>
888                     <PUSH SYM4>
889                     <DEAD SYM4>
890                     <CALL '\1aENTROPY 1 = COD5>
891                     <RETURN COD5>
892                     <DEAD COD5>
893 CASE19
894                     <FRAME '\1aENTROPY>
895                     <PUSH SYM4>
896                     <DEAD SYM4>
897                     <CALL '\1aENTROPY 1 = COD5>
898                     <RETURN COD5>
899                     <DEAD COD5>
900 CASE20
901                     <FRAME '\1aENTROPY>
902                     <PUSH SYM4>
903                     <DEAD SYM4>
904                     <CALL '\1aENTROPY 1 = COD5>
905                     <RETURN COD5>
906                     <DEAD COD5>
907                     <END \1aBIND-DISPATCH>
908 " SEQ-AN analyze a sequence of NODES discarding values until the last."
909
910 #WORD *3174247171*
911 <GFCN \1aSEQ-AN ("VALUE" ANY <LIST [REST NODE]> ANY "OPTIONAL" ANY) L6 FTYP7 DO-PRED8>
912                     <OPT-DISPATCH 2 %<> OPT4 OPT5>
913 OPT4
914                     <PUSH %<>>
915 OPT5
916                     <TEMP (SOA9 %<>) RES23 TEMP17:LBIND N19:NODE ENDIF-FLAG25 TEMP33 TEMP45>
917                     <INTGO>
918                     <EMPL? L6 - PHRASE12 (TYPE LIST)>
919                     <FRAME '\1aCOMPILE-LOSSAGE>
920                     <PUSH "Empty KIDS list in SEQ-AN">
921                     <CALL '\1aCOMPILE-LOSSAGE 1 = SOA9>
922                     <RETURN SOA9>
923                     <DEAD SOA9>
924 PHRASE12
925                     <SET RES23 'NO-RETURN (TYPE ATOM)>
926                     <SET SOA9 %<> (TYPE FALSE)>
927                     <GETS 'BIND = TEMP17 (TYPE LBIND)>
928                     <BBIND 'RET-OR-AGAIN 'ANY 'FIX %<>>
929                     <LOOP>
930 AGAIN27
931                     <INTGO>
932                     <NTHL L6 1 = N19 (TYPE NODE)>
933                     <SET ENDIF-FLAG25 %<> (TYPE FALSE)>
934                     <RESTL L6 1 = L6 (TYPE LIST)>
935                     <EMPL? L6 - BOOL31 (TYPE LIST)>
936                     <FRAME '\1aIFSYS-ENDIF?>
937                     <PUSH N19>
938                     <PUSH "ENDIF">
939                     <CALL '\1aIFSYS-ENDIF? 2 = TEMP33>
940                     <TYPE? TEMP33 <TYPE-CODE FALSE> + BOOL30>
941                     <DEAD TEMP33>
942 BOOL31
943                     <EMPL? L6 + PHRASE29 (TYPE LIST)>
944                     <FRAME '\1aIFSYS-ENDIF?>
945                     <NTHL L6 1 = STACK (TYPE NODE)>
946                     <PUSH "ENDIF">
947                     <CALL '\1aIFSYS-ENDIF? 2 = TEMP33>
948                     <TYPE? TEMP33 <TYPE-CODE FALSE> + PHRASE29>
949                     <DEAD TEMP33>
950                     <SET ENDIF-FLAG25 'T (TYPE ATOM)>
951 BOOL30
952                     <TYPE? DO-PRED8 <TYPE-CODE FALSE> + PHRASE37>
953                     <EMPL? L6 - PHRASE37 (TYPE LIST)>
954                     <GEN-SET 'TRUTH ()>
955                     <GEN-SET 'UNTRUTH ()>
956                     <GETS 'BIND = TEMP33 (TYPE LBIND)>
957                     <NTHUV N19 2 = TEMP45>
958                     <BBIND 'PRED 'ANY 'FIX TEMP45>
959                     <DEAD TEMP45>
960                     <FRAME '\1aANA>
961                     <PUSH N19>
962                     <PUSH FTYP7>
963                     <CALL '\1aANA 2 = TEMP45>
964                     <UNBIND TEMP33>
965                     <DEAD TEMP33>
966                     <ADJ -9>
967                     <JUMP + PHRASE48>
968 PHRASE37
969                     <FRAME '\1aANA>
970                     <PUSH N19>
971                     <PUSH FTYP7>
972                     <CALL '\1aANA 2 = TEMP45>
973 PHRASE48
974                     <VEQUAL? ENDIF-FLAG25 0 + PHRASE51>
975                     <DEAD ENDIF-FLAG25>
976                     <TYPE? SOA9 <TYPE-CODE FALSE> + PHRASE51>
977                     <FRAME '\1aASSERT-TYPES>
978                     <FRAME '\1aORUPC>
979                     <GEN-LVAL 'VARTBL = STACK>
980                     <PUSH SOA9>
981                     <DEAD SOA9>
982                     <CALL '\1aORUPC 2 = STACK>
983                     <CALL '\1aASSERT-TYPES 1>
984                     <SET SOA9 %<> (TYPE FALSE)>
985 PHRASE51
986                     <FRAME '\1aTYPE-MERGE>
987                     <PUSH TEMP45>
988                     <PUSH RES23>
989                     <DEAD RES23>
990                     <CALL '\1aTYPE-MERGE 2 = RES23>
991                     <JUMP + PHRASE80>
992 PHRASE29
993                     <FRAME '\1aIFSYS-ENDIF?>
994                     <PUSH N19>
995                     <PUSH "IFSYS">
996                     <CALL '\1aIFSYS-ENDIF? 2 = TEMP45>
997                     <TYPE? TEMP45 <TYPE-CODE FALSE> + PHRASE58>
998                     <DEAD TEMP45>
999                     <FRAME '\1aANA>
1000                     <PUSH N19>
1001                     <PUSH 'ANY>
1002                     <CALL '\1aANA 2 = TEMP45>
1003                     <FRAME '\1aBUILD-TYPE-LIST>
1004                     <GEN-LVAL 'VARTBL = STACK>
1005                     <CALL '\1aBUILD-TYPE-LIST 1 = SOA9>
1006                     <JUMP + PHRASE80>
1007 PHRASE58
1008                     <FRAME '\1aANA>
1009                     <PUSH N19>
1010                     <PUSH 'ANY>
1011                     <CALL '\1aANA 2 = TEMP45>
1012                     <LENUV N19 = ENDIF-FLAG25 (TYPE FIX)>
1013                     <LESS? ENDIF-FLAG25 8 + BOOL68 (TYPE FIX)>
1014                     <DEAD ENDIF-FLAG25>
1015                     <NTHUV N19 8 = ENDIF-FLAG25>
1016                     <TYPE? ENDIF-FLAG25 <TYPE-CODE FALSE> - PHRASE80>
1017                     <DEAD ENDIF-FLAG25>
1018 BOOL68
1019                     <NTHR 'RET-OR-AGAIN 2 = ENDIF-FLAG25 (RECORD-TYPE ATOM) (TYPE LBIND)>
1020                     <NTHR ENDIF-FLAG25 1 = ENDIF-FLAG25 (RECORD-TYPE LBIND)>
1021                     <TYPE? ENDIF-FLAG25 <TYPE-CODE FALSE> - PHRASE71>
1022                     <DEAD ENDIF-FLAG25>
1023                     <GEN-LVAL 'VERBOSE = ENDIF-FLAG25>
1024                     <TYPE? ENDIF-FLAG25 <TYPE-CODE FALSE> + PHRASE80>
1025                     <DEAD ENDIF-FLAG25>
1026                     <EMPL? L6 + PHRASE80 (TYPE LIST)>
1027                     <FRAME '\1aADDVMESS>
1028                     <NTHUV N19 2 = STACK (TYPE NODE)>
1029                     <CONS N19 () = ENDIF-FLAG25>
1030                     <CONS "This object has no side-effects and its value is ignored" ENDIF-FLAG25 = STACK>
1031                     <DEAD ENDIF-FLAG25>
1032                     <CALL '\1aADDVMESS 2>
1033                     <JUMP + PHRASE80>
1034 PHRASE71
1035                     <FRAME '\1aPUTPROP>
1036                     <PUSH N19>
1037                     <PUSH 'DONT-FLUSH-ME>
1038                     <PUSH 'T>
1039                     <CALL '\1aPUTPROP 3>
1040 PHRASE80
1041                     <TYPE? TEMP45 <TYPE-CODE FALSE> - PHRASE83>
1042                     <NTHR 'RET-OR-AGAIN 2 = SOA9 (RECORD-TYPE ATOM) (TYPE LBIND)>
1043                     <NTHR SOA9 1 = SOA9 (RECORD-TYPE LBIND)>
1044                     <SET RES23 %<> (TYPE FALSE)>
1045                     <UNBIND TEMP17>
1046                     <DEAD TEMP17>
1047                     <JUMP + EXIT16>
1048 PHRASE83
1049                     <EQUAL? TEMP45 'NO-RETURN - PHRASE87>
1050                     <DEAD TEMP45>
1051                     <GEN-LVAL 'VERBOSE = ENDIF-FLAG25>
1052                     <TYPE? ENDIF-FLAG25 <TYPE-CODE FALSE> + PHRASE89>
1053                     <DEAD ENDIF-FLAG25>
1054                     <EMPL? L6 + PHRASE89 (TYPE LIST)>
1055                     <DEAD L6>
1056                     <FRAME '\1aADDVMESS>
1057                     <NTHUV N19 2 = STACK (TYPE NODE)>
1058                     <CONS " because it never returns" () = ENDIF-FLAG25>
1059                     <CONS N19 ENDIF-FLAG25 = ENDIF-FLAG25>
1060                     <DEAD N19>
1061                     <CONS "This object ends a sequence of forms" ENDIF-FLAG25 = STACK>
1062                     <DEAD ENDIF-FLAG25>
1063                     <CALL '\1aADDVMESS 2>
1064 PHRASE89
1065                     <NTHR 'RET-OR-AGAIN 2 = SOA9 (RECORD-TYPE ATOM) (TYPE LBIND)>
1066                     <NTHR SOA9 1 = SOA9 (RECORD-TYPE LBIND)>
1067                     <SET RES23 'NO-RETURN (TYPE ATOM)>
1068                     <UNBIND TEMP17>
1069                     <DEAD TEMP17>
1070                     <JUMP + EXIT16>
1071 PHRASE87
1072                     <EMPL? L6 - AGAIN27 (TYPE LIST)>
1073                     <NTHR 'RET-OR-AGAIN 2 = SOA9 (RECORD-TYPE ATOM) (TYPE LBIND)>
1074                     <NTHR SOA9 1 = SOA9 (RECORD-TYPE LBIND)>
1075                     <UNBIND TEMP17>
1076                     <DEAD TEMP17>
1077 EXIT16
1078                     <ADJ -9>
1079                     <TYPE? SOA9 <TYPE-CODE FALSE> + PHRASE101>
1080                     <DEAD SOA9>
1081                     <GEN-SET 'RET-OR-AGAIN 'T>
1082 PHRASE101
1083                     <RETURN RES23>
1084                     <DEAD RES23>
1085                     <END \1aSEQ-AN>
1086 #WORD *17532454754*
1087 <GFCN \1aIFSYS-ENDIF? ("VALUE" <OR ATOM FALSE> NODE ANY) N4 STR5>
1088                     <TEMP TEMP10 Y6 TEMP18 TEMP19 TEMP20>
1089                     <INTGO>
1090                     <NTHUV N4 1 = TEMP10 (TYPE FIX)>
1091                     <VEQUAL? TEMP10 90 + TAG11 (TYPE FIX)>
1092                     <DEAD TEMP10>
1093                     <RETURN %<>>
1094 TAG11
1095                     <NTHUV N4 5 = Y6 (TYPE LIST)>
1096                     <DEAD N4>
1097                     <EMPL? Y6 + TAG13>
1098                     <RESTL Y6 1 = TEMP10 (TYPE LIST)>
1099                     <EMPL? TEMP10 - TAG12>
1100                     <DEAD TEMP10>
1101 TAG13
1102                     <RETURN %<>>
1103 TAG12
1104                     <NTHL Y6 1 = TEMP10 (TYPE NODE)>
1105                     <DEAD Y6>
1106                     <NTHUV TEMP10 4 = TEMP10>
1107                     <TYPE? TEMP10 <TYPE-CODE ATOM> + TAG14>
1108                     <RETURN %<>>
1109 TAG14
1110                     <NTHR TEMP10 3 = TEMP10 (RECORD-TYPE ATOM)>
1111                     <TYPE? STR5 <TYPE-CODE STRING> - TAG16>
1112                     <IFCAN "STRING-EQUAL?">
1113                     <STRING-EQUAL? TEMP10 STR5 - TAG16>
1114                     <ENDIF "STRING-EQUAL?">
1115                     <IFCANNOT "STRING-EQUAL?">
1116                     <SET Y6 STR5>
1117                     <DEAD STR5>
1118                     <LENUS TEMP10 = TEMP18 (TYPE FIX)>
1119                     <LENUS Y6 = TEMP19 (TYPE FIX)>
1120                     <VEQUAL? TEMP18 TEMP19 - TAG16>
1121                     <DEAD TEMP19>
1122                     <LOOP (TEMP10 VALUE LENGTH) (Y6 VALUE LENGTH) (TEMP18 VALUE)>
1123 TAG21
1124                     <NTHUS TEMP10 1 = TEMP19>
1125                     <NTHUS Y6 1 = TEMP20>
1126                     <VEQUAL? TEMP19 TEMP20 - TAG16>
1127                     <DEAD TEMP19 TEMP20>
1128                     <RESTUS TEMP10 1 = TEMP10 (TYPE STRING)>
1129                     <RESTUS Y6 1 = Y6 (TYPE STRING)>
1130                     <SUB TEMP18 1 = TEMP18 (TYPE FIX)>
1131                     <GRTR? TEMP18 0 + TAG21 (TYPE FIX)>
1132                     <ENDIF "STRING-EQUAL?">
1133                     <RETURN 'T>
1134 TAG16
1135                     <RETURN %<>>
1136                     <END \1aIFSYS-ENDIF?>
1137 " ANALYZE ASSIGNED? usage."
1138
1139 #WORD *15000171036*
1140 <GFCN \1aASSIGNED?-ANA ("VALUE" ANY NODE ANY) NOD4 RTYP5>
1141                     <TEMP TEM6:LIST (TY10 <OR ATOM FALSE>) TEMP15 TT7:NODE T29>
1142                     <INTGO>
1143                     <NTHUV NOD4 5 = TEM6 (TYPE LIST)>
1144                     <EMPL? TEM6 - PHRASE12 (TYPE LIST)>
1145                     <FRAME '\1aCOMPILE-ERROR>
1146                     <PUSH "No arguments ASSIGNED?: ">
1147                     <PUSH NOD4>
1148                     <DEAD NOD4>
1149                     <CALL '\1aCOMPILE-ERROR 2>
1150                     <JUMP + PHRASE38>
1151 PHRASE12
1152                     <FRAME '\1aSEGFLUSH>
1153                     <PUSH NOD4>
1154                     <PUSH RTYP5>
1155                     <CALL '\1aSEGFLUSH 2 = TEMP15>
1156                     <TYPE? TEMP15 <TYPE-CODE FALSE> - PHRASE38>
1157                     <DEAD TEMP15>
1158                     <FRAME '\1aEANA>
1159                     <NTHL TEM6 1 = TT7 (TYPE NODE)>
1160                     <PUSH TT7>
1161                     <PUSH 'ATOM>
1162                     <PUSH 'ASSIGNED?>
1163                     <CALL '\1aEANA 3>
1164                     <RESTL TEM6 1 = TEMP15 (TYPE LIST)>
1165                     <EMPL? TEMP15 - PHRASE19 (TYPE LIST)>
1166                     <DEAD TEMP15>
1167                     <NTHUV TT7 1 = TEMP15 (TYPE FIX)>
1168                     <VEQUAL? TEMP15 2 - PHRASE19 (TYPE FIX)>
1169                     <DEAD TEMP15>
1170                     <FRAME '\1aSRCH-SYM>
1171                     <NTHUV TT7 4 = STACK (TYPE ATOM)>
1172                     <CALL '\1aSRCH-SYM 1 = T29>
1173                     <VEQUAL? T29 0 + PHRASE19>
1174                     <NTHUV T29 4 = TEMP15 (TYPE FIX)>
1175                     <VEQUAL? TEMP15 -1 + PHRASE19 (TYPE FIX)>
1176                     <DEAD TEMP15>
1177                     <PUTUV NOD4 1 43 (TYPE FIX)>
1178                     <PUTUV NOD4 4 T29>
1179                     <PUTUV T29 12 'T>
1180                     <PUTUV T29 15 'T>
1181                     <NTHUV T29 13 = TEMP15 (TYPE FIX)>
1182                     <ADD TEMP15 1 = TEMP15 (TYPE FIX)>
1183                     <PUTUV T29 13 TEMP15 (TYPE FIX)>
1184                     <DEAD TEMP15>
1185                     <FRAME '\1aREVIVE>
1186                     <PUSH NOD4>
1187                     <DEAD NOD4>
1188                     <PUSH T29>
1189                     <CALL '\1aREVIVE 2>
1190                     <FRAME '\1aGET-CURRENT-TYPE>
1191                     <PUSH T29>
1192                     <DEAD T29>
1193                     <CALL '\1aGET-CURRENT-TYPE 1 = TEMP15>
1194                     <EQUAL? TEMP15 'NO-RETURN - PHRASE26>
1195                     <DEAD TEMP15>
1196                     <SET TY10 'BOOL-FALSE (TYPE ATOM)>
1197                     <JUMP + PHRASE38>
1198 PHRASE26
1199                     <SET TY10 'BOOLEAN (TYPE ATOM)>
1200                     <JUMP + PHRASE38>
1201 PHRASE19
1202                     <EMPL? TEM6 + PHRASE29>
1203                     <RESTL TEM6 1 = TEMP15 (TYPE LIST)>
1204                     <EMPL? TEMP15 + PHRASE29>
1205                     <RESTL TEMP15 1 = TEMP15 (TYPE LIST)>
1206                     <EMPL? TEMP15 - PHRASE29>
1207                     <DEAD TEMP15>
1208                     <FRAME '\1aEANA>
1209                     <RESTL TEM6 1 = TEMP15 (TYPE LIST)>
1210                     <DEAD TEM6>
1211                     <NTHL TEMP15 1 = STACK (TYPE NODE)>
1212                     <DEAD TEMP15>
1213                     <PUSH <OR <PRIMTYPE FRAME> PROCESS>>
1214                     <PUSH 'ASSIGNED?>
1215                     <CALL '\1aEANA 3>
1216                     <JUMP + PHRASE38>
1217 PHRASE29
1218                     <RESTL TEM6 1 = TEMP15 (TYPE LIST)>
1219                     <DEAD TEM6>
1220                     <EMPL? TEMP15 - PHRASE31 (TYPE LIST)>
1221                     <DEAD TEMP15>
1222                     <GEN-LVAL 'VERBOSE = TEMP15>
1223                     <TYPE? TEMP15 <TYPE-CODE FALSE> + PHRASE33>
1224                     <DEAD TEMP15>
1225                     <NTHUV TT7 1 = TEMP15 (TYPE FIX)>
1226                     <VEQUAL? TEMP15 2 - PHRASE33 (TYPE FIX)>
1227                     <DEAD TEMP15>
1228                     <FRAME '\1aADDVMESS>
1229                     <PUSH NOD4>
1230                     <NTHUV TT7 4 = TEMP15>
1231                     <DEAD TT7>
1232                     <CONS TEMP15 () = TEMP15>
1233                     <CONS "External reference to LVAL:  " TEMP15 = STACK>
1234                     <DEAD TEMP15>
1235                     <CALL '\1aADDVMESS 2>
1236 PHRASE33
1237                     <PUTUV NOD4 1 43 (TYPE FIX)>
1238                     <DEAD NOD4>
1239                     <SET TY10 'BOOLEAN (TYPE ATOM)>
1240                     <JUMP + PHRASE38>
1241 PHRASE31
1242                     <FRAME '\1aCOMPILE-ERROR>
1243                     <PUSH "Too many args to ASSIGNED?: ">
1244                     <PUSH NOD4>
1245                     <DEAD NOD4>
1246                     <CALL '\1aCOMPILE-ERROR 2>
1247 PHRASE38
1248                     <FRAME '\1aTYPE-OK?>
1249                     <PUSH TY10>
1250                     <DEAD TY10>
1251                     <PUSH RTYP5>
1252                     <DEAD RTYP5>
1253                     <CALL '\1aTYPE-OK? 2 = TEMP15>
1254                     <RETURN TEMP15>
1255                     <DEAD TEMP15>
1256                     <END \1aASSIGNED?-ANA>
1257 <COND (<GASSIGNED? ASSIGNED?-ANA> <PUTPROP ,ASSIGNED? ANALYSIS ,ASSIGNED?-ANA>)>
1258
1259 " ANALYZE LVAL usage.  Become either direct reference or PUSHJ"
1260
1261 #WORD *35667234005*
1262 <GFCN \1aLVAL-ANA ("VALUE" ANY NODE ANY) NOD4 RTYP5>
1263                     <TEMP (TT8 %<>) P12 TEM6:LIST TEMP17 TEMP33 T311>
1264                     <INTGO>
1265                     <NTHUV NOD4 2 = P12>
1266                     <NTHUV NOD4 5 = TEM6 (TYPE LIST)>
1267                     <EMPL? TEM6 - PHRASE15 (TYPE LIST)>
1268                     <FRAME '\1aCOMPILE-ERROR>
1269                     <PUSH "No arguments LVAL: ">
1270                     <PUSH NOD4>
1271                     <DEAD NOD4>
1272                     <CALL '\1aCOMPILE-ERROR 2 = TEMP17>
1273                     <RETURN TEMP17>
1274                     <DEAD TEMP17>
1275 PHRASE15
1276                     <FRAME '\1aSEGFLUSH>
1277                     <PUSH NOD4>
1278                     <PUSH RTYP5>
1279                     <CALL '\1aSEGFLUSH 2 = TEMP17>
1280                     <TYPE? TEMP17 <TYPE-CODE FALSE> - PHRASE96>
1281                     <NTHUV NOD4 4 = TEMP17>
1282                     <TYPE? TEMP17 <TYPE-CODE SYMTAB> - BOOL22>
1283                     <DEAD TEMP17>
1284                     <NTHUV NOD4 4 = TT8 (TYPE SYMTAB)>
1285                     <JUMP + BOOL21>
1286 BOOL22
1287                     <FRAME '\1aEANA>
1288                     <NTHL TEM6 1 = STACK (TYPE NODE)>
1289                     <PUSH 'ATOM>
1290                     <PUSH 'LVAL>
1291                     <CALL '\1aEANA 3 = TEMP17>
1292                     <TYPE? TEMP17 <TYPE-CODE FALSE> + PHRASE19>
1293                     <DEAD TEMP17>
1294                     <RESTL TEM6 1 = TEMP17 (TYPE LIST)>
1295                     <EMPL? TEMP17 - PHRASE19 (TYPE LIST)>
1296                     <DEAD TEMP17>
1297                     <NTHL TEM6 1 = TEMP17 (TYPE NODE)>
1298                     <NTHUV TEMP17 1 = TEMP17 (TYPE FIX)>
1299                     <VEQUAL? TEMP17 2 - PHRASE19 (TYPE FIX)>
1300                     <DEAD TEMP17>
1301                     <NTHL TEM6 1 = TEMP17 (TYPE NODE)>
1302                     <NTHUV TEMP17 3 = TEMP17>
1303                     <EQUAL? TEMP17 'ATOM - PHRASE19>
1304                     <DEAD TEMP17>
1305                     <FRAME '\1aSRCH-SYM>
1306                     <NTHL TEM6 1 = TEMP17 (TYPE NODE)>
1307                     <NTHUV TEMP17 4 = STACK (TYPE ATOM)>
1308                     <DEAD TEMP17>
1309                     <CALL '\1aSRCH-SYM 1 = TT8>
1310                     <VEQUAL? TT8 0 + PHRASE19>
1311 BOOL21
1312                     <GEN-LVAL 'WHON = TEMP17>
1313                     <EQUAL? TEMP17 P12 - PHRASE28>
1314                     <DEAD TEMP17>
1315                     <GEN-LVAL 'WHO = TEMP17>
1316                     <CONS TT8 () = TEMP33>
1317                     <CONS %<> TEMP33 = TEMP33>
1318                     <CONS TEMP33 TEMP17 = TEMP33>
1319                     <DEAD TEMP17>
1320                     <GEN-SET 'WHO TEMP33>
1321                     <DEAD TEMP33>
1322 PHRASE28
1323                     <FRAME '\1aGET-CURRENT-TYPE>
1324                     <PUSH TT8>
1325                     <CALL '\1aGET-CURRENT-TYPE 1 = TEMP33>
1326                     <GEN-LVAL 'PRED = TEMP17>
1327                     <EQUAL? TEMP17 P12 - PHRASE41>
1328                     <DEAD TEMP17>
1329                     <FRAME '\1aTYPE-OK?>
1330                     <PUSH TEMP33>
1331                     <PUSH 'FALSE>
1332                     <CALL '\1aTYPE-OK? 2 = TEMP17>
1333                     <TYPE? TEMP17 <TYPE-CODE FALSE> + PHRASE41>
1334                     <FRAME '\1aTYPE-OK?>
1335                     <PUSH TEMP33>
1336                     <PUSH <NOT FALSE>>
1337                     <CALL '\1aTYPE-OK? 2 = T311>
1338                     <TYPE? T311 <TYPE-CODE FALSE> + PHRASE41>
1339                     <FRAME '\1aADD-TYPE-LIST>
1340                     <PUSH TT8>
1341                     <PUSH T311>
1342                     <DEAD T311>
1343                     <GEN-LVAL 'TRUTH = STACK>
1344                     <PUSH %<>>
1345                     <CALL '\1aADD-TYPE-LIST 4 = P12>
1346                     <GEN-SET 'TRUTH P12>
1347                     <DEAD P12>
1348                     <FRAME '\1aADD-TYPE-LIST>
1349                     <PUSH TT8>
1350                     <PUSH TEMP17>
1351                     <DEAD TEMP17>
1352                     <GEN-LVAL 'UNTRUTH = STACK>
1353                     <PUSH %<>>
1354                     <CALL '\1aADD-TYPE-LIST 4 = TEMP17>
1355                     <GEN-SET 'UNTRUTH TEMP17>
1356                     <DEAD TEMP17>
1357                     <JUMP + PHRASE59>
1358 PHRASE41
1359                     <GEN-LVAL 'PRED = TEMP17>
1360                     <EQUAL? TEMP17 P12 + PHRASE59>
1361                     <DEAD TEMP17>
1362                     <TYPE? P12 <TYPE-CODE NODE> - BOOL65>
1363                     <NTHUV P12 1 = TEMP17 (TYPE FIX)>
1364                     <VEQUAL? TEMP17 11 + PHRASE59 (TYPE FIX)>
1365                     <VEQUAL? TEMP17 20 + PHRASE59 (TYPE FIX)>
1366                     <VEQUAL? TEMP17 6 - BOOL65 (TYPE FIX)>
1367                     <DEAD TEMP17>
1368                     <NTHUV P12 9 = TEMP17>
1369                     <GVAL 'SET = T311>
1370                     <EQUAL? TEMP17 T311 + PHRASE59>
1371                     <DEAD TEMP17 T311>
1372                     <NTHUV P12 9 = T311>
1373                     <DEAD P12>
1374                     <GVAL 'NOT = TEMP17>
1375                     <EQUAL? T311 TEMP17 + PHRASE59>
1376                     <DEAD T311 TEMP17>
1377 BOOL65
1378                     <SET TEMP17 [BOOL-TRUE BOOL-FALSE BOOLEAN] (TYPE VECTOR)>
1379                     <TYPE? TEMP33 <TYPE-CODE ATOM> - PHRASE59>
1380                     <LOOP (TEMP33 VALUE) (TEMP17 LENGTH VALUE)>
1381 TAG69
1382                     <NTHUV TEMP17 1 = T311>
1383                     <VEQUAL? T311 TEMP33 + TAG68>
1384                     <DEAD T311>
1385                     <RESTUV TEMP17 1 = TEMP17 (TYPE VECTOR)>
1386                     <EMPUV? TEMP17 - TAG69>
1387                     <JUMP + PHRASE59>
1388 TAG68
1389                     <FRAME '\1aSET-CURRENT-TYPE>
1390                     <PUSH TT8>
1391                     <FRAME '\1aGET-DECL>
1392                     <PUSH TEMP33>
1393                     <DEAD TEMP33>
1394                     <CALL '\1aGET-DECL 1 = TEMP33>
1395                     <PUSH TEMP33>
1396                     <CALL '\1aSET-CURRENT-TYPE 2>
1397 PHRASE59
1398                     <SET T311 TT8>
1399                     <NTHUV T311 4 = TEMP17 (TYPE FIX)>
1400                     <VEQUAL? TEMP17 -1 + PHRASE19 (TYPE FIX)>
1401                     <DEAD TEMP17>
1402                     <PUTUV NOD4 1 10 (TYPE FIX)>
1403                     <FRAME '\1aREVIVE>
1404                     <PUSH NOD4>
1405                     <PUSH T311>
1406                     <CALL '\1aREVIVE 2>
1407                     <PUTUV T311 11 %<>>
1408                     <PUTUV T311 15 'T>
1409                     <NTHUV T311 13 = TEMP17 (TYPE FIX)>
1410                     <ADD TEMP17 1 = TEMP17 (TYPE FIX)>
1411                     <PUTUV T311 13 TEMP17 (TYPE FIX)>
1412                     <DEAD TEMP17>
1413                     <PUTUV NOD4 4 T311>
1414                     <DEAD NOD4>
1415                     <FRAME '\1aTYPE-OK?>
1416                     <PUSH TEMP33>
1417                     <DEAD TEMP33>
1418                     <PUSH RTYP5>
1419                     <DEAD RTYP5>
1420                     <CALL '\1aTYPE-OK? 2 = TEMP33>
1421                     <TYPE? TEMP33 <TYPE-CODE FALSE> + PHRASE79>
1422                     <FRAME '\1aSET-CURRENT-TYPE>
1423                     <PUSH T311>
1424                     <DEAD T311>
1425                     <PUSH TEMP33>
1426                     <CALL '\1aSET-CURRENT-TYPE 2>
1427 PHRASE79
1428                     <RETURN TEMP33>
1429                     <DEAD TEMP33>
1430 PHRASE19
1431                     <RESTL TEM6 1 = TEMP17 (TYPE LIST)>
1432                     <EMPL? TEMP17 - PHRASE81 (TYPE LIST)>
1433                     <DEAD TEMP17>
1434                     <GEN-LVAL 'VERBOSE = TEMP17>
1435                     <TYPE? TEMP17 <TYPE-CODE FALSE> + PHRASE83>
1436                     <DEAD TEMP17>
1437                     <NTHL TEM6 1 = TEMP17 (TYPE NODE)>
1438                     <NTHUV TEMP17 1 = TEMP17 (TYPE FIX)>
1439                     <VEQUAL? TEMP17 2 - PHRASE83 (TYPE FIX)>
1440                     <DEAD TEMP17>
1441                     <FRAME '\1aADDVMESS>
1442                     <PUSH NOD4>
1443                     <NTHL TEM6 1 = TEMP17 (TYPE NODE)>
1444                     <DEAD TEM6>
1445                     <NTHUV TEMP17 4 = TEMP17>
1446                     <CONS TEMP17 () = TEMP17>
1447                     <CONS "External variable being referenced: " TEMP17 = STACK>
1448                     <DEAD TEMP17>
1449                     <CALL '\1aADDVMESS 2>
1450 PHRASE83
1451                     <PUTUV NOD4 1 31 (TYPE FIX)>
1452                     <TYPE? TT8 <TYPE-CODE FALSE> + BOOL88>
1453                     <SET T311 TT8>
1454                     <PUTUV NOD4 4 T311>
1455                     <DEAD NOD4>
1456 BOOL88
1457                     <TYPE? TT8 <TYPE-CODE FALSE> + PHRASE90>
1458                     <DEAD TT8>
1459                     <FRAME '\1aTYPE-OK?>
1460                     <NTHUV T311 7 = STACK>
1461                     <DEAD T311>
1462                     <PUSH RTYP5>
1463                     <DEAD RTYP5>
1464                     <CALL '\1aTYPE-OK? 2 = TEMP17>
1465                     <RETURN TEMP17>
1466                     <DEAD TEMP17>
1467 PHRASE90
1468                     <RETURN RTYP5>
1469                     <DEAD RTYP5>
1470 PHRASE81
1471                     <EMPL? TEM6 + PHRASE93>
1472                     <RESTL TEM6 1 = TEMP17 (TYPE LIST)>
1473                     <EMPL? TEMP17 + PHRASE93>
1474                     <RESTL TEMP17 1 = TEMP17 (TYPE LIST)>
1475                     <EMPL? TEMP17 - PHRASE93>
1476                     <DEAD TEMP17>
1477                     <FRAME '\1aEANA>
1478                     <RESTL TEM6 1 = TEMP17 (TYPE LIST)>
1479                     <DEAD TEM6>
1480                     <NTHL TEMP17 1 = STACK (TYPE NODE)>
1481                     <DEAD TEMP17>
1482                     <PUSH <OR <PRIMTYPE FRAME> PROCESS>>
1483                     <PUSH 'LVAL>
1484                     <CALL '\1aEANA 3 = TEMP17>
1485                     <TYPE? TEMP17 <TYPE-CODE FALSE> + PHRASE93>
1486                     <DEAD TEMP17>
1487                     <RETURN 'ANY>
1488 PHRASE93
1489                     <FRAME '\1aCOMPILE-ERROR>
1490                     <PUSH "Too many args to LVAL: ">
1491                     <PUSH NOD4>
1492                     <DEAD NOD4>
1493                     <CALL '\1aCOMPILE-ERROR 2 = TEMP17>
1494 PHRASE96
1495                     <RETURN TEMP17>
1496                     <DEAD TEMP17>
1497                     <END \1aLVAL-ANA>
1498 <COND (<GASSIGNED? LVAL-ANA> <PUTPROP ,LVAL ANALYSIS ,LVAL-ANA>)>
1499
1500 " SET-ANA analyze uses of SET."
1501
1502 #WORD *6766165636*
1503 <GFCN \1aSET-ANA ("VALUE" ANY NODE ANY) NOD4 RTYP5>
1504                     <TEMP TEM6:LIST LN7:FIX (T29 'ATOM) TEMP18 NM11 TEMP3:LBIND TEMP24 TEMP30 N17:NODE>
1505                     <INTGO>
1506                     <NTHUV NOD4 5 = TEM6 (TYPE LIST)>
1507                     <LENL TEM6 = LN7 (TYPE FIX)>
1508                     <NTHUV NOD4 9 = TEMP18>
1509                     <NTHUV TEMP18 2 = NM11>
1510                     <DEAD TEMP18>
1511                     <GETS 'BIND = TEMP3 (TYPE LBIND)>
1512                     <GEN-LVAL 'WHON = TEMP18>
1513                     <BBIND 'WHON 'ANY 'FIX TEMP18>
1514                     <DEAD TEMP18>
1515                     <GEN-LVAL 'PRED = TEMP18>
1516                     <BBIND 'PRED 'ANY 'FIX TEMP18>
1517                     <DEAD TEMP18>
1518                     <PUSH NOD4>
1519                     <SET TEMP24 1 (TYPE FIX)>
1520                     <NTHUV NOD4 8 = TEMP18>
1521                     <TYPE TEMP18 = TEMP30>
1522                     <AND TEMP30 7 = TEMP30>
1523                     <VEQUAL? TEMP30 1 + TAG26>
1524                     <DEAD TEMP30>
1525                     <LOOP (TEMP18 TYPE VALUE LENGTH) (TEMP24 VALUE)>
1526 TAG32
1527                     <INTGO>
1528                     <EMPTY? TEMP18 + TAG31>
1529                     <NTH1 TEMP18 = STACK>
1530                     <REST1 TEMP18 = TEMP18>
1531                     <ADD TEMP24 1 = TEMP24 (TYPE FIX)>
1532                     <JUMP + TAG32>
1533 TAG31
1534                     <LIST TEMP24 = TEMP18 (TYPE LIST)>
1535                     <DEAD TEMP24>
1536                     <JUMP + TAG28>
1537 TAG26
1538                     <LOOP>
1539 TAG29
1540                     <VEQUAL? TEMP24 0 + TAG28>
1541                     <POP = TEMP30>
1542                     <CONS TEMP30 TEMP18 = TEMP18 (TYPE LIST)>
1543                     <DEAD TEMP30>
1544                     <SUB TEMP24 1 = TEMP24 (TYPE FIX)>
1545                     <JUMP + TAG29>
1546 TAG28
1547                     <PUTUV NOD4 8 TEMP18>
1548                     <DEAD TEMP18>
1549                     <FRAME '\1aSEGFLUSH>
1550                     <PUSH NOD4>
1551                     <PUSH RTYP5>
1552                     <CALL '\1aSEGFLUSH 2 = TEMP18>
1553                     <TYPE? TEMP18 <TYPE-CODE FALSE> - PHRASE163>
1554                     <EQUAL? NM11 'SET - BOOL37>
1555                     <LESS? LN7 2 + BOOL36 (TYPE FIX)>
1556 BOOL37
1557                     <EQUAL? NM11 'UNASSIGN - PHRASE35>
1558                     <VEQUAL? LN7 0 - PHRASE35 (TYPE FIX)>
1559 BOOL36
1560                     <FRAME '\1aCOMPILE-ERROR>
1561                     <PUSH "Too few arguments to:  ">
1562                     <PUSH NOD4>
1563                     <DEAD NOD4>
1564                     <CALL '\1aCOMPILE-ERROR 2 = TEMP18>
1565                     <JUMP + PHRASE163>
1566 PHRASE35
1567                     <NTHUV NOD4 4 = TEMP30>
1568                     <TYPE? TEMP30 <TYPE-CODE SYMTAB> - BOOL45>
1569                     <DEAD TEMP30>
1570                     <NTHUV NOD4 4 = TEMP18 (TYPE SYMTAB)>
1571                     <JUMP + BOOL44>
1572 BOOL45
1573                     <FRAME '\1aEANA>
1574                     <NTHL TEM6 1 = STACK (TYPE NODE)>
1575                     <PUSH 'ATOM>
1576                     <PUSH NM11>
1577                     <CALL '\1aEANA 3 = TEMP30>
1578                     <TYPE? TEMP30 <TYPE-CODE FALSE> + PHRASE42>
1579                     <DEAD TEMP30>
1580                     <EQUAL? NM11 'SET - BOOL49>
1581                     <VEQUAL? LN7 2 + BOOL48 (TYPE FIX)>
1582 BOOL49
1583                     <EQUAL? NM11 'UNASSIGN - PHRASE42>
1584                     <VEQUAL? LN7 1 - PHRASE42 (TYPE FIX)>
1585 BOOL48
1586                     <NTHL TEM6 1 = TEMP30 (TYPE NODE)>
1587                     <NTHUV TEMP30 1 = TEMP30 (TYPE FIX)>
1588                     <VEQUAL? TEMP30 2 - PHRASE42 (TYPE FIX)>
1589                     <DEAD TEMP30>
1590                     <FRAME '\1aSRCH-SYM>
1591                     <NTHL TEM6 1 = TEMP30 (TYPE NODE)>
1592                     <NTHUV TEMP30 4 = STACK (TYPE ATOM)>
1593                     <DEAD TEMP30>
1594                     <CALL '\1aSRCH-SYM 1 = TEMP18>
1595                     <VEQUAL? TEMP18 0 + PHRASE42>
1596 BOOL44
1597                     <NTHUV NOD4 2 = TEMP30>
1598                     <NTHR 'WHON 2 = TEMP24 (RECORD-TYPE ATOM) (TYPE LBIND)>
1599                     <NTHR TEMP24 1 = TEMP24 (RECORD-TYPE LBIND)>
1600                     <EQUAL? TEMP30 TEMP24 - PHRASE55>
1601                     <DEAD TEMP30 TEMP24>
1602                     <NTHR 'WHON 2 = TEMP24 (RECORD-TYPE ATOM) (TYPE LBIND)>
1603                     <PUTR TEMP24 1 NOD4 (RECORD-TYPE LBIND)>
1604                     <DEAD TEMP24>
1605                     <GEN-LVAL 'WHO = TEMP24>
1606                     <CONS TEMP18 () = TEMP30>
1607                     <CONS 'T TEMP30 = TEMP30>
1608                     <CONS TEMP30 TEMP24 = TEMP24>
1609                     <DEAD TEMP30>
1610                     <GEN-SET 'WHO TEMP24>
1611                     <DEAD TEMP24>
1612 PHRASE55
1613                     <NTHUV NOD4 2 = TEMP24>
1614                     <NTHR 'PRED 2 = TEMP30 (RECORD-TYPE ATOM) (TYPE LBIND)>
1615                     <NTHR TEMP30 1 = TEMP30 (RECORD-TYPE LBIND)>
1616                     <EQUAL? TEMP24 TEMP30 - PHRASE67>
1617                     <DEAD TEMP24 TEMP30>
1618                     <NTHR 'PRED 2 = TEMP30 (RECORD-TYPE ATOM) (TYPE LBIND)>
1619                     <PUTR TEMP30 1 NOD4 (RECORD-TYPE LBIND)>
1620                     <DEAD TEMP30>
1621 PHRASE67
1622                     <EQUAL? NM11 'SET - PHRASE74>
1623                     <FRAME '\1aANA>
1624                     <RESTL TEM6 1 = TEMP30 (TYPE LIST)>
1625                     <NTHL TEMP30 1 = N17 (TYPE NODE)>
1626                     <DEAD TEMP30>
1627                     <PUSH N17>
1628                     <NTHUV TEMP18 7 = STACK>
1629                     <CALL '\1aANA 2 = T29>
1630                     <TYPE? T29 <TYPE-CODE FALSE> - PHRASE74>
1631                     <FRAME '\1aCOMPILE-ERROR>
1632                     <PUSH "Decl violation:  ">
1633                     <NTHUV TEMP18 2 = STACK (TYPE ATOM)>
1634                     <PUSH NOD4>
1635                     <CALL '\1aCOMPILE-ERROR 3 = TEMP30>
1636                     <TYPE? TEMP30 <TYPE-CODE FALSE> + PHRASE42>
1637                     <DEAD TEMP30>
1638 PHRASE74
1639                     <PUTUV TEMP18 6 %<>>
1640                     <NTHUV TEMP18 13 = TEMP30 (TYPE FIX)>
1641                     <ADD TEMP30 1 = TEMP30 (TYPE FIX)>
1642                     <PUTUV TEMP18 13 TEMP30 (TYPE FIX)>
1643                     <DEAD TEMP30>
1644                     <NTHUV TEMP18 17 = TEMP24>
1645                     <TYPE? TEMP24 <TYPE-CODE FALSE> - BOOL79>
1646                     <SET TEMP24 'ANY (TYPE ATOM)>
1647 BOOL79
1648                     <NTHUV TEMP18 4 = TEMP30 (TYPE FIX)>
1649                     <VEQUAL? TEMP30 -1 - PHRASE81 (TYPE FIX)>
1650                     <DEAD TEMP30>
1651                     <GEN-LVAL 'VERBOSE = TEMP30>
1652                     <TYPE? TEMP30 <TYPE-CODE FALSE> + PHRASE81>
1653                     <DEAD TEMP30>
1654                     <FRAME '\1aADDVMESS>
1655                     <PUSH NOD4>
1656                     <NTHUV TEMP18 2 = TEMP30 (TYPE ATOM)>
1657                     <CONS TEMP30 () = TEMP30>
1658                     <CONS "External variable being SET (or UNASSIGNed):  " TEMP30 = STACK>
1659                     <DEAD TEMP30>
1660                     <CALL '\1aADDVMESS 2>
1661 PHRASE81
1662                     <EQUAL? NM11 'SET - PHRASE89>
1663                     <FRAME '\1aTYPE-AND>
1664                     <PUSH T29>
1665                     <PUSH RTYP5>
1666                     <CALL '\1aTYPE-AND 2 = TEMP30>
1667                     <TYPE? TEMP30 <TYPE-CODE FALSE> - BOOL90>
1668                     <SET TEMP30 T29>
1669                     <DEAD T29>
1670 BOOL90
1671                     <SET T29 TEMP30>
1672                     <DEAD TEMP30>
1673 PHRASE89
1674                     <EQUAL? NM11 'SET - PHRASE95>
1675                     <FRAME '\1aTYPESAME>
1676                     <PUSH TEMP24>
1677                     <DEAD TEMP24>
1678                     <PUSH T29>
1679                     <CALL '\1aTYPESAME 2 = TEMP24>
1680                     <TYPE? TEMP24 <TYPE-CODE FALSE> + PHRASE93>
1681                     <CONS %<> () = TEMP30>
1682                     <CONS TEMP24 TEMP30 = TEMP30>
1683                     <DEAD TEMP24>
1684                     <PUTUV NOD4 7 TEMP30 (TYPE LIST)>
1685                     <DEAD TEMP30>
1686                     <JUMP + PHRASE95>
1687 PHRASE93
1688                     <CONS %<> () = TEMP30>
1689                     <CONS %<> TEMP30 = TEMP30>
1690                     <PUTUV NOD4 7 TEMP30 (TYPE LIST)>
1691                     <DEAD TEMP30>
1692 PHRASE95
1693                     <NTHUV TEMP18 4 = TEMP30 (TYPE FIX)>
1694                     <VEQUAL? TEMP30 -1 - PHRASE97 (TYPE FIX)>
1695                     <DEAD TEMP30>
1696                     <SET TEMP30 32 (TYPE FIX)>
1697                     <JUMP + PHRASE100>
1698 PHRASE97
1699                     <SET TEMP30 11 (TYPE FIX)>
1700 PHRASE100
1701                     <PUTUV NOD4 1 TEMP30 (TYPE FIX)>
1702                     <DEAD TEMP30>
1703                     <PUTUV NOD4 4 TEMP18>
1704                     <FRAME '\1aMAKE-DEAD>
1705                     <PUSH NOD4>
1706                     <PUSH TEMP18>
1707                     <CALL '\1aMAKE-DEAD 2>
1708                     <EQUAL? NM11 'SET - PHRASE107>
1709                     <NTHUV N17 1 = TEMP30 (TYPE FIX)>
1710                     <VEQUAL? TEMP30 2 - PHRASE107 (TYPE FIX)>
1711                     <DEAD TEMP30>
1712                     <NTHUV N17 4 = TEMP30>
1713                     <EQUAL? TEMP30 %<> - PHRASE106>
1714                     <DEAD TEMP30>
1715                     <SET T29 'BOOL-FALSE (TYPE ATOM)>
1716                     <JUMP + PHRASE107>
1717 PHRASE106
1718                     <NTHUV N17 4 = TEMP30>
1719                     <DEAD N17>
1720                     <EQUAL? TEMP30 'T - PHRASE107>
1721                     <DEAD TEMP30>
1722                     <SET T29 'BOOL-TRUE (TYPE ATOM)>
1723 PHRASE107
1724                     <FRAME '\1aSET-CURRENT-TYPE>
1725                     <PUSH TEMP18>
1726                     <EQUAL? NM11 'SET - PHRASE110>
1727                     <SET TEMP30 T29>
1728                     <JUMP + PHRASE111>
1729 PHRASE110
1730                     <SET TEMP30 'NO-RETURN (TYPE ATOM)>
1731 PHRASE111
1732                     <PUSH TEMP30>
1733                     <DEAD TEMP30>
1734                     <CALL '\1aSET-CURRENT-TYPE 2>
1735                     <PUTUV TEMP18 15 'T>
1736                     <EQUAL? NM11 'SET - PHRASE113>
1737                     <DEAD NM11>
1738                     <NTHR 'PRED 2 = TEMP30 (RECORD-TYPE ATOM) (TYPE LBIND)>
1739                     <NTHR TEMP30 1 = TEMP30 (RECORD-TYPE LBIND)>
1740                     <EQUAL? TEMP30 NOD4 - PHRASE115>
1741                     <DEAD TEMP30 NOD4>
1742                     <FRAME '\1aTYPE-OK?>
1743                     <PUSH T29>
1744                     <PUSH <NOT FALSE>>
1745                     <CALL '\1aTYPE-OK? 2 = TEMP24>
1746                     <TYPE? TEMP24 <TYPE-CODE FALSE> + PHRASE115>
1747                     <FRAME '\1aTYPE-OK?>
1748                     <PUSH T29>
1749                     <PUSH 'FALSE>
1750                     <CALL '\1aTYPE-OK? 2 = NM11>
1751                     <TYPE? NM11 <TYPE-CODE FALSE> + PHRASE115>
1752                     <FRAME '\1aADD-TYPE-LIST>
1753                     <PUSH TEMP18>
1754                     <PUSH TEMP24>
1755                     <DEAD TEMP24>
1756                     <GEN-LVAL 'TRUTH = STACK>
1757                     <PUSH 'T>
1758                     <CALL '\1aADD-TYPE-LIST 4 = TEMP24>
1759                     <GEN-SET 'TRUTH TEMP24>
1760                     <DEAD TEMP24>
1761                     <FRAME '\1aADD-TYPE-LIST>
1762                     <PUSH TEMP18>
1763                     <DEAD TEMP18>
1764                     <PUSH NM11>
1765                     <DEAD NM11>
1766                     <GEN-LVAL 'UNTRUTH = STACK>
1767                     <PUSH 'T>
1768                     <CALL '\1aADD-TYPE-LIST 4 = NM11>
1769                     <GEN-SET 'UNTRUTH NM11>
1770                     <DEAD NM11>
1771 PHRASE115
1772                     <FRAME '\1aTYPE-OK?>
1773                     <PUSH T29>
1774                     <DEAD T29>
1775                     <PUSH RTYP5>
1776                     <DEAD RTYP5>
1777                     <CALL '\1aTYPE-OK? 2 = TEMP18>
1778                     <JUMP + PHRASE163>
1779 PHRASE113
1780                     <FRAME '\1aTYPE-OK?>
1781                     <PUSH T29>
1782                     <DEAD T29>
1783                     <PUSH RTYP5>
1784                     <DEAD RTYP5>
1785                     <CALL '\1aTYPE-OK? 2 = TEMP18>
1786                     <JUMP + PHRASE163>
1787 PHRASE42
1788                     <EQUAL? NM11 'SET - PHRASE135>
1789                     <LESS? LN7 4 - PHRASE135 (TYPE FIX)>
1790                     <FRAME '\1aANA>
1791                     <RESTL TEM6 1 = NM11 (TYPE LIST)>
1792                     <NTHL NM11 1 = STACK (TYPE NODE)>
1793                     <DEAD NM11>
1794                     <PUSH 'ANY>
1795                     <CALL '\1aANA 2 = TEMP18>
1796                     <VEQUAL? LN7 2 - PHRASE139 (TYPE FIX)>
1797                     <DEAD LN7>
1798                     <GEN-LVAL 'VERBOSE = NM11>
1799                     <TYPE? NM11 <TYPE-CODE FALSE> + PHRASE141>
1800                     <DEAD NM11>
1801                     <NTHL TEM6 1 = NM11 (TYPE NODE)>
1802                     <NTHUV NM11 1 = NM11 (TYPE FIX)>
1803                     <VEQUAL? NM11 2 - PHRASE141 (TYPE FIX)>
1804                     <DEAD NM11>
1805                     <FRAME '\1aADDVMESS>
1806                     <PUSH NOD4>
1807                     <NTHL TEM6 1 = NM11 (TYPE NODE)>
1808                     <DEAD TEM6>
1809                     <NTHUV NM11 4 = NM11>
1810                     <CONS NM11 () = NM11>
1811                     <CONS "External variable being SET: " NM11 = STACK>
1812                     <DEAD NM11>
1813                     <CALL '\1aADDVMESS 2>
1814 PHRASE141
1815                     <PUTUV NOD4 1 32 (TYPE FIX)>
1816                     <DEAD NOD4>
1817                     <JUMP + PHRASE146>
1818 PHRASE139
1819                     <FRAME '\1aEANA>
1820                     <RESTL TEM6 1 = NM11 (TYPE LIST)>
1821                     <DEAD TEM6>
1822                     <RESTL NM11 1 = NM11 (TYPE LIST)>
1823                     <NTHL NM11 1 = STACK (TYPE NODE)>
1824                     <DEAD NM11>
1825                     <PUSH <OR <PRIMTYPE FRAME> PROCESS>>
1826                     <PUSH 'SET>
1827                     <CALL '\1aEANA 3>
1828 PHRASE146
1829                     <FRAME '\1aTYPE-OK?>
1830                     <PUSH TEMP18>
1831                     <DEAD TEMP18>
1832                     <PUSH RTYP5>
1833                     <DEAD RTYP5>
1834                     <CALL '\1aTYPE-OK? 2 = TEMP18>
1835                     <JUMP + PHRASE163>
1836 PHRASE135
1837                     <EQUAL? NM11 'UNASSIGN - PHRASE149>
1838                     <DEAD NM11>
1839                     <LESS? LN7 3 - PHRASE149 (TYPE FIX)>
1840                     <VEQUAL? LN7 1 - PHRASE152 (TYPE FIX)>
1841                     <DEAD LN7>
1842                     <GEN-LVAL 'VERBOSE = NM11>
1843                     <TYPE? NM11 <TYPE-CODE FALSE> + PHRASE156>
1844                     <DEAD NM11>
1845                     <NTHL TEM6 1 = NM11 (TYPE NODE)>
1846                     <NTHUV NM11 1 = NM11 (TYPE FIX)>
1847                     <VEQUAL? NM11 2 - PHRASE156 (TYPE FIX)>
1848                     <DEAD NM11>
1849                     <FRAME '\1aADDVMESS>
1850                     <PUSH NOD4>
1851                     <NTHL TEM6 1 = NM11 (TYPE NODE)>
1852                     <DEAD TEM6>
1853                     <NTHUV NM11 4 = NM11>
1854                     <CONS NM11 () = NM11>
1855                     <CONS "External variable being UNASSIGNed: " NM11 = STACK>
1856                     <DEAD NM11>
1857                     <CALL '\1aADDVMESS 2>
1858 PHRASE156
1859                     <PUTUV NOD4 1 32 (TYPE FIX)>
1860                     <SET TEMP18 NOD4>
1861                     <DEAD NOD4>
1862                     <JUMP + PHRASE163>
1863 PHRASE152
1864                     <FRAME '\1aEANA>
1865                     <RESTL TEM6 1 = NM11 (TYPE LIST)>
1866                     <DEAD TEM6>
1867                     <NTHL NM11 1 = STACK (TYPE NODE)>
1868                     <DEAD NM11>
1869                     <PUSH <OR <PRIMTYPE FRAME> PROCESS>>
1870                     <PUSH 'SET>
1871                     <CALL '\1aEANA 3 = TEMP18>
1872                     <JUMP + PHRASE163>
1873 PHRASE149
1874                     <FRAME '\1aCOMPILE-ERROR>
1875                     <PUSH "Too many args to SET: ">
1876                     <PUSH NOD4>
1877                     <DEAD NOD4>
1878                     <CALL '\1aCOMPILE-ERROR 2 = TEMP18>
1879 PHRASE163
1880                     <UNBIND TEMP3>
1881                     <DEAD TEMP3>
1882                     <ADJ -18>
1883                     <RETURN TEMP18>
1884                     <DEAD TEMP18>
1885                     <END \1aSET-ANA>
1886 #WORD *37570557355*
1887 <GFCN \1aMULTI-SET-ANA ("VALUE" ANY NODE ANY) NOD4 RTYP5>
1888                     <TEMP (K6 %<>) (LN7 0) TEMP3:LBIND TEMP18 L-OF-A12 TEMP30 TEMP43 ATM46 N47 NT48 TEMP87>
1889                     <INTGO>
1890                     <NTHUV NOD4 5 = K6 (TYPE LIST)>
1891                     <GETS 'BIND = TEMP3 (TYPE LBIND)>
1892                     <GEN-LVAL 'WHON = TEMP18>
1893                     <BBIND 'WHON 'ANY 'FIX TEMP18>
1894                     <DEAD TEMP18>
1895                     <GEN-LVAL 'PRED = TEMP18>
1896                     <BBIND 'PRED 'ANY 'FIX TEMP18>
1897                     <DEAD TEMP18>
1898                     <NTHL K6 1 = LN7 (TYPE NODE)>
1899                     <NTHUV LN7 4 = L-OF-A12 (TYPE LIST)>
1900                     <DEAD LN7>
1901                     <PUSH NOD4>
1902                     <SET LN7 1 (TYPE FIX)>
1903                     <NTHUV NOD4 8 = TEMP18>
1904                     <TYPE TEMP18 = TEMP30>
1905                     <AND TEMP30 7 = TEMP30>
1906                     <VEQUAL? TEMP30 1 + TAG26>
1907                     <DEAD TEMP30>
1908                     <LOOP (TEMP18 TYPE VALUE LENGTH) (LN7 VALUE)>
1909 TAG32
1910                     <INTGO>
1911                     <EMPTY? TEMP18 + TAG31>
1912                     <NTH1 TEMP18 = STACK>
1913                     <REST1 TEMP18 = TEMP18>
1914                     <ADD LN7 1 = LN7 (TYPE FIX)>
1915                     <JUMP + TAG32>
1916 TAG31
1917                     <LIST LN7 = TEMP18 (TYPE LIST)>
1918                     <DEAD LN7>
1919                     <JUMP + TAG28>
1920 TAG26
1921                     <LOOP>
1922 TAG29
1923                     <VEQUAL? LN7 0 + TAG28>
1924                     <POP = TEMP30>
1925                     <CONS TEMP30 TEMP18 = TEMP18 (TYPE LIST)>
1926                     <DEAD TEMP30>
1927                     <SUB LN7 1 = LN7 (TYPE FIX)>
1928                     <JUMP + TAG29>
1929 TAG28
1930                     <PUTUV NOD4 8 TEMP18>
1931                     <DEAD TEMP18>
1932                     <SET TEMP30 () (TYPE LIST)>
1933                     <SET LN7 () (TYPE LIST)>
1934                     <SET TEMP18 L-OF-A12 (TYPE LIST)>
1935                     <DEAD L-OF-A12>
1936                     <RESTL K6 1 = TEMP43 (TYPE LIST)>
1937                     <DEAD K6>
1938                     <LOOP>
1939 MAP34
1940                     <INTGO>
1941                     <EMPL? TEMP18 + MAPAP37>
1942                     <EMPL? TEMP43 + MAPAP37>
1943                     <SET K6 TEMP18>
1944                     <SET L-OF-A12 TEMP43>
1945                     <NTHL K6 1 = ATM46>
1946                     <NTHL L-OF-A12 1 = N47 (TYPE NODE)>
1947                     <NTHUV N47 1 = NT48 (TYPE FIX)>
1948                     <VEQUAL? NT48 3 + BOOL52 (TYPE FIX)>
1949                     <VEQUAL? NT48 68 - PHRASE51 (TYPE FIX)>
1950                     <DEAD NT48>
1951 BOOL52
1952                     <FRAME '\1aMULTI-SET-SEG>
1953                     <PUSH NOD4>
1954                     <PUSH K6>
1955                     <DEAD K6>
1956                     <PUSH L-OF-A12>
1957                     <DEAD L-OF-A12>
1958                     <CALL '\1aMULTI-SET-SEG 3 = K6>
1959                     <LOOP (K6 VALUE)>
1960 TAG59
1961                     <INTGO>
1962                     <EMPL? K6 + MAPAP37>
1963                     <NTHL K6 1 = NT48>
1964                     <CONS NT48 () = NT48 (TYPE LIST)>
1965                     <EMPL? TEMP30 - TAG61>
1966                     <SET TEMP30 NT48 (TYPE LIST)>
1967                     <JUMP + TAG62>
1968 TAG61
1969                     <PUTREST LN7 NT48>
1970                     <DEAD LN7>
1971 TAG62
1972                     <SET LN7 NT48 (TYPE LIST)>
1973                     <DEAD NT48>
1974                     <RESTL K6 1 = K6 (TYPE LIST)>
1975                     <JUMP + TAG59>
1976 PHRASE51
1977                     <RESTL K6 1 = NT48 (TYPE LIST)>
1978                     <EMPL? NT48 - PHRASE65 (TYPE LIST)>
1979                     <DEAD NT48>
1980                     <RESTL L-OF-A12 1 = NT48 (TYPE LIST)>
1981                     <EMPL? NT48 + PHRASE65 (TYPE LIST)>
1982                     <DEAD NT48>
1983                     <FRAME '\1aCOMPILE-ERROR>
1984                     <PUSH "Too many values for vars:  ">
1985                     <PUSH NOD4>
1986                     <CALL '\1aCOMPILE-ERROR 2>
1987                     <JUMP + PHRASE68>
1988 PHRASE65
1989                     <RESTL K6 1 = NT48 (TYPE LIST)>
1990                     <EMPL? NT48 + PHRASE68 (TYPE LIST)>
1991                     <DEAD NT48>
1992                     <RESTL L-OF-A12 1 = NT48 (TYPE LIST)>
1993                     <DEAD L-OF-A12>
1994                     <EMPL? NT48 - PHRASE68 (TYPE LIST)>
1995                     <DEAD NT48>
1996                     <FRAME '\1aCOMPILE-ERROR>
1997                     <PUSH "Too few values for vars:  ">
1998                     <PUSH NOD4>
1999                     <CALL '\1aCOMPILE-ERROR 2>
2000 PHRASE68
2001                     <SET L-OF-A12 'ANY (TYPE ATOM)>
2002                     <TYPE? ATM46 <TYPE-CODE ATOM> - PHRASE72>
2003                     <FRAME '\1aSRCH-SYM>
2004                     <PUSH ATM46>
2005                     <CALL '\1aSRCH-SYM 1 = NT48>
2006                     <VEQUAL? NT48 0 + PHRASE81>
2007                     <SET ATM46 NT48>
2008                     <DEAD NT48>
2009                     <JUMP + PHRASE81>
2010 PHRASE72
2011                     <TYPE? ATM46 <TYPE-CODE ADECL> - PHRASE76>
2012                     <FRAME '\1aSRCH-SYM>
2013                     <NTHUV ATM46 1 = STACK (TYPE ATOM)>
2014                     <CALL '\1aSRCH-SYM 1 = NT48>
2015                     <VEQUAL? NT48 0 + PHRASE78>
2016                     <NTHUV ATM46 2 = L-OF-A12>
2017                     <DEAD ATM46>
2018                     <SET ATM46 NT48>
2019                     <DEAD NT48>
2020                     <JUMP + PHRASE81>
2021 PHRASE78
2022                     <NTHUV ATM46 2 = L-OF-A12>
2023                     <NTHUV ATM46 1 = ATM46>
2024                     <JUMP + PHRASE81>
2025 PHRASE76
2026                     <TYPE? ATM46 <TYPE-CODE LIST> - PHRASE81>
2027                     <NTHL ATM46 1 = L-OF-A12>
2028                     <RESTL ATM46 1 = NT48 (TYPE LIST)>
2029                     <DEAD ATM46>
2030                     <NTHL NT48 1 = ATM46>
2031                     <DEAD NT48>
2032 PHRASE81
2033                     <TYPE? ATM46 <TYPE-CODE SYMTAB> - PHRASE83>
2034                     <NTHUV NOD4 2 = NT48>
2035                     <NTHR 'WHON 2 = TEMP87 (RECORD-TYPE ATOM) (TYPE LBIND)>
2036                     <NTHR TEMP87 1 = TEMP87 (RECORD-TYPE LBIND)>
2037                     <EQUAL? NT48 TEMP87 - PHRASE85>
2038                     <DEAD NT48 TEMP87>
2039                     <RESTL K6 1 = TEMP87 (TYPE LIST)>
2040                     <EMPL? TEMP87 - PHRASE85 (TYPE LIST)>
2041                     <DEAD TEMP87>
2042                     <NTHR 'WHON 2 = TEMP87 (RECORD-TYPE ATOM) (TYPE LBIND)>
2043                     <PUTR TEMP87 1 NOD4 (RECORD-TYPE LBIND)>
2044                     <DEAD TEMP87>
2045                     <GEN-LVAL 'WHO = TEMP87>
2046                     <CONS ATM46 () = NT48>
2047                     <CONS 'T NT48 = NT48>
2048                     <CONS NT48 TEMP87 = TEMP87>
2049                     <DEAD NT48>
2050                     <GEN-SET 'WHO TEMP87>
2051                     <DEAD TEMP87>
2052 PHRASE85
2053                     <NTHUV NOD4 2 = TEMP87>
2054                     <NTHR 'PRED 2 = NT48 (RECORD-TYPE ATOM) (TYPE LBIND)>
2055                     <NTHR NT48 1 = NT48 (RECORD-TYPE LBIND)>
2056                     <EQUAL? TEMP87 NT48 - PHRASE97>
2057                     <DEAD TEMP87 NT48>
2058                     <RESTL K6 1 = NT48 (TYPE LIST)>
2059                     <DEAD K6>
2060                     <EMPL? NT48 - PHRASE97 (TYPE LIST)>
2061                     <DEAD NT48>
2062                     <NTHR 'PRED 2 = NT48 (RECORD-TYPE ATOM) (TYPE LBIND)>
2063                     <PUTR NT48 1 NOD4 (RECORD-TYPE LBIND)>
2064                     <DEAD NT48>
2065 PHRASE97
2066                     <FRAME '\1aTYPE-OK?>
2067                     <PUSH L-OF-A12>
2068                     <NTHUV ATM46 7 = STACK>
2069                     <CALL '\1aTYPE-OK? 2 = TEMP87>
2070                     <TYPE? TEMP87 <TYPE-CODE FALSE> + BOOL105>
2071                     <FRAME '\1aANA>
2072                     <PUSH N47>
2073                     <PUSH TEMP87>
2074                     <DEAD TEMP87>
2075                     <CALL '\1aANA 2 = TEMP87>
2076                     <TYPE? TEMP87 <TYPE-CODE FALSE> - PHRASE104>
2077 BOOL105
2078                     <FRAME '\1aCOMPILE-ERROR>
2079                     <PUSH "Decl violation: ">
2080                     <FRAME '\1aNTH>
2081                     <PUSH N47>
2082                     <PUSH %<OFFSET 2 SYMTAB>>
2083                     <CALL '\1aNTH 2 = STACK>
2084                     <PUSH NOD4>
2085                     <CALL '\1aCOMPILE-ERROR 3>
2086 PHRASE104
2087                     <PUTUV ATM46 6 %<>>
2088                     <NTHUV ATM46 13 = NT48 (TYPE FIX)>
2089                     <ADD NT48 1 = NT48 (TYPE FIX)>
2090                     <PUTUV ATM46 13 NT48 (TYPE FIX)>
2091                     <DEAD NT48>
2092                     <NTHUV N47 1 = NT48 (TYPE FIX)>
2093                     <VEQUAL? NT48 2 - PHRASE114 (TYPE FIX)>
2094                     <DEAD NT48>
2095                     <NTHUV N47 4 = NT48>
2096                     <EQUAL? NT48 %<> - PHRASE113>
2097                     <DEAD NT48>
2098                     <SET TEMP87 'BOOL-FALSE (TYPE ATOM)>
2099                     <JUMP + PHRASE114>
2100 PHRASE113
2101                     <NTHUV N47 4 = NT48>
2102                     <DEAD N47>
2103                     <EQUAL? NT48 'T - PHRASE114>
2104                     <DEAD NT48>
2105                     <SET TEMP87 'BOOL-TRUE (TYPE ATOM)>
2106 PHRASE114
2107                     <FRAME '\1aSET-CURRENT-TYPE>
2108                     <PUSH ATM46>
2109                     <PUSH TEMP87>
2110                     <CALL '\1aSET-CURRENT-TYPE 2>
2111                     <PUTUV ATM46 15 'T>
2112                     <NTHR 'PRED 2 = NT48 (RECORD-TYPE ATOM) (TYPE LBIND)>
2113                     <NTHR NT48 1 = NT48 (RECORD-TYPE LBIND)>
2114                     <EQUAL? NT48 NOD4 - PHRASE134>
2115                     <DEAD NT48>
2116                     <FRAME '\1aTYPE-OK?>
2117                     <PUSH TEMP87>
2118                     <PUSH <NOT FALSE>>
2119                     <CALL '\1aTYPE-OK? 2 = N47>
2120                     <TYPE? N47 <TYPE-CODE FALSE> + PHRASE134>
2121                     <FRAME '\1aTYPE-OK?>
2122                     <PUSH TEMP87>
2123                     <DEAD TEMP87>
2124                     <PUSH 'FALSE>
2125                     <CALL '\1aTYPE-OK? 2 = NT48>
2126                     <TYPE? NT48 <TYPE-CODE FALSE> + PHRASE134>
2127                     <FRAME '\1aADD-TYPE-LIST>
2128                     <PUSH ATM46>
2129                     <PUSH N47>
2130                     <DEAD N47>
2131                     <GEN-LVAL 'TRUTH = STACK>
2132                     <PUSH 'T>
2133                     <CALL '\1aADD-TYPE-LIST 4 = TEMP87>
2134                     <GEN-SET 'TRUTH TEMP87>
2135                     <DEAD TEMP87>
2136                     <FRAME '\1aADD-TYPE-LIST>
2137                     <PUSH ATM46>
2138                     <PUSH NT48>
2139                     <DEAD NT48>
2140                     <GEN-LVAL 'UNTRUTH = STACK>
2141                     <PUSH 'T>
2142                     <CALL '\1aADD-TYPE-LIST 4 = N47>
2143                     <GEN-SET 'UNTRUTH N47>
2144                     <DEAD N47>
2145                     <JUMP + PHRASE134>
2146 PHRASE83
2147                     <FRAME '\1aANA>
2148                     <PUSH N47>
2149                     <DEAD N47>
2150                     <PUSH L-OF-A12>
2151                     <CALL '\1aANA 2>
2152 PHRASE134
2153                     <GEN-LVAL 'VERBOSE = N47>
2154                     <TYPE? N47 <TYPE-CODE FALSE> + PHRASE137>
2155                     <DEAD N47>
2156                     <TYPE? ATM46 <TYPE-CODE SYMTAB> - BOOL142>
2157                     <NTHUV ATM46 4 = N47 (TYPE FIX)>
2158                     <VEQUAL? N47 -1 - BOOL142 (TYPE FIX)>
2159                     <DEAD N47>
2160                     <NTHUV ATM46 2 = ATM46 (TYPE ATOM)>
2161                     <JUMP + BOOL141>
2162 BOOL142
2163                     <TYPE? ATM46 <TYPE-CODE ATOM> - PHRASE137>
2164 BOOL141
2165                     <FRAME '\1aADDVMESS>
2166                     <PUSH NOD4>
2167                     <CONS ATM46 () = N47>
2168                     <CONS "External variable being SET: " N47 = STACK>
2169                     <DEAD N47>
2170                     <CALL '\1aADDVMESS 2>
2171 PHRASE137
2172                     <CONS L-OF-A12 () = N47>
2173                     <DEAD L-OF-A12>
2174                     <CONS ATM46 N47 = N47>
2175                     <DEAD ATM46>
2176                     <CONS N47 () = N47 (TYPE LIST)>
2177                     <EMPL? TEMP30 - TAG146>
2178                     <SET TEMP30 N47 (TYPE LIST)>
2179                     <JUMP + TAG147>
2180 TAG146
2181                     <PUTREST LN7 N47>
2182                     <DEAD LN7>
2183 TAG147
2184                     <SET LN7 N47 (TYPE LIST)>
2185                     <DEAD N47>
2186                     <RESTL TEMP18 1 = TEMP18 (TYPE LIST)>
2187                     <RESTL TEMP43 1 = TEMP43 (TYPE LIST)>
2188                     <JUMP + MAP34>
2189 MAPAP37
2190                     <PUTUV NOD4 4 TEMP30>
2191                     <PUTUV NOD4 1 103 (TYPE FIX)>
2192                     <DEAD NOD4>
2193                     <FRAME '\1aTYPE-OK?>
2194                     <FRAME '\1aNTH>
2195                     <SET TEMP43 TEMP30>
2196                     <DEAD TEMP30>
2197                     <LOOP (TEMP43 VALUE)>
2198 TAG150
2199                     <RESTL TEMP43 1 = TEMP18 (TYPE LIST)>
2200                     <EMPL? TEMP18 + TAG151>
2201                     <SET TEMP43 TEMP18>
2202                     <DEAD TEMP18>
2203                     <JUMP + TAG150>
2204 TAG151
2205                     <NTHL TEMP43 1 = STACK>
2206                     <DEAD TEMP43>
2207                     <PUSH 2>
2208                     <CALL '\1aNTH 2 = STACK>
2209                     <PUSH RTYP5>
2210                     <DEAD RTYP5>
2211                     <CALL '\1aTYPE-OK? 2 = TEMP18>
2212                     <UNBIND TEMP3>
2213                     <DEAD TEMP3>
2214                     <ADJ -18>
2215                     <RETURN TEMP18>
2216                     <DEAD TEMP18>
2217                     <END \1aMULTI-SET-ANA>
2218 #WORD *12130671254*
2219 <GFCN \1aMULTI-SET-SEG ("VALUE" LIST NODE LIST <LIST [REST NODE]>) NOD4 AL5 NL6>
2220                     <TEMP (MIN-LN7:FIX 0) (MAX-LN8:FIX 0) LN9:FIX (COMPOSIT-DECL10 'NO-RETURN) (COMPOSIT-TYPE11 'NO-RETURN) L-OF-SY12 TEMP20 TEMP19:LIST ATM24 TY26 SY25>
2221                     <INTGO>
2222                     <LENL AL5 = LN9 (TYPE FIX)>
2223                     <SET L-OF-SY12 () (TYPE LIST)>
2224                     <SET TEMP20 () (TYPE LIST)>
2225                     <SET TEMP19 AL5 (TYPE LIST)>
2226                     <DEAD AL5>
2227                     <LOOP>
2228 MAP14
2229                     <INTGO>
2230                     <EMPL? TEMP19 + MAPAP17>
2231                     <NTHL TEMP19 1 = ATM24>
2232                     <SET TY26 'ANY (TYPE ATOM)>
2233                     <TYPE? ATM24 <TYPE-CODE ATOM> - PHRASE28>
2234                     <FRAME '\1aSRCH-SYM>
2235                     <PUSH ATM24>
2236                     <CALL '\1aSRCH-SYM 1 = SY25>
2237                     <VEQUAL? SY25 0 + PHRASE37>
2238                     <SET ATM24 SY25>
2239                     <DEAD SY25>
2240                     <JUMP + PHRASE37>
2241 PHRASE28
2242                     <TYPE? ATM24 <TYPE-CODE ADECL> - PHRASE32>
2243                     <FRAME '\1aSRCH-SYM>
2244                     <NTHUV ATM24 1 = STACK (TYPE ATOM)>
2245                     <CALL '\1aSRCH-SYM 1 = SY25>
2246                     <VEQUAL? SY25 0 + PHRASE34>
2247                     <NTHUV ATM24 2 = TY26>
2248                     <DEAD ATM24>
2249                     <SET ATM24 SY25>
2250                     <DEAD SY25>
2251                     <JUMP + PHRASE37>
2252 PHRASE34
2253                     <NTHUV ATM24 2 = TY26>
2254                     <NTHUV ATM24 1 = ATM24>
2255                     <JUMP + PHRASE37>
2256 PHRASE32
2257                     <TYPE? ATM24 <TYPE-CODE LIST> - PHRASE37>
2258                     <NTHL ATM24 1 = TY26>
2259                     <RESTL ATM24 1 = SY25 (TYPE LIST)>
2260                     <DEAD ATM24>
2261                     <NTHL SY25 1 = ATM24>
2262                     <DEAD SY25>
2263 PHRASE37
2264                     <TYPE? ATM24 <TYPE-CODE SYMTAB> - PHRASE40>
2265                     <FRAME '\1aTYPE-AND>
2266                     <NTHUV ATM24 7 = STACK>
2267                     <PUSH TY26>
2268                     <DEAD TY26>
2269                     <CALL '\1aTYPE-AND 2 = TY26>
2270                     <TYPE? TY26 <TYPE-CODE FALSE> - PHRASE42>
2271                     <FRAME '\1aCOMPILE-ERROR>
2272                     <PUSH "ADECL and DECL mismatch:  ">
2273                     <NTHUV ATM24 2 = STACK (TYPE ATOM)>
2274                     <PUSH NOD4>
2275                     <CALL '\1aCOMPILE-ERROR 3>
2276 PHRASE42
2277                     <FRAME '\1aTYPE-MERGE>
2278                     <PUSH COMPOSIT-DECL10>
2279                     <DEAD COMPOSIT-DECL10>
2280                     <PUSH TY26>
2281                     <CALL '\1aTYPE-MERGE 2 = COMPOSIT-DECL10>
2282                     <PUTUV ATM24 6 %<>>
2283                     <NTHUV ATM24 13 = SY25 (TYPE FIX)>
2284                     <ADD SY25 1 = SY25 (TYPE FIX)>
2285                     <PUTUV ATM24 13 SY25 (TYPE FIX)>
2286                     <DEAD SY25>
2287                     <PUTUV ATM24 15 'T>
2288 PHRASE40
2289                     <CONS TY26 () = SY25>
2290                     <DEAD TY26>
2291                     <CONS ATM24 SY25 = SY25>
2292                     <DEAD ATM24>
2293                     <CONS SY25 () = SY25 (TYPE LIST)>
2294                     <EMPL? L-OF-SY12 - TAG46>
2295                     <SET L-OF-SY12 SY25 (TYPE LIST)>
2296                     <JUMP + TAG47>
2297 TAG46
2298                     <PUTREST TEMP20 SY25>
2299                     <DEAD TEMP20>
2300 TAG47
2301                     <SET TEMP20 SY25 (TYPE LIST)>
2302                     <DEAD SY25>
2303                     <RESTL TEMP19 1 = TEMP19 (TYPE LIST)>
2304                     <JUMP + MAP14>
2305 MAPAP17
2306                     <SET TEMP19 NL6 (TYPE LIST)>
2307                     <DEAD NL6>
2308                     <LOOP>
2309 MAP49
2310                     <INTGO>
2311                     <EMPL? TEMP19 + MAPAP52>
2312                     <NTHL TEMP19 1 = ATM24>
2313                     <NTHUV ATM24 1 = TEMP20 (TYPE FIX)>
2314                     <VEQUAL? TEMP20 68 + BOOL63 (TYPE FIX)>
2315                     <VEQUAL? TEMP20 3 - PHRASE62 (TYPE FIX)>
2316                     <DEAD TEMP20>
2317 BOOL63
2318                     <FRAME '\1aEANA>
2319                     <NTHUV ATM24 5 = TEMP20 (TYPE LIST)>
2320                     <DEAD ATM24>
2321                     <NTHL TEMP20 1 = ATM24 (TYPE NODE)>
2322                     <DEAD TEMP20>
2323                     <PUSH ATM24>
2324                     <DEAD ATM24>
2325                     <PUSH <OR MULTI STRUCTURED>>
2326                     <PUSH 'MULTI-SET>
2327                     <CALL '\1aEANA 3 = ATM24>
2328                     <EQUAL? COMPOSIT-DECL10 'ANY + PHRASE67>
2329                     <FRAME '\1aTYPE-OK?>
2330                     <FRAME '\1aGET-ELE-TYPE>
2331                     <PUSH ATM24>
2332                     <PUSH 'ALL>
2333                     <CALL '\1aGET-ELE-TYPE 2 = STACK>
2334                     <PUSH COMPOSIT-DECL10>
2335                     <CALL '\1aTYPE-OK? 2 = TEMP20>
2336                     <TYPE? TEMP20 <TYPE-CODE FALSE> - PHRASE73>
2337                     <FRAME '\1aCOMPILE-ERROR>
2338                     <PUSH "Decl violation: ">
2339                     <PUSH NOD4>
2340                     <CALL '\1aCOMPILE-ERROR 2>
2341                     <JUMP + PHRASE73>
2342 PHRASE67
2343                     <FRAME '\1aGET-ELE-TYPE>
2344                     <PUSH ATM24>
2345                     <PUSH 'ALL>
2346                     <CALL '\1aGET-ELE-TYPE 2 = TEMP20>
2347 PHRASE73
2348                     <FRAME '\1aTYPE-MERGE>
2349                     <PUSH TEMP20>
2350                     <DEAD TEMP20>
2351                     <PUSH COMPOSIT-TYPE11>
2352                     <DEAD COMPOSIT-TYPE11>
2353                     <CALL '\1aTYPE-MERGE 2 = COMPOSIT-TYPE11>
2354                     <SET TEMP20 MAX-LN8>
2355                     <DEAD MAX-LN8>
2356                     <FRAME '\1aMAXL>
2357                     <PUSH ATM24>
2358                     <CALL '\1aMAXL 1 = TY26>
2359                     <ADD TEMP20 TY26 = TEMP20 (TYPE FIX)>
2360                     <DEAD TY26>
2361                     <LESS? TEMP20 65535 - TAG79>
2362                     <SET TEMP20 65535 (TYPE FIX)>
2363 TAG79
2364                     <SET MAX-LN8 TEMP20>
2365                     <DEAD TEMP20>
2366                     <SET TY26 MIN-LN7>
2367                     <DEAD MIN-LN7>
2368                     <FRAME '\1aMINL>
2369                     <PUSH ATM24>
2370                     <DEAD ATM24>
2371                     <CALL '\1aMINL 1 = TEMP20>
2372                     <ADD TY26 TEMP20 = MIN-LN7 (TYPE FIX)>
2373                     <DEAD TY26 TEMP20>
2374                     <JUMP + PHRASE81>
2375 PHRASE62
2376                     <FRAME '\1aTYPE-MERGE>
2377                     <FRAME '\1aEANA>
2378                     <PUSH ATM24>
2379                     <DEAD ATM24>
2380                     <PUSH COMPOSIT-DECL10>
2381                     <PUSH 'MULTI-SET>
2382                     <CALL '\1aEANA 3 = STACK>
2383                     <PUSH COMPOSIT-TYPE11>
2384                     <DEAD COMPOSIT-TYPE11>
2385                     <CALL '\1aTYPE-MERGE 2 = COMPOSIT-TYPE11>
2386                     <ADD MAX-LN8 1 = TEMP20 (TYPE FIX)>
2387                     <DEAD MAX-LN8>
2388                     <LESS? TEMP20 65535 - TAG84>
2389                     <SET TEMP20 65535 (TYPE FIX)>
2390 TAG84
2391                     <SET MAX-LN8 TEMP20>
2392                     <DEAD TEMP20>
2393                     <ADD MIN-LN7 1 = MIN-LN7 (TYPE FIX)>
2394 PHRASE81
2395                     <RESTL TEMP19 1 = TEMP19 (TYPE LIST)>
2396                     <JUMP + MAP49>
2397 MAPAP52
2398                     <SET TEMP19 L-OF-SY12 (TYPE LIST)>
2399                     <LOOP>
2400 MAP86
2401                     <INTGO>
2402                     <EMPL? TEMP19 + MAPAP89>
2403                     <NTHL TEMP19 1 = COMPOSIT-DECL10>
2404                     <NTH1 COMPOSIT-DECL10 = COMPOSIT-DECL10>
2405                     <TYPE? COMPOSIT-DECL10 <TYPE-CODE SYMTAB> - PHRASE94>
2406                     <FRAME '\1aSET-CURRENT-TYPE>
2407                     <PUSH COMPOSIT-DECL10>
2408                     <FRAME '\1aTYPE-AND>
2409                     <PUSH COMPOSIT-TYPE11>
2410                     <NTHUV COMPOSIT-DECL10 7 = STACK>
2411                     <DEAD COMPOSIT-DECL10>
2412                     <CALL '\1aTYPE-AND 2 = STACK>
2413                     <CALL '\1aSET-CURRENT-TYPE 2>
2414 PHRASE94
2415                     <RESTL TEMP19 1 = TEMP19 (TYPE LIST)>
2416                     <JUMP + MAP86>
2417 MAPAP89
2418                     <GRTR? MIN-LN7 LN9 - PHRASE98 (TYPE FIX)>
2419                     <DEAD MIN-LN7>
2420                     <FRAME '\1aCOMPILE-ERROR>
2421                     <PUSH "Too many values:  ">
2422                     <PUSH NOD4>
2423                     <DEAD NOD4>
2424                     <CALL '\1aCOMPILE-ERROR 2>
2425                     <RETURN L-OF-SY12>
2426                     <DEAD L-OF-SY12>
2427 PHRASE98
2428                     <LESS? MAX-LN8 LN9 - PHRASE100 (TYPE FIX)>
2429                     <DEAD MAX-LN8 LN9>
2430                     <FRAME '\1aCOMPILE-ERROR>
2431                     <PUSH "Too few values:  ">
2432                     <PUSH NOD4>
2433                     <DEAD NOD4>
2434                     <CALL '\1aCOMPILE-ERROR 2>
2435 PHRASE100
2436                     <RETURN L-OF-SY12>
2437                     <DEAD L-OF-SY12>
2438                     <END \1aMULTI-SET-SEG>
2439 <COND (<GASSIGNED? SET-ANA> <PUTPROP ,SET ANALYSIS ,SET-ANA> <PUTPROP ,UNASSIGN ANALYSIS ,SET-ANA>)>
2440
2441 #WORD *70077115*
2442 <GFCN \1aMUNG-L-D-STATE ("VALUE" ATOM <OR VECTOR SYMTAB>) V4>
2443                     <TEMP TEMP5:ATOM>
2444                     <INTGO>
2445                     <LOOP>
2446 AGAIN8
2447                     <INTGO>
2448                     <TYPE? V4 <TYPE-CODE VECTOR> - PHRASE10>
2449                     <RETURN 'T>
2450 PHRASE10
2451                     <PUTUV V4 16 () (TYPE LIST)>
2452                     <NTHUV V4 1 = V4>
2453                     <JUMP + AGAIN8>
2454                     <END \1aMUNG-L-D-STATE>
2455 #WORD *17010373327*
2456 <GFCN \1aMRESTORE-L-D-STATE ("VALUE" ATOM ANY ANY ANY) L14 L25 V6>
2457                     <TEMP TEMP9:ATOM>
2458                     <INTGO>
2459                     <FRAME '\1aRESTORE-L-D-STATE>
2460                     <PUSH L14>
2461                     <DEAD L14>
2462                     <PUSH V6>
2463                     <CALL '\1aRESTORE-L-D-STATE 2>
2464                     <FRAME '\1aRESTORE-L-D-STATE>
2465                     <PUSH L25>
2466                     <DEAD L25>
2467                     <PUSH V6>
2468                     <DEAD V6>
2469                     <PUSH 'T>
2470                     <CALL '\1aRESTORE-L-D-STATE 3 = TEMP9>
2471                     <RETURN TEMP9>
2472                     <DEAD TEMP9>
2473                     <END \1aMRESTORE-L-D-STATE>
2474 #WORD *16170023043*
2475 <GFCN \1aFREST-L-D-STATE ("VALUE" <OR FALSE SYMTAB> LIST) L4>
2476                     <TEMP TEMP14 TEMP11:LIST LL16:LIST>
2477                     <INTGO>
2478                     <SET TEMP14 %<> (TYPE FALSE)>
2479                     <SET TEMP11 L4 (TYPE LIST)>
2480                     <DEAD L4>
2481                     <LOOP>
2482 MAP6
2483                     <INTGO>
2484                     <EMPL? TEMP11 + MAPAP9>
2485                     <NTHL TEMP11 1 = LL16>
2486                     <RESTL LL16 1 = TEMP14 (TYPE LIST)>
2487                     <NTHL TEMP14 1 = TEMP14 (TYPE LIST)>
2488                     <NTHL TEMP14 1 = TEMP14 (TYPE NODE)>
2489                     <NTHUV TEMP14 7 = TEMP14 (TYPE LIST)>
2490                     <RESTL TEMP14 1 = TEMP14 (TYPE LIST)>
2491                     <NTHL TEMP14 1 = TEMP14>
2492                     <TYPE? TEMP14 <TYPE-CODE FALSE> + TAG20>
2493                     <DEAD TEMP14>
2494                     <SET TEMP14 %<> (TYPE FALSE)>
2495                     <JUMP + PHRASE18>
2496 TAG20
2497                     <NTHL LL16 1 = TEMP14 (TYPE SYMTAB)>
2498                     <RESTL LL16 1 = LL16 (TYPE LIST)>
2499                     <NTHL LL16 1 = LL16 (TYPE LIST)>
2500                     <PUTUV TEMP14 16 LL16 (TYPE LIST)>
2501                     <DEAD LL16>
2502 PHRASE18
2503                     <RESTL TEMP11 1 = TEMP11 (TYPE LIST)>
2504                     <JUMP + MAP6>
2505 MAPAP9
2506                     <RETURN TEMP14>
2507                     <DEAD TEMP14>
2508                     <END \1aFREST-L-D-STATE>
2509 #WORD *23574207050*
2510 <GFCN \1aRESTORE-L-D-STATE ("VALUE" ATOM <LIST [REST <LIST SYMTAB LIST>]> <OR SYMTAB VECTOR> "OPTIONAL" ANY) L6 V7 FLG8>
2511                     <OPT-DISPATCH 2 %<> OPT4 OPT5>
2512 OPT4
2513                     <PUSH %<>>
2514 OPT5
2515                     <TEMP DL13 S23:SYMTAB TEMP45 TEMP43 TEMP47 N48 TEMP51>
2516                     <INTGO>
2517                     <TYPE? FLG8 <TYPE-CODE FALSE> - EXIT11>
2518                     <LOOP>
2519 AGAIN14
2520                     <INTGO>
2521                     <TYPE? V7 <TYPE-CODE VECTOR> + EXIT11>
2522                     <NTHUV V7 16 = DL13 (TYPE LIST)>
2523                     <EMPL? DL13 + PHRASE18 (TYPE LIST)>
2524                     <NTHL DL13 1 = DL13 (TYPE NODE)>
2525                     <NTHUV DL13 7 = DL13 (TYPE LIST)>
2526                     <RESTL DL13 1 = DL13 (TYPE LIST)>
2527                     <NTHL DL13 1 = DL13>
2528                     <TYPE? DL13 <TYPE-CODE FALSE> - PHRASE18>
2529                     <DEAD DL13>
2530                     <PUTUV V7 16 () (TYPE LIST)>
2531 PHRASE18
2532                     <NTHUV V7 1 = V7>
2533                     <JUMP + AGAIN14>
2534 EXIT11
2535                     <LOOP>
2536 AGAIN25
2537                     <INTGO>
2538                     <EMPL? L6 - PHRASE27 (TYPE LIST)>
2539                     <RETURN 'T>
2540 PHRASE27
2541                     <NTHL L6 1 = DL13 (TYPE LIST)>
2542                     <NTHL DL13 1 = S23 (TYPE SYMTAB)>
2543                     <DEAD DL13>
2544                     <TYPE? FLG8 <TYPE-CODE FALSE> + EXIT30>
2545                     <LOOP>
2546 AGAIN31
2547                     <INTGO>
2548                     <EQUAL? S23 V7 + EXIT30>
2549                     <TYPE? V7 <TYPE-CODE VECTOR> + EXIT30>
2550                     <SET DL13 V7>
2551                     <SET TEMP45 () (TYPE LIST)>
2552                     <SET TEMP43 () (TYPE LIST)>
2553                     <NTHUV V7 16 = TEMP47 (TYPE LIST)>
2554                     <LOOP>
2555 MAP37
2556                     <INTGO>
2557                     <EMPL? TEMP47 + MAPAP40>
2558                     <NTHL TEMP47 1 = N48>
2559                     <NTHUV N48 1 = TEMP51 (TYPE FIX)>
2560                     <VEQUAL? TEMP51 11 + MAP38 (TYPE FIX)>
2561                     <DEAD TEMP51>
2562                     <SET TEMP51 N48>
2563                     <DEAD N48>
2564                     <CONS TEMP51 () = TEMP51 (TYPE LIST)>
2565                     <EMPL? TEMP45 - TAG54>
2566                     <SET TEMP45 TEMP51 (TYPE LIST)>
2567                     <JUMP + TAG55>
2568 TAG54
2569                     <PUTREST TEMP43 TEMP51>
2570                     <DEAD TEMP43>
2571 TAG55
2572                     <SET TEMP43 TEMP51 (TYPE LIST)>
2573                     <DEAD TEMP51>
2574 MAP38
2575                     <RESTL TEMP47 1 = TEMP47 (TYPE LIST)>
2576                     <JUMP + MAP37>
2577 MAPAP40
2578                     <PUTUV DL13 16 TEMP45 (TYPE LIST)>
2579                     <DEAD DL13 TEMP45>
2580                     <NTHUV V7 1 = V7>
2581                     <JUMP + AGAIN31>
2582 EXIT30
2583                     <NTHL L6 1 = TEMP47 (TYPE LIST)>
2584                     <RESTL TEMP47 1 = TEMP47 (TYPE LIST)>
2585                     <NTHL TEMP47 1 = DL13 (TYPE LIST)>
2586                     <DEAD TEMP47>
2587                     <NTHL DL13 1 = TEMP47 (TYPE NODE)>
2588                     <NTHUV TEMP47 7 = TEMP47 (TYPE LIST)>
2589                     <RESTL TEMP47 1 = TEMP47 (TYPE LIST)>
2590                     <NTHL TEMP47 1 = TEMP47>
2591                     <TYPE? TEMP47 <TYPE-CODE FALSE> - PHRASE57>
2592                     <DEAD TEMP47>
2593                     <TYPE? FLG8 <TYPE-CODE FALSE> + PHRASE59>
2594                     <FRAME '\1aLMERGE>
2595                     <NTHUV S23 16 = STACK (TYPE LIST)>
2596                     <PUSH DL13>
2597                     <DEAD DL13>
2598                     <CALL '\1aLMERGE 2 = TEMP47>
2599                     <JUMP + PHRASE61>
2600 PHRASE59
2601                     <SET TEMP47 DL13>
2602                     <DEAD DL13>
2603 PHRASE61
2604                     <PUTUV S23 16 TEMP47 (TYPE LIST)>
2605                     <DEAD S23 TEMP47>
2606 PHRASE57
2607                     <RESTL L6 1 = L6 (TYPE LIST)>
2608                     <JUMP + AGAIN25>
2609                     <END \1aRESTORE-L-D-STATE>
2610 #WORD *15630143052*
2611 <GFCN \1aSAVE-L-D-STATE ("VALUE" LIST <OR VECTOR SYMTAB>) V4>
2612                     <TEMP L8:LIST LP9:LIST DL10:LIST TEMP17>
2613                     <INTGO>
2614                     <CONS () () = L8>
2615                     <SET LP9 L8>
2616                     <LOOP>
2617 AGAIN11
2618                     <INTGO>
2619                     <TYPE? V4 <TYPE-CODE VECTOR> - PHRASE13>
2620                     <RESTL L8 1 = L8 (TYPE LIST)>
2621                     <RETURN L8>
2622                     <DEAD L8>
2623 PHRASE13
2624                     <NTHUV V4 16 = DL10 (TYPE LIST)>
2625                     <EMPL? DL10 + PHRASE15 (TYPE LIST)>
2626                     <NTHL DL10 1 = TEMP17 (TYPE NODE)>
2627                     <NTHUV TEMP17 7 = TEMP17 (TYPE LIST)>
2628                     <RESTL TEMP17 1 = TEMP17 (TYPE LIST)>
2629                     <NTHL TEMP17 1 = TEMP17>
2630                     <TYPE? TEMP17 <TYPE-CODE FALSE> - PHRASE15>
2631                     <DEAD TEMP17>
2632                     <CONS DL10 () = TEMP17>
2633                     <DEAD DL10>
2634                     <CONS V4 TEMP17 = TEMP17>
2635                     <CONS TEMP17 () = TEMP17>
2636                     <PUTREST LP9 TEMP17>
2637                     <DEAD LP9>
2638                     <SET LP9 TEMP17>
2639                     <DEAD TEMP17>
2640 PHRASE15
2641                     <NTHUV V4 1 = V4>
2642                     <JUMP + AGAIN11>
2643                     <END \1aSAVE-L-D-STATE>
2644 #WORD *26753335367*
2645 <GFCN \1aMSAVE-L-D-STATE ("VALUE" LIST LIST <OR VECTOR SYMTAB>) L4 V5>
2646                     <TEMP L9:LIST LR10:LIST LP11:LIST TEMP19 DL12:LIST>
2647                     <INTGO>
2648                     <CONS () L4 = L9>
2649                     <DEAD L4>
2650                     <SET LR10 L9>
2651                     <RESTL L9 1 = LP11 (TYPE LIST)>
2652                     <LOOP>
2653 AGAIN15
2654                     <INTGO>
2655                     <EMPL? LP11 - PHRASE17 (TYPE LIST)>
2656                     <FRAME '\1aSAVE-L-D-STATE>
2657                     <PUSH V5>
2658                     <DEAD V5>
2659                     <CALL '\1aSAVE-L-D-STATE 1 = TEMP19>
2660                     <PUTREST L9 TEMP19>
2661                     <DEAD L9 TEMP19>
2662                     <RESTL LR10 1 = L9 (TYPE LIST)>
2663                     <DEAD LR10>
2664                     <RETURN L9>
2665                     <DEAD L9>
2666 PHRASE17
2667                     <TYPE? V5 <TYPE-CODE VECTOR> - PHRASE20>
2668                     <RESTL LR10 1 = L9 (TYPE LIST)>
2669                     <DEAD LR10>
2670                     <RETURN L9>
2671                     <DEAD L9>
2672 PHRASE20
2673                     <NTHUV V5 16 = DL12 (TYPE LIST)>
2674                     <EMPL? DL12 + PHRASE21 (TYPE LIST)>
2675                     <NTHL DL12 1 = TEMP19 (TYPE NODE)>
2676                     <NTHUV TEMP19 7 = TEMP19 (TYPE LIST)>
2677                     <RESTL TEMP19 1 = TEMP19 (TYPE LIST)>
2678                     <NTHL TEMP19 1 = TEMP19>
2679                     <TYPE? TEMP19 <TYPE-CODE FALSE> - PHRASE21>
2680                     <DEAD TEMP19>
2681                     <NTHL LP11 1 = TEMP19>
2682                     <NTH1 TEMP19 = TEMP19>
2683                     <VEQUAL? TEMP19 V5 - PHRASE24>
2684                     <DEAD TEMP19>
2685                     <FRAME '\1aLMERGE>
2686                     <FRAME '\1aNTH>
2687                     <NTHL LP11 1 = STACK>
2688                     <PUSH 2>
2689                     <CALL '\1aNTH 2 = STACK>
2690                     <PUSH DL12>
2691                     <DEAD DL12>
2692                     <CALL '\1aLMERGE 2 = DL12>
2693                     <EMPL? DL12 - PHRASE28 (TYPE LIST)>
2694                     <RESTL LP11 1 = LP11 (TYPE LIST)>
2695                     <PUTREST L9 LP11>
2696                     <JUMP + PHRASE33>
2697 PHRASE28
2698                     <FRAME '\1aPUT>
2699                     <NTHL LP11 1 = STACK>
2700                     <PUSH 2>
2701                     <PUSH DL12>
2702                     <DEAD DL12>
2703                     <CALL '\1aPUT 3>
2704                     <SET L9 LP11>
2705                     <DEAD LP11>
2706                     <RESTL L9 1 = LP11 (TYPE LIST)>
2707                     <JUMP + PHRASE33>
2708 PHRASE24
2709                     <SET TEMP19 L9>
2710                     <DEAD L9>
2711                     <CONS DL12 () = L9>
2712                     <DEAD DL12>
2713                     <CONS V5 L9 = L9>
2714                     <CONS L9 () = L9>
2715                     <PUTREST TEMP19 L9>
2716                     <DEAD TEMP19>
2717                     <PUTREST L9 LP11>
2718                     <JUMP + PHRASE33>
2719 PHRASE21
2720                     <NTHL LP11 1 = TEMP19>
2721                     <NTH1 TEMP19 = TEMP19>
2722                     <EQUAL? TEMP19 V5 - PHRASE33>
2723                     <DEAD TEMP19>
2724                     <SET L9 LP11>
2725                     <DEAD LP11>
2726                     <RESTL L9 1 = LP11 (TYPE LIST)>
2727 PHRASE33
2728                     <NTHUV V5 1 = V5>
2729                     <JUMP + AGAIN15>
2730                     <END \1aMSAVE-L-D-STATE>
2731 #WORD *36504120426*
2732 <GFCN \1aLMERGE ("VALUE" <LIST [REST NODE]> <LIST [REST NODE]> <LIST [REST NODE]>) L14 L25>
2733                     <TEMP TEMP15 TEMP13 TEMP12 N17:NODE TEMP21 TEMP26>
2734                     <INTGO>
2735                     <SET TEMP15 () (TYPE LIST)>
2736                     <SET TEMP13 () (TYPE LIST)>
2737                     <SET TEMP12 L14 (TYPE LIST)>
2738                     <DEAD L14>
2739                     <LOOP>
2740 MAP7
2741                     <INTGO>
2742                     <EMPL? TEMP12 + MAPAP10>
2743                     <NTHL TEMP12 1 = N17>
2744                     <NTHUV N17 7 = TEMP21 (TYPE LIST)>
2745                     <RESTL TEMP21 1 = TEMP21 (TYPE LIST)>
2746                     <NTHL TEMP21 1 = TEMP21>
2747                     <TYPE? TEMP21 <TYPE-CODE FALSE> - MAP8>
2748                     <DEAD TEMP21>
2749                     <NTHUV N17 1 = TEMP21 (TYPE FIX)>
2750                     <VEQUAL? TEMP21 11 - PHRASE19 (TYPE FIX)>
2751                     <DEAD TEMP21>
2752                     <SET TEMP21 L25>
2753                     <EMPL? TEMP21 + MAP8>
2754                     <LOOP (N17 VALUE) (TEMP21 VALUE)>
2755 TAG24
2756                     <NTHL TEMP21 1 = TEMP26>
2757                     <VEQUAL? TEMP26 N17 + PHRASE19>
2758                     <DEAD TEMP26>
2759                     <RESTL TEMP21 1 = TEMP21 (TYPE LIST)>
2760                     <EMPL? TEMP21 - TAG24>
2761                     <JUMP + MAP8>
2762 PHRASE19
2763                     <CONS N17 () = TEMP21 (TYPE LIST)>
2764                     <DEAD N17>
2765                     <EMPL? TEMP15 - TAG28>
2766                     <SET TEMP15 TEMP21 (TYPE LIST)>
2767                     <JUMP + TAG29>
2768 TAG28
2769                     <PUTREST TEMP13 TEMP21>
2770                     <DEAD TEMP13>
2771 TAG29
2772                     <SET TEMP13 TEMP21 (TYPE LIST)>
2773                     <DEAD TEMP21>
2774 MAP8
2775                     <RESTL TEMP12 1 = TEMP12 (TYPE LIST)>
2776                     <JUMP + MAP7>
2777 MAPAP10
2778                     <SET L14 TEMP15>
2779                     <DEAD TEMP15>
2780                     <SET TEMP15 () (TYPE LIST)>
2781                     <SET TEMP21 () (TYPE LIST)>
2782                     <SET TEMP12 L25 (TYPE LIST)>
2783                     <DEAD L25>
2784                     <LOOP>
2785 MAP31
2786                     <INTGO>
2787                     <EMPL? TEMP12 + MAPAP34>
2788                     <NTHL TEMP12 1 = N17>
2789                     <NTHUV N17 7 = TEMP13 (TYPE LIST)>
2790                     <RESTL TEMP13 1 = TEMP13 (TYPE LIST)>
2791                     <NTHL TEMP13 1 = TEMP13>
2792                     <TYPE? TEMP13 <TYPE-CODE FALSE> - MAP32>
2793                     <DEAD TEMP13>
2794                     <NTHUV N17 1 = TEMP13 (TYPE FIX)>
2795                     <VEQUAL? TEMP13 11 + MAP32 (TYPE FIX)>
2796                     <DEAD TEMP13>
2797                     <SET TEMP13 L14>
2798                     <EMPL? TEMP13 + PHRASE40>
2799                     <LOOP (N17 VALUE) (TEMP13 VALUE)>
2800 TAG44
2801                     <NTHL TEMP13 1 = TEMP26>
2802                     <VEQUAL? TEMP26 N17 + MAP32>
2803                     <DEAD TEMP26>
2804                     <RESTL TEMP13 1 = TEMP13 (TYPE LIST)>
2805                     <EMPL? TEMP13 - TAG44>
2806 PHRASE40
2807                     <CONS N17 () = TEMP13 (TYPE LIST)>
2808                     <DEAD N17>
2809                     <EMPL? TEMP15 - TAG48>
2810                     <SET TEMP15 TEMP13 (TYPE LIST)>
2811                     <JUMP + TAG49>
2812 TAG48
2813                     <PUTREST TEMP21 TEMP13>
2814                     <DEAD TEMP21>
2815 TAG49
2816                     <SET TEMP21 TEMP13 (TYPE LIST)>
2817                     <DEAD TEMP13>
2818 MAP32
2819                     <RESTL TEMP12 1 = TEMP12 (TYPE LIST)>
2820                     <JUMP + MAP31>
2821 MAPAP34
2822                     <SET L25 TEMP15>
2823                     <DEAD TEMP15>
2824                     <EMPL? L14 - PHRASE51 (TYPE LIST)>
2825                     <RETURN L25>
2826                     <DEAD L25>
2827 PHRASE51
2828                     <SET TEMP13 L14>
2829                     <LOOP (TEMP13 VALUE)>
2830 TAG53
2831                     <RESTL TEMP13 1 = TEMP26 (TYPE LIST)>
2832                     <EMPL? TEMP26 + TAG54>
2833                     <SET TEMP13 TEMP26>
2834                     <DEAD TEMP26>
2835                     <JUMP + TAG53>
2836 TAG54
2837                     <PUTREST TEMP13 L25>
2838                     <DEAD TEMP13 L25>
2839                     <RETURN L14>
2840                     <DEAD L14>
2841                     <END \1aLMERGE>
2842 #WORD *6716114513*
2843 <GFCN \1aMAKE-DEAD ("VALUE" SYMTAB NODE SYMTAB) N4 SYM5>
2844                     <TEMP TEMP6:LIST>
2845                     <INTGO>
2846                     <CONS N4 () = TEMP6>
2847                     <DEAD N4>
2848                     <PUTUV SYM5 16 TEMP6 (TYPE LIST)>
2849                     <DEAD TEMP6>
2850                     <RETURN SYM5>
2851                     <DEAD SYM5>
2852                     <END \1aMAKE-DEAD>
2853 #WORD *26173145242*
2854 <GFCN \1aKILL-REM ("VALUE" LIST <LIST [REST SYMTAB]> <OR SYMTAB VECTOR>) L4 V5>
2855                     <TEMP L19:LIST TEMP16 TEMP22>
2856                     <INTGO>
2857                     <SET L19 () (TYPE LIST)>
2858                     <LOOP>
2859 AGAIN10
2860                     <INTGO>
2861                     <TYPE? V5 <TYPE-CODE VECTOR> - PHRASE12>
2862                     <RETURN L19>
2863                     <DEAD L19>
2864 PHRASE12
2865                     <NTHUV V5 3 = TEMP16>
2866                     <TYPE? TEMP16 <TYPE-CODE FALSE> - PHRASE14>
2867                     <DEAD TEMP16>
2868                     <NTHUV V5 4 = TEMP16 (TYPE FIX)>
2869                     <VEQUAL? TEMP16 -1 + PHRASE14 (TYPE FIX)>
2870                     <DEAD TEMP16>
2871                     <SET TEMP16 L4>
2872                     <EMPL? TEMP16 + PHRASE14>
2873                     <LOOP (V5 VALUE) (TEMP16 VALUE)>
2874 TAG20
2875                     <NTHL TEMP16 1 = TEMP22>
2876                     <VEQUAL? TEMP22 V5 + TAG19>
2877                     <DEAD TEMP22>
2878                     <RESTL TEMP16 1 = TEMP16 (TYPE LIST)>
2879                     <EMPL? TEMP16 - TAG20>
2880                     <JUMP + PHRASE14>
2881 TAG19
2882                     <CONS V5 L19 = L19>
2883 PHRASE14
2884                     <NTHUV V5 1 = V5>
2885                     <JUMP + AGAIN10>
2886                     <END \1aKILL-REM>
2887 #WORD *4013752212*
2888 <GFCN \1aSAVE-SURVIVORS ("VALUE" <OR FALSE <LIST ANY ATOM> SYMTAB> <LIST [REST <LIST SYMTAB LIST>]> <LIST [REST SYMTAB]> "OPTIONAL" ANY) LS6 LI7 FLG8>
2889                     <OPT-DISPATCH 2 %<> OPT4 OPT5>
2890 OPT4
2891                     <PUSH %<>>
2892 OPT5
2893                     <TEMP TEMP18 TEMP15:LIST LL20:LIST TEMP26 TEMP27:LIST>
2894                     <INTGO>
2895                     <SET TEMP18 %<> (TYPE FALSE)>
2896                     <SET TEMP15 LS6 (TYPE LIST)>
2897                     <DEAD LS6>
2898                     <LOOP>
2899 MAP10
2900                     <INTGO>
2901                     <EMPL? TEMP15 + MAPAP13>
2902                     <NTHL TEMP15 1 = LL20>
2903                     <NTHL LL20 1 = TEMP26 (TYPE SYMTAB)>
2904                     <SET TEMP27 LI7>
2905                     <EMPL? TEMP27 + PHRASE22>
2906                     <LOOP (TEMP26 VALUE) (TEMP27 VALUE)>
2907 TAG24
2908                     <NTHL TEMP27 1 = TEMP18>
2909                     <VEQUAL? TEMP18 TEMP26 + TAG23>
2910                     <DEAD TEMP18>
2911                     <RESTL TEMP27 1 = TEMP27 (TYPE LIST)>
2912                     <EMPL? TEMP27 - TAG24>
2913                     <JUMP + PHRASE22>
2914 TAG23
2915                     <SET TEMP18 %<> (TYPE FALSE)>
2916                     <RESTL LL20 1 = TEMP26 (TYPE LIST)>
2917                     <DEAD LL20>
2918                     <NTHL TEMP26 1 = TEMP26>
2919                     <LOOP>
2920 MAP30
2921                     <INTGO>
2922                     <EMPTY? TEMP26 + PHRASE41>
2923                     <NTH1 TEMP26 = TEMP18>
2924                     <NTHUV TEMP18 7 = TEMP18 (TYPE LIST)>
2925                     <RESTL TEMP18 1 = LL20 (TYPE LIST)>
2926                     <PUTL LL20 1 'T>
2927                     <DEAD LL20>
2928                     <REST1 TEMP26 = TEMP26>
2929                     <JUMP + MAP30>
2930 PHRASE22
2931                     <SET TEMP18 FLG8>
2932                     <TYPE? TEMP18 <TYPE-CODE FALSE> + PHRASE41>
2933                     <NTHL LL20 1 = TEMP26 (TYPE SYMTAB)>
2934                     <RESTL LL20 1 = LL20 (TYPE LIST)>
2935                     <NTHL LL20 1 = LL20 (TYPE LIST)>
2936                     <PUTUV TEMP26 16 LL20 (TYPE LIST)>
2937                     <DEAD LL20>
2938                     <SET TEMP18 TEMP26>
2939                     <DEAD TEMP26>
2940 PHRASE41
2941                     <RESTL TEMP15 1 = TEMP15 (TYPE LIST)>
2942                     <JUMP + MAP10>
2943 MAPAP13
2944                     <RETURN TEMP18>
2945                     <DEAD TEMP18>
2946                     <END \1aSAVE-SURVIVORS>
2947 #WORD *11723137516*
2948 <GFCN \1aREVIVE ("VALUE" <OR FALSE NODE> NODE SYMTAB) NOD4 SYM5>
2949                     <TEMP L6 TEMP11 TEMP27>
2950                     <INTGO>
2951                     <NTHUV SYM5 16 = L6 (TYPE LIST)>
2952                     <NTHUV SYM5 3 = TEMP11>
2953                     <TYPE? TEMP11 <TYPE-CODE FALSE> + TAG12>
2954                     <DEAD TEMP11>
2955                     <RETURN %<>>
2956 TAG12
2957                     <NTHUV SYM5 4 = TEMP11 (TYPE FIX)>
2958                     <VEQUAL? TEMP11 -1 - TAG13 (TYPE FIX)>
2959                     <DEAD TEMP11>
2960                     <RETURN %<>>
2961 TAG13
2962                     <EMPL? L6 - PHRASE17 (TYPE LIST)>
2963                     <PUSH SYM5>
2964                     <SET L6 1 (TYPE FIX)>
2965                     <GEN-LVAL 'LIFE = TEMP11>
2966                     <TYPE TEMP11 = TEMP27>
2967                     <AND TEMP27 7 = TEMP27>
2968                     <VEQUAL? TEMP27 1 + TAG23>
2969                     <DEAD TEMP27>
2970                     <LOOP (TEMP11 TYPE VALUE LENGTH) (L6 VALUE)>
2971 TAG29
2972                     <INTGO>
2973                     <EMPTY? TEMP11 + TAG28>
2974                     <NTH1 TEMP11 = STACK>
2975                     <REST1 TEMP11 = TEMP11>
2976                     <ADD L6 1 = L6 (TYPE FIX)>
2977                     <JUMP + TAG29>
2978 TAG28
2979                     <LIST L6 = TEMP11 (TYPE LIST)>
2980                     <DEAD L6>
2981                     <JUMP + TAG25>
2982 TAG23
2983                     <LOOP>
2984 TAG26
2985                     <VEQUAL? L6 0 + TAG25>
2986                     <POP = TEMP27>
2987                     <CONS TEMP27 TEMP11 = TEMP11 (TYPE LIST)>
2988                     <DEAD TEMP27>
2989                     <SUB L6 1 = L6 (TYPE FIX)>
2990                     <JUMP + TAG26>
2991 TAG25
2992                     <GEN-SET 'LIFE TEMP11>
2993                     <DEAD TEMP11>
2994                     <JUMP + MAPAP37>
2995 PHRASE17
2996                     <SET TEMP11 L6 (TYPE LIST)>
2997                     <DEAD L6>
2998                     <LOOP>
2999 MAP34
3000                     <INTGO>
3001                     <EMPL? TEMP11 + MAPAP37>
3002                     <NTHL TEMP11 1 = L6>
3003                     <NTHUV L6 7 = TEMP27 (TYPE LIST)>
3004                     <DEAD L6>
3005                     <RESTL TEMP27 1 = L6 (TYPE LIST)>
3006                     <DEAD TEMP27>
3007                     <PUTL L6 1 'T>
3008                     <DEAD L6>
3009                     <RESTL TEMP11 1 = TEMP11 (TYPE LIST)>
3010                     <JUMP + MAP34>
3011 MAPAP37
3012                     <CONS NOD4 () = L6>
3013                     <PUTUV SYM5 16 L6 (TYPE LIST)>
3014                     <DEAD SYM5 L6>
3015                     <CONS %<> () = L6>
3016                     <CONS %<> L6 = L6>
3017                     <PUTUV NOD4 7 L6 (TYPE LIST)>
3018                     <DEAD L6>
3019                     <RETURN NOD4>
3020                     <DEAD NOD4>
3021                     <END \1aREVIVE>
3022 " Ananlyze a FORM that could really be an NTH."
3023
3024 #WORD *21131610712*
3025 <GFCN \1aFORM-F-ANA ("VALUE" ANY NODE ANY) NOD4 RTYP5>
3026                     <TEMP K6:LIST OBJ7 TYP8 TEMP13 TEMP14>
3027                     <INTGO>
3028                     <NTHUV NOD4 5 = K6 (TYPE LIST)>
3029                     <NTHUV NOD4 4 = OBJ7>
3030                     <FRAME '\1aISTYPE?>
3031                     <FRAME '\1aANA>
3032                     <NTHL K6 1 = STACK (TYPE NODE)>
3033                     <PUSH 'APPLICABLE>
3034                     <CALL '\1aANA 2 = TYP8>
3035                     <PUSH TYP8>
3036                     <CALL '\1aISTYPE? 1 = TEMP13>
3037                     <VEQUAL? TEMP13 'FIX - PHRASE10>
3038                     <DEAD TEMP13>
3039                     <RESTL K6 1 = TEMP14 (TYPE LIST)>
3040                     <RESTL TEMP14 1 = TEMP13 (TYPE LIST)>
3041                     <DEAD TEMP14>
3042                     <NTHL K6 1 = TEMP14 (TYPE NODE)>
3043                     <CONS TEMP14 TEMP13 = TEMP13>
3044                     <DEAD TEMP14>
3045                     <RESTL K6 1 = TEMP14 (TYPE LIST)>
3046                     <NTHL TEMP14 1 = TEMP14 (TYPE NODE)>
3047                     <CONS TEMP14 TEMP13 = TEMP13>
3048                     <DEAD TEMP14>
3049                     <PUTUV NOD4 5 TEMP13 (TYPE LIST)>
3050                     <DEAD TEMP13>
3051                     <EMPL? K6 + PHRASE16>
3052                     <RESTL K6 1 = TEMP13 (TYPE LIST)>
3053                     <EMPL? TEMP13 + PHRASE16>
3054                     <RESTL TEMP13 1 = TEMP13 (TYPE LIST)>
3055                     <EMPL? TEMP13 - PHRASE16>
3056                     <DEAD TEMP13>
3057                     <FRAME '\1aNTH-REST-ANA>
3058                     <PUSH NOD4>
3059                     <PUSH RTYP5>
3060                     <DEAD RTYP5>
3061                     <PUSH 27>
3062                     <PUSH TYP8>
3063                     <DEAD TYP8>
3064                     <CALL '\1aNTH-REST-ANA 4 = RTYP5>
3065                     <JUMP + PHRASE18>
3066 PHRASE16
3067                     <FRAME '\1aPUT-ANA>
3068                     <PUSH NOD4>
3069                     <PUSH RTYP5>
3070                     <DEAD RTYP5>
3071                     <PUSH 29>
3072                     <CALL '\1aPUT-ANA 3 = RTYP5>
3073 PHRASE18
3074                     <NTHUV NOD4 1 = TEMP13 (TYPE FIX)>
3075                     <PUTUV NOD4 9 TEMP13>
3076                     <DEAD TEMP13>
3077                     <PUTUV NOD4 5 K6 (TYPE LIST)>
3078                     <DEAD K6>
3079                     <PUTUV NOD4 4 OBJ7>
3080                     <DEAD OBJ7>
3081                     <PUTUV NOD4 1 74 (TYPE FIX)>
3082                     <DEAD NOD4>
3083                     <RETURN RTYP5>
3084                     <DEAD RTYP5>
3085 PHRASE10
3086                     <FRAME '\1aSPECIALIZE>
3087                     <NTHUV NOD4 4 = STACK>
3088                     <CALL '\1aSPECIALIZE 1>
3089                     <FRAME '\1aSPEC-FLUSH>
3090                     <CALL '\1aSPEC-FLUSH 0>
3091                     <FRAME '\1aPUT-FLUSH>
3092                     <PUSH 'ALL>
3093                     <CALL '\1aPUT-FLUSH 1>
3094                     <CONS 'ALL () = TEMP14>
3095                     <PUTUV NOD4 8 TEMP14>
3096                     <DEAD TEMP14>
3097                     <FRAME '\1aTYPE-OK?>
3098                     <NTHUV NOD4 3 = STACK>
3099                     <DEAD NOD4>
3100                     <PUSH RTYP5>
3101                     <DEAD RTYP5>
3102                     <CALL '\1aTYPE-OK? 2 = TEMP13>
3103                     <RETURN TEMP13>
3104                     <DEAD TEMP13>
3105                     <END \1aFORM-F-ANA>
3106 " Further analyze a FORM."
3107
3108 #WORD *10113446137*
3109 <GFCN \1aANONFFORM-AN1 ("VALUE" ANY NODE ANY) N4 R5>
3110                     <TEMP TEMP8 TEMP9:FIX>
3111                     <INTGO>
3112                     <FRAME '\1aSPEC-FLUSH>
3113                     <CALL '\1aSPEC-FLUSH 0>
3114                     <FRAME '\1aPUT-FLUSH>
3115                     <PUSH 'ALL>
3116                     <CALL '\1aPUT-FLUSH 1>
3117                     <CONS 'ALL () = TEMP8>
3118                     <LENUV N4 = TEMP9 (TYPE FIX)>
3119                     <LESS? TEMP9 8 + COMPERR (TYPE FIX)>
3120                     <DEAD TEMP9>
3121                     <PUTUV N4 8 TEMP8>
3122                     <DEAD TEMP8>
3123                     <FRAME '\1aTYPE-OK?>
3124                     <NTHUV N4 3 = STACK>
3125                     <DEAD N4>
3126                     <PUSH R5>
3127                     <DEAD R5>
3128                     <CALL '\1aTYPE-OK? 2 = TEMP8>
3129                     <RETURN TEMP8>
3130                     <DEAD TEMP8>
3131                     <END \1aANONFFORM-AN1>
3132                     <GFCN \1aFORM-AN ("VALUE" ANY NODE ANY) NOD5 RTYP6>
3133                     <TEMP TEMP9>
3134                     <INTGO>
3135                     <FRAME>
3136                     <FRAME '\1aGETPROP>
3137                     <NTHUV NOD5 9 = STACK>
3138                     <PUSH 'ANALYSIS>
3139                     <CALL '\1aGETPROP 2 = TEMP9>
3140                     <TYPE? TEMP9 <TYPE-CODE FALSE> - BOOL8>
3141                     <FRAME '\1aGETPROP>
3142                     <FRAME '\1aTYPE>
3143                     <NTHUV NOD5 9 = STACK>
3144                     <CALL '\1aTYPE 1 = STACK>
3145                     <PUSH 'TANALYSIS>
3146                     <CALL '\1aGETPROP 2 = TEMP9>
3147                     <TYPE? TEMP9 <TYPE-CODE FALSE> - BOOL8>
3148                     <GVAL 'ANONFFORM-AN1 = TEMP9>
3149 BOOL8
3150                     <PUSH NOD5>
3151                     <DEAD NOD5>
3152                     <PUSH RTYP6>
3153                     <DEAD RTYP6>
3154                     <ACALL TEMP9 2 = TEMP9>
3155                     <RETURN TEMP9>
3156                     <DEAD TEMP9>
3157                     <END \1aFORM-AN>\r\r
3158 "Determine if an ATOM is mainfest."
3159
3160 #WORD *25776244411*
3161 <GFCN \1aMANIFESTQ ("VALUE" <OR ATOM FALSE> ATOM) ATM4>
3162                     <TEMP TEMP6>
3163                     <INTGO>
3164                     <FRAME '\1aMANIFEST?>
3165                     <PUSH ATM4>
3166                     <CALL '\1aMANIFEST? 1 = TEMP6>
3167                     <TYPE? TEMP6 <TYPE-CODE FALSE> + TAG12>
3168                     <NTHR ATM4 1 = TEMP6 (RECORD-TYPE ATOM) (BRANCH-FALSE + TAG9)>
3169                     <TYPE? TEMP6 <TYPE-CODE FALSE> + TAG9>
3170                     <NTHR TEMP6 1 = TEMP6 (RECORD-TYPE GBIND)>
3171                     <TYPE? TEMP6 <TYPE-CODE UNBOUND> - TAG8>
3172                     <DEAD TEMP6>
3173 TAG9
3174                     <RETURN %<>>
3175 TAG8
3176                     <GVAL ATM4 = TEMP6>
3177                     <DEAD ATM4>
3178                     <TYPE? TEMP6 <TYPE-CODE MSUBR> - TAG11>
3179                     <DEAD TEMP6>
3180                     <RETURN %<>>
3181 TAG11
3182                     <SET TEMP6 'T (TYPE ATOM)>
3183 TAG12
3184                     <RETURN TEMP6>
3185                     <DEAD TEMP6>
3186                     <END \1aMANIFESTQ>
3187 " Search for a decl associated with a local value."
3188
3189 #WORD *13154210207*
3190 <GFCN \1aSRCH-SYM ("VALUE" <OR !<FALSE> <<PRIMTYPE VECTOR> ANY ATOM>> ATOM) ATM4>
3191                     <TEMP TEMP6 TEMP17:ATOM>
3192                     <INTGO>
3193                     <GEN-LVAL 'VARTBL = TEMP6>
3194                     <LOOP>
3195 AGAIN12
3196                     <INTGO>
3197                     <EMPUV? TEMP6 - PHRASE14>
3198                     <RETURN %<>>
3199 PHRASE14
3200                     <NTHUV TEMP6 2 = TEMP17 (TYPE ATOM)>
3201                     <VEQUAL? TEMP17 ATM4 - PHRASE16>
3202                     <DEAD TEMP17>
3203                     <RETURN TEMP6>
3204                     <DEAD TEMP6>
3205 PHRASE16
3206                     <NTHUV TEMP6 1 = TEMP6>
3207                     <JUMP + AGAIN12>
3208                     <END \1aSRCH-SYM>
3209 " Here to flush decls of specials for an external function call."
3210
3211 #WORD *16354624505*
3212 <GFCN \1aSPEC-FLUSH ("VALUE" ATOM)>
3213                     <TEMP TEMP5:ATOM>
3214                     <INTGO>
3215                     <FRAME '\1aFLUSHER>
3216                     <PUSH %<>>
3217                     <CALL '\1aFLUSHER 1 = TEMP5>
3218                     <RETURN TEMP5>
3219                     <DEAD TEMP5>
3220                     <END \1aSPEC-FLUSH>
3221 " Here to flush decls when a PUT, PUTREST or external call happens."
3222
3223 #WORD *27615676341*
3224 <GFCN \1aPUT-FLUSH ("VALUE" ATOM ANY) TYP4>
3225                     <TEMP TEMP6:ATOM>
3226                     <INTGO>
3227                     <FRAME '\1aFLUSHER>
3228                     <PUSH TYP4>
3229                     <DEAD TYP4>
3230                     <CALL '\1aFLUSHER 1 = TEMP6>
3231                     <RETURN TEMP6>
3232                     <DEAD TEMP6>
3233                     <END \1aPUT-FLUSH>
3234 #WORD *10672521264*
3235 <GFCN \1aFLUSHER ("VALUE" ATOM ANY) FLSFLG4>
3236                     <TEMP TEMP6 TEMP11 CT18 TEMP25>
3237                     <INTGO>
3238                     <GEN-LVAL 'VARTBL = TEMP6>
3239                     <GEN-LVAL 'ANALY-OK = TEMP11>
3240                     <TYPE? TEMP11 <TYPE-CODE FALSE> + PHRASE10>
3241                     <DEAD TEMP11>
3242                     <LOOP>
3243 AGAIN19
3244                     <INTGO>
3245                     <SET TEMP11 TEMP6>
3246                     <NTHUV TEMP11 17 = CT18>
3247                     <TYPE? CT18 <TYPE-CODE FALSE> + PHRASE21>
3248                     <NTHUV TEMP11 3 = TEMP25>
3249                     <TYPE? TEMP25 <TYPE-CODE FALSE> + BOOL24>
3250                     <DEAD TEMP25>
3251                     <TYPE? FLSFLG4 <TYPE-CODE FALSE> + BOOL28>
3252 BOOL24
3253                     <TYPE? FLSFLG4 <TYPE-CODE FALSE> + PHRASE21>
3254                     <EQUAL? CT18 'NO-RETURN + PHRASE21>
3255                     <EQUAL? CT18 'BOOL-FALSE + PHRASE21>
3256                     <EQUAL? CT18 'BOOLEAN + PHRASE21>
3257                     <EQUAL? CT18 'BOOL-TRUE + PHRASE21>
3258                     <DEAD CT18>
3259                     <FRAME '\1aTYPE-OK?>
3260                     <NTHUV TEMP6 17 = STACK>
3261                     <PUSH <STRUCTURED ANY>>
3262                     <CALL '\1aTYPE-OK? 2 = TEMP25>
3263                     <TYPE? TEMP25 <TYPE-CODE FALSE> + PHRASE21>
3264                     <DEAD TEMP25>
3265                     <EQUAL? FLSFLG4 'ALL + BOOL28>
3266                     <FRAME '\1aSTRUCTYP>
3267                     <NTHUV TEMP6 17 = STACK>
3268                     <CALL '\1aSTRUCTYP 1 = CT18>
3269                     <TYPE? CT18 <TYPE-CODE FALSE> + BOOL28>
3270                     <EQUAL? CT18 FLSFLG4 - PHRASE21>
3271                     <DEAD CT18>
3272 BOOL28
3273                     <FRAME '\1aSET-CURRENT-TYPE>
3274                     <PUSH TEMP11>
3275                     <FRAME '\1aFLUSH-FIX-TYPE>
3276                     <PUSH TEMP11>
3277                     <NTHUV TEMP11 17 = STACK>
3278                     <DEAD TEMP11>
3279                     <PUSH FLSFLG4>
3280                     <CALL '\1aFLUSH-FIX-TYPE 3 = STACK>
3281                     <CALL '\1aSET-CURRENT-TYPE 2>
3282 PHRASE21
3283                     <NTHUV TEMP6 1 = TEMP6>
3284                     <EMPUV? TEMP6 - AGAIN19>
3285                     <RETURN 'T>
3286 PHRASE10
3287                     <LOOP>
3288 AGAIN37
3289                     <INTGO>
3290                     <NTHUV TEMP6 1 = TEMP6>
3291                     <EMPUV? TEMP6 - AGAIN37>
3292                     <RETURN 'T>
3293                     <END \1aFLUSHER>
3294 #WORD *15222311316*
3295 <GFCN \1aFLUSH-FIX-TYPE ("VALUE" ANY SYMTAB ANY ANY) SYM4 TY5 FLG6>
3296                     <TEMP TEM7>
3297                     <INTGO>
3298                     <TYPE? FLG6 <TYPE-CODE FALSE> + BOOL10>
3299                     <DEAD FLG6>
3300                     <FRAME '\1aTOP-TYPE>
3301                     <FRAME '\1aTYPE-OK?>
3302                     <PUSH TY5>
3303                     <PUSH 'STRUCTURED>
3304                     <CALL '\1aTYPE-OK? 2 = STACK>
3305                     <CALL '\1aTOP-TYPE 1 = TEM7>
3306                     <TYPE? TEM7 <TYPE-CODE FALSE> + BOOL10>
3307                     <FRAME '\1aTYPE-OK?>
3308                     <FRAME '\1aTYPE-OK?>
3309                     <PUSH TY5>
3310                     <DEAD TY5>
3311                     <PUSH <NOT STRUCTURED>>
3312                     <CALL '\1aTYPE-OK? 2 = TY5>
3313                     <TYPE? TY5 <TYPE-CODE FALSE> + PHRASE15>
3314                     <FRAME '\1aTYPE-MERGE>
3315                     <PUSH TEM7>
3316                     <DEAD TEM7>
3317                     <PUSH TY5>
3318                     <DEAD TY5>
3319                     <CALL '\1aTYPE-MERGE 2 = TEM7>
3320 PHRASE15
3321                     <PUSH TEM7>
3322                     <DEAD TEM7>
3323                     <NTHUV SYM4 7 = STACK>
3324                     <CALL '\1aTYPE-OK? 2 = TEM7>
3325                     <TYPE? TEM7 <TYPE-CODE FALSE> - BOOL8>
3326 BOOL10
3327                     <NTHUV SYM4 7 = TEM7>
3328                     <DEAD SYM4>
3329 BOOL8
3330                     <RETURN TEM7>
3331                     <DEAD TEM7>
3332                     <END \1aFLUSH-FIX-TYPE>
3333 " Punt forms with segments in them."
3334
3335 #WORD *21616245234*
3336 <GFCN \1aSEGFLUSH ("VALUE" ANY NODE ANY) NOD4 RTYP5>
3337                     <TEMP L11:LIST TEMP8>
3338                     <INTGO>
3339                     <NTHUV NOD4 5 = L11 (TYPE LIST)>
3340                     <LOOP>
3341 AGAIN12
3342                     <INTGO>
3343                     <EMPL? L11 - BOOL13 (TYPE LIST)>
3344                     <SET TEMP8 %<> (TYPE FALSE)>
3345                     <JUMP + EXIT9>
3346 BOOL13
3347                     <NTHL L11 1 = TEMP8 (TYPE NODE)>
3348                     <NTHUV TEMP8 1 = TEMP8 (TYPE FIX)>
3349                     <VEQUAL? TEMP8 3 - BOOL14 (TYPE FIX)>
3350                     <DEAD TEMP8>
3351                     <SET TEMP8 'T (TYPE ATOM)>
3352                     <JUMP + EXIT9>
3353 BOOL14
3354                     <RESTL L11 1 = L11 (TYPE LIST)>
3355                     <JUMP + AGAIN12>
3356 EXIT9
3357                     <VEQUAL? TEMP8 0 + PHRASE7>
3358                     <GEN-LVAL 'VERBOSE = TEMP8>
3359                     <TYPE? TEMP8 <TYPE-CODE FALSE> + PHRASE17>
3360                     <DEAD TEMP8>
3361                     <FRAME '\1aADDVMESS>
3362                     <PUSH NOD4>
3363                     <CONS "Not open compiled due to SEGMENT." () = STACK>
3364                     <CALL '\1aADDVMESS 2>
3365 PHRASE17
3366                     <FRAME '\1aSUBR-C-AN>
3367                     <PUSH NOD4>
3368                     <DEAD NOD4>
3369                     <PUSH RTYP5>
3370                     <DEAD RTYP5>
3371                     <CALL '\1aSUBR-C-AN 2 = TEMP8>
3372 PHRASE7
3373                     <RETURN TEMP8>
3374                     <DEAD TEMP8>
3375                     <END \1aSEGFLUSH>
3376 " Determine if the arg to STACKFORM is a SUBR."
3377
3378 #WORD *37004414543*
3379 <GFCN \1aAPPLTYP ("VALUE" <OR ATOM FORM> NODE) NOD4>
3380                     <TEMP NT5 TT7>
3381                     <INTGO>
3382                     <NTHUV NOD4 1 = NT5 (TYPE FIX)>
3383                     <VEQUAL? NT5 66 - PHRASE9 (TYPE FIX)>
3384                     <DEAD NT5>
3385                     <NTHUV NOD4 5 = NT5 (TYPE LIST)>
3386                     <DEAD NOD4>
3387                     <NTHL NT5 1 = TT7 (TYPE NODE)>
3388                     <DEAD NT5>
3389                     <NTHUV TT7 1 = NT5 (TYPE FIX)>
3390                     <VEQUAL? NT5 2 - PHRASE11 (TYPE FIX)>
3391                     <DEAD NT5>
3392                     <NTHUV TT7 4 = TT7 (TYPE ATOM)>
3393                     <NTHR TT7 1 = NT5 (RECORD-TYPE ATOM) (BRANCH-FALSE + PHRASE11)>
3394                     <TYPE? NT5 <TYPE-CODE FALSE> + PHRASE11>
3395                     <NTHR NT5 1 = NT5 (RECORD-TYPE GBIND)>
3396                     <TYPE? NT5 <TYPE-CODE UNBOUND> + PHRASE11>
3397                     <DEAD NT5>
3398                     <GVAL TT7 = NT5>
3399                     <TYPE? NT5 <TYPE-CODE MSUBR> - PHRASE11>
3400                     <DEAD NT5>
3401                     <FRAME '\1aSUBR-TYPE>
3402                     <GVAL TT7 = STACK>
3403                     <DEAD TT7>
3404                     <CALL '\1aSUBR-TYPE 1 = NT5>
3405                     <RETURN NT5>
3406                     <DEAD NT5>
3407 PHRASE11
3408                     <RETURN 'ANY>
3409 PHRASE9
3410                     <RETURN 'ANY>
3411                     <END \1aAPPLTYP>
3412 " Return type returned by a SUBR."
3413
3414 #WORD *5143337320*
3415 <GFCN \1aSUBR-TYPE ("VALUE" <OR ATOM FORM> MSUBR) SUB4>
3416                     <TEMP TEMP7>
3417                     <INTGO>
3418                     <FRAME '\1aGET-TMP>
3419                     <PUSH SUB4>
3420                     <DEAD SUB4>
3421                     <CALL '\1aGET-TMP 1 = TEMP7>
3422                     <RESTL TEMP7 1 = TEMP7 (TYPE LIST)>
3423                     <NTHL TEMP7 1 = TEMP7>
3424                     <TYPE? TEMP7 <TYPE-CODE ATOM> + TAG10>
3425                     <TYPE? TEMP7 <TYPE-CODE FORM> - PHRASE9>
3426 TAG10
3427                     <RETURN TEMP7>
3428                     <DEAD TEMP7>
3429 PHRASE9
3430                     <RETURN 'ANY>
3431                     <END \1aSUBR-TYPE>
3432 " Access the SUBR data base for return type."
3433
3434 #WORD *34223560135*
3435 <GFCN \1aGET-TMP ("VALUE" <LIST [2 ANY]> ANY) SUB4>
3436                     <TEMP TEMP10:VECTOR TEMP11 TEMP12>
3437                     <INTGO>
3438                     <GVAL 'SUBRS = TEMP10>
3439                     <TYPE SUB4 = TEMP11>
3440                     <EMPUV? TEMP10 + TAG6>
3441                     <LOOP (SUB4 VALUE) (TEMP11 VALUE) (TEMP10 LENGTH VALUE)>
3442 TAG8
3443                     <NTHUV TEMP10 1 = TEMP12>
3444                     <TYPE? TEMP12 TEMP11 - TAG9>
3445                     <VEQUAL? TEMP12 SUB4 + TAG7>
3446                     <DEAD TEMP12>
3447 TAG9
3448                     <RESTUV TEMP10 1 = TEMP10 (TYPE VECTOR)>
3449                     <EMPUV? TEMP10 - TAG8>
3450 TAG6
3451                     <SET TEMP11 %<> (TYPE FALSE)>
3452                     <JUMP + TAG13>
3453 TAG7
3454                     <SET TEMP11 TEMP10>
3455                     <DEAD TEMP10>
3456 TAG13
3457                     <VEQUAL? TEMP11 0 + PHRASE15>
3458                     <GVAL 'TEMPLATES = TEMP10>
3459                     <LENUV TEMP11 = TEMP11 (TYPE FIX)>
3460                     <NTHUV TEMP10 TEMP11 = TEMP11 (TYPE LIST)>
3461                     <DEAD TEMP10>
3462                     <RETURN TEMP11>
3463                     <DEAD TEMP11>
3464 PHRASE15
3465                     <RETURN (ANY ANY)>
3466                     <END \1aGET-TMP>
3467 " GVAL analyzer."
3468
3469 #WORD *32256746400*
3470 <GFCN \1aGVAL-ANA ("VALUE" ANY NODE ANY) NOD4 RTYP5>
3471                     <TEMP K6 LN7:FIX TEMP12>
3472                     <INTGO>
3473                     <NTHUV NOD4 5 = K6 (TYPE LIST)>
3474                     <LENL K6 = LN7 (TYPE FIX)>
3475                     <FRAME '\1aSEGFLUSH>
3476                     <PUSH NOD4>
3477                     <PUSH RTYP5>
3478                     <CALL '\1aSEGFLUSH 2 = TEMP12>
3479                     <TYPE? TEMP12 <TYPE-CODE FALSE> - PHRASE36>
3480                     <FRAME '\1aARGCHK>
3481                     <PUSH LN7>
3482                     <DEAD LN7>
3483                     <PUSH 1>
3484                     <PUSH 'GVAL>
3485                     <PUSH NOD4>
3486                     <CALL '\1aARGCHK 4>
3487                     <PUTUV NOD4 1 33 (TYPE FIX)>
3488                     <FRAME '\1aEANA>
3489                     <NTHL K6 1 = STACK (TYPE NODE)>
3490                     <PUSH 'ATOM>
3491                     <PUSH 'GVAL>
3492                     <CALL '\1aEANA 3>
3493                     <NTHL K6 1 = K6 (TYPE NODE)>
3494                     <NTHUV K6 1 = TEMP12 (TYPE FIX)>
3495                     <VEQUAL? TEMP12 2 - PHRASE18 (TYPE FIX)>
3496                     <DEAD TEMP12>
3497                     <NTHUV K6 3 = TEMP12>
3498                     <EQUAL? TEMP12 'ATOM - PHRASE18>
3499                     <DEAD TEMP12>
3500                     <PUTUV NOD4 1 66 (TYPE FIX)>
3501                     <FRAME '\1aMANIFEST?>
3502                     <NTHUV K6 4 = K6>
3503                     <PUSH K6>
3504                     <CALL '\1aMANIFEST? 1 = TEMP12>
3505                     <TYPE? TEMP12 <TYPE-CODE FALSE> + PHRASE22>
3506                     <DEAD TEMP12>
3507                     <PUTUV NOD4 1 2 (TYPE FIX)>
3508                     <GVAL K6 = TEMP12>
3509                     <PUTUV NOD4 4 TEMP12>
3510                     <DEAD TEMP12>
3511                     <PUTUV NOD4 5 () (TYPE LIST)>
3512                     <DEAD NOD4>
3513                     <FRAME '\1aTYPE-OK?>
3514                     <FRAME '\1aGEN-DECL>
3515                     <GVAL K6 = STACK>
3516                     <DEAD K6>
3517                     <CALL '\1aGEN-DECL 1 = STACK>
3518                     <PUSH RTYP5>
3519                     <DEAD RTYP5>
3520                     <CALL '\1aTYPE-OK? 2 = TEMP12>
3521                     <RETURN TEMP12>
3522                     <DEAD TEMP12>
3523 PHRASE22
3524                     <NTHR K6 1 = TEMP12 (RECORD-TYPE ATOM) (BRANCH-FALSE + PHRASE26)>
3525                     <TYPE? TEMP12 <TYPE-CODE FALSE> + PHRASE26>
3526                     <DEAD TEMP12>
3527                     <NTHR 'GLOC 1 = TEMP12 (RECORD-TYPE ATOM) (BRANCH-FALSE + PHRASE29)>
3528                     <TYPE? TEMP12 <TYPE-CODE FALSE> + PHRASE29>
3529                     <NTHR TEMP12 1 = TEMP12 (RECORD-TYPE GBIND)>
3530                     <TYPE? TEMP12 <TYPE-CODE UNBOUND> + PHRASE29>
3531                     <DEAD TEMP12>
3532                     <FRAME '\1aGET-DECL>
3533                     <FRAME '\1aGLOC>
3534                     <PUSH K6>
3535                     <DEAD K6>
3536                     <CALL '\1aGLOC 1 = STACK>
3537                     <CALL '\1aGET-DECL 1 = K6>
3538                     <TYPE? K6 <TYPE-CODE FALSE> + PHRASE26>
3539                     <JUMP + PHRASE32>
3540 PHRASE29
3541                     <NTHR K6 1 = TEMP12 (RECORD-TYPE ATOM)>
3542                     <DEAD K6>
3543                     <NTHR TEMP12 3 = K6 (RECORD-TYPE GBIND)>
3544                     <DEAD TEMP12>
3545                     <TYPE? K6 <TYPE-CODE FALSE> + PHRASE26>
3546 PHRASE32
3547                     <FRAME '\1aTYPE-OK?>
3548                     <PUSH K6>
3549                     <DEAD K6>
3550                     <PUSH RTYP5>
3551                     <DEAD RTYP5>
3552                     <CALL '\1aTYPE-OK? 2 = TEMP12>
3553                     <RETURN TEMP12>
3554                     <DEAD TEMP12>
3555 PHRASE26
3556                     <FRAME '\1aTYPE-OK?>
3557                     <PUSH 'ANY>
3558                     <PUSH RTYP5>
3559                     <DEAD RTYP5>
3560                     <CALL '\1aTYPE-OK? 2 = TEMP12>
3561                     <RETURN TEMP12>
3562                     <DEAD TEMP12>
3563 PHRASE18
3564                     <FRAME '\1aTYPE-OK?>
3565                     <PUSH 'ANY>
3566                     <PUSH RTYP5>
3567                     <DEAD RTYP5>
3568                     <CALL '\1aTYPE-OK? 2 = TEMP12>
3569 PHRASE36
3570                     <RETURN TEMP12>
3571                     <DEAD TEMP12>
3572                     <END \1aGVAL-ANA>
3573 <COND (<GASSIGNED? GVAL-ANA> <PUTPROP ,GVAL ANALYSIS ,GVAL-ANA>)>
3574
3575 #WORD *30767275324*
3576 <GFCN \1aGASSIGNED?-ANA ("VALUE" ANY NODE ANY) NOD4 RTYP5>
3577                     <TEMP K6:LIST LN7:FIX NM8 TEMP11>
3578                     <INTGO>
3579                     <NTHUV NOD4 5 = K6 (TYPE LIST)>
3580                     <LENL K6 = LN7 (TYPE FIX)>
3581                     <NTHUV NOD4 4 = NM8>
3582                     <FRAME '\1aSEGFLUSH>
3583                     <PUSH NOD4>
3584                     <PUSH RTYP5>
3585                     <CALL '\1aSEGFLUSH 2 = TEMP11>
3586                     <TYPE? TEMP11 <TYPE-CODE FALSE> - PHRASE12>
3587                     <DEAD TEMP11>
3588                     <FRAME '\1aARGCHK>
3589                     <PUSH LN7>
3590                     <DEAD LN7>
3591                     <PUSH 1>
3592                     <PUSH NM8>
3593                     <PUSH NOD4>
3594                     <CALL '\1aARGCHK 4>
3595                     <PUTUV NOD4 1 92 (TYPE FIX)>
3596                     <DEAD NOD4>
3597                     <FRAME '\1aEANA>
3598                     <NTHL K6 1 = STACK (TYPE NODE)>
3599                     <DEAD K6>
3600                     <PUSH 'ATOM>
3601                     <PUSH NM8>
3602                     <DEAD NM8>
3603                     <CALL '\1aEANA 3>
3604 PHRASE12
3605                     <FRAME '\1aTYPE-OK?>
3606                     <PUSH <OR ATOM FALSE>>
3607                     <PUSH RTYP5>
3608                     <DEAD RTYP5>
3609                     <CALL '\1aTYPE-OK? 2 = TEMP11>
3610                     <RETURN TEMP11>
3611                     <DEAD TEMP11>
3612                     <END \1aGASSIGNED?-ANA>
3613 <COND (<GASSIGNED? GASSIGNED?-ANA> <PUTPROP ,GASSIGNED? ANALYSIS ,GASSIGNED?-ANA>)>
3614
3615 <COND (<AND <GASSIGNED? GBOUND?> <GASSIGNED? GASSIGNED?-ANA>> <PUTPROP ,GBOUND? ANALYSIS ,GASSIGNED?-ANA>)>
3616
3617 " Analyze SETG usage."
3618
3619 #WORD *13520535503*
3620 <GFCN \1aSETG-ANA ("VALUE" ANY NODE ANY) NOD4 RTYP5>
3621                     <TEMP K6:LIST LN7:FIX TEMP13 TEM8 TEMP20:FIX TEMP19>
3622                     <INTGO>
3623                     <NTHUV NOD4 5 = K6 (TYPE LIST)>
3624                     <LENL K6 = LN7 (TYPE FIX)>
3625                     <FRAME '\1aSEGFLUSH>
3626                     <PUSH NOD4>
3627                     <PUSH RTYP5>
3628                     <CALL '\1aSEGFLUSH 2 = TEMP13>
3629                     <TYPE? TEMP13 <TYPE-CODE FALSE> - PHRASE55>
3630                     <FRAME '\1aARGCHK>
3631                     <PUSH LN7>
3632                     <PUSH (2 3)>
3633                     <PUSH 'SETG>
3634                     <PUSH NOD4>
3635                     <CALL '\1aARGCHK 4>
3636                     <PUTUV NOD4 1 34 (TYPE FIX)>
3637                     <FRAME '\1aEANA>
3638                     <NTHL K6 1 = TEM8 (TYPE NODE)>
3639                     <PUSH TEM8>
3640                     <PUSH 'ATOM>
3641                     <PUSH 'SETG>
3642                     <CALL '\1aEANA 3>
3643                     <PUSH NOD4>
3644                     <SET TEMP20 1 (TYPE FIX)>
3645                     <NTHUV NOD4 8 = TEMP19>
3646                     <TYPE TEMP19 = TEMP13>
3647                     <AND TEMP13 7 = TEMP13>
3648                     <VEQUAL? TEMP13 1 + TAG22>
3649                     <DEAD TEMP13>
3650                     <LOOP (TEMP19 TYPE VALUE LENGTH) (TEMP20 VALUE)>
3651 TAG28
3652                     <INTGO>
3653                     <EMPTY? TEMP19 + TAG27>
3654                     <NTH1 TEMP19 = STACK>
3655                     <REST1 TEMP19 = TEMP19>
3656                     <ADD TEMP20 1 = TEMP20 (TYPE FIX)>
3657                     <JUMP + TAG28>
3658 TAG27
3659                     <LIST TEMP20 = TEMP19 (TYPE LIST)>
3660                     <DEAD TEMP20>
3661                     <JUMP + TAG24>
3662 TAG22
3663                     <LOOP>
3664 TAG25
3665                     <VEQUAL? TEMP20 0 + TAG24>
3666                     <POP = TEMP13>
3667                     <CONS TEMP13 TEMP19 = TEMP19 (TYPE LIST)>
3668                     <DEAD TEMP13>
3669                     <SUB TEMP20 1 = TEMP20 (TYPE FIX)>
3670                     <JUMP + TAG25>
3671 TAG24
3672                     <PUTUV NOD4 8 TEMP19>
3673                     <DEAD TEMP19>
3674                     <NTHUV TEM8 1 = TEMP19 (TYPE FIX)>
3675                     <VEQUAL? TEMP19 2 - PHRASE30 (TYPE FIX)>
3676                     <DEAD TEMP19>
3677                     <FRAME '\1aMANIFEST?>
3678                     <NTHUV TEM8 4 = TEMP13>
3679                     <DEAD TEM8>
3680                     <PUSH TEMP13>
3681                     <CALL '\1aMANIFEST? 1 = TEMP19>
3682                     <TYPE? TEMP19 <TYPE-CODE FALSE> + PHRASE32>
3683                     <DEAD TEMP19>
3684                     <FRAME '\1aCOMPILE-WARNING>
3685                     <PUSH "SETGing manifest GVAL?  ">
3686                     <PUSH TEMP13>
3687                     <PUSH NOD4>
3688                     <CALL '\1aCOMPILE-WARNING 3>
3689 PHRASE32
3690                     <PUTUV NOD4 1 67 (TYPE FIX)>
3691                     <NTHR TEMP13 1 = TEMP19 (RECORD-TYPE ATOM) (BRANCH-FALSE + PHRASE36)>
3692                     <TYPE? TEMP19 <TYPE-CODE FALSE> + PHRASE36>
3693                     <DEAD TEMP19>
3694                     <NTHR 'GLOC 1 = TEMP19 (RECORD-TYPE ATOM) (BRANCH-FALSE + PHRASE39)>
3695                     <TYPE? TEMP19 <TYPE-CODE FALSE> + PHRASE39>
3696                     <NTHR TEMP19 1 = TEMP19 (RECORD-TYPE GBIND)>
3697                     <TYPE? TEMP19 <TYPE-CODE UNBOUND> + PHRASE39>
3698                     <DEAD TEMP19>
3699                     <FRAME '\1aGET-DECL>
3700                     <FRAME '\1aGLOC>
3701                     <PUSH TEMP13>
3702                     <CALL '\1aGLOC 1 = STACK>
3703                     <CALL '\1aGET-DECL 1 = TEM8>
3704                     <TYPE? TEM8 <TYPE-CODE FALSE> + PHRASE36>
3705                     <JUMP + PHRASE42>
3706 PHRASE39
3707                     <NTHR TEMP13 1 = TEMP19 (RECORD-TYPE ATOM)>
3708                     <NTHR TEMP19 3 = TEM8 (RECORD-TYPE GBIND)>
3709                     <DEAD TEMP19>
3710                     <TYPE? TEM8 <TYPE-CODE FALSE> + PHRASE36>
3711 PHRASE42
3712                     <FRAME '\1aANA>
3713                     <RESTL K6 1 = TEMP19 (TYPE LIST)>
3714                     <NTHL TEMP19 1 = STACK (TYPE NODE)>
3715                     <DEAD TEMP19>
3716                     <PUSH TEM8>
3717                     <CALL '\1aANA 2 = TEMP19>
3718                     <TYPE? TEMP19 <TYPE-CODE FALSE> - PHRASE44>
3719                     <DEAD TEMP19>
3720                     <FRAME '\1aCOMPILE-ERROR>
3721                     <PUSH "GLOBAL declaration violation">
3722                     <PUSH TEMP13>
3723                     <DEAD TEMP13>
3724                     <PUSH NOD4>
3725                     <DEAD NOD4>
3726                     <CALL '\1aCOMPILE-ERROR 3>
3727 PHRASE44
3728                     <FRAME '\1aTYPE-OK?>
3729                     <PUSH TEM8>
3730                     <DEAD TEM8>
3731                     <PUSH RTYP5>
3732                     <DEAD RTYP5>
3733                     <CALL '\1aTYPE-OK? 2 = TEMP13>
3734                     <JUMP + PHRASE51>
3735 PHRASE36
3736                     <FRAME '\1aANA>
3737                     <RESTL K6 1 = TEMP19 (TYPE LIST)>
3738                     <NTHL TEMP19 1 = STACK (TYPE NODE)>
3739                     <DEAD TEMP19>
3740                     <PUSH 'ANY>
3741                     <CALL '\1aANA 2 = TEMP13>
3742                     <FRAME '\1aTYPE-OK?>
3743                     <PUSH TEMP13>
3744                     <DEAD TEMP13>
3745                     <PUSH RTYP5>
3746                     <DEAD RTYP5>
3747                     <CALL '\1aTYPE-OK? 2 = TEMP13>
3748                     <JUMP + PHRASE51>
3749 PHRASE30
3750                     <FRAME '\1aANA>
3751                     <RESTL K6 1 = TEMP19 (TYPE LIST)>
3752                     <NTHL TEMP19 1 = STACK (TYPE NODE)>
3753                     <DEAD TEMP19>
3754                     <PUSH 'ANY>
3755                     <CALL '\1aANA 2 = TEMP13>
3756                     <FRAME '\1aTYPE-OK?>
3757                     <PUSH TEMP13>
3758                     <DEAD TEMP13>
3759                     <PUSH RTYP5>
3760                     <DEAD RTYP5>
3761                     <CALL '\1aTYPE-OK? 2 = TEMP13>
3762 PHRASE51
3763                     <VEQUAL? LN7 3 - PHRASE55 (TYPE FIX)>
3764                     <DEAD LN7>
3765                     <FRAME '\1aEANA>
3766                     <RESTL K6 1 = TEMP19 (TYPE LIST)>
3767                     <DEAD K6>
3768                     <RESTL TEMP19 1 = TEMP19 (TYPE LIST)>
3769                     <NTHL TEMP19 1 = STACK (TYPE NODE)>
3770                     <DEAD TEMP19>
3771                     <PUSH 'ANY>
3772                     <PUSH 'SETG>
3773                     <CALL '\1aEANA 3>
3774 PHRASE55
3775                     <RETURN TEMP13>
3776                     <DEAD TEMP13>
3777                     <END \1aSETG-ANA>
3778 <COND (<GASSIGNED? SETG-ANA> <PUTPROP ,SETG ANALYSIS ,SETG-ANA>)>
3779
3780 #WORD *5651731043*
3781 <GFCN \1aBUILD-TYPE-LIST ("VALUE" LIST <OR VECTOR SYMTAB>) V4>
3782                     <TEMP TEMP7 L12:LIST LP13:LIST>
3783                     <INTGO>
3784                     <GEN-LVAL 'ANALY-OK = TEMP7>
3785                     <TYPE? TEMP7 <TYPE-CODE FALSE> + PHRASE6>
3786                     <DEAD TEMP7>
3787                     <CONS () () = L12>
3788                     <SET LP13 L12>
3789                     <LOOP>
3790 AGAIN15
3791                     <INTGO>
3792                     <EMPUV? V4 - PHRASE17>
3793                     <RESTL L12 1 = TEMP7 (TYPE LIST)>
3794                     <DEAD L12>
3795                     <RETURN TEMP7>
3796                     <DEAD TEMP7>
3797 PHRASE17
3798                     <NTHUV V4 4 = TEMP7 (TYPE FIX)>
3799                     <VEQUAL? TEMP7 -1 + PHRASE18 (TYPE FIX)>
3800                     <DEAD TEMP7>
3801                     <FRAME '\1aGET-CURRENT-TYPE>
3802                     <PUSH V4>
3803                     <CALL '\1aGET-CURRENT-TYPE 1 = TEMP7>
3804                     <CONS TEMP7 () = TEMP7>
3805                     <CONS V4 TEMP7 = TEMP7>
3806                     <CONS TEMP7 () = TEMP7>
3807                     <PUTREST LP13 TEMP7>
3808                     <DEAD LP13>
3809                     <SET LP13 TEMP7>
3810                     <DEAD TEMP7>
3811 PHRASE18
3812                     <NTHUV V4 1 = V4>
3813                     <JUMP + AGAIN15>
3814 PHRASE6
3815                     <RETURN ()>
3816                     <END \1aBUILD-TYPE-LIST>
3817 #WORD *17551505742*
3818 <GFCN \1aBUILD-MODIFIED-TYPE-LIST ("VALUE" LIST <OR VECTOR SYMTAB> LIST) V4 NL5>
3819                     <TEMP TEMP8 L13:LIST LP14:LIST TEM15 LL34:LIST TEMP37>
3820                     <INTGO>
3821                     <GEN-LVAL 'ANALY-OK = TEMP8>
3822                     <TYPE? TEMP8 <TYPE-CODE FALSE> + PHRASE7>
3823                     <DEAD TEMP8>
3824                     <CONS () () = L13>
3825                     <SET LP14 L13>
3826                     <LOOP>
3827 AGAIN16
3828                     <INTGO>
3829                     <EMPUV? V4 - PHRASE18>
3830                     <RESTL L13 1 = TEMP8 (TYPE LIST)>
3831                     <DEAD L13>
3832                     <RETURN TEMP8>
3833                     <DEAD TEMP8>
3834 PHRASE18
3835                     <NTHUV V4 4 = TEMP8 (TYPE FIX)>
3836                     <VEQUAL? TEMP8 -1 + PHRASE19 (TYPE FIX)>
3837                     <DEAD TEMP8>
3838                     <FRAME '\1aGET-CURRENT-TYPE>
3839                     <PUSH V4>
3840                     <CALL '\1aGET-CURRENT-TYPE 1 = TEM15>
3841                     <SET TEMP8 NL5 (TYPE LIST)>
3842                     <LOOP>
3843 MAP25
3844                     <INTGO>
3845                     <EMPL? TEMP8 + MAPAP28>
3846                     <NTHL TEMP8 1 = LL34>
3847                     <NTHL LL34 1 = TEMP37 (TYPE SYMTAB)>
3848                     <VEQUAL? TEMP37 V4 - PHRASE36>
3849                     <DEAD TEMP37>
3850                     <RESTL LL34 1 = TEMP37 (TYPE LIST)>
3851                     <DEAD LL34>
3852                     <NTHL TEMP37 1 = TEM15>
3853                     <DEAD TEMP37>
3854                     <JUMP + MAPAP28>
3855 PHRASE36
3856                     <RESTL TEMP8 1 = TEMP8 (TYPE LIST)>
3857                     <JUMP + MAP25>
3858 MAPAP28
3859                     <CONS TEM15 () = LL34>
3860                     <DEAD TEM15>
3861                     <CONS V4 LL34 = LL34>
3862                     <CONS LL34 () = LL34>
3863                     <PUTREST LP14 LL34>
3864                     <DEAD LP14>
3865                     <SET LP14 LL34>
3866                     <DEAD LL34>
3867 PHRASE19
3868                     <NTHUV V4 1 = V4>
3869                     <JUMP + AGAIN16>
3870 PHRASE7
3871                     <RETURN ()>
3872                     <END \1aBUILD-MODIFIED-TYPE-LIST>
3873 #WORD *30206662455*
3874 <GFCN \1aRESET-VARS ("VALUE" ATOM <OR SYMTAB VECTOR> "OPTIONAL" <OR SYMTAB VECTOR> ANY) V7 VL8 FLG9>
3875                     <OPT-DISPATCH 1 %<> OPT4 OPT5 OPT6>
3876 OPT4
3877                     <PUSH []>
3878 OPT5
3879                     <PUSH %<>>
3880 OPT6
3881                     <TEMP TEMP10:ATOM>
3882                     <INTGO>
3883                     <LOOP>
3884 AGAIN13
3885                     <INTGO>
3886                     <EQUAL? V7 VL8 - PHRASE15>
3887                     <SET FLG9 'T (TYPE ATOM)>
3888 PHRASE15
3889                     <EMPUV? V7 - PHRASE17>
3890                     <RETURN 'T>
3891 PHRASE17
3892                     <TYPE? FLG9 <TYPE-CODE FALSE> - PHRASE18>
3893                     <PUTUV V7 17 %<>>
3894                     <PUTUV V7 18 'ANY>
3895 PHRASE18
3896                     <PUTUV V7 16 () (TYPE LIST)>
3897                     <NTHUV V7 1 = V7>
3898                     <JUMP + AGAIN13>
3899                     <END \1aRESET-VARS>
3900 #WORD *27455132237*
3901 <GFCN \1aGET-CURRENT-TYPE ("VALUE" ANY SYMTAB) SYM4>
3902                     <TEMP TEMP8>
3903                     <INTGO>
3904                     <GEN-LVAL 'ANALY-OK = TEMP8>
3905                     <TYPE? TEMP8 <TYPE-CODE FALSE> + BOOL7>
3906                     <DEAD TEMP8>
3907                     <NTHUV SYM4 17 = TEMP8>
3908                     <TYPE? TEMP8 <TYPE-CODE FALSE> - PHRASE11>
3909 BOOL7
3910                     <NTHUV SYM4 7 = TEMP8>
3911                     <DEAD SYM4>
3912 PHRASE11
3913                     <RETURN TEMP8>
3914                     <DEAD TEMP8>
3915                     <END \1aGET-CURRENT-TYPE>
3916 #WORD *624141243*
3917 <GFCN \1aSET-CURRENT-TYPE ("VALUE" SYMTAB SYMTAB ANY) SYM4 ITYP5>
3918                     <TEMP OTYP6 TEMP10>
3919                     <INTGO>
3920                     <NTHUV SYM4 7 = OTYP6>
3921                     <GEN-LVAL 'ANALY-OK = TEMP10>
3922                     <TYPE? TEMP10 <TYPE-CODE FALSE> + PHRASE8>
3923                     <DEAD TEMP10>
3924                     <NTHUV SYM4 4 = TEMP10 (TYPE FIX)>
3925                     <VEQUAL? TEMP10 -1 + PHRASE8 (TYPE FIX)>
3926                     <DEAD TEMP10>
3927                     <FRAME '\1aTYPE-AND>
3928                     <PUSH ITYP5>
3929                     <DEAD ITYP5>
3930                     <PUSH OTYP6>
3931                     <DEAD OTYP6>
3932                     <CALL '\1aTYPE-AND 2 = ITYP5>
3933                     <PUTUV SYM4 17 ITYP5>
3934                     <FRAME '\1aTYPE-MERGE>
3935                     <PUSH ITYP5>
3936                     <DEAD ITYP5>
3937                     <NTHUV SYM4 18 = STACK>
3938                     <CALL '\1aTYPE-MERGE 2 = TEMP10>
3939                     <PUTUV SYM4 18 TEMP10>
3940                     <DEAD TEMP10>
3941                     <RETURN SYM4>
3942                     <DEAD SYM4>
3943 PHRASE8
3944                     <PUTUV SYM4 17 %<>>
3945                     <PUTUV SYM4 18 OTYP6>
3946                     <DEAD OTYP6>
3947                     <RETURN SYM4>
3948                     <DEAD SYM4>
3949                     <END \1aSET-CURRENT-TYPE>
3950 #WORD *2616334207*
3951 <GFCN \1aORUPC ("VALUE" <LIST [REST !<LIST SYMTAB ANY>]> <OR VECTOR SYMTAB> <LIST [REST !<LIST SYMTAB ANY>]>) V4 L5>
3952                     <TEMP TEMP8 LL12:LIST LLL13>
3953                     <INTGO>
3954                     <GEN-LVAL 'ANALY-OK = TEMP8>
3955                     <TYPE? TEMP8 <TYPE-CODE FALSE> + EXIT11>
3956                     <DEAD TEMP8>
3957                     <SET LL12 L5>
3958                     <LOOP>
3959 AGAIN14
3960                     <INTGO>
3961                     <TYPE? V4 <TYPE-CODE VECTOR> + EXIT11>
3962                     <NTHUV V4 4 = TEMP8 (TYPE FIX)>
3963                     <VEQUAL? TEMP8 -1 + PHRASE18 (TYPE FIX)>
3964                     <DEAD TEMP8>
3965                     <NTHL LL12 1 = LLL13 (TYPE LIST)>
3966                     <NTHL LLL13 1 = TEMP8 (TYPE SYMTAB)>
3967                     <VEQUAL? TEMP8 V4 - PHRASE23>
3968                     <DEAD TEMP8>
3969                     <FRAME '\1aTYPE-MERGE>
3970                     <RESTL LLL13 1 = TEMP8 (TYPE LIST)>
3971                     <NTHL TEMP8 1 = STACK>
3972                     <DEAD TEMP8>
3973                     <FRAME '\1aGET-CURRENT-TYPE>
3974                     <PUSH V4>
3975                     <CALL '\1aGET-CURRENT-TYPE 1 = STACK>
3976                     <CALL '\1aTYPE-MERGE 2 = TEMP8>
3977                     <RESTL LLL13 1 = LLL13 (TYPE LIST)>
3978                     <PUTL LLL13 1 TEMP8>
3979                     <DEAD LLL13 TEMP8>
3980                     <JUMP + PHRASE27>
3981 PHRASE23
3982                     <FRAME '\1aERROR>
3983                     <PUSH 'BAD-ORUPC!-ERRORS>
3984                     <CALL '\1aERROR 1>
3985 PHRASE27
3986                     <RESTL LL12 1 = LL12 (TYPE LIST)>
3987 PHRASE18
3988                     <NTHUV V4 1 = V4>
3989                     <JUMP + AGAIN14>
3990 EXIT11
3991                     <RETURN L5>
3992                     <DEAD L5>
3993                     <END \1aORUPC>
3994 #WORD *4037426170*
3995 <GFCN \1aORUP ("VALUE" <LIST [REST !<LIST SYMTAB ANY>]> <LIST [REST !<LIST SYMTAB ANY>]> <LIST [REST !<LIST SYMTAB ANY>]>) ONE4 TWO5>
3996                     <TEMP TEMP12:LIST TEMP13:LIST A18:LIST B19:LIST TEMP21>
3997                     <INTGO>
3998                     <SET TEMP12 ONE4 (TYPE LIST)>
3999                     <SET TEMP13 TWO5 (TYPE LIST)>
4000                     <DEAD TWO5>
4001                     <LOOP>
4002 MAP7
4003                     <INTGO>
4004                     <EMPL? TEMP12 + MAPAP10>
4005                     <EMPL? TEMP13 + MAPAP10>
4006                     <NTHL TEMP12 1 = A18>
4007                     <NTHL TEMP13 1 = B19>
4008                     <FRAME '\1aTYPE-MERGE>
4009                     <RESTL A18 1 = TEMP21 (TYPE LIST)>
4010                     <NTHL TEMP21 1 = STACK>
4011                     <DEAD TEMP21>
4012                     <RESTL B19 1 = TEMP21 (TYPE LIST)>
4013                     <DEAD B19>
4014                     <NTHL TEMP21 1 = STACK>
4015                     <DEAD TEMP21>
4016                     <CALL '\1aTYPE-MERGE 2 = TEMP21>
4017                     <RESTL A18 1 = A18 (TYPE LIST)>
4018                     <PUTL A18 1 TEMP21>
4019                     <DEAD A18 TEMP21>
4020                     <RESTL TEMP12 1 = TEMP12 (TYPE LIST)>
4021                     <RESTL TEMP13 1 = TEMP13 (TYPE LIST)>
4022                     <JUMP + MAP7>
4023 MAPAP10
4024                     <RETURN ONE4>
4025                     <DEAD ONE4>
4026                     <END \1aORUP>
4027 #WORD *30443313711*
4028 <GFCN \1aANDUP ("VALUE" <LIST [REST !<LIST SYMTAB ANY>]> <LIST [REST !<LIST SYMTAB ANY>]> <LIST [REST !<LIST SYMTAB ANY>]>) ONE4 TWO5>
4029                     <TEMP TEMP12:LIST TEMP13:LIST A18:LIST B19:LIST TEMP21>
4030                     <INTGO>
4031                     <SET TEMP12 ONE4 (TYPE LIST)>
4032                     <SET TEMP13 TWO5 (TYPE LIST)>
4033                     <DEAD TWO5>
4034                     <LOOP>
4035 MAP7
4036                     <INTGO>
4037                     <EMPL? TEMP12 + MAPAP10>
4038                     <EMPL? TEMP13 + MAPAP10>
4039                     <NTHL TEMP12 1 = A18>
4040                     <NTHL TEMP13 1 = B19>
4041                     <FRAME '\1aTYPE-AND>
4042                     <RESTL A18 1 = TEMP21 (TYPE LIST)>
4043                     <NTHL TEMP21 1 = STACK>
4044                     <DEAD TEMP21>
4045                     <RESTL B19 1 = TEMP21 (TYPE LIST)>
4046                     <DEAD B19>
4047                     <NTHL TEMP21 1 = STACK>
4048                     <DEAD TEMP21>
4049                     <CALL '\1aTYPE-AND 2 = TEMP21>
4050                     <RESTL A18 1 = A18 (TYPE LIST)>
4051                     <PUTL A18 1 TEMP21>
4052                     <DEAD A18 TEMP21>
4053                     <RESTL TEMP12 1 = TEMP12 (TYPE LIST)>
4054                     <RESTL TEMP13 1 = TEMP13 (TYPE LIST)>
4055                     <JUMP + MAP7>
4056 MAPAP10
4057                     <RETURN ONE4>
4058                     <DEAD ONE4>
4059                     <END \1aANDUP>
4060 #WORD *6000515425*
4061 <GFCN \1aASSERT-TYPES ("VALUE" <OR FALSE SYMTAB> <LIST [REST !<LIST SYMTAB ANY>]>) L4>
4062                     <TEMP TEMP14 TEMP11:LIST>
4063                     <INTGO>
4064                     <SET TEMP14 %<> (TYPE FALSE)>
4065                     <SET TEMP11 L4 (TYPE LIST)>
4066                     <DEAD L4>
4067                     <LOOP>
4068 MAP6
4069                     <INTGO>
4070                     <EMPL? TEMP11 + MAPAP9>
4071                     <NTHL TEMP11 1 = TEMP14>
4072                     <FRAME '\1aSET-CURRENT-TYPE>
4073                     <NTHL TEMP14 1 = STACK (TYPE SYMTAB)>
4074                     <RESTL TEMP14 1 = TEMP14 (TYPE LIST)>
4075                     <NTHL TEMP14 1 = STACK>
4076                     <DEAD TEMP14>
4077                     <CALL '\1aSET-CURRENT-TYPE 2 = TEMP14>
4078                     <RESTL TEMP11 1 = TEMP11 (TYPE LIST)>
4079                     <JUMP + MAP6>
4080 MAPAP9
4081                     <RETURN TEMP14>
4082                     <DEAD TEMP14>
4083                     <END \1aASSERT-TYPES>
4084 #WORD *34046355367*
4085 <GFCN \1aADD-TYPE-LIST ("VALUE" LIST SYMTAB <OR ATOM FALSE FORM SEGMENT> LIST <OR ATOM FALSE> "OPTIONAL" <LIST [REST ATOM FIX]>) SYM6 NDECL7 INF8 MUNG9 NTH-REST10>
4086                     <OPT-DISPATCH 4 %<> OPT4 OPT5>
4087 OPT4
4088                     <PUSH ()>
4089 OPT5
4090                     <TEMP (WIN11 %<>) OD12 TEMP16 L30:LIST TEMP33>
4091                     <INTGO>
4092                     <FRAME '\1aGET-CURRENT-TYPE>
4093                     <PUSH SYM6>
4094                     <CALL '\1aGET-CURRENT-TYPE 1 = OD12>
4095                     <GEN-LVAL 'ANALY-OK = TEMP16>
4096                     <TYPE? TEMP16 <TYPE-CODE FALSE> + PHRASE41>
4097                     <DEAD TEMP16>
4098                     <FRAME '\1aTYPE-NTH-REST>
4099                     <PUSH NDECL7>
4100                     <DEAD NDECL7>
4101                     <PUSH NTH-REST10>
4102                     <DEAD NTH-REST10>
4103                     <CALL '\1aTYPE-NTH-REST 2 = NDECL7>
4104                     <SET TEMP16 INF8 (TYPE LIST)>
4105                     <LOOP>
4106 MAP21
4107                     <INTGO>
4108                     <EMPL? TEMP16 + MAPAP24>
4109                     <NTHL TEMP16 1 = L30>
4110                     <NTHL L30 1 = TEMP33 (TYPE SYMTAB)>
4111                     <VEQUAL? TEMP33 SYM6 - PHRASE32>
4112                     <DEAD TEMP33>
4113                     <TYPE? MUNG9 <TYPE-CODE FALSE> + PHRASE35>
4114                     <FRAME '\1aTYPE-AND>
4115                     <PUSH NDECL7>
4116                     <DEAD NDECL7>
4117                     <PUSH OD12>
4118                     <CALL '\1aTYPE-AND 2 = TEMP33>
4119                     <JUMP + PHRASE37>
4120 PHRASE35
4121                     <FRAME '\1aTYPE-AND>
4122                     <PUSH NDECL7>
4123                     <DEAD NDECL7>
4124                     <RESTL L30 1 = WIN11 (TYPE LIST)>
4125                     <NTHL WIN11 1 = STACK>
4126                     <DEAD WIN11>
4127                     <CALL '\1aTYPE-AND 2 = TEMP33>
4128 PHRASE37
4129                     <SET NDECL7 TEMP33>
4130                     <DEAD TEMP33>
4131                     <RESTL L30 1 = WIN11 (TYPE LIST)>
4132                     <DEAD L30>
4133                     <PUTL WIN11 1 NDECL7>
4134                     <DEAD WIN11>
4135                     <SET WIN11 'T (TYPE ATOM)>
4136                     <JUMP + MAPAP24>
4137 PHRASE32
4138                     <RESTL TEMP16 1 = TEMP16 (TYPE LIST)>
4139                     <JUMP + MAP21>
4140 MAPAP24
4141                     <VEQUAL? WIN11 0 - PHRASE41>
4142                     <DEAD WIN11>
4143                     <FRAME '\1aTYPE-AND>
4144                     <PUSH NDECL7>
4145                     <DEAD NDECL7>
4146                     <PUSH OD12>
4147                     <DEAD OD12>
4148                     <CALL '\1aTYPE-AND 2 = NDECL7>
4149                     <CONS MUNG9 () = L30>
4150                     <DEAD MUNG9>
4151                     <CONS NDECL7 L30 = L30>
4152                     <DEAD NDECL7>
4153                     <CONS SYM6 L30 = L30>
4154                     <DEAD SYM6>
4155                     <CONS L30 INF8 = INF8>
4156                     <DEAD L30>
4157 PHRASE41
4158                     <RETURN INF8>
4159                     <DEAD INF8>
4160                     <END \1aADD-TYPE-LIST>
4161 #WORD *27404507660*
4162 <GFCN \1aTYPE-NTH-REST ("VALUE" ANY ANY <LIST [REST ATOM FIX]>) NDECL4 NTH-REST5>
4163                     <TEMP FIRST9 NUM10:FIX TEMP16 TEMP18>
4164                     <INTGO>
4165                     <SET FIRST9 'T (TYPE ATOM)>
4166                     <SET NUM10 0 (TYPE FIX)>
4167                     <LOOP>
4168 AGAIN11
4169                     <INTGO>
4170                     <EMPL? NTH-REST5 - PHRASE13 (TYPE LIST)>
4171                     <RETURN NDECL4>
4172                     <DEAD NDECL4>
4173 PHRASE13
4174                     <NTHL NTH-REST5 1 = TEMP16 (TYPE ATOM)>
4175                     <VEQUAL? TEMP16 'NTH - PHRASE15>
4176                     <DEAD TEMP16>
4177                     <FRAME '\1aFORM>
4178                     <PUSH 'STRUCTURED>
4179                     <SET TEMP18 2 (TYPE FIX)>
4180                     <RESTL NTH-REST5 1 = FIRST9 (TYPE LIST)>
4181                     <NTHL FIRST9 1 = FIRST9 (TYPE FIX)>
4182                     <ADD FIRST9 NUM10 = FIRST9 (TYPE FIX)>
4183                     <DEAD NUM10>
4184                     <ADD FIRST9 -1 = NUM10 (TYPE FIX)>
4185                     <DEAD FIRST9>
4186                     <VEQUAL? NUM10 0 - PHRASE20 (TYPE FIX)>
4187                     <SET TEMP16 () (TYPE LIST)>
4188                     <JUMP + PHRASE27>
4189 PHRASE20
4190                     <VEQUAL? NUM10 1 - PHRASE24 (TYPE FIX)>
4191                     <CONS 'ANY () = TEMP16>
4192                     <JUMP + PHRASE27>
4193 PHRASE24
4194                     <PUSH NUM10>
4195                     <DEAD NUM10>
4196                     <PUSH 'ANY>
4197                     <UBLOCK <TYPE-CODE VECTOR> 2 = FIRST9>
4198                     <CONS FIRST9 () = TEMP16>
4199                     <DEAD FIRST9>
4200 PHRASE27
4201                     <LOOP (TEMP16 VALUE) (TEMP18 VALUE)>
4202 TAG29
4203                     <INTGO>
4204                     <EMPL? TEMP16 + TAG17>
4205                     <NTHL TEMP16 1 = STACK>
4206                     <RESTL TEMP16 1 = TEMP16 (TYPE LIST)>
4207                     <ADD TEMP18 1 = TEMP18 (TYPE FIX)>
4208                     <JUMP + TAG29>
4209 TAG17
4210                     <PUSH NDECL4>
4211                     <DEAD NDECL4>
4212                     <CALL '\1aFORM TEMP18 = NDECL4>
4213                     <DEAD TEMP18>
4214                     <SET NUM10 0 (TYPE FIX)>
4215                     <SET FIRST9 %<> (TYPE FALSE)>
4216                     <JUMP + PHRASE33>
4217 PHRASE15
4218                     <VEQUAL? FIRST9 0 + PHRASE31>
4219                     <FRAME '\1aREST-DECL>
4220                     <PUSH NDECL4>
4221                     <DEAD NDECL4>
4222                     <RESTL NTH-REST5 1 = TEMP18 (TYPE LIST)>
4223                     <NTHL TEMP18 1 = STACK (TYPE FIX)>
4224                     <DEAD TEMP18>
4225                     <CALL '\1aREST-DECL 2 = NDECL4>
4226                     <JUMP + PHRASE33>
4227 PHRASE31
4228                     <RESTL NTH-REST5 1 = TEMP18 (TYPE LIST)>
4229                     <NTHL TEMP18 1 = TEMP18 (TYPE FIX)>
4230                     <ADD TEMP18 NUM10 = NUM10 (TYPE FIX)>
4231                     <DEAD TEMP18>
4232 PHRASE33
4233                     <RESTL NTH-REST5 1 = NTH-REST5 (TYPE LIST)>
4234                     <RESTL NTH-REST5 1 = NTH-REST5 (TYPE LIST)>
4235                     <JUMP + AGAIN11>
4236                     <END \1aTYPE-NTH-REST>
4237 " AND/OR analyzer.  Called from AND-ANA and OR-ANA."
4238
4239 #WORD *14673340170*
4240                     <GFCN \1aBOOL-AN ("VALUE" ANY NODE ANY ANY) NOD4 RTYP5 ORER6>
4241                     <TEMP L7 TEMP22 RTY10 TEMP28 FLG11 (SINF12:LIST ()) (FIRST15 'T) TEMP48:FIX TEMP53 LAST51 TY55 FNOK16 NFNOK17 PASS18 TEMP94 L-D34:LIST STR13:LIST SUNT14:LIST>
4242                     <INTGO>
4243                     <NTHUV NOD4 5 = L7 (TYPE LIST)>
4244                     <FRAME '\1aTYPE-OK?>
4245                     <PUSH RTYP5>
4246                     <PUSH 'FALSE>
4247                     <CALL '\1aTYPE-OK? 2 = TEMP22>
4248                     <TYPE? TEMP22 <TYPE-CODE FALSE> + PHRASE20>
4249                     <DEAD TEMP22>
4250                     <SET RTY10 RTYP5>
4251                     <JUMP + PHRASE23>
4252 PHRASE20
4253                     <FRAME '\1aFORM>
4254                     <PUSH 'OR>
4255                     <PUSH RTYP5>
4256                     <PUSH 'FALSE>
4257                     <CALL '\1aFORM 3 = RTY10>
4258 PHRASE23
4259                     <GEN-LVAL 'PRED = TEMP22>
4260                     <NTHUV NOD4 2 = TEMP28>
4261                     <EQUAL? TEMP22 TEMP28 - TAG25>
4262                     <DEAD TEMP22 TEMP28>
4263                     <SET FLG11 'T (TYPE ATOM)>
4264                     <JUMP + TAG29>
4265 TAG25
4266                     <SET FLG11 %<> (TYPE FALSE)>
4267 TAG29
4268                     <GETS 'BIND = TEMP28 (TYPE LBIND)>
4269                     <BBIND 'TRUTH 'LIST 'FIX ()>
4270                     <BBIND 'UNTRUTH 'LIST 'FIX ()>
4271                     <BBIND 'PRED 'ANY 'FIX NOD4>
4272                     <EMPL? L7 - PHRASE37 (TYPE LIST)>
4273                     <FRAME '\1aTYPE-OK?>
4274                     <PUSH 'FALSE>
4275                     <PUSH RTYP5>
4276                     <DEAD RTYP5>
4277                     <CALL '\1aTYPE-OK? 2>
4278                     <JUMP + PHRASE190>
4279 PHRASE37
4280                     <SET TEMP22 L7 (TYPE LIST)>
4281                     <DEAD L7>
4282                     <SET TEMP48 0 (TYPE FIX)>
4283                     <FRAME '\1aTYPE-MERGE>
4284                     <LOOP>
4285 MAP41
4286                     <INTGO>
4287                     <EMPL? TEMP22 + MAPAP44>
4288                     <SET L7 TEMP22>
4289                     <RESTL L7 1 = TEMP53 (TYPE LIST)>
4290                     <EMPL? TEMP53 - TAG52 (TYPE LIST)>
4291                     <DEAD TEMP53>
4292                     <SET LAST51 'T (TYPE ATOM)>
4293                     <JUMP + TAG54>
4294 TAG52
4295                     <SET LAST51 %<> (TYPE FALSE)>
4296 TAG54
4297                     <VEQUAL? LAST51 0 + PHRASE57>
4298                     <VEQUAL? FLG11 0 - PHRASE57>
4299                     <NTHR 'PRED 2 = TEMP53 (RECORD-TYPE ATOM) (TYPE LBIND)>
4300                     <PUTR TEMP53 1 %<> (RECORD-TYPE LBIND)>
4301                     <DEAD TEMP53>
4302 PHRASE57
4303                     <FRAME '\1aANA>
4304                     <NTHL L7 1 = STACK (TYPE NODE)>
4305                     <VEQUAL? LAST51 0 + PHRASE63>
4306                     <SET TEMP53 RTYP5>
4307                     <JUMP + PHRASE65>
4308 PHRASE63
4309                     <TYPE? ORER6 <TYPE-CODE FALSE> + PHRASE64>
4310                     <SET TEMP53 RTY10>
4311                     <JUMP + PHRASE65>
4312 PHRASE64
4313                     <SET TEMP53 'ANY (TYPE ATOM)>
4314 PHRASE65
4315                     <PUSH TEMP53>
4316                     <DEAD TEMP53>
4317                     <CALL '\1aANA 2 = TY55>
4318                     <EQUAL? TY55 'NO-RETURN - TAG67>
4319                     <SET FNOK16 'T (TYPE ATOM)>
4320                     <JUMP + TAG69>
4321 TAG67
4322                     <FRAME '\1aTYPE-OK?>
4323                     <PUSH TY55>
4324                     <PUSH 'FALSE>
4325                     <CALL '\1aTYPE-OK? 2 = TEMP53>
4326                     <TYPE? TEMP53 <TYPE-CODE FALSE> - TAG68>
4327                     <DEAD TEMP53>
4328                     <SET FNOK16 'T (TYPE ATOM)>
4329                     <JUMP + TAG69>
4330 TAG68
4331                     <SET FNOK16 %<> (TYPE FALSE)>
4332 TAG69
4333                     <FRAME '\1aISTYPE?>
4334                     <PUSH TY55>
4335                     <CALL '\1aISTYPE? 1 = TEMP53>
4336                     <VEQUAL? TEMP53 'FALSE - TAG71>
4337                     <DEAD TEMP53>
4338                     <SET NFNOK17 'T (TYPE ATOM)>
4339                     <JUMP + TAG73>
4340 TAG71
4341                     <SET NFNOK17 %<> (TYPE FALSE)>
4342 TAG73
4343                     <TYPE? ORER6 <TYPE-CODE FALSE> + PHRASE75>
4344                     <SET PASS18 NFNOK17>
4345                     <JUMP + PHRASE76>
4346 PHRASE75
4347                     <SET PASS18 FNOK16>
4348 PHRASE76
4349                     <TYPE? TY55 <TYPE-CODE FALSE> - PHRASE78>
4350                     <SET TY55 'ANY (TYPE ATOM)>
4351                     <FRAME '\1aCOMPILE-WARNING>
4352                     <PUSH "OR/AND clause returns wrong type: ">
4353                     <NTHL L7 1 = STACK (TYPE NODE)>
4354                     <CALL '\1aCOMPILE-WARNING 2>
4355 PHRASE78
4356                     <TYPE? ORER6 <TYPE-CODE FALSE> + PHRASE83>
4357                     <TYPE? FNOK16 <TYPE-CODE FALSE> + PHRASE81>
4358                     <JUMP + PHRASE84>
4359 PHRASE83
4360                     <TYPE? NFNOK17 <TYPE-CODE FALSE> + PHRASE81>
4361 PHRASE84
4362                     <GEN-LVAL 'VERBOSE = TEMP53>
4363                     <TYPE? TEMP53 <TYPE-CODE FALSE> + PHRASE86>
4364                     <DEAD TEMP53>
4365                     <VEQUAL? LAST51 0 - PHRASE86>
4366                     <DEAD LAST51>
4367                     <FRAME '\1aADDVMESS>
4368                     <PUSH NOD4>
4369                     <EQUAL? TY55 'NO-RETURN - PHRASE92>
4370                     <SET TEMP53 (" it never returns ") (TYPE LIST)>
4371                     <JUMP + PHRASE93>
4372 PHRASE92
4373                     <CONS TY55 () = TEMP53>
4374                     <CONS " its type is:  " TEMP53 = TEMP53>
4375 PHRASE93
4376                     <NTHL L7 1 = TEMP94 (TYPE NODE)>
4377                     <CONS TEMP94 TEMP53 = TEMP53>
4378                     <DEAD TEMP94>
4379                     <CONS "This object prematurely ends AND/OR:  " TEMP53 = STACK>
4380                     <DEAD TEMP53>
4381                     <CALL '\1aADDVMESS 2>
4382 PHRASE86
4383                     <SET LAST51 'T (TYPE ATOM)>
4384 PHRASE81
4385                     <EQUAL? TY55 'NO-RETURN + PHRASE96>
4386                     <TYPE? PASS18 <TYPE-CODE FALSE> + BOOL98>
4387                     <DEAD PASS18>
4388                     <VEQUAL? LAST51 0 + PHRASE96>
4389 BOOL98
4390                     <FRAME '\1aBUILD-MODIFIED-TYPE-LIST>
4391                     <GEN-LVAL 'VARTBL = STACK>
4392                     <NTHR 'TRUTH 2 = TEMP94 (RECORD-TYPE ATOM) (TYPE LBIND)>
4393                     <NTHR TEMP94 1 = STACK (RECORD-TYPE LBIND)>
4394                     <DEAD TEMP94>
4395                     <CALL '\1aBUILD-MODIFIED-TYPE-LIST 2 = TEMP94>
4396                     <NTHR 'TRUTH 2 = TEMP53 (RECORD-TYPE ATOM) (TYPE LBIND)>
4397                     <PUTR TEMP53 1 TEMP94 (RECORD-TYPE LBIND)>
4398                     <DEAD TEMP53 TEMP94>
4399                     <FRAME '\1aBUILD-MODIFIED-TYPE-LIST>
4400                     <GEN-LVAL 'VARTBL = STACK>
4401                     <NTHR 'UNTRUTH 2 = TEMP53 (RECORD-TYPE ATOM) (TYPE LBIND)>
4402                     <NTHR TEMP53 1 = STACK (RECORD-TYPE LBIND)>
4403                     <DEAD TEMP53>
4404                     <CALL '\1aBUILD-MODIFIED-TYPE-LIST 2 = TEMP53>
4405                     <NTHR 'UNTRUTH 2 = PASS18 (RECORD-TYPE ATOM) (TYPE LBIND)>
4406                     <PUTR PASS18 1 TEMP53 (RECORD-TYPE LBIND)>
4407                     <DEAD PASS18 TEMP53>
4408                     <VEQUAL? FIRST15 0 + PHRASE116>
4409                     <DEAD FIRST15>
4410                     <FRAME '\1aSAVE-L-D-STATE>
4411                     <GEN-LVAL 'VARTBL = STACK>
4412                     <CALL '\1aSAVE-L-D-STATE 1 = L-D34>
4413                     <NTHR 'TRUTH 2 = PASS18 (RECORD-TYPE ATOM) (TYPE LBIND)>
4414                     <NTHR PASS18 1 = STR13 (RECORD-TYPE LBIND)>
4415                     <DEAD PASS18>
4416                     <NTHR 'UNTRUTH 2 = PASS18 (RECORD-TYPE ATOM) (TYPE LBIND)>
4417                     <NTHR PASS18 1 = SUNT14 (RECORD-TYPE LBIND)>
4418                     <DEAD PASS18>
4419                     <FRAME '\1aBUILD-MODIFIED-TYPE-LIST>
4420                     <GEN-LVAL 'VARTBL = STACK>
4421                     <TYPE? ORER6 <TYPE-CODE FALSE> + PHRASE128>
4422                     <NTHR 'TRUTH 2 = TEMP53 (RECORD-TYPE ATOM) (TYPE LBIND)>
4423                     <NTHR TEMP53 1 = FIRST15 (RECORD-TYPE LBIND)>
4424                     <DEAD TEMP53>
4425                     <JUMP + PHRASE133>
4426 PHRASE128
4427                     <NTHR 'UNTRUTH 2 = TEMP53 (RECORD-TYPE ATOM) (TYPE LBIND)>
4428                     <NTHR TEMP53 1 = FIRST15 (RECORD-TYPE LBIND)>
4429 PHRASE133
4430                     <PUSH FIRST15>
4431                     <DEAD FIRST15>
4432                     <CALL '\1aBUILD-MODIFIED-TYPE-LIST 2 = SINF12>
4433                     <JUMP + PHRASE150>
4434 PHRASE116
4435                     <FRAME '\1aMSAVE-L-D-STATE>
4436                     <PUSH L-D34>
4437                     <DEAD L-D34>
4438                     <GEN-LVAL 'VARTBL = STACK>
4439                     <CALL '\1aMSAVE-L-D-STATE 2 = L-D34>
4440                     <TYPE? ORER6 <TYPE-CODE FALSE> + PHRASE141>
4441                     <NTHR 'UNTRUTH 2 = TEMP53 (RECORD-TYPE ATOM) (TYPE LBIND)>
4442                     <NTHR TEMP53 1 = SUNT14 (RECORD-TYPE LBIND)>
4443                     <DEAD TEMP53>
4444                     <FRAME '\1aORUP>
4445                     <PUSH STR13>
4446                     <DEAD STR13>
4447                     <NTHR 'TRUTH 2 = TEMP53 (RECORD-TYPE ATOM) (TYPE LBIND)>
4448                     <NTHR TEMP53 1 = STACK (RECORD-TYPE LBIND)>
4449                     <DEAD TEMP53>
4450                     <CALL '\1aORUP 2 = STR13>
4451                     <FRAME '\1aORUP>
4452                     <PUSH SINF12>
4453                     <DEAD SINF12>
4454                     <NTHR 'TRUTH 2 = TEMP53 (RECORD-TYPE ATOM) (TYPE LBIND)>
4455                     <NTHR TEMP53 1 = STACK (RECORD-TYPE LBIND)>
4456                     <DEAD TEMP53>
4457                     <CALL '\1aORUP 2 = SINF12>
4458                     <JUMP + PHRASE150>
4459 PHRASE141
4460                     <FRAME '\1aORUP>
4461                     <PUSH SUNT14>
4462                     <DEAD SUNT14>
4463                     <NTHR 'UNTRUTH 2 = TEMP53 (RECORD-TYPE ATOM) (TYPE LBIND)>
4464                     <NTHR TEMP53 1 = STACK (RECORD-TYPE LBIND)>
4465                     <DEAD TEMP53>
4466                     <CALL '\1aORUP 2 = SUNT14>
4467                     <NTHR 'TRUTH 2 = TEMP53 (RECORD-TYPE ATOM) (TYPE LBIND)>
4468                     <NTHR TEMP53 1 = STR13 (RECORD-TYPE LBIND)>
4469                     <DEAD TEMP53>
4470                     <FRAME '\1aORUP>
4471                     <PUSH SINF12>
4472                     <DEAD SINF12>
4473                     <NTHR 'UNTRUTH 2 = TEMP53 (RECORD-TYPE ATOM) (TYPE LBIND)>
4474                     <NTHR TEMP53 1 = STACK (RECORD-TYPE LBIND)>
4475                     <DEAD TEMP53>
4476                     <CALL '\1aORUP 2 = SINF12>
4477 PHRASE150
4478                     <SET FIRST15 %<> (TYPE FALSE)>
4479                     <FRAME '\1aASSERT-TYPES>
4480                     <TYPE? ORER6 <TYPE-CODE FALSE> + PHRASE161>
4481                     <SET TEMP53 SUNT14>
4482                     <JUMP + PHRASE162>
4483 PHRASE161
4484                     <SET TEMP53 STR13>
4485 PHRASE162
4486                     <PUSH TEMP53>
4487                     <DEAD TEMP53>
4488                     <CALL '\1aASSERT-TYPES 1>
4489 PHRASE96
4490                     <NTHR 'TRUTH 2 = TEMP53 (RECORD-TYPE ATOM) (TYPE LBIND)>
4491                     <PUTR TEMP53 1 () (RECORD-TYPE LBIND)>
4492                     <DEAD TEMP53>
4493                     <NTHR 'UNTRUTH 2 = TEMP53 (RECORD-TYPE ATOM) (TYPE LBIND)>
4494                     <PUTR TEMP53 1 () (RECORD-TYPE LBIND)>
4495                     <DEAD TEMP53>
4496                     <VEQUAL? FIRST15 0 - BOOL167>
4497                     <FRAME '\1aRESTORE-L-D-STATE>
4498                     <PUSH L-D34>
4499                     <GEN-LVAL 'VARTBL = STACK>
4500                     <CALL '\1aRESTORE-L-D-STATE 2>
4501 BOOL167
4502                     <EQUAL? TY55 'NO-RETURN - PHRASE172>
4503                     <VEQUAL? LAST51 0 - PHRASE174>
4504                     <DEAD LAST51>
4505                     <FRAME '\1aCOMPILE-WARNING>
4506                     <PUSH "AND/OR clause is unreachable: ">
4507                     <NTHL L7 1 = STACK (TYPE NODE)>
4508                     <DEAD L7>
4509                     <CALL '\1aCOMPILE-WARNING 2>
4510 PHRASE174
4511                     <SET FLG11 %<> (TYPE FALSE)>
4512                     <FRAME '\1aASSERT-TYPES>
4513                     <PUSH SINF12>
4514                     <DEAD SINF12>
4515                     <CALL '\1aASSERT-TYPES 1>
4516                     <PUSH 'NO-RETURN>
4517                     <ADD TEMP48 1 = TEMP48 (TYPE FIX)>
4518                     <JUMP + MAPAP44>
4519 PHRASE172
4520                     <VEQUAL? LAST51 0 + PHRASE178>
4521                     <DEAD LAST51>
4522                     <FRAME '\1aASSERT-TYPES>
4523                     <PUSH SINF12>
4524                     <DEAD SINF12>
4525                     <CALL '\1aASSERT-TYPES 1>
4526                     <PUSH TY55>
4527                     <DEAD TY55>
4528                     <ADD TEMP48 1 = TEMP48 (TYPE FIX)>
4529                     <JUMP + MAPAP44>
4530 PHRASE178
4531                     <TYPE? ORER6 <TYPE-CODE FALSE> + PHRASE181>
4532                     <TYPE? NFNOK17 <TYPE-CODE FALSE> - MAP42>
4533                     <DEAD NFNOK17>
4534 PHRASE181
4535                     <TYPE? ORER6 <TYPE-CODE FALSE> - PHRASE188>
4536                     <TYPE? FNOK16 <TYPE-CODE FALSE> - MAP42>
4537                     <SET TY55 'FALSE (TYPE ATOM)>
4538 PHRASE188
4539                     <PUSH TY55>
4540                     <DEAD TY55>
4541                     <ADD TEMP48 1 = TEMP48 (TYPE FIX)>
4542 MAP42
4543                     <RESTL TEMP22 1 = TEMP22 (TYPE LIST)>
4544                     <JUMP + MAP41>
4545 MAPAP44
4546                     <CALL '\1aTYPE-MERGE TEMP48 = TEMP53>
4547                     <DEAD TEMP48>
4548                     <TYPE? FNOK16 <TYPE-CODE FALSE> + PHRASE190>
4549                     <DEAD FNOK16>
4550                     <TYPE? ORER6 <TYPE-CODE FALSE> + PHRASE190>
4551                     <DEAD ORER6>
4552                     <FRAME '\1aTYPE-OK?>
4553                     <PUSH TEMP53>
4554                     <DEAD TEMP53>
4555                     <PUSH <NOT FALSE>>
4556                     <CALL '\1aTYPE-OK? 2 = TEMP53>
4557 PHRASE190
4558                     <UNBIND TEMP28>
4559                     <DEAD TEMP28>
4560                     <ADJ -27>
4561                     <VEQUAL? FLG11 0 + PHRASE194>
4562                     <DEAD FLG11>
4563                     <GEN-SET 'TRUTH STR13>
4564                     <DEAD STR13>
4565                     <GEN-SET 'UNTRUTH SUNT14>
4566                     <DEAD SUNT14>
4567 PHRASE194
4568                     <RETURN TEMP53>
4569                     <DEAD TEMP53>
4570                     <END \1aBOOL-AN>
4571
4572 #WORD *21104311726*
4573 <GFCN \1aCOPY-TYPE-LIST ("VALUE" <LIST [REST <LIST ANY ANY ANY>]> LIST) L4>
4574                     <TEMP TEMP14 TEMP12 TEMP11:LIST LL16:LIST TEMP17 TEMP18>
4575                     <INTGO>
4576                     <SET TEMP14 () (TYPE LIST)>
4577                     <SET TEMP12 () (TYPE LIST)>
4578                     <SET TEMP11 L4 (TYPE LIST)>
4579                     <DEAD L4>
4580                     <LOOP>
4581 MAP6
4582                     <INTGO>
4583                     <EMPL? TEMP11 + MAPAP9>
4584                     <NTHL TEMP11 1 = LL16>
4585                     <RESTL LL16 1 = TEMP17 (TYPE LIST)>
4586                     <RESTL TEMP17 1 = TEMP17 (TYPE LIST)>
4587                     <NTHL TEMP17 1 = TEMP17>
4588                     <CONS TEMP17 () = TEMP17>
4589                     <RESTL LL16 1 = TEMP18 (TYPE LIST)>
4590                     <NTHL TEMP18 1 = TEMP18>
4591                     <CONS TEMP18 TEMP17 = TEMP17>
4592                     <DEAD TEMP18>
4593                     <NTHL LL16 1 = TEMP18>
4594                     <DEAD LL16>
4595                     <CONS TEMP18 TEMP17 = TEMP17>
4596                     <DEAD TEMP18>
4597                     <CONS TEMP17 () = TEMP17 (TYPE LIST)>
4598                     <EMPL? TEMP14 - TAG19>
4599                     <SET TEMP14 TEMP17 (TYPE LIST)>
4600                     <JUMP + TAG20>
4601 TAG19
4602                     <PUTREST TEMP12 TEMP17>
4603                     <DEAD TEMP12>
4604 TAG20
4605                     <SET TEMP12 TEMP17 (TYPE LIST)>
4606                     <DEAD TEMP17>
4607                     <RESTL TEMP11 1 = TEMP11 (TYPE LIST)>
4608                     <JUMP + MAP6>
4609 MAPAP9
4610                     <RETURN TEMP14>
4611                     <DEAD TEMP14>
4612                     <END \1aCOPY-TYPE-LIST>
4613 #WORD *16602640057*
4614 <GFCN \1aAND-ANA ("VALUE" ANY NODE ANY) NOD4 RTYP5>
4615                     <TEMP TEMP7>
4616                     <INTGO>
4617                     <PUTUV NOD4 1 13 (TYPE FIX)>
4618                     <FRAME '\1aBOOL-AN>
4619                     <PUSH NOD4>
4620                     <DEAD NOD4>
4621                     <PUSH RTYP5>
4622                     <DEAD RTYP5>
4623                     <PUSH %<>>
4624                     <CALL '\1aBOOL-AN 3 = TEMP7>
4625                     <RETURN TEMP7>
4626                     <DEAD TEMP7>
4627                     <END \1aAND-ANA>
4628 <COND (<GASSIGNED? AND-ANA> <PUTPROP ,AND ANALYSIS ,AND-ANA>)>
4629
4630 #WORD *527640063*
4631 <GFCN \1aOR-ANA ("VALUE" ANY NODE ANY) NOD4 RTYP5>
4632                     <TEMP TEMP7>
4633                     <INTGO>
4634                     <PUTUV NOD4 1 12 (TYPE FIX)>
4635                     <FRAME '\1aBOOL-AN>
4636                     <PUSH NOD4>
4637                     <DEAD NOD4>
4638                     <PUSH RTYP5>
4639                     <DEAD RTYP5>
4640                     <PUSH 'T>
4641                     <CALL '\1aBOOL-AN 3 = TEMP7>
4642                     <RETURN TEMP7>
4643                     <DEAD TEMP7>
4644                     <END \1aOR-ANA>
4645 <COND (<GASSIGNED? OR-ANA> <PUTPROP ,OR ANALYSIS ,OR-ANA>)>
4646
4647 " COND analyzer."
4648
4649 #WORD *6631527021*
4650 <GFCN \1aCASE-ANA ("VALUE" ANY ANY ANY) N4 R5>
4651                     <TEMP TEMP7>
4652                     <INTGO>
4653                     <FRAME '\1aCOND-CASE>
4654                     <PUSH N4>
4655                     <DEAD N4>
4656                     <PUSH R5>
4657                     <DEAD R5>
4658                     <PUSH 'T>
4659                     <CALL '\1aCOND-CASE 3 = TEMP7>
4660                     <RETURN TEMP7>
4661                     <DEAD TEMP7>
4662                     <END \1aCASE-ANA>
4663 #WORD *5221531515*
4664 <GFCN \1aCOND-ANA ("VALUE" ANY ANY ANY) N4 R5>
4665                     <TEMP TEMP7>
4666                     <INTGO>
4667                     <FRAME '\1aCOND-CASE>
4668                     <PUSH N4>
4669                     <DEAD N4>
4670                     <PUSH R5>
4671                     <DEAD R5>
4672                     <PUSH %<>>
4673                     <CALL '\1aCOND-CASE 3 = TEMP7>
4674                     <RETURN TEMP7>
4675                     <DEAD TEMP7>
4676                     <END \1aCOND-ANA>
4677 #WORD *35353444435*
4678 <GFCN \1aCOND-CASE ("VALUE" ANY NODE ANY ANY) NOD4 RTYP5 CASE?6>
4679                     <TEMP L7 (FIRST8 'T) (LAST9 %<>) (FIRST115 'T) (DFLG17 %<>) TEMP22 TEMP25 PRED-FLG20 TINF130:LIST TINF31:LIST PRAT16 TST-TYP18 SVWHO19:LIST TEMP59:FIX BR62 EC63 TEMP68 TT10 FNOK11 NFNOK12 L-D32:LIST SUNT165:LIST STR13:LIST SUNT14:LIST L-D133:LIST>
4680                     <INTGO>
4681                     <NTHUV NOD4 5 = L7 (TYPE LIST)>
4682                     <GEN-LVAL 'PRED = TEMP22>
4683                     <NTHUV NOD4 2 = TEMP25>
4684                     <EQUAL? TEMP22 TEMP25 - TAG21>
4685                     <DEAD TEMP22 TEMP25>
4686                     <SET PRED-FLG20 'T (TYPE ATOM)>
4687                     <JUMP + TAG26>
4688 TAG21
4689                     <SET PRED-FLG20 %<> (TYPE FALSE)>
4690 TAG26
4691                     <GETS 'BIND = TEMP25 (TYPE LBIND)>
4692                     <BBIND 'TRUTH 'LIST 'FIX ()>
4693                     <BBIND 'UNTRUTH 'LIST 'FIX ()>
4694                     <SET TINF130 () (TYPE LIST)>
4695                     <SET TINF31 () (TYPE LIST)>
4696                     <GEN-LVAL 'PRED = TEMP22>
4697                     <BBIND 'PRED <OR FALSE NODE> 'FIX TEMP22>
4698                     <DEAD TEMP22>
4699                     <EMPL? L7 - PHRASE39 (TYPE LIST)>
4700                     <FRAME '\1aTYPE-OK?>
4701                     <PUSH 'FALSE>
4702                     <PUSH RTYP5>
4703                     <DEAD RTYP5>
4704                     <CALL '\1aTYPE-OK? 2>
4705                     <JUMP + MAPEX55>
4706 PHRASE39
4707                     <TYPE? CASE?6 <TYPE-CODE FALSE> + PHRASE43>
4708                     <NTHL L7 1 = TEMP22 (TYPE NODE)>
4709                     <NTHUV TEMP22 5 = TEMP22 (TYPE LIST)>
4710                     <NTHL TEMP22 1 = TEMP22 (TYPE NODE)>
4711                     <NTHUV TEMP22 4 = PRAT16>
4712                     <DEAD TEMP22>
4713                     <GETS 'BIND = TEMP22 (TYPE LBIND)>
4714                     <BBIND 'WHON 'NODE 'FIX NOD4>
4715                     <BBIND 'WHO 'LIST 'FIX ()>
4716                     <FRAME '\1aEANA>
4717                     <RESTL L7 1 = LAST9 (TYPE LIST)>
4718                     <NTHL LAST9 1 = STACK (TYPE NODE)>
4719                     <DEAD LAST9>
4720                     <PUSH 'ANY>
4721                     <PUSH 'CASE>
4722                     <CALL '\1aEANA 3 = TST-TYP18>
4723                     <NTHR 'WHO 2 = LAST9 (RECORD-TYPE ATOM) (TYPE LBIND)>
4724                     <NTHR LAST9 1 = SVWHO19 (RECORD-TYPE LBIND)>
4725                     <DEAD LAST9>
4726                     <UNBIND TEMP22>
4727                     <DEAD TEMP22>
4728                     <ADJ -18>
4729                     <RESTL L7 1 = L7 (TYPE LIST)>
4730                     <RESTL L7 1 = L7 (TYPE LIST)>
4731 PHRASE43
4732                     <SET TEMP22 L7 (TYPE LIST)>
4733                     <DEAD L7>
4734                     <SET TEMP59 0 (TYPE FIX)>
4735                     <FRAME '\1aTYPE-MERGE>
4736                     <LOOP>
4737 MAP53
4738                     <INTGO>
4739                     <EMPL? TEMP22 + MAPAP56>
4740                     <SET L7 TEMP22>
4741                     <NTHL L7 1 = BR62 (TYPE NODE)>
4742                     <SET EC63 'T (TYPE ATOM)>
4743                     <NTHUV BR62 1 = TEMP68 (TYPE FIX)>
4744                     <VEQUAL? TEMP68 2 + PHRASE67 (TYPE FIX)>
4745                     <DEAD TEMP68>
4746                     <PUTUV BR62 8 %<>>
4747 PHRASE67
4748                     <NTHR 'PRED 2 = TEMP68 (RECORD-TYPE ATOM) (TYPE LBIND)>
4749                     <PUTR TEMP68 1 BR62 (RECORD-TYPE LBIND)>
4750                     <DEAD TEMP68>
4751                     <TYPE? CASE?6 <TYPE-CODE FALSE> + PHRASE72>
4752                     <NTHUV BR62 1 = TEMP68 (TYPE FIX)>
4753                     <VEQUAL? TEMP68 2 - PHRASE72 (TYPE FIX)>
4754                     <DEAD TEMP68>
4755                     <SET DFLG17 'T (TYPE ATOM)>
4756                     <JUMP + MAP54>
4757 PHRASE72
4758                     <NTHUV BR62 4 = TEMP68>
4759                     <TYPE? TEMP68 <TYPE-CODE FALSE> - PHRASE76>
4760                     <DEAD TEMP68>
4761                     <FRAME '\1aCOMPILE-ERROR>
4762                     <PUSH "Empty COND clause: ">
4763                     <PUSH BR62>
4764                     <CALL '\1aCOMPILE-ERROR 2>
4765 PHRASE76
4766                     <NTHR 'TRUTH 2 = TEMP68 (RECORD-TYPE ATOM) (TYPE LBIND)>
4767                     <PUTR TEMP68 1 () (RECORD-TYPE LBIND)>
4768                     <DEAD TEMP68>
4769                     <NTHR 'UNTRUTH 2 = TEMP68 (RECORD-TYPE ATOM) (TYPE LBIND)>
4770                     <PUTR TEMP68 1 () (RECORD-TYPE LBIND)>
4771                     <DEAD TEMP68>
4772                     <RESTL L7 1 = TEMP68 (TYPE LIST)>
4773                     <DEAD L7>
4774                     <EMPL? TEMP68 - TAG82 (TYPE LIST)>
4775                     <DEAD TEMP68>
4776                     <SET LAST9 'T (TYPE ATOM)>
4777                     <JUMP + TAG83>
4778 TAG82
4779                     <SET LAST9 %<> (TYPE FALSE)>
4780 TAG83
4781                     <NTHUV BR62 5 = TEMP68 (TYPE LIST)>
4782                     <EMPL? TEMP68 + PHRASE85 (TYPE LIST)>
4783                     <DEAD TEMP68>
4784                     <SET EC63 %<> (TYPE FALSE)>
4785                     <SET TT10 'ANY (TYPE ATOM)>
4786                     <JUMP + PHRASE87>
4787 PHRASE85
4788                     <VEQUAL? LAST9 0 + PHRASE86>
4789                     <SET TT10 RTYP5>
4790                     <JUMP + PHRASE87>
4791 PHRASE86
4792                     <FRAME '\1aTYPE-MERGE>
4793                     <PUSH RTYP5>
4794                     <PUSH 'FALSE>
4795                     <CALL '\1aTYPE-MERGE 2 = TT10>
4796 PHRASE87
4797                     <TYPE? CASE?6 <TYPE-CODE FALSE> + PHRASE90>
4798                     <FRAME '\1aSPEC-ANA>
4799                     <NTHUV BR62 4 = TEMP68>
4800                     <NTHUV TEMP68 4 = STACK>
4801                     <DEAD TEMP68>
4802                     <PUSH PRAT16>
4803                     <PUSH TST-TYP18>
4804                     <PUSH TT10>
4805                     <DEAD TT10>
4806                     <PUSH DFLG17>
4807                     <DEAD DFLG17>
4808                     <PUSH BR62>
4809                     <PUSH SVWHO19>
4810                     <CALL '\1aSPEC-ANA 7 = TT10>
4811                     <JUMP + PHRASE92>
4812 PHRASE90
4813                     <FRAME '\1aANA>
4814                     <NTHUV BR62 4 = STACK (TYPE NODE)>
4815                     <PUSH TT10>
4816                     <DEAD TT10>
4817                     <CALL '\1aANA 2 = TT10>
4818 PHRASE92
4819                     <SET DFLG17 %<> (TYPE FALSE)>
4820                     <NTHR 'PRED 2 = TEMP68 (RECORD-TYPE ATOM) (TYPE LBIND)>
4821                     <PUTR TEMP68 1 DFLG17 (RECORD-TYPE LBIND)>
4822                     <DEAD TEMP68>
4823                     <EQUAL? TT10 'NO-RETURN - TAG97>
4824                     <SET FNOK11 'T (TYPE ATOM)>
4825                     <JUMP + TAG99>
4826 TAG97
4827                     <FRAME '\1aTYPE-OK?>
4828                     <PUSH TT10>
4829                     <PUSH 'FALSE>
4830                     <CALL '\1aTYPE-OK? 2 = TEMP68>
4831                     <TYPE? TEMP68 <TYPE-CODE FALSE> - TAG98>
4832                     <DEAD TEMP68>
4833                     <SET FNOK11 'T (TYPE ATOM)>
4834                     <JUMP + TAG99>
4835 TAG98
4836                     <SET FNOK11 %<> (TYPE FALSE)>
4837 TAG99
4838                     <FRAME '\1aISTYPE?>
4839                     <PUSH TT10>
4840                     <CALL '\1aISTYPE? 1 = TEMP68>
4841                     <VEQUAL? TEMP68 'FALSE - TAG101>
4842                     <DEAD TEMP68>
4843                     <SET NFNOK12 'T (TYPE ATOM)>
4844                     <JUMP + TAG103>
4845 TAG101
4846                     <SET NFNOK12 %<> (TYPE FALSE)>
4847 TAG103
4848                     <GEN-LVAL 'VERBOSE = TEMP68>
4849                     <TYPE? TEMP68 <TYPE-CODE FALSE> + PHRASE116>
4850                     <DEAD TEMP68>
4851                     <VEQUAL? NFNOK12 0 + PHRASE109>
4852                     <FRAME '\1aADDVMESS>
4853                     <PUSH NOD4>
4854                     <NTHUV BR62 5 = TEMP68 (TYPE LIST)>
4855                     <EMPL? TEMP68 - PHRASE112 (TYPE LIST)>
4856                     <DEAD TEMP68>
4857                     <SET TEMP68 () (TYPE LIST)>
4858                     <JUMP + PHRASE113>
4859 PHRASE112
4860                     <CONS " and non-reachable code in clause." () = TEMP68>
4861 PHRASE113
4862                     <NTHUV BR62 4 = L7>
4863                     <CONS L7 TEMP68 = TEMP68>
4864                     <DEAD L7>
4865                     <CONS "Cond predicate always FALSE:  " TEMP68 = STACK>
4866                     <DEAD TEMP68>
4867                     <CALL '\1aADDVMESS 2>
4868 PHRASE109
4869                     <VEQUAL? FNOK11 0 + PHRASE116>
4870                     <VEQUAL? LAST9 0 - PHRASE116>
4871                     <FRAME '\1aADDVMESS>
4872                     <PUSH NOD4>
4873                     <CONS TT10 () = TEMP68>
4874                     <CONS " type of value:  " TEMP68 = TEMP68>
4875                     <NTHUV BR62 4 = L7>
4876                     <CONS L7 TEMP68 = TEMP68>
4877                     <DEAD L7>
4878                     <CONS "Cond ended prematurely because predicate always true:  " TEMP68 = STACK>
4879                     <DEAD TEMP68>
4880                     <CALL '\1aADDVMESS 2>
4881 PHRASE116
4882                     <VEQUAL? FNOK11 0 - PHRASE120>
4883                     <VEQUAL? LAST9 0 - BOOL122>
4884                     <VEQUAL? NFNOK12 0 - PHRASE120>
4885 BOOL122
4886                     <FRAME '\1aBUILD-MODIFIED-TYPE-LIST>
4887                     <GEN-LVAL 'VARTBL = STACK>
4888                     <NTHR 'TRUTH 2 = L7 (RECORD-TYPE ATOM) (TYPE LBIND)>
4889                     <NTHR L7 1 = STACK (RECORD-TYPE LBIND)>
4890                     <DEAD L7>
4891                     <CALL '\1aBUILD-MODIFIED-TYPE-LIST 2 = L7>
4892                     <NTHR 'TRUTH 2 = TEMP68 (RECORD-TYPE ATOM) (TYPE LBIND)>
4893                     <PUTR TEMP68 1 L7 (RECORD-TYPE LBIND)>
4894                     <DEAD TEMP68 L7>
4895                     <FRAME '\1aBUILD-MODIFIED-TYPE-LIST>
4896                     <GEN-LVAL 'VARTBL = STACK>
4897                     <NTHR 'UNTRUTH 2 = TEMP68 (RECORD-TYPE ATOM) (TYPE LBIND)>
4898                     <NTHR TEMP68 1 = STACK (RECORD-TYPE LBIND)>
4899                     <DEAD TEMP68>
4900                     <CALL '\1aBUILD-MODIFIED-TYPE-LIST 2 = TEMP68>
4901                     <NTHR 'UNTRUTH 2 = L7 (RECORD-TYPE ATOM) (TYPE LBIND)>
4902                     <PUTR L7 1 TEMP68 (RECORD-TYPE LBIND)>
4903                     <DEAD L7 TEMP68>
4904                     <FRAME '\1aSAVE-L-D-STATE>
4905                     <GEN-LVAL 'VARTBL = STACK>
4906                     <CALL '\1aSAVE-L-D-STATE 1 = L-D32>
4907                     <VEQUAL? FIRST8 0 + PHRASE143>
4908                     <DEAD FIRST8>
4909                     <NTHR 'UNTRUTH 2 = L7 (RECORD-TYPE ATOM) (TYPE LBIND)>
4910                     <NTHR L7 1 = TINF31 (RECORD-TYPE LBIND)>
4911                     <DEAD L7>
4912                     <JUMP + PHRASE146>
4913 PHRASE143
4914                     <FRAME '\1aANDUP>
4915                     <PUSH TINF31>
4916                     <DEAD TINF31>
4917                     <NTHR 'UNTRUTH 2 = L7 (RECORD-TYPE ATOM) (TYPE LBIND)>
4918                     <NTHR L7 1 = STACK (RECORD-TYPE LBIND)>
4919                     <DEAD L7>
4920                     <CALL '\1aANDUP 2 = TINF31>
4921 PHRASE146
4922                     <FRAME '\1aASSERT-TYPES>
4923                     <NTHR 'TRUTH 2 = L7 (RECORD-TYPE ATOM) (TYPE LBIND)>
4924                     <NTHR L7 1 = STACK (RECORD-TYPE LBIND)>
4925                     <DEAD L7>
4926                     <CALL '\1aASSERT-TYPES 1>
4927                     <SET FIRST8 %<> (TYPE FALSE)>
4928 PHRASE120
4929                     <TYPE? PRED-FLG20 <TYPE-CODE FALSE> + PHRASE154>
4930                     <NTHR 'UNTRUTH 2 = L7 (RECORD-TYPE ATOM) (TYPE LBIND)>
4931                     <NTHR L7 1 = SUNT165 (RECORD-TYPE LBIND)>
4932                     <DEAD L7>
4933                     <NTHR 'UNTRUTH 2 = L7 (RECORD-TYPE ATOM) (TYPE LBIND)>
4934                     <PUTR L7 1 () (RECORD-TYPE LBIND)>
4935                     <DEAD L7>
4936                     <NTHR 'TRUTH 2 = L7 (RECORD-TYPE ATOM) (TYPE LBIND)>
4937                     <PUTR L7 1 () (RECORD-TYPE LBIND)>
4938                     <DEAD L7>
4939 PHRASE154
4940                     <VEQUAL? NFNOK12 0 - PHRASE164>
4941                     <VEQUAL? EC63 0 - BOOL166>
4942                     <FRAME '\1aSEQ-AN>
4943                     <NTHUV BR62 5 = STACK (TYPE LIST)>
4944                     <PUSH RTYP5>
4945                     <PUSH PRED-FLG20>
4946                     <CALL '\1aSEQ-AN 3 = TT10>
4947                     <TYPE? TT10 <TYPE-CODE FALSE> + PHRASE164>
4948 BOOL166
4949                     <EQUAL? TT10 'NO-RETURN + PHRASE169>
4950                     <TYPE? PRED-FLG20 <TYPE-CODE FALSE> + PHRASE196>
4951                     <FRAME '\1aBUILD-MODIFIED-TYPE-LIST>
4952                     <GEN-LVAL 'VARTBL = STACK>
4953                     <NTHR 'TRUTH 2 = TEMP68 (RECORD-TYPE ATOM) (TYPE LBIND)>
4954                     <NTHR TEMP68 1 = STACK (RECORD-TYPE LBIND)>
4955                     <DEAD TEMP68>
4956                     <CALL '\1aBUILD-MODIFIED-TYPE-LIST 2 = TEMP68>
4957                     <NTHR 'TRUTH 2 = NFNOK12 (RECORD-TYPE ATOM) (TYPE LBIND)>
4958                     <PUTR NFNOK12 1 TEMP68 (RECORD-TYPE LBIND)>
4959                     <DEAD NFNOK12 TEMP68>
4960                     <FRAME '\1aBUILD-MODIFIED-TYPE-LIST>
4961                     <GEN-LVAL 'VARTBL = STACK>
4962                     <NTHR 'UNTRUTH 2 = NFNOK12 (RECORD-TYPE ATOM) (TYPE LBIND)>
4963                     <NTHR NFNOK12 1 = STACK (RECORD-TYPE LBIND)>
4964                     <DEAD NFNOK12>
4965                     <CALL '\1aBUILD-MODIFIED-TYPE-LIST 2 = NFNOK12>
4966                     <NTHR 'UNTRUTH 2 = TEMP68 (RECORD-TYPE ATOM) (TYPE LBIND)>
4967                     <PUTR TEMP68 1 NFNOK12 (RECORD-TYPE LBIND)>
4968                     <DEAD TEMP68 NFNOK12>
4969                     <VEQUAL? FIRST115 0 + PHRASE190>
4970                     <NTHR 'TRUTH 2 = NFNOK12 (RECORD-TYPE ATOM) (TYPE LBIND)>
4971                     <NTHR NFNOK12 1 = STR13 (RECORD-TYPE LBIND)>
4972                     <DEAD NFNOK12>
4973                     <FRAME '\1aORUP>
4974                     <PUSH SUNT165>
4975                     <NTHR 'UNTRUTH 2 = NFNOK12 (RECORD-TYPE ATOM) (TYPE LBIND)>
4976                     <NTHR NFNOK12 1 = STACK (RECORD-TYPE LBIND)>
4977                     <DEAD NFNOK12>
4978                     <CALL '\1aORUP 2 = SUNT14>
4979                     <JUMP + PHRASE196>
4980 PHRASE190
4981                     <FRAME '\1aORUP>
4982                     <PUSH STR13>
4983                     <DEAD STR13>
4984                     <NTHR 'TRUTH 2 = NFNOK12 (RECORD-TYPE ATOM) (TYPE LBIND)>
4985                     <NTHR NFNOK12 1 = STACK (RECORD-TYPE LBIND)>
4986                     <DEAD NFNOK12>
4987                     <CALL '\1aORUP 2 = STR13>
4988                     <FRAME '\1aORUP>
4989                     <PUSH SUNT14>
4990                     <DEAD SUNT14>
4991                     <FRAME '\1aORUP>
4992                     <PUSH SUNT165>
4993                     <NTHR 'UNTRUTH 2 = NFNOK12 (RECORD-TYPE ATOM) (TYPE LBIND)>
4994                     <NTHR NFNOK12 1 = STACK (RECORD-TYPE LBIND)>
4995                     <DEAD NFNOK12>
4996                     <CALL '\1aORUP 2 = STACK>
4997                     <CALL '\1aORUP 2 = SUNT14>
4998 PHRASE196
4999                     <VEQUAL? FIRST115 0 + PHRASE205>
5000                     <DEAD FIRST115>
5001                     <FRAME '\1aBUILD-TYPE-LIST>
5002                     <GEN-LVAL 'VARTBL = STACK>
5003                     <CALL '\1aBUILD-TYPE-LIST 1 = TINF130>
5004                     <FRAME '\1aSAVE-L-D-STATE>
5005                     <GEN-LVAL 'VARTBL = STACK>
5006                     <CALL '\1aSAVE-L-D-STATE 1 = L-D133>
5007                     <JUMP + PHRASE212>
5008 PHRASE205
5009                     <FRAME '\1aORUPC>
5010                     <GEN-LVAL 'VARTBL = STACK>
5011                     <PUSH TINF130>
5012                     <DEAD TINF130>
5013                     <CALL '\1aORUPC 2 = TINF130>
5014                     <FRAME '\1aMSAVE-L-D-STATE>
5015                     <PUSH L-D133>
5016                     <DEAD L-D133>
5017                     <GEN-LVAL 'VARTBL = STACK>
5018                     <CALL '\1aMSAVE-L-D-STATE 2 = L-D133>
5019 PHRASE212
5020                     <SET FIRST115 %<> (TYPE FALSE)>
5021 PHRASE169
5022                     <VEQUAL? FIRST8 0 - BOOL221>
5023                     <FRAME '\1aRESTORE-L-D-STATE>
5024                     <PUSH L-D32>
5025                     <GEN-LVAL 'VARTBL = STACK>
5026                     <CALL '\1aRESTORE-L-D-STATE 2>
5027 BOOL221
5028                     <VEQUAL? LAST9 0 + PHRASE227>
5029                     <VEQUAL? FNOK11 0 - PHRASE232>
5030                     <FRAME '\1aTYPE-MERGE>
5031                     <PUSH TT10>
5032                     <DEAD TT10>
5033                     <PUSH 'FALSE>
5034                     <CALL '\1aTYPE-MERGE 2 = TT10>
5035                     <JUMP + PHRASE232>
5036 PHRASE227
5037                     <VEQUAL? EC63 0 + PHRASE232>
5038                     <DEAD EC63>
5039                     <FRAME '\1aTYPE-OK?>
5040                     <PUSH TT10>
5041                     <DEAD TT10>
5042                     <PUSH <NOT FALSE>>
5043                     <CALL '\1aTYPE-OK? 2 = TT10>
5044                     <JUMP + PHRASE232>
5045 PHRASE164
5046                     <VEQUAL? NFNOK12 0 + PHRASE232>
5047                     <DEAD NFNOK12>
5048                     <SET TT10 'FALSE (TYPE ATOM)>
5049 PHRASE232
5050                     <FRAME '\1aUPDATE-SIDE-EFFECTS>
5051                     <PUSH BR62>
5052                     <DEAD BR62>
5053                     <PUSH NOD4>
5054                     <CALL '\1aUPDATE-SIDE-EFFECTS 2>
5055                     <VEQUAL? LAST9 0 - BOOL237>
5056                     <DEAD LAST9>
5057                     <VEQUAL? FNOK11 0 + PHRASE235>
5058 BOOL237
5059                     <TYPE? TT10 <TYPE-CODE FALSE> + PHRASE235>
5060                     <VEQUAL? FNOK11 0 + PHRASE239>
5061                     <DEAD FNOK11>
5062                     <FRAME '\1aASSERT-TYPES>
5063                     <PUSH TINF130>
5064                     <DEAD TINF130>
5065                     <CALL '\1aASSERT-TYPES 1>
5066                     <VEQUAL? FIRST115 0 - PHRASE255>
5067                     <DEAD FIRST115>
5068                     <FRAME '\1aRESTORE-L-D-STATE>
5069                     <PUSH L-D133>
5070                     <DEAD L-D133>
5071                     <GEN-LVAL 'VARTBL = STACK>
5072                     <CALL '\1aRESTORE-L-D-STATE 2>
5073                     <JUMP + PHRASE255>
5074 PHRASE239
5075                     <VEQUAL? FIRST115 0 + PHRASE248>
5076                     <DEAD FIRST115>
5077                     <FRAME '\1aASSERT-TYPES>
5078                     <PUSH TINF31>
5079                     <DEAD TINF31>
5080                     <CALL '\1aASSERT-TYPES 1>
5081                     <VEQUAL? FIRST8 0 - PHRASE255>
5082                     <DEAD FIRST8>
5083                     <FRAME '\1aRESTORE-L-D-STATE>
5084                     <PUSH L-D32>
5085                     <DEAD L-D32>
5086                     <GEN-LVAL 'VARTBL = STACK>
5087                     <CALL '\1aRESTORE-L-D-STATE 2>
5088                     <JUMP + PHRASE255>
5089 PHRASE248
5090                     <FRAME '\1aASSERT-TYPES>
5091                     <FRAME '\1aORUP>
5092                     <PUSH TINF31>
5093                     <DEAD TINF31>
5094                     <PUSH TINF130>
5095                     <DEAD TINF130>
5096                     <CALL '\1aORUP 2 = STACK>
5097                     <CALL '\1aASSERT-TYPES 1>
5098                     <FRAME '\1aMRESTORE-L-D-STATE>
5099                     <PUSH L-D133>
5100                     <DEAD L-D133>
5101                     <PUSH L-D32>
5102                     <DEAD L-D32>
5103                     <GEN-LVAL 'VARTBL = STACK>
5104                     <CALL '\1aMRESTORE-L-D-STATE 3>
5105 PHRASE255
5106                     <PUSH TT10>
5107                     <DEAD TT10>
5108                     <ADD TEMP59 1 = TEMP59 (TYPE FIX)>
5109                     <JUMP + MAPAP56>
5110 PHRASE235
5111                     <TYPE? TT10 <TYPE-CODE FALSE> + PHRASE263>
5112                     <FRAME '\1aASSERT-TYPES>
5113                     <PUSH TINF31>
5114                     <CALL '\1aASSERT-TYPES 1>
5115                     <JUMP + PHRASE266>
5116 PHRASE263
5117                     <FRAME '\1aASSERT-TYPES>
5118                     <PUSH TINF31>
5119                     <CALL '\1aASSERT-TYPES 1>
5120                     <JUMP + MAP54>
5121 PHRASE266
5122                     <PUSH TT10>
5123                     <DEAD TT10>
5124                     <ADD TEMP59 1 = TEMP59 (TYPE FIX)>
5125 MAP54
5126                     <RESTL TEMP22 1 = TEMP22 (TYPE LIST)>
5127                     <JUMP + MAP53>
5128 MAPAP56
5129                     <CALL '\1aTYPE-MERGE TEMP59 = TT10>
5130                     <DEAD TEMP59>
5131 MAPEX55
5132                     <UNBIND TEMP25>
5133                     <DEAD TEMP25>
5134                     <ADJ -27>
5135                     <TYPE? PRED-FLG20 <TYPE-CODE FALSE> + PHRASE270>
5136                     <DEAD PRED-FLG20>
5137                     <GEN-SET 'TRUTH STR13>
5138                     <DEAD STR13>
5139                     <GEN-SET 'UNTRUTH SUNT14>
5140                     <DEAD SUNT14>
5141 PHRASE270
5142                     <RETURN TT10>
5143                     <DEAD TT10>
5144                     <END \1aCOND-CASE>
5145 " PROG/REPEAT analyzer.  Hacks bindings and sets up info for GO/RETURN/AGAIN
5146   analyzers."
5147
5148 #WORD *34616266606*
5149 <GFCN \1aPRG-REP-ANA ("VALUE" ANY NODE ANY) PPNOD4 RT5>
5150                     <TEMP TEMP13 TEMP3:LBIND TEMP16 OPN10 TEMP25 L-D9:LIST TEMP50 STMPS49:FIX SHTMPS53:FIX LL56:LIST TEMP65 TEMP85 TT8>
5151                     <INTGO>
5152                     <GEN-LVAL 'VARTBL = TEMP13>
5153                     <GETS 'BIND = TEMP3 (TYPE LBIND)>
5154                     <NTHUV PPNOD4 11 = TEMP16 (TYPE SYMTAB)>
5155                     <BBIND 'VARTBL 'SYMTAB 'FIX TEMP16>
5156                     <DEAD TEMP16>
5157                     <GEN-ASSIGNED? 'PNOD + TAG18>
5158                     <SET TEMP16 %<> (TYPE FALSE)>
5159                     <JUMP + BOOL17>
5160 TAG18
5161                     <GEN-LVAL 'PNOD = TEMP16>
5162 BOOL17
5163                     <SET OPN10 TEMP16>
5164                     <DEAD TEMP16>
5165                     <BBIND 'PNOD 'NODE 'FIX>
5166                     <NTHUV PPNOD4 9 = TEMP16>
5167                     <GVAL 'BIND = TEMP25>
5168                     <EQUAL? TEMP16 TEMP25 + PHRASE24>
5169                     <DEAD TEMP16 TEMP25>
5170                     <NTHR 'PNOD 2 = TEMP25 (RECORD-TYPE ATOM) (TYPE LBIND)>
5171                     <PUTR TEMP25 1 PPNOD4 (RECORD-TYPE LBIND)>
5172                     <DEAD TEMP25>
5173                     <JUMP + PHRASE28>
5174 PHRASE24
5175                     <TYPE? OPN10 <TYPE-CODE FALSE> + PHRASE28>
5176                     <NTHR 'PNOD 2 = TEMP25 (RECORD-TYPE ATOM) (TYPE LBIND)>
5177                     <PUTR TEMP25 1 OPN10 (RECORD-TYPE LBIND)>
5178                     <DEAD TEMP25 OPN10>
5179 PHRASE28
5180                     <GETS 'BIND = TEMP25 (TYPE LBIND)>
5181                     <BBIND 'TMPS 'FIX 'FIX 0>
5182                     <BBIND 'HTMPS 'FIX 'FIX 0>
5183                     <FRAME '\1aACTIV?>
5184                     <NTHUV PPNOD4 10 = STACK (TYPE LIST)>
5185                     <PUSH 'T>
5186                     <CALL '\1aACTIV? 2 = OPN10>
5187                     <FRAME '\1aBIND-AN>
5188                     <NTHUV PPNOD4 10 = STACK (TYPE LIST)>
5189                     <CALL '\1aBIND-AN 1>
5190                     <FRAME '\1aSAVE-L-D-STATE>
5191                     <NTHR 'VARTBL 2 = TEMP16 (RECORD-TYPE ATOM) (TYPE LBIND)>
5192                     <NTHR TEMP16 1 = STACK (RECORD-TYPE LBIND)>
5193                     <DEAD TEMP16>
5194                     <CALL '\1aSAVE-L-D-STATE 1 = L-D9>
5195                     <FRAME '\1aRESET-VARS>
5196                     <NTHR 'VARTBL 2 = TEMP16 (RECORD-TYPE ATOM) (TYPE LBIND)>
5197                     <NTHR TEMP16 1 = STACK (RECORD-TYPE LBIND)>
5198                     <DEAD TEMP16>
5199                     <PUSH TEMP13>
5200                     <PUSH 'T>
5201                     <CALL '\1aRESET-VARS 3>
5202                     <FRAME '\1aTYPE-OK?>
5203                     <PUSH RT5>
5204                     <NTHUV PPNOD4 17 = STACK>
5205                     <CALL '\1aTYPE-OK? 2 = TEMP16>
5206                     <TYPE? TEMP16 <TYPE-CODE FALSE> - PHRASE45>
5207                     <FRAME '\1aCOMPILE-ERROR>
5208                     <PUSH "Required type of PROG/REPEAT call violates its decl.">
5209                     <PUSH "Required type is ">
5210                     <PUSH RT5>
5211                     <DEAD RT5>
5212                     <PUSH " and value decl is ">
5213                     <NTHUV PPNOD4 17 = STACK>
5214                     <CALL '\1aCOMPILE-ERROR 5>
5215 PHRASE45
5216                     <PUTUV PPNOD4 3 TEMP16>
5217                     <NTHR 'TMPS 2 = TEMP50 (RECORD-TYPE ATOM) (TYPE LBIND)>
5218                     <NTHR TEMP50 1 = STMPS49 (RECORD-TYPE LBIND)>
5219                     <DEAD TEMP50>
5220                     <NTHR 'HTMPS 2 = TEMP50 (RECORD-TYPE ATOM) (TYPE LBIND)>
5221                     <NTHR TEMP50 1 = SHTMPS53 (RECORD-TYPE LBIND)>
5222                     <DEAD TEMP50>
5223                     <GEN-LVAL 'LIFE = LL56>
5224                     <GEN-LVAL 'VERBOSE = TEMP50>
5225                     <LOOP>
5226 AGAIN62
5227                     <INTGO>
5228                     <GEN-LVAL 'VERBOSE = TEMP65>
5229                     <TYPE? TEMP65 <TYPE-CODE FALSE> + PHRASE64>
5230                     <DEAD TEMP65>
5231                     <GEN-SET 'VERBOSE TEMP50>
5232                     <PUTREST TEMP50 ()>
5233 PHRASE64
5234                     <FRAME '\1aMUNG-L-D-STATE>
5235                     <NTHR 'VARTBL 2 = TEMP65 (RECORD-TYPE ATOM) (TYPE LBIND)>
5236                     <NTHR TEMP65 1 = STACK (RECORD-TYPE LBIND)>
5237                     <DEAD TEMP65>
5238                     <CALL '\1aMUNG-L-D-STATE 1>
5239                     <GEN-SET 'LIFE LL56>
5240                     <PUTUV PPNOD4 19 %<>>
5241                     <PUTUV PPNOD4 15 ()>
5242                     <PUTUV PPNOD4 16 ()>
5243                     <PUTUV PPNOD4 7 () (TYPE LIST)>
5244                     <NTHR 'TMPS 2 = TEMP65 (RECORD-TYPE ATOM) (TYPE LBIND)>
5245                     <PUTR TEMP65 1 STMPS49 (RECORD-TYPE LBIND)>
5246                     <DEAD TEMP65>
5247                     <NTHR 'HTMPS 2 = TEMP65 (RECORD-TYPE ATOM) (TYPE LBIND)>
5248                     <PUTR TEMP65 1 SHTMPS53 (RECORD-TYPE LBIND)>
5249                     <DEAD TEMP65>
5250                     <FRAME '\1aBUILD-TYPE-LIST>
5251                     <NTHR 'VARTBL 2 = TEMP65 (RECORD-TYPE ATOM) (TYPE LBIND)>
5252                     <NTHR TEMP65 1 = STACK (RECORD-TYPE LBIND)>
5253                     <DEAD TEMP65>
5254                     <CALL '\1aBUILD-TYPE-LIST 1 = TEMP65>
5255                     <PUTUV PPNOD4 18 TEMP65 (TYPE LIST)>
5256                     <DEAD TEMP65>
5257                     <PUTUV PPNOD4 14 'NO-RETURN>
5258                     <FRAME '\1aSEQ-AN>
5259                     <NTHUV PPNOD4 5 = STACK (TYPE LIST)>
5260                     <NTHUV PPNOD4 9 = TEMP65>
5261                     <GVAL 'REPEAT = TEMP85>
5262                     <EQUAL? TEMP65 TEMP85 + PHRASE84>
5263                     <DEAD TEMP65 TEMP85>
5264                     <SET TEMP85 TEMP16>
5265                     <JUMP + PHRASE86>
5266 PHRASE84
5267                     <SET TEMP85 'ANY (TYPE ATOM)>
5268 PHRASE86
5269                     <PUSH TEMP85>
5270                     <DEAD TEMP85>
5271                     <CALL '\1aSEQ-AN 2 = TT8>
5272                     <TYPE? OPN10 <TYPE-CODE FALSE> + PHRASE88>
5273                     <FRAME '\1aSPEC-FLUSH>
5274                     <CALL '\1aSPEC-FLUSH 0>
5275                     <FRAME '\1aPUT-FLUSH>
5276                     <PUSH 'ALL>
5277                     <CALL '\1aPUT-FLUSH 1>
5278 PHRASE88
5279                     <TYPE? OPN10 <TYPE-CODE FALSE> - BOOL93>
5280                     <NTHUV PPNOD4 9 = TEMP85>
5281                     <GVAL 'REPEAT = TEMP65>
5282                     <EQUAL? TEMP85 TEMP65 + BOOL93>
5283                     <DEAD TEMP85 TEMP65>
5284                     <NTHUV PPNOD4 19 = TEMP65>
5285                     <TYPE? TEMP65 <TYPE-CODE FALSE> + PHRASE92>
5286                     <DEAD TEMP65>
5287 BOOL93
5288                     <FRAME '\1aASSUM-OK?>
5289                     <NTHUV PPNOD4 18 = STACK (TYPE LIST)>
5290                     <NTHUV PPNOD4 9 = TEMP65>
5291                     <GVAL 'REPEAT = TEMP85>
5292                     <EQUAL? TEMP65 TEMP85 + PHRASE98>
5293                     <DEAD TEMP65 TEMP85>
5294                     <NTHUV PPNOD4 19 = TEMP85>
5295                     <TYPE? TEMP85 <TYPE-CODE FALSE> + PHRASE98>
5296                     <DEAD TEMP85>
5297                     <NTHUV PPNOD4 19 = TEMP85 (TYPE LIST)>
5298                     <JUMP + PHRASE104>
5299 PHRASE98
5300                     <NTHUV PPNOD4 19 = TEMP65>
5301                     <TYPE? TEMP65 <TYPE-CODE FALSE> + PHRASE100>
5302                     <DEAD TEMP65>
5303                     <FRAME '\1aORUPC>
5304                     <NTHR 'VARTBL 2 = TEMP65 (RECORD-TYPE ATOM) (TYPE LBIND)>
5305                     <NTHR TEMP65 1 = STACK (RECORD-TYPE LBIND)>
5306                     <DEAD TEMP65>
5307                     <NTHUV PPNOD4 19 = STACK (TYPE LIST)>
5308                     <CALL '\1aORUPC 2 = TEMP85>
5309                     <JUMP + PHRASE104>
5310 PHRASE100
5311                     <FRAME '\1aBUILD-TYPE-LIST>
5312                     <NTHR 'VARTBL 2 = TEMP65 (RECORD-TYPE ATOM) (TYPE LBIND)>
5313                     <NTHR TEMP65 1 = STACK (RECORD-TYPE LBIND)>
5314                     <DEAD TEMP65>
5315                     <CALL '\1aBUILD-TYPE-LIST 1 = TEMP85>
5316 PHRASE104
5317                     <PUSH TEMP85>
5318                     <DEAD TEMP85>
5319                     <CALL '\1aASSUM-OK? 2 = TEMP85>
5320                     <TYPE? TEMP85 <TYPE-CODE FALSE> - PHRASE108>
5321                     <DEAD TEMP85>
5322                     <JUMP + AGAIN62>
5323 PHRASE92
5324                     <FRAME '\1aACTIV?>
5325                     <NTHUV PPNOD4 10 = STACK (TYPE LIST)>
5326                     <PUSH 'T>
5327                     <CALL '\1aACTIV? 2 = OPN10>
5328                     <VEQUAL? OPN10 0 + PHRASE108>
5329                     <FRAME '\1aASSERT-TYPES>
5330                     <NTHUV PPNOD4 18 = STACK (TYPE LIST)>
5331                     <CALL '\1aASSERT-TYPES 1>
5332                     <JUMP + AGAIN62>
5333 PHRASE108
5334                     <NTHUV PPNOD4 9 = TEMP85>
5335                     <GVAL 'REPEAT = TEMP65>
5336                     <EQUAL? TEMP85 TEMP65 - PHRASE119>
5337                     <DEAD TEMP85 TEMP65>
5338                     <NTHUV PPNOD4 19 = TEMP65>
5339                     <TYPE? TEMP65 <TYPE-CODE FALSE> + PHRASE115>
5340                     <DEAD TEMP65>
5341                     <FRAME '\1aMSAVE-L-D-STATE>
5342                     <NTHUV PPNOD4 7 = STACK (TYPE LIST)>
5343                     <NTHR 'VARTBL 2 = TEMP65 (RECORD-TYPE ATOM) (TYPE LBIND)>
5344                     <NTHR TEMP65 1 = STACK (RECORD-TYPE LBIND)>
5345                     <DEAD TEMP65>
5346                     <CALL '\1aMSAVE-L-D-STATE 2 = TEMP65>
5347                     <PUTUV PPNOD4 7 TEMP65 (TYPE LIST)>
5348                     <DEAD TEMP65>
5349                     <JUMP + PHRASE119>
5350 PHRASE115
5351                     <FRAME '\1aSAVE-L-D-STATE>
5352                     <NTHR 'VARTBL 2 = TEMP65 (RECORD-TYPE ATOM) (TYPE LBIND)>
5353                     <NTHR TEMP65 1 = STACK (RECORD-TYPE LBIND)>
5354                     <DEAD TEMP65>
5355                     <CALL '\1aSAVE-L-D-STATE 1 = TEMP65>
5356                     <PUTUV PPNOD4 7 TEMP65 (TYPE LIST)>
5357                     <DEAD TEMP65>
5358 PHRASE119
5359                     <FRAME '\1aSAVE-SURVIVORS>
5360                     <PUSH L-D9>
5361                     <DEAD L-D9>
5362                     <GEN-LVAL 'LIFE = STACK>
5363                     <PUSH 'T>
5364                     <CALL '\1aSAVE-SURVIVORS 3>
5365                     <FRAME '\1aSAVE-SURVIVORS>
5366                     <NTHUV PPNOD4 7 = STACK (TYPE LIST)>
5367                     <GEN-LVAL 'LIFE = STACK>
5368                     <CALL '\1aSAVE-SURVIVORS 2>
5369                     <TYPE? TT8 <TYPE-CODE FALSE> - PHRASE130>
5370                     <FRAME '\1aCOMPILE-ERROR>
5371                     <PUSH "PROG/REPEAT returns incorrect type ">
5372                     <PUSH TEMP16>
5373                     <PUSH PPNOD4>
5374                     <CALL '\1aCOMPILE-ERROR 3>
5375 PHRASE130
5376                     <EQUAL? TT8 'NO-RETURN + PHRASE133>
5377                     <NTHUV PPNOD4 9 = TEMP50>
5378                     <GVAL 'REPEAT = TEMP65>
5379                     <EQUAL? TEMP50 TEMP65 + PHRASE133>
5380                     <DEAD TEMP50 TEMP65>
5381                     <FRAME '\1aMSAVE-L-D-STATE>
5382                     <NTHUV PPNOD4 15 = STACK (TYPE LIST)>
5383                     <NTHR 'VARTBL 2 = TEMP65 (RECORD-TYPE ATOM) (TYPE LBIND)>
5384                     <NTHR TEMP65 1 = STACK (RECORD-TYPE LBIND)>
5385                     <DEAD TEMP65>
5386                     <CALL '\1aMSAVE-L-D-STATE 2 = TEMP65>
5387                     <PUTUV PPNOD4 15 TEMP65>
5388                     <DEAD TEMP65>
5389                     <NTHUV PPNOD4 14 = TEMP65>
5390                     <EQUAL? TEMP65 'NO-RETURN + PHRASE146>
5391                     <DEAD TEMP65>
5392                     <FRAME '\1aASSERT-TYPES>
5393                     <FRAME '\1aORUPC>
5394                     <NTHR 'VARTBL 2 = TEMP65 (RECORD-TYPE ATOM) (TYPE LBIND)>
5395                     <NTHR TEMP65 1 = STACK (RECORD-TYPE LBIND)>
5396                     <DEAD TEMP65>
5397                     <NTHUV PPNOD4 16 = STACK (TYPE LIST)>
5398                     <CALL '\1aORUPC 2 = STACK>
5399                     <CALL '\1aASSERT-TYPES 1>
5400                     <JUMP + PHRASE146>
5401 PHRASE133
5402                     <NTHUV PPNOD4 14 = TEMP65>
5403                     <EQUAL? TEMP65 'NO-RETURN + PHRASE146>
5404                     <DEAD TEMP65>
5405                     <FRAME '\1aASSERT-TYPES>
5406                     <NTHUV PPNOD4 16 = STACK (TYPE LIST)>
5407                     <CALL '\1aASSERT-TYPES 1>
5408 PHRASE146
5409                     <FRAME '\1aFREST-L-D-STATE>
5410                     <NTHUV PPNOD4 15 = STACK (TYPE LIST)>
5411                     <CALL '\1aFREST-L-D-STATE 1>
5412                     <FRAME '\1aKILL-REM>
5413                     <GEN-LVAL 'LIFE = STACK>
5414                     <PUSH TEMP13>
5415                     <DEAD TEMP13>
5416                     <CALL '\1aKILL-REM 2 = TEMP50>
5417                     <GEN-SET 'LIFE TEMP50>
5418                     <DEAD TEMP50>
5419                     <TYPE? OPN10 <TYPE-CODE FALSE> + PHRASE155>
5420                     <DEAD OPN10>
5421                     <CONS 'ALL () = TEMP50>
5422                     <PUTUV PPNOD4 8 TEMP50>
5423                     <DEAD TEMP50>
5424                     <SET TEMP50 TEMP16>
5425                     <DEAD TEMP16>
5426                     <JUMP + PHRASE159>
5427 PHRASE155
5428                     <NTHUV PPNOD4 9 = TEMP13>
5429                     <GVAL 'REPEAT = TEMP16>
5430                     <EQUAL? TEMP13 TEMP16 - PHRASE156>
5431                     <DEAD TEMP13 TEMP16>
5432                     <NTHUV PPNOD4 14 = TEMP50>
5433                     <JUMP + PHRASE159>
5434 PHRASE156
5435                     <FRAME '\1aTYPE-MERGE>
5436                     <PUSH TT8>
5437                     <DEAD TT8>
5438                     <NTHUV PPNOD4 14 = STACK>
5439                     <CALL '\1aTYPE-MERGE 2 = TEMP50>
5440 PHRASE159
5441                     <PUTUV PPNOD4 14 TEMP50>
5442                     <DEAD TEMP50>
5443                     <UNBIND TEMP25>
5444                     <DEAD TEMP25>
5445                     <ADJ -18>
5446                     <NTHUV PPNOD4 14 = TEMP25>
5447                     <DEAD PPNOD4>
5448                     <UNBIND TEMP3>
5449                     <DEAD TEMP3>
5450                     <ADJ -18>
5451                     <RETURN TEMP25>
5452                     <DEAD TEMP25>
5453                     <END \1aPRG-REP-ANA>
5454 " Determine if assumptions made for this loop are still valid."
5455
5456 #WORD *25666762676*
5457 <GFCN \1aASSUM-OK? ("VALUE" <OR ATOM FALSE> <LIST [REST <LIST SYMTAB ANY>]> <LIST [REST <LIST SYMTAB ANY>]>) AS4 TY5>
5458                     <TEMP (OK?6 'T) TEMP9 L22:LIST SYM23 TT24 TEMP27 LL38:LIST TEMP43>
5459                     <INTGO>
5460                     <GEN-LVAL 'ANALY-OK = TEMP9>
5461                     <TYPE? TEMP9 <TYPE-CODE FALSE> + PHRASE91>
5462                     <DEAD TEMP9>
5463                     <SET TEMP9 AS4 (TYPE LIST)>
5464                     <LOOP>
5465 MAP13
5466                     <INTGO>
5467                     <EMPL? TEMP9 + MAPAP16>
5468                     <NTHL TEMP9 1 = L22>
5469                     <NTHL L22 1 = SYM23 (TYPE SYMTAB)>
5470                     <RESTL L22 1 = TEMP27 (TYPE LIST)>
5471                     <NTHL TEMP27 1 = TEMP27>
5472                     <VEQUAL? TEMP27 'ANY + MAPAP32>
5473                     <DEAD TEMP27>
5474                     <SET TEMP27 TY5 (TYPE LIST)>
5475                     <LOOP>
5476 MAP29
5477                     <INTGO>
5478                     <EMPL? TEMP27 + MAPAP32>
5479                     <NTHL TEMP27 1 = LL38>
5480                     <SET TT24 'T (TYPE ATOM)>
5481                     <NTHL LL38 1 = TEMP43 (TYPE SYMTAB)>
5482                     <VEQUAL? TEMP43 SYM23 + TAG42>
5483                     <DEAD TEMP43>
5484                     <SET TT24 %<> (TYPE FALSE)>
5485                     <JUMP + BOOL61>
5486 TAG42
5487                     <FRAME '\1aN=?>
5488                     <RESTL L22 1 = TEMP43 (TYPE LIST)>
5489                     <NTHL TEMP43 1 = STACK>
5490                     <DEAD TEMP43>
5491                     <RESTL LL38 1 = TEMP43 (TYPE LIST)>
5492                     <NTHL TEMP43 1 = STACK>
5493                     <DEAD TEMP43>
5494                     <CALL '\1aN=? 2 = TEMP43>
5495                     <VEQUAL? TEMP43 0 + BOOL61>
5496                     <DEAD TEMP43>
5497                     <RESTL L22 1 = TEMP43 (TYPE LIST)>
5498                     <NTHL TEMP43 1 = TEMP43>
5499                     <VEQUAL? TEMP43 'NO-RETURN + BOOL45>
5500                     <DEAD TEMP43>
5501                     <FRAME '\1aTYPE-OK?>
5502                     <RESTL LL38 1 = TEMP43 (TYPE LIST)>
5503                     <NTHL TEMP43 1 = STACK>
5504                     <DEAD TEMP43>
5505                     <FRAME '\1aNOTIFY>
5506                     <RESTL L22 1 = TEMP43 (TYPE LIST)>
5507                     <NTHL TEMP43 1 = STACK>
5508                     <DEAD TEMP43>
5509                     <CALL '\1aNOTIFY 1 = STACK>
5510                     <CALL '\1aTYPE-OK? 2 = TEMP43>
5511                     <TYPE? TEMP43 <TYPE-CODE FALSE> + BOOL61>
5512                     <DEAD TEMP43>
5513 BOOL45
5514                     <VEQUAL? OK?6 0 + PHRASE57>
5515                     <DEAD OK?6>
5516                     <FRAME '\1a+>
5517                     <GEN-LVAL 'BACKTRACK = STACK>
5518                     <PUSH 1>
5519                     <CALL '\1a+ 2 = OK?6>
5520                     <GEN-SET 'BACKTRACK OK?6>
5521                     <DEAD OK?6>
5522                     <GVAL 'STATUS-LINE = OK?6>
5523                     <TYPE? OK?6 <TYPE-CODE FALSE> + PHRASE57>
5524                     <DEAD OK?6>
5525                     <FRAME '\1aUPDATE-STATUS>
5526                     <PUSH "Comp">
5527                     <PUSH %<>>
5528                     <PUSH "ANA">
5529                     <GEN-LVAL 'BACKTRACK = STACK>
5530                     <CALL '\1aUPDATE-STATUS 4>
5531 PHRASE57
5532                     <SET OK?6 %<> (TYPE FALSE)>
5533                     <NTHR 'DEBUGSW 1 = TEMP43 (RECORD-TYPE ATOM) (BRANCH-FALSE + BOOL61)>
5534                     <TYPE? TEMP43 <TYPE-CODE FALSE> + BOOL61>
5535                     <NTHR TEMP43 1 = TEMP43 (RECORD-TYPE GBIND)>
5536                     <TYPE? TEMP43 <TYPE-CODE UNBOUND> + BOOL61>
5537                     <DEAD TEMP43>
5538                     <GVAL 'DEBUGSW = TEMP43>
5539                     <TYPE? TEMP43 <TYPE-CODE FALSE> + BOOL61>
5540                     <DEAD TEMP43>
5541                     <FRAME '\1aPRIN1>
5542                     <NTHUV SYM23 2 = STACK (TYPE ATOM)>
5543                     <GEN-LVAL 'OUTCHAN = STACK>
5544                     <CALL '\1aPRIN1 2>
5545                     <FRAME '\1aPRINC>
5546                     <PUSH " NOT OK current type:  ">
5547                     <GEN-LVAL 'OUTCHAN = STACK>
5548                     <CALL '\1aPRINC 2>
5549                     <FRAME '\1aPRIN1>
5550                     <RESTL LL38 1 = TEMP43 (TYPE LIST)>
5551                     <NTHL TEMP43 1 = STACK>
5552                     <DEAD TEMP43>
5553                     <GEN-LVAL 'OUTCHAN = STACK>
5554                     <CALL '\1aPRIN1 2 = TEMP43>
5555                     <TYPE? TEMP43 <TYPE-CODE FALSE> + BOOL61>
5556                     <DEAD TEMP43>
5557                     <FRAME '\1aPRINC>
5558                     <PUSH " assumed type:  ">
5559                     <GEN-LVAL 'OUTCHAN = STACK>
5560                     <CALL '\1aPRINC 2>
5561                     <FRAME '\1aPRIN1>
5562                     <RESTL L22 1 = TEMP43 (TYPE LIST)>
5563                     <NTHL TEMP43 1 = STACK>
5564                     <DEAD TEMP43>
5565                     <GEN-LVAL 'OUTCHAN = STACK>
5566                     <CALL '\1aPRIN1 2>
5567                     <FRAME '\1aCRLF>
5568                     <GEN-LVAL 'OUTCHAN = STACK>
5569                     <CALL '\1aCRLF 1>
5570 BOOL61
5571                     <VEQUAL? TT24 0 + BOOL86>
5572                     <DEAD TT24>
5573                     <FRAME '\1aTYPE-MERGE>
5574                     <RESTL LL38 1 = SYM23 (TYPE LIST)>
5575                     <DEAD LL38>
5576                     <NTHL SYM23 1 = STACK>
5577                     <DEAD SYM23>
5578                     <RESTL L22 1 = SYM23 (TYPE LIST)>
5579                     <NTHL SYM23 1 = STACK>
5580                     <DEAD SYM23>
5581                     <CALL '\1aTYPE-MERGE 2 = SYM23>
5582                     <RESTL L22 1 = L22 (TYPE LIST)>
5583                     <PUTL L22 1 SYM23>
5584                     <DEAD L22 SYM23>
5585                     <JUMP + MAPAP32>
5586 BOOL86
5587                     <RESTL TEMP27 1 = TEMP27 (TYPE LIST)>
5588                     <JUMP + MAP29>
5589 MAPAP32
5590                     <RESTL TEMP9 1 = TEMP9 (TYPE LIST)>
5591                     <JUMP + MAP13>
5592 MAPAP16
5593                     <VEQUAL? OK?6 0 - PHRASE91>
5594                     <FRAME '\1aASSERT-TYPES>
5595                     <PUSH AS4>
5596                     <DEAD AS4>
5597                     <CALL '\1aASSERT-TYPES 1>
5598 PHRASE91
5599                     <RETURN OK?6>
5600                     <DEAD OK?6>
5601                     <END \1aASSUM-OK?>\r\r
5602 #WORD *2510174746*
5603 <GFCN \1aNOTIFY ("VALUE" ANY ANY) D4>
5604                     <TEMP TEMP8>
5605                     <INTGO>
5606                     <TYPE? D4 <TYPE-CODE FORM> - PHRASE6>
5607                     <EMPL? D4 + PHRASE6>
5608                     <RESTL D4 1 = TEMP8 (TYPE LIST)>
5609                     <EMPL? TEMP8 + PHRASE6>
5610                     <RESTL TEMP8 1 = TEMP8 (TYPE LIST)>
5611                     <EMPL? TEMP8 - PHRASE6>
5612                     <DEAD TEMP8>
5613                     <NTHL D4 1 = TEMP8>
5614                     <EQUAL? TEMP8 'NOT - PHRASE6>
5615                     <DEAD TEMP8>
5616                     <RESTL D4 1 = TEMP8 (TYPE LIST)>
5617                     <DEAD D4>
5618                     <NTHL TEMP8 1 = TEMP8>
5619                     <RETURN TEMP8>
5620                     <DEAD TEMP8>
5621 PHRASE6
5622                     <FRAME '\1aFORM>
5623                     <PUSH 'NOT>
5624                     <PUSH D4>
5625                     <DEAD D4>
5626                     <CALL '\1aFORM 2 = TEMP8>
5627                     <RETURN TEMP8>
5628                     <DEAD TEMP8>
5629                     <END \1aNOTIFY>
5630 " Analyze RETURN from a PROG/REPEAT.  Check with PROGs final type."
5631
5632 #WORD *14173266614*
5633 <GFCN \1aRETURN-ANA ("VALUE" ANY NODE ANY) NOD4 RTYP5>
5634                     <TEMP TT6 LN8:FIX TEMP15 N7>
5635                     <INTGO>
5636                     <NTHUV NOD4 5 = TT6 (TYPE LIST)>
5637                     <LENL TT6 = LN8 (TYPE FIX)>
5638                     <GEN-SET 'RET-OR-AGAIN 'T>
5639                     <GRTR? LN8 2 - PHRASE13 (TYPE FIX)>
5640                     <FRAME '\1aCOMPILE-ERROR>
5641                     <PUSH "Too many args to RETURN.">
5642                     <PUSH NOD4>
5643                     <DEAD NOD4>
5644                     <CALL '\1aCOMPILE-ERROR 2 = TEMP15>
5645                     <RETURN TEMP15>
5646                     <DEAD TEMP15>
5647 PHRASE13
5648                     <VEQUAL? LN8 2 - BOOL18 (TYPE FIX)>
5649                     <FRAME '\1aACT-CHECK>
5650                     <RESTL TT6 1 = TEMP15 (TYPE LIST)>
5651                     <NTHL TEMP15 1 = STACK (TYPE NODE)>
5652                     <DEAD TEMP15>
5653                     <CALL '\1aACT-CHECK 1 = N7>
5654                     <TYPE? N7 <TYPE-CODE FALSE> - BOOL17>
5655 BOOL18
5656                     <GRTR? LN8 1 + PHRASE16 (TYPE FIX)>
5657                     <FRAME '\1aPROGCHK>
5658                     <PUSH 'RETURN>
5659                     <PUSH NOD4>
5660                     <CALL '\1aPROGCHK 2 = N7>
5661                     <TYPE? N7 <TYPE-CODE FALSE> + PHRASE16>
5662 BOOL17
5663                     <VEQUAL? LN8 0 - BOOL25 (TYPE FIX)>
5664                     <DEAD LN8>
5665                     <FRAME '\1aNODE1>
5666                     <PUSH 2>
5667                     <PUSH NOD4>
5668                     <PUSH 'ATOM>
5669                     <PUSH 'T>
5670                     <PUSH ()>
5671                     <CALL '\1aNODE1 5 = TEMP15>
5672                     <CONS TEMP15 () = TT6>
5673                     <DEAD TEMP15>
5674                     <PUTUV NOD4 5 TT6 (TYPE LIST)>
5675 BOOL25
5676                     <FRAME '\1aEANA>
5677                     <NTHL TT6 1 = STACK (TYPE NODE)>
5678                     <DEAD TT6>
5679                     <NTHUV N7 17 = STACK>
5680                     <PUSH 'RETURN>
5681                     <CALL '\1aEANA 3 = TT6>
5682                     <NTHUV N7 14 = TEMP15>
5683                     <EQUAL? TEMP15 'NO-RETURN - PHRASE31>
5684                     <DEAD TEMP15>
5685                     <FRAME '\1aBUILD-TYPE-LIST>
5686                     <NTHUV N7 11 = STACK (TYPE SYMTAB)>
5687                     <CALL '\1aBUILD-TYPE-LIST 1 = TEMP15>
5688                     <PUTUV N7 16 TEMP15>
5689                     <DEAD TEMP15>
5690                     <FRAME '\1aSAVE-L-D-STATE>
5691                     <GEN-LVAL 'VARTBL = STACK>
5692                     <CALL '\1aSAVE-L-D-STATE 1 = TEMP15>
5693                     <PUTUV N7 15 TEMP15>
5694                     <DEAD TEMP15>
5695                     <JUMP + PHRASE37>
5696 PHRASE31
5697                     <FRAME '\1aORUPC>
5698                     <NTHUV N7 11 = STACK (TYPE SYMTAB)>
5699                     <NTHUV N7 16 = STACK (TYPE LIST)>
5700                     <CALL '\1aORUPC 2 = TEMP15>
5701                     <PUTUV N7 16 TEMP15>
5702                     <DEAD TEMP15>
5703                     <FRAME '\1aMSAVE-L-D-STATE>
5704                     <NTHUV N7 15 = STACK (TYPE LIST)>
5705                     <GEN-LVAL 'VARTBL = STACK>
5706                     <CALL '\1aMSAVE-L-D-STATE 2 = TEMP15>
5707                     <PUTUV N7 15 TEMP15>
5708                     <DEAD TEMP15>
5709 PHRASE37
5710                     <FRAME '\1aTYPE-MERGE>
5711                     <PUSH TT6>
5712                     <DEAD TT6>
5713                     <NTHUV N7 14 = STACK>
5714                     <CALL '\1aTYPE-MERGE 2 = TEMP15>
5715                     <PUTUV N7 14 TEMP15>
5716                     <DEAD N7 TEMP15>
5717                     <PUTUV NOD4 1 14 (TYPE FIX)>
5718                     <DEAD NOD4>
5719                     <RETURN 'NO-RETURN>
5720 PHRASE16
5721                     <FRAME '\1aSUBR-C-AN>
5722                     <PUSH NOD4>
5723                     <DEAD NOD4>
5724                     <PUSH 'ANY>
5725                     <CALL '\1aSUBR-C-AN 2 = TEMP15>
5726                     <RETURN TEMP15>
5727                     <DEAD TEMP15>
5728                     <END \1aRETURN-ANA>
5729 <COND (<GASSIGNED? RETURN-ANA> <PUTPROP ,RETURN ANALYSIS ,RETURN-ANA>)>
5730
5731 #WORD *32110752416*
5732 <GFCN \1aMULTI-RETURN-ANA ("VALUE" ANY NODE ANY) NOD4 RTYP5>
5733                     <TEMP TT6:LIST LN8 (SEG10 %<>) TYPS11:FORM TP12:LIST TEMP24 NN41 TEMP45>
5734                     <INTGO>
5735                     <NTHUV NOD4 5 = TT6 (TYPE LIST)>
5736                     <LENL TT6 = LN8 (TYPE FIX)>
5737                     <FRAME '\1aFORM>
5738                     <PUSH 'MULTI>
5739                     <CALL '\1aFORM 1 = TYPS11>
5740                     <CHTYPE TYPS11 <TYPE-CODE LIST> = TP12>
5741                     <LESS? LN8 1 - PHRASE15 (TYPE FIX)>
5742                     <DEAD LN8>
5743                     <FRAME '\1aCOMPILE-ERROR>
5744                     <PUSH "Too few args to MULTI-RETURN.">
5745                     <PUSH NOD4>
5746                     <DEAD NOD4>
5747                     <CALL '\1aCOMPILE-ERROR 2 = SEG10>
5748                     <RETURN SEG10>
5749                     <DEAD SEG10>
5750 PHRASE15
5751                     <NTHL TT6 1 = LN8 (TYPE NODE)>
5752                     <NTHUV LN8 1 = TEMP24 (TYPE FIX)>
5753                     <VEQUAL? TEMP24 2 - PHRASE22 (TYPE FIX)>
5754                     <DEAD TEMP24>
5755                     <NTHUV LN8 4 = TEMP24>
5756                     <EQUAL? TEMP24 %<> - PHRASE22>
5757                     <DEAD TEMP24>
5758                     <FRAME '\1aPROGCHK>
5759                     <PUSH 'MULTI-RETURN>
5760                     <PUSH LN8>
5761                     <DEAD LN8>
5762                     <CALL '\1aPROGCHK 2 = LN8>
5763                     <JUMP + PHRASE27>
5764 PHRASE22
5765                     <FRAME '\1aACT-CHECK>
5766                     <PUSH LN8>
5767                     <DEAD LN8>
5768                     <CALL '\1aACT-CHECK 1 = LN8>
5769                     <TYPE? LN8 <TYPE-CODE FALSE> - PHRASE27>
5770                     <FRAME '\1aEANA>
5771                     <NTHL TT6 1 = STACK (TYPE NODE)>
5772                     <PUSH <OR FRAME FRAME>>
5773                     <PUSH 'MULTI-RETURN>
5774                     <CALL '\1aEANA 3>
5775 PHRASE27
5776                     <RESTL TT6 1 = TEMP24 (TYPE LIST)>
5777                     <DEAD TT6>
5778                     <LOOP>
5779 MAP30
5780                     <INTGO>
5781                     <EMPL? TEMP24 + MAPAP33>
5782                     <SET TT6 TEMP24>
5783                     <NTHL TT6 1 = NN41 (TYPE NODE)>
5784                     <NTHUV NN41 1 = TEMP45 (TYPE FIX)>
5785                     <VEQUAL? TEMP45 3 - PHRASE44 (TYPE FIX)>
5786                     <DEAD TEMP45>
5787                     <FRAME '\1aEANA>
5788                     <NTHUV NN41 5 = TEMP45 (TYPE LIST)>
5789                     <DEAD NN41>
5790                     <NTHL TEMP45 1 = STACK (TYPE NODE)>
5791                     <DEAD TEMP45>
5792                     <PUSH <OR MULTI STRUCTURED>>
5793                     <PUSH 'MULTI-RETURN>
5794                     <CALL '\1aEANA 3 = NN41>
5795                     <EQUAL? NN41 'ANY + PHRASE48>
5796                     <FRAME '\1aGET-ELE-TYPE>
5797                     <PUSH NN41>
5798                     <DEAD NN41>
5799                     <PUSH 'ALL>
5800                     <CALL '\1aGET-ELE-TYPE 2 = NN41>
5801                     <EQUAL? NN41 'ANY + PHRASE48>
5802                     <TYPE? SEG10 <TYPE-CODE FALSE> - PHRASE52>
5803                     <RESTL TT6 1 = TEMP45 (TYPE LIST)>
5804                     <EMPL? TEMP45 - PHRASE52 (TYPE LIST)>
5805                     <DEAD TEMP45>
5806                     <PUSH 'REST>
5807                     <PUSH NN41>
5808                     <DEAD NN41>
5809                     <UBLOCK <TYPE-CODE VECTOR> 2 = TEMP45>
5810                     <CONS TEMP45 () = TEMP45>
5811                     <PUTREST TP12 TEMP45>
5812                     <DEAD TEMP45>
5813                     <JUMP + PHRASE65>
5814 PHRASE52
5815                     <RESTL TT6 1 = TEMP45 (TYPE LIST)>
5816                     <DEAD TT6>
5817                     <EMPL? TEMP45 - PHRASE55 (TYPE LIST)>
5818                     <DEAD TEMP45>
5819                     <EQUAL? SEG10 'ANY + PHRASE55>
5820                     <PUSH 'REST>
5821                     <FRAME '\1aTYPE-MERGE>
5822                     <PUSH SEG10>
5823                     <PUSH NN41>
5824                     <DEAD NN41>
5825                     <CALL '\1aTYPE-MERGE 2 = STACK>
5826                     <UBLOCK <TYPE-CODE VECTOR> 2 = TEMP45>
5827                     <CONS TEMP45 () = TEMP45>
5828                     <PUTREST TP12 TEMP45>
5829                     <DEAD TEMP45>
5830                     <JUMP + PHRASE65>
5831 PHRASE55
5832                     <EQUAL? SEG10 'ANY + PHRASE65>
5833                     <FRAME '\1aTYPE-MERGE>
5834                     <PUSH SEG10>
5835                     <DEAD SEG10>
5836                     <PUSH NN41>
5837                     <DEAD NN41>
5838                     <CALL '\1aTYPE-MERGE 2 = SEG10>
5839                     <JUMP + PHRASE65>
5840 PHRASE48
5841                     <SET SEG10 'ANY (TYPE ATOM)>
5842                     <JUMP + PHRASE65>
5843 PHRASE44
5844                     <FRAME '\1aEANA>
5845                     <PUSH NN41>
5846                     <DEAD NN41>
5847                     <PUSH 'ANY>
5848                     <PUSH 'MULTI-RETURN>
5849                     <CALL '\1aEANA 3 = NN41>
5850                     <TYPE? SEG10 <TYPE-CODE FALSE> - PHRASE65>
5851                     <SET TEMP45 TP12>
5852                     <DEAD TP12>
5853                     <CONS NN41 () = TP12>
5854                     <DEAD NN41>
5855                     <PUTREST TEMP45 TP12>
5856                     <DEAD TEMP45>
5857 PHRASE65
5858                     <RESTL TEMP24 1 = TEMP24 (TYPE LIST)>
5859                     <JUMP + MAP30>
5860 MAPAP33
5861                     <TYPE? LN8 <TYPE-CODE FALSE> + PHRASE67>
5862                     <NTHUV LN8 14 = TEMP24>
5863                     <EQUAL? TEMP24 'NO-RETURN - PHRASE67>
5864                     <DEAD TEMP24>
5865                     <FRAME '\1aBUILD-TYPE-LIST>
5866                     <NTHUV LN8 11 = STACK (TYPE SYMTAB)>
5867                     <CALL '\1aBUILD-TYPE-LIST 1 = SEG10>
5868                     <PUTUV LN8 16 SEG10>
5869                     <DEAD SEG10>
5870                     <FRAME '\1aSAVE-L-D-STATE>
5871                     <GEN-LVAL 'VARTBL = STACK>
5872                     <CALL '\1aSAVE-L-D-STATE 1 = SEG10>
5873                     <PUTUV LN8 15 SEG10>
5874                     <DEAD SEG10>
5875                     <JUMP + PHRASE73>
5876 PHRASE67
5877                     <TYPE? LN8 <TYPE-CODE FALSE> + PHRASE73>
5878                     <FRAME '\1aORUPC>
5879                     <NTHUV LN8 11 = STACK (TYPE SYMTAB)>
5880                     <NTHUV LN8 16 = STACK (TYPE LIST)>
5881                     <CALL '\1aORUPC 2 = SEG10>
5882                     <PUTUV LN8 16 SEG10>
5883                     <DEAD SEG10>
5884                     <FRAME '\1aMSAVE-L-D-STATE>
5885                     <NTHUV LN8 15 = STACK (TYPE LIST)>
5886                     <GEN-LVAL 'VARTBL = STACK>
5887                     <CALL '\1aMSAVE-L-D-STATE 2 = TEMP24>
5888                     <PUTUV LN8 15 TEMP24>
5889                     <DEAD TEMP24>
5890 PHRASE73
5891                     <TYPE? LN8 <TYPE-CODE FALSE> + PHRASE79>
5892                     <FRAME '\1aTYPE-MERGE>
5893                     <PUSH TYPS11>
5894                     <DEAD TYPS11>
5895                     <NTHUV LN8 14 = STACK>
5896                     <CALL '\1aTYPE-MERGE 2 = TEMP24>
5897                     <PUTUV LN8 14 TEMP24>
5898                     <DEAD LN8 TEMP24>
5899 PHRASE79
5900                     <PUTUV NOD4 1 94 (TYPE FIX)>
5901                     <DEAD NOD4>
5902                     <RETURN 'NO-RETURN>
5903                     <END \1aMULTI-RETURN-ANA>
5904 <COND (<AND <GASSIGNED? MULTI-RETURN> <GASSIGNED? MULTI-RETURN-ANA>> <PUTPROP ,MULTI-RETURN ANALYSIS ,MULTI-RETURN-ANA>)>
5905
5906 #WORD *4461653747*
5907 <GFCN \1aACT-CHECK ("VALUE" <OR FALSE NODE> NODE "OPTIONAL" ANY) N6 RETMNG7>
5908                     <OPT-DISPATCH 1 %<> OPT4 OPT5>
5909 OPT4
5910                     <PUSH 'T>
5911 OPT5
5912                     <TEMP NT11 TEMP17 SYM8>
5913                     <INTGO>
5914                     <NTHUV N6 1 = NT11 (TYPE FIX)>
5915                     <VEQUAL? NT11 10 - BOOL16 (TYPE FIX)>
5916                     <NTHUV N6 4 = TEMP17>
5917                     <TYPE? TEMP17 <TYPE-CODE SYMTAB> - BOOL16>
5918                     <DEAD TEMP17>
5919                     <NTHUV N6 4 = SYM8 (TYPE SYMTAB)>
5920                     <NTHUV SYM8 6 = TEMP17>
5921                     <TYPE? TEMP17 <TYPE-CODE FALSE> + BOOL16>
5922                     <DEAD TEMP17>
5923                     <NTHUV SYM8 4 = TEMP17 (TYPE FIX)>
5924                     <VEQUAL? TEMP17 1 + TAG31 (TYPE FIX)>
5925                     <DEAD TEMP17>
5926 BOOL16
5927                     <VEQUAL? NT11 9 + TAG22 (TYPE FIX)>
5928                     <VEQUAL? NT11 6 + TAG22 (TYPE FIX)>
5929                     <DEAD NT11>
5930                     <RETURN %<>>
5931 TAG22
5932                     <NTHUV N6 9 = TEMP17>
5933                     <GVAL 'LVAL = NT11>
5934                     <EQUAL? TEMP17 NT11 + TAG23>
5935                     <DEAD TEMP17 NT11>
5936                     <RETURN %<>>
5937 TAG23
5938                     <NTHUV N6 5 = NT11 (TYPE LIST)>
5939                     <EMPL? NT11 + TAG26>
5940                     <RESTL NT11 1 = NT11 (TYPE LIST)>
5941                     <EMPL? NT11 + TAG25>
5942                     <DEAD NT11>
5943 TAG26
5944                     <RETURN %<>>
5945 TAG25
5946                     <NTHUV N6 5 = NT11 (TYPE LIST)>
5947                     <NTHL NT11 1 = TEMP17 (TYPE NODE)>
5948                     <DEAD NT11>
5949                     <NTHUV TEMP17 1 = NT11 (TYPE FIX)>
5950                     <VEQUAL? NT11 2 + TAG27 (TYPE FIX)>
5951                     <DEAD NT11>
5952                     <RETURN %<>>
5953 TAG27
5954                     <NTHUV TEMP17 4 = NT11>
5955                     <TYPE? NT11 <TYPE-CODE ATOM> + TAG28>
5956                     <DEAD NT11>
5957                     <RETURN %<>>
5958 TAG28
5959                     <FRAME '\1aSRCH-SYM>
5960                     <NTHUV TEMP17 4 = STACK (TYPE ATOM)>
5961                     <DEAD TEMP17>
5962                     <CALL '\1aSRCH-SYM 1 = SYM8>
5963                     <SET TEMP17 SYM8>
5964                     <VEQUAL? TEMP17 0 + PHRASE36>
5965                     <NTHUV SYM8 6 = TEMP17>
5966                     <TYPE? TEMP17 <TYPE-CODE FALSE> + PHRASE36>
5967                     <NTHUV SYM8 4 = NT11 (TYPE FIX)>
5968                     <VEQUAL? NT11 1 + TAG31 (TYPE FIX)>
5969                     <DEAD NT11>
5970                     <RETURN %<>>
5971 TAG31
5972                     <NTHUV SYM8 11 = TEMP17>
5973                     <FRAME '\1aEANA>
5974                     <PUSH N6>
5975                     <DEAD N6>
5976                     <PUSH 'FRAME>
5977                     <PUSH 'AGAIN-RETURN>
5978                     <CALL '\1aEANA 3>
5979                     <TYPE? RETMNG7 <TYPE-CODE FALSE> + PHRASE36>
5980                     <DEAD RETMNG7>
5981                     <PUTUV SYM8 11 TEMP17>
5982                     <DEAD SYM8>
5983 PHRASE36
5984                     <RETURN TEMP17>
5985                     <DEAD TEMP17>
5986                     <END \1aACT-CHECK>
5987 " AGAIN analyzer."
5988
5989 #WORD *3524502256*
5990 <GFCN \1aAGAIN-ANA ("VALUE" ANY NODE ANY) NOD4 RTYP5>
5991                     <TEMP TEM6:LIST N7 TEMP16>
5992                     <INTGO>
5993                     <NTHUV NOD4 5 = TEM6 (TYPE LIST)>
5994                     <GEN-SET 'RET-OR-AGAIN 'T>
5995                     <EMPL? TEM6 - BOOL13 (TYPE LIST)>
5996                     <FRAME '\1aPROGCHK>
5997                     <PUSH 'AGAIN>
5998                     <PUSH NOD4>
5999                     <CALL '\1aPROGCHK 2 = N7>
6000                     <TYPE? N7 <TYPE-CODE FALSE> - BOOL12>
6001 BOOL13
6002                     <RESTL TEM6 1 = TEMP16 (TYPE LIST)>
6003                     <EMPL? TEMP16 - PHRASE11 (TYPE LIST)>
6004                     <DEAD TEMP16>
6005                     <FRAME '\1aACT-CHECK>
6006                     <NTHL TEM6 1 = STACK (TYPE NODE)>
6007                     <CALL '\1aACT-CHECK 1 = N7>
6008                     <TYPE? N7 <TYPE-CODE FALSE> + PHRASE11>
6009 BOOL12
6010                     <PUTUV NOD4 1 17 (TYPE FIX)>
6011                     <DEAD NOD4>
6012                     <NTHUV N7 19 = TEMP16>
6013                     <TYPE? TEMP16 <TYPE-CODE FALSE> + PHRASE19>
6014                     <DEAD TEMP16>
6015                     <FRAME '\1aMSAVE-L-D-STATE>
6016                     <NTHUV N7 7 = STACK (TYPE LIST)>
6017                     <GEN-LVAL 'VARTBL = STACK>
6018                     <CALL '\1aMSAVE-L-D-STATE 2 = TEMP16>
6019                     <PUTUV N7 7 TEMP16 (TYPE LIST)>
6020                     <DEAD TEMP16>
6021                     <JUMP + PHRASE24>
6022 PHRASE19
6023                     <FRAME '\1aSAVE-L-D-STATE>
6024                     <GEN-LVAL 'VARTBL = STACK>
6025                     <CALL '\1aSAVE-L-D-STATE 1 = TEMP16>
6026                     <PUTUV N7 7 TEMP16 (TYPE LIST)>
6027                     <DEAD TEMP16>
6028 PHRASE24
6029                     <NTHUV N7 19 = TEMP16>
6030                     <TYPE? TEMP16 <TYPE-CODE FALSE> - PHRASE30>
6031                     <DEAD TEMP16>
6032                     <FRAME '\1aBUILD-TYPE-LIST>
6033                     <NTHUV N7 11 = STACK (TYPE SYMTAB)>
6034                     <CALL '\1aBUILD-TYPE-LIST 1 = TEMP16>
6035                     <JUMP + PHRASE32>
6036 PHRASE30
6037                     <FRAME '\1aORUPC>
6038                     <NTHUV N7 11 = STACK (TYPE SYMTAB)>
6039                     <NTHUV N7 19 = STACK (TYPE LIST)>
6040                     <CALL '\1aORUPC 2 = TEMP16>
6041 PHRASE32
6042                     <PUTUV N7 19 TEMP16>
6043                     <DEAD N7 TEMP16>
6044                     <RETURN 'NO-RETURN>
6045 PHRASE11
6046                     <RESTL TEM6 1 = N7 (TYPE LIST)>
6047                     <EMPL? N7 - PHRASE34 (TYPE LIST)>
6048                     <DEAD N7>
6049                     <FRAME '\1aANA>
6050                     <NTHL TEM6 1 = STACK (TYPE NODE)>
6051                     <DEAD TEM6>
6052                     <PUSH 'FRAME>
6053                     <CALL '\1aANA 2 = N7>
6054                     <TYPE? N7 <TYPE-CODE FALSE> - PHRASE37>
6055                     <DEAD N7>
6056                     <FRAME '\1aCOMPILE-ERROR>
6057                     <PUSH "Again not passed an activation">
6058                     <PUSH NOD4>
6059                     <DEAD NOD4>
6060                     <CALL '\1aCOMPILE-ERROR 2>
6061 PHRASE37
6062                     <RETURN 'ANY>
6063 PHRASE34
6064                     <FRAME '\1aCOMPILE-ERROR>
6065                     <PUSH "Too many arguments to AGAIN">
6066                     <PUSH NOD4>
6067                     <DEAD NOD4>
6068                     <CALL '\1aCOMPILE-ERROR 2 = TEMP16>
6069                     <RETURN TEMP16>
6070                     <DEAD TEMP16>
6071                     <END \1aAGAIN-ANA>
6072 <COND (<GASSIGNED? AGAIN-ANA> <PUTPROP ,AGAIN ANALYSIS ,AGAIN-ANA>)>
6073
6074 " If not in PROG/REPEAT complain about NAME."
6075
6076 #WORD *11273451037*
6077 <GFCN \1aPROGCHK ("VALUE" ANY ANY NODE) NAME4 NOD5>
6078                     <TEMP TEMP8>
6079                     <INTGO>
6080                     <GEN-ASSIGNED? 'PNOD + PHRASE7>
6081                     <FRAME '\1aCOMPILE-ERROR>
6082                     <PUSH "Not in PROG/REPEAT ">
6083                     <PUSH NAME4>
6084                     <DEAD NAME4>
6085                     <PUSH NOD5>
6086                     <DEAD NOD5>
6087                     <CALL '\1aCOMPILE-ERROR 3>
6088 PHRASE7
6089                     <GEN-LVAL 'PNOD = TEMP8>
6090                     <RETURN TEMP8>
6091                     <DEAD TEMP8>
6092                     <END \1aPROGCHK>
6093 " Dispatch to special handlers for SUBRs.  Or use standard."
6094
6095 #WORD *13465544662*
6096 <GFCN \1aSUBR-ANA ("VALUE" ANY NODE ANY) NOD4 RTYP5>
6097                     <TEMP TEMP8 TEMP9>
6098                     <INTGO>
6099                     <FRAME>
6100                     <FRAME '\1aGETPROP>
6101                     <NTHUV NOD4 9 = STACK>
6102                     <PUSH 'ANALYSIS>
6103                     <CFRAME = STACK (TYPE FRAME)>
6104                     <CALL '\1aGETPROP 3 = TEMP8>
6105                     <CFRAME = TEMP9 (TYPE FRAME)>
6106                     <EQUAL? TEMP9 TEMP8 - TAG10>
6107                     <DEAD TEMP9>
6108                     <GVAL 'SUBR-C-AN = TEMP8>
6109 TAG10
6110                     <PUSH NOD4>
6111                     <DEAD NOD4>
6112                     <PUSH RTYP5>
6113                     <DEAD RTYP5>
6114                     <ACALL TEMP8 2 = TEMP9>
6115                     <DEAD TEMP8>
6116                     <RETURN TEMP9>
6117                     <DEAD TEMP9>
6118                     <END \1aSUBR-ANA>
6119 " Hairy SUBR call analyzer.  Also looks for internal calls."
6120
6121 #WORD *21003011643*
6122 <GFCN \1aANONFSUBR-C-AN1 ("VALUE" <OR ATOM FIX> "TUPLE" TUPLE)>
6123                     <MAKTUP T4:TUPLE NARGS17 N8 TPL9 RGS10:FIX = T4>
6124                     <INTGO>
6125                     <GEN-LVAL 'NRGS1 = NARGS17>
6126                     <GEN-LVAL 'NOD = N8>
6127                     <GEN-LVAL 'TMPL = TPL9>
6128                     <GEN-LVAL 'ARGS = RGS10>
6129                     <RESTL TPL9 1 = TPL9 (TYPE LIST)>
6130                     <NTHL TPL9 1 = TPL9>
6131                     <GEN-SET 'TYP TPL9>
6132                     <DEAD TPL9>
6133                     <FRAME '\1aSPEC-FLUSH>
6134                     <CALL '\1aSPEC-FLUSH 0>
6135                     <FRAME '\1aPUT-FLUSH>
6136                     <PUSH 'ALL>
6137                     <CALL '\1aPUT-FLUSH 1>
6138                     <NTHUV N8 6 = TPL9>
6139                     <TYPE? TPL9 <TYPE-CODE FALSE> + PHRASE28>
6140                     <DEAD TPL9>
6141                     <GEN-LVAL 'TYP = NARGS17>
6142                     <TYPE? NARGS17 <TYPE-CODE ATOM> - TAG34>
6143                     <RETURN 'ATOM>
6144 TAG34
6145                     <TYPE? NARGS17 <TYPE-CODE FORM> - TAG35>
6146                     <DEAD NARGS17>
6147                     <RETURN 'FORM>
6148 TAG35
6149                     <SET TPL9 'ANY (TYPE ATOM)>
6150                     <GEN-SET 'TYP TPL9>
6151                     <RETURN TPL9>
6152                     <DEAD TPL9>
6153 PHRASE28
6154                     <TYPE? NARGS17 <TYPE-CODE FIX> - PHRASE41>
6155                     <FRAME '\1aARGCHK>
6156                     <PUSH RGS10>
6157                     <PUSH NARGS17>
6158                     <DEAD NARGS17>
6159                     <NTHUV N8 4 = STACK>
6160                     <DEAD N8>
6161                     <GEN-LVAL 'NOD = STACK>
6162                     <CALL '\1aARGCHK 4>
6163                     <JUMP + PHRASE51>
6164 PHRASE41
6165                     <TYPE? NARGS17 <TYPE-CODE LIST> - PHRASE51>
6166                     <RESTL NARGS17 1 = TPL9 (TYPE LIST)>
6167                     <NTHL TPL9 1 = TPL9 (TYPE FIX)>
6168                     <GRTR? RGS10 TPL9 - PHRASE47 (TYPE FIX)>
6169                     <DEAD TPL9>
6170                     <FRAME '\1aCOMPILE-ERROR>
6171                     <PUSH "Too many arguments to ">
6172                     <NTHUV N8 4 = STACK>
6173                     <PUSH N8>
6174                     <CALL '\1aCOMPILE-ERROR 3>
6175 PHRASE47
6176                     <NTHL NARGS17 1 = TPL9 (TYPE FIX)>
6177                     <DEAD NARGS17>
6178                     <LESS? RGS10 TPL9 - PHRASE51 (TYPE FIX)>
6179                     <DEAD TPL9>
6180                     <FRAME '\1aCOMPILE-ERROR>
6181                     <PUSH "Too few arguments to ">
6182                     <NTHUV N8 4 = STACK>
6183                     <PUSH N8>
6184                     <DEAD N8>
6185                     <CALL '\1aCOMPILE-ERROR 3>
6186 PHRASE51
6187                     <GEN-LVAL 'TYP = TPL9>
6188                     <TYPE? TPL9 <TYPE-CODE ATOM> + PHRASE56>
6189                     <TYPE? TPL9 <TYPE-CODE FORM> + PHRASE56>
6190                     <DEAD TPL9>
6191                     <FRAME>
6192                     <GEN-LVAL 'TYP = NARGS17>
6193                     <SET TPL9 0 (TYPE FIX)>
6194                     <SET N8 T4>
6195                     <DEAD T4>
6196                     <LOOP (N8 VALUE LENGTH) (TPL9 VALUE)>
6197 TAG63
6198                     <INTGO>
6199                     <EMPUV? N8 + TAG57>
6200                     <NTHUV N8 1 = STACK>
6201                     <RESTUV N8 1 = N8 (TYPE VECTOR)>
6202                     <ADD TPL9 1 = TPL9 (TYPE FIX)>
6203                     <JUMP + TAG63>
6204 TAG57
6205                     <ACALL NARGS17 TPL9 = N8>
6206                     <DEAD NARGS17 TPL9>
6207                     <GEN-SET 'TYP N8>
6208                     <DEAD N8>
6209 PHRASE56
6210                     <SET TPL9 RGS10>
6211                     <DEAD RGS10>
6212                     <GEN-SET 'ARGS TPL9>
6213                     <RETURN TPL9>
6214                     <DEAD TPL9>
6215                     <END \1aANONFSUBR-C-AN1>
6216                     <GFCN \1aSUBR-C-AN ("VALUE" ANY NODE ANY) NOD5 RTYP6>
6217                     <TEMP TEMP4:LBIND TEMP12 TEMP28 TEMP25 N31:NODE TEMP39:FIX>
6218                     <INTGO>
6219                     <GETS 'BIND = TEMP4 (TYPE LBIND)>
6220                     <BBIND 'NOD 'NODE %<> NOD5>
6221                     <DEAD NOD5>
6222                     <FIXBIND>
6223                     <BBIND 'ARGS 'FIX 'FIX 0>
6224                     <BBIND 'TYP 'ANY 'FIX 'ANY>
6225                     <FRAME '\1aGET-TMP>
6226                     <NTHR 'NOD 2 = TEMP12 (RECORD-TYPE ATOM) (TYPE LBIND)>
6227                     <NTHR TEMP12 1 = TEMP12 (RECORD-TYPE LBIND)>
6228                     <NTHUV TEMP12 9 = STACK>
6229                     <DEAD TEMP12>
6230                     <CALL '\1aGET-TMP 1 = TEMP12>
6231                     <BBIND 'TMPL 'LIST 'FIX TEMP12>
6232                     <DEAD TEMP12>
6233                     <NTHR 'TMPL 2 = TEMP12 (RECORD-TYPE ATOM) (TYPE LBIND)>
6234                     <NTHR TEMP12 1 = TEMP12 (RECORD-TYPE LBIND)>
6235                     <NTHL TEMP12 1 = TEMP12>
6236                     <BBIND 'NRGS1 'ANY 'FIX TEMP12>
6237                     <DEAD TEMP12>
6238                     <NTHR 'NOD 2 = TEMP28 (RECORD-TYPE ATOM) (TYPE LBIND)>
6239                     <NTHR TEMP28 1 = TEMP12 (RECORD-TYPE LBIND)>
6240                     <DEAD TEMP28>
6241                     <NTHUV TEMP12 5 = TEMP12 (TYPE LIST)>
6242                     <SET TEMP25 0 (TYPE FIX)>
6243                     <FRAME '\1aANONFSUBR-C-AN1>
6244                     <LOOP>
6245 MAP19
6246                     <INTGO>
6247                     <EMPL? TEMP12 + MAPAP22>
6248                     <NTHL TEMP12 1 = N31>
6249                     <NTHUV N31 1 = TEMP28 (TYPE FIX)>
6250                     <VEQUAL? TEMP28 3 - PHRASE34 (TYPE FIX)>
6251                     <DEAD TEMP28>
6252                     <FRAME '\1aEANA>
6253                     <NTHUV N31 5 = TEMP28 (TYPE LIST)>
6254                     <DEAD N31>
6255                     <NTHL TEMP28 1 = STACK (TYPE NODE)>
6256                     <DEAD TEMP28>
6257                     <PUSH <OR MULTI STRUCTURED>>
6258                     <PUSH 'SEGMENT>
6259                     <CALL '\1aEANA 3>
6260                     <NTHR 'NOD 2 = TEMP28 (RECORD-TYPE ATOM) (TYPE LBIND)>
6261                     <NTHR TEMP28 1 = TEMP28 (RECORD-TYPE LBIND)>
6262                     <PUTUV TEMP28 6 'T>
6263                     <DEAD TEMP28>
6264                     <SET TEMP28 'ANY (TYPE ATOM)>
6265                     <JUMP + PHRASE38>
6266 PHRASE34
6267                     <NTHR 'ARGS 2 = TEMP28 (RECORD-TYPE ATOM) (TYPE LBIND)>
6268                     <NTHR TEMP28 1 = TEMP39 (RECORD-TYPE LBIND)>
6269                     <DEAD TEMP28>
6270                     <ADD TEMP39 1 = TEMP39 (TYPE FIX)>
6271                     <NTHR 'ARGS 2 = TEMP28 (RECORD-TYPE ATOM) (TYPE LBIND)>
6272                     <PUTR TEMP28 1 TEMP39 (RECORD-TYPE LBIND)>
6273                     <DEAD TEMP28 TEMP39>
6274                     <FRAME '\1aANA>
6275                     <PUSH N31>
6276                     <DEAD N31>
6277                     <PUSH 'ANY>
6278                     <CALL '\1aANA 2 = TEMP28>
6279 PHRASE38
6280                     <PUSH TEMP28>
6281                     <DEAD TEMP28>
6282                     <ADD TEMP25 1 = TEMP25 (TYPE FIX)>
6283                     <RESTL TEMP12 1 = TEMP12 (TYPE LIST)>
6284                     <JUMP + MAP19>
6285 MAPAP22
6286                     <CALL '\1aANONFSUBR-C-AN1 TEMP25>
6287                     <DEAD TEMP25>
6288                     <CONS 'ALL () = TEMP12>
6289                     <NTHR 'NOD 2 = TEMP25 (RECORD-TYPE ATOM) (TYPE LBIND)>
6290                     <NTHR TEMP25 1 = TEMP25 (RECORD-TYPE LBIND)>
6291                     <PUTUV TEMP25 8 TEMP12>
6292                     <DEAD TEMP25 TEMP12>
6293                     <FRAME '\1aTYPE-OK?>
6294                     <NTHR 'TYP 2 = TEMP25 (RECORD-TYPE ATOM) (TYPE LBIND)>
6295                     <NTHR TEMP25 1 = STACK (RECORD-TYPE LBIND)>
6296                     <DEAD TEMP25>
6297                     <PUSH RTYP6>
6298                     <DEAD RTYP6>
6299                     <CALL '\1aTYPE-OK? 2 = TEMP25>
6300                     <UNBIND TEMP4>
6301                     <DEAD TEMP4>
6302                     <ADJ -45>
6303                     <RETURN TEMP25>
6304                     <DEAD TEMP25>
6305                     <END \1aSUBR-C-AN>\r\r
6306 #WORD *21745671243*
6307 <GFCN \1aSEGMENT-ANA ("VALUE" ANY ANY ANY) NOD4 RTYP5>
6308                     <TEMP TEMP7>
6309                     <INTGO>
6310                     <FRAME '\1aCOMPILE-ERROR>
6311                     <PUSH "Illegal segment (not in form or structure)">
6312                     <PUSH NOD4>
6313                     <DEAD NOD4>
6314                     <CALL '\1aCOMPILE-ERROR 2 = TEMP7>
6315                     <RETURN TEMP7>
6316                     <DEAD TEMP7>
6317                     <END \1aSEGMENT-ANA>
6318 " Analyze VECTOR, UVECTOR and LIST builders."
6319
6320 #WORD *16715071477*
6321 <GFCN \1aCOPY-AN ("VALUE" ANY NODE ANY) NOD4 RTYP5>
6322                     <TEMP (ARGS6:FIX 0) RT7 K8:LIST LWIN10 SG25 FRM26:FORM FRME28:LIST GOTDC29 TEMP37 DC20 STY21 PTY22 N9 TEM23 TEMP60>
6323                     <INTGO>
6324                     <FRAME '\1aISTYPE?>
6325                     <NTHUV NOD4 3 = STACK>
6326                     <CALL '\1aISTYPE? 1 = RT7>
6327                     <NTHUV NOD4 5 = K8 (TYPE LIST)>
6328                     <VEQUAL? RT7 'LIST - TAG14>
6329                     <SET LWIN10 'T (TYPE ATOM)>
6330                     <JUMP + TAG15>
6331 TAG14
6332                     <SET LWIN10 %<> (TYPE FALSE)>
6333 TAG15
6334                     <EMPL? K8 + EXIT18 (TYPE LIST)>
6335                     <SET SG25 %<> (TYPE FALSE)>
6336                     <FRAME '\1aFORM>
6337                     <PUSH RT7>
6338                     <CALL '\1aFORM 1 = FRM26>
6339                     <CHTYPE FRM26 <TYPE-CODE LIST> = FRME28>
6340                     <SET GOTDC29 %<> (TYPE FALSE)>
6341                     <LOOP>
6342 AGAIN30
6343                     <INTGO>
6344                     <EMPL? K8 - PHRASE32 (TYPE LIST)>
6345                     <VEQUAL? RT7 'LIST - PHRASE34>
6346                     <DEAD RT7>
6347                     <RESTL FRM26 1 = TEMP37 (TYPE LIST)>
6348                     <CHTYPE TEMP37 <TYPE-CODE LIST> = TEMP37>
6349                     <EMPL? TEMP37 - PHRASE36 (TYPE LIST)>
6350                     <DEAD TEMP37>
6351                     <NTHL FRM26 1 = RT7>
6352                     <DEAD FRM26>
6353                     <JUMP + EXIT18>
6354 PHRASE36
6355                     <SET RT7 FRM26>
6356                     <DEAD FRM26>
6357                     <JUMP + EXIT18>
6358 PHRASE34
6359                     <TYPE? DC20 <TYPE-CODE FALSE> + PHRASE40>
6360                     <PUSH 'REST>
6361                     <PUSH DC20>
6362                     <DEAD DC20>
6363                     <UBLOCK <TYPE-CODE VECTOR> 2 = TEMP37>
6364                     <CONS TEMP37 () = TEMP37>
6365                     <PUTREST FRME28 TEMP37>
6366                     <DEAD FRME28 TEMP37>
6367                     <JUMP + PHRASE44>
6368 PHRASE40
6369                     <TYPE? STY21 <TYPE-CODE FALSE> + PHRASE42>
6370                     <PUSH 'REST>
6371                     <PUSH STY21>
6372                     <DEAD STY21>
6373                     <UBLOCK <TYPE-CODE VECTOR> 2 = TEMP37>
6374                     <CONS TEMP37 () = TEMP37>
6375                     <PUTREST FRME28 TEMP37>
6376                     <DEAD FRME28 TEMP37>
6377                     <JUMP + PHRASE44>
6378 PHRASE42
6379                     <TYPE? PTY22 <TYPE-CODE FALSE> + PHRASE44>
6380                     <PUSH 'REST>
6381                     <FRAME '\1aFORM>
6382                     <PUSH 'PRIMTYPE>
6383                     <PUSH PTY22>
6384                     <DEAD PTY22>
6385                     <CALL '\1aFORM 2 = STACK>
6386                     <UBLOCK <TYPE-CODE VECTOR> 2 = TEMP37>
6387                     <CONS TEMP37 () = TEMP37>
6388                     <PUTREST FRME28 TEMP37>
6389                     <DEAD FRME28 TEMP37>
6390 PHRASE44
6391                     <SET RT7 FRM26>
6392                     <DEAD FRM26>
6393                     <JUMP + EXIT18>
6394 PHRASE32
6395                     <NTHL K8 1 = N9 (TYPE NODE)>
6396                     <NTHUV N9 1 = TEMP37 (TYPE FIX)>
6397                     <VEQUAL? TEMP37 3 + BOOL48 (TYPE FIX)>
6398                     <VEQUAL? TEMP37 68 - PHRASE47 (TYPE FIX)>
6399                     <DEAD TEMP37>
6400 BOOL48
6401                     <FRAME '\1aGET-ELE-TYPE>
6402                     <FRAME '\1aEANA>
6403                     <NTHUV N9 5 = TEMP37 (TYPE LIST)>
6404                     <NTHL TEMP37 1 = STACK (TYPE NODE)>
6405                     <DEAD TEMP37>
6406                     <PUSH <OR MULTI STRUCTURED>>
6407                     <PUSH 'SEGMENT>
6408                     <CALL '\1aEANA 3 = STACK>
6409                     <PUSH 'ALL>
6410                     <CALL '\1aGET-ELE-TYPE 2 = TEM23>
6411                     <PUTUV NOD4 6 'T>
6412                     <VEQUAL? SG25 0 - PHRASE52>
6413                     <DEAD SG25>
6414                     <SET GOTDC29 %<> (TYPE FALSE)>
6415 PHRASE52
6416                     <SET SG25 'T (TYPE ATOM)>
6417                     <VEQUAL? LWIN10 0 + TAG55>
6418                     <FRAME '\1aSTRUCTYP>
6419                     <NTHUV N9 5 = TEMP37 (TYPE LIST)>
6420                     <DEAD N9>
6421                     <NTHL TEMP37 1 = TEMP37 (TYPE NODE)>
6422                     <NTHUV TEMP37 3 = STACK>
6423                     <DEAD TEMP37>
6424                     <CALL '\1aSTRUCTYP 1 = TEMP37>
6425                     <SET N9 [LIST VECTOR UVECTOR TUPLE] (TYPE VECTOR)>
6426                     <TYPE? TEMP37 <TYPE-CODE ATOM> - TAG55>
6427                     <LOOP (TEMP37 VALUE) (N9 LENGTH VALUE)>
6428 TAG56
6429                     <NTHUV N9 1 = TEMP60>
6430                     <VEQUAL? TEMP60 TEMP37 + PHRASE62>
6431                     <DEAD TEMP60>
6432                     <RESTUV N9 1 = N9 (TYPE VECTOR)>
6433                     <EMPUV? N9 - TAG56>
6434 TAG55
6435                     <SET LWIN10 %<> (TYPE FALSE)>
6436                     <JUMP + PHRASE62>
6437 PHRASE47
6438                     <ADD ARGS6 2 = ARGS6 (TYPE FIX)>
6439                     <FRAME '\1aANA>
6440                     <PUSH N9>
6441                     <DEAD N9>
6442                     <PUSH 'ANY>
6443                     <CALL '\1aANA 2 = TEM23>
6444 PHRASE62
6445                     <VEQUAL? GOTDC29 0 - PHRASE65>
6446                     <SET GOTDC29 'T (TYPE ATOM)>
6447                     <FRAME '\1aISTYPE?>
6448                     <SET DC20 TEM23>
6449                     <PUSH DC20>
6450                     <CALL '\1aISTYPE? 1 = STY21>
6451                     <SET PTY22 STY21>
6452                     <TYPE? PTY22 <TYPE-CODE FALSE> + PHRASE80>
6453                     <FRAME '\1aMTYPR>
6454                     <PUSH STY21>
6455                     <CALL '\1aMTYPR 1 = PTY22>
6456                     <JUMP + PHRASE80>
6457 PHRASE65
6458                     <TYPE? DC20 <TYPE-CODE FALSE> + BOOL71>
6459                     <EQUAL? DC20 TEM23 + PHRASE80>
6460 BOOL71
6461                     <SET DC20 %<> (TYPE FALSE)>
6462                     <FRAME '\1aISTYPE?>
6463                     <PUSH TEM23>
6464                     <CALL '\1aISTYPE? 1 = TEMP37>
6465                     <VEQUAL? TEMP37 STY21 - BOOL74>
6466                     <TYPE? STY21 <TYPE-CODE FALSE> - PHRASE80>
6467 BOOL74
6468                     <SET STY21 %<> (TYPE FALSE)>
6469                     <TYPE? PTY22 <TYPE-CODE FALSE> + BOOL77>
6470                     <SET N9 TEMP37>
6471                     <TYPE? N9 <TYPE-CODE FALSE> + BOOL78>
6472                     <FRAME '\1aMTYPR>
6473                     <PUSH TEMP37>
6474                     <DEAD TEMP37>
6475                     <CALL '\1aMTYPR 1 = N9>
6476 BOOL78
6477                     <EQUAL? PTY22 N9 + PHRASE80>
6478                     <DEAD N9>
6479 BOOL77
6480                     <SET PTY22 %<> (TYPE FALSE)>
6481 PHRASE80
6482                     <VEQUAL? SG25 0 - PHRASE82>
6483                     <CONS TEM23 () = N9>
6484                     <DEAD TEM23>
6485                     <PUTREST FRME28 N9>
6486                     <DEAD FRME28>
6487                     <SET FRME28 N9>
6488                     <DEAD N9>
6489 PHRASE82
6490                     <RESTL K8 1 = K8 (TYPE LIST)>
6491                     <JUMP + AGAIN30>
6492 EXIT18
6493                     <PUTUV NOD4 3 RT7>
6494                     <NTHR 'COPY-LIST-CODE 1 = N9 (RECORD-TYPE ATOM) (BRANCH-FALSE + PHRASE84)>
6495                     <TYPE? N9 <TYPE-CODE FALSE> + PHRASE84>
6496                     <NTHR N9 1 = N9 (RECORD-TYPE GBIND)>
6497                     <TYPE? N9 <TYPE-CODE UNBOUND> + PHRASE84>
6498                     <DEAD N9>
6499                     <VEQUAL? LWIN10 0 + PHRASE84>
6500                     <DEAD LWIN10>
6501                     <NTHUV NOD4 5 = LWIN10 (TYPE LIST)>
6502                     <LOOP>
6503 MAP87
6504                     <INTGO>
6505                     <EMPL? LWIN10 + MAPAP90>
6506                     <NTHL LWIN10 1 = N9>
6507                     <NTHUV N9 1 = ARGS6 (TYPE FIX)>
6508                     <VEQUAL? ARGS6 3 - PHRASE97 (TYPE FIX)>
6509                     <DEAD ARGS6>
6510                     <PUTUV N9 1 68 (TYPE FIX)>
6511                     <DEAD N9>
6512 PHRASE97
6513                     <RESTL LWIN10 1 = LWIN10 (TYPE LIST)>
6514                     <JUMP + MAP87>
6515 MAPAP90
6516                     <NTHUV NOD4 5 = K8 (TYPE LIST)>
6517                     <EMPL? K8 + PHRASE100>
6518                     <RESTL K8 1 = LWIN10 (TYPE LIST)>
6519                     <EMPL? LWIN10 - PHRASE100>
6520                     <DEAD LWIN10>
6521                     <NTHL K8 1 = N9 (TYPE NODE)>
6522                     <NTHUV N9 1 = ARGS6 (TYPE FIX)>
6523                     <DEAD N9>
6524                     <VEQUAL? ARGS6 68 - PHRASE100 (TYPE FIX)>
6525                     <DEAD ARGS6>
6526                     <FRAME '\1aSTRUCTYP>
6527                     <NTHL K8 1 = N9 (TYPE NODE)>
6528                     <DEAD K8>
6529                     <NTHUV N9 5 = LWIN10 (TYPE LIST)>
6530                     <DEAD N9>
6531                     <NTHL LWIN10 1 = N9 (TYPE NODE)>
6532                     <DEAD LWIN10>
6533                     <NTHUV N9 3 = STACK>
6534                     <CALL '\1aSTRUCTYP 1 = LWIN10>
6535                     <EQUAL? LWIN10 'LIST - PHRASE100>
6536                     <DEAD LWIN10>
6537                     <NTHUV NOD4 2 = LWIN10>
6538                     <EMPTY? LWIN10 + MAPAP109>
6539                     <DEAD LWIN10>
6540                     <NTHUV NOD4 2 = RT7>
6541                     <NTHUV RT7 5 = RT7 (TYPE LIST)>
6542                     <LOOP>
6543 MAP106
6544                     <INTGO>
6545                     <EMPL? RT7 + MAPAP109>
6546                     <SET K8 RT7>
6547                     <NTHL K8 1 = LWIN10 (TYPE NODE)>
6548                     <VEQUAL? NOD4 LWIN10 - PHRASE116>
6549                     <DEAD LWIN10>
6550                     <PUTL K8 1 N9>
6551                     <DEAD K8>
6552                     <JUMP + MAPAP109>
6553 PHRASE116
6554                     <RESTL RT7 1 = RT7 (TYPE LIST)>
6555                     <JUMP + MAP106>
6556 MAPAP109
6557                     <NTHUV NOD4 2 = RT7>
6558                     <DEAD NOD4>
6559                     <CHTYPE RT7 <TYPE-CODE NODE> = RT7>
6560                     <PUTUV N9 2 RT7>
6561                     <DEAD RT7>
6562                     <NTHUV N9 3 = RT7>
6563                     <DEAD N9>
6564                     <JUMP + PHRASE119>
6565 PHRASE100
6566                     <PUTUV NOD4 1 84 (TYPE FIX)>
6567                     <DEAD NOD4>
6568                     <JUMP + PHRASE119>
6569 PHRASE84
6570                     <NTHUV NOD4 5 = LWIN10 (TYPE LIST)>
6571                     <LOOP>
6572 MAP121
6573                     <INTGO>
6574                     <EMPL? LWIN10 + MAPAP124>
6575                     <NTHL LWIN10 1 = N9>
6576                     <NTHUV N9 1 = ARGS6 (TYPE FIX)>
6577                     <VEQUAL? ARGS6 68 - PHRASE130 (TYPE FIX)>
6578                     <DEAD ARGS6>
6579                     <PUTUV N9 1 3 (TYPE FIX)>
6580                     <DEAD N9>
6581 PHRASE130
6582                     <RESTL LWIN10 1 = LWIN10 (TYPE LIST)>
6583                     <JUMP + MAP121>
6584 MAPAP124
6585                     <PUTUV NOD4 1 15 (TYPE FIX)>
6586                     <DEAD NOD4>
6587 PHRASE119
6588                     <FRAME '\1aTYPE-OK?>
6589                     <PUSH RT7>
6590                     <DEAD RT7>
6591                     <PUSH RTYP5>
6592                     <DEAD RTYP5>
6593                     <CALL '\1aTYPE-OK? 2 = LWIN10>
6594                     <RETURN LWIN10>
6595                     <DEAD LWIN10>
6596                     <END \1aCOPY-AN>
6597 " Analyze quoted objects, for structures hack type specs."
6598
6599 #WORD *10315726445*
6600 <GFCN \1aQUOTE-ANA ("VALUE" ANY NODE ANY) NOD4 RTYP5>
6601                     <TEMP TEMP8>
6602                     <INTGO>
6603                     <FRAME '\1aTYPE-OK?>
6604                     <FRAME '\1aGEN-DECL>
6605                     <NTHUV NOD4 4 = STACK>
6606                     <DEAD NOD4>
6607                     <CALL '\1aGEN-DECL 1 = STACK>
6608                     <PUSH RTYP5>
6609                     <DEAD RTYP5>
6610                     <CALL '\1aTYPE-OK? 2 = TEMP8>
6611                     <RETURN TEMP8>
6612                     <DEAD TEMP8>
6613                     <END \1aQUOTE-ANA>
6614 #WORD *14076646770*
6615 <GFCN \1aQUOTE-ANA2 ("VALUE" ANY NODE ANY) NOD4 RTYP5>
6616                     <TEMP TEMP8>
6617                     <INTGO>
6618                     <NTHUV NOD4 5 = TEMP8 (TYPE LIST)>
6619                     <EMPL? TEMP8 + PHRASE7>
6620                     <RESTL TEMP8 1 = TEMP8 (TYPE LIST)>
6621                     <EMPL? TEMP8 - PHRASE7>
6622                     <DEAD TEMP8>
6623                     <PUTUV NOD4 1 2 (TYPE FIX)>
6624                     <NTHUV NOD4 5 = TEMP8 (TYPE LIST)>
6625                     <NTHL TEMP8 1 = TEMP8 (TYPE NODE)>
6626                     <PUTUV NOD4 4 TEMP8>
6627                     <DEAD TEMP8>
6628                     <PUTUV NOD4 5 () (TYPE LIST)>
6629                     <FRAME '\1aTYPE-OK?>
6630                     <NTHUV NOD4 3 = STACK>
6631                     <DEAD NOD4>
6632                     <PUSH RTYP5>
6633                     <DEAD RTYP5>
6634                     <CALL '\1aTYPE-OK? 2 = TEMP8>
6635                     <RETURN TEMP8>
6636                     <DEAD TEMP8>
6637 PHRASE7
6638                     <FRAME '\1aCOMPILE-ERROR>
6639                     <PUSH "Empty QUOTE?">
6640                     <CALL '\1aCOMPILE-ERROR 1 = TEMP8>
6641                     <RETURN TEMP8>
6642                     <DEAD TEMP8>
6643                     <END \1aQUOTE-ANA2>
6644 <COND (<GASSIGNED? QUOTE-ANA2> <PUTPROP ,QUOTE ANALYSIS ,QUOTE-ANA2>)>
6645
6646 " Analyze a call to an RSUBR."
6647
6648 #WORD *14315332146*
6649 <GFCN \1aRSUBR-ANA ("VALUE" ANY NODE ANY) NOD4 RTYP5>
6650                     <TEMP (ARGS6:FIX 0) DCL7:LIST (SEGF8 %<>) (MUST-EMPTY9 'T) (TUPF11 %<>) (OPTF12 %<>) K13:LIST NM14:ATOM (RT15 %<>) TEMP22 ARG27:NODE TY28>
6651                     <INTGO>
6652                     <NTHUV NOD4 7 = DCL7 (TYPE LIST)>
6653                     <NTHUV NOD4 5 = K13 (TYPE LIST)>
6654                     <NTHUV NOD4 4 = NM14 (TYPE ATOM)>
6655                     <SET TEMP22 K13 (TYPE LIST)>
6656                     <LOOP>
6657 MAP17
6658                     <INTGO>
6659                     <EMPL? TEMP22 + MAPAP20>
6660                     <NTHL TEMP22 1 = ARG27>
6661                     <EMPL? DCL7 + PHRASE31 (TYPE LIST)>
6662                     <NTHL DCL7 1 = RT15 (TYPE LIST)>
6663                     <NTHL RT15 1 = MUST-EMPTY9 (TYPE ATOM)>
6664                     <VEQUAL? MUST-EMPTY9 'OPTIONAL - PHRASE33>
6665                     <SET OPTF12 'T (TYPE ATOM)>
6666                     <JUMP + PHRASE34>
6667 PHRASE33
6668                     <VEQUAL? MUST-EMPTY9 'TUPLE - PHRASE34>
6669                     <DEAD MUST-EMPTY9>
6670                     <SET TUPF11 'T (TYPE ATOM)>
6671 PHRASE34
6672                     <RESTL RT15 1 = MUST-EMPTY9 (TYPE LIST)>
6673                     <DEAD RT15>
6674                     <NTHL MUST-EMPTY9 1 = RT15>
6675                     <DEAD MUST-EMPTY9>
6676                     <RESTL DCL7 1 = DCL7 (TYPE LIST)>
6677                     <JUMP + PHRASE36>
6678 PHRASE31
6679                     <VEQUAL? TUPF11 0 - PHRASE36>
6680                     <SET RT15 %<> (TYPE FALSE)>
6681                     <SET OPTF12 RT15>
6682 PHRASE36
6683                     <NTHUV ARG27 1 = MUST-EMPTY9 (TYPE FIX)>
6684                     <VEQUAL? MUST-EMPTY9 3 - PHRASE38 (TYPE FIX)>
6685                     <DEAD MUST-EMPTY9>
6686                     <SET SEGF8 'T (TYPE ATOM)>
6687                     <FRAME '\1aGET-ELE-TYPE>
6688                     <FRAME '\1aANA>
6689                     <NTHUV ARG27 5 = MUST-EMPTY9 (TYPE LIST)>
6690                     <NTHL MUST-EMPTY9 1 = STACK (TYPE NODE)>
6691                     <DEAD MUST-EMPTY9>
6692                     <PUSH 'ANY>
6693                     <CALL '\1aANA 2 = TY28>
6694                     <PUSH TY28>
6695                     <PUSH 'ALL>
6696                     <CALL '\1aGET-ELE-TYPE 2 = MUST-EMPTY9>
6697                     <VEQUAL? TUPF11 0 + PHRASE43>
6698                     <FRAME '\1aTYPE-OK?>
6699                     <FRAME '\1aGET-ELE-TYPE>
6700                     <PUSH RT15>
6701                     <PUSH 'ALL>
6702                     <CALL '\1aGET-ELE-TYPE 2 = STACK>
6703                     <PUSH MUST-EMPTY9>
6704                     <DEAD MUST-EMPTY9>
6705                     <CALL '\1aTYPE-OK? 2 = MUST-EMPTY9>
6706                     <TYPE? MUST-EMPTY9 <TYPE-CODE FALSE> - PHRASE57>
6707                     <DEAD MUST-EMPTY9>
6708                     <JUMP + PHRASE46>
6709 PHRASE43
6710                     <TYPE? RT15 <TYPE-CODE FALSE> + PHRASE46>
6711                     <FRAME '\1aTYPE-OK?>
6712                     <PUSH RT15>
6713                     <PUSH MUST-EMPTY9>
6714                     <DEAD MUST-EMPTY9>
6715                     <CALL '\1aTYPE-OK? 2 = MUST-EMPTY9>
6716                     <TYPE? MUST-EMPTY9 <TYPE-CODE FALSE> - PHRASE57>
6717                     <DEAD MUST-EMPTY9>
6718 PHRASE46
6719                     <TYPE? RT15 <TYPE-CODE FALSE> + BOOL50>
6720                     <VEQUAL? OPTF12 0 + PHRASE48>
6721 BOOL50
6722                     <FRAME '\1aMINL>
6723                     <PUSH TY28>
6724                     <DEAD TY28>
6725                     <CALL '\1aMINL 1 = MUST-EMPTY9>
6726                     <GRTR? MUST-EMPTY9 0 + PHRASE48 (TYPE FIX)>
6727                     <DEAD MUST-EMPTY9>
6728                     <FRAME '\1aCOMPILE-WARNING>
6729                     <PUSH "Segment must be empty:  ">
6730                     <PUSH NOD4>
6731                     <CALL '\1aCOMPILE-WARNING 2>
6732                     <JUMP + PHRASE57>
6733 PHRASE48
6734                     <TYPE? RT15 <TYPE-CODE FALSE> - PHRASE55>
6735                     <FRAME '\1aCOMPILE-ERROR>
6736                     <PUSH "Too many arguments to:  ">
6737                     <PUSH NM14>
6738                     <PUSH ARG27>
6739                     <DEAD ARG27>
6740                     <CALL '\1aCOMPILE-ERROR 3>
6741                     <JUMP + PHRASE57>
6742 PHRASE55
6743                     <FRAME '\1aCOMPILE-ERROR>
6744                     <PUSH "Argument wrong type to:  ">
6745                     <PUSH NM14>
6746                     <PUSH ARG27>
6747                     <DEAD ARG27>
6748                     <CALL '\1aCOMPILE-ERROR 3>
6749 PHRASE57
6750                     <PUTUV NOD4 6 'T>
6751                     <JUMP + PHRASE59>
6752 PHRASE38
6753                     <ADD ARGS6 1 = ARGS6 (TYPE FIX)>
6754                     <FRAME '\1aEANA>
6755                     <PUSH ARG27>
6756                     <DEAD ARG27>
6757                     <VEQUAL? TUPF11 0 + PHRASE62>
6758                     <FRAME '\1aGET-ELE-TYPE>
6759                     <PUSH RT15>
6760                     <VEQUAL? SEGF8 0 + PHRASE65>
6761                     <SET MUST-EMPTY9 'ALL (TYPE ATOM)>
6762                     <JUMP + PHRASE66>
6763 PHRASE65
6764                     <SET MUST-EMPTY9 ARGS6>
6765 PHRASE66
6766                     <PUSH MUST-EMPTY9>
6767                     <DEAD MUST-EMPTY9>
6768                     <CALL '\1aGET-ELE-TYPE 2 = MUST-EMPTY9>
6769                     <JUMP + PHRASE67>
6770 PHRASE62
6771                     <SET MUST-EMPTY9 RT15>
6772 PHRASE67
6773                     <PUSH MUST-EMPTY9>
6774                     <DEAD MUST-EMPTY9>
6775                     <PUSH NM14>
6776                     <CALL '\1aEANA 3>
6777 PHRASE59
6778                     <RESTL TEMP22 1 = TEMP22 (TYPE LIST)>
6779                     <JUMP + MAP17>
6780 MAPAP20
6781                     <VEQUAL? NM14 'PRINC + BOOL70>
6782                     <VEQUAL? NM14 'PRINT + BOOL70>
6783                     <VEQUAL? NM14 'PRIN1 - PHRASE69>
6784                     <DEAD NM14>
6785 BOOL70
6786                     <FRAME '\1aTYPE-AND>
6787                     <NTHUV NOD4 3 = STACK>
6788                     <NTHL K13 1 = SEGF8 (TYPE NODE)>
6789                     <DEAD K13>
6790                     <NTHUV SEGF8 3 = STACK>
6791                     <DEAD SEGF8>
6792                     <CALL '\1aTYPE-AND 2 = SEGF8>
6793                     <PUTUV NOD4 3 SEGF8>
6794                     <DEAD SEGF8>
6795 PHRASE69
6796                     <FRAME '\1aSPEC-FLUSH>
6797                     <CALL '\1aSPEC-FLUSH 0>
6798                     <FRAME '\1aPUT-FLUSH>
6799                     <PUSH 'ALL>
6800                     <CALL '\1aPUT-FLUSH 1>
6801                     <CONS 'ALL () = TEMP22>
6802                     <PUTUV NOD4 8 TEMP22>
6803                     <DEAD TEMP22>
6804                     <FRAME '\1aTYPE-OK?>
6805                     <NTHUV NOD4 3 = STACK>
6806                     <DEAD NOD4>
6807                     <PUSH RTYP5>
6808                     <DEAD RTYP5>
6809                     <CALL '\1aTYPE-OK? 2 = TEMP22>
6810                     <RETURN TEMP22>
6811                     <DEAD TEMP22>
6812                     <END \1aRSUBR-ANA>
6813 " Analyze CHTYPE, in some cases do it at compile time."
6814
6815 #WORD *25654605354*
6816 <GFCN \1aCHTYPE-ANA ("VALUE" ANY NODE ANY) NOD4 RTYP5>
6817                     <TEMP K6 TEMP16 OBN9 NTN7 TEMP46:FIX TEMP52>
6818                     <INTGO>
6819                     <NTHUV NOD4 5 = K6 (TYPE LIST)>
6820                     <FRAME '\1aSEGFLUSH>
6821                     <PUSH NOD4>
6822                     <PUSH RTYP5>
6823                     <CALL '\1aSEGFLUSH 2 = TEMP16>
6824                     <TYPE? TEMP16 <TYPE-CODE FALSE> - PHRASE72>
6825                     <FRAME '\1aARGCHK>
6826                     <LENL K6 = STACK (TYPE FIX)>
6827                     <PUSH 2>
6828                     <PUSH 'CHTYPE>
6829                     <PUSH NOD4>
6830                     <CALL '\1aARGCHK 4>
6831                     <FRAME '\1aANA>
6832                     <NTHL K6 1 = OBN9 (TYPE NODE)>
6833                     <PUSH OBN9>
6834                     <PUSH 'ANY>
6835                     <CALL '\1aANA 2 = TEMP16>
6836                     <FRAME '\1aEANA>
6837                     <RESTL K6 1 = K6 (TYPE LIST)>
6838                     <NTHL K6 1 = NTN7 (TYPE NODE)>
6839                     <DEAD K6>
6840                     <PUSH NTN7>
6841                     <PUSH 'ATOM>
6842                     <PUSH 'CHTYPE>
6843                     <CALL '\1aEANA 3>
6844                     <NTHUV NTN7 1 = K6 (TYPE FIX)>
6845                     <VEQUAL? K6 2 - PHRASE24 (TYPE FIX)>
6846                     <DEAD K6>
6847                     <FRAME '\1aISTYPE?>
6848                     <NTHUV NTN7 4 = NTN7 (TYPE ATOM)>
6849                     <PUSH NTN7>
6850                     <CALL '\1aISTYPE? 1 = K6>
6851                     <TYPE? K6 <TYPE-CODE FALSE> - PHRASE26>
6852                     <DEAD K6>
6853                     <FRAME '\1aCOMPILE-ERROR>
6854                     <PUSH "Second arg to CHTYPE not a type ">
6855                     <PUSH NTN7>
6856                     <PUSH NOD4>
6857                     <CALL '\1aCOMPILE-ERROR 3>
6858 PHRASE26
6859                     <FRAME '\1aTYPE-OK?>
6860                     <PUSH TEMP16>
6861                     <FRAME '\1aFORM>
6862                     <PUSH 'PRIMTYPE>
6863                     <FRAME '\1aMTYPR>
6864                     <PUSH NTN7>
6865                     <CALL '\1aMTYPR 1 = STACK>
6866                     <CALL '\1aFORM 2 = STACK>
6867                     <CALL '\1aTYPE-OK? 2 = K6>
6868                     <TYPE? K6 <TYPE-CODE FALSE> - PHRASE30>
6869                     <DEAD K6>
6870                     <FRAME '\1aCOMPILE-ERROR>
6871                     <PUSH "Primtypes differ in CHTYPE">
6872                     <PUSH TEMP16>
6873                     <PUSH NTN7>
6874                     <PUSH NOD4>
6875                     <CALL '\1aCOMPILE-ERROR 4>
6876 PHRASE30
6877                     <NTHUV OBN9 1 = K6 (TYPE FIX)>
6878                     <VEQUAL? K6 2 - PHRASE36 (TYPE FIX)>
6879                     <DEAD K6>
6880                     <PUTUV NOD4 1 2 (TYPE FIX)>
6881                     <PUTUV NOD4 5 () (TYPE LIST)>
6882                     <FRAME '\1aCHTYPE>
6883                     <NTHUV OBN9 4 = STACK>
6884                     <DEAD OBN9>
6885                     <PUSH NTN7>
6886                     <CALL '\1aCHTYPE 2 = K6>
6887                     <PUTUV NOD4 4 K6>
6888                     <DEAD K6>
6889                     <JUMP + PHRASE59>
6890 PHRASE36
6891                     <FRAME '\1aTYPESAME>
6892                     <PUSH TEMP16>
6893                     <PUSH NTN7>
6894                     <CALL '\1aTYPESAME 2 = K6>
6895                     <TYPE? K6 <TYPE-CODE FALSE> + PHRASE38>
6896                     <DEAD K6>
6897                     <FRAME '\1aCOMPILE-WARNING>
6898                     <PUSH "Redundant CHTYPE">
6899                     <PUSH NOD4>
6900                     <CALL '\1aCOMPILE-WARNING 2>
6901                     <PUTUV NOD4 1 42 (TYPE FIX)>
6902                     <JUMP + PHRASE59>
6903 PHRASE38
6904                     <FRAME '\1aGET-DECL>
6905                     <PUSH NTN7>
6906                     <CALL '\1aGET-DECL 1 = OBN9>
6907                     <TYPE? OBN9 <TYPE-CODE FALSE> + PHRASE41>
6908                     <FRAME '\1aFORM>
6909                     <PUSH 'PRIMTYPE>
6910                     <FRAME '\1aTYPEPRIM>
6911                     <PUSH NTN7>
6912                     <CALL '\1aTYPEPRIM 1 = STACK>
6913                     <CALL '\1aFORM 2 = STACK>
6914                     <SET TEMP46 1 (TYPE FIX)>
6915                     <REST1 OBN9 = K6>
6916                     <TYPE K6 = TEMP52>
6917                     <AND TEMP52 7 = TEMP52>
6918                     <VEQUAL? TEMP52 1 + TAG48>
6919                     <DEAD TEMP52>
6920                     <LOOP (K6 TYPE VALUE LENGTH) (TEMP46 VALUE)>
6921 TAG54
6922                     <INTGO>
6923                     <EMPTY? K6 + TAG53>
6924                     <NTH1 K6 = STACK>
6925                     <REST1 K6 = K6>
6926                     <ADD TEMP46 1 = TEMP46 (TYPE FIX)>
6927                     <JUMP + TAG54>
6928 TAG53
6929                     <LIST TEMP46 = K6 (TYPE LIST)>
6930                     <DEAD TEMP46>
6931                     <JUMP + TAG50>
6932 TAG48
6933                     <LOOP>
6934 TAG51
6935                     <VEQUAL? TEMP46 0 + TAG50>
6936                     <POP = TEMP52>
6937                     <CONS TEMP52 K6 = K6 (TYPE LIST)>
6938                     <DEAD TEMP52>
6939                     <SUB TEMP46 1 = TEMP46 (TYPE FIX)>
6940                     <JUMP + TAG51>
6941 TAG50
6942                     <CHTYPE K6 <TYPE OBN9> = OBN9>
6943                     <DEAD K6>
6944                     <FRAME '\1aTYPE-OK?>
6945                     <PUSH TEMP16>
6946                     <DEAD TEMP16>
6947                     <PUSH OBN9>
6948                     <DEAD OBN9>
6949                     <CALL '\1aTYPE-OK? 2 = K6>
6950                     <TYPE? K6 <TYPE-CODE FALSE> - PHRASE56>
6951                     <DEAD K6>
6952                     <FRAME '\1aCOMPILE-ERROR>
6953                     <PUSH "DECL violation in CHTYPE ">
6954                     <PUSH NOD4>
6955                     <CALL '\1aCOMPILE-ERROR 2>
6956 PHRASE56
6957                     <PUTUV NOD4 1 37 (TYPE FIX)>
6958                     <JUMP + PHRASE59>
6959 PHRASE41
6960                     <PUTUV NOD4 1 37 (TYPE FIX)>
6961 PHRASE59
6962                     <PUTUV NOD4 3 NTN7>
6963                     <DEAD NOD4>
6964                     <FRAME '\1aTYPE-OK?>
6965                     <PUSH NTN7>
6966                     <DEAD NTN7>
6967                     <PUSH RTYP5>
6968                     <DEAD RTYP5>
6969                     <CALL '\1aTYPE-OK? 2 = TEMP16>
6970                     <RETURN TEMP16>
6971                     <DEAD TEMP16>
6972 PHRASE24
6973                     <NTHUV NTN7 1 = K6 (TYPE FIX)>
6974                     <VEQUAL? K6 9 - PHRASE61 (TYPE FIX)>
6975                     <DEAD K6>
6976                     <NTHUV NTN7 4 = K6>
6977                     <EQUAL? K6 'TYPE - PHRASE61>
6978                     <DEAD K6>
6979                     <FRAME '\1aPRIMITIVE-TYPE>
6980                     <PUSH TEMP16>
6981                     <CALL '\1aPRIMITIVE-TYPE 1 = OBN9>
6982                     <TYPE? OBN9 <TYPE-CODE FALSE> + PHRASE64>
6983                     <FRAME '\1aPRIMITIVE-TYPE>
6984                     <NTHUV NTN7 5 = K6 (TYPE LIST)>
6985                     <DEAD NTN7>
6986                     <NTHL K6 1 = K6 (TYPE NODE)>
6987                     <NTHUV K6 3 = TEMP52>
6988                     <DEAD K6>
6989                     <PUSH TEMP52>
6990                     <CALL '\1aPRIMITIVE-TYPE 1 = K6>
6991                     <TYPE? K6 <TYPE-CODE FALSE> + PHRASE64>
6992                     <FRAME '\1aTYPE-OK?>
6993                     <PUSH OBN9>
6994                     <DEAD OBN9>
6995                     <PUSH K6>
6996                     <DEAD K6>
6997                     <CALL '\1aTYPE-OK? 2 = K6>
6998                     <TYPE? K6 <TYPE-CODE FALSE> - PHRASE64>
6999                     <DEAD K6>
7000                     <FRAME '\1aCOMPILE-ERROR>
7001                     <PUSH "Primtypes differ in CHTYPE">
7002                     <PUSH TEMP16>
7003                     <DEAD TEMP16>
7004                     <PUSH TEMP52>
7005                     <DEAD TEMP52>
7006                     <PUSH NOD4>
7007                     <DEAD NOD4>
7008                     <CALL '\1aCOMPILE-ERROR 4 = TEMP16>
7009                     <RETURN TEMP16>
7010                     <DEAD TEMP16>
7011 PHRASE64
7012                     <PUTUV NOD4 1 37 (TYPE FIX)>
7013                     <PUTUV NOD4 3 TEMP52>
7014                     <DEAD NOD4>
7015                     <FRAME '\1aTYPE-OK?>
7016                     <PUSH TEMP52>
7017                     <DEAD TEMP52>
7018                     <PUSH RTYP5>
7019                     <DEAD RTYP5>
7020                     <CALL '\1aTYPE-OK? 2 = TEMP16>
7021                     <RETURN TEMP16>
7022                     <DEAD TEMP16>
7023 PHRASE61
7024                     <GEN-LVAL 'VERBOSE = K6>
7025                     <TYPE? K6 <TYPE-CODE FALSE> + PHRASE74>
7026                     <DEAD K6>
7027                     <FRAME '\1aADDVMESS>
7028                     <PUSH NOD4>
7029                     <DEAD NOD4>
7030                     <CONS "Can't open compile CHTYPE." () = STACK>
7031                     <CALL '\1aADDVMESS 2>
7032 PHRASE74
7033                     <FRAME '\1aTYPE-OK?>
7034                     <PUSH 'ANY>
7035                     <PUSH RTYP5>
7036                     <DEAD RTYP5>
7037                     <CALL '\1aTYPE-OK? 2 = TEMP16>
7038 PHRASE72
7039                     <RETURN TEMP16>
7040                     <DEAD TEMP16>
7041                     <END \1aCHTYPE-ANA>
7042 <COND (<GASSIGNED? CHTYPE-ANA> <PUTPROP ,CHTYPE ANALYSIS ,CHTYPE-ANA>)>
7043
7044 " Analyze use of ASCII sometimes do at compile time."
7045
7046 #WORD *7466121470*
7047 <GFCN \1aASCII-ANA ("VALUE" ANY NODE ANY) NOD4 RTYP5>
7048                     <TEMP K6 TEMP11 TEMP18>
7049                     <INTGO>
7050                     <NTHUV NOD4 5 = K6 (TYPE LIST)>
7051                     <FRAME '\1aSEGFLUSH>
7052                     <PUSH NOD4>
7053                     <PUSH RTYP5>
7054                     <CALL '\1aSEGFLUSH 2 = TEMP11>
7055                     <TYPE? TEMP11 <TYPE-CODE FALSE> - PHRASE13>
7056                     <FRAME '\1aARGCHK>
7057                     <LENL K6 = STACK (TYPE FIX)>
7058                     <PUSH 1>
7059                     <PUSH 'ASCII>
7060                     <PUSH NOD4>
7061                     <CALL '\1aARGCHK 4>
7062                     <FRAME '\1aEANA>
7063                     <NTHL K6 1 = K6 (TYPE NODE)>
7064                     <PUSH K6>
7065                     <PUSH <OR FIX CHARACTER>>
7066                     <PUSH 'ASCII>
7067                     <CALL '\1aEANA 3 = TEMP11>
7068                     <NTHUV K6 1 = TEMP18 (TYPE FIX)>
7069                     <VEQUAL? TEMP18 2 - PHRASE17 (TYPE FIX)>
7070                     <DEAD TEMP18>
7071                     <PUTUV NOD4 1 2 (TYPE FIX)>
7072                     <FRAME '\1aASCII>
7073                     <NTHUV K6 4 = STACK>
7074                     <DEAD K6>
7075                     <CALL '\1aASCII 1 = TEMP11>
7076                     <PUTUV NOD4 4 TEMP11>
7077                     <FRAME '\1aTYPE>
7078                     <PUSH TEMP11>
7079                     <DEAD TEMP11>
7080                     <CALL '\1aTYPE 1 = TEMP18>
7081                     <PUTUV NOD4 3 TEMP18>
7082                     <DEAD TEMP18>
7083                     <PUTUV NOD4 5 () (TYPE LIST)>
7084                     <JUMP + PHRASE24>
7085 PHRASE17
7086                     <FRAME '\1aISTYPE?>
7087                     <PUSH TEMP11>
7088                     <CALL '\1aISTYPE? 1 = TEMP18>
7089                     <VEQUAL? TEMP18 'FIX - PHRASE21>
7090                     <DEAD TEMP18>
7091                     <PUTUV NOD4 1 37 (TYPE FIX)>
7092                     <PUTUV NOD4 3 'CHARACTER>
7093                     <JUMP + PHRASE24>
7094 PHRASE21
7095                     <EQUAL? TEMP11 'CHARACTER - PHRASE23>
7096                     <DEAD TEMP11>
7097                     <PUTUV NOD4 1 37 (TYPE FIX)>
7098                     <PUTUV NOD4 3 'FIX>
7099                     <JUMP + PHRASE24>
7100 PHRASE23
7101                     <PUTUV NOD4 3 <OR FIX CHARACTER>>
7102 PHRASE24
7103                     <FRAME '\1aTYPE-OK?>
7104                     <NTHUV NOD4 3 = STACK>
7105                     <DEAD NOD4>
7106                     <PUSH RTYP5>
7107                     <DEAD RTYP5>
7108                     <CALL '\1aTYPE-OK? 2 = TEMP11>
7109 PHRASE13
7110                     <RETURN TEMP11>
7111                     <DEAD TEMP11>
7112                     <END \1aASCII-ANA>
7113 <COND (<GASSIGNED? ASCII-ANA> <PUTPROP ,ASCII ANALYSIS ,ASCII-ANA>)>
7114
7115 #WORD *2705660233*
7116 <GFCN \1aUNWIND-ANA ("VALUE" ANY NODE ANY) NOD4 RTYP5>
7117                     <TEMP K6 ITYP7>
7118                     <INTGO>
7119                     <NTHUV NOD4 5 = K6 (TYPE LIST)>
7120                     <DEAD NOD4>
7121                     <FRAME '\1aEANA>
7122                     <NTHL K6 1 = STACK (TYPE NODE)>
7123                     <PUSH 'ANY>
7124                     <PUSH 'UNWIND>
7125                     <CALL '\1aEANA 3 = ITYP7>
7126                     <FRAME '\1aEANA>
7127                     <RESTL K6 1 = K6 (TYPE LIST)>
7128                     <NTHL K6 1 = STACK (TYPE NODE)>
7129                     <DEAD K6>
7130                     <PUSH 'ANY>
7131                     <PUSH 'UNWIND>
7132                     <CALL '\1aEANA 3>
7133                     <FRAME '\1aPUTPROP>
7134                     <GEN-LVAL 'FCN = STACK>
7135                     <PUSH 'UNWIND>
7136                     <PUSH 'T>
7137                     <CALL '\1aPUTPROP 3>
7138                     <FRAME '\1aTYPE-OK?>
7139                     <PUSH ITYP7>
7140                     <DEAD ITYP7>
7141                     <PUSH RTYP5>
7142                     <DEAD RTYP5>
7143                     <CALL '\1aTYPE-OK? 2 = ITYP7>
7144                     <RETURN ITYP7>
7145                     <DEAD ITYP7>
7146                     <END \1aUNWIND-ANA>
7147 " Analyze READ type SUBRS in two cases (print uncertain usage message maybe?)"
7148
7149 #WORD *22762417176*
7150 <GFCN \1aREAD-ANA ("VALUE" ANY NODE ANY) N4 R5>
7151                     <TEMP TEMP17 NN18:NODE TEMP22>
7152                     <INTGO>
7153                     <NTHUV N4 5 = TEMP17 (TYPE LIST)>
7154                     <LOOP>
7155 MAP7
7156                     <INTGO>
7157                     <EMPL? TEMP17 + MAPAP10>
7158                     <NTHL TEMP17 1 = NN18>
7159                     <NTHUV NN18 1 = TEMP22 (TYPE FIX)>
7160                     <VEQUAL? TEMP22 55 - PHRASE21 (TYPE FIX)>
7161                     <DEAD TEMP22>
7162                     <FRAME '\1aSPEC-FLUSH>
7163                     <CALL '\1aSPEC-FLUSH 0>
7164                     <FRAME '\1aPUT-FLUSH>
7165                     <PUSH 'ALL>
7166                     <CALL '\1aPUT-FLUSH 1>
7167                     <FRAME '\1aEANAQ>
7168                     <NTHUV NN18 5 = TEMP22 (TYPE LIST)>
7169                     <DEAD NN18>
7170                     <NTHL TEMP22 1 = STACK (TYPE NODE)>
7171                     <DEAD TEMP22>
7172                     <PUSH 'ANY>
7173                     <NTHUV N4 4 = STACK>
7174                     <PUSH N4>
7175                     <CALL '\1aEANAQ 4 = TEMP22>
7176                     <FRAME '\1aTYPE-OK?>
7177                     <PUSH TEMP22>
7178                     <DEAD TEMP22>
7179                     <PUSH <OR FORM LIST VECTOR UVECTOR>>
7180                     <CALL '\1aTYPE-OK? 2 = TEMP22>
7181                     <TYPE? TEMP22 <TYPE-CODE FALSE> + PHRASE27>
7182                     <DEAD TEMP22>
7183                     <FRAME '\1aCOMPILE-WARNING>
7184                     <PUSH "Uncertain use of ">
7185                     <NTHUV N4 4 = STACK>
7186                     <PUSH N4>
7187                     <CALL '\1aCOMPILE-WARNING 3>
7188                     <JUMP + PHRASE31>
7189 PHRASE27
7190                     <PUTUV N4 1 54 (TYPE FIX)>
7191                     <JUMP + PHRASE31>
7192 PHRASE21
7193                     <FRAME '\1aEANA>
7194                     <PUSH NN18>
7195                     <DEAD NN18>
7196                     <PUSH 'ANY>
7197                     <NTHUV N4 4 = STACK>
7198                     <CALL '\1aEANA 3>
7199 PHRASE31
7200                     <RESTL TEMP17 1 = TEMP17 (TYPE LIST)>
7201                     <JUMP + MAP7>
7202 MAPAP10
7203                     <FRAME '\1aSPEC-FLUSH>
7204                     <CALL '\1aSPEC-FLUSH 0>
7205                     <FRAME '\1aPUT-FLUSH>
7206                     <PUSH 'ALL>
7207                     <CALL '\1aPUT-FLUSH 1>
7208                     <FRAME '\1aTYPE-OK?>
7209                     <PUSH 'ANY>
7210                     <PUSH R5>
7211                     <DEAD R5>
7212                     <CALL '\1aTYPE-OK? 2 = TEMP17>
7213                     <RETURN TEMP17>
7214                     <DEAD TEMP17>
7215                     <END \1aREAD-ANA>
7216 #WORD *36340531603*
7217 <GFCN \1aREAD2-ANA ("VALUE" ANY NODE ANY) N4 R5>
7218                     <TEMP TEMP17 NN18:NODE TEMP21>
7219                     <INTGO>
7220                     <NTHUV N4 5 = TEMP17 (TYPE LIST)>
7221                     <LOOP>
7222 MAP7
7223                     <INTGO>
7224                     <EMPL? TEMP17 + MAPAP10>
7225                     <NTHL TEMP17 1 = NN18>
7226                     <NTHUV NN18 1 = TEMP21 (TYPE FIX)>
7227                     <VEQUAL? TEMP21 55 - PHRASE20 (TYPE FIX)>
7228                     <DEAD TEMP21>
7229                     <FRAME '\1aEANAQ>
7230                     <NTHUV NN18 5 = TEMP21 (TYPE LIST)>
7231                     <DEAD NN18>
7232                     <NTHL TEMP21 1 = STACK (TYPE NODE)>
7233                     <DEAD TEMP21>
7234                     <PUSH 'ANY>
7235                     <NTHUV N4 4 = STACK>
7236                     <PUSH N4>
7237                     <CALL '\1aEANAQ 4>
7238                     <JUMP + PHRASE23>
7239 PHRASE20
7240                     <FRAME '\1aEANA>
7241                     <PUSH NN18>
7242                     <DEAD NN18>
7243                     <PUSH 'ANY>
7244                     <NTHUV N4 4 = STACK>
7245                     <CALL '\1aEANA 3>
7246 PHRASE23
7247                     <RESTL TEMP17 1 = TEMP17 (TYPE LIST)>
7248                     <JUMP + MAP7>
7249 MAPAP10
7250                     <FRAME '\1aSPEC-FLUSH>
7251                     <CALL '\1aSPEC-FLUSH 0>
7252                     <FRAME '\1aPUT-FLUSH>
7253                     <PUSH 'ALL>
7254                     <CALL '\1aPUT-FLUSH 1>
7255                     <FRAME '\1aTYPE-OK?>
7256                     <PUSH 'ANY>
7257                     <PUSH R5>
7258                     <DEAD R5>
7259                     <CALL '\1aTYPE-OK? 2 = TEMP17>
7260                     <RETURN TEMP17>
7261                     <DEAD TEMP17>
7262                     <END \1aREAD2-ANA>
7263 #WORD *5445443556*
7264 <GFCN \1aGET-ANA ("VALUE" ANY NODE ANY) N4 R5>
7265                     <TEMP K7:LIST NAM8 TEMP11>
7266                     <INTGO>
7267                     <NTHUV N4 5 = K7 (TYPE LIST)>
7268                     <NTHUV N4 4 = NAM8>
7269                     <FRAME '\1aEANA>
7270                     <NTHL K7 1 = STACK (TYPE NODE)>
7271                     <PUSH 'ANY>
7272                     <PUSH NAM8>
7273                     <CALL '\1aEANA 3>
7274                     <FRAME '\1aEANA>
7275                     <RESTL K7 1 = TEMP11 (TYPE LIST)>
7276                     <NTHL TEMP11 1 = STACK (TYPE NODE)>
7277                     <DEAD TEMP11>
7278                     <PUSH 'ANY>
7279                     <PUSH NAM8>
7280                     <CALL '\1aEANA 3>
7281                     <FRAME '\1aEANAQ>
7282                     <RESTL K7 1 = TEMP11 (TYPE LIST)>
7283                     <DEAD K7>
7284                     <RESTL TEMP11 1 = TEMP11 (TYPE LIST)>
7285                     <NTHL TEMP11 1 = STACK (TYPE NODE)>
7286                     <DEAD TEMP11>
7287                     <PUSH 'ANY>
7288                     <PUSH NAM8>
7289                     <PUSH N4>
7290                     <CALL '\1aEANAQ 4 = TEMP11>
7291                     <FRAME '\1aTYPE-OK?>
7292                     <PUSH TEMP11>
7293                     <DEAD TEMP11>
7294                     <PUSH <OR LIST VECTOR UVECTOR FORM>>
7295                     <CALL '\1aTYPE-OK? 2 = TEMP11>
7296                     <TYPE? TEMP11 <TYPE-CODE FALSE> + PHRASE14>
7297                     <DEAD TEMP11>
7298                     <FRAME '\1aCOMPILE-WARNING>
7299                     <PUSH "Uncertain use of ">
7300                     <PUSH NAM8>
7301                     <DEAD NAM8>
7302                     <PUSH N4>
7303                     <DEAD N4>
7304                     <CALL '\1aCOMPILE-WARNING 3>
7305                     <FRAME '\1aSPEC-FLUSH>
7306                     <CALL '\1aSPEC-FLUSH 0>
7307                     <FRAME '\1aPUT-FLUSH>
7308                     <PUSH 'ALL>
7309                     <CALL '\1aPUT-FLUSH 1>
7310                     <JUMP + PHRASE19>
7311 PHRASE14
7312                     <PUTUV N4 1 57 (TYPE FIX)>
7313                     <DEAD N4>
7314 PHRASE19
7315                     <FRAME '\1aTYPE-OK?>
7316                     <PUSH 'ANY>
7317                     <PUSH R5>
7318                     <DEAD R5>
7319                     <CALL '\1aTYPE-OK? 2 = TEMP11>
7320                     <RETURN TEMP11>
7321                     <DEAD TEMP11>
7322                     <END \1aGET-ANA>
7323 #WORD *33162071775*
7324 <GFCN \1aGET2-ANA ("VALUE" ANY NODE ANY) N4 R5>
7325                     <TEMP K6:LIST NAM7 LN8:FIX TEMP11>
7326                     <INTGO>
7327                     <NTHUV N4 5 = K6 (TYPE LIST)>
7328                     <NTHUV N4 4 = NAM7>
7329                     <LENL K6 = LN8 (TYPE FIX)>
7330                     <FRAME '\1aEANA>
7331                     <NTHL K6 1 = STACK (TYPE NODE)>
7332                     <PUSH 'ANY>
7333                     <PUSH NAM7>
7334                     <CALL '\1aEANA 3>
7335                     <FRAME '\1aEANA>
7336                     <RESTL K6 1 = TEMP11 (TYPE LIST)>
7337                     <NTHL TEMP11 1 = STACK (TYPE NODE)>
7338                     <DEAD TEMP11>
7339                     <PUSH 'ANY>
7340                     <PUSH NAM7>
7341                     <CALL '\1aEANA 3>
7342                     <VEQUAL? LN8 3 - PHRASE13 (TYPE FIX)>
7343                     <DEAD LN8>
7344                     <FRAME '\1aEANAQ>
7345                     <RESTL K6 1 = TEMP11 (TYPE LIST)>
7346                     <DEAD K6>
7347                     <RESTL TEMP11 1 = TEMP11 (TYPE LIST)>
7348                     <NTHL TEMP11 1 = STACK (TYPE NODE)>
7349                     <DEAD TEMP11>
7350                     <PUSH 'ANY>
7351                     <PUSH NAM7>
7352                     <DEAD NAM7>
7353                     <PUSH N4>
7354                     <DEAD N4>
7355                     <CALL '\1aEANAQ 4>
7356 PHRASE13
7357                     <FRAME '\1aTYPE-OK?>
7358                     <PUSH 'ANY>
7359                     <PUSH R5>
7360                     <DEAD R5>
7361                     <CALL '\1aTYPE-OK? 2 = TEMP11>
7362                     <RETURN TEMP11>
7363                     <DEAD TEMP11>
7364                     <END \1aGET2-ANA>
7365 #WORD *25266214530*
7366 <GFCN \1aEANAQ ("VALUE" ANY NODE ANY ANY ANY) N4 R5 NAM6 INOD7>
7367                     <TEMP SPCD8>
7368                     <INTGO>
7369                     <FRAME '\1aBUILD-TYPE-LIST>
7370                     <GEN-LVAL 'VARTBL = STACK>
7371                     <CALL '\1aBUILD-TYPE-LIST 1 = SPCD8>
7372                     <FRAME '\1aEANA>
7373                     <PUSH N4>
7374                     <DEAD N4>
7375                     <PUSH R5>
7376                     <DEAD R5>
7377                     <PUSH NAM6>
7378                     <DEAD NAM6>
7379                     <CALL '\1aEANA 3 = R5>
7380                     <FRAME '\1aASSERT-TYPES>
7381                     <FRAME '\1aORUPC>
7382                     <GEN-LVAL 'VARTBL = STACK>
7383                     <PUSH SPCD8>
7384                     <DEAD SPCD8>
7385                     <CALL '\1aORUPC 2 = STACK>
7386                     <CALL '\1aASSERT-TYPES 1>
7387                     <RETURN R5>
7388                     <DEAD R5>
7389                     <END \1aEANAQ>
7390 #WORD *25643431274*
7391 <GFCN \1aACTIV? ("VALUE" <OR ATOM !<FALSE>> <LIST [REST SYMTAB]> ANY) BST4 NOACT5>
7392                     <TEMP TEMP6>
7393                     <INTGO>
7394                     <LOOP>
7395 AGAIN9
7396                     <INTGO>
7397                     <EMPL? BST4 - BOOL10 (TYPE LIST)>
7398                     <RETURN %<>>
7399 BOOL10
7400                     <NTHL BST4 1 = TEMP6 (TYPE SYMTAB)>
7401                     <NTHUV TEMP6 4 = TEMP6 (TYPE FIX)>
7402                     <VEQUAL? TEMP6 1 - BOOL11 (TYPE FIX)>
7403                     <DEAD TEMP6>
7404                     <TYPE? NOACT5 <TYPE-CODE FALSE> + BOOL15>
7405                     <NTHL BST4 1 = TEMP6 (TYPE SYMTAB)>
7406                     <NTHUV TEMP6 11 = TEMP6>
7407                     <TYPE? TEMP6 <TYPE-CODE FALSE> + BOOL15>
7408                     <DEAD TEMP6>
7409                     <NTHL BST4 1 = TEMP6 (TYPE SYMTAB)>
7410                     <NTHUV TEMP6 3 = TEMP6>
7411                     <TYPE? TEMP6 <TYPE-CODE FALSE> + BOOL11>
7412                     <DEAD TEMP6>
7413 BOOL15
7414                     <RETURN 'T>
7415 BOOL11
7416                     <RESTL BST4 1 = BST4 (TYPE LIST)>
7417                     <JUMP + AGAIN9>
7418                     <END \1aACTIV?>
7419 #WORD *30364401743*
7420 <GFCN \1aSAME-DECL? ("VALUE" <OR ATOM !<FALSE>> ANY ANY) D14 D25>
7421                     <TEMP TEMP7>
7422                     <INTGO>
7423                     <FRAME '\1a=?>
7424                     <PUSH D14>
7425                     <PUSH D25>
7426                     <CALL '\1a=? 2 = TEMP7>
7427                     <VEQUAL? TEMP7 0 - TAG10>
7428                     <FRAME '\1aTYPE-OK?>
7429                     <PUSH D25>
7430                     <DEAD D25>
7431                     <FRAME '\1aNOTIFY>
7432                     <PUSH D14>
7433                     <DEAD D14>
7434                     <CALL '\1aNOTIFY 1 = STACK>
7435                     <CALL '\1aTYPE-OK? 2 = TEMP7>
7436                     <TYPE? TEMP7 <TYPE-CODE FALSE> - TAG9>
7437                     <DEAD TEMP7>
7438                     <RETURN 'T>
7439 TAG9
7440                     <SET TEMP7 %<> (TYPE FALSE)>
7441 TAG10
7442                     <RETURN TEMP7>
7443                     <DEAD TEMP7>
7444                     <END \1aSAME-DECL?>
7445 #WORD *17556712564*
7446 <GFCN \1aSPECIALIZE ("VALUE" ANY ANY) OBJ4>
7447                     <TEMP OB8 T15:FIX TEMP15 SYM7>
7448                     <INTGO>
7449                     <TYPE? OBJ4 <TYPE-CODE FORM> + TAG12>
7450                     <TYPE? OBJ4 <TYPE-CODE SEGMENT> - PHRASE19>
7451 TAG12
7452                     <CHTYPE OBJ4 <TYPE-CODE FORM> = OB8>
7453                     <LENL OB8 = T15 (TYPE FIX)>
7454                     <VEQUAL? T15 2 - BOOL14 (TYPE FIX)>
7455                     <NTHL OB8 1 = TEMP15>
7456                     <EQUAL? TEMP15 'LVAL - BOOL14>
7457                     <DEAD TEMP15>
7458                     <RESTL OB8 1 = TEMP15 (TYPE LIST)>
7459                     <NTHL TEMP15 1 = SYM7>
7460                     <DEAD TEMP15>
7461                     <TYPE? SYM7 <TYPE-CODE ATOM> + BOOL13>
7462 BOOL14
7463                     <VEQUAL? T15 3 - PHRASE19 (TYPE FIX)>
7464                     <DEAD T15>
7465                     <NTHL OB8 1 = TEMP15>
7466                     <EQUAL? TEMP15 'SET - PHRASE19>
7467                     <DEAD TEMP15>
7468                     <RESTL OB8 1 = TEMP15 (TYPE LIST)>
7469                     <DEAD OB8>
7470                     <NTHL TEMP15 1 = SYM7>
7471                     <DEAD TEMP15>
7472                     <TYPE? SYM7 <TYPE-CODE ATOM> - PHRASE19>
7473 BOOL13
7474                     <FRAME '\1aSRCH-SYM>
7475                     <PUSH SYM7>
7476                     <CALL '\1aSRCH-SYM 1 = OB8>
7477                     <VEQUAL? OB8 0 + PHRASE19>
7478                     <NTHUV OB8 3 = TEMP15>
7479                     <TYPE? TEMP15 <TYPE-CODE FALSE> - PHRASE19>
7480                     <DEAD TEMP15>
7481                     <FRAME '\1aCOMPILE-NOTE>
7482                     <PUSH "Redeclared special ">
7483                     <PUSH SYM7>
7484                     <DEAD SYM7>
7485                     <CALL '\1aCOMPILE-NOTE 2>
7486                     <PUTUV OB8 3 'T>
7487                     <DEAD OB8>
7488 PHRASE19
7489                     <FRAME '\1aPRIMTYPE>
7490                     <PUSH OBJ4>
7491                     <CALL '\1aPRIMTYPE 1 = SYM7>
7492                     <SET TEMP15 [FORM LIST UVECTOR VECTOR] (TYPE VECTOR)>
7493                     <LOOP (SYM7 VALUE) (TEMP15 LENGTH VALUE)>
7494 TAG25
7495                     <NTHUV TEMP15 1 = OB8>
7496                     <VEQUAL? OB8 SYM7 + TAG24>
7497                     <DEAD OB8>
7498                     <RESTUV TEMP15 1 = TEMP15 (TYPE VECTOR)>
7499                     <EMPUV? TEMP15 - TAG25>
7500                     <RETURN %<>>
7501 TAG24
7502                     <SET OB8 %<> (TYPE FALSE)>
7503                     <SET SYM7 OBJ4>
7504                     <DEAD OBJ4>
7505                     <LOOP>
7506 MAP31
7507                     <INTGO>
7508                     <EMPTY? SYM7 + MAP30>
7509                     <FRAME '\1aSPECIALIZE>
7510                     <NTH1 SYM7 = STACK>
7511                     <CALL '\1aSPECIALIZE 1 = OB8>
7512                     <REST1 SYM7 = SYM7>
7513                     <JUMP + MAP31>
7514 MAP30
7515                     <RETURN OB8>
7516                     <DEAD OB8>
7517                     <END \1aSPECIALIZE>
7518 #WORD *36653106775*
7519 <GFCN \1aADECL-ANA ("VALUE" ANY ANY ANY) NOD4 RTYP5>
7520                     <TEMP RT6 TEMP9 TY8>
7521                     <INTGO>
7522                     <NTHUV NOD4 4 = RT6>
7523                     <NTHUV NOD4 5 = TEMP9 (TYPE LIST)>
7524                     <NTHL TEMP9 1 = TEMP9 (TYPE NODE)>
7525                     <FRAME '\1aTYPE-OK?>
7526                     <PUSH RT6>
7527                     <PUSH RTYP5>
7528                     <CALL '\1aTYPE-OK? 2 = TY8>
7529                     <TYPE? TY8 <TYPE-CODE FALSE> - PHRASE11>
7530                     <FRAME '\1aCOMPILE-ERROR>
7531                     <PUSH "ADECL asserts incompatible type.">
7532                     <PUSH "Required type is ">
7533                     <PUSH RTYP5>
7534                     <DEAD RTYP5>
7535                     <PUSH " ADECL type is ">
7536                     <PUSH RT6>
7537                     <CALL '\1aCOMPILE-ERROR 5>
7538                     <JUMP + PHRASE14>
7539 PHRASE11
7540                     <FRAME '\1aANA>
7541                     <PUSH TEMP9>
7542                     <PUSH TY8>
7543                     <CALL '\1aANA 2 = RT6>
7544                     <TYPE? RT6 <TYPE-CODE FALSE> - PHRASE14>
7545                     <FRAME '\1aCOMPILE-ERROR>
7546                     <PUSH "ADECL asserts incompatible type.">
7547                     <PUSH "Result type is ">
7548                     <NTHUV TEMP9 3 = STACK>
7549                     <DEAD TEMP9>
7550                     <PUSH " ADECL type is ">
7551                     <PUSH TY8>
7552                     <DEAD TY8>
7553                     <CALL '\1aCOMPILE-ERROR 5>
7554 PHRASE14
7555                     <PUTUV NOD4 3 RT6>
7556                     <DEAD NOD4>
7557                     <RETURN RT6>
7558                     <DEAD RT6>
7559                     <END \1aADECL-ANA>
7560 #WORD *3156255365*
7561 <GFCN \1aCALL-ANA ("VALUE" ANY NODE ANY) N4 R5>
7562                     <TEMP K6:LIST TEMP13 INS7 TYP8 TEMP19:FIX TEMP25>
7563                     <INTGO>
7564                     <NTHUV N4 5 = K6 (TYPE LIST)>
7565                     <EMPL? K6 - PHRASE11 (TYPE LIST)>
7566                     <FRAME '\1aCOMPILE-ERROR>
7567                     <PUSH "CALL has no instruction supplied">
7568                     <PUSH N4>
7569                     <DEAD N4>
7570                     <CALL '\1aCOMPILE-ERROR 2 = TEMP13>
7571                     <RETURN TEMP13>
7572                     <DEAD TEMP13>
7573 PHRASE11
7574                     <NTHL K6 1 = INS7 (TYPE NODE)>
7575                     <NTHUV INS7 1 = TEMP13 (TYPE FIX)>
7576                     <VEQUAL? TEMP13 2 - PHRASE14 (TYPE FIX)>
7577                     <DEAD TEMP13>
7578                     <NTHUV INS7 4 = TEMP13>
7579                     <TYPE? TEMP13 <TYPE-CODE ATOM> - PHRASE14>
7580                     <DEAD TEMP13>
7581                     <FRAME '\1aLEGAL-MIM-INS>
7582                     <PUSH INS7>
7583                     <CALL '\1aLEGAL-MIM-INS 1 = TYP8>
7584                     <TYPE? TYP8 <TYPE-CODE FALSE> + PHRASE14>
7585                     <PUSH N4>
7586                     <SET TEMP19 1 (TYPE FIX)>
7587                     <NTHUV N4 8 = TEMP13>
7588                     <TYPE TEMP13 = TEMP25>
7589                     <AND TEMP25 7 = TEMP25>
7590                     <VEQUAL? TEMP25 1 + TAG21>
7591                     <DEAD TEMP25>
7592                     <LOOP (TEMP13 TYPE VALUE LENGTH) (TEMP19 VALUE)>
7593 TAG27
7594                     <INTGO>
7595                     <EMPTY? TEMP13 + TAG26>
7596                     <NTH1 TEMP13 = STACK>
7597                     <REST1 TEMP13 = TEMP13>
7598                     <ADD TEMP19 1 = TEMP19 (TYPE FIX)>
7599                     <JUMP + TAG27>
7600 TAG26
7601                     <LIST TEMP19 = TEMP13 (TYPE LIST)>
7602                     <DEAD TEMP19>
7603                     <JUMP + TAG23>
7604 TAG21
7605                     <LOOP>
7606 TAG24
7607                     <VEQUAL? TEMP19 0 + TAG23>
7608                     <POP = TEMP25>
7609                     <CONS TEMP25 TEMP13 = TEMP13 (TYPE LIST)>
7610                     <DEAD TEMP25>
7611                     <SUB TEMP19 1 = TEMP19 (TYPE FIX)>
7612                     <JUMP + TAG24>
7613 TAG23
7614                     <PUTUV N4 8 TEMP13>
7615                     <DEAD N4 TEMP13>
7616                     <NTHUV INS7 4 = TEMP13>
7617                     <DEAD INS7>
7618                     <EQUAL? TEMP13 '`RTUPLE - PHRASE29>
7619                     <DEAD TEMP13>
7620                     <FRAME '\1aEANA>
7621                     <RESTL K6 1 = TEMP13 (TYPE LIST)>
7622                     <NTHL TEMP13 1 = STACK (TYPE NODE)>
7623                     <DEAD TEMP13>
7624                     <PUSH 'FIX>
7625                     <PUSH 'RTUPLE>
7626                     <CALL '\1aEANA 3>
7627                     <FRAME '\1aACT-CHECK>
7628                     <RESTL K6 1 = TEMP13 (TYPE LIST)>
7629                     <RESTL TEMP13 1 = TEMP13 (TYPE LIST)>
7630                     <NTHL TEMP13 1 = STACK (TYPE NODE)>
7631                     <DEAD TEMP13>
7632                     <PUSH %<>>
7633                     <CALL '\1aACT-CHECK 2 = INS7>
7634                     <TYPE? INS7 <TYPE-CODE FALSE> + PHRASE32>
7635                     <NTHUV INS7 14 = TEMP13>
7636                     <EQUAL? TEMP13 'NO-RETURN - PHRASE35>
7637                     <DEAD TEMP13>
7638                     <FRAME '\1aBUILD-TYPE-LIST>
7639                     <NTHUV INS7 11 = STACK (TYPE SYMTAB)>
7640                     <CALL '\1aBUILD-TYPE-LIST 1 = TEMP13>
7641                     <PUTUV INS7 16 TEMP13>
7642                     <DEAD TEMP13>
7643                     <FRAME '\1aSAVE-L-D-STATE>
7644                     <GEN-LVAL 'VARTBL = STACK>
7645                     <CALL '\1aSAVE-L-D-STATE 1 = TEMP25>
7646                     <PUTUV INS7 15 TEMP25>
7647                     <DEAD TEMP25>
7648                     <JUMP + PHRASE40>
7649 PHRASE35
7650                     <FRAME '\1aORUPC>
7651                     <NTHUV INS7 11 = STACK (TYPE SYMTAB)>
7652                     <NTHUV INS7 16 = STACK (TYPE LIST)>
7653                     <CALL '\1aORUPC 2 = TEMP25>
7654                     <PUTUV INS7 16 TEMP25>
7655                     <DEAD TEMP25>
7656                     <FRAME '\1aMSAVE-L-D-STATE>
7657                     <NTHUV INS7 15 = STACK (TYPE LIST)>
7658                     <GEN-LVAL 'VARTBL = STACK>
7659                     <CALL '\1aMSAVE-L-D-STATE 2 = TEMP13>
7660                     <PUTUV INS7 15 TEMP13>
7661                     <DEAD TEMP13>
7662 PHRASE40
7663                     <FRAME '\1aTYPE-MERGE>
7664                     <PUSH 'TUPLE>
7665                     <NTHUV INS7 14 = STACK>
7666                     <CALL '\1aTYPE-MERGE 2 = TEMP13>
7667                     <PUTUV INS7 14 TEMP13>
7668                     <DEAD INS7 TEMP13>
7669                     <JUMP + MAPAP54>
7670 PHRASE32
7671                     <FRAME '\1aEANA>
7672                     <RESTL K6 1 = TEMP13 (TYPE LIST)>
7673                     <DEAD K6>
7674                     <RESTL TEMP13 1 = TEMP13 (TYPE LIST)>
7675                     <NTHL TEMP13 1 = STACK (TYPE NODE)>
7676                     <DEAD TEMP13>
7677                     <PUSH 'FRAME>
7678                     <PUSH 'RTUPLE>
7679                     <CALL '\1aEANA 3>
7680                     <JUMP + MAPAP54>
7681 PHRASE29
7682                     <RESTL K6 1 = K6 (TYPE LIST)>
7683                     <LOOP>
7684 MAP51
7685                     <INTGO>
7686                     <EMPL? K6 + MAPAP54>
7687                     <NTHL K6 1 = INS7>
7688                     <NTHUV INS7 1 = TEMP13 (TYPE FIX)>
7689                     <VEQUAL? TEMP13 3 - PHRASE63 (TYPE FIX)>
7690                     <DEAD TEMP13>
7691                     <FRAME '\1aEANA>
7692                     <NTHUV INS7 5 = TEMP13 (TYPE LIST)>
7693                     <DEAD INS7>
7694                     <NTHL TEMP13 1 = STACK (TYPE NODE)>
7695                     <DEAD TEMP13>
7696                     <PUSH <OR MULTI STRUCTURED>>
7697                     <PUSH 'CALL>
7698                     <CALL '\1aEANA 3>
7699                     <JUMP + PHRASE66>
7700 PHRASE63
7701                     <FRAME '\1aEANA>
7702                     <PUSH INS7>
7703                     <DEAD INS7>
7704                     <PUSH 'ANY>
7705                     <PUSH 'CALL>
7706                     <CALL '\1aEANA 3>
7707 PHRASE66
7708                     <RESTL K6 1 = K6 (TYPE LIST)>
7709                     <JUMP + MAP51>
7710 MAPAP54
7711                     <FRAME '\1aTYPE-OK?>
7712                     <PUSH R5>
7713                     <DEAD R5>
7714                     <PUSH TYP8>
7715                     <DEAD TYP8>
7716                     <CALL '\1aTYPE-OK? 2 = TEMP13>
7717                     <RETURN TEMP13>
7718                     <DEAD TEMP13>
7719 PHRASE14
7720                     <FRAME '\1aCOMPILE-ERROR>
7721                     <PUSH "CALL with a non-instruction: ">
7722                     <PUSH N4>
7723                     <DEAD N4>
7724                     <CALL '\1aCOMPILE-ERROR 2 = TEMP13>
7725                     <RETURN TEMP13>
7726                     <DEAD TEMP13>
7727                     <END \1aCALL-ANA>\r\r
7728 #WORD *31357744777*
7729 <GFCN \1aLEGAL-MIM-INS ("VALUE" ANY NODE) N4>
7730                     <TEMP ATM5 TEMP9 TEMP13:STRING TEMP15 TEMP16 TEMP17>
7731                     <INTGO>
7732                     <NTHUV N4 4 = ATM5 (TYPE ATOM)>
7733                     <FRAME '\1aLOOKUP>
7734                     <NTHR ATM5 3 = STACK (RECORD-TYPE ATOM)>
7735                     <DEAD ATM5>
7736                     <GVAL 'MIM-OBL = STACK>
7737                     <CALL '\1aLOOKUP 2 = ATM5>
7738                     <SET TEMP9 ATM5>
7739                     <TYPE? TEMP9 <TYPE-CODE FALSE> + PHRASE23>
7740                     <PUTUV N4 4 ATM5>
7741                     <DEAD N4>
7742                     <NTHR ATM5 3 = TEMP13 (RECORD-TYPE ATOM)>
7743                     <IFCAN "STRING-EQUAL?">
7744                     <STRING-EQUAL? TEMP13 "ACTIVATION" - PHRASE12>
7745                     <ENDIF "STRING-EQUAL?">
7746                     <IFCANNOT "STRING-EQUAL?">
7747                     <SET TEMP9 "ACTIVATION" (TYPE STRING)>
7748                     <LENUS TEMP13 = TEMP15 (TYPE FIX)>
7749                     <VEQUAL? TEMP15 10 - PHRASE12>
7750                     <LOOP (TEMP13 VALUE LENGTH) (TEMP9 VALUE LENGTH) (TEMP15 VALUE)>
7751 TAG18
7752                     <NTHUS TEMP13 1 = TEMP16>
7753                     <NTHUS TEMP9 1 = TEMP17>
7754                     <VEQUAL? TEMP16 TEMP17 - PHRASE12>
7755                     <DEAD TEMP16 TEMP17>
7756                     <RESTUS TEMP13 1 = TEMP13 (TYPE STRING)>
7757                     <RESTUS TEMP9 1 = TEMP9 (TYPE STRING)>
7758                     <SUB TEMP15 1 = TEMP15 (TYPE FIX)>
7759                     <GRTR? TEMP15 0 + TAG18 (TYPE FIX)>
7760                     <ENDIF "STRING-EQUAL?">
7761                     <GEN-LVAL 'FCN = TEMP9>
7762                     <PUTUV TEMP9 12 'T>
7763                     <DEAD TEMP9>
7764 PHRASE12
7765                     <FRAME '\1aGETPROP>
7766                     <PUSH ATM5>
7767                     <DEAD ATM5>
7768                     <PUSH 'TYPE>
7769                     <CALL '\1aGETPROP 2 = TEMP9>
7770                     <TYPE? TEMP9 <TYPE-CODE FALSE> - PHRASE23>
7771                     <SET TEMP9 'ANY (TYPE ATOM)>
7772 PHRASE23
7773                     <RETURN TEMP9>
7774                     <DEAD TEMP9>
7775                     <END \1aLEGAL-MIM-INS>
7776 #WORD *37004373376*
7777 <GFCN \1aAPPLY-ANA ("VALUE" ANY NODE ANY) N4 R5>
7778                     <TEMP K6 TEMP10 TEMP14:FIX TEMP20>
7779                     <INTGO>
7780                     <NTHUV N4 5 = K6 (TYPE LIST)>
7781                     <EMPL? K6 - PHRASE8 (TYPE LIST)>
7782                     <FRAME '\1aCOMPILE-ERROR>
7783                     <PUSH "APPLY has nothing to apply">
7784                     <PUSH N4>
7785                     <DEAD N4>
7786                     <CALL '\1aCOMPILE-ERROR 2 = TEMP10>
7787                     <RETURN TEMP10>
7788                     <DEAD TEMP10>
7789 PHRASE8
7790                     <PUSH N4>
7791                     <SET TEMP14 1 (TYPE FIX)>
7792                     <NTHUV N4 8 = TEMP10>
7793                     <TYPE TEMP10 = TEMP20>
7794                     <AND TEMP20 7 = TEMP20>
7795                     <VEQUAL? TEMP20 1 + TAG16>
7796                     <DEAD TEMP20>
7797                     <LOOP (TEMP10 TYPE VALUE LENGTH) (TEMP14 VALUE)>
7798 TAG22
7799                     <INTGO>
7800                     <EMPTY? TEMP10 + TAG21>
7801                     <NTH1 TEMP10 = STACK>
7802                     <REST1 TEMP10 = TEMP10>
7803                     <ADD TEMP14 1 = TEMP14 (TYPE FIX)>
7804                     <JUMP + TAG22>
7805 TAG21
7806                     <LIST TEMP14 = TEMP10 (TYPE LIST)>
7807                     <DEAD TEMP14>
7808                     <JUMP + TAG18>
7809 TAG16
7810                     <LOOP>
7811 TAG19
7812                     <VEQUAL? TEMP14 0 + TAG18>
7813                     <POP = TEMP20>
7814                     <CONS TEMP20 TEMP10 = TEMP10 (TYPE LIST)>
7815                     <DEAD TEMP20>
7816                     <SUB TEMP14 1 = TEMP14 (TYPE FIX)>
7817                     <JUMP + TAG19>
7818 TAG18
7819                     <PUTUV N4 8 TEMP10>
7820                     <DEAD TEMP10>
7821                     <SET TEMP10 K6 (TYPE LIST)>
7822                     <DEAD K6>
7823                     <LOOP>
7824 MAP24
7825                     <INTGO>
7826                     <EMPL? TEMP10 + MAPAP27>
7827                     <NTHL TEMP10 1 = K6>
7828                     <NTHUV K6 1 = TEMP20 (TYPE FIX)>
7829                     <VEQUAL? TEMP20 3 - PHRASE34 (TYPE FIX)>
7830                     <DEAD TEMP20>
7831                     <FRAME '\1aEANA>
7832                     <NTHUV K6 5 = TEMP20 (TYPE LIST)>
7833                     <DEAD K6>
7834                     <NTHL TEMP20 1 = STACK (TYPE NODE)>
7835                     <DEAD TEMP20>
7836                     <PUSH <OR MULTI STRUCTURED>>
7837                     <PUSH 'CALL>
7838                     <CALL '\1aEANA 3>
7839                     <JUMP + PHRASE37>
7840 PHRASE34
7841                     <FRAME '\1aEANA>
7842                     <PUSH K6>
7843                     <DEAD K6>
7844                     <PUSH 'ANY>
7845                     <PUSH 'CALL>
7846                     <CALL '\1aEANA 3>
7847 PHRASE37
7848                     <RESTL TEMP10 1 = TEMP10 (TYPE LIST)>
7849                     <JUMP + MAP24>
7850 MAPAP27
7851                     <PUTUV N4 1 93 (TYPE FIX)>
7852                     <DEAD N4>
7853                     <FRAME '\1aTYPE-OK?>
7854                     <PUSH R5>
7855                     <DEAD R5>
7856                     <PUSH 'ANY>
7857                     <CALL '\1aTYPE-OK? 2 = TEMP10>
7858                     <RETURN TEMP10>
7859                     <DEAD TEMP10>
7860                     <END \1aAPPLY-ANA>
7861 <COND (<GASSIGNED? APPLY-ANA> <PUTPROP ,APPLY ANALYSIS ,APPLY-ANA>)>
7862
7863 #WORD *15356675245*
7864 <GFCN \1aANALYSIS-DISPATCHER ("VALUE" ANY ANY ANY) NOD4 RTYP5>
7865                     <TEMP TEMP62>
7866                     <INTGO>
7867                     <NTHUV NOD4 1 = TEMP62 (TYPE FIX)>
7868                     <DISPATCH TEMP62 1 CASE9 CASE8 CASE10 CASE11 CASE12 CASE13 CASE14 CASEDF6 CASE16 CASEDF6 CASEDF6 CASEDF6 CASEDF6 CASEDF6 CASE15 CASEDF6 CASEDF6 CASE25 CASE27 CASEDF6 CASE28 CASE26 CASEDF6 CASEDF6 CASE34 CASE35 CASE36 CASE37 CASE38 CASE39 CASEDF6 CASEDF6 CASEDF6 CASEDF6 CASE29 CASEDF6 CASEDF6 CASE30 CASE31 CASE32 CASE33 CASEDF6 CASEDF6 CASE17 CASE18 CASEDF6 CASEDF6 CASE51 CASE52 CASE23 CASEDF6 CASEDF6 CASE19 CASE20 CASEDF6 CASE21 CASE22 CASEDF6 CASEDF6 CASE42 CASE24 CASEDF6 CASEDF6 CASEDF6 CASE40 CASEDF6 CASEDF6 CASEDF6 CASEDF6 CASEDF6 CASEDF6 CASEDF6 CASEDF6 CASE41 CASEDF6 CASEDF6 CASEDF6 CASEDF6 CASEDF6 CASE46 CASE60 CASE54 CASE55 CASE47 CASEDF6 CASE43 CASE44 CASE45 CASE48 CASE49 CASEDF6 CASEDF6 CASE50 CASEDF6 CASEDF6 CASEDF6 CASEDF6 CASE53 CASE56 CASE57 CASE58 CASE59 CASE61>
7869                     <DEAD TEMP62>
7870 CASEDF6
7871                     <FRAME '\1aSUBR-ANA>
7872                     <PUSH NOD4>
7873                     <DEAD NOD4>
7874                     <PUSH RTYP5>
7875                     <DEAD RTYP5>
7876                     <CALL '\1aSUBR-ANA 2 = TEMP62>
7877                     <RETURN TEMP62>
7878                     <DEAD TEMP62>
7879 CASE8
7880                     <FRAME '\1aQUOTE-ANA>
7881                     <PUSH NOD4>
7882                     <DEAD NOD4>
7883                     <PUSH RTYP5>
7884                     <DEAD RTYP5>
7885                     <CALL '\1aQUOTE-ANA 2 = TEMP62>
7886                     <RETURN TEMP62>
7887                     <DEAD TEMP62>
7888 CASE9
7889                     <FRAME '\1aFUNC-ANA>
7890                     <PUSH NOD4>
7891                     <DEAD NOD4>
7892                     <PUSH RTYP5>
7893                     <DEAD RTYP5>
7894                     <CALL '\1aFUNC-ANA 2 = TEMP62>
7895                     <RETURN TEMP62>
7896                     <DEAD TEMP62>
7897 CASE10
7898                     <FRAME '\1aSEGMENT-ANA>
7899                     <PUSH NOD4>
7900                     <DEAD NOD4>
7901                     <PUSH RTYP5>
7902                     <DEAD RTYP5>
7903                     <CALL '\1aSEGMENT-ANA 2 = TEMP62>
7904                     <RETURN TEMP62>
7905                     <DEAD TEMP62>
7906 CASE11
7907                     <FRAME '\1aFORM-AN>
7908                     <PUSH NOD4>
7909                     <DEAD NOD4>
7910                     <PUSH RTYP5>
7911                     <DEAD RTYP5>
7912                     <CALL '\1aFORM-AN 2 = TEMP62>
7913                     <RETURN TEMP62>
7914                     <DEAD TEMP62>
7915 CASE12
7916                     <FRAME '\1aPRG-REP-ANA>
7917                     <PUSH NOD4>
7918                     <DEAD NOD4>
7919                     <PUSH RTYP5>
7920                     <DEAD RTYP5>
7921                     <CALL '\1aPRG-REP-ANA 2 = TEMP62>
7922                     <RETURN TEMP62>
7923                     <DEAD TEMP62>
7924 CASE13
7925                     <FRAME '\1aSUBR-ANA>
7926                     <PUSH NOD4>
7927                     <DEAD NOD4>
7928                     <PUSH RTYP5>
7929                     <DEAD RTYP5>
7930                     <CALL '\1aSUBR-ANA 2 = TEMP62>
7931                     <RETURN TEMP62>
7932                     <DEAD TEMP62>
7933 CASE14
7934                     <FRAME '\1aCOND-ANA>
7935                     <PUSH NOD4>
7936                     <DEAD NOD4>
7937                     <PUSH RTYP5>
7938                     <DEAD RTYP5>
7939                     <CALL '\1aCOND-ANA 2 = TEMP62>
7940                     <RETURN TEMP62>
7941                     <DEAD TEMP62>
7942 CASE15
7943                     <FRAME '\1aCOPY-AN>
7944                     <PUSH NOD4>
7945                     <DEAD NOD4>
7946                     <PUSH RTYP5>
7947                     <DEAD RTYP5>
7948                     <CALL '\1aCOPY-AN 2 = TEMP62>
7949                     <RETURN TEMP62>
7950                     <DEAD TEMP62>
7951 CASE16
7952                     <FRAME '\1aRSUBR-ANA>
7953                     <PUSH NOD4>
7954                     <DEAD NOD4>
7955                     <PUSH RTYP5>
7956                     <DEAD RTYP5>
7957                     <CALL '\1aRSUBR-ANA 2 = TEMP62>
7958                     <RETURN TEMP62>
7959                     <DEAD TEMP62>
7960 CASE17
7961                     <FRAME '\1aISTRUC-ANA>
7962                     <PUSH NOD4>
7963                     <DEAD NOD4>
7964                     <PUSH RTYP5>
7965                     <DEAD RTYP5>
7966                     <CALL '\1aISTRUC-ANA 2 = TEMP62>
7967                     <RETURN TEMP62>
7968                     <DEAD TEMP62>
7969 CASE18
7970                     <FRAME '\1aISTRUC2-ANA>
7971                     <PUSH NOD4>
7972                     <DEAD NOD4>
7973                     <PUSH RTYP5>
7974                     <DEAD RTYP5>
7975                     <CALL '\1aISTRUC2-ANA 2 = TEMP62>
7976                     <RETURN TEMP62>
7977                     <DEAD TEMP62>
7978 CASE19
7979                     <FRAME '\1aREAD-ANA>
7980                     <PUSH NOD4>
7981                     <DEAD NOD4>
7982                     <PUSH RTYP5>
7983                     <DEAD RTYP5>
7984                     <CALL '\1aREAD-ANA 2 = TEMP62>
7985                     <RETURN TEMP62>
7986                     <DEAD TEMP62>
7987 CASE20
7988                     <FRAME '\1aREAD2-ANA>
7989                     <PUSH NOD4>
7990                     <DEAD NOD4>
7991                     <PUSH RTYP5>
7992                     <DEAD RTYP5>
7993                     <CALL '\1aREAD2-ANA 2 = TEMP62>
7994                     <RETURN TEMP62>
7995                     <DEAD TEMP62>
7996 CASE21
7997                     <FRAME '\1aGET-ANA>
7998                     <PUSH NOD4>
7999                     <DEAD NOD4>
8000                     <PUSH RTYP5>
8001                     <DEAD RTYP5>
8002                     <CALL '\1aGET-ANA 2 = TEMP62>
8003                     <RETURN TEMP62>
8004                     <DEAD TEMP62>
8005 CASE22
8006                     <FRAME '\1aGET2-ANA>
8007                     <PUSH NOD4>
8008                     <DEAD NOD4>
8009                     <PUSH RTYP5>
8010                     <DEAD RTYP5>
8011                     <CALL '\1aGET2-ANA 2 = TEMP62>
8012                     <RETURN TEMP62>
8013                     <DEAD TEMP62>
8014 CASE23
8015                     <FRAME '\1aMAPPER-AN>
8016                     <PUSH NOD4>
8017                     <DEAD NOD4>
8018                     <PUSH RTYP5>
8019                     <DEAD RTYP5>
8020                     <CALL '\1aMAPPER-AN 2 = TEMP62>
8021                     <RETURN TEMP62>
8022                     <DEAD TEMP62>
8023 CASE24
8024                     <FRAME '\1aMARGS-ANA>
8025                     <PUSH NOD4>
8026                     <DEAD NOD4>
8027                     <PUSH RTYP5>
8028                     <DEAD RTYP5>
8029                     <CALL '\1aMARGS-ANA 2 = TEMP62>
8030                     <RETURN TEMP62>
8031                     <DEAD TEMP62>
8032 CASE25
8033                     <FRAME '\1aARITH-ANA>
8034                     <PUSH NOD4>
8035                     <DEAD NOD4>
8036                     <PUSH RTYP5>
8037                     <DEAD RTYP5>
8038                     <CALL '\1aARITH-ANA 2 = TEMP62>
8039                     <RETURN TEMP62>
8040                     <DEAD TEMP62>
8041 CASE26
8042                     <FRAME '\1aARITHP-ANA>
8043                     <PUSH NOD4>
8044                     <DEAD NOD4>
8045                     <PUSH RTYP5>
8046                     <DEAD RTYP5>
8047                     <CALL '\1aARITHP-ANA 2 = TEMP62>
8048                     <RETURN TEMP62>
8049                     <DEAD TEMP62>
8050 CASE27
8051                     <FRAME '\1aARITHP-ANA>
8052                     <PUSH NOD4>
8053                     <DEAD NOD4>
8054                     <PUSH RTYP5>
8055                     <DEAD RTYP5>
8056                     <CALL '\1aARITHP-ANA 2 = TEMP62>
8057                     <RETURN TEMP62>
8058                     <DEAD TEMP62>
8059 CASE28
8060                     <FRAME '\1aARITHP-ANA>
8061                     <PUSH NOD4>
8062                     <DEAD NOD4>
8063                     <PUSH RTYP5>
8064                     <DEAD RTYP5>
8065                     <CALL '\1aARITHP-ANA 2 = TEMP62>
8066                     <RETURN TEMP62>
8067                     <DEAD TEMP62>
8068 CASE29
8069                     <FRAME '\1aARITH-ANA>
8070                     <PUSH NOD4>
8071                     <DEAD NOD4>
8072                     <PUSH RTYP5>
8073                     <DEAD RTYP5>
8074                     <CALL '\1aARITH-ANA 2 = TEMP62>
8075                     <RETURN TEMP62>
8076                     <DEAD TEMP62>
8077 CASE30
8078                     <FRAME '\1aABS-ANA>
8079                     <PUSH NOD4>
8080                     <DEAD NOD4>
8081                     <PUSH RTYP5>
8082                     <DEAD RTYP5>
8083                     <CALL '\1aABS-ANA 2 = TEMP62>
8084                     <RETURN TEMP62>
8085                     <DEAD TEMP62>
8086 CASE31
8087                     <FRAME '\1aFIX-ANA>
8088                     <PUSH NOD4>
8089                     <DEAD NOD4>
8090                     <PUSH RTYP5>
8091                     <DEAD RTYP5>
8092                     <CALL '\1aFIX-ANA 2 = TEMP62>
8093                     <RETURN TEMP62>
8094                     <DEAD TEMP62>
8095 CASE32
8096                     <FRAME '\1aFLOAT-ANA>
8097                     <PUSH NOD4>
8098                     <DEAD NOD4>
8099                     <PUSH RTYP5>
8100                     <DEAD RTYP5>
8101                     <CALL '\1aFLOAT-ANA 2 = TEMP62>
8102                     <RETURN TEMP62>
8103                     <DEAD TEMP62>
8104 CASE33
8105                     <FRAME '\1aMOD-ANA>
8106                     <PUSH NOD4>
8107                     <DEAD NOD4>
8108                     <PUSH RTYP5>
8109                     <DEAD RTYP5>
8110                     <CALL '\1aMOD-ANA 2 = TEMP62>
8111                     <RETURN TEMP62>
8112                     <DEAD TEMP62>
8113 CASE34
8114                     <FRAME '\1aLENGTH-ANA>
8115                     <PUSH NOD4>
8116                     <DEAD NOD4>
8117                     <PUSH RTYP5>
8118                     <DEAD RTYP5>
8119                     <CALL '\1aLENGTH-ANA 2 = TEMP62>
8120                     <RETURN TEMP62>
8121                     <DEAD TEMP62>
8122 CASE35
8123                     <FRAME '\1aEMPTY?-ANA>
8124                     <PUSH NOD4>
8125                     <DEAD NOD4>
8126                     <PUSH RTYP5>
8127                     <DEAD RTYP5>
8128                     <CALL '\1aEMPTY?-ANA 2 = TEMP62>
8129                     <RETURN TEMP62>
8130                     <DEAD TEMP62>
8131 CASE36
8132                     <FRAME '\1aNTH-ANA>
8133                     <PUSH NOD4>
8134                     <DEAD NOD4>
8135                     <PUSH RTYP5>
8136                     <DEAD RTYP5>
8137                     <CALL '\1aNTH-ANA 2 = TEMP62>
8138                     <RETURN TEMP62>
8139                     <DEAD TEMP62>
8140 CASE37
8141                     <FRAME '\1aREST-ANA>
8142                     <PUSH NOD4>
8143                     <DEAD NOD4>
8144                     <PUSH RTYP5>
8145                     <DEAD RTYP5>
8146                     <CALL '\1aREST-ANA 2 = TEMP62>
8147                     <RETURN TEMP62>
8148                     <DEAD TEMP62>
8149 CASE38
8150                     <FRAME '\1aPUT-ANA>
8151                     <PUSH NOD4>
8152                     <DEAD NOD4>
8153                     <PUSH RTYP5>
8154                     <DEAD RTYP5>
8155                     <CALL '\1aPUT-ANA 2 = TEMP62>
8156                     <RETURN TEMP62>
8157                     <DEAD TEMP62>
8158 CASE39
8159                     <FRAME '\1aPUTREST-ANA>
8160                     <PUSH NOD4>
8161                     <DEAD NOD4>
8162                     <PUSH RTYP5>
8163                     <DEAD RTYP5>
8164                     <CALL '\1aPUTREST-ANA 2 = TEMP62>
8165                     <RETURN TEMP62>
8166                     <DEAD TEMP62>
8167 CASE40
8168                     <FRAME '\1aUNWIND-ANA>
8169                     <PUSH NOD4>
8170                     <DEAD NOD4>
8171                     <PUSH RTYP5>
8172                     <DEAD RTYP5>
8173                     <CALL '\1aUNWIND-ANA 2 = TEMP62>
8174                     <RETURN TEMP62>
8175                     <DEAD TEMP62>
8176 CASE41
8177                     <FRAME '\1aFORM-F-ANA>
8178                     <PUSH NOD4>
8179                     <DEAD NOD4>
8180                     <PUSH RTYP5>
8181                     <DEAD RTYP5>
8182                     <CALL '\1aFORM-F-ANA 2 = TEMP62>
8183                     <RETURN TEMP62>
8184                     <DEAD TEMP62>
8185 CASE42
8186                     <FRAME '\1aIRSUBR-ANA>
8187                     <PUSH NOD4>
8188                     <DEAD NOD4>
8189                     <PUSH RTYP5>
8190                     <DEAD RTYP5>
8191                     <CALL '\1aIRSUBR-ANA 2 = TEMP62>
8192                     <RETURN TEMP62>
8193                     <DEAD TEMP62>
8194 CASE43
8195                     <FRAME '\1aROT-ANA>
8196                     <PUSH NOD4>
8197                     <DEAD NOD4>
8198                     <PUSH RTYP5>
8199                     <DEAD RTYP5>
8200                     <CALL '\1aROT-ANA 2 = TEMP62>
8201                     <RETURN TEMP62>
8202                     <DEAD TEMP62>
8203 CASE44
8204                     <FRAME '\1aLSH-ANA>
8205                     <PUSH NOD4>
8206                     <DEAD NOD4>
8207                     <PUSH RTYP5>
8208                     <DEAD RTYP5>
8209                     <CALL '\1aLSH-ANA 2 = TEMP62>
8210                     <RETURN TEMP62>
8211                     <DEAD TEMP62>
8212 CASE45
8213                     <FRAME '\1aBIT-TEST-ANA>
8214                     <PUSH NOD4>
8215                     <DEAD NOD4>
8216                     <PUSH RTYP5>
8217                     <DEAD RTYP5>
8218                     <CALL '\1aBIT-TEST-ANA 2 = TEMP62>
8219                     <RETURN TEMP62>
8220                     <DEAD TEMP62>
8221 CASE46
8222                     <FRAME '\1aCASE-ANA>
8223                     <PUSH NOD4>
8224                     <DEAD NOD4>
8225                     <PUSH RTYP5>
8226                     <DEAD RTYP5>
8227                     <CALL '\1aCASE-ANA 2 = TEMP62>
8228                     <RETURN TEMP62>
8229                     <DEAD TEMP62>
8230 CASE47
8231                     <FRAME '\1aCOPY-AN>
8232                     <PUSH NOD4>
8233                     <DEAD NOD4>
8234                     <PUSH RTYP5>
8235                     <DEAD RTYP5>
8236                     <CALL '\1aCOPY-AN 2 = TEMP62>
8237                     <RETURN TEMP62>
8238                     <DEAD TEMP62>
8239 CASE48
8240                     <FRAME '\1aADECL-ANA>
8241                     <PUSH NOD4>
8242                     <DEAD NOD4>
8243                     <PUSH RTYP5>
8244                     <DEAD RTYP5>
8245                     <CALL '\1aADECL-ANA 2 = TEMP62>
8246                     <RETURN TEMP62>
8247                     <DEAD TEMP62>
8248 CASE49
8249                     <FRAME '\1aCALL-ANA>
8250                     <PUSH NOD4>
8251                     <DEAD NOD4>
8252                     <PUSH RTYP5>
8253                     <DEAD RTYP5>
8254                     <CALL '\1aCALL-ANA 2 = TEMP62>
8255                     <RETURN TEMP62>
8256                     <DEAD TEMP62>
8257 CASE50
8258                     <FRAME '\1aAPPLY-ANA>
8259                     <PUSH NOD4>
8260                     <DEAD NOD4>
8261                     <PUSH RTYP5>
8262                     <DEAD RTYP5>
8263                     <CALL '\1aAPPLY-ANA 2 = TEMP62>
8264                     <RETURN TEMP62>
8265                     <DEAD TEMP62>
8266 CASE51
8267                     <FRAME '\1aFGETBITS-ANA>
8268                     <PUSH NOD4>
8269                     <DEAD NOD4>
8270                     <PUSH RTYP5>
8271                     <DEAD RTYP5>
8272                     <CALL '\1aFGETBITS-ANA 2 = TEMP62>
8273                     <RETURN TEMP62>
8274                     <DEAD TEMP62>
8275 CASE52
8276                     <FRAME '\1aFPUTBITS-ANA>
8277                     <PUSH NOD4>
8278                     <DEAD NOD4>
8279                     <PUSH RTYP5>
8280                     <DEAD RTYP5>
8281                     <CALL '\1aFPUTBITS-ANA 2 = TEMP62>
8282                     <RETURN TEMP62>
8283                     <DEAD TEMP62>
8284 CASE53
8285                     <FRAME '\1aSTACK-ANA>
8286                     <PUSH NOD4>
8287                     <DEAD NOD4>
8288                     <PUSH RTYP5>
8289                     <DEAD RTYP5>
8290                     <CALL '\1aSTACK-ANA 2 = TEMP62>
8291                     <RETURN TEMP62>
8292                     <DEAD TEMP62>
8293 CASE54
8294                     <FRAME '\1aBACK-ANA>
8295                     <PUSH NOD4>
8296                     <DEAD NOD4>
8297                     <PUSH RTYP5>
8298                     <DEAD RTYP5>
8299                     <CALL '\1aBACK-ANA 2 = TEMP62>
8300                     <RETURN TEMP62>
8301                     <DEAD TEMP62>
8302 CASE55
8303                     <FRAME '\1aTOP-ANA>
8304                     <PUSH NOD4>
8305                     <DEAD NOD4>
8306                     <PUSH RTYP5>
8307                     <DEAD RTYP5>
8308                     <CALL '\1aTOP-ANA 2 = TEMP62>
8309                     <RETURN TEMP62>
8310                     <DEAD TEMP62>
8311 CASE56
8312                     <FRAME '\1aCHANNEL-OP-ANA>
8313                     <PUSH NOD4>
8314                     <DEAD NOD4>
8315                     <PUSH RTYP5>
8316                     <DEAD RTYP5>
8317                     <CALL '\1aCHANNEL-OP-ANA 2 = TEMP62>
8318                     <RETURN TEMP62>
8319                     <DEAD TEMP62>
8320 CASE57
8321                     <FRAME '\1aATOM-PART-ANA>
8322                     <PUSH NOD4>
8323                     <DEAD NOD4>
8324                     <PUSH RTYP5>
8325                     <DEAD RTYP5>
8326                     <CALL '\1aATOM-PART-ANA 2 = TEMP62>
8327                     <RETURN TEMP62>
8328                     <DEAD TEMP62>
8329 CASE58
8330                     <FRAME '\1aOFFSET-PART-ANA>
8331                     <PUSH NOD4>
8332                     <DEAD NOD4>
8333                     <PUSH RTYP5>
8334                     <DEAD RTYP5>
8335                     <CALL '\1aOFFSET-PART-ANA 2 = TEMP62>
8336                     <RETURN TEMP62>
8337                     <DEAD TEMP62>
8338 CASE59
8339                     <FRAME '\1aPUT-GET-DECL-ANA>
8340                     <PUSH NOD4>
8341                     <DEAD NOD4>
8342                     <PUSH RTYP5>
8343                     <DEAD RTYP5>
8344                     <CALL '\1aPUT-GET-DECL-ANA 2 = TEMP62>
8345                     <RETURN TEMP62>
8346                     <DEAD TEMP62>
8347 CASE60
8348                     <FRAME '\1aSUBSTRUC-ANA>
8349                     <PUSH NOD4>
8350                     <DEAD NOD4>
8351                     <PUSH RTYP5>
8352                     <DEAD RTYP5>
8353                     <CALL '\1aSUBSTRUC-ANA 2 = TEMP62>
8354                     <RETURN TEMP62>
8355                     <DEAD TEMP62>
8356 CASE61
8357                     <FRAME '\1aMULTI-SET-ANA>
8358                     <PUSH NOD4>
8359                     <DEAD NOD4>
8360                     <PUSH RTYP5>
8361                     <DEAD RTYP5>
8362                     <CALL '\1aMULTI-SET-ANA 2 = TEMP62>
8363                     <RETURN TEMP62>
8364                     <DEAD TEMP62>
8365                     <END \1aANALYSIS-DISPATCHER>
8366 #WORD *17716534644*
8367 <GFCN \1aSPEC-ANA ("VALUE" ANY ANY ANY ANY ANY ANY NODE ANY) CONST4 PRED-NAME5 OTYPE6 RTYP7 DFLG8 NOD9 WHO10>
8368                     <TEMP PAT12 TEMP20 X34 L64:LIST FLG65 TEMP67 TEMP71>
8369                     <INTGO>
8370                     <TYPE? CONST4 <TYPE-CODE LIST> - PHRASE14>
8371                     <EQUAL? PRED-NAME5 '==? - PHRASE16>
8372                     <FRAME '\1aGEN-DECL>
8373                     <NTHL CONST4 1 = STACK>
8374                     <DEAD CONST4>
8375                     <CALL '\1aGEN-DECL 1 = PAT12>
8376                     <JUMP + PHRASE42>
8377 PHRASE16
8378                     <EQUAL? PRED-NAME5 'TYPE? - PHRASE18>
8379                     <FRAME '\1aTYPE-MERGE>
8380                     <SET PAT12 0 (TYPE FIX)>
8381                     <SET TEMP20 CONST4>
8382                     <DEAD CONST4>
8383                     <LOOP (TEMP20 VALUE) (PAT12 VALUE)>
8384 TAG22
8385                     <INTGO>
8386                     <EMPL? TEMP20 + TAG19>
8387                     <NTHL TEMP20 1 = STACK>
8388                     <RESTL TEMP20 1 = TEMP20 (TYPE LIST)>
8389                     <ADD PAT12 1 = PAT12 (TYPE FIX)>
8390                     <JUMP + TAG22>
8391 TAG19
8392                     <CALL '\1aTYPE-MERGE PAT12 = PAT12>
8393                     <JUMP + PHRASE42>
8394 PHRASE18
8395                     <SET PAT12 CONST4 (TYPE LIST)>
8396                     <DEAD CONST4>
8397                     <SET TEMP20 0 (TYPE FIX)>
8398                     <FRAME '\1aTYPE-MERGE>
8399                     <LOOP>
8400 MAP26
8401                     <INTGO>
8402                     <EMPL? PAT12 + MAPAP29>
8403                     <NTHL PAT12 1 = X34>
8404                     <FRAME '\1aFORM>
8405                     <PUSH 'PRIMTYPE>
8406                     <PUSH X34>
8407                     <DEAD X34>
8408                     <CALL '\1aFORM 2 = X34>
8409                     <PUSH X34>
8410                     <DEAD X34>
8411                     <ADD TEMP20 1 = TEMP20 (TYPE FIX)>
8412                     <RESTL PAT12 1 = PAT12 (TYPE LIST)>
8413                     <JUMP + MAP26>
8414 MAPAP29
8415                     <CALL '\1aTYPE-MERGE TEMP20 = PAT12>
8416                     <DEAD TEMP20>
8417                     <JUMP + PHRASE42>
8418 PHRASE14
8419                     <EQUAL? PRED-NAME5 '==? - PHRASE39>
8420                     <FRAME '\1aGEN-DECL>
8421                     <PUSH CONST4>
8422                     <DEAD CONST4>
8423                     <CALL '\1aGEN-DECL 1 = PAT12>
8424                     <JUMP + PHRASE42>
8425 PHRASE39
8426                     <EQUAL? PRED-NAME5 'TYPE? - PHRASE41>
8427                     <SET PAT12 CONST4>
8428                     <DEAD CONST4>
8429                     <JUMP + PHRASE42>
8430 PHRASE41
8431                     <FRAME '\1aFORM>
8432                     <PUSH 'PRIMTYPE>
8433                     <PUSH CONST4>
8434                     <DEAD CONST4>
8435                     <CALL '\1aFORM 2 = PAT12>
8436 PHRASE42
8437                     <TYPE? DFLG8 <TYPE-CODE FALSE> + PHRASE45>
8438                     <DEAD DFLG8>
8439                     <FRAME '\1aTYPE-OK?>
8440                     <PUSH 'ATOM>
8441                     <PUSH RTYP7>
8442                     <DEAD RTYP7>
8443                     <CALL '\1aTYPE-OK? 2 = X34>
8444                     <PUTUV NOD9 3 X34>
8445                     <DEAD NOD9>
8446                     <RETURN X34>
8447                     <DEAD X34>
8448 PHRASE45
8449                     <EQUAL? PRED-NAME5 '==? + PHRASE49>
8450                     <DEAD PRED-NAME5>
8451                     <EQUAL? OTYPE6 'ANY + PHRASE49>
8452                     <FRAME '\1aTYPE-OK?>
8453                     <FRAME '\1aFORM>
8454                     <PUSH 'NOT>
8455                     <PUSH PAT12>
8456                     <CALL '\1aFORM 2 = STACK>
8457                     <PUSH OTYPE6>
8458                     <CALL '\1aTYPE-OK? 2 = TEMP20>
8459                     <TYPE? TEMP20 <TYPE-CODE FALSE> - PHRASE49>
8460                     <DEAD TEMP20>
8461                     <SET X34 'ATOM (TYPE ATOM)>
8462                     <JUMP + PHRASE55>
8463 PHRASE49
8464                     <FRAME '\1aTYPE-OK?>
8465                     <PUSH OTYPE6>
8466                     <DEAD OTYPE6>
8467                     <PUSH PAT12>
8468                     <CALL '\1aTYPE-OK? 2 = TEMP20>
8469                     <TYPE? TEMP20 <TYPE-CODE FALSE> + PHRASE53>
8470                     <DEAD TEMP20>
8471                     <SET X34 <OR FALSE ATOM> (TYPE FORM)>
8472                     <JUMP + PHRASE55>
8473 PHRASE53
8474                     <SET X34 'FALSE (TYPE ATOM)>
8475 PHRASE55
8476                     <SET TEMP20 WHO10>
8477                     <DEAD WHO10>
8478                     <LOOP>
8479 MAP57
8480                     <INTGO>
8481                     <EMPTY? TEMP20 + MAPAP60>
8482                     <NTH1 TEMP20 = L64>
8483                     <NTHL L64 1 = FLG65>
8484                     <RESTL L64 1 = TEMP67 (TYPE LIST)>
8485                     <NTHL TEMP67 1 = TEMP67 (TYPE SYMTAB)>
8486                     <FRAME '\1aADD-TYPE-LIST>
8487                     <PUSH TEMP67>
8488                     <PUSH PAT12>
8489                     <GEN-LVAL 'TRUTH = STACK>
8490                     <PUSH FLG65>
8491                     <RESTL L64 1 = TEMP71 (TYPE LIST)>
8492                     <RESTL TEMP71 1 = STACK (TYPE LIST)>
8493                     <DEAD TEMP71>
8494                     <CALL '\1aADD-TYPE-LIST 5 = TEMP71>
8495                     <GEN-SET 'TRUTH TEMP71>
8496                     <DEAD TEMP71>
8497                     <VEQUAL? X34 'ATOM + BOOL74>
8498                     <FRAME '\1aADD-TYPE-LIST>
8499                     <PUSH TEMP67>
8500                     <DEAD TEMP67>
8501                     <FRAME '\1aFORM>
8502                     <PUSH 'NOT>
8503                     <PUSH PAT12>
8504                     <CALL '\1aFORM 2 = STACK>
8505                     <GEN-LVAL 'UNTRUTH = STACK>
8506                     <PUSH FLG65>
8507                     <DEAD FLG65>
8508                     <RESTL L64 1 = L64 (TYPE LIST)>
8509                     <RESTL L64 1 = STACK (TYPE LIST)>
8510                     <DEAD L64>
8511                     <CALL '\1aADD-TYPE-LIST 5 = L64>
8512                     <GEN-SET 'UNTRUTH L64>
8513                     <DEAD L64>
8514 BOOL74
8515                     <REST1 TEMP20 = TEMP20>
8516                     <JUMP + MAP57>
8517 MAPAP60
8518                     <FRAME '\1aTYPE-OK?>
8519                     <PUSH X34>
8520                     <DEAD X34>
8521                     <PUSH RTYP7>
8522                     <DEAD RTYP7>
8523                     <CALL '\1aTYPE-OK? 2 = X34>
8524                     <PUTUV NOD9 3 X34>
8525                     <DEAD NOD9>
8526                     <RETURN X34>
8527                     <DEAD X34>
8528                     <END \1aSPEC-ANA>
8529 #WORD *35525370426*
8530 <GFCN \1aISTRUC-ANA ("VALUE" ANY NODE ANY) N4 R5>
8531                     <TEMP K6 (NEL10 'REST) NUM8:NODE FM7 TEMP18>
8532                     <INTGO>
8533                     <NTHUV N4 5 = K6 (TYPE LIST)>
8534                     <FRAME '\1aEANA>
8535                     <NTHL K6 1 = NUM8 (TYPE NODE)>
8536                     <PUSH NUM8>
8537                     <PUSH 'FIX>
8538                     <NTHUV N4 4 = STACK>
8539                     <CALL '\1aEANA 3>
8540                     <FRAME '\1aEANA>
8541                     <RESTL K6 1 = K6 (TYPE LIST)>
8542                     <NTHL K6 1 = FM7 (TYPE NODE)>
8543                     <DEAD K6>
8544                     <PUSH FM7>
8545                     <NTHUV FM7 4 = K6>
8546                     <EQUAL? K6 'ISTRING - PHRASE16>
8547                     <DEAD K6>
8548                     <SET K6 'CHARACTER (TYPE ATOM)>
8549                     <JUMP + PHRASE20>
8550 PHRASE16
8551                     <NTHUV FM7 4 = TEMP18>
8552                     <EQUAL? TEMP18 'IBYTES - PHRASE17>
8553                     <DEAD TEMP18>
8554                     <SET K6 'FIX (TYPE ATOM)>
8555                     <JUMP + PHRASE20>
8556 PHRASE17
8557                     <NTHUV FM7 4 = TEMP18>
8558                     <DEAD FM7>
8559                     <EQUAL? TEMP18 'UVECTOR - PHRASE19>
8560                     <DEAD TEMP18>
8561                     <SET K6 'FIX (TYPE ATOM)>
8562                     <JUMP + PHRASE20>
8563 PHRASE19
8564                     <SET K6 'ANY (TYPE ATOM)>
8565 PHRASE20
8566                     <PUSH K6>
8567                     <DEAD K6>
8568                     <NTHUV N4 4 = STACK>
8569                     <CALL '\1aEANA 3 = FM7>
8570                     <FRAME '\1aTYPE-OK?>
8571                     <PUSH FM7>
8572                     <PUSH <OR FORM LIST VECTOR UVECTOR LVAL GVAL>>
8573                     <CALL '\1aTYPE-OK? 2 = K6>
8574                     <TYPE? K6 <TYPE-CODE FALSE> + PHRASE22>
8575                     <DEAD K6>
8576                     <FRAME '\1aCOMPILE-WARNING>
8577                     <PUSH "Explicit EVAL required: ">
8578                     <NTHUV N4 4 = STACK>
8579                     <PUSH N4>
8580                     <CALL '\1aCOMPILE-WARNING 3>
8581                     <FRAME '\1aSPEC-FLUSH>
8582                     <CALL '\1aSPEC-FLUSH 0>
8583                     <FRAME '\1aPUT-FLUSH>
8584                     <PUSH 'ALL>
8585                     <CALL '\1aPUT-FLUSH 1>
8586 PHRASE22
8587                     <NTHUV NUM8 1 = K6 (TYPE FIX)>
8588                     <VEQUAL? K6 2 - PHRASE28 (TYPE FIX)>
8589                     <DEAD K6>
8590                     <NTHUV NUM8 4 = NEL10>
8591                     <DEAD NUM8>
8592 PHRASE28
8593                     <FRAME '\1aTYPE-OK?>
8594                     <PUSH FM7>
8595                     <PUSH 'FORM>
8596                     <CALL '\1aTYPE-OK? 2 = K6>
8597                     <TYPE? K6 <TYPE-CODE FALSE> + PHRASE30>
8598                     <DEAD K6>
8599                     <SET FM7 'ANY (TYPE ATOM)>
8600 PHRASE30
8601                     <FRAME '\1aTYPE-OK?>
8602                     <FRAME '\1aFORM>
8603                     <FRAME '\1aISTYPE?>
8604                     <NTHUV N4 3 = STACK>
8605                     <DEAD N4>
8606                     <CALL '\1aISTYPE? 1 = STACK>
8607                     <SET TEMP18 1 (TYPE FIX)>
8608                     <TYPE? NEL10 <TYPE-CODE FIX> - PHRASE36>
8609                     <PUSH NEL10>
8610                     <DEAD NEL10>
8611                     <PUSH FM7>
8612                     <UBLOCK <TYPE-CODE VECTOR> 2 = K6>
8613                     <CONS K6 () = K6>
8614                     <JUMP + PHRASE39>
8615 PHRASE36
8616                     <SET K6 () (TYPE LIST)>
8617 PHRASE39
8618                     <LOOP (K6 VALUE) (TEMP18 VALUE)>
8619 TAG40
8620                     <INTGO>
8621                     <EMPL? K6 + TAG33>
8622                     <NTHL K6 1 = STACK>
8623                     <RESTL K6 1 = K6 (TYPE LIST)>
8624                     <ADD TEMP18 1 = TEMP18 (TYPE FIX)>
8625                     <JUMP + TAG40>
8626 TAG33
8627                     <EQUAL? FM7 'ANY - PHRASE43>
8628                     <SET K6 () (TYPE LIST)>
8629                     <JUMP + PHRASE44>
8630 PHRASE43
8631                     <PUSH 'REST>
8632                     <PUSH FM7>
8633                     <DEAD FM7>
8634                     <UBLOCK <TYPE-CODE VECTOR> 2 = K6>
8635                     <CONS K6 () = K6>
8636 PHRASE44
8637                     <LOOP (K6 VALUE) (TEMP18 VALUE)>
8638 TAG46
8639                     <INTGO>
8640                     <EMPL? K6 + TAG41>
8641                     <NTHL K6 1 = STACK>
8642                     <RESTL K6 1 = K6 (TYPE LIST)>
8643                     <ADD TEMP18 1 = TEMP18 (TYPE FIX)>
8644                     <JUMP + TAG46>
8645 TAG41
8646                     <CALL '\1aFORM TEMP18 = STACK>
8647                     <DEAD TEMP18>
8648                     <PUSH R5>
8649                     <DEAD R5>
8650                     <CALL '\1aTYPE-OK? 2 = TEMP18>
8651                     <RETURN TEMP18>
8652                     <DEAD TEMP18>
8653                     <END \1aISTRUC-ANA>
8654 #WORD *551734666*
8655 <GFCN \1aISTRUC2-ANA ("VALUE" ANY NODE ANY) N4 R5>
8656                     <TEMP K6 (NEL10 'REST) NUM8 TEMP15 TY9>
8657                     <INTGO>
8658                     <NTHUV N4 5 = K6 (TYPE LIST)>
8659                     <FRAME '\1aEANA>
8660                     <NTHL K6 1 = NUM8 (TYPE NODE)>
8661                     <PUSH NUM8>
8662                     <PUSH 'FIX>
8663                     <NTHUV N4 4 = STACK>
8664                     <CALL '\1aEANA 3>
8665                     <NTHUV N4 4 = TEMP15>
8666                     <EQUAL? TEMP15 'ISTRING - PHRASE14>
8667                     <DEAD TEMP15>
8668                     <SET TY9 'CHARACTER (TYPE ATOM)>
8669                     <JUMP + PHRASE18>
8670 PHRASE14
8671                     <NTHUV N4 4 = TEMP15>
8672                     <EQUAL? TEMP15 'IBYTES + BOOL17>
8673                     <DEAD TEMP15>
8674                     <NTHUV N4 4 = TEMP15>
8675                     <EQUAL? TEMP15 'IUVECTOR - PHRASE16>
8676                     <DEAD TEMP15>
8677 BOOL17
8678                     <SET TY9 'FIX (TYPE ATOM)>
8679                     <JUMP + PHRASE18>
8680 PHRASE16
8681                     <SET TY9 'ANY (TYPE ATOM)>
8682 PHRASE18
8683                     <EMPL? K6 + PHRASE20>
8684                     <RESTL K6 1 = TEMP15 (TYPE LIST)>
8685                     <EMPL? TEMP15 + PHRASE20>
8686                     <RESTL TEMP15 1 = TEMP15 (TYPE LIST)>
8687                     <EMPL? TEMP15 - PHRASE20>
8688                     <DEAD TEMP15>
8689                     <FRAME '\1aEANA>
8690                     <RESTL K6 1 = TEMP15 (TYPE LIST)>
8691                     <DEAD K6>
8692                     <NTHL TEMP15 1 = K6 (TYPE NODE)>
8693                     <DEAD TEMP15>
8694                     <PUSH K6>
8695                     <DEAD K6>
8696                     <PUSH TY9>
8697                     <DEAD TY9>
8698                     <NTHUV N4 4 = STACK>
8699                     <CALL '\1aEANA 3 = TY9>
8700 PHRASE20
8701                     <NTHUV NUM8 1 = TEMP15 (TYPE FIX)>
8702                     <VEQUAL? TEMP15 2 - PHRASE23 (TYPE FIX)>
8703                     <DEAD TEMP15>
8704                     <NTHUV NUM8 4 = NEL10>
8705                     <DEAD NUM8>
8706 PHRASE23
8707                     <FRAME '\1aTYPE-OK?>
8708                     <EQUAL? NEL10 'REST - PHRASE26>
8709                     <EQUAL? TY9 'ANY - PHRASE26>
8710                     <FRAME '\1aISTYPE?>
8711                     <NTHUV N4 3 = STACK>
8712                     <DEAD N4>
8713                     <CALL '\1aISTYPE? 1 = TEMP15>
8714                     <JUMP + PHRASE29>
8715 PHRASE26
8716                     <FRAME '\1aFORM>
8717                     <FRAME '\1aISTYPE?>
8718                     <NTHUV N4 3 = STACK>
8719                     <DEAD N4>
8720                     <CALL '\1aISTYPE? 1 = STACK>
8721                     <SET NUM8 1 (TYPE FIX)>
8722                     <EQUAL? NEL10 'REST + PHRASE35>
8723                     <PUSH NEL10>
8724                     <DEAD NEL10>
8725                     <PUSH TY9>
8726                     <UBLOCK <TYPE-CODE VECTOR> 2 = K6>
8727                     <CONS K6 () = K6>
8728                     <JUMP + PHRASE38>
8729 PHRASE35
8730                     <SET K6 () (TYPE LIST)>
8731 PHRASE38
8732                     <LOOP (K6 VALUE) (NUM8 VALUE)>
8733 TAG39
8734                     <INTGO>
8735                     <EMPL? K6 + TAG30>
8736                     <NTHL K6 1 = STACK>
8737                     <RESTL K6 1 = K6 (TYPE LIST)>
8738                     <ADD NUM8 1 = NUM8 (TYPE FIX)>
8739                     <JUMP + TAG39>
8740 TAG30
8741                     <EQUAL? TY9 'ANY - PHRASE42>
8742                     <SET K6 () (TYPE LIST)>
8743                     <JUMP + PHRASE43>
8744 PHRASE42
8745                     <PUSH 'REST>
8746                     <PUSH TY9>
8747                     <DEAD TY9>
8748                     <UBLOCK <TYPE-CODE VECTOR> 2 = K6>
8749                     <CONS K6 () = K6>
8750 PHRASE43
8751                     <LOOP (K6 VALUE) (NUM8 VALUE)>
8752 TAG45
8753                     <INTGO>
8754                     <EMPL? K6 + TAG40>
8755                     <NTHL K6 1 = STACK>
8756                     <RESTL K6 1 = K6 (TYPE LIST)>
8757                     <ADD NUM8 1 = NUM8 (TYPE FIX)>
8758                     <JUMP + TAG45>
8759 TAG40
8760                     <CALL '\1aFORM NUM8 = TEMP15>
8761                     <DEAD NUM8>
8762 PHRASE29
8763                     <PUSH TEMP15>
8764                     <DEAD TEMP15>
8765                     <PUSH R5>
8766                     <DEAD R5>
8767                     <CALL '\1aTYPE-OK? 2 = TEMP15>
8768                     <RETURN TEMP15>
8769                     <DEAD TEMP15>
8770                     <END \1aISTRUC2-ANA>
8771 #WORD *204506400*
8772 <GFCN \1aSTACK-ANA ("VALUE" ANY NODE ANY) N4 R5>
8773                     <TEMP TEMP7>
8774                     <INTGO>
8775                     <FRAME '\1aEANA>
8776                     <NTHUV N4 5 = TEMP7 (TYPE LIST)>
8777                     <DEAD N4>
8778                     <NTHL TEMP7 1 = STACK (TYPE NODE)>
8779                     <DEAD TEMP7>
8780                     <PUSH R5>
8781                     <DEAD R5>
8782                     <PUSH 'STACK>
8783                     <CALL '\1aEANA 3 = TEMP7>
8784                     <RETURN TEMP7>
8785                     <DEAD TEMP7>
8786                     <END \1aSTACK-ANA>
8787 #WORD *22352712603*
8788 <GFCN \1aCHANNEL-OP-ANA ("VALUE" ANY NODE ANY) N4 R5>
8789                     <TEMP K6 TEMP9 TEMP14:FIX TEMP20>
8790                     <INTGO>
8791                     <NTHUV N4 5 = K6 (TYPE LIST)>
8792                     <FRAME '\1aSEGFLUSH>
8793                     <PUSH N4>
8794                     <PUSH R5>
8795                     <CALL '\1aSEGFLUSH 2 = TEMP9>
8796                     <TYPE? TEMP9 <TYPE-CODE FALSE> - PHRASE11>
8797                     <PUSH N4>
8798                     <SET TEMP14 1 (TYPE FIX)>
8799                     <NTHUV N4 8 = TEMP9>
8800                     <TYPE TEMP9 = TEMP20>
8801                     <AND TEMP20 7 = TEMP20>
8802                     <VEQUAL? TEMP20 1 + TAG16>
8803                     <DEAD TEMP20>
8804                     <LOOP (TEMP9 TYPE VALUE LENGTH) (TEMP14 VALUE)>
8805 TAG22
8806                     <INTGO>
8807                     <EMPTY? TEMP9 + TAG21>
8808                     <NTH1 TEMP9 = STACK>
8809                     <REST1 TEMP9 = TEMP9>
8810                     <ADD TEMP14 1 = TEMP14 (TYPE FIX)>
8811                     <JUMP + TAG22>
8812 TAG21
8813                     <LIST TEMP14 = TEMP9 (TYPE LIST)>
8814                     <DEAD TEMP14>
8815                     <JUMP + TAG18>
8816 TAG16
8817                     <LOOP>
8818 TAG19
8819                     <VEQUAL? TEMP14 0 + TAG18>
8820                     <POP = TEMP20>
8821                     <CONS TEMP20 TEMP9 = TEMP9 (TYPE LIST)>
8822                     <DEAD TEMP20>
8823                     <SUB TEMP14 1 = TEMP14 (TYPE FIX)>
8824                     <JUMP + TAG19>
8825 TAG18
8826                     <PUTUV N4 8 TEMP9>
8827                     <DEAD TEMP9>
8828                     <EMPL? K6 + TAG25>
8829                     <RESTL K6 1 = TEMP9 (TYPE LIST)>
8830                     <EMPL? TEMP9 - PHRASE24>
8831                     <DEAD TEMP9>
8832 TAG25
8833                     <FRAME '\1aARGCHK>
8834                     <LENL K6 = STACK (TYPE FIX)>
8835                     <PUSH 2>
8836                     <PUSH 'CHANNEL-OP>
8837                     <PUSH N4>
8838                     <CALL '\1aARGCHK 4>
8839 PHRASE24
8840                     <FRAME '\1aEANA>
8841                     <NTHL K6 1 = STACK (TYPE NODE)>
8842                     <PUSH 'CHANNEL>
8843                     <PUSH 'CHANNEL-OP>
8844                     <CALL '\1aEANA 3 = TEMP20>
8845                     <FRAME '\1aEANA>
8846                     <RESTL K6 1 = TEMP9 (TYPE LIST)>
8847                     <NTHL TEMP9 1 = STACK (TYPE NODE)>
8848                     <DEAD TEMP9>
8849                     <PUSH 'ATOM>
8850                     <PUSH 'CHANNEL-OP>
8851                     <CALL '\1aEANA 3>
8852                     <RESTL K6 1 = TEMP9 (TYPE LIST)>
8853                     <DEAD K6>
8854                     <RESTL TEMP9 1 = TEMP9 (TYPE LIST)>
8855                     <LOOP>
8856 MAP30
8857                     <INTGO>
8858                     <EMPL? TEMP9 + MAPAP33>
8859                     <NTHL TEMP9 1 = K6>
8860                     <FRAME '\1aANA>
8861                     <PUSH K6>
8862                     <DEAD K6>
8863                     <PUSH 'ANY>
8864                     <CALL '\1aANA 2>
8865                     <RESTL TEMP9 1 = TEMP9 (TYPE LIST)>
8866                     <JUMP + MAP30>
8867 MAPAP33
8868                     <TYPE? TEMP20 <TYPE-CODE FORM> + TAG45>
8869                     <TYPE? TEMP20 <TYPE-CODE SEGMENT> - PHRASE43>
8870 TAG45
8871                     <EMPL? TEMP20 + PHRASE43>
8872                     <RESTL TEMP20 1 = TEMP9 (TYPE LIST)>
8873                     <EMPL? TEMP9 + PHRASE43>
8874                     <RESTL TEMP9 1 = TEMP9 (TYPE LIST)>
8875                     <EMPL? TEMP9 - PHRASE43>
8876                     <DEAD TEMP9>
8877                     <RESTL TEMP20 1 = TEMP9 (TYPE LIST)>
8878                     <DEAD TEMP20>
8879                     <NTHL TEMP9 1 = TEMP20>
8880                     <DEAD TEMP9>
8881                     <TYPE? TEMP20 <TYPE-CODE FORM> - PHRASE43>
8882                     <EMPL? TEMP20 + PHRASE43>
8883                     <RESTL TEMP20 1 = TEMP9 (TYPE LIST)>
8884                     <EMPL? TEMP9 + PHRASE43>
8885                     <RESTL TEMP9 1 = TEMP9 (TYPE LIST)>
8886                     <EMPL? TEMP9 - PHRASE43>
8887                     <DEAD TEMP9>
8888                     <NTHL TEMP20 1 = TEMP9>
8889                     <EQUAL? TEMP9 'QUOTE - PHRASE43>
8890                     <DEAD TEMP9>
8891                     <RESTL TEMP20 1 = TEMP9 (TYPE LIST)>
8892                     <NTHL TEMP9 1 = TEMP9>
8893                     <TYPE? TEMP9 <TYPE-CODE ATOM> - PHRASE43>
8894                     <DEAD TEMP9>
8895                     <PUTUV N4 1 99 (TYPE FIX)>
8896                     <RESTL TEMP20 1 = TEMP9 (TYPE LIST)>
8897                     <DEAD TEMP20>
8898                     <NTHL TEMP9 1 = TEMP9 (TYPE ATOM)>
8899                     <PUTUV N4 9 TEMP9>
8900                     <DEAD N4 TEMP9>
8901 PHRASE43
8902                     <FRAME '\1aTYPE-OK?>
8903                     <PUSH R5>
8904                     <DEAD R5>
8905                     <PUSH 'ANY>
8906                     <CALL '\1aTYPE-OK? 2 = TEMP9>
8907 PHRASE11
8908                     <RETURN TEMP9>
8909                     <DEAD TEMP9>
8910                     <END \1aCHANNEL-OP-ANA>
8911 <COND (<AND <GASSIGNED? CHANNEL-OP> <GASSIGNED? CHANNEL-OP-ANA>> <PUTPROP ,CHANNEL-OP ANALYSIS ,CHANNEL-OP-ANA>)>
8912
8913 #WORD *36756005520*
8914 <GFCN \1aP-SYMTAB ("VALUE" ANY SYMTAB) SY4>
8915                     <TEMP TEMP6>
8916                     <INTGO>
8917                     <FRAME '\1aPRINC>
8918                     <PUSH "#SY ">
8919                     <GEN-LVAL 'OUTCHAN = STACK>
8920                     <CALL '\1aPRINC 2>
8921                     <FRAME '\1aPRINC>
8922                     <NTHUV SY4 2 = STACK (TYPE ATOM)>
8923                     <GEN-LVAL 'OUTCHAN = STACK>
8924                     <CALL '\1aPRINC 2>
8925                     <FRAME '\1aPRINC>
8926                     <PUSH " Decl: ">
8927                     <GEN-LVAL 'OUTCHAN = STACK>
8928                     <CALL '\1aPRINC 2>
8929                     <FRAME '\1aPRIN1>
8930                     <NTHUV SY4 7 = STACK>
8931                     <GEN-LVAL 'OUTCHAN = STACK>
8932                     <CALL '\1aPRIN1 2>
8933                     <FRAME '\1aPRINC>
8934                     <PUSH " CType: ">
8935                     <GEN-LVAL 'OUTCHAN = STACK>
8936                     <CALL '\1aPRINC 2>
8937                     <FRAME '\1aPRIN1>
8938                     <FRAME '\1aGET-CURRENT-TYPE>
8939                     <PUSH SY4>
8940                     <DEAD SY4>
8941                     <CALL '\1aGET-CURRENT-TYPE 1 = STACK>
8942                     <GEN-LVAL 'OUTCHAN = STACK>
8943                     <CALL '\1aPRIN1 2 = TEMP6>
8944                     <RETURN TEMP6>
8945                     <DEAD TEMP6>
8946                     <END \1aP-SYMTAB>
8947 <COND (<GASSIGNED? P-SYMTAB> <PRINTTYPE SYMTAB ,P-SYMTAB>)>
8948
8949 #WORD *10374523157*
8950 <GFCN \1aP-NODE ("VALUE" ANY NODE) NOD4>
8951                     <TEMP TEMP6>
8952                     <INTGO>
8953                     <FRAME '\1aPRINC>
8954                     <PUSH "#NODE ">
8955                     <GEN-LVAL 'OUTCHAN = STACK>
8956                     <CALL '\1aPRINC 2>
8957                     <FRAME '\1aPRIN1>
8958                     <FRAME '\1aNTH>
8959                     <GVAL 'CODVEC = STACK>
8960                     <NTHUV NOD4 1 = STACK (TYPE FIX)>
8961                     <CALL '\1aNTH 2 = STACK>
8962                     <GEN-LVAL 'OUTCHAN = STACK>
8963                     <CALL '\1aPRIN1 2>
8964                     <FRAME '\1aPRINC>
8965                     <PUSH " Name: ">
8966                     <GEN-LVAL 'OUTCHAN = STACK>
8967                     <CALL '\1aPRINC 2>
8968                     <FRAME '\1aPRIN1>
8969                     <NTHUV NOD4 4 = STACK>
8970                     <GEN-LVAL 'OUTCHAN = STACK>
8971                     <CALL '\1aPRIN1 2>
8972                     <FRAME '\1aPRINC>
8973                     <PUSH " Type: ">
8974                     <GEN-LVAL 'OUTCHAN = STACK>
8975                     <CALL '\1aPRINC 2>
8976                     <FRAME '\1aPRIN1>
8977                     <NTHUV NOD4 3 = STACK>
8978                     <DEAD NOD4>
8979                     <GEN-LVAL 'OUTCHAN = STACK>
8980                     <CALL '\1aPRIN1 2 = TEMP6>
8981                     <RETURN TEMP6>
8982                     <DEAD TEMP6>
8983                     <END \1aP-NODE>
8984 <COND (<GASSIGNED? P-NODE> <PRINTTYPE NODE ,P-NODE>)>
8985
8986 <ENDPACKA