Machine-Independent MDL for TOPS-20 and VAX.
[pdp10-muddle.git] / mim / development / mim / mimc / nnotana.mima
1
2 <PACKAGE "NOTANA">
3
4 <ENTRY NOT-ANA TYPE?-ANA ==?-ANA VALID-TYPE?-ANA TYPE-C-ANA =?-ANA S=?-ANA STRCOMP-ANA SUBSTRUC-ANA ATOM-PART-ANA OFFSET-PART-ANA PUT-GET-DECL-ANA>
5
6 <USE "SYMANA" "CHKDCL" "COMPDEC" "CARANA" "ADVMESS" "NPRINT">
7
8 "       This module contains analysis and generation functions for
9 NOT, TYPE? and ==?.  See SYMANA for more details about ANALYSIS and
10 CODGEN for more detali abour code generation.
11 "
12
13 "Analyze NOT usage make sure arg can be FALSE."
14
15 #WORD *33757734325*
16                     <GFCN \1aNOT-ANA ("VALUE" ANY NODE ANY) NOD4 RTYP5>
17                     <TEMP TEMP11 TEMP14 STR8:LIST SUNT9:LIST TEMP21:LBIND>
18                     <INTGO>
19                     <GEN-LVAL 'PRED = TEMP11>
20                     <NTHUV NOD4 2 = TEMP14>
21                     <EQUAL? TEMP11 TEMP14 - TAG10>
22                     <DEAD TEMP11 TEMP14>
23                     <SET TEMP11 'T (TYPE ATOM)>
24                     <JUMP + TAG15>
25 TAG10
26                     <SET TEMP11 %<> (TYPE FALSE)>
27 TAG15
28                     <GEN-LVAL 'TRUTH = STR8>
29                     <GEN-LVAL 'UNTRUTH = SUNT9>
30                     <GETS 'BIND = TEMP21 (TYPE LBIND)>
31                     <VEQUAL? TEMP11 0 + BOOL23>
32                     <SET TEMP11 NOD4>
33 BOOL23
34                     <BBIND 'PRED 'ANY 'FIX TEMP11>
35                     <DEAD TEMP11>
36                     <BBIND 'TRUTH 'LIST 'FIX ()>
37                     <BBIND 'UNTRUTH 'LIST 'FIX ()>
38                     <FRAME '\1aSEGFLUSH>
39                     <PUSH NOD4>
40                     <DEAD NOD4>
41                     <PUSH RTYP5>
42                     <DEAD RTYP5>
43                     <CALL '\1aSEGFLUSH 2 = TEMP14>
44                     <TYPE? TEMP14 <TYPE-CODE FALSE> + PHRASE29>
45                     <SET TEMP11 %<> (TYPE FALSE)>
46                     <JUMP + PHRASE31>
47 PHRASE29
48                     <FRAME '\1aARGCHK>
49                     <NTHUV NOD4 5 = TEMP11 (TYPE LIST)>
50                     <LENL TEMP11 = STACK (TYPE FIX)>
51                     <PUSH 1>
52                     <PUSH 'NOT>
53                     <PUSH NOD4>
54                     <CALL '\1aARGCHK 4>
55                     <FRAME '\1aANA>
56                     <NTHUV NOD4 5 = TEMP11 (TYPE LIST)>
57                     <NTHL TEMP11 1 = STACK (TYPE NODE)>
58                     <PUSH 'ANY>
59                     <CALL '\1aANA 2 = TEMP14>
60                     <PUTUV NOD4 1 20 (TYPE FIX)>
61                     <FRAME '\1aISTYPE?>
62                     <PUSH TEMP14>
63                     <CALL '\1aISTYPE? 1 = TEMP11>
64                     <VEQUAL? TEMP11 'FALSE - PHRASE35>
65                     <FRAME '\1aTYPE-OK?>
66                     <PUSH 'BOOL-TRUE>
67                     <PUSH RTYP5>
68                     <CALL '\1aTYPE-OK? 2 = TEMP14>
69                     <JUMP + PHRASE41>
70 PHRASE35
71                     <FRAME '\1aTYPE-OK?>
72                     <PUSH TEMP14>
73                     <PUSH 'FALSE>
74                     <CALL '\1aTYPE-OK? 2 = TEMP11>
75                     <TYPE? TEMP11 <TYPE-CODE FALSE> + PHRASE38>
76                     <FRAME '\1aTYPE-OK?>
77                     <PUSH 'BOOLEAN>
78                     <PUSH RTYP5>
79                     <CALL '\1aTYPE-OK? 2 = TEMP14>
80                     <JUMP + PHRASE41>
81 PHRASE38
82                     <FRAME '\1aTYPE-OK?>
83                     <PUSH 'BOOL-FALSE>
84                     <PUSH RTYP5>
85                     <CALL '\1aTYPE-OK? 2 = TEMP14>
86 PHRASE41
87                     <NTHR 'UNTRUTH 2 = TEMP11 (RECORD-TYPE ATOM) (TYPE LBIND)>
88                     <NTHR TEMP11 1 = STR8 (RECORD-TYPE LBIND)>
89                     <NTHR 'TRUTH 2 = TEMP11 (RECORD-TYPE ATOM) (TYPE LBIND)>
90                     <NTHR TEMP11 1 = SUNT9 (RECORD-TYPE LBIND)>
91 PHRASE31
92                     <UNBIND TEMP21>
93                     <DEAD TEMP21>
94                     <ADJ -27>
95                     <VEQUAL? TEMP11 0 + PHRASE48>
96                     <DEAD TEMP11>
97                     <GEN-SET 'TRUTH STR8>
98                     <DEAD STR8>
99                     <GEN-SET 'UNTRUTH SUNT9>
100                     <DEAD SUNT9>
101 PHRASE48
102                     <RETURN TEMP14>
103                     <DEAD TEMP14>
104                     <END \1aNOT-ANA>
105
106 "       Analyze N==? and ==? usage.  Complain if types differ such that
107  the args  can never be ==?."
108
109 #WORD *20206473764*
110 <GFCN \1a==?-ANA ("VALUE" ANY NODE ANY) NOD4 RTYP5>
111                     <TEMP K6:LIST TEMP3:LBIND TEMP16 TEMP19 KT9:LIST>
112                     <INTGO>
113                     <NTHUV NOD4 5 = K6 (TYPE LIST)>
114                     <GETS 'BIND = TEMP3 (TYPE LBIND)>
115                     <GEN-LVAL 'PRED = TEMP16>
116                     <NTHUV NOD4 2 = TEMP19>
117                     <EQUAL? TEMP16 TEMP19 + TAG15>
118                     <DEAD TEMP16 TEMP19>
119                     <SET TEMP16 %<> (TYPE FALSE)>
120                     <JUMP + BOOL13>
121 TAG15
122                     <SET TEMP16 NOD4>
123 BOOL13
124                     <BBIND 'WHON 'NODE 'FIX TEMP16>
125                     <DEAD TEMP16>
126                     <BBIND 'WHO 'LIST 'FIX ()>
127                     <BBIND 'GLN 'NODE 'FIX NOD4>
128                     <BBIND 'GLE 'LIST 'FIX ()>
129                     <FRAME '\1aSEGFLUSH>
130                     <PUSH NOD4>
131                     <PUSH RTYP5>
132                     <CALL '\1aSEGFLUSH 2 = TEMP16>
133                     <TYPE? TEMP16 <TYPE-CODE FALSE> - PHRASE22>
134                     <EMPL? K6 + PHRASE24>
135                     <RESTL K6 1 = TEMP19 (TYPE LIST)>
136                     <EMPL? TEMP19 - PHRASE24>
137                     <DEAD TEMP19>
138                     <NTHUV NOD4 5 = TEMP19 (TYPE LIST)>
139                     <NTHL TEMP19 1 = TEMP16 (TYPE NODE)>
140                     <DEAD TEMP19>
141                     <NTHUV TEMP16 1 = TEMP19 (TYPE FIX)>
142                     <VEQUAL? TEMP19 6 - PHRASE24 (TYPE FIX)>
143                     <DEAD TEMP19>
144                     <NTHUV TEMP16 4 = TEMP19>
145                     <EQUAL? TEMP19 'LENGTH - PHRASE24>
146                     <DEAD TEMP19>
147                     <NTHUV TEMP16 5 = KT9 (TYPE LIST)>
148                     <DEAD TEMP16>
149                     <EMPL? KT9 + PHRASE24>
150                     <RESTL KT9 1 = TEMP19 (TYPE LIST)>
151                     <EMPL? TEMP19 + PHRASE24>
152                     <RESTL TEMP19 1 = TEMP19 (TYPE LIST)>
153                     <EMPL? TEMP19 - PHRASE24>
154                     <DEAD TEMP19>
155                     <FRAME '\1aCOMPILE-WARNING>
156                     <PUSH "Attempting to repair probable erroneous code:
157 ">
158                     <PUSH NOD4>
159                     <PUSH "
160 replaced by">
161                     <CALL '\1aCOMPILE-WARNING 3>
162                     <RESTL KT9 1 = TEMP16 (TYPE LIST)>
163                     <PUTREST K6 TEMP16>
164                     <DEAD TEMP16>
165                     <PUTREST KT9 ()>
166                     <NTHL KT9 1 = TEMP16 (TYPE NODE)>
167                     <DEAD KT9>
168                     <PUTUV TEMP16 2 NOD4>
169                     <DEAD TEMP16>
170                     <FRAME '\1aNODE-COMPLAIN>
171                     <PUSH NOD4>
172                     <CALL '\1aNODE-COMPLAIN 1>
173                     <FRAME '\1aCRLF>
174                     <GEN-LVAL 'OUTCHAN = STACK>
175                     <CALL '\1aCRLF 1>
176 PHRASE24
177                     <FRAME '\1aARGCHK>
178                     <PUSH 2>
179                     <LENL K6 = STACK (TYPE FIX)>
180                     <PUSH '==?>
181                     <PUSH NOD4>
182                     <CALL '\1aARGCHK 4>
183                     <FRAME '\1aANA>
184                     <NTHL K6 1 = STACK (TYPE NODE)>
185                     <PUSH 'ANY>
186                     <CALL '\1aANA 2>
187                     <FRAME '\1aANA>
188                     <RESTL K6 1 = TEMP16 (TYPE LIST)>
189                     <NTHL TEMP16 1 = STACK (TYPE NODE)>
190                     <DEAD TEMP16>
191                     <PUSH 'ANY>
192                     <CALL '\1aANA 2>
193                     <PUTUV NOD4 1 23 (TYPE FIX)>
194                     <FRAME '\1aISTYPE?>
195                     <NTHL K6 1 = TEMP16 (TYPE NODE)>
196                     <NTHUV TEMP16 3 = STACK>
197                     <DEAD TEMP16>
198                     <CALL '\1aISTYPE? 1 = TEMP16>
199                     <VEQUAL? TEMP16 'FIX - PHRASE38>
200                     <DEAD TEMP16>
201                     <FRAME '\1aISTYPE?>
202                     <RESTL K6 1 = TEMP16 (TYPE LIST)>
203                     <NTHL TEMP16 1 = TEMP16 (TYPE NODE)>
204                     <NTHUV TEMP16 3 = STACK>
205                     <DEAD TEMP16>
206                     <CALL '\1aISTYPE? 1 = TEMP16>
207                     <VEQUAL? TEMP16 'FIX - PHRASE38>
208                     <DEAD TEMP16>
209                     <PUTUV NOD4 1 22 (TYPE FIX)>
210                     <FRAME '\1aHACK-BOUNDS>
211                     <NTHR 'WHO 2 = TEMP16 (RECORD-TYPE ATOM) (TYPE LBIND)>
212                     <NTHR TEMP16 1 = STACK (RECORD-TYPE LBIND)>
213                     <DEAD TEMP16>
214                     <NTHR 'GLE 2 = TEMP16 (RECORD-TYPE ATOM) (TYPE LBIND)>
215                     <NTHR TEMP16 1 = STACK (RECORD-TYPE LBIND)>
216                     <DEAD TEMP16>
217                     <PUSH NOD4>
218                     <DEAD NOD4>
219                     <PUSH K6>
220                     <DEAD K6>
221                     <CALL '\1aHACK-BOUNDS 4>
222 PHRASE38
223                     <FRAME '\1aTYPE-OK?>
224                     <PUSH 'BOOLEAN>
225                     <PUSH RTYP5>
226                     <DEAD RTYP5>
227                     <CALL '\1aTYPE-OK? 2 = TEMP16>
228 PHRASE22
229                     <UNBIND TEMP3>
230                     <DEAD TEMP3>
231                     <ADJ -36>
232                     <RETURN TEMP16>
233                     <DEAD TEMP16>
234                     <END \1a==?-ANA>
235 "       Ananlyze TYPE? usage warn about any potential losers by using
236 TYPE-OK?. "
237
238 #WORD *23674654532*
239 <GFCN \1aTYPE?-ANA ("VALUE" ANY NODE ANY) NOD4 RTYP5>
240                     <TEMP K6 LN7 (ALLGOOD9 'T) TEMP3:LBIND (FTYP11:LIST ()) (FNOK12 %<>) TEMP18 TEMP21 FLG78 TEMP83>
241                     <INTGO>
242                     <NTHUV NOD4 5 = K6 (TYPE LIST)>
243                     <LENL K6 = LN7 (TYPE FIX)>
244                     <GETS 'BIND = TEMP3 (TYPE LBIND)>
245                     <BBIND 'WHO 'LIST 'FIX ()>
246                     <GEN-LVAL 'PRED = TEMP18>
247                     <NTHUV NOD4 2 = TEMP21>
248                     <EQUAL? TEMP18 TEMP21 + TAG17>
249                     <DEAD TEMP18 TEMP21>
250                     <SET TEMP18 %<> (TYPE FALSE)>
251                     <JUMP + BOOL15>
252 TAG17
253                     <SET TEMP18 NOD4>
254 BOOL15
255                     <BBIND 'WHON <OR NODE FALSE> 'FIX TEMP18>
256                     <DEAD TEMP18>
257                     <FRAME '\1aSEGFLUSH>
258                     <PUSH NOD4>
259                     <PUSH RTYP5>
260                     <CALL '\1aSEGFLUSH 2 = TEMP18>
261                     <TYPE? TEMP18 <TYPE-CODE FALSE> + PHRASE23>
262                     <DEAD TEMP18>
263                     <FRAME '\1aTYPE-OK?>
264                     <PUSH RTYP5>
265                     <DEAD RTYP5>
266                     <PUSH <OR ATOM FALSE>>
267                     <CALL '\1aTYPE-OK? 2 = TEMP18>
268                     <JUMP + PHRASE26>
269 PHRASE23
270                     <LESS? LN7 2 - PHRASE28 (TYPE FIX)>
271                     <DEAD LN7>
272                     <FRAME '\1aCOMPILE-ERROR>
273                     <PUSH "Too few arguments to TYPE? ">
274                     <PUSH NOD4>
275                     <CALL '\1aCOMPILE-ERROR 2>
276 PHRASE28
277                     <FRAME '\1aEANA>
278                     <NTHL K6 1 = STACK (TYPE NODE)>
279                     <PUSH 'ANY>
280                     <PUSH 'TYPE?>
281                     <CALL '\1aEANA 3 = TEMP18>
282                     <RESTL K6 1 = TEMP21 (TYPE LIST)>
283                     <DEAD K6>
284                     <LOOP>
285 MAP32
286                     <INTGO>
287                     <EMPL? TEMP21 + MAPAP35>
288                     <NTHL TEMP21 1 = K6>
289                     <FRAME '\1aEANA>
290                     <PUSH K6>
291                     <PUSH 'ATOM>
292                     <PUSH 'TYPE?>
293                     <CALL '\1aEANA 3>
294                     <NTHUV K6 1 = LN7 (TYPE FIX)>
295                     <VEQUAL? LN7 2 + PHRASE48 (TYPE FIX)>
296                     <DEAD LN7>
297                     <SET ALLGOOD9 %<> (TYPE FALSE)>
298                     <JUMP + BOOL54>
299 PHRASE48
300                     <FRAME '\1aISTYPE?>
301                     <NTHUV K6 4 = STACK>
302                     <CALL '\1aISTYPE? 1 = LN7>
303                     <TYPE? LN7 <TYPE-CODE FALSE> - PHRASE51>
304                     <DEAD LN7>
305                     <FRAME '\1aCOMPILE-ERROR>
306                     <PUSH "Argument to TYPE? not a type ">
307                     <PUSH NOD4>
308                     <CALL '\1aCOMPILE-ERROR 2>
309 PHRASE51
310                     <FRAME '\1aTYPE-OK?>
311                     <NTHUV K6 4 = STACK>
312                     <PUSH TEMP18>
313                     <CALL '\1aTYPE-OK? 2 = LN7>
314                     <TYPE? LN7 <TYPE-CODE FALSE> + BOOL54>
315                     <DEAD LN7>
316                     <NTHUV K6 4 = LN7>
317                     <DEAD K6>
318                     <CONS LN7 FTYP11 = FTYP11>
319                     <DEAD LN7>
320 BOOL54
321                     <RESTL TEMP21 1 = TEMP21 (TYPE LIST)>
322                     <JUMP + MAP32>
323 MAPAP35
324                     <VEQUAL? ALLGOOD9 0 + PHRASE57>
325                     <EMPL? FTYP11 + PHRASE57 (TYPE LIST)>
326                     <RESTL FTYP11 1 = TEMP21 (TYPE LIST)>
327                     <EMPL? TEMP21 - PHRASE60 (TYPE LIST)>
328                     <DEAD TEMP21>
329                     <NTHL FTYP11 1 = LN7>
330                     <JUMP + PHRASE61>
331 PHRASE60
332                     <CONS 'OR FTYP11 = TEMP21>
333                     <CHTYPE TEMP21 <TYPE-CODE FORM> = LN7>
334                     <DEAD TEMP21>
335 PHRASE61
336                     <PUTUV NOD4 1 24 (TYPE FIX)>
337                     <DEAD NOD4>
338                     <FRAME '\1aTYPE-OK?>
339                     <FRAME '\1aFORM>
340                     <PUSH 'NOT>
341                     <PUSH LN7>
342                     <CALL '\1aFORM 2 = STACK>
343                     <PUSH TEMP18>
344                     <DEAD TEMP18>
345                     <CALL '\1aTYPE-OK? 2 = TEMP21>
346                     <TYPE? TEMP21 <TYPE-CODE FALSE> - TAG62>
347                     <DEAD TEMP21>
348                     <SET FNOK12 'T (TYPE ATOM)>
349                     <JUMP + TAG63>
350 TAG62
351                     <SET FNOK12 %<> (TYPE FALSE)>
352 TAG63
353                     <NTHR 'WHO 2 = TEMP21 (RECORD-TYPE ATOM) (TYPE LBIND)>
354                     <NTHR TEMP21 1 = TEMP18 (RECORD-TYPE LBIND)>
355                     <DEAD TEMP21>
356                     <LOOP>
357 MAP67
358                     <INTGO>
359                     <EMPL? TEMP18 + PHRASE95>
360                     <NTHL TEMP18 1 = K6>
361                     <NTHL K6 1 = FLG78>
362                     <RESTL K6 1 = TEMP21 (TYPE LIST)>
363                     <NTHL TEMP21 1 = TEMP21 (TYPE SYMTAB)>
364                     <FRAME '\1aADD-TYPE-LIST>
365                     <PUSH TEMP21>
366                     <PUSH LN7>
367                     <GEN-LVAL 'TRUTH = STACK>
368                     <PUSH FLG78>
369                     <RESTL K6 1 = TEMP83 (TYPE LIST)>
370                     <RESTL TEMP83 1 = STACK (TYPE LIST)>
371                     <DEAD TEMP83>
372                     <CALL '\1aADD-TYPE-LIST 5 = TEMP83>
373                     <GEN-SET 'TRUTH TEMP83>
374                     <DEAD TEMP83>
375                     <VEQUAL? FNOK12 0 - BOOL86>
376                     <FRAME '\1aADD-TYPE-LIST>
377                     <PUSH TEMP21>
378                     <DEAD TEMP21>
379                     <FRAME '\1aFORM>
380                     <PUSH 'NOT>
381                     <PUSH LN7>
382                     <CALL '\1aFORM 2 = STACK>
383                     <GEN-LVAL 'UNTRUTH = STACK>
384                     <PUSH FLG78>
385                     <DEAD FLG78>
386                     <RESTL K6 1 = K6 (TYPE LIST)>
387                     <RESTL K6 1 = STACK (TYPE LIST)>
388                     <DEAD K6>
389                     <CALL '\1aADD-TYPE-LIST 5 = K6>
390                     <GEN-SET 'UNTRUTH K6>
391                     <DEAD K6>
392 BOOL86
393                     <RESTL TEMP18 1 = TEMP18 (TYPE LIST)>
394                     <JUMP + MAP67>
395 PHRASE57
396                     <VEQUAL? ALLGOOD9 0 + PHRASE94>
397                     <PUTUV NOD4 1 24 (TYPE FIX)>
398                     <DEAD NOD4>
399                     <JUMP + PHRASE95>
400 PHRASE94
401                     <GEN-LVAL 'VERBOSE = TEMP18>
402                     <TYPE? TEMP18 <TYPE-CODE FALSE> + BOOL96>
403                     <DEAD TEMP18>
404                     <FRAME '\1aADDVMESS>
405                     <PUSH NOD4>
406                     <CONS "Not open compiled." () = STACK>
407                     <CALL '\1aADDVMESS 2>
408 BOOL96
409                     <PUTUV NOD4 1 52 (TYPE FIX)>
410                     <DEAD NOD4>
411 PHRASE95
412                     <FRAME '\1aTYPE-OK?>
413                     <VEQUAL? ALLGOOD9 0 - PHRASE102>
414                     <DEAD ALLGOOD9>
415                     <SET TEMP18 <OR FALSE ATOM> (TYPE FORM)>
416                     <JUMP + PHRASE105>
417 PHRASE102
418                     <EMPL? FTYP11 - PHRASE103 (TYPE LIST)>
419                     <DEAD FTYP11>
420                     <SET TEMP18 'FALSE (TYPE ATOM)>
421                     <JUMP + PHRASE105>
422 PHRASE103
423                     <VEQUAL? FNOK12 0 + PHRASE104>
424                     <DEAD FNOK12>
425                     <SET TEMP18 'ATOM (TYPE ATOM)>
426                     <JUMP + PHRASE105>
427 PHRASE104
428                     <SET TEMP18 <OR FALSE ATOM> (TYPE FORM)>
429 PHRASE105
430                     <PUSH TEMP18>
431                     <DEAD TEMP18>
432                     <PUSH RTYP5>
433                     <DEAD RTYP5>
434                     <CALL '\1aTYPE-OK? 2 = TEMP18>
435 PHRASE26
436                     <UNBIND TEMP3>
437                     <DEAD TEMP3>
438                     <ADJ -18>
439                     <RETURN TEMP18>
440                     <DEAD TEMP18>
441                     <END \1aTYPE?-ANA>
442 #WORD *14540564730*
443 <GFCN \1aVALID-TYPE?-ANA ("VALUE" ANY NODE ANY) N4 R5>
444                     <TEMP K6:LIST LN7:FIX TEMP9>
445                     <INTGO>
446                     <NTHUV N4 5 = K6 (TYPE LIST)>
447                     <LENL K6 = LN7 (TYPE FIX)>
448                     <FRAME '\1aSEGFLUSH>
449                     <PUSH N4>
450                     <PUSH R5>
451                     <CALL '\1aSEGFLUSH 2 = TEMP9>
452                     <TYPE? TEMP9 <TYPE-CODE FALSE> - PHRASE11>
453                     <FRAME '\1aARGCHK>
454                     <PUSH 1>
455                     <PUSH LN7>
456                     <DEAD LN7>
457                     <PUSH 'VALID-TYPE?>
458                     <PUSH N4>
459                     <CALL '\1aARGCHK 4>
460                     <FRAME '\1aEANA>
461                     <NTHL K6 1 = STACK (TYPE NODE)>
462                     <DEAD K6>
463                     <PUSH 'ATOM>
464                     <PUSH 'VALID-TYPE?>
465                     <CALL '\1aEANA 3>
466                     <PUTUV N4 1 97 (TYPE FIX)>
467                     <DEAD N4>
468                     <FRAME '\1aTYPE-OK?>
469                     <PUSH R5>
470                     <DEAD R5>
471                     <PUSH <OR FALSE TYPE-C>>
472                     <CALL '\1aTYPE-OK? 2 = TEMP9>
473 PHRASE11
474                     <RETURN TEMP9>
475                     <DEAD TEMP9>
476                     <END \1aVALID-TYPE?-ANA>
477 #WORD *7400517472*
478 <GFCN \1aTYPE-C-ANA ("VALUE" ANY NODE ANY) N4 R5>
479                     <TEMP K6:LIST LN7:FIX TEMP9>
480                     <INTGO>
481                     <NTHUV N4 5 = K6 (TYPE LIST)>
482                     <LENL K6 = LN7 (TYPE FIX)>
483                     <FRAME '\1aSEGFLUSH>
484                     <PUSH N4>
485                     <PUSH R5>
486                     <CALL '\1aSEGFLUSH 2 = TEMP9>
487                     <TYPE? TEMP9 <TYPE-CODE FALSE> - PHRASE11>
488                     <FRAME '\1aARGCHK>
489                     <PUSH LN7>
490                     <PUSH (1 2)>
491                     <PUSH 'VALID-TYPE?>
492                     <PUSH N4>
493                     <CALL '\1aARGCHK 4>
494                     <FRAME '\1aEANA>
495                     <NTHL K6 1 = STACK (TYPE NODE)>
496                     <PUSH 'ATOM>
497                     <PUSH 'TYPE-C>
498                     <CALL '\1aEANA 3>
499                     <VEQUAL? LN7 2 - PHRASE15 (TYPE FIX)>
500                     <DEAD LN7>
501                     <FRAME '\1aEANA>
502                     <RESTL K6 1 = K6 (TYPE LIST)>
503                     <NTHL K6 1 = STACK (TYPE NODE)>
504                     <DEAD K6>
505                     <PUSH 'ATOM>
506                     <PUSH 'TYPE-C>
507                     <CALL '\1aEANA 3>
508 PHRASE15
509                     <PUTUV N4 1 96 (TYPE FIX)>
510                     <DEAD N4>
511                     <FRAME '\1aTYPE-OK?>
512                     <PUSH R5>
513                     <DEAD R5>
514                     <PUSH 'TYPE-C>
515                     <CALL '\1aTYPE-OK? 2 = TEMP9>
516 PHRASE11
517                     <RETURN TEMP9>
518                     <DEAD TEMP9>
519                     <END \1aTYPE-C-ANA>
520 #WORD *2555464510*
521 <GFCN \1a=?-ANA ("VALUE" ANY NODE ANY) N4 R5>
522                     <TEMP K6 LN7 TEMP13 N29:NODE>
523                     <INTGO>
524                     <NTHUV N4 5 = K6 (TYPE LIST)>
525                     <LENL K6 = LN7 (TYPE FIX)>
526                     <FRAME '\1aSEGFLUSH>
527                     <PUSH N4>
528                     <PUSH R5>
529                     <CALL '\1aSEGFLUSH 2 = TEMP13>
530                     <TYPE? TEMP13 <TYPE-CODE FALSE> - PHRASE31>
531                     <FRAME '\1aARGCHK>
532                     <PUSH LN7>
533                     <DEAD LN7>
534                     <PUSH 2>
535                     <NTHUV N4 4 = STACK>
536                     <PUSH N4>
537                     <CALL '\1aARGCHK 4>
538                     <FRAME '\1aEANA>
539                     <NTHL K6 1 = LN7 (TYPE NODE)>
540                     <PUSH LN7>
541                     <PUSH 'ANY>
542                     <NTHUV N4 4 = STACK>
543                     <CALL '\1aEANA 3>
544                     <FRAME '\1aEANA>
545                     <RESTL K6 1 = TEMP13 (TYPE LIST)>
546                     <NTHL TEMP13 1 = N29 (TYPE NODE)>
547                     <DEAD TEMP13>
548                     <PUSH N29>
549                     <PUSH 'ANY>
550                     <NTHUV N4 4 = STACK>
551                     <CALL '\1aEANA 3>
552                     <NTHUV LN7 1 = TEMP13 (TYPE FIX)>
553                     <VEQUAL? TEMP13 2 - PHRASE21 (TYPE FIX)>
554                     <DEAD TEMP13>
555                     <RESTL K6 1 = TEMP13 (TYPE LIST)>
556                     <NTHL TEMP13 1 = LN7 (TYPE NODE)>
557                     <DEAD TEMP13>
558                     <NTHL K6 1 = N29 (TYPE NODE)>
559                     <DEAD K6>
560 PHRASE21
561                     <FRAME '\1aISTYPE?>
562                     <NTHUV N29 3 = STACK>
563                     <DEAD N29>
564                     <CALL '\1aISTYPE? 1 = TEMP13>
565                     <FRAME '\1aISTYPE?>
566                     <NTHUV LN7 3 = STACK>
567                     <DEAD LN7>
568                     <CALL '\1aISTYPE? 1 = K6>
569                     <VEQUAL? K6 'STRING + BOOL25>
570                     <VEQUAL? TEMP13 'STRING - PHRASE24>
571 BOOL25
572                     <PUTUV N4 1 95 (TYPE FIX)>
573                     <DEAD N4>
574                     <FRAME '\1aTYPE-OK?>
575                     <PUSH 'BOOLEAN>
576                     <PUSH R5>
577                     <DEAD R5>
578                     <CALL '\1aTYPE-OK? 2 = TEMP13>
579                     <RETURN TEMP13>
580                     <DEAD TEMP13>
581 PHRASE24
582                     <TYPE? K6 <TYPE-CODE FALSE> + PHRASE28>
583                     <TYPE? TEMP13 <TYPE-CODE FALSE> + PHRASE28>
584                     <VEQUAL? K6 TEMP13 + PHRASE28>
585                     <DEAD K6 TEMP13>
586                     <FRAME '\1aTYPE-OK?>
587                     <PUSH 'BOOL-FALSE>
588                     <PUSH R5>
589                     <DEAD R5>
590                     <CALL '\1aTYPE-OK? 2 = TEMP13>
591                     <RETURN TEMP13>
592                     <DEAD TEMP13>
593 PHRASE28
594                     <FRAME '\1aTYPE-OK?>
595                     <PUSH 'BOOLEAN>
596                     <PUSH R5>
597                     <DEAD R5>
598                     <CALL '\1aTYPE-OK? 2 = TEMP13>
599 PHRASE31
600                     <RETURN TEMP13>
601                     <DEAD TEMP13>
602                     <END \1a=?-ANA>
603 #WORD *21161013720*
604 <GFCN \1aS=?-ANA ("VALUE" ANY NODE ANY) N4 R5>
605                     <TEMP K6:LIST TEMP8>
606                     <INTGO>
607                     <NTHUV N4 5 = K6 (TYPE LIST)>
608                     <FRAME '\1aSEGFLUSH>
609                     <PUSH N4>
610                     <PUSH R5>
611                     <CALL '\1aSEGFLUSH 2 = TEMP8>
612                     <TYPE? TEMP8 <TYPE-CODE FALSE> - PHRASE10>
613                     <FRAME '\1aARGCHK>
614                     <LENL K6 = STACK (TYPE FIX)>
615                     <PUSH 2>
616                     <NTHUV N4 4 = STACK>
617                     <PUSH N4>
618                     <CALL '\1aARGCHK 4>
619                     <FRAME '\1aEANA>
620                     <NTHL K6 1 = STACK (TYPE NODE)>
621                     <PUSH 'STRING>
622                     <PUSH 'S=?>
623                     <CALL '\1aEANA 3>
624                     <FRAME '\1aEANA>
625                     <RESTL K6 1 = K6 (TYPE LIST)>
626                     <NTHL K6 1 = STACK (TYPE NODE)>
627                     <DEAD K6>
628                     <PUSH 'STRING>
629                     <PUSH 'S=?>
630                     <CALL '\1aEANA 3>
631                     <PUTUV N4 1 95 (TYPE FIX)>
632                     <DEAD N4>
633                     <FRAME '\1aTYPE-OK?>
634                     <PUSH 'BOOLEAN>
635                     <PUSH R5>
636                     <DEAD R5>
637                     <CALL '\1aTYPE-OK? 2 = TEMP8>
638 PHRASE10
639                     <RETURN TEMP8>
640                     <DEAD TEMP8>
641                     <END \1aS=?-ANA>
642 #WORD *13713777251*
643 <GFCN \1aATOM-PART-ANA ("VALUE" ANY NODE ANY) N4 R5>
644                     <TEMP K6 NM7:ATOM TEMP10 NN8:NODE>
645                     <INTGO>
646                     <NTHUV N4 5 = K6 (TYPE LIST)>
647                     <NTHUV N4 4 = NM7 (TYPE ATOM)>
648                     <FRAME '\1aSEGFLUSH>
649                     <PUSH N4>
650                     <PUSH R5>
651                     <CALL '\1aSEGFLUSH 2 = TEMP10>
652                     <TYPE? TEMP10 <TYPE-CODE FALSE> - PHRASE30>
653                     <FRAME '\1aARGCHK>
654                     <LENL K6 = STACK (TYPE FIX)>
655                     <VEQUAL? NM7 'GBIND + BOOL16>
656                     <VEQUAL? NM7 'LBIND - PHRASE15>
657 BOOL16
658                     <SET TEMP10 (1 2) (TYPE LIST)>
659                     <JUMP + PHRASE18>
660 PHRASE15
661                     <SET TEMP10 1 (TYPE FIX)>
662 PHRASE18
663                     <PUSH TEMP10>
664                     <DEAD TEMP10>
665                     <PUSH NM7>
666                     <PUSH N4>
667                     <CALL '\1aARGCHK 4>
668                     <FRAME '\1aEANA>
669                     <NTHL K6 1 = STACK (TYPE NODE)>
670                     <PUSH 'ATOM>
671                     <PUSH NM7>
672                     <CALL '\1aEANA 3>
673                     <RESTL K6 1 = TEMP10 (TYPE LIST)>
674                     <EMPL? TEMP10 + PHRASE21 (TYPE LIST)>
675                     <DEAD TEMP10>
676                     <FRAME '\1aEANA>
677                     <RESTL K6 1 = TEMP10 (TYPE LIST)>
678                     <NTHL TEMP10 1 = NN8 (TYPE NODE)>
679                     <DEAD TEMP10>
680                     <PUSH NN8>
681                     <PUSH 'ANY>
682                     <PUSH NM7>
683                     <CALL '\1aEANA 3>
684 PHRASE21
685                     <NTHL K6 1 = TEMP10 (TYPE NODE)>
686                     <NTHUV TEMP10 1 = TEMP10 (TYPE FIX)>
687                     <VEQUAL? TEMP10 2 - PHRASE24 (TYPE FIX)>
688                     <DEAD TEMP10>
689                     <VEQUAL? NM7 'LBIND + PHRASE24>
690                     <VEQUAL? NM7 'GBIND + PHRASE24>
691                     <PUTUV N4 1 2 (TYPE FIX)>
692                     <PUTUV N4 5 () (TYPE LIST)>
693                     <FRAME>
694                     <GVAL NM7 = TEMP10>
695                     <DEAD NM7>
696                     <NTHL K6 1 = K6 (TYPE NODE)>
697                     <NTHUV K6 4 = STACK>
698                     <DEAD K6>
699                     <ACALL TEMP10 1 = K6>
700                     <DEAD TEMP10>
701                     <PUTUV N4 4 K6>
702                     <DEAD K6>
703                     <FRAME '\1aTYPE-OK?>
704                     <FRAME '\1aTYPE>
705                     <NTHUV N4 4 = STACK>
706                     <DEAD N4>
707                     <CALL '\1aTYPE 1 = STACK>
708                     <PUSH R5>
709                     <DEAD R5>
710                     <CALL '\1aTYPE-OK? 2 = TEMP10>
711                     <RETURN TEMP10>
712                     <DEAD TEMP10>
713 PHRASE24
714                     <VEQUAL? NM7 'GBIND + BOOL34>
715                     <VEQUAL? NM7 'LBIND - BOOL33>
716 BOOL34
717                     <RESTL K6 1 = K6 (TYPE LIST)>
718                     <EMPL? K6 + BOOL33 (TYPE LIST)>
719                     <DEAD K6>
720                     <NTHUV NN8 1 = K6 (TYPE FIX)>
721                     <VEQUAL? K6 2 - PHRASE32 (TYPE FIX)>
722                     <DEAD K6>
723                     <NTHUV NN8 4 = K6>
724                     <DEAD NN8>
725                     <TYPE? K6 <TYPE-CODE FALSE> - PHRASE32>
726                     <DEAD K6>
727 BOOL33
728                     <PUTUV N4 1 100 (TYPE FIX)>
729                     <DEAD N4>
730 PHRASE32
731                     <FRAME '\1aTYPE-OK?>
732                     <PUSH R5>
733                     <DEAD R5>
734                     <VEQUAL? NM7 'SPNAME - PHRASE38>
735                     <SET K6 'STRING (TYPE ATOM)>
736                     <JUMP + PHRASE40>
737 PHRASE38
738                     <VEQUAL? NM7 'OBLIST? - PHRASE39>
739                     <SET K6 <OR FALSE OBLIST> (TYPE FORM)>
740                     <JUMP + PHRASE40>
741 PHRASE39
742                     <SET K6 NM7>
743                     <DEAD NM7>
744 PHRASE40
745                     <PUSH K6>
746                     <DEAD K6>
747                     <CALL '\1aTYPE-OK? 2 = TEMP10>
748 PHRASE30
749                     <RETURN TEMP10>
750                     <DEAD TEMP10>
751                     <END \1aATOM-PART-ANA>
752 #WORD *15512442764*
753 <GFCN \1aPUT-GET-DECL-ANA ("VALUE" ANY NODE ANY) N4 R5>
754                     <TEMP K6 NM7:ATOM TEMP10 ST8 TEMP25:FIX TEMP31>
755                     <INTGO>
756                     <NTHUV N4 5 = K6 (TYPE LIST)>
757                     <NTHUV N4 4 = NM7 (TYPE ATOM)>
758                     <FRAME '\1aSEGFLUSH>
759                     <PUSH N4>
760                     <PUSH R5>
761                     <CALL '\1aSEGFLUSH 2 = TEMP10>
762                     <TYPE? TEMP10 <TYPE-CODE FALSE> - PHRASE40>
763                     <FRAME '\1aARGCHK>
764                     <LENL K6 = STACK (TYPE FIX)>
765                     <VEQUAL? NM7 'PUT-DECL - PHRASE15>
766                     <SET TEMP10 2 (TYPE FIX)>
767                     <JUMP + PHRASE17>
768 PHRASE15
769                     <SET TEMP10 1 (TYPE FIX)>
770 PHRASE17
771                     <PUSH TEMP10>
772                     <DEAD TEMP10>
773                     <PUSH NM7>
774                     <PUSH N4>
775                     <CALL '\1aARGCHK 4>
776                     <FRAME '\1aEANA>
777                     <NTHL K6 1 = STACK (TYPE NODE)>
778                     <PUSH <OR ATOM OFFSET GBIND LBIND>>
779                     <PUSH NM7>
780                     <CALL '\1aEANA 3 = ST8>
781                     <VEQUAL? NM7 'PUT-DECL - PHRASE20>
782                     <FRAME '\1aTYPE-AND>
783                     <PUSH ST8>
784                     <PUSH R5>
785                     <CALL '\1aTYPE-AND 2 = TEMP10>
786                     <TYPE? TEMP10 <TYPE-CODE FALSE> - BOOL21>
787                     <SET TEMP10 ST8>
788                     <DEAD ST8>
789 BOOL21
790                     <SET ST8 TEMP10>
791                     <DEAD TEMP10>
792                     <FRAME '\1aEANA>
793                     <RESTL K6 1 = TEMP10 (TYPE LIST)>
794                     <NTHL TEMP10 1 = STACK (TYPE NODE)>
795                     <DEAD TEMP10>
796                     <PUSH <OR ATOM FALSE FORM SEGMENT>>
797                     <PUSH NM7>
798                     <CALL '\1aEANA 3>
799                     <PUSH N4>
800                     <SET TEMP25 1 (TYPE FIX)>
801                     <NTHUV N4 8 = TEMP10>
802                     <TYPE TEMP10 = TEMP31>
803                     <AND TEMP31 7 = TEMP31>
804                     <VEQUAL? TEMP31 1 + TAG27>
805                     <DEAD TEMP31>
806                     <LOOP (TEMP10 TYPE VALUE LENGTH) (TEMP25 VALUE)>
807 TAG33
808                     <INTGO>
809                     <EMPTY? TEMP10 + TAG32>
810                     <NTH1 TEMP10 = STACK>
811                     <REST1 TEMP10 = TEMP10>
812                     <ADD TEMP25 1 = TEMP25 (TYPE FIX)>
813                     <JUMP + TAG33>
814 TAG32
815                     <LIST TEMP25 = TEMP10 (TYPE LIST)>
816                     <DEAD TEMP25>
817                     <JUMP + TAG29>
818 TAG27
819                     <LOOP>
820 TAG30
821                     <VEQUAL? TEMP25 0 + TAG29>
822                     <POP = TEMP31>
823                     <CONS TEMP31 TEMP10 = TEMP10 (TYPE LIST)>
824                     <DEAD TEMP31>
825                     <SUB TEMP25 1 = TEMP25 (TYPE FIX)>
826                     <JUMP + TAG30>
827 TAG29
828                     <PUTUV N4 8 TEMP10>
829                     <DEAD TEMP10>
830 PHRASE20
831                     <NTHL K6 1 = TEMP10 (TYPE NODE)>
832                     <NTHUV TEMP10 1 = TEMP10 (TYPE FIX)>
833                     <VEQUAL? TEMP10 2 - PHRASE35 (TYPE FIX)>
834                     <DEAD TEMP10>
835                     <VEQUAL? NM7 'GET-DECL - PHRASE35>
836                     <PUTUV N4 1 2 (TYPE FIX)>
837                     <PUTUV N4 5 () (TYPE LIST)>
838                     <FRAME '\1aGET-DECL>
839                     <NTHL K6 1 = TEMP10 (TYPE NODE)>
840                     <DEAD K6>
841                     <NTHUV TEMP10 4 = STACK>
842                     <DEAD TEMP10>
843                     <CALL '\1aGET-DECL 1 = TEMP10>
844                     <PUTUV N4 4 TEMP10>
845                     <DEAD TEMP10>
846                     <FRAME '\1aTYPE-OK?>
847                     <FRAME '\1aTYPE>
848                     <NTHUV N4 4 = STACK>
849                     <DEAD N4>
850                     <CALL '\1aTYPE 1 = STACK>
851                     <PUSH R5>
852                     <DEAD R5>
853                     <CALL '\1aTYPE-OK? 2 = TEMP10>
854                     <RETURN TEMP10>
855                     <DEAD TEMP10>
856 PHRASE35
857                     <FRAME '\1aISTYPE?>
858                     <PUSH ST8>
859                     <CALL '\1aISTYPE? 1 = TEMP10>
860                     <SET TEMP31 [LBIND GBIND OFFSET] (TYPE VECTOR)>
861                     <TYPE? TEMP10 <TYPE-CODE ATOM> - PHRASE42>
862                     <LOOP (TEMP10 VALUE) (TEMP31 LENGTH VALUE)>
863 TAG44
864                     <NTHUV TEMP31 1 = K6>
865                     <VEQUAL? K6 TEMP10 + TAG43>
866                     <DEAD K6>
867                     <RESTUV TEMP31 1 = TEMP31 (TYPE VECTOR)>
868                     <EMPUV? TEMP31 - TAG44>
869                     <JUMP + PHRASE42>
870 TAG43
871                     <PUTUV N4 1 102 (TYPE FIX)>
872                     <DEAD N4>
873                     <JUMP + PHRASE48>
874 PHRASE42
875                     <GEN-LVAL 'VERBOSE = TEMP31>
876                     <TYPE? TEMP31 <TYPE-CODE FALSE> + PHRASE48>
877                     <DEAD TEMP31>
878                     <FRAME '\1aADDVMESS>
879                     <PUSH N4>
880                     <DEAD N4>
881                     <CONS ST8 () = TEMP31>
882                     <CONS "Not open compiled because type is " TEMP31 = TEMP31>
883                     <CONS NM7 TEMP31 = STACK>
884                     <DEAD TEMP31>
885                     <CALL '\1aADDVMESS 2>
886 PHRASE48
887                     <FRAME '\1aTYPE-OK?>
888                     <VEQUAL? NM7 'GET-DECL - PHRASE54>
889                     <DEAD NM7>
890                     <SET TEMP31 <OR ATOM FALSE FORM SEGMENT> (TYPE FORM)>
891                     <JUMP + PHRASE55>
892 PHRASE54
893                     <SET TEMP31 ST8>
894                     <DEAD ST8>
895 PHRASE55
896                     <PUSH TEMP31>
897                     <DEAD TEMP31>
898                     <PUSH R5>
899                     <DEAD R5>
900                     <CALL '\1aTYPE-OK? 2 = TEMP10>
901 PHRASE40
902                     <RETURN TEMP10>
903                     <DEAD TEMP10>
904                     <END \1aPUT-GET-DECL-ANA>
905 #WORD *1530543267*
906 <GFCN \1aOFFSET-PART-ANA ("VALUE" ANY NODE ANY) N4 R5>
907                     <TEMP K6 NM7:ATOM TEMP9>
908                     <INTGO>
909                     <NTHUV N4 5 = K6 (TYPE LIST)>
910                     <NTHUV N4 4 = NM7 (TYPE ATOM)>
911                     <FRAME '\1aSEGFLUSH>
912                     <PUSH N4>
913                     <PUSH R5>
914                     <CALL '\1aSEGFLUSH 2 = TEMP9>
915                     <TYPE? TEMP9 <TYPE-CODE FALSE> - PHRASE28>
916                     <FRAME '\1aARGCHK>
917                     <LENL K6 = STACK (TYPE FIX)>
918                     <VEQUAL? NM7 'INDEX - PHRASE14>
919                     <SET TEMP9 1 (TYPE FIX)>
920                     <JUMP + PHRASE16>
921 PHRASE14
922                     <SET TEMP9 (1 2) (TYPE LIST)>
923 PHRASE16
924                     <PUSH TEMP9>
925                     <DEAD TEMP9>
926                     <PUSH NM7>
927                     <PUSH N4>
928                     <CALL '\1aARGCHK 4>
929                     <FRAME '\1aEANA>
930                     <NTHL K6 1 = STACK (TYPE NODE)>
931                     <PUSH 'OFFSET>
932                     <PUSH NM7>
933                     <CALL '\1aEANA 3>
934                     <RESTL K6 1 = TEMP9 (TYPE LIST)>
935                     <EMPL? TEMP9 + PHRASE19 (TYPE LIST)>
936                     <DEAD TEMP9>
937                     <FRAME '\1aEANA>
938                     <RESTL K6 1 = TEMP9 (TYPE LIST)>
939                     <NTHL TEMP9 1 = STACK (TYPE NODE)>
940                     <DEAD TEMP9>
941                     <PUSH <OR ATOM FALSE FORM SEGMENT>>
942                     <PUSH NM7>
943                     <CALL '\1aEANA 3>
944 PHRASE19
945                     <NTHL K6 1 = TEMP9 (TYPE NODE)>
946                     <NTHUV TEMP9 1 = TEMP9 (TYPE FIX)>
947                     <VEQUAL? TEMP9 2 - PHRASE22 (TYPE FIX)>
948                     <DEAD TEMP9>
949                     <RESTL K6 1 = TEMP9 (TYPE LIST)>
950                     <EMPL? TEMP9 - PHRASE22 (TYPE LIST)>
951                     <DEAD TEMP9>
952                     <PUTUV N4 1 2 (TYPE FIX)>
953                     <PUTUV N4 5 () (TYPE LIST)>
954                     <FRAME>
955                     <GVAL NM7 = TEMP9>
956                     <DEAD NM7>
957                     <NTHL K6 1 = K6 (TYPE NODE)>
958                     <NTHUV K6 4 = STACK>
959                     <DEAD K6>
960                     <ACALL TEMP9 1 = K6>
961                     <DEAD TEMP9>
962                     <PUTUV N4 4 K6>
963                     <DEAD K6>
964                     <FRAME '\1aTYPE-OK?>
965                     <FRAME '\1aTYPE>
966                     <NTHUV N4 4 = STACK>
967                     <DEAD N4>
968                     <CALL '\1aTYPE 1 = STACK>
969                     <PUSH R5>
970                     <DEAD R5>
971                     <CALL '\1aTYPE-OK? 2 = TEMP9>
972                     <RETURN TEMP9>
973                     <DEAD TEMP9>
974 PHRASE22
975                     <PUTUV N4 1 101 (TYPE FIX)>
976                     <DEAD N4>
977                     <FRAME '\1aTYPE-OK?>
978                     <PUSH R5>
979                     <DEAD R5>
980                     <VEQUAL? NM7 'INDEX - PHRASE31>
981                     <DEAD NM7>
982                     <SET K6 'FIX (TYPE ATOM)>
983                     <JUMP + PHRASE33>
984 PHRASE31
985                     <RESTL K6 1 = TEMP9 (TYPE LIST)>
986                     <DEAD K6>
987                     <EMPL? TEMP9 + PHRASE32 (TYPE LIST)>
988                     <DEAD TEMP9>
989                     <SET K6 'OFFSET (TYPE ATOM)>
990                     <JUMP + PHRASE33>
991 PHRASE32
992                     <SET K6 <OR ATOM FALSE FORM SEGMENT> (TYPE FORM)>
993 PHRASE33
994                     <PUSH K6>
995                     <DEAD K6>
996                     <CALL '\1aTYPE-OK? 2 = TEMP9>
997 PHRASE28
998                     <RETURN TEMP9>
999                     <DEAD TEMP9>
1000                     <END \1aOFFSET-PART-ANA>
1001 #WORD *3664455133*
1002 <GFCN \1aSTRCOMP-ANA ("VALUE" ANY NODE ANY) N4 R5>
1003                     <TEMP K6:LIST TEMP8>
1004                     <INTGO>
1005                     <NTHUV N4 5 = K6 (TYPE LIST)>
1006                     <FRAME '\1aSEGFLUSH>
1007                     <PUSH N4>
1008                     <PUSH R5>
1009                     <CALL '\1aSEGFLUSH 2 = TEMP8>
1010                     <TYPE? TEMP8 <TYPE-CODE FALSE> - PHRASE10>
1011                     <FRAME '\1aARGCHK>
1012                     <LENL K6 = STACK (TYPE FIX)>
1013                     <PUSH 2>
1014                     <NTHUV N4 4 = STACK>
1015                     <PUSH N4>
1016                     <CALL '\1aARGCHK 4>
1017                     <FRAME '\1aEANA>
1018                     <NTHL K6 1 = STACK (TYPE NODE)>
1019                     <PUSH 'STRING>
1020                     <PUSH 'STRCOMP>
1021                     <CALL '\1aEANA 3>
1022                     <FRAME '\1aEANA>
1023                     <RESTL K6 1 = K6 (TYPE LIST)>
1024                     <NTHL K6 1 = STACK (TYPE NODE)>
1025                     <DEAD K6>
1026                     <PUSH 'STRING>
1027                     <PUSH 'STRCOMP>
1028                     <CALL '\1aEANA 3>
1029                     <PUTUV N4 1 95 (TYPE FIX)>
1030                     <DEAD N4>
1031                     <FRAME '\1aTYPE-OK?>
1032                     <PUSH 'FIX>
1033                     <PUSH R5>
1034                     <DEAD R5>
1035                     <CALL '\1aTYPE-OK? 2 = TEMP8>
1036 PHRASE10
1037                     <RETURN TEMP8>
1038                     <DEAD TEMP8>
1039                     <END \1aSTRCOMP-ANA>
1040 #WORD *1131001456*
1041 <GFCN \1aSUBSTRUC-ANA ("VALUE" ANY NODE ANY) N4 R5>
1042                     <TEMP K6 LN7 TEMP10 TEMP20>
1043                     <INTGO>
1044                     <NTHUV N4 5 = K6 (TYPE LIST)>
1045                     <LENL K6 = LN7 (TYPE FIX)>
1046                     <FRAME '\1aSEGFLUSH>
1047                     <PUSH N4>
1048                     <PUSH R5>
1049                     <CALL '\1aSEGFLUSH 2 = TEMP10>
1050                     <TYPE? TEMP10 <TYPE-CODE FALSE> - PHRASE12>
1051                     <FRAME '\1aARGCHK>
1052                     <PUSH LN7>
1053                     <PUSH (1 4)>
1054                     <NTHUV N4 4 = STACK>
1055                     <PUSH N4>
1056                     <CALL '\1aARGCHK 4>
1057                     <FRAME '\1aEANA>
1058                     <NTHL K6 1 = STACK (TYPE NODE)>
1059                     <PUSH 'STRUCTURED>
1060                     <PUSH 'SUBSTRUC>
1061                     <CALL '\1aEANA 3 = TEMP10>
1062                     <GRTR? LN7 1 - PHRASE16 (TYPE FIX)>
1063                     <FRAME '\1aEANA>
1064                     <RESTL K6 1 = TEMP20 (TYPE LIST)>
1065                     <NTHL TEMP20 1 = STACK (TYPE NODE)>
1066                     <DEAD TEMP20>
1067                     <PUSH 'FIX>
1068                     <PUSH 'SUBSTRUC>
1069                     <CALL '\1aEANA 3>
1070 PHRASE16
1071                     <GRTR? LN7 2 - PHRASE22 (TYPE FIX)>
1072                     <FRAME '\1aEANA>
1073                     <RESTL K6 1 = TEMP20 (TYPE LIST)>
1074                     <RESTL TEMP20 1 = TEMP20 (TYPE LIST)>
1075                     <NTHL TEMP20 1 = STACK (TYPE NODE)>
1076                     <DEAD TEMP20>
1077                     <PUSH 'FIX>
1078                     <PUSH 'SUBSTRUC>
1079                     <CALL '\1aEANA 3>
1080 PHRASE22
1081                     <GRTR? LN7 3 - PHRASE25 (TYPE FIX)>
1082                     <DEAD LN7>
1083                     <FRAME '\1aSTRUCTYP>
1084                     <PUSH TEMP10>
1085                     <DEAD TEMP10>
1086                     <CALL '\1aSTRUCTYP 1 = TEMP10>
1087                     <FRAME '\1aEANA>
1088                     <RESTL K6 1 = TEMP20 (TYPE LIST)>
1089                     <DEAD K6>
1090                     <RESTL TEMP20 1 = TEMP20 (TYPE LIST)>
1091                     <RESTL TEMP20 1 = TEMP20 (TYPE LIST)>
1092                     <NTHL TEMP20 1 = STACK (TYPE NODE)>
1093                     <DEAD TEMP20>
1094                     <TYPE? TEMP10 <TYPE-CODE FALSE> + PHRASE29>
1095                     <FRAME '\1aFORM>
1096                     <PUSH 'PRIMTYPE>
1097                     <PUSH TEMP10>
1098                     <DEAD TEMP10>
1099                     <CALL '\1aFORM 2 = TEMP20>
1100                     <JUMP + PHRASE31>
1101 PHRASE29
1102                     <SET TEMP20 'STRUCTURED (TYPE ATOM)>
1103 PHRASE31
1104                     <PUSH TEMP20>
1105                     <DEAD TEMP20>
1106                     <PUSH 'SUBSTRUC>
1107                     <CALL '\1aEANA 3 = TEMP10>
1108                     <PUSH N4>
1109                     <SET LN7 1 (TYPE FIX)>
1110                     <NTHUV N4 8 = TEMP20>
1111                     <TYPE TEMP20 = K6>
1112                     <AND K6 7 = K6>
1113                     <VEQUAL? K6 1 + TAG35>
1114                     <DEAD K6>
1115                     <LOOP (TEMP20 TYPE VALUE LENGTH) (LN7 VALUE)>
1116 TAG41
1117                     <INTGO>
1118                     <EMPTY? TEMP20 + TAG40>
1119                     <NTH1 TEMP20 = STACK>
1120                     <REST1 TEMP20 = TEMP20>
1121                     <ADD LN7 1 = LN7 (TYPE FIX)>
1122                     <JUMP + TAG41>
1123 TAG40
1124                     <LIST LN7 = TEMP20 (TYPE LIST)>
1125                     <DEAD LN7>
1126                     <JUMP + TAG37>
1127 TAG35
1128                     <LOOP>
1129 TAG38
1130                     <VEQUAL? LN7 0 + TAG37>
1131                     <POP = K6>
1132                     <CONS K6 TEMP20 = TEMP20 (TYPE LIST)>
1133                     <DEAD K6>
1134                     <SUB LN7 1 = LN7 (TYPE FIX)>
1135                     <JUMP + TAG38>
1136 TAG37
1137                     <PUTUV N4 8 TEMP20>
1138                     <DEAD TEMP20>
1139 PHRASE25
1140                     <FRAME '\1aSTRUCTYP>
1141                     <PUSH TEMP10>
1142                     <CALL '\1aSTRUCTYP 1 = TEMP20>
1143                     <SET K6 [STRING VECTOR UVECTOR BYTES] (TYPE VECTOR)>
1144                     <TYPE? TEMP20 <TYPE-CODE ATOM> - PHRASE43>
1145                     <LOOP (TEMP20 VALUE) (K6 LENGTH VALUE)>
1146 TAG45
1147                     <NTHUV K6 1 = LN7>
1148                     <VEQUAL? LN7 TEMP20 + TAG44>
1149                     <DEAD LN7>
1150                     <RESTUV K6 1 = K6 (TYPE VECTOR)>
1151                     <EMPUV? K6 - TAG45>
1152                     <JUMP + PHRASE43>
1153 TAG44
1154                     <PUTUV N4 1 81 (TYPE FIX)>
1155                     <DEAD N4>
1156 PHRASE43
1157                     <FRAME '\1aTYPE-OK?>
1158                     <FRAME '\1aSTRUCTYP>
1159                     <PUSH TEMP10>
1160                     <DEAD TEMP10>
1161                     <CALL '\1aSTRUCTYP 1 = STACK>
1162                     <PUSH R5>
1163                     <DEAD R5>
1164                     <CALL '\1aTYPE-OK? 2 = TEMP10>
1165 PHRASE12
1166                     <RETURN TEMP10>
1167                     <DEAD TEMP10>
1168                     <END \1aSUBSTRUC-ANA>\r\r
1169 <COND (<AND <GASSIGNED? NOT-ANA> <GASSIGNED? ELEMENT-DECL>> <PUTPROP ,NOT ANALYSIS ,NOT-ANA> <PUTPROP ,==? ANALYSIS ,==?-ANA> <PUTPROP ,N==? ANALYSIS ,==?-ANA> <PUTPROP ,TYPE? ANALYSIS ,TYPE?-ANA> <PUTPROP ,=? ANALYSIS ,=?-ANA> <PUTPROP ,N=? ANALYSIS ,=?-ANA> <PUTPROP ,VALID-TYPE? ANALYSIS ,VALID-TYPE?-ANA> <PUTPROP ,TYPE-C ANALYSIS ,TYPE-C-ANA> <PUTPROP ,INDEX ANALYSIS ,OFFSET-PART-ANA> <PUTPROP ,ELEMENT-DECL ANALYSIS ,OFFSET-PART-ANA> <PUTPROP ,PUT-DECL ANALYSIS ,PUT-GET-DECL-ANA> <PUTPROP ,GET-DECL ANALYSIS ,PUT-GET-DECL-ANA> <PUTPROP ,SPNAME ANALYSIS ,ATOM-PART-ANA> <PUTPROP ,OBLIST? ANALYSIS ,ATOM-PART-ANA> <PUTPROP ,LBIND ANALYSIS ,ATOM-PART-ANA> <PUTPROP ,GBIND ANALYSIS ,ATOM-PART-ANA> <PUTPROP ,S=? ANALYSIS ,S=?-ANA> <PUTPROP ,STRCOMP ANALYSIS ,STRCOMP-ANA> <PUTPROP ,SUBSTRUC ANALYSIS ,SUBSTRUC-ANA>)>
1170
1171 <ENDPACKAGE>