Machine-Independent MDL for TOPS-20 and VAX.
[pdp10-muddle.git] / mim / development / mim / vaxc / crecord.mima
diff --git a/mim/development/mim/vaxc/crecord.mima b/mim/development/mim/vaxc/crecord.mima
new file mode 100644 (file)
index 0000000..fbe23b1
--- /dev/null
@@ -0,0 +1,558 @@
+
+#WORD *35254067162*
+                   <GFCN \1aINIT-RECORD-DEFS ("VALUE" <LIST [REST RECORD-DESCRIPTOR]>)>
+                   <TEMP>
+                   <INTGO>
+                   <SETG 'RECORD-TABLE ()>
+                   <RETURN ()>
+                   <END \1aINIT-RECORD-DEFS>
+
+#WORD *12453261556*
+                   <GFCN \1aDEFINE-RECORD ("VALUE" <LIST [REST RECORD-DESCRIPTOR]> ANY ANY "TUPLE" ANY) TYP4 STACK5>
+                   <MAKTUP ELEMENTS6 TEMP11 = ELEMENTS6>
+                   <INTGO>
+                   <SET TEMP11 0 (TYPE FIX)>
+                   <LOOP (ELEMENTS6 VALUE LENGTH) (TEMP11 VALUE)>
+TAG12
+                   <INTGO>
+                   <EMPUV? ELEMENTS6 + TAG9>
+                   <NTHUV ELEMENTS6 1 = STACK>
+                   <RESTUV ELEMENTS6 1 = ELEMENTS6 (TYPE VECTOR)>
+                   <ADD TEMP11 1 = TEMP11 (TYPE FIX)>
+                   <JUMP + TAG12>
+TAG9
+                   <LIST TEMP11 = ELEMENTS6 (TYPE LIST)>
+                   <DEAD TEMP11>
+                   <PUSH TYP4>
+                   <DEAD TYP4>
+                   <PUSH ELEMENTS6>
+                   <DEAD ELEMENTS6>
+                   <PUSH STACK5>
+                   <DEAD STACK5>
+                   <UBLOCK <TYPE-CODE VECTOR> 3 = TEMP11 (TYPE VECTOR)>
+                   <CHTYPE TEMP11 <TYPE-CODE RECORD-DESCRIPTOR> = ELEMENTS6>
+                   <DEAD TEMP11>
+                   <GVAL 'RECORD-TABLE = TEMP11>
+                   <CONS ELEMENTS6 TEMP11 = TEMP11>
+                   <DEAD ELEMENTS6>
+                   <SETG 'RECORD-TABLE TEMP11>
+                   <RETURN TEMP11>
+                   <DEAD TEMP11>
+                   <END \1aDEFINE-RECORD>
+
+#WORD *12232172037*
+                   <GFCN \1aPARSE-RED ("VALUE" RECORD-ELEMENT-DESCRIPTOR ATOM FIX "OPTIONAL" FIX <OR FALSE FIX> BOOLEAN) TYP8 OFFSET9 ALTOFF10 LEN?11 SBOOL?12>
+                   <OPT-DISPATCH 2 %<> OPT4 OPT5 OPT6 OPT7>
+OPT4
+                   <PUSH 0>
+OPT5
+                   <PUSH %<>>
+OPT6
+                   <PUSH %<>>
+OPT7
+                   <TEMP RES13:VECTOR TEMP26 TEMP31 TEMP32>
+                   <INTGO>
+                   <VEQUAL? TYP8 'ANY - PHRASE15>
+                   <PUSH OFFSET9>
+                   <DEAD OFFSET9>
+                   <PUSH ALTOFF10>
+                   <DEAD ALTOFF10>
+                   <PUSH 'ANY>
+                   <PUSH 0>
+                   <PUSH %<>>
+                   <PUSH %<>>
+                   <PUSH %<>>
+                   <UBLOCK <TYPE-CODE VECTOR> 7 = RES13 (TYPE VECTOR)>
+                   <JUMP + PHRASE34>
+PHRASE15
+                   <VEQUAL? TYP8 'BYTE + BOOL18>
+                   <VEQUAL? TYP8 'SMALL-INT + BOOL18>
+                   <VEQUAL? TYP8 'SMALL-POS-INT + BOOL18>
+                   <VEQUAL? TYP8 'SMALL-FR-OFFSET - PHRASE17>
+BOOL18
+                   <PUSH OFFSET9>
+                   <DEAD OFFSET9>
+                   <PUSH 0>
+                   <PUSH TYP8>
+                   <DEAD TYP8>
+                   <PUSH 0>
+                   <PUSH %<>>
+                   <PUSH %<>>
+                   <PUSH %<>>
+                   <UBLOCK <TYPE-CODE VECTOR> 7 = RES13 (TYPE VECTOR)>
+                   <JUMP + PHRASE34>
+PHRASE17
+                   <VEQUAL? TYP8 'BOOLEAN - PHRASE20>
+                   <PUSH OFFSET9>
+                   <DEAD OFFSET9>
+                   <PUSH 0>
+                   <PUSH 'BOOLEAN>
+                   <PUSH ALTOFF10>
+                   <DEAD ALTOFF10>
+                   <PUSH %<>>
+                   <PUSH %<>>
+                   <PUSH %<>>
+                   <UBLOCK <TYPE-CODE VECTOR> 7 = RES13 (TYPE VECTOR)>
+                   <JUMP + PHRASE34>
+PHRASE20
+                   <VEQUAL? TYP8 'TYPE-C - PHRASE22>
+                   <PUSH OFFSET9>
+                   <DEAD OFFSET9>
+                   <PUSH 0>
+                   <PUSH 'TYPE-C>
+                   <PUSH 0>
+                   <PUSH SBOOL?12>
+                   <DEAD SBOOL?12>
+                   <PUSH %<>>
+                   <PUSH TYP8>
+                   <DEAD TYP8>
+                   <UBLOCK <TYPE-CODE VECTOR> 7 = RES13 (TYPE VECTOR)>
+                   <JUMP + PHRASE34>
+PHRASE22
+                   <NTHR TYP8 5 = TEMP26 (RECORD-TYPE ATOM) (BRANCH-FALSE + PHRASE24)>
+                   <TYPE? TEMP26 <TYPE-CODE FALSE> + PHRASE24>
+                   <DEAD TEMP26>
+                   <FRAME '\1aTYPEPRIM>
+                   <PUSH TYP8>
+                   <CALL '\1aTYPEPRIM 1 = TEMP26>
+                   <SET TEMP31 [VECTOR STRING UVECTOR BYTES] (TYPE VECTOR)>
+                   <TYPE? TEMP26 <TYPE-CODE ATOM> - PHRASE24>
+                   <LOOP (TEMP26 VALUE) (TEMP31 LENGTH VALUE)>
+TAG28
+                   <NTHUV TEMP31 1 = TEMP32>
+                   <VEQUAL? TEMP32 TEMP26 + TAG27>
+                   <DEAD TEMP32>
+                   <RESTUV TEMP31 1 = TEMP31 (TYPE VECTOR)>
+                   <EMPUV? TEMP31 - TAG28>
+                   <JUMP + PHRASE24>
+TAG27
+                   <TYPE? LEN?11 <TYPE-CODE FALSE> - PHRASE24>
+                   <PUSH OFFSET9>
+                   <DEAD OFFSET9>
+                   <PUSH ALTOFF10>
+                   <DEAD ALTOFF10>
+                   <PUSH 'COUNTVWORD>
+                   <PUSH 0>
+                   <PUSH SBOOL?12>
+                   <DEAD SBOOL?12>
+                   <PUSH %<>>
+                   <PUSH TYP8>
+                   <DEAD TYP8>
+                   <UBLOCK <TYPE-CODE VECTOR> 7 = RES13 (TYPE VECTOR)>
+                   <JUMP + PHRASE34>
+PHRASE24
+                   <TYPE? LEN?11 <TYPE-CODE FALSE> - BOOL35>
+                   <SET TEMP31 [ATOM LBIND T$MSUBR GBIND FRAME OBLIST] (TYPE VECTOR)>
+                   <LOOP (TYP8 VALUE) (TEMP31 LENGTH VALUE)>
+TAG37
+                   <NTHUV TEMP31 1 = TEMP26>
+                   <VEQUAL? TEMP26 TYP8 + BOOL35>
+                   <DEAD TEMP26>
+                   <RESTUV TEMP31 1 = TEMP31 (TYPE VECTOR)>
+                   <EMPUV? TEMP31 - TAG37>
+                   <FRAME '\1aTYPEPRIM>
+                   <PUSH TYP8>
+                   <CALL '\1aTYPEPRIM 1 = TEMP31>
+                   <EQUAL? TEMP31 'LIST + BOOL35>
+                   <DEAD TEMP31>
+                   <FRAME '\1aTYPEPRIM>
+                   <PUSH TYP8>
+                   <CALL '\1aTYPEPRIM 1 = TEMP31>
+                   <EQUAL? TEMP31 'FIX - PHRASE34>
+                   <DEAD TEMP31>
+BOOL35
+                   <PUSH OFFSET9>
+                   <DEAD OFFSET9>
+                   <PUSH 0>
+                   <PUSH 'VWORD1>
+                   <PUSH 0>
+                   <PUSH SBOOL?12>
+                   <DEAD SBOOL?12>
+                   <PUSH LEN?11>
+                   <DEAD LEN?11>
+                   <PUSH TYP8>
+                   <DEAD TYP8>
+                   <UBLOCK <TYPE-CODE VECTOR> 7 = RES13 (TYPE VECTOR)>
+PHRASE34
+                   <CHTYPE RES13 <TYPE-CODE RECORD-ELEMENT-DESCRIPTOR> = TEMP31>
+                   <DEAD RES13>
+                   <RETURN TEMP31>
+                   <DEAD TEMP31>
+                   <END \1aPARSE-RED>
+
+#WORD *21614737714*
+                   <GFCN \1aGET-RELE-DESCRIPTOR ("VALUE" <OR FALSE RECORD-ELEMENT-DESCRIPTOR> FIX <OR ATOM HINT>) NUM4 HINT5>
+                   <TEMP RTYP6 TEMP20 TEMP22:LIST ELE23:RECORD-DESCRIPTOR TEMP30 TEMP31 TEMP37>
+                   <INTGO>
+                   <TYPE? HINT5 <TYPE-CODE ATOM> - PHRASE9>
+                   <SET RTYP6 HINT5>
+                   <DEAD HINT5>
+                   <JUMP + COND8>
+PHRASE9
+                   <FRAME '\1aPARSE-HINT>
+                   <PUSH HINT5>
+                   <DEAD HINT5>
+                   <PUSH 'RECORD-TYPE>
+                   <CALL '\1aPARSE-HINT 2 = RTYP6>
+COND8
+                   <SET TEMP20 %<> (TYPE FALSE)>
+                   <GVAL 'RECORD-TABLE = TEMP22>
+                   <LOOP>
+MAP12
+                   <INTGO>
+                   <EMPL? TEMP22 + MAPAP15>
+                   <NTHL TEMP22 1 = ELE23>
+                   <NTHUV ELE23 1 = TEMP20 (TYPE VECTOR)>
+                   <SET TEMP30 TEMP20>
+                   <TYPE? RTYP6 <TYPE-CODE ATOM> - TAG27>
+                   <EMPUV? TEMP30 + TAG27>
+                   <LOOP (RTYP6 VALUE) (TEMP30 LENGTH VALUE)>
+TAG28
+                   <NTHUV TEMP30 1 = TEMP31>
+                   <VEQUAL? TEMP31 RTYP6 + TAG33>
+                   <DEAD TEMP31>
+                   <RESTUV TEMP30 1 = TEMP30 (TYPE VECTOR)>
+                   <EMPUV? TEMP30 - TAG28>
+TAG27
+                   <FRAME '\1aCLEAN-DECL>
+                   <PUSH RTYP6>
+                   <CALL '\1aCLEAN-DECL 1 = TEMP30>
+                   <TYPE TEMP30 = TEMP31>
+                   <EMPUV? TEMP20 + TAG32>
+                   <LOOP (TEMP30 VALUE) (TEMP31 VALUE) (TEMP20 LENGTH VALUE)>
+TAG34
+                   <NTHUV TEMP20 1 = TEMP37>
+                   <TYPE? TEMP37 TEMP31 - TAG35>
+                   <VEQUAL? TEMP37 TEMP30 + TAG33>
+                   <DEAD TEMP37>
+TAG35
+                   <RESTUV TEMP20 1 = TEMP20 (TYPE VECTOR)>
+                   <EMPUV? TEMP20 - TAG34>
+TAG32
+                   <SET TEMP20 %<> (TYPE FALSE)>
+                   <JUMP + PHRASE25>
+TAG33
+                   <NTHUV ELE23 2 = TEMP30 (TYPE LIST)>
+                   <DEAD ELE23>
+                   <SET TEMP37 NUM4>
+                   <DEAD NUM4>
+                   <SUB TEMP37 1 = TEMP37 (TYPE FIX)>
+                   <GRTR? TEMP37 0 - RESTL39 (TYPE FIX)>
+                   <LOOP (TEMP30 VALUE) (TEMP37 VALUE)>
+RESTL38
+                   <INTGO>
+                   <RESTL TEMP30 1 = TEMP30 (TYPE LIST)>
+                   <SUB TEMP37 1 = TEMP37 (TYPE FIX)>
+                   <GRTR? TEMP37 0 + RESTL38 (TYPE FIX)>
+RESTL39
+                   <NTHL TEMP30 1 = TEMP20 (TYPE RECORD-ELEMENT-DESCRIPTOR)>
+                   <DEAD TEMP30>
+                   <RETURN TEMP20>
+                   <DEAD TEMP20>
+PHRASE25
+                   <RESTL TEMP22 1 = TEMP22 (TYPE LIST)>
+                   <JUMP + MAP12>
+MAPAP15
+                   <RETURN TEMP20>
+                   <DEAD TEMP20>
+                   <END \1aGET-RELE-DESCRIPTOR>
+
+#WORD *17770023064*
+                   <GFCN \1aGET-RSTACK? ("VALUE" <OR ATOM FALSE> <OR ATOM HINT>) HINT4>
+                   <TEMP RTYP5 TEMP19 TEMP21:LIST ELE22:RECORD-DESCRIPTOR TEMP29 TEMP30 TEMP36>
+                   <INTGO>
+                   <TYPE? HINT4 <TYPE-CODE ATOM> - PHRASE8>
+                   <SET RTYP5 HINT4>
+                   <DEAD HINT4>
+                   <JUMP + COND7>
+PHRASE8
+                   <FRAME '\1aPARSE-HINT>
+                   <PUSH HINT4>
+                   <DEAD HINT4>
+                   <PUSH 'RECORD-TYPE>
+                   <CALL '\1aPARSE-HINT 2 = RTYP5>
+COND7
+                   <SET TEMP19 %<> (TYPE FALSE)>
+                   <GVAL 'RECORD-TABLE = TEMP21>
+                   <LOOP>
+MAP11
+                   <INTGO>
+                   <EMPL? TEMP21 + MAPAP14>
+                   <NTHL TEMP21 1 = ELE22>
+                   <NTHUV ELE22 1 = TEMP19 (TYPE VECTOR)>
+                   <SET TEMP29 TEMP19>
+                   <TYPE? RTYP5 <TYPE-CODE ATOM> - TAG26>
+                   <EMPUV? TEMP29 + TAG26>
+                   <LOOP (RTYP5 VALUE) (TEMP29 LENGTH VALUE)>
+TAG27
+                   <NTHUV TEMP29 1 = TEMP30>
+                   <VEQUAL? TEMP30 RTYP5 + TAG32>
+                   <DEAD TEMP30>
+                   <RESTUV TEMP29 1 = TEMP29 (TYPE VECTOR)>
+                   <EMPUV? TEMP29 - TAG27>
+TAG26
+                   <FRAME '\1aCLEAN-DECL>
+                   <PUSH RTYP5>
+                   <CALL '\1aCLEAN-DECL 1 = TEMP29>
+                   <TYPE TEMP29 = TEMP30>
+                   <EMPUV? TEMP19 + TAG31>
+                   <LOOP (TEMP29 VALUE) (TEMP30 VALUE) (TEMP19 LENGTH VALUE)>
+TAG33
+                   <NTHUV TEMP19 1 = TEMP36>
+                   <TYPE? TEMP36 TEMP30 - TAG34>
+                   <VEQUAL? TEMP36 TEMP29 + TAG32>
+                   <DEAD TEMP36>
+TAG34
+                   <RESTUV TEMP19 1 = TEMP19 (TYPE VECTOR)>
+                   <EMPUV? TEMP19 - TAG33>
+TAG31
+                   <SET TEMP19 %<> (TYPE FALSE)>
+                   <JUMP + PHRASE24>
+TAG32
+                   <NTHUV ELE22 3 = TEMP19>
+                   <DEAD ELE22>
+                   <RETURN TEMP19>
+                   <DEAD TEMP19>
+PHRASE24
+                   <RESTL TEMP21 1 = TEMP21 (TYPE LIST)>
+                   <JUMP + MAP11>
+MAPAP14
+                   <RETURN TEMP19>
+                   <DEAD TEMP19>
+                   <END \1aGET-RSTACK?>
+
+#WORD *3235530501*
+                   <GFCN \1aGET-RELE-BRANCH? ("VALUE" <OR FALSE <LIST [1 ANY]>> <OR FALSE HINT>) HINT24>
+                   <TEMP TEMP7 CP13:LIST TEMP24>
+                   <INTGO>
+                   <SET TEMP7 HINT24>
+                   <TYPE? TEMP7 <TYPE-CODE FALSE> + PHRASE6>
+                   <NTHL HINT24 1 = TEMP7>
+                   <EQUAL? TEMP7 'BRANCH-FALSE + TAG11>
+                   <DEAD TEMP7>
+                   <NTHL HINT24 1 = TEMP7>
+                   <EQUAL? TEMP7 'BRANCH-TAG + TAG11>
+                   <DEAD TEMP7>
+                   <RETURN %<>>
+TAG11
+                   <GEN-LVAL 'CODPTR = CP13>
+                   <LOOP>
+AGAIN18
+                   <INTGO>
+                   <EMPL? CP13 + PHRASE26 (TYPE LIST)>
+                   <NTHL CP13 1 = TEMP7>
+                   <TYPE? TEMP7 <TYPE-CODE FORM> - PHRASE26>
+                   <NTHL TEMP7 1 = TEMP24>
+                   <EQUAL? TEMP24 'DEAD!-MIMOP + PHRASE23>
+                   <DEAD TEMP24>
+                   <FRAME '\1aPUTPROP>
+                   <PUSH TEMP7>
+                   <DEAD TEMP7>
+                   <PUSH 'DONE>
+                   <PUSH 'T>
+                   <CALL '\1aPUTPROP 3>
+                   <JUMP + PHRASE26>
+PHRASE23
+                   <RESTL CP13 1 = CP13 (TYPE LIST)>
+                   <JUMP + AGAIN18>
+PHRASE26
+                   <RESTL HINT24 1 = TEMP7 (TYPE LIST)>
+                   <DEAD HINT24>
+PHRASE6
+                   <RETURN TEMP7>
+                   <DEAD TEMP7>
+                   <END \1aGET-RELE-BRANCH?>
+
+#WORD *13015364121*
+                   <GFCN \1aINIT-REC-DEFS ("VALUE" <LIST [REST RECORD-DESCRIPTOR]>)>
+                   <TEMP TEMP35:LIST>
+                   <INTGO>
+                   <FRAME '\1aINIT-RECORD-DEFS>
+                   <CALL '\1aINIT-RECORD-DEFS 0>
+                   <FRAME '\1aDEFINE-RECORD>
+                   <PUSH 'ATOM>
+                   <PUSH 'LINK>
+                   <PUSH 'GVAL>
+                   <PUSH 'LVAL>
+                   <PUSH 'ATOM>
+                   <PUSH 'LINK>
+                   <PUSH 'GVAL>
+                   <PUSH 'LVAL>
+                   <UBLOCK <TYPE-CODE VECTOR> 8 = STACK>
+                   <PUSH %<>>
+                   <FRAME '\1aPARSE-RED>
+                   <PUSH 'GBIND>
+                   <PUSH 0>
+                   <PUSH 0>
+                   <PUSH %<>>
+                   <PUSH 'T>
+                   <CALL '\1aPARSE-RED 5 = STACK>
+                   <FRAME '\1aPARSE-RED>
+                   <PUSH 'LBIND>
+                   <PUSH 4>
+                   <PUSH 0>
+                   <PUSH %<>>
+                   <PUSH 'T>
+                   <CALL '\1aPARSE-RED 5 = STACK>
+                   <FRAME '\1aPARSE-RED>
+                   <PUSH 'STRING>
+                   <PUSH 12>
+                   <PUSH 10>
+                   <PUSH %<>>
+                   <PUSH %<>>
+                   <CALL '\1aPARSE-RED 5 = STACK>
+                   <FRAME '\1aPARSE-RED>
+                   <PUSH 'OBLIST>
+                   <PUSH 16>
+                   <PUSH 0>
+                   <PUSH %<>>
+                   <PUSH 'T>
+                   <CALL '\1aPARSE-RED 5 = STACK>
+                   <FRAME '\1aPARSE-RED>
+                   <PUSH 'TYPE-C>
+                   <PUSH 8>
+                   <PUSH 0>
+                   <PUSH %<>>
+                   <PUSH 'T>
+                   <CALL '\1aPARSE-RED 5 = STACK>
+                   <CALL '\1aDEFINE-RECORD 7>
+                   <FRAME '\1aDEFINE-RECORD>
+                   <PUSH 'FRAME>
+                   <PUSH 'FRAME>
+                   <UBLOCK <TYPE-CODE VECTOR> 2 = STACK>
+                   <PUSH 'T>
+                   <FRAME '\1aPARSE-RED>
+                   <PUSH 'T$MSUBR>
+                   <PUSH -24>
+                   <PUSH 0>
+                   <PUSH 4>
+                   <PUSH %<>>
+                   <CALL '\1aPARSE-RED 5 = STACK>
+                   <FRAME '\1aPARSE-RED>
+                   <PUSH 'FIX>
+                   <PUSH -20>
+                   <PUSH 0>
+                   <PUSH %<>>
+                   <PUSH %<>>
+                   <CALL '\1aPARSE-RED 5 = STACK>
+                   <FRAME '\1aPARSE-RED>
+                   <PUSH 'SMALL-POS-INT>
+                   <PUSH -16>
+                   <PUSH 0>
+                   <PUSH %<>>
+                   <PUSH %<>>
+                   <CALL '\1aPARSE-RED 5 = STACK>
+                   <FRAME '\1aPARSE-RED>
+                   <PUSH 'SMALL-POS-INT>
+                   <PUSH -14>
+                   <PUSH 0>
+                   <PUSH %<>>
+                   <PUSH %<>>
+                   <CALL '\1aPARSE-RED 5 = STACK>
+                   <FRAME '\1aPARSE-RED>
+                   <PUSH 'FRAME>
+                   <PUSH -12>
+                   <PUSH 0>
+                   <PUSH %<>>
+                   <PUSH %<>>
+                   <CALL '\1aPARSE-RED 5 = STACK>
+                   <FRAME '\1aPARSE-RED>
+                   <PUSH 'SMALL-POS-INT>
+                   <PUSH -6>
+                   <PUSH 0>
+                   <PUSH 0>
+                   <PUSH %<>>
+                   <CALL '\1aPARSE-RED 5 = STACK>
+                   <FRAME '\1aPARSE-RED>
+                   <PUSH 'SMALL-FR-OFFSET>
+                   <PUSH -8>
+                   <PUSH 0>
+                   <PUSH %<>>
+                   <PUSH %<>>
+                   <CALL '\1aPARSE-RED 5 = STACK>
+                   <FRAME '\1aPARSE-RED>
+                   <PUSH 'FIX>
+                   <PUSH -4>
+                   <PUSH 0>
+                   <PUSH %<>>
+                   <PUSH %<>>
+                   <CALL '\1aPARSE-RED 5 = STACK>
+                   <CALL '\1aDEFINE-RECORD 10>
+                   <FRAME '\1aDEFINE-RECORD>
+                   <PUSH 'LBIND>
+                   <PUSH 'LBIND>
+                   <UBLOCK <TYPE-CODE VECTOR> 2 = STACK>
+                   <PUSH 'T>
+                   <FRAME '\1aPARSE-RED>
+                   <PUSH 'ANY>
+                   <PUSH 4>
+                   <PUSH 0>
+                   <PUSH %<>>
+                   <PUSH %<>>
+                   <CALL '\1aPARSE-RED 5 = STACK>
+                   <FRAME '\1aPARSE-RED>
+                   <PUSH 'ATOM>
+                   <PUSH 8>
+                   <PUSH 0>
+                   <PUSH %<>>
+                   <PUSH %<>>
+                   <CALL '\1aPARSE-RED 5 = STACK>
+                   <FRAME '\1aPARSE-RED>
+                   <PUSH 'ANY>
+                   <PUSH 16>
+                   <PUSH 12>
+                   <PUSH %<>>
+                   <PUSH %<>>
+                   <CALL '\1aPARSE-RED 5 = STACK>
+                   <FRAME '\1aPARSE-RED>
+                   <PUSH 'LBIND>
+                   <PUSH 20>
+                   <PUSH 0>
+                   <PUSH %<>>
+                   <PUSH 'T>
+                   <CALL '\1aPARSE-RED 5 = STACK>
+                   <FRAME '\1aPARSE-RED>
+                   <PUSH 'LBIND>
+                   <PUSH 24>
+                   <PUSH 0>
+                   <PUSH %<>>
+                   <PUSH 'T>
+                   <CALL '\1aPARSE-RED 5 = STACK>
+                   <FRAME '\1aPARSE-RED>
+                   <PUSH 'FIX>
+                   <PUSH 28>
+                   <PUSH 0>
+                   <PUSH %<>>
+                   <PUSH %<>>
+                   <CALL '\1aPARSE-RED 5 = STACK>
+                   <CALL '\1aDEFINE-RECORD 8>
+                   <FRAME '\1aDEFINE-RECORD>
+                   <PUSH 'GBIND>
+                   <PUSH 'GBIND>
+                   <UBLOCK <TYPE-CODE VECTOR> 2 = STACK>
+                   <PUSH %<>>
+                   <FRAME '\1aPARSE-RED>
+                   <PUSH 'ANY>
+                   <PUSH 4>
+                   <PUSH 0>
+                   <PUSH %<>>
+                   <PUSH %<>>
+                   <CALL '\1aPARSE-RED 5 = STACK>
+                   <FRAME '\1aPARSE-RED>
+                   <PUSH 'ATOM>
+                   <PUSH 8>
+                   <PUSH 0>
+                   <PUSH %<>>
+                   <PUSH %<>>
+                   <CALL '\1aPARSE-RED 5 = STACK>
+                   <FRAME '\1aPARSE-RED>
+                   <PUSH 'ANY>
+                   <PUSH 16>
+                   <PUSH 12>
+                   <PUSH %<>>
+                   <PUSH %<>>
+                   <CALL '\1aPARSE-RED 5 = STACK>
+                   <CALL '\1aDEFINE-RECORD 5 = TEMP35>
+                   <RETURN TEMP35>
+                   <DEAD TEMP35>
+                   <END \1aINIT-REC-DEFS>