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