--- /dev/null
+
+<PACKAGE "NOTANA">
+
+<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>
+
+<USE "SYMANA" "CHKDCL" "COMPDEC" "CARANA" "ADVMESS" "NPRINT">
+
+" This module contains analysis and generation functions for
+NOT, TYPE? and ==?. See SYMANA for more details about ANALYSIS and
+CODGEN for more detali abour code generation.
+"
+
+"Analyze NOT usage make sure arg can be FALSE."
+
+#WORD *21516404076*
+<GFCN \1aNOT-ANA ("VALUE" ANY NODE ANY) NOD4 RTYP5>
+ <TEMP TEMP11 TEMP14 STR8 SUNT9:LIST TEM6>
+ <INTGO>
+ <GEN-LVAL 'PRED = TEMP11>
+ <NTHUV NOD4 2 = TEMP14>
+ <EQUAL? TEMP11 TEMP14 - TAG10>
+ <DEAD TEMP11 TEMP14>
+ <SET TEMP11 'T (TYPE ATOM)>
+ <JUMP + TAG15>
+TAG10
+ <SET TEMP11 %<> (TYPE FALSE)>
+TAG15
+ <GEN-LVAL 'TRUTH = STR8>
+ <GEN-LVAL 'UNTRUTH = SUNT9>
+ <GETS 'BIND = TEMP14 (TYPE LBIND)>
+ <VEQUAL? TEMP11 0 + BOOL23>
+ <SET TEMP11 NOD4>
+BOOL23
+ <BBIND 'PRED 'ANY 'FIX TEMP11>
+ <DEAD TEMP11>
+ <BBIND 'TRUTH 'LIST 'FIX ()>
+ <BBIND 'UNTRUTH 'LIST 'FIX ()>
+ <FRAME '\1aSEGFLUSH>
+ <PUSH NOD4>
+ <DEAD NOD4>
+ <PUSH RTYP5>
+ <DEAD RTYP5>
+ <CALL '\1aSEGFLUSH 2 = TEM6>
+ <TYPE? TEM6 <TYPE-CODE FALSE> + PHRASE29>
+ <SET TEMP11 %<> (TYPE FALSE)>
+ <JUMP + PHRASE31>
+PHRASE29
+ <FRAME '\1aARGCHK>
+ <NTHUV NOD4 5 = TEMP11 (TYPE LIST)>
+ <LENL TEMP11 = STACK (TYPE FIX)>
+ <PUSH 1>
+ <PUSH 'NOT>
+ <PUSH NOD4>
+ <CALL '\1aARGCHK 4>
+ <FRAME '\1aANA>
+ <NTHUV NOD4 5 = TEMP11 (TYPE LIST)>
+ <NTHL TEMP11 1 = STACK (TYPE NODE)>
+ <PUSH 'ANY>
+ <CALL '\1aANA 2 = TEM6>
+ <PUTUV NOD4 1 20 (TYPE FIX)>
+ <FRAME '\1aISTYPE?>
+ <PUSH TEM6>
+ <CALL '\1aISTYPE? 1 = TEMP11>
+ <VEQUAL? TEMP11 'FALSE - PHRASE35>
+ <FRAME '\1aTYPE-OK?>
+ <PUSH 'BOOL-TRUE>
+ <PUSH RTYP5>
+ <CALL '\1aTYPE-OK? 2 = TEM6>
+ <JUMP + PHRASE41>
+PHRASE35
+ <FRAME '\1aTYPE-OK?>
+ <PUSH TEM6>
+ <PUSH 'FALSE>
+ <CALL '\1aTYPE-OK? 2 = TEMP11>
+ <TYPE? TEMP11 <TYPE-CODE FALSE> + PHRASE38>
+ <FRAME '\1aTYPE-OK?>
+ <PUSH 'BOOLEAN>
+ <PUSH RTYP5>
+ <CALL '\1aTYPE-OK? 2 = TEM6>
+ <JUMP + PHRASE41>
+PHRASE38
+ <FRAME '\1aTYPE-OK?>
+ <PUSH 'BOOL-FALSE>
+ <PUSH RTYP5>
+ <CALL '\1aTYPE-OK? 2 = TEM6>
+PHRASE41
+ <NTHR 'UNTRUTH 2 = TEMP11 (RECORD-TYPE ATOM) (TYPE LBIND)>
+ <NTHR TEMP11 1 = STR8 (RECORD-TYPE LBIND)>
+ <NTHR 'TRUTH 2 = TEMP11 (RECORD-TYPE ATOM) (TYPE LBIND)>
+ <NTHR TEMP11 1 = SUNT9 (RECORD-TYPE LBIND)>
+PHRASE31
+ <UNBIND TEMP14>
+ <DEAD TEMP14>
+ <ADJ -27>
+ <VEQUAL? TEMP11 0 + PHRASE48>
+ <DEAD TEMP11>
+ <SET TEMP11 0 (TYPE FIX)>
+ <SET TEMP14 STR8>
+ <DEAD STR8>
+ <LOOP (TEMP14 VALUE) (TEMP11 VALUE)>
+TAG50
+ <INTGO>
+ <EMPL? TEMP14 + TAG49>
+ <NTHL TEMP14 1 = STACK>
+ <RESTL TEMP14 1 = TEMP14 (TYPE LIST)>
+ <ADD TEMP11 1 = TEMP11 (TYPE FIX)>
+ <JUMP + TAG50>
+TAG49
+ <GEN-LVAL 'TRUTH = TEMP14>
+ <TYPE TEMP14 = STR8>
+ <AND STR8 7 = STR8>
+ <VEQUAL? STR8 1 + TAG55>
+ <DEAD STR8>
+ <LOOP (TEMP14 TYPE VALUE LENGTH) (TEMP11 VALUE)>
+TAG61
+ <INTGO>
+ <EMPTY? TEMP14 + TAG60>
+ <NTH1 TEMP14 = STACK>
+ <REST1 TEMP14 = TEMP14>
+ <ADD TEMP11 1 = TEMP11 (TYPE FIX)>
+ <JUMP + TAG61>
+TAG60
+ <LIST TEMP11 = TEMP14 (TYPE LIST)>
+ <DEAD TEMP11>
+ <JUMP + TAG57>
+TAG55
+ <LOOP>
+TAG58
+ <VEQUAL? TEMP11 0 + TAG57>
+ <POP = STR8>
+ <CONS STR8 TEMP14 = TEMP14 (TYPE LIST)>
+ <DEAD STR8>
+ <SUB TEMP11 1 = TEMP11 (TYPE FIX)>
+ <JUMP + TAG58>
+TAG57
+ <GEN-SET 'TRUTH TEMP14>
+ <DEAD TEMP14>
+ <SET TEMP14 0 (TYPE FIX)>
+ <SET STR8 SUNT9>
+ <DEAD SUNT9>
+ <LOOP (STR8 VALUE) (TEMP14 VALUE)>
+TAG66
+ <INTGO>
+ <EMPL? STR8 + TAG64>
+ <NTHL STR8 1 = STACK>
+ <RESTL STR8 1 = STR8 (TYPE LIST)>
+ <ADD TEMP14 1 = TEMP14 (TYPE FIX)>
+ <JUMP + TAG66>
+TAG64
+ <GEN-LVAL 'UNTRUTH = STR8>
+ <TYPE STR8 = TEMP11>
+ <AND TEMP11 7 = TEMP11>
+ <VEQUAL? TEMP11 1 + TAG71>
+ <DEAD TEMP11>
+ <LOOP (STR8 TYPE VALUE LENGTH) (TEMP14 VALUE)>
+TAG77
+ <INTGO>
+ <EMPTY? STR8 + TAG76>
+ <NTH1 STR8 = STACK>
+ <REST1 STR8 = STR8>
+ <ADD TEMP14 1 = TEMP14 (TYPE FIX)>
+ <JUMP + TAG77>
+TAG76
+ <LIST TEMP14 = STR8 (TYPE LIST)>
+ <DEAD TEMP14>
+ <JUMP + TAG73>
+TAG71
+ <LOOP>
+TAG74
+ <VEQUAL? TEMP14 0 + TAG73>
+ <POP = TEMP11>
+ <CONS TEMP11 STR8 = STR8 (TYPE LIST)>
+ <DEAD TEMP11>
+ <SUB TEMP14 1 = TEMP14 (TYPE FIX)>
+ <JUMP + TAG74>
+TAG73
+ <GEN-SET 'UNTRUTH STR8>
+ <DEAD STR8>
+PHRASE48
+ <RETURN TEM6>
+ <DEAD TEM6>
+ <END \1aNOT-ANA>
+" Analyze N==? and ==? usage. Complain if types differ such that
+ the args can never be ==?."
+
+#WORD *1401527076*
+<GFCN \1a==?-ANA ("VALUE" ANY NODE ANY) NOD4 RTYP5>
+ <TEMP K6:LIST TEMP3:LBIND TEMP16 TEMP19 KT9:LIST>
+ <INTGO>
+ <NTHUV NOD4 5 = K6 (TYPE LIST)>
+ <GETS 'BIND = TEMP3 (TYPE LBIND)>
+ <GEN-LVAL 'PRED = TEMP16>
+ <NTHUV NOD4 2 = TEMP19>
+ <EQUAL? TEMP16 TEMP19 + TAG15>
+ <DEAD TEMP16 TEMP19>
+ <SET TEMP16 %<> (TYPE FALSE)>
+ <JUMP + BOOL13>
+TAG15
+ <SET TEMP16 NOD4>
+BOOL13
+ <BBIND 'WHON 'NODE 'FIX TEMP16>
+ <DEAD TEMP16>
+ <BBIND 'WHO 'LIST 'FIX ()>
+ <BBIND 'GLN 'NODE 'FIX NOD4>
+ <BBIND 'GLE 'LIST 'FIX ()>
+ <FRAME '\1aSEGFLUSH>
+ <PUSH NOD4>
+ <PUSH RTYP5>
+ <CALL '\1aSEGFLUSH 2 = TEMP16>
+ <TYPE? TEMP16 <TYPE-CODE FALSE> - PHRASE53>
+ <EMPL? K6 + PHRASE24>
+ <RESTL K6 1 = TEMP19 (TYPE LIST)>
+ <EMPL? TEMP19 - PHRASE24>
+ <DEAD TEMP19>
+ <NTHUV NOD4 5 = TEMP19 (TYPE LIST)>
+ <NTHL TEMP19 1 = TEMP16 (TYPE NODE)>
+ <DEAD TEMP19>
+ <NTHUV TEMP16 1 = TEMP19 (TYPE FIX)>
+ <VEQUAL? TEMP19 6 - PHRASE24 (TYPE FIX)>
+ <DEAD TEMP19>
+ <NTHUV TEMP16 4 = TEMP19>
+ <EQUAL? TEMP19 'LENGTH - PHRASE24>
+ <DEAD TEMP19>
+ <NTHUV TEMP16 5 = KT9 (TYPE LIST)>
+ <DEAD TEMP16>
+ <EMPL? KT9 + PHRASE24>
+ <RESTL KT9 1 = TEMP19 (TYPE LIST)>
+ <EMPL? TEMP19 + PHRASE24>
+ <RESTL TEMP19 1 = TEMP19 (TYPE LIST)>
+ <EMPL? TEMP19 - PHRASE24>
+ <DEAD TEMP19>
+ <FRAME '\1aCOMPILE-WARNING>
+ <PUSH "Attempting to repair probable erroneous code:
+">
+ <PUSH NOD4>
+ <PUSH "
+replaced by">
+ <CALL '\1aCOMPILE-WARNING 3>
+ <RESTL KT9 1 = TEMP16 (TYPE LIST)>
+ <PUTREST K6 TEMP16>
+ <DEAD TEMP16>
+ <PUTREST KT9 ()>
+ <NTHL KT9 1 = TEMP16 (TYPE NODE)>
+ <DEAD KT9>
+ <PUTUV TEMP16 2 NOD4>
+ <DEAD TEMP16>
+ <FRAME '\1aNODE-COMPLAIN>
+ <PUSH NOD4>
+ <CALL '\1aNODE-COMPLAIN 1>
+ <FRAME '\1aCRLF>
+ <GEN-LVAL 'OUTCHAN = STACK>
+ <CALL '\1aCRLF 1>
+PHRASE24
+ <FRAME '\1aARGCHK>
+ <PUSH 2>
+ <LENL K6 = STACK (TYPE FIX)>
+ <PUSH '==?>
+ <PUSH NOD4>
+ <CALL '\1aARGCHK 4>
+ <FRAME '\1aANA>
+ <NTHL K6 1 = STACK (TYPE NODE)>
+ <PUSH 'ANY>
+ <CALL '\1aANA 2>
+ <FRAME '\1aANA>
+ <RESTL K6 1 = TEMP16 (TYPE LIST)>
+ <NTHL TEMP16 1 = STACK (TYPE NODE)>
+ <DEAD TEMP16>
+ <PUSH 'ANY>
+ <CALL '\1aANA 2>
+ <NTHL K6 1 = TEMP16 (TYPE NODE)>
+ <NTHUV TEMP16 1 = TEMP16 (TYPE FIX)>
+ <VEQUAL? TEMP16 2 - PHRASE38 (TYPE FIX)>
+ <DEAD TEMP16>
+ <RESTL K6 1 = TEMP16 (TYPE LIST)>
+ <NTHL TEMP16 1 = TEMP16 (TYPE NODE)>
+ <NTHUV TEMP16 1 = TEMP16 (TYPE FIX)>
+ <VEQUAL? TEMP16 2 - PHRASE38 (TYPE FIX)>
+ <DEAD TEMP16>
+ <NTHUV NOD4 4 = TEMP16>
+ <EQUAL? TEMP16 '==? - PHRASE41>
+ <DEAD TEMP16>
+ <NTHL K6 1 = TEMP16 (TYPE NODE)>
+ <NTHUV TEMP16 4 = TEMP16>
+ <RESTL K6 1 = TEMP19 (TYPE LIST)>
+ <DEAD K6>
+ <NTHL TEMP19 1 = TEMP19 (TYPE NODE)>
+ <NTHUV TEMP19 4 = TEMP19>
+ <EQUAL? TEMP16 TEMP19 - TAG42>
+ <DEAD TEMP16 TEMP19>
+ <SET TEMP19 'T (TYPE ATOM)>
+ <JUMP + TAG44>
+TAG42
+ <SET TEMP19 %<> (TYPE FALSE)>
+TAG44
+ <PUTUV NOD4 4 TEMP19>
+ <DEAD TEMP19>
+ <JUMP + PHRASE45>
+PHRASE41
+ <NTHL K6 1 = TEMP19 (TYPE NODE)>
+ <NTHUV TEMP19 4 = TEMP19>
+ <RESTL K6 1 = TEMP16 (TYPE LIST)>
+ <DEAD K6>
+ <NTHL TEMP16 1 = TEMP16 (TYPE NODE)>
+ <NTHUV TEMP16 4 = TEMP16>
+ <EQUAL? TEMP19 TEMP16 + TAG46>
+ <DEAD TEMP19 TEMP16>
+ <SET TEMP16 'T (TYPE ATOM)>
+ <JUMP + TAG47>
+TAG46
+ <SET TEMP16 %<> (TYPE FALSE)>
+TAG47
+ <PUTUV NOD4 4 TEMP16>
+ <DEAD TEMP16>
+PHRASE45
+ <PUTUV NOD4 5 () (TYPE LIST)>
+ <PUTUV NOD4 1 2 (TYPE FIX)>
+ <NTHUV NOD4 4 = TEMP16>
+ <DEAD NOD4>
+ <VEQUAL? TEMP16 0 + PHRASE49>
+ <DEAD TEMP16>
+ <FRAME '\1aTYPE-OK?>
+ <PUSH 'ATOM>
+ <PUSH RTYP5>
+ <DEAD RTYP5>
+ <CALL '\1aTYPE-OK? 2 = TEMP16>
+ <JUMP + PHRASE53>
+PHRASE49
+ <FRAME '\1aTYPE-OK?>
+ <PUSH 'FALSE>
+ <PUSH RTYP5>
+ <DEAD RTYP5>
+ <CALL '\1aTYPE-OK? 2 = TEMP16>
+ <JUMP + PHRASE53>
+PHRASE38
+ <PUTUV NOD4 1 23 (TYPE FIX)>
+ <FRAME '\1aISTYPE?>
+ <NTHL K6 1 = TEMP16 (TYPE NODE)>
+ <NTHUV TEMP16 3 = STACK>
+ <DEAD TEMP16>
+ <CALL '\1aISTYPE? 1 = TEMP16>
+ <VEQUAL? TEMP16 'FIX - PHRASE55>
+ <DEAD TEMP16>
+ <FRAME '\1aISTYPE?>
+ <RESTL K6 1 = TEMP16 (TYPE LIST)>
+ <NTHL TEMP16 1 = TEMP16 (TYPE NODE)>
+ <NTHUV TEMP16 3 = STACK>
+ <DEAD TEMP16>
+ <CALL '\1aISTYPE? 1 = TEMP16>
+ <VEQUAL? TEMP16 'FIX - PHRASE55>
+ <DEAD TEMP16>
+ <PUTUV NOD4 1 22 (TYPE FIX)>
+ <FRAME '\1aHACK-BOUNDS>
+ <NTHR 'WHO 2 = TEMP16 (RECORD-TYPE ATOM) (TYPE LBIND)>
+ <NTHR TEMP16 1 = STACK (RECORD-TYPE LBIND)>
+ <DEAD TEMP16>
+ <NTHR 'GLE 2 = TEMP16 (RECORD-TYPE ATOM) (TYPE LBIND)>
+ <NTHR TEMP16 1 = STACK (RECORD-TYPE LBIND)>
+ <DEAD TEMP16>
+ <PUSH NOD4>
+ <DEAD NOD4>
+ <PUSH K6>
+ <DEAD K6>
+ <CALL '\1aHACK-BOUNDS 4>
+PHRASE55
+ <FRAME '\1aTYPE-OK?>
+ <PUSH 'BOOLEAN>
+ <PUSH RTYP5>
+ <DEAD RTYP5>
+ <CALL '\1aTYPE-OK? 2 = TEMP16>
+PHRASE53
+ <UNBIND TEMP3>
+ <DEAD TEMP3>
+ <ADJ -36>
+ <RETURN TEMP16>
+ <DEAD TEMP16>
+ <END \1a==?-ANA>
+" Ananlyze TYPE? usage warn about any potential losers by using
+TYPE-OK?. "
+
+#WORD *23674654532*
+<GFCN \1aTYPE?-ANA ("VALUE" ANY NODE ANY) NOD4 RTYP5>
+ <TEMP K6 LN7 (ALLGOOD9 'T) TEMP3:LBIND (FTYP11:LIST ()) (FNOK12 %<>) TEMP18 TEMP21 FLG78 TEMP83>
+ <INTGO>
+ <NTHUV NOD4 5 = K6 (TYPE LIST)>
+ <LENL K6 = LN7 (TYPE FIX)>
+ <GETS 'BIND = TEMP3 (TYPE LBIND)>
+ <BBIND 'WHO 'LIST 'FIX ()>
+ <GEN-LVAL 'PRED = TEMP18>
+ <NTHUV NOD4 2 = TEMP21>
+ <EQUAL? TEMP18 TEMP21 + TAG17>
+ <DEAD TEMP18 TEMP21>
+ <SET TEMP18 %<> (TYPE FALSE)>
+ <JUMP + BOOL15>
+TAG17
+ <SET TEMP18 NOD4>
+BOOL15
+ <BBIND 'WHON <OR NODE FALSE> 'FIX TEMP18>
+ <DEAD TEMP18>
+ <FRAME '\1aSEGFLUSH>
+ <PUSH NOD4>
+ <PUSH RTYP5>
+ <CALL '\1aSEGFLUSH 2 = TEMP18>
+ <TYPE? TEMP18 <TYPE-CODE FALSE> + PHRASE23>
+ <DEAD TEMP18>
+ <FRAME '\1aTYPE-OK?>
+ <PUSH RTYP5>
+ <DEAD RTYP5>
+ <PUSH <OR ATOM FALSE>>
+ <CALL '\1aTYPE-OK? 2 = TEMP18>
+ <JUMP + PHRASE26>
+PHRASE23
+ <LESS? LN7 2 - PHRASE28 (TYPE FIX)>
+ <DEAD LN7>
+ <FRAME '\1aCOMPILE-ERROR>
+ <PUSH "Too few arguments to TYPE? ">
+ <PUSH NOD4>
+ <CALL '\1aCOMPILE-ERROR 2>
+PHRASE28
+ <FRAME '\1aEANA>
+ <NTHL K6 1 = STACK (TYPE NODE)>
+ <PUSH 'ANY>
+ <PUSH 'TYPE?>
+ <CALL '\1aEANA 3 = TEMP18>
+ <RESTL K6 1 = TEMP21 (TYPE LIST)>
+ <DEAD K6>
+ <LOOP>
+MAP32
+ <INTGO>
+ <EMPL? TEMP21 + MAPAP35>
+ <NTHL TEMP21 1 = K6>
+ <FRAME '\1aEANA>
+ <PUSH K6>
+ <PUSH 'ATOM>
+ <PUSH 'TYPE?>
+ <CALL '\1aEANA 3>
+ <NTHUV K6 1 = LN7 (TYPE FIX)>
+ <VEQUAL? LN7 2 + PHRASE48 (TYPE FIX)>
+ <DEAD LN7>
+ <SET ALLGOOD9 %<> (TYPE FALSE)>
+ <JUMP + BOOL54>
+PHRASE48
+ <FRAME '\1aISTYPE?>
+ <NTHUV K6 4 = STACK>
+ <CALL '\1aISTYPE? 1 = LN7>
+ <TYPE? LN7 <TYPE-CODE FALSE> - PHRASE51>
+ <DEAD LN7>
+ <FRAME '\1aCOMPILE-ERROR>
+ <PUSH "Argument to TYPE? not a type ">
+ <PUSH NOD4>
+ <CALL '\1aCOMPILE-ERROR 2>
+PHRASE51
+ <FRAME '\1aTYPE-OK?>
+ <NTHUV K6 4 = STACK>
+ <PUSH TEMP18>
+ <CALL '\1aTYPE-OK? 2 = LN7>
+ <TYPE? LN7 <TYPE-CODE FALSE> + BOOL54>
+ <DEAD LN7>
+ <NTHUV K6 4 = LN7>
+ <DEAD K6>
+ <CONS LN7 FTYP11 = FTYP11>
+ <DEAD LN7>
+BOOL54
+ <RESTL TEMP21 1 = TEMP21 (TYPE LIST)>
+ <JUMP + MAP32>
+MAPAP35
+ <VEQUAL? ALLGOOD9 0 + PHRASE57>
+ <EMPL? FTYP11 + PHRASE57 (TYPE LIST)>
+ <RESTL FTYP11 1 = TEMP21 (TYPE LIST)>
+ <EMPL? TEMP21 - PHRASE60 (TYPE LIST)>
+ <DEAD TEMP21>
+ <NTHL FTYP11 1 = LN7>
+ <JUMP + PHRASE61>
+PHRASE60
+ <CONS 'OR FTYP11 = TEMP21>
+ <CHTYPE TEMP21 <TYPE-CODE FORM> = LN7>
+ <DEAD TEMP21>
+PHRASE61
+ <PUTUV NOD4 1 24 (TYPE FIX)>
+ <DEAD NOD4>
+ <FRAME '\1aTYPE-OK?>
+ <FRAME '\1aFORM>
+ <PUSH 'NOT>
+ <PUSH LN7>
+ <CALL '\1aFORM 2 = STACK>
+ <PUSH TEMP18>
+ <DEAD TEMP18>
+ <CALL '\1aTYPE-OK? 2 = TEMP21>
+ <TYPE? TEMP21 <TYPE-CODE FALSE> - TAG62>
+ <DEAD TEMP21>
+ <SET FNOK12 'T (TYPE ATOM)>
+ <JUMP + TAG63>
+TAG62
+ <SET FNOK12 %<> (TYPE FALSE)>
+TAG63
+ <NTHR 'WHO 2 = TEMP21 (RECORD-TYPE ATOM) (TYPE LBIND)>
+ <NTHR TEMP21 1 = TEMP18 (RECORD-TYPE LBIND)>
+ <DEAD TEMP21>
+ <LOOP>
+MAP67
+ <INTGO>
+ <EMPL? TEMP18 + PHRASE95>
+ <NTHL TEMP18 1 = K6>
+ <NTHL K6 1 = FLG78>
+ <RESTL K6 1 = TEMP21 (TYPE LIST)>
+ <NTHL TEMP21 1 = TEMP21 (TYPE SYMTAB)>
+ <FRAME '\1aADD-TYPE-LIST>
+ <PUSH TEMP21>
+ <PUSH LN7>
+ <GEN-LVAL 'TRUTH = STACK>
+ <PUSH FLG78>
+ <RESTL K6 1 = TEMP83 (TYPE LIST)>
+ <RESTL TEMP83 1 = STACK (TYPE LIST)>
+ <DEAD TEMP83>
+ <CALL '\1aADD-TYPE-LIST 5 = TEMP83>
+ <GEN-SET 'TRUTH TEMP83>
+ <DEAD TEMP83>
+ <VEQUAL? FNOK12 0 - BOOL86>
+ <FRAME '\1aADD-TYPE-LIST>
+ <PUSH TEMP21>
+ <DEAD TEMP21>
+ <FRAME '\1aFORM>
+ <PUSH 'NOT>
+ <PUSH LN7>
+ <CALL '\1aFORM 2 = STACK>
+ <GEN-LVAL 'UNTRUTH = STACK>
+ <PUSH FLG78>
+ <DEAD FLG78>
+ <RESTL K6 1 = K6 (TYPE LIST)>
+ <RESTL K6 1 = STACK (TYPE LIST)>
+ <DEAD K6>
+ <CALL '\1aADD-TYPE-LIST 5 = K6>
+ <GEN-SET 'UNTRUTH K6>
+ <DEAD K6>
+BOOL86
+ <RESTL TEMP18 1 = TEMP18 (TYPE LIST)>
+ <JUMP + MAP67>
+PHRASE57
+ <VEQUAL? ALLGOOD9 0 + PHRASE94>
+ <PUTUV NOD4 1 24 (TYPE FIX)>
+ <DEAD NOD4>
+ <JUMP + PHRASE95>
+PHRASE94
+ <GEN-LVAL 'VERBOSE = TEMP18>
+ <TYPE? TEMP18 <TYPE-CODE FALSE> + BOOL96>
+ <DEAD TEMP18>
+ <FRAME '\1aADDVMESS>
+ <PUSH NOD4>
+ <CONS "Not open compiled." () = STACK>
+ <CALL '\1aADDVMESS 2>
+BOOL96
+ <PUTUV NOD4 1 52 (TYPE FIX)>
+ <DEAD NOD4>
+PHRASE95
+ <FRAME '\1aTYPE-OK?>
+ <VEQUAL? ALLGOOD9 0 - PHRASE102>
+ <DEAD ALLGOOD9>
+ <SET TEMP18 <OR FALSE ATOM> (TYPE FORM)>
+ <JUMP + PHRASE105>
+PHRASE102
+ <EMPL? FTYP11 - PHRASE103 (TYPE LIST)>
+ <DEAD FTYP11>
+ <SET TEMP18 'FALSE (TYPE ATOM)>
+ <JUMP + PHRASE105>
+PHRASE103
+ <VEQUAL? FNOK12 0 + PHRASE104>
+ <DEAD FNOK12>
+ <SET TEMP18 'ATOM (TYPE ATOM)>
+ <JUMP + PHRASE105>
+PHRASE104
+ <SET TEMP18 <OR FALSE ATOM> (TYPE FORM)>
+PHRASE105
+ <PUSH TEMP18>
+ <DEAD TEMP18>
+ <PUSH RTYP5>
+ <DEAD RTYP5>
+ <CALL '\1aTYPE-OK? 2 = TEMP18>
+PHRASE26
+ <UNBIND TEMP3>
+ <DEAD TEMP3>
+ <ADJ -18>
+ <RETURN TEMP18>
+ <DEAD TEMP18>
+ <END \1aTYPE?-ANA>
+#WORD *14540564730*
+<GFCN \1aVALID-TYPE?-ANA ("VALUE" ANY NODE ANY) N4 R5>
+ <TEMP K6:LIST LN7:FIX TEMP9>
+ <INTGO>
+ <NTHUV N4 5 = K6 (TYPE LIST)>
+ <LENL K6 = LN7 (TYPE FIX)>
+ <FRAME '\1aSEGFLUSH>
+ <PUSH N4>
+ <PUSH R5>
+ <CALL '\1aSEGFLUSH 2 = TEMP9>
+ <TYPE? TEMP9 <TYPE-CODE FALSE> - PHRASE11>
+ <FRAME '\1aARGCHK>
+ <PUSH 1>
+ <PUSH LN7>
+ <DEAD LN7>
+ <PUSH 'VALID-TYPE?>
+ <PUSH N4>
+ <CALL '\1aARGCHK 4>
+ <FRAME '\1aEANA>
+ <NTHL K6 1 = STACK (TYPE NODE)>
+ <DEAD K6>
+ <PUSH 'ATOM>
+ <PUSH 'VALID-TYPE?>
+ <CALL '\1aEANA 3>
+ <PUTUV N4 1 97 (TYPE FIX)>
+ <DEAD N4>
+ <FRAME '\1aTYPE-OK?>
+ <PUSH R5>
+ <DEAD R5>
+ <PUSH <OR FALSE TYPE-C>>
+ <CALL '\1aTYPE-OK? 2 = TEMP9>
+PHRASE11
+ <RETURN TEMP9>
+ <DEAD TEMP9>
+ <END \1aVALID-TYPE?-ANA>
+#WORD *7400517472*
+<GFCN \1aTYPE-C-ANA ("VALUE" ANY NODE ANY) N4 R5>
+ <TEMP K6:LIST LN7:FIX TEMP9>
+ <INTGO>
+ <NTHUV N4 5 = K6 (TYPE LIST)>
+ <LENL K6 = LN7 (TYPE FIX)>
+ <FRAME '\1aSEGFLUSH>
+ <PUSH N4>
+ <PUSH R5>
+ <CALL '\1aSEGFLUSH 2 = TEMP9>
+ <TYPE? TEMP9 <TYPE-CODE FALSE> - PHRASE11>
+ <FRAME '\1aARGCHK>
+ <PUSH LN7>
+ <PUSH (1 2)>
+ <PUSH 'VALID-TYPE?>
+ <PUSH N4>
+ <CALL '\1aARGCHK 4>
+ <FRAME '\1aEANA>
+ <NTHL K6 1 = STACK (TYPE NODE)>
+ <PUSH 'ATOM>
+ <PUSH 'TYPE-C>
+ <CALL '\1aEANA 3>
+ <VEQUAL? LN7 2 - PHRASE15 (TYPE FIX)>
+ <DEAD LN7>
+ <FRAME '\1aEANA>
+ <RESTL K6 1 = K6 (TYPE LIST)>
+ <NTHL K6 1 = STACK (TYPE NODE)>
+ <DEAD K6>
+ <PUSH 'ATOM>
+ <PUSH 'TYPE-C>
+ <CALL '\1aEANA 3>
+PHRASE15
+ <PUTUV N4 1 96 (TYPE FIX)>
+ <DEAD N4>
+ <FRAME '\1aTYPE-OK?>
+ <PUSH R5>
+ <DEAD R5>
+ <PUSH 'TYPE-C>
+ <CALL '\1aTYPE-OK? 2 = TEMP9>
+PHRASE11
+ <RETURN TEMP9>
+ <DEAD TEMP9>
+ <END \1aTYPE-C-ANA>
+#WORD *2555464510*
+<GFCN \1a=?-ANA ("VALUE" ANY NODE ANY) N4 R5>
+ <TEMP K6 LN7 TEMP13 N29:NODE>
+ <INTGO>
+ <NTHUV N4 5 = K6 (TYPE LIST)>
+ <LENL K6 = LN7 (TYPE FIX)>
+ <FRAME '\1aSEGFLUSH>
+ <PUSH N4>
+ <PUSH R5>
+ <CALL '\1aSEGFLUSH 2 = TEMP13>
+ <TYPE? TEMP13 <TYPE-CODE FALSE> - PHRASE31>
+ <FRAME '\1aARGCHK>
+ <PUSH LN7>
+ <DEAD LN7>
+ <PUSH 2>
+ <NTHUV N4 4 = STACK>
+ <PUSH N4>
+ <CALL '\1aARGCHK 4>
+ <FRAME '\1aEANA>
+ <NTHL K6 1 = LN7 (TYPE NODE)>
+ <PUSH LN7>
+ <PUSH 'ANY>
+ <NTHUV N4 4 = STACK>
+ <CALL '\1aEANA 3>
+ <FRAME '\1aEANA>
+ <RESTL K6 1 = TEMP13 (TYPE LIST)>
+ <NTHL TEMP13 1 = N29 (TYPE NODE)>
+ <DEAD TEMP13>
+ <PUSH N29>
+ <PUSH 'ANY>
+ <NTHUV N4 4 = STACK>
+ <CALL '\1aEANA 3>
+ <NTHUV LN7 1 = TEMP13 (TYPE FIX)>
+ <VEQUAL? TEMP13 2 - PHRASE21 (TYPE FIX)>
+ <DEAD TEMP13>
+ <RESTL K6 1 = TEMP13 (TYPE LIST)>
+ <NTHL TEMP13 1 = LN7 (TYPE NODE)>
+ <DEAD TEMP13>
+ <NTHL K6 1 = N29 (TYPE NODE)>
+ <DEAD K6>
+PHRASE21
+ <FRAME '\1aISTYPE?>
+ <NTHUV N29 3 = STACK>
+ <DEAD N29>
+ <CALL '\1aISTYPE? 1 = TEMP13>
+ <FRAME '\1aISTYPE?>
+ <NTHUV LN7 3 = STACK>
+ <DEAD LN7>
+ <CALL '\1aISTYPE? 1 = K6>
+ <VEQUAL? K6 'STRING + BOOL25>
+ <VEQUAL? TEMP13 'STRING - PHRASE24>
+BOOL25
+ <PUTUV N4 1 95 (TYPE FIX)>
+ <DEAD N4>
+ <FRAME '\1aTYPE-OK?>
+ <PUSH 'BOOLEAN>
+ <PUSH R5>
+ <DEAD R5>
+ <CALL '\1aTYPE-OK? 2 = TEMP13>
+ <RETURN TEMP13>
+ <DEAD TEMP13>
+PHRASE24
+ <TYPE? K6 <TYPE-CODE FALSE> + PHRASE28>
+ <TYPE? TEMP13 <TYPE-CODE FALSE> + PHRASE28>
+ <VEQUAL? K6 TEMP13 + PHRASE28>
+ <DEAD K6 TEMP13>
+ <FRAME '\1aTYPE-OK?>
+ <PUSH 'BOOL-FALSE>
+ <PUSH R5>
+ <DEAD R5>
+ <CALL '\1aTYPE-OK? 2 = TEMP13>
+ <RETURN TEMP13>
+ <DEAD TEMP13>
+PHRASE28
+ <FRAME '\1aTYPE-OK?>
+ <PUSH 'BOOLEAN>
+ <PUSH R5>
+ <DEAD R5>
+ <CALL '\1aTYPE-OK? 2 = TEMP13>
+PHRASE31
+ <RETURN TEMP13>
+ <DEAD TEMP13>
+ <END \1a=?-ANA>
+#WORD *21161013720*
+<GFCN \1aS=?-ANA ("VALUE" ANY NODE ANY) N4 R5>
+ <TEMP K6:LIST TEMP8>
+ <INTGO>
+ <NTHUV N4 5 = K6 (TYPE LIST)>
+ <FRAME '\1aSEGFLUSH>
+ <PUSH N4>
+ <PUSH R5>
+ <CALL '\1aSEGFLUSH 2 = TEMP8>
+ <TYPE? TEMP8 <TYPE-CODE FALSE> - PHRASE10>
+ <FRAME '\1aARGCHK>
+ <LENL K6 = STACK (TYPE FIX)>
+ <PUSH 2>
+ <NTHUV N4 4 = STACK>
+ <PUSH N4>
+ <CALL '\1aARGCHK 4>
+ <FRAME '\1aEANA>
+ <NTHL K6 1 = STACK (TYPE NODE)>
+ <PUSH 'STRING>
+ <PUSH 'S=?>
+ <CALL '\1aEANA 3>
+ <FRAME '\1aEANA>
+ <RESTL K6 1 = K6 (TYPE LIST)>
+ <NTHL K6 1 = STACK (TYPE NODE)>
+ <DEAD K6>
+ <PUSH 'STRING>
+ <PUSH 'S=?>
+ <CALL '\1aEANA 3>
+ <PUTUV N4 1 95 (TYPE FIX)>
+ <DEAD N4>
+ <FRAME '\1aTYPE-OK?>
+ <PUSH 'BOOLEAN>
+ <PUSH R5>
+ <DEAD R5>
+ <CALL '\1aTYPE-OK? 2 = TEMP8>
+PHRASE10
+ <RETURN TEMP8>
+ <DEAD TEMP8>
+ <END \1aS=?-ANA>
+#WORD *13713777251*
+<GFCN \1aATOM-PART-ANA ("VALUE" ANY NODE ANY) N4 R5>
+ <TEMP K6 NM7:ATOM TEMP10 NN8:NODE>
+ <INTGO>
+ <NTHUV N4 5 = K6 (TYPE LIST)>
+ <NTHUV N4 4 = NM7 (TYPE ATOM)>
+ <FRAME '\1aSEGFLUSH>
+ <PUSH N4>
+ <PUSH R5>
+ <CALL '\1aSEGFLUSH 2 = TEMP10>
+ <TYPE? TEMP10 <TYPE-CODE FALSE> - PHRASE30>
+ <FRAME '\1aARGCHK>
+ <LENL K6 = STACK (TYPE FIX)>
+ <VEQUAL? NM7 'GBIND + BOOL16>
+ <VEQUAL? NM7 'LBIND - PHRASE15>
+BOOL16
+ <SET TEMP10 (1 2) (TYPE LIST)>
+ <JUMP + PHRASE18>
+PHRASE15
+ <SET TEMP10 1 (TYPE FIX)>
+PHRASE18
+ <PUSH TEMP10>
+ <DEAD TEMP10>
+ <PUSH NM7>
+ <PUSH N4>
+ <CALL '\1aARGCHK 4>
+ <FRAME '\1aEANA>
+ <NTHL K6 1 = STACK (TYPE NODE)>
+ <PUSH 'ATOM>
+ <PUSH NM7>
+ <CALL '\1aEANA 3>
+ <RESTL K6 1 = TEMP10 (TYPE LIST)>
+ <EMPL? TEMP10 + PHRASE21 (TYPE LIST)>
+ <DEAD TEMP10>
+ <FRAME '\1aEANA>
+ <RESTL K6 1 = TEMP10 (TYPE LIST)>
+ <NTHL TEMP10 1 = NN8 (TYPE NODE)>
+ <DEAD TEMP10>
+ <PUSH NN8>
+ <PUSH 'ANY>
+ <PUSH NM7>
+ <CALL '\1aEANA 3>
+PHRASE21
+ <NTHL K6 1 = TEMP10 (TYPE NODE)>
+ <NTHUV TEMP10 1 = TEMP10 (TYPE FIX)>
+ <VEQUAL? TEMP10 2 - PHRASE24 (TYPE FIX)>
+ <DEAD TEMP10>
+ <VEQUAL? NM7 'LBIND + PHRASE24>
+ <VEQUAL? NM7 'GBIND + PHRASE24>
+ <PUTUV N4 1 2 (TYPE FIX)>
+ <PUTUV N4 5 () (TYPE LIST)>
+ <FRAME>
+ <GVAL NM7 = TEMP10>
+ <DEAD NM7>
+ <NTHL K6 1 = K6 (TYPE NODE)>
+ <NTHUV K6 4 = STACK>
+ <DEAD K6>
+ <ACALL TEMP10 1 = K6>
+ <DEAD TEMP10>
+ <PUTUV N4 4 K6>
+ <DEAD K6>
+ <FRAME '\1aTYPE-OK?>
+ <FRAME '\1aTYPE>
+ <NTHUV N4 4 = STACK>
+ <DEAD N4>
+ <CALL '\1aTYPE 1 = STACK>
+ <PUSH R5>
+ <DEAD R5>
+ <CALL '\1aTYPE-OK? 2 = TEMP10>
+ <RETURN TEMP10>
+ <DEAD TEMP10>
+PHRASE24
+ <VEQUAL? NM7 'GBIND + BOOL34>
+ <VEQUAL? NM7 'LBIND - BOOL33>
+BOOL34
+ <RESTL K6 1 = K6 (TYPE LIST)>
+ <EMPL? K6 + BOOL33 (TYPE LIST)>
+ <DEAD K6>
+ <NTHUV NN8 1 = K6 (TYPE FIX)>
+ <VEQUAL? K6 2 - PHRASE32 (TYPE FIX)>
+ <DEAD K6>
+ <NTHUV NN8 4 = K6>
+ <DEAD NN8>
+ <TYPE? K6 <TYPE-CODE FALSE> - PHRASE32>
+ <DEAD K6>
+BOOL33
+ <PUTUV N4 1 100 (TYPE FIX)>
+ <DEAD N4>
+PHRASE32
+ <FRAME '\1aTYPE-OK?>
+ <PUSH R5>
+ <DEAD R5>
+ <VEQUAL? NM7 'SPNAME - PHRASE38>
+ <SET K6 'STRING (TYPE ATOM)>
+ <JUMP + PHRASE40>
+PHRASE38
+ <VEQUAL? NM7 'OBLIST? - PHRASE39>
+ <SET K6 <OR FALSE OBLIST> (TYPE FORM)>
+ <JUMP + PHRASE40>
+PHRASE39
+ <SET K6 NM7>
+ <DEAD NM7>
+PHRASE40
+ <PUSH K6>
+ <DEAD K6>
+ <CALL '\1aTYPE-OK? 2 = TEMP10>
+PHRASE30
+ <RETURN TEMP10>
+ <DEAD TEMP10>
+ <END \1aATOM-PART-ANA>
+#WORD *15512442764*
+<GFCN \1aPUT-GET-DECL-ANA ("VALUE" ANY NODE ANY) N4 R5>
+ <TEMP K6 NM7:ATOM TEMP10 ST8 TEMP25:FIX TEMP31>
+ <INTGO>
+ <NTHUV N4 5 = K6 (TYPE LIST)>
+ <NTHUV N4 4 = NM7 (TYPE ATOM)>
+ <FRAME '\1aSEGFLUSH>
+ <PUSH N4>
+ <PUSH R5>
+ <CALL '\1aSEGFLUSH 2 = TEMP10>
+ <TYPE? TEMP10 <TYPE-CODE FALSE> - PHRASE40>
+ <FRAME '\1aARGCHK>
+ <LENL K6 = STACK (TYPE FIX)>
+ <VEQUAL? NM7 'PUT-DECL - PHRASE15>
+ <SET TEMP10 2 (TYPE FIX)>
+ <JUMP + PHRASE17>
+PHRASE15
+ <SET TEMP10 1 (TYPE FIX)>
+PHRASE17
+ <PUSH TEMP10>
+ <DEAD TEMP10>
+ <PUSH NM7>
+ <PUSH N4>
+ <CALL '\1aARGCHK 4>
+ <FRAME '\1aEANA>
+ <NTHL K6 1 = STACK (TYPE NODE)>
+ <PUSH <OR ATOM OFFSET GBIND LBIND>>
+ <PUSH NM7>
+ <CALL '\1aEANA 3 = ST8>
+ <VEQUAL? NM7 'PUT-DECL - PHRASE20>
+ <FRAME '\1aTYPE-AND>
+ <PUSH ST8>
+ <PUSH R5>
+ <CALL '\1aTYPE-AND 2 = TEMP10>
+ <TYPE? TEMP10 <TYPE-CODE FALSE> - BOOL21>
+ <SET TEMP10 ST8>
+ <DEAD ST8>
+BOOL21
+ <SET ST8 TEMP10>
+ <DEAD TEMP10>
+ <FRAME '\1aEANA>
+ <RESTL K6 1 = TEMP10 (TYPE LIST)>
+ <NTHL TEMP10 1 = STACK (TYPE NODE)>
+ <DEAD TEMP10>
+ <PUSH <OR ATOM FALSE FORM SEGMENT>>
+ <PUSH NM7>
+ <CALL '\1aEANA 3>
+ <PUSH N4>
+ <SET TEMP25 1 (TYPE FIX)>
+ <NTHUV N4 8 = TEMP10>
+ <TYPE TEMP10 = TEMP31>
+ <AND TEMP31 7 = TEMP31>
+ <VEQUAL? TEMP31 1 + TAG27>
+ <DEAD TEMP31>
+ <LOOP (TEMP10 TYPE VALUE LENGTH) (TEMP25 VALUE)>
+TAG33
+ <INTGO>
+ <EMPTY? TEMP10 + TAG32>
+ <NTH1 TEMP10 = STACK>
+ <REST1 TEMP10 = TEMP10>
+ <ADD TEMP25 1 = TEMP25 (TYPE FIX)>
+ <JUMP + TAG33>
+TAG32
+ <LIST TEMP25 = TEMP10 (TYPE LIST)>
+ <DEAD TEMP25>
+ <JUMP + TAG29>
+TAG27
+ <LOOP>
+TAG30
+ <VEQUAL? TEMP25 0 + TAG29>
+ <POP = TEMP31>
+ <CONS TEMP31 TEMP10 = TEMP10 (TYPE LIST)>
+ <DEAD TEMP31>
+ <SUB TEMP25 1 = TEMP25 (TYPE FIX)>
+ <JUMP + TAG30>
+TAG29
+ <PUTUV N4 8 TEMP10>
+ <DEAD TEMP10>
+PHRASE20
+ <NTHL K6 1 = TEMP10 (TYPE NODE)>
+ <NTHUV TEMP10 1 = TEMP10 (TYPE FIX)>
+ <VEQUAL? TEMP10 2 - PHRASE35 (TYPE FIX)>
+ <DEAD TEMP10>
+ <VEQUAL? NM7 'GET-DECL - PHRASE35>
+ <PUTUV N4 1 2 (TYPE FIX)>
+ <PUTUV N4 5 () (TYPE LIST)>
+ <FRAME '\1aGET-DECL>
+ <NTHL K6 1 = TEMP10 (TYPE NODE)>
+ <DEAD K6>
+ <NTHUV TEMP10 4 = STACK>
+ <DEAD TEMP10>
+ <CALL '\1aGET-DECL 1 = TEMP10>
+ <PUTUV N4 4 TEMP10>
+ <DEAD TEMP10>
+ <FRAME '\1aTYPE-OK?>
+ <FRAME '\1aTYPE>
+ <NTHUV N4 4 = STACK>
+ <DEAD N4>
+ <CALL '\1aTYPE 1 = STACK>
+ <PUSH R5>
+ <DEAD R5>
+ <CALL '\1aTYPE-OK? 2 = TEMP10>
+ <RETURN TEMP10>
+ <DEAD TEMP10>
+PHRASE35
+ <FRAME '\1aISTYPE?>
+ <PUSH ST8>
+ <CALL '\1aISTYPE? 1 = TEMP10>
+ <SET TEMP31 [LBIND GBIND OFFSET] (TYPE VECTOR)>
+ <TYPE? TEMP10 <TYPE-CODE ATOM> - PHRASE42>
+ <LOOP (TEMP10 VALUE) (TEMP31 LENGTH VALUE)>
+TAG44
+ <NTHUV TEMP31 1 = K6>
+ <VEQUAL? K6 TEMP10 + TAG43>
+ <DEAD K6>
+ <RESTUV TEMP31 1 = TEMP31 (TYPE VECTOR)>
+ <EMPUV? TEMP31 - TAG44>
+ <JUMP + PHRASE42>
+TAG43
+ <PUTUV N4 1 102 (TYPE FIX)>
+ <DEAD N4>
+ <JUMP + PHRASE48>
+PHRASE42
+ <GEN-LVAL 'VERBOSE = TEMP31>
+ <TYPE? TEMP31 <TYPE-CODE FALSE> + PHRASE48>
+ <DEAD TEMP31>
+ <FRAME '\1aADDVMESS>
+ <PUSH N4>
+ <DEAD N4>
+ <CONS ST8 () = TEMP31>
+ <CONS "Not open compiled because type is " TEMP31 = TEMP31>
+ <CONS NM7 TEMP31 = STACK>
+ <DEAD TEMP31>
+ <CALL '\1aADDVMESS 2>
+PHRASE48
+ <FRAME '\1aTYPE-OK?>
+ <VEQUAL? NM7 'GET-DECL - PHRASE54>
+ <DEAD NM7>
+ <SET TEMP31 <OR ATOM FALSE FORM SEGMENT> (TYPE FORM)>
+ <JUMP + PHRASE55>
+PHRASE54
+ <SET TEMP31 ST8>
+ <DEAD ST8>
+PHRASE55
+ <PUSH TEMP31>
+ <DEAD TEMP31>
+ <PUSH R5>
+ <DEAD R5>
+ <CALL '\1aTYPE-OK? 2 = TEMP10>
+PHRASE40
+ <RETURN TEMP10>
+ <DEAD TEMP10>
+ <END \1aPUT-GET-DECL-ANA>
+#WORD *1530543267*
+<GFCN \1aOFFSET-PART-ANA ("VALUE" ANY NODE ANY) N4 R5>
+ <TEMP K6 NM7:ATOM TEMP9>
+ <INTGO>
+ <NTHUV N4 5 = K6 (TYPE LIST)>
+ <NTHUV N4 4 = NM7 (TYPE ATOM)>
+ <FRAME '\1aSEGFLUSH>
+ <PUSH N4>
+ <PUSH R5>
+ <CALL '\1aSEGFLUSH 2 = TEMP9>
+ <TYPE? TEMP9 <TYPE-CODE FALSE> - PHRASE28>
+ <FRAME '\1aARGCHK>
+ <LENL K6 = STACK (TYPE FIX)>
+ <VEQUAL? NM7 'INDEX - PHRASE14>
+ <SET TEMP9 1 (TYPE FIX)>
+ <JUMP + PHRASE16>
+PHRASE14
+ <SET TEMP9 (1 2) (TYPE LIST)>
+PHRASE16
+ <PUSH TEMP9>
+ <DEAD TEMP9>
+ <PUSH NM7>
+ <PUSH N4>
+ <CALL '\1aARGCHK 4>
+ <FRAME '\1aEANA>
+ <NTHL K6 1 = STACK (TYPE NODE)>
+ <PUSH 'OFFSET>
+ <PUSH NM7>
+ <CALL '\1aEANA 3>
+ <RESTL K6 1 = TEMP9 (TYPE LIST)>
+ <EMPL? TEMP9 + PHRASE19 (TYPE LIST)>
+ <DEAD TEMP9>
+ <FRAME '\1aEANA>
+ <RESTL K6 1 = TEMP9 (TYPE LIST)>
+ <NTHL TEMP9 1 = STACK (TYPE NODE)>
+ <DEAD TEMP9>
+ <PUSH <OR ATOM FALSE FORM SEGMENT>>
+ <PUSH NM7>
+ <CALL '\1aEANA 3>
+PHRASE19
+ <NTHL K6 1 = TEMP9 (TYPE NODE)>
+ <NTHUV TEMP9 1 = TEMP9 (TYPE FIX)>
+ <VEQUAL? TEMP9 2 - PHRASE22 (TYPE FIX)>
+ <DEAD TEMP9>
+ <RESTL K6 1 = TEMP9 (TYPE LIST)>
+ <EMPL? TEMP9 - PHRASE22 (TYPE LIST)>
+ <DEAD TEMP9>
+ <PUTUV N4 1 2 (TYPE FIX)>
+ <PUTUV N4 5 () (TYPE LIST)>
+ <FRAME>
+ <GVAL NM7 = TEMP9>
+ <DEAD NM7>
+ <NTHL K6 1 = K6 (TYPE NODE)>
+ <NTHUV K6 4 = STACK>
+ <DEAD K6>
+ <ACALL TEMP9 1 = K6>
+ <DEAD TEMP9>
+ <PUTUV N4 4 K6>
+ <DEAD K6>
+ <FRAME '\1aTYPE-OK?>
+ <FRAME '\1aTYPE>
+ <NTHUV N4 4 = STACK>
+ <DEAD N4>
+ <CALL '\1aTYPE 1 = STACK>
+ <PUSH R5>
+ <DEAD R5>
+ <CALL '\1aTYPE-OK? 2 = TEMP9>
+ <RETURN TEMP9>
+ <DEAD TEMP9>
+PHRASE22
+ <PUTUV N4 1 101 (TYPE FIX)>
+ <DEAD N4>
+ <FRAME '\1aTYPE-OK?>
+ <PUSH R5>
+ <DEAD R5>
+ <VEQUAL? NM7 'INDEX - PHRASE31>
+ <DEAD NM7>
+ <SET K6 'FIX (TYPE ATOM)>
+ <JUMP + PHRASE33>
+PHRASE31
+ <RESTL K6 1 = TEMP9 (TYPE LIST)>
+ <DEAD K6>
+ <EMPL? TEMP9 + PHRASE32 (TYPE LIST)>
+ <DEAD TEMP9>
+ <SET K6 'OFFSET (TYPE ATOM)>
+ <JUMP + PHRASE33>
+PHRASE32
+ <SET K6 <OR ATOM FALSE FORM SEGMENT> (TYPE FORM)>
+PHRASE33
+ <PUSH K6>
+ <DEAD K6>
+ <CALL '\1aTYPE-OK? 2 = TEMP9>
+PHRASE28
+ <RETURN TEMP9>
+ <DEAD TEMP9>
+ <END \1aOFFSET-PART-ANA>
+#WORD *33723345361*
+ <GFCN \1aSTRCOMP-ANA ("VALUE" ANY NODE ANY) N4 R5>
+ <TEMP K6:LIST TEMP8>
+ <INTGO>
+ <NTHUV N4 5 = K6 (TYPE LIST)>
+ <FRAME '\1aSEGFLUSH>
+ <PUSH N4>
+ <PUSH R5>
+ <CALL '\1aSEGFLUSH 2 = TEMP8>
+ <TYPE? TEMP8 <TYPE-CODE FALSE> - PHRASE10>
+ <FRAME '\1aARGCHK>
+ <LENL K6 = STACK (TYPE FIX)>
+ <PUSH 2>
+ <NTHUV N4 4 = STACK>
+ <PUSH N4>
+ <CALL '\1aARGCHK 4>
+ <FRAME '\1aSTRCOMP-ARG-ANA>
+ <NTHL K6 1 = STACK (TYPE NODE)>
+ <PUSH N4>
+ <PUSH 1>
+ <CALL '\1aSTRCOMP-ARG-ANA 3 = TEMP8>
+ <TYPE? TEMP8 <TYPE-CODE FALSE> + PHRASE13>
+ <DEAD TEMP8>
+ <FRAME '\1aSTRCOMP-ARG-ANA>
+ <RESTL K6 1 = TEMP8 (TYPE LIST)>
+ <DEAD K6>
+ <NTHL TEMP8 1 = STACK (TYPE NODE)>
+ <DEAD TEMP8>
+ <PUSH N4>
+ <PUSH 2>
+ <CALL '\1aSTRCOMP-ARG-ANA 3 = TEMP8>
+ <TYPE? TEMP8 <TYPE-CODE FALSE> + PHRASE13>
+ <DEAD TEMP8>
+ <PUTUV N4 1 95 (TYPE FIX)>
+ <DEAD N4>
+PHRASE13
+ <FRAME '\1aTYPE-OK?>
+ <PUSH 'FIX>
+ <PUSH R5>
+ <DEAD R5>
+ <CALL '\1aTYPE-OK? 2 = TEMP8>
+PHRASE10
+ <RETURN TEMP8>
+ <DEAD TEMP8>
+ <END \1aSTRCOMP-ANA>
+
+#WORD *37573707570*
+ <GFCN \1aSTRCOMP-ARG-ANA ("VALUE" ANY NODE NODE FIX) N4 P5 IDX6>
+ <TEMP TYP7 ITYP8 NN9:NODE>
+ <INTGO>
+ <FRAME '\1aEANA>
+ <PUSH N4>
+ <PUSH 'ANY>
+ <PUSH 'STRCOMP>
+ <CALL '\1aEANA 3 = TYP7>
+ <FRAME '\1aISTYPE?>
+ <PUSH TYP7>
+ <CALL '\1aISTYPE? 1 = ITYP8>
+ <TYPE? ITYP8 <TYPE-CODE FALSE> + PHRASE12>
+ <VEQUAL? ITYP8 'ATOM - PHRASE19>
+ <DEAD ITYP8>
+ <NTHUV N4 1 = TYP7 (TYPE FIX)>
+ <VEQUAL? TYP7 2 - PHRASE17 (TYPE FIX)>
+ <DEAD TYP7>
+ <NTHUV N4 4 = TYP7 (TYPE ATOM)>
+ <NTHR TYP7 3 = TYP7 (RECORD-TYPE ATOM)>
+ <PUTUV N4 4 TYP7>
+ <DEAD TYP7>
+ <PUTUV N4 3 'STRING>
+ <DEAD N4>
+ <RETURN 'T>
+PHRASE17
+ <FRAME '\1aNODEFM>
+ <PUSH 100>
+ <PUSH P5>
+ <PUSH 'STRING>
+ <PUSH 'SPNAME>
+ <CONS N4 () = STACK>
+ <GVAL 'SPNAME = STACK>
+ <CALL '\1aNODEFM 6 = NN9>
+ <NTHUV P5 5 = TYP7 (TYPE LIST)>
+ <DEAD P5>
+ <GRTR? IDX6 0 - COMPERR (TYPE FIX)>
+ <SET ITYP8 IDX6>
+ <DEAD IDX6>
+ <SUB ITYP8 1 = ITYP8 (TYPE FIX)>
+ <GRTR? ITYP8 0 - RESTL23 (TYPE FIX)>
+ <LOOP (TYP7 VALUE) (ITYP8 VALUE)>
+RESTL22
+ <INTGO>
+ <EMPL? TYP7 + COMPERR>
+ <RESTL TYP7 1 = TYP7 (TYPE LIST)>
+ <SUB ITYP8 1 = ITYP8 (TYPE FIX)>
+ <GRTR? ITYP8 0 + RESTL22 (TYPE FIX)>
+RESTL23
+ <EMPL? TYP7 + COMPERR>
+ <PUTL TYP7 1 NN9>
+ <DEAD TYP7>
+ <PUTUV N4 2 NN9>
+ <DEAD N4 NN9>
+PHRASE19
+ <RETURN 'T>
+PHRASE12
+ <FRAME '\1a=?>
+ <PUSH TYP7>
+ <PUSH <OR ATOM STRING>>
+ <CALL '\1a=? 2 = ITYP8>
+ <VEQUAL? ITYP8 0 + PHRASE24>
+ <DEAD ITYP8>
+ <RETURN 'T>
+PHRASE24
+ <FRAME '\1aTYPE-OK?>
+ <PUSH TYP7>
+ <DEAD TYP7>
+ <PUSH <OR ATOM STRING>>
+ <CALL '\1aTYPE-OK? 2 = ITYP8>
+ <TYPE? ITYP8 <TYPE-CODE FALSE> - PHRASE26>
+ <DEAD ITYP8>
+ <FRAME '\1aCOMPILE-ERROR>
+ <PUSH "Argument wrong type to: ">
+ <PUSH 'STRCOMP>
+ <PUSH P5>
+ <DEAD P5>
+ <CALL '\1aCOMPILE-ERROR 3 = TYP7>
+ <RETURN TYP7>
+ <DEAD TYP7>
+PHRASE26
+ <RETURN %<>>
+ <END \1aSTRCOMP-ARG-ANA>
+
+#WORD *1131001456*
+<GFCN \1aSUBSTRUC-ANA ("VALUE" ANY NODE ANY) N4 R5>
+ <TEMP K6 LN7 TEMP10 TEMP20>
+ <INTGO>
+ <NTHUV N4 5 = K6 (TYPE LIST)>
+ <LENL K6 = LN7 (TYPE FIX)>
+ <FRAME '\1aSEGFLUSH>
+ <PUSH N4>
+ <PUSH R5>
+ <CALL '\1aSEGFLUSH 2 = TEMP10>
+ <TYPE? TEMP10 <TYPE-CODE FALSE> - PHRASE12>
+ <FRAME '\1aARGCHK>
+ <PUSH LN7>
+ <PUSH (1 4)>
+ <NTHUV N4 4 = STACK>
+ <PUSH N4>
+ <CALL '\1aARGCHK 4>
+ <FRAME '\1aEANA>
+ <NTHL K6 1 = STACK (TYPE NODE)>
+ <PUSH 'STRUCTURED>
+ <PUSH 'SUBSTRUC>
+ <CALL '\1aEANA 3 = TEMP10>
+ <GRTR? LN7 1 - PHRASE16 (TYPE FIX)>
+ <FRAME '\1aEANA>
+ <RESTL K6 1 = TEMP20 (TYPE LIST)>
+ <NTHL TEMP20 1 = STACK (TYPE NODE)>
+ <DEAD TEMP20>
+ <PUSH 'FIX>
+ <PUSH 'SUBSTRUC>
+ <CALL '\1aEANA 3>
+PHRASE16
+ <GRTR? LN7 2 - PHRASE22 (TYPE FIX)>
+ <FRAME '\1aEANA>
+ <RESTL K6 1 = TEMP20 (TYPE LIST)>
+ <RESTL TEMP20 1 = TEMP20 (TYPE LIST)>
+ <NTHL TEMP20 1 = STACK (TYPE NODE)>
+ <DEAD TEMP20>
+ <PUSH 'FIX>
+ <PUSH 'SUBSTRUC>
+ <CALL '\1aEANA 3>
+PHRASE22
+ <GRTR? LN7 3 - PHRASE25 (TYPE FIX)>
+ <DEAD LN7>
+ <FRAME '\1aSTRUCTYP>
+ <PUSH TEMP10>
+ <DEAD TEMP10>
+ <CALL '\1aSTRUCTYP 1 = TEMP10>
+ <FRAME '\1aEANA>
+ <RESTL K6 1 = TEMP20 (TYPE LIST)>
+ <DEAD K6>
+ <RESTL TEMP20 1 = TEMP20 (TYPE LIST)>
+ <RESTL TEMP20 1 = TEMP20 (TYPE LIST)>
+ <NTHL TEMP20 1 = STACK (TYPE NODE)>
+ <DEAD TEMP20>
+ <TYPE? TEMP10 <TYPE-CODE FALSE> + PHRASE29>
+ <FRAME '\1aFORM>
+ <PUSH 'PRIMTYPE>
+ <PUSH TEMP10>
+ <DEAD TEMP10>
+ <CALL '\1aFORM 2 = TEMP20>
+ <JUMP + PHRASE31>
+PHRASE29
+ <SET TEMP20 'STRUCTURED (TYPE ATOM)>
+PHRASE31
+ <PUSH TEMP20>
+ <DEAD TEMP20>
+ <PUSH 'SUBSTRUC>
+ <CALL '\1aEANA 3 = TEMP10>
+ <PUSH N4>
+ <SET LN7 1 (TYPE FIX)>
+ <NTHUV N4 8 = TEMP20>
+ <TYPE TEMP20 = K6>
+ <AND K6 7 = K6>
+ <VEQUAL? K6 1 + TAG35>
+ <DEAD K6>
+ <LOOP (TEMP20 TYPE VALUE LENGTH) (LN7 VALUE)>
+TAG41
+ <INTGO>
+ <EMPTY? TEMP20 + TAG40>
+ <NTH1 TEMP20 = STACK>
+ <REST1 TEMP20 = TEMP20>
+ <ADD LN7 1 = LN7 (TYPE FIX)>
+ <JUMP + TAG41>
+TAG40
+ <LIST LN7 = TEMP20 (TYPE LIST)>
+ <DEAD LN7>
+ <JUMP + TAG37>
+TAG35
+ <LOOP>
+TAG38
+ <VEQUAL? LN7 0 + TAG37>
+ <POP = K6>
+ <CONS K6 TEMP20 = TEMP20 (TYPE LIST)>
+ <DEAD K6>
+ <SUB LN7 1 = LN7 (TYPE FIX)>
+ <JUMP + TAG38>
+TAG37
+ <PUTUV N4 8 TEMP20>
+ <DEAD TEMP20>
+PHRASE25
+ <FRAME '\1aSTRUCTYP>
+ <PUSH TEMP10>
+ <CALL '\1aSTRUCTYP 1 = TEMP20>
+ <SET K6 [STRING VECTOR UVECTOR BYTES] (TYPE VECTOR)>
+ <TYPE? TEMP20 <TYPE-CODE ATOM> - PHRASE43>
+ <LOOP (TEMP20 VALUE) (K6 LENGTH VALUE)>
+TAG45
+ <NTHUV K6 1 = LN7>
+ <VEQUAL? LN7 TEMP20 + TAG44>
+ <DEAD LN7>
+ <RESTUV K6 1 = K6 (TYPE VECTOR)>
+ <EMPUV? K6 - TAG45>
+ <JUMP + PHRASE43>
+TAG44
+ <PUTUV N4 1 81 (TYPE FIX)>
+ <DEAD N4>
+PHRASE43
+ <FRAME '\1aTYPE-OK?>
+ <FRAME '\1aSTRUCTYP>
+ <PUSH TEMP10>
+ <DEAD TEMP10>
+ <CALL '\1aSTRUCTYP 1 = STACK>
+ <PUSH R5>
+ <DEAD R5>
+ <CALL '\1aTYPE-OK? 2 = TEMP10>
+PHRASE12
+ <RETURN TEMP10>
+ <DEAD TEMP10>
+ <END \1aSUBSTRUC-ANA>\r\r
+<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>)>
+
+<ENDPACKAGE>
\ No newline at end of file