view interps/clc-intercal/CLC-INTERCAL-Base-1.-94.-2/INTERCAL/Include/sick.iacc @ 9071:581584df6d82

<fizzie> revert 942e964c81c1
author HackBot
date Sun, 25 Sep 2016 20:17:31 +0000
parents 859f9b4339e6
children
line wrap: on
line source

PLEASE NOTE: IACC FILE TO GENERATE A COMPILER FOR CLC-INTERCAL

Copyright (c) 2006-2008 Claudio Calvelli, all rights reserved.

CLC-INTERCAL is copyrighted software. However, permission to use, modify,
and distribute it is granted provided that the conditions set out in the
licence agreement are met. See files README and COPYING in the distribution.

PERVERSION "CLC-INTERCAL INTERCAL/Include/sick.iacc 1.-94.-2"

	DO %BA <- #2
	DO %RT <- ?CLC
	DO %WT <- #0
	DO %IO <- ?CLC
	DO %CR <- ?ASCII
	DO %CW <- ?ASCII
	DO %CF <- #0
	DO %DM <- #0
	DO %RM <- #1
	DO ?TYPE <- ?COMPILER
	DO CREATE _2 ?PROGRAM ?STATEMENT AS ?STATEMENT #1
	DO CREATE _2 ?CALC_EXPR ?EXPRESSION AS STS + * + ROU + #1 +
	   ?EXPRESSION #1
	DO CREATE _2 ?CALC_EXPR ?CALCULATION AS STS + * + ?CALCULATION
	   #1
	DO CREATE _2 ?CALC_FULL ?EXPRESSION AS STS + * + ROU + #1 +
	   ?EXPRESSION #1
	DO CREATE _2 ?CALC_FULL ?STATEMENT AS ?STATEMENT #1
	DO CREATE _2 ?END_JUNK ?STMT_LABEL AS ,,
	DO CREATE _2 ?END_JUNK ?DO_PLEASE AS ,,
	DO CREATE _2 ?STATEMENT ?MAYBE_STMT_LABEL ?DO_PLEASE
	   ?QUALIFIERS ?WVERB AS STS + * + ?MAYBE_STMT_LABEL #1 +
	   ?QUALIFIERS #1 + ?WVERB #1
	DO CREATE _2 ?STMT_LABEL ,#40, ?CONSTANT ,#41, AS ?CONSTANT #1
	DO CREATE _2 ?MAYBE_STMT_LABEL ,, AS ,,
	DO CREATE _2 ?MAYBE_STMT_LABEL ?STMT_LABEL AS LAB + ?STMT_LABEL
	   #1
	DO CREATE _2 ?DO_PLEASE ,DO, AS ,,
	DO CREATE _2 ?DO_PLEASE ,PLEASE, AS ,,
	DO CREATE _2 ?DO_PLEASE ,PLEASE, ,DO, AS ,,
	DO CREATE _2 ?QUALIFIERS ,, AS ,,
	DO CREATE _2 ?QUALIFIERS ?DOUBLE_OH_SEVEN ?QUALIFIERS AS
	   ?DOUBLE_OH_SEVEN #1 + ?QUALIFIERS #1
	DO CREATE _2 ?QUALIFIERS ?NOT ?QUALIFIERS AS ?NOT #1 +
	   ?QUALIFIERS #1
	DO CREATE _2 ?DOUBLE_OH_SEVEN ,#37, ?CONSTANT AS DSX +
	   ?CONSTANT #1
	DO CREATE _2 ?DOUBLE_OH_SEVEN ,#37, ?EXPRESSION AS DSX +
	   ?EXPRESSION #1
	DO CREATE _2 ?NOT ,NOT, AS NOT
	DO CREATE _2 ?NOT ,N, ,#39, ,T, AS NOT
	DO CREATE _2 ?NOT ,#172, AS NOT
	DO CREATE _2 ?WVERB ?NOT ?JUNK AS NOT + MSP + #0 + #1 + ?JUNK
	   #1
	DO CREATE _2 ?WVERB ?VERB ?MAYBE_WHILE AS ?MAYBE_WHILE #1 +
	   ?VERB #1
	DO CREATE _2 ?WVERB ?EXPRESSION ,WHILE, ?VERB AS ECB +
	   ?EXPRESSION #1 + ?VERB #1
	DO CREATE _2 ?MAYBE_WHILE ,, AS ,,
	DO CREATE _2 ?MAYBE_WHILE ,WHILE, ?VERB AS CWB + ?VERB #1
	DO CREATE _2 ?MAYBE_WHILE ,WHILE, ?EXPRESSION AS EBC +
	   ?EXPRESSION #1
	DO CREATE _2 ?TEMPLATE ,CONDITION, ,WHILE, ,BODY, AS CWB
	DO CREATE _2 ?TEMPLATE ,BODY, ,WHILE, ,CONDITION, AS BWC
	DO CREATE _2 ?TEMPLATE ,EXPRESSION, ,WHILE, ,STATEMENT, AS ECB
	DO CREATE _2 ?TEMPLATE ,STATEMENT, ,WHILE, ,EXPRESSION, AS EBC
	DO CREATE _2 ?GERUND ,LOOPING,=4 AS CWB + BWC + ECB + EBC
	DO CREATE _2 ?GERUND ,WHILING,=4 AS CWB + BWC + ECB + EBC
	DO CREATE _2 ?GERUND ,COMMENTING,=1 AS MSP
	DO CREATE _2 ?GERUND ,COMMENTS,=1 AS MSP
	DO CREATE _2 ?GERUND ,COMPILER, ,BUG,=1 AS BUG
	DO CREATE _2 ?GERUND ,QUANTUM, ,COMPUTING,=1 AS QUA
	DO CREATE _2 ?CALCULATION ?EXPRESSION ,#60, ,#45, ?EXPR_OR_DIM
	   ?Q_CALCULATE AS ?Q_CALCULATE #1 + STO + ?EXPR_OR_DIM #1 +
	   ?EXPRESSION #1
	DO CREATE _2 ?VERB ?CALCULATION AS ?CALCULATION #1
	DO CREATE _2 ?GERUND ,CALCULATING,=1 AS STO
	DO CREATE _2 ?TEMPLATE ?REG_EXPR ,#60, ,#45, ,EXPRESSION,
	   ?MAYBE_LIST AS STO
	DO CREATE _2 ?Q_CALCULATE ,, AS ,,
	DO CREATE _2 ?Q_CALCULATE ,WHILE, ,NOT, ,ASSIGNING, ,TO, ,IT,
	   AS QUA
	DO CREATE _2 ?VERB ,STASH, ?NAMES ?Q_STASH AS ?Q_STASH #1 + STA
	   + !NAMES #1 + ?NAMES #1
	DO CREATE _2 ?GERUND ,STASHING,=1 AS STA
	DO CREATE _2 ?TEMPLATE ,STASH, ,REGISTER, ?MAYBE_LIST AS STA
	DO CREATE _2 ?Q_STASH ,, AS ,,
	DO CREATE _2 ?Q_STASH ,WHILE, ,NOT, ,STASHING, ?IT AS QUA
	DO CREATE _2 ?VERB ,RETRIEVE, ?NAMES ?Q_RETRIEVE AS ?Q_RETRIEVE
	   #1 + RET + !NAMES #1 + ?NAMES #1
	DO CREATE _2 ?GERUND ,RETRIEVING,=1 AS RET
	DO CREATE _2 ?TEMPLATE ,RETRIEVE, ,REGISTER, ?MAYBE_LIST AS RET
	DO CREATE _2 ?Q_RETRIEVE ,, AS ,,
	DO CREATE _2 ?Q_RETRIEVE ,WHILE, ,NOT, ,RETRIEVING, ?IT AS QUA
	DO CREATE _2 ?VERB ,IGNORE, ?NAMES ?Q_IGNORE AS ?Q_IGNORE #1 +
	   IGN + !NAMES #1 + ?NAMES #1
	DO CREATE _2 ?GERUND ,IGNORING,=1 AS IGN
	DO CREATE _2 ?TEMPLATE ,IGNORE, ,REGISTER, ?MAYBE_LIST AS IGN
	DO CREATE _2 ?Q_IGNORE ,, AS ,,
	DO CREATE _2 ?Q_IGNORE ,WHILE, ,REMEMBERING, ?IT AS QUA
	DO CREATE _2 ?VERB ,REMEMBER, ?NAMES ?Q_REMEMBER AS ?Q_REMEMBER
	   #1 + REM + !NAMES #1 + ?NAMES #1
	DO CREATE _2 ?GERUND ,REMEMBERING,=1 AS REM
	DO CREATE _2 ?TEMPLATE ,REMEMBER, ,REGISTER, ?MAYBE_LIST AS REM
	DO CREATE _2 ?Q_REMEMBER ,, AS ,,
	DO CREATE _2 ?Q_REMEMBER ,WHILE, ,IGNORING, ?IT AS QUA
	DO CREATE _2 ?VERB ,ABSTAIN, ,FROM, ?ABSTAIN ?Q_ABSTAIN AS
	   ?Q_ABSTAIN #1 + ?ABSTAIN #1
	DO CREATE _2 ?ABSTAIN ?LABEL AS ABL + ?LABEL #1
	DO CREATE _2 ?ABSTAIN ?GERUNDS AS ABG + !GERUNDS #1 + ?GERUNDS
	   #1
	DO CREATE _2 ?GERUND ,ABSTAINING,=2 ,FROM, AS ABL + ABG
	DO CREATE _2 ?GERUND ,ABSTAINING,=2 AS ABL + ABG
	DO CREATE _2 ?TEMPLATE ,ABSTAIN, ,FROM, ,LABEL, AS ABL
	DO CREATE _2 ?TEMPLATE ,ABSTAIN, ,FROM, ,GERUND, ?MAYBE_LIST AS
	   ABG
	DO CREATE _2 ?Q_ABSTAIN ,, AS ,,
	DO CREATE _2 ?Q_ABSTAIN ,WHILE, ,REINSTATING, ?IT AS QUA
	DO CREATE _2 ?VERB ,REINSTATE, ?REINSTATE ?Q_REINSTATE AS
	   ?Q_REINSTATE #1 + ?REINSTATE #1
	DO CREATE _2 ?REINSTATE ?LABEL AS REL + ?LABEL #1
	DO CREATE _2 ?REINSTATE ?GERUNDS AS REG + !GERUNDS #1 +
	   ?GERUNDS #1
	DO CREATE _2 ?GERUND ,REINSTATING,=2 AS REL + REG
	DO CREATE _2 ?TEMPLATE ,REINSTATE, ,LABEL, AS REL
	DO CREATE _2 ?TEMPLATE ,REINSTATE, ,GERUND, ?MAYBE_LIST AS REG
	DO CREATE _2 ?GERUND ?TEMPLATE=1 AS ?TEMPLATE #1
	DO CREATE _2 ?GERUNDS ?GERUND=* AS ?GERUND #1
	DO CREATE _2 ?GERUNDS ?GERUND=* ,#43, ?GERUNDS=* AS ?GERUND #1
	   + ?GERUNDS #1
	DO CREATE _2 ?Q_REINSTATE ,, AS ,,
	DO CREATE _2 ?Q_REINSTATE ,WHILE, ,ABSTAINING, ,FROM, ?IT AS
	   QUA
	DO CREATE _2 ?VERB ,GIVE, ,UP, ?Q_GIVE_UP AS ?Q_GIVE_UP #1 +
	   GUP
	DO CREATE _2 ?GERUND ,GIVING, ,UP,=1 AS GUP
	DO CREATE _2 ?GERUND ,GIVING,=1 AS GUP
	DO CREATE _2 ?TEMPLATE ,GIVE, ,UP, AS GUP
	DO CREATE _2 ?Q_GIVE_UP ,, AS ,,
	DO CREATE _2 ?Q_GIVE_UP ,WHILE, ,CONTINUING, ,TO, ,RUN, AS QUA
	DO CREATE _2 ?VERB ,WRITE, ,IN, ?E_LIST ?Q_WRITE_IN AS
	   ?Q_WRITE_IN #1 + WIN + !E_LIST #1 + ?E_LIST #1
	DO CREATE _2 ?GERUND ,WRITING, ,IN,=1 AS WIN
	DO CREATE _2 ?GERUND ,WRITING,=1 AS WIN
	DO CREATE _2 ?TEMPLATE ,WRITE, ,IN, ?REG_EXPR ?MAYBE_LIST AS
	   WIN
	DO CREATE _2 ?Q_WRITE_IN ,, AS ,,
	DO CREATE _2 ?Q_WRITE_IN ,WHILE, ,NOT, ,WRITING, ?IT ?MAYBE_IN
	   AS QUA
	DO CREATE _2 ?MAYBE_IN ,, AS ,,
	DO CREATE _2 ?MAYBE_IN ,IN, AS ,,
	DO CREATE _2 ?VERB ,READ, ,OUT, ?E_LIST AS ROU + !E_LIST #1 +
	   ?E_LIST #1
	DO CREATE _2 ?GERUND ,READING, ,OUT,=1 AS ROU
	DO CREATE _2 ?GERUND ,READING,=1 AS ROU
	DO CREATE _2 ?TEMPLATE ,READ, ,OUT, ?REG_EXPR ?MAYBE_LIST AS
	   ROU
PLEASE NOTE: NO QUANTUM OUTPUT (YET)
	DO CREATE _2 ?VERB ,COME, ,FROM, ?COME_FROM ?Q_COME_FROM AS
	   ?Q_COME_FROM #1 + ?COME_FROM #1
	DO CREATE _2 ?COME_FROM ?LABEL AS CFL + ?LABEL #1
	DO CREATE _2 ?COME_FROM ?GERUNDS AS CFG + !GERUNDS #1 +
	   ?GERUNDS #1
	DO CREATE _2 ?GERUND ,COMING, ,FROM,=2 AS CFL + CFG
	DO CREATE _2 ?GERUND ,COMING,=2 AS CFL + CFG
	DO CREATE _2 ?TEMPLATE ,COME, ,FROM, ,LABEL, AS CFL
	DO CREATE _2 ?TEMPLATE ,COME, ,FROM, ,GERUND, ?MAYBE_LIST AS
	   CFG
	DO CREATE _2 ?Q_COME_FROM ,, AS ,,
	DO CREATE _2 ?Q_COME_FROM ,WHILE, ,NOT, ,COMING, ,FROM, ,THERE,
	   AS QUA
	DO CREATE _2 ?VERB ,ENSLAVE, ?RNAME ,TO, ?RNAME ?Q_ENSLAVE AS
	   ?Q_ENSLAVE #1 + ENS + ?RNAME #1 + ?RNAME #2
	DO CREATE _2 ?GERUND ,ENSLAVING,=1 AS ENS
	DO CREATE _2 ?TEMPLATE ,ENSLAVE, ,REGISTER, ,TO, ,REGISTER, AS
	   ENS
	DO CREATE _2 ?Q_ENSLAVE ,, AS ,,
	DO CREATE _2 ?Q_ENSLAVE ,WHILE, ,LEAVING, ,IT, ,FREE, AS QUA
	DO CREATE _2 ?VERB ,FREE, ?RNAME ,FROM, ?RNAME ?Q_FREE AS
	   ?Q_FREE #1 + FRE + ?RNAME #1 + ?RNAME #2
	DO CREATE _2 ?GERUND ,FREEING,=1 AS FRE
	DO CREATE _2 ?TEMPLATE ,FREE, ,REGISTER, ,FROM, ,REGISTER, AS
	   FRE
	DO CREATE _2 ?Q_FREE ,, AS ,,
	DO CREATE _2 ?Q_FREE ,WHILE, ,LEAVING, ,IT, ,IN, ,SLAVERY, AS
	   QUA
	DO CREATE _2 ?VERB ,STUDY, ?EXPRESSION ,AT, ?LABEL ,IN, ,CLASS,
	   ?RNAME ?Q_STUDY AS ?Q_STUDY #1 + STU + ?EXPRESSION #1 +
	   ?LABEL #1 + ?RNAME #1
	DO CREATE _2 ?GERUND ,STUDYING,=1 AS STU
	DO CREATE _2 ?TEMPLATE ,STUDY, ?EXPR_OR_SUBJECT ,AT, ,LABEL,
	   ,IN, ,CLASS, ,REGISTER, AS STU
	DO CREATE _2 ?EXPR_OR_SUBJECT ,EXPRESSION, AS ,,
	DO CREATE _2 ?EXPR_OR_SUBJECT ,SUBJECT, AS ,,
	DO CREATE _2 ?Q_STUDY ,, AS ,,
	DO CREATE _2 ?Q_STUDY ,WHILE, ,NOT, ,STUDYING, ,IT, AS QUA
	DO CREATE _2 ?VERB ,ENROL, ?RNAME ,TO, ,LEARN, ?E_LIST ?Q_ENROL
	   AS ?Q_ENROL #1 + ENR + !E_LIST #1 + ?E_LIST #1 + ?RNAME #1
	DO CREATE _2 ?GERUND ,ENROLLING,=1 AS ENR
	DO CREATE _2 ?TEMPLATE ,ENROL, ,REGISTER, ,TO, ,LEARN,
	   ?EXPR_OR_SUBJECT ?MAYBE_LIST AS ENR
	DO CREATE _2 ?Q_ENROL ,, AS ,,
	DO CREATE _2 ?Q_ENROL ,WHILE, ,NOT, ,ENROLLING, AS QUA
	DO CREATE _2 ?VERB ?RNAME ,LEARNS, ?EXPRESSION ?Q_LEARNS AS
	   ?Q_LEARNS #1 + LEA + ?EXPRESSION #1 + ?RNAME #1
	DO CREATE _2 ?GERUND ,LEARNING,=1 AS LEA
	DO CREATE _2 ?TEMPLATE ,REGISTER, ,LEARNS, ?EXPR_OR_SUBJECT AS
	   LEA
	DO CREATE _2 ?Q_LEARNS ,, AS ,,
	DO CREATE _2 ?Q_LEARNS ,WHILE, ,NOT, ,LEARNING, ,IT, AS QUA
	DO CREATE _2 ?VERB ,FINISH, ,LECTURE, ?Q_FINISH AS ?Q_FINISH #1
	   + FIN
	DO CREATE _2 ?GERUND ,FINISHING, ,LECTURE,=1 AS FIN
	DO CREATE _2 ?GERUND ,FINISHING,=1 AS FIN
	DO CREATE _2 ?TEMPLATE ,FINISH, ,LECTURE, AS FIN
	DO CREATE _2 ?Q_FINISH ,, AS ,,
	DO CREATE _2 ?Q_FINISH ,WHILE, ,CONTINUING, ,IT, AS QUA
	DO CREATE _2 ?VERB ?RNAME ,GRADUATES, ?Q_GRADUATES AS
	   ?Q_GRADUATES #1 + GRA + ?RNAME #1
	DO CREATE _2 ?GERUND ,GRADUATING,=1 AS GRA
	DO CREATE _2 ?TEMPLATE ,REGISTER, ,GRADUATES, AS GRA
	DO CREATE _2 ?Q_GRADUATES ,, AS ,,
	DO CREATE _2 ?Q_GRADUATES ,WHILE, ,REMAINING, ,A, ,STUDENT, AS
	   QUA
	DO CREATE _2 ?VERB ,NEXT, ,FROM, ?NEXT_FROM ?Q_NEXT_FROM AS
	   ?Q_NEXT_FROM #1 + ?NEXT_FROM #1
	DO CREATE _2 ?NEXT_FROM ?LABEL AS NXL + ?LABEL #1
	DO CREATE _2 ?MEXT_FROM ?GERUNDS AS NXG + !GERUNDS #1 +
	   ?GERUNDS #1
	DO CREATE _2 ?GERUND ,NEXTING, ,FROM,=2 AS NXL + NXG
	DO CREATE _2 ?TEMPLATE ,NEXT, ,FROM, ,LABEL, AS NXL
	DO CREATE _2 ?TEMPLATE ,NEXT, ,FROM, ,GERUND, ?MAYBE_LIST AS
	   NXG
	DO CREATE _2 ?Q_NEXT_FROM ,, AS ,,
	DO CREATE _2 ?Q_NEXT_FROM ,WHILE, ,NOT, ,NEXTING, ,FROM,
	   ,THERE, AS QUA
	DO CREATE _2 ?VERB ,CONVERT, ?TEMPLATE ,TO, ?TEMPLATE
	   ?Q_CONVERT AS ?Q_CONVERT #1 + CON + ?TEMPLATE #1 + ?TEMPLATE
	   #2
	DO CREATE _2 ?GERUND ,CONVERTING,=3 AS CON
	DO CREATE _2 ?TEMPLATE ,CONVERT, ,STATEMENT, ,TO, ,STATEMENT,
	   AS CON
	DO CREATE _2 ?Q_CONVERT ,, AS ,,
	DO CREATE _2 ?Q_CONVERT ,WHILE, ,LEAVING, ,IT, ,UNCHANGED, AS
	   QUA
	DO CREATE _2 ?VERB ,SWAP, ?TEMPLATE ,AND, ?TEMPLATE ?Q_SWAP AS
	   ?Q_SWAP #1 + SWA + ?TEMPLATE #1 + ?TEMPLATE #2
	DO CREATE _2 ?GERUND ,SWAPPING,=2 AS SWA
	DO CREATE _2 ?TEMPLATE ,SWAP, ,STATEMENT, ,AND, ,STATEMENT, AS
	   SWA
	DO CREATE _2 ?Q_SWAP ,, AS ,,
	DO CREATE _2 ?Q_SWAP ,WHILE, ,LEAVING, ,THEM, ,UNCHANGED, AS
	   QUA
	DO CREATE _2 ?VERB ,CREATE, ?GSYMBOL ?LEFT ,AS, ?RIGHT
	   ?Q_CREATE AS ?Q_CREATE #1 + CRE + #1 + ?GSYMBOL #1 + !LEFT
	   #1 + ?LEFT #1 + !RIGHT #1 + ?RIGHT #1
	DO CREATE _2 ?GERUND ,CREATING,=1 AS CRE
	DO CREATE _2 ?TEMPLATE ,CREATE, ,SYMBOL, ,LEFT, ,AS, ,RIGHT, AS
	   CRE
	DO CREATE _2 ?Q_CREATE ,, AS ,,
	DO CREATE _2 ?Q_CREATE ,WHILE, ,NOT, ,CREATING, ,IT, AS QUA
	DO CREATE _2 ?VERB ,DESTROY, ?GSYMBOL ?LEFT ?Q_DESTROY AS
	   ?Q_DESTROY #1 + DES + #1 + ?GSYMBOL #1 + !LEFT #1 + ?LEFT #1
	DO CREATE _2 ?GERUND ,DESTROYING,=1 AS DES
	DO CREATE _2 ?TEMPLATE ,DESTROY, ,SYMBOL, ,EXPRESSION, ,LEFT,
	   AS DES
	DO CREATE _2 ?Q_DESTROY ,, AS ,,
	DO CREATE _2 ?Q_DESTROY ,WHILE, ,NOT, ,DESTROYING, ,IT, AS QUA
	DO CREATE _2 ?VERB ,RESUME, ?EXPRESSION ?Q_RESUME AS ?Q_RESUME
	   #1 + RES + ?EXPRESSION #1
	DO CREATE _2 ?GERUND ,RESUMING,=1 AS RES
	DO CREATE _2 ?TEMPLATE ,RESUME, ,EXPRESSION, AS RES
	DO CREATE _2 ?Q_RESUME ,, AS ,,
	DO CREATE _2 ?Q_RESUME ,WHILE, ,NOT, ,RESUMING, AS QUA
	DO CREATE _2 ?VERB ,FORGET, ?EXPRESSION ?Q_FORGET AS ?Q_FORGET
	   #1 + FOR + ?EXPRESSION #1
	DO CREATE _2 ?GERUND ,FORGETTING,=1 AS FOR
	DO CREATE _2 ?TEMPLATE ,FORGET, ,EXPRESSION, AS FOR
	DO CREATE _2 ?Q_FORGET ,, AS ,,
	DO CREATE _2 ?Q_FORGET ,WHILE, ,NOT, ,FORGETTING, AS QUA
	DO CREATE _2 ?Q_FORGET ,WHILE, ,REMEMBERING, AS QUA
	DO CREATE _2 ?NAMES ?RNAME=1 AS ?RNAME #1
	DO CREATE _2 ?NAMES ?RNAME=1 ,#43, ?NAMES=* AS ?RNAME #1 +
	   ?NAMES #1
	DO CREATE _2 ?RTYPE ,#46, AS SPO
	DO CREATE _2 ?RTYPE ,#58, AS TSP
	DO CREATE _2 ?RTYPE ,#44, AS TAI
	DO CREATE _2 ?RTYPE ,#59, AS HYB
	DO CREATE _2 ?RTYPE ,#64, AS WHP
	DO CREATE _2 ?RTYPE ,_, AS CHO
	DO CREATE _2 ?RTYPE ,#43, ?REGISTER AS TYP + ?REGISTER #1
	DO CREATE _2 ?RNUMBER ?CONSTANT AS ?CONSTANT #1
	DO CREATE _2 ?RNUMBER ,#45, ?REGISTER AS NUM + ?REGISTER #1
	DO CREATE _2 ?RNAME ?OWNER ?RTYPE ?RNUMBER AS ?OWNER #1 +
	   ?RTYPE #1 + ?RNUMBER #1
	DO CREATE _2 ?REGISTER ?OWNER ?RTYPE ?UNARIES ?RNUMBER AS
	   ?UNARIES #1 + ?OWNER #1 + ?RTYPE #1 + ?RNUMBER #1
	DO CREATE _2 ?REGISTER ?OWNER ,#43, ?UNARIES ?REGISTER ?RNUMBER
	   AS ?UNARIES #1 + ?OWNER #1 + TYP + ?REGISTER #1 + ?RNUMBER
	   #1
	DO CREATE _2 ?OWNER ,, AS ,,
	DO CREATE _2 ?OWNER ?MASTER ?OWNER AS ?OWNER #1 + ?MASTER #1
	DO CREATE _2 ?MASTER ,#36, AS OWN + #1
	DO CREATE _2 ?MASTER ,1, AS OWN + #1
	DO CREATE _2 ?MASTER ,2, AS OWN + #2
	DO CREATE _2 ?MASTER ,3, AS OWN + #3
	DO CREATE _2 ?MASTER ,4, AS OWN + #4
	DO CREATE _2 ?MASTER ,5, AS OWN + #5
	DO CREATE _2 ?MASTER ,6, AS OWN + #6
	DO CREATE _2 ?MASTER ,7, AS OWN + #7
	DO CREATE _2 ?MASTER ,8, AS OWN + #8
	DO CREATE _2 ?MASTER ,9, AS OWN + #9
	DO CREATE _2 ?ELEMENT ?OWNER ?RTYPE ?UNARIES ?CONSTANT
	   ?SUBSCRIPTS AS ?UNARIES #1 + ?SUBSCRIPTS #1 + ?OWNER #1 +
	   ?RTYPE #1 + ?CONSTANT #1
	DO CREATE _2 ?LELEMENT ?OWNER ?RTYPE ?CONSTANT ?SUBSCRIPTS AS
	   ?SUBSCRIPTS #1 + ?OWNER #1 + ?RTYPE #1 + ?CONSTANT #1
	DO CREATE _2 ?SUBSCRIPTS ,SUB, ?EXPRESSION ?MORE_SUBSCRIPTS AS
	   ?MORE_SUBSCRIPTS #1 + SUB + ?EXPRESSION #1
	DO CREATE _2 ?MORE_SUBSCRIPTS ,, AS ,,
	DO CREATE _2 ?MORE_SUBSCRIPTS ,SUB, ?EXPRESSION
	   ?MORE_SUBSCRIPTS AS ?MORE_SUBSCRIPTS #1 + SUB + ?EXPRESSION
	   #1
	DO CREATE _2 ?NONUNARIES ?REGISTER AS ?REGISTER #1
	DO CREATE _2 ?NONUNARIES ?ELEMENT AS ?ELEMENT #1
	DO CREATE _2 ?NONUNARIES ,#45, ?REGISTER AS NUM + ?REGISTER #1
	DO CREATE _2 ?NONUNARIES ,#35, ?UNARIES ?CONSTANT AS ?UNARIES
	   #1 + ?CONSTANT #1
	DO CREATE _2 ?NONUNARIES ,#39, ?UNARIES ?EXPRESSION ,#39, AS
	   ?UNARIES #1 + ?EXPRESSION #1
	DO CREATE _2 ?NONUNARIES ,#34, ?UNARIES ?EXPRESSION ,#34, AS
	   ?UNARIES #1 + ?EXPRESSION #1
	DO CREATE _2 ?NONUNARIES ,#42, AS SPL
	DO CREATE _2 ?BANG ?RNUMBER AS SPO + ?RNUMBER #1
	DO CREATE _2 ?BANG_U ?UNARIES ?RNUMBER AS ?UNARIES #1 + SPO +
	   ?RNUMBER #1
	DO CREATE _2 ?NONUNARIES ?BANG_U ?MAYBE_BINARY ,#39, AS
	   ?MAYBE_BINARY #1 + ?BANG_U #1
	DO CREATE _2 ?NONUNARIES ?BANG ,#47, ?EXPRESSION ,#39, AS OVR +
	   ?EXPRESSION #1 + ?BANG #1
	DO CREATE _2 ?NONUNARIES ?BANG_U ,#92, ?EXPRESSION ,#39, AS OVM
	   + ?EXPRESSION #1 + ?BANG_U #1
	DO CREATE _2 ?RABBIT_U ,#34 + #8 + #46, ?UNARIES ?CONSTANT AS
	   ?UNARIES #1 + SPO + ?CONSTANT #1
	DO CREATE _2 ?RABBIT ,#34 + #8 + #46, ?CONSTANT AS SPO +
	   ?CONSTANT #1
	DO CREATE _2 ?NONUNARIES ?RABBIT_U ?MAYBE_BINARY ,#34, AS
	   ?MAYBE_BINARY #1 + ?RABBIT_U #1
	DO CREATE _2 ?NONUNARIES ?RABBIT ,#47, ?EXPRESSION ,#34, AS OVR
	   + ?EXPRESSION #1 + ?RABBIT #1
	DO CREATE _2 ?NONUNARIES ?RABBIT_U ,#92, ?EXPRESSION ,#34, AS
	   OVM + ?EXPRESSION #1 + ?RABBIT_U #1
	DO CREATE _2 ?EXPRESSION ?NONUNARIES ?MAYBE_BINARY AS
	   ?MAYBE_BINARY #1 + ?NONUNARIES #1
	DO CREATE _2 ?EXPRESSION ?OVERLOADABLE ,#47, ?EXPRESSION AS OVR
	   + ?EXPRESSION #1 + ?OVERLOADABLE #1
	DO CREATE _2 ?EXPRESSION ?NONUNARIES ,#92, ?EXPRESSION AS OVM +
	   ?EXPRESSION #1 + ?NONUNARIES #1
	DO CREATE _2 ?E_LIST ?EXPRESSION=1 AS ?EXPRESSION #1
	DO CREATE _2 ?E_LIST ?EXPRESSION=1 ,#43, ?E_LIST=* AS
	   ?EXPRESSION #1 + ?E_LIST #1
	DO CREATE _2 ?UNARIES ,, AS ,,
	DO CREATE _2 ?UNARIES ?UNARY ?UNARIES AS ?UNARY #1 + ?UNARIES
	   #1
	DO CREATE _2 ?UNARY ,V, AS BUT + #7
	DO CREATE _2 ?UNARY ,#38, AS BUT + #0
	DO CREATE _2 ?UNARY ,#86 + #8 + #45, AS SWB
	DO CREATE _2 ?UNARY ,#165, AS SWB
	DO CREATE _2 ?UNARY ,#63, AS BUT + #1
	DO CREATE _2 ?UNARY ,1, ,#63, AS BUT + #1
	DO CREATE _2 ?UNARY ,2, ,#63, AS BUT + #2
	DO CREATE _2 ?UNARY ,3, ,#63, AS BUT + #3
	DO CREATE _2 ?UNARY ,4, ,#63, AS BUT + #4
	DO CREATE _2 ?UNARY ,5, ,#63, AS BUT + #5
	DO CREATE _2 ?UNARY ,#124, AS AWC
	DO CREATE _2 ?UNARY ,#45, AS UDV
	DO CREATE _2 ?MAYBE_BINARY ,, AS ,,
	DO CREATE _2 ?MAYBE_BINARY ?BINARY ?EXPRESSION AS ?BINARY #1 +
	   ?EXPRESSION #1
	DO CREATE _2 ?BINARY ,#126, AS RSE
	DO CREATE _2 ?BINARY ,#67 + #8 + #47, AS RIN
	DO CREATE _2 ?BINARY ,#67 + #8 + #124, AS RIN
	DO CREATE _2 ?BINARY ,#162, AS RIN
	DO CREATE _2 ?OVERLOADABLE ?REGISTER AS ?REGISTER #1
	DO CREATE _2 ?OVERLOADABLE ?LELEMENT AS ?LELEMENT #1
	DO CREATE _2 ?EXPR_OR_DIM ?EXPRESSION AS ?EXPRESSION #1
	DO CREATE _2 ?EXPR_OR_DIM ?DIMENSION AS MUL + !DIMENSION #1 +
	   ?DIMENSION #1
	DO CREATE _2 ?DIMENSION ?EXPRESSION=1 ,BY, ?EXPRESSION=1
	   ?MORE_DIMENSION=* AS ?EXPRESSION #1 + ?EXPRESSION #2 +
	   ?MORE_DIMENSION #1
	DO CREATE _2 ?MORE_DIMENSION ,, AS ,,
	DO CREATE _2 ?MORE_DIMENSION ,BY, ?DIMENSION=* AS ?DIMENSION #1
	DO CREATE _2 ?LABEL ,#40, ?CONSTANT ,#41, AS ?CONSTANT #1
	DO CREATE _2 ?LABEL ,#40, ?EXPRESSION ,#41, AS ?EXPRESSION #1
	DO CREATE _2 ?LABEL ?EXPRESSION AS ?EXPRESSION #1
	DO CREATE _2 ?IT ,IT, AS ,,
	DO CREATE _2 ?IT ,THEM, AS ,,
	DO CREATE _2 ?THEM ,THEM, AS ,,
	DO CREATE _2 ?THEM ,IT, AS ,,
	DO CREATE _2 ?LEFT ,, AS ,,
	DO CREATE _2 ?LEFT ?LP=1 ?MAYBE_COUNT ?LEFT=* AS ?MAYBE_COUNT
	   #1 + ?LP #1 + ?LEFT #1
	DO CREATE _2 ?LP ?GSYMBOL AS #0 + ?GSYMBOL #1
	DO CREATE _2 ?LP ,#44, ?E_LIST ,#44, AS #1 + MUL + !E_LIST #1 +
	   ?E_LIST #1
	DO CREATE _2 ?LP ,#44, ,#44, AS #1 + STR + #0
	DO CREATE _2 ?LP ,#44, ?SYMBOL ,#44, AS #1 + ?SYMBOL #1
	DO CREATE _2 ?MAYBE_COUNT ,, AS #0
	DO CREATE _2 ?MAYBE_COUNT ,#61, ?CONSTANT AS ?CONSTANT #1
	DO CREATE _2 ?MAYBE_COUNT ,#61, ?EXPRESSION AS ?EXPRESSION #1
	DO CREATE _2 ?MAYBE_COUNT ,#61, ,#42, AS #65535
	DO CREATE _2 ?RIGHT ,, AS ,,
	DO CREATE _2 ?RIGHT ?RIGHT_NONEMPTY=* AS ?RIGHT_NONEMPTY #1
	DO CREATE _2 ?RIGHT_NONEMPTY ?RP=1 ?MORE_RIGHT=* AS ?RP #1 +
	   ?MORE_RIGHT #1
	DO CREATE _2 ?MORE_RIGHT ,, AS ,,
	DO CREATE _2 ?MORE_RIGHT ,#43, ?RIGHT_NONEMPTY=* AS
	   ?RIGHT_NONEMPTY #1
	DO CREATE _2 ?RP ?GSYMBOL ?EXPRESSION AS #0 + ?EXPRESSION #1 +
	   ?GSYMBOL #1
	DO CREATE _2 ?RP ,#44, ?E_LIST ,#44, ?EXPRESSION AS #1 +
	   ?EXPRESSION #1 + MUL + !E_LIST #1 + ?E_LIST #1
	DO CREATE _2 ?RP ,#44, ,#44, AS #4 + #0
	DO CREATE _2 ?RP ,#44, ?SYMBOL ,#44, ?EXPRESSION AS #1 +
	   ?EXPRESSION #1 + ?SYMBOL #1
	DO CREATE _2 ?RP ?BYTECODE AS #4 + !BYTECODE #1 + ?BYTECODE #1
	DO CREATE _2 ?RP ,#33, ?GSYMBOL ?EXPRESSION AS #6 + ?EXPRESSION
	   #1 + ?GSYMBOL #1
	DO CREATE _2 ?RP ,#42, AS #15
	DO CREATE _2 ?BYTECODE ?SPECIAL_REGISTER=* AS ?SPECIAL_REGISTER
	   #1
	DO CREATE _2 ?BYTECODE ?EXPRESSION=1 AS ?EXPRESSION #1
	DO CREATE _2 ?BC_LIST ?BYTECODE=* ?OTHER_BC=* AS ?BYTECODE #1 +
	   ?OTHER_BC #1
	DO CREATE _2 ?OTHER_BC ,, AS ,,
	DO CREATE _2 ?OTHER_BC ,#43, ?BC_LIST=* AS ?BC_LIST #1
	DO CREATE _2 ?REG_EXPR ,REGISTER, AS ,,
	DO CREATE _2 ?REG_EXPR ,EXPRESSION, AS ,,
	DO CREATE _2 ?MAYBE_LIST ,, AS ,,
	DO CREATE _2 ?MAYBE_LIST ,LIST, AS ,,
	DO CREATE _2 ?GSYMBOL ,#63, ?SYMBOL AS ?SYMBOL #1

PLEASE NOTE:  BYTECODE DEFINITION (FROM THE ASSEMBLER)

PLEASE NOTE: NAMES OF "%" REGISTERS
	DO CREATE _2 ?SPECIAL_REGISTER ,#37, ?REG69=* AS ?REG69 #1
	DO CREATE _2 ?REG69 ,WT,=2 AS %WT
	DO CREATE _2 ?REG69 ,AR,=2 AS %AR
	DO CREATE _2 ?REG69 ,AW,=2 AS %AW
	DO CREATE _2 ?REG69 ,JS,=2 AS %JS
	DO CREATE _2 ?REG69 ,SS,=2 AS %SS
	DO CREATE _2 ?REG69 ,PS,=2 AS %PS
	DO CREATE _2 ?REG69 ,FS,=2 AS %FS
	DO CREATE _2 ?REG69 ,ES,=2 AS %ES
	DO CREATE _2 ?REG69 ,IS,=2 AS %IS
	DO CREATE _2 ?REG69 ,DM,=2 AS %DM
	DO CREATE _2 ?REG69 ,SP,=2 AS %SP
	DO CREATE _2 ?REG69 ,RT,=2 AS %RT
	DO CREATE _2 ?REG69 ,TH,=2 AS %TH
	DO CREATE _2 ?REG69 ,RM,=2 AS %RM
	DO CREATE _2 ?REG69 ,IO,=2 AS %IO
	DO CREATE _2 ?REG69 ,BA,=2 AS %BA
	DO CREATE _2 ?REG69 ,CF,=2 AS %CF
	DO CREATE _2 ?REG69 ,CR,=2 AS %CR
	DO CREATE _2 ?REG69 ,CW,=2 AS %CW
	DO CREATE _2 ?REG69 ,OS,=2 AS %OS
	DO CREATE _2 ?REG69 ,TM,=2 AS %TM

PLEASE NOTE: NAMES OF "@" REGISTERS
	DO CREATE _2 ?SPECIAL_REGISTER ,#64, ?REG68=* AS ?REG68 #1
	DO CREATE _2 ?REG68 ,OR,=2 AS @OR
	DO CREATE _2 ?REG68 ,OWFH,=2 AS @OWFH
	DO CREATE _2 ?REG68 ,ORFH,=2 AS @ORFH
	DO CREATE _2 ?REG68 ,OSFH,=2 AS @OSFH
	DO CREATE _2 ?REG68 ,SNFH,=2 AS @SNFH
	DO CREATE _2 ?REG68 ,TRFH,=2 AS @TRFH

PLEASE NOTE: NAMES OF "^" REGISTERS
	DO CREATE _2 ?SPECIAL_REGISTER ,#94, ?REG70=* AS ?REG70 #1
	DO CREATE _2 ?REG70 ,AV,=2 AS ^AV
	DO CREATE _2 ?REG70 ,EV,=2 AS ^EV

PLEASE NOTE: "BYTECODE" INSTRUCTION NAMES
	DO CREATE _2 ?BYTECODE ,ABG,=1 AS ABG
	DO CREATE _2 ?BYTECODE ,ABL,=1 AS ABL
	DO CREATE _2 ?BYTECODE ,AWC,=1 AS AWC
	DO CREATE _2 ?BYTECODE ,BAW,=1 AS BAW
	DO CREATE _2 ?BYTECODE ,BBT,=1 AS BBT
	DO CREATE _2 ?BYTECODE ,BSW,=1 AS BSW
	DO CREATE _2 ?BYTECODE ,BUG,=1 AS BUG
	DO CREATE _2 ?BYTECODE ,BUT,=1 AS BUT
	DO CREATE _2 ?BYTECODE ,BWC,=1 AS BWC
	DO CREATE _2 ?BYTECODE ,CFG,=1 AS CFG
	DO CREATE _2 ?BYTECODE ,CFL,=1 AS CFL
	DO CREATE _2 ?BYTECODE ,CHO,=1 AS CHO
	DO CREATE _2 ?BYTECODE ,CON,=1 AS CON
	DO CREATE _2 ?BYTECODE ,CRE,=1 AS CRE
	DO CREATE _2 ?BYTECODE ,CSE,=1 AS CSE
	DO CREATE _2 ?BYTECODE ,CWB,=1 AS CWB
	DO CREATE _2 ?BYTECODE ,DES,=1 AS DES
	DO CREATE _2 ?BYTECODE ,DOS,=1 AS DOS
	DO CREATE _2 ?BYTECODE ,DSX,=1 AS DSX
	DO CREATE _2 ?BYTECODE ,EBC,=1 AS EBC
	DO CREATE _2 ?BYTECODE ,ECB,=1 AS ECB
	DO CREATE _2 ?BYTECODE ,ENR,=1 AS ENR
	DO CREATE _2 ?BYTECODE ,ENS,=1 AS ENS
	DO CREATE _2 ?BYTECODE ,FIN,=1 AS FIN
	DO CREATE _2 ?BYTECODE ,FLA,=1 AS FLA
	DO CREATE _2 ?BYTECODE ,FOR,=1 AS FOR
	DO CREATE _2 ?BYTECODE ,FRE,=1 AS FRE
	DO CREATE _2 ?BYTECODE ,FRZ,=1 AS FRZ
	DO CREATE _2 ?BYTECODE ,GRA,=1 AS GRA
	DO CREATE _2 ?BYTECODE ,GUP,=1 AS GUP
	DO CREATE _2 ?BYTECODE ,HSN,=1 AS HSN
	DO CREATE _2 ?BYTECODE ,HYB,=1 AS HYB
	DO CREATE _2 ?BYTECODE ,IGN,=1 AS IGN
	DO CREATE _2 ?BYTECODE ,INT,=1 AS INT
	DO CREATE _2 ?BYTECODE ,LAB,=1 AS LAB
	DO CREATE _2 ?BYTECODE ,LEA,=1 AS LEA
	DO CREATE _2 ?BYTECODE ,MKG,=1 AS MKG
	DO CREATE _2 ?BYTECODE ,MSP,=1 AS MSP
	DO CREATE _2 ?BYTECODE ,MUL,=1 AS MUL
	DO CREATE _2 ?BYTECODE ,NOT,=1 AS NOT
	DO CREATE _2 ?BYTECODE ,NUM,=1 AS NUM
	DO CREATE _2 ?BYTECODE ,NXG,=1 AS NXG
	DO CREATE _2 ?BYTECODE ,NXL,=1 AS NXL
	DO CREATE _2 ?BYTECODE ,NXT,=1 AS NXT
	DO CREATE _2 ?BYTECODE ,OPT,=1 AS OPT
	DO CREATE _2 ?BYTECODE ,OSN,=1 AS OSN
	DO CREATE _2 ?BYTECODE ,OVM,=1 AS OVM
	DO CREATE _2 ?BYTECODE ,OVR,=1 AS OVR
	DO CREATE _2 ?BYTECODE ,OWN,=1 AS OWN
	DO CREATE _2 ?BYTECODE ,QUA,=1 AS QUA
	DO CREATE _2 ?BYTECODE ,REG,=1 AS REG
	DO CREATE _2 ?BYTECODE ,REL,=1 AS REL
	DO CREATE _2 ?BYTECODE ,REM,=1 AS REM
	DO CREATE _2 ?BYTECODE ,RES,=1 AS RES
	DO CREATE _2 ?BYTECODE ,RET,=1 AS RET
	DO CREATE _2 ?BYTECODE ,RIN,=1 AS RIN
	DO CREATE _2 ?BYTECODE ,ROM,=1 AS ROM
	DO CREATE _2 ?BYTECODE ,ROR,=1 AS ROR
	DO CREATE _2 ?BYTECODE ,ROU,=1 AS ROU
	DO CREATE _2 ?BYTECODE ,RSE,=1 AS RSE
	DO CREATE _2 ?BYTECODE ,SEL,=1 AS SEL
	DO CREATE _2 ?BYTECODE ,SHF,=1 AS SHF
	DO CREATE _2 ?BYTECODE ,SMU,=1 AS SMU
	DO CREATE _2 ?BYTECODE ,SPL,=1 AS SPL
	DO CREATE _2 ?BYTECODE ,SPO,=1 AS SPO
	DO CREATE _2 ?BYTECODE ,STA,=1 AS STA
	DO CREATE _2 ?BYTECODE ,STE,=1 AS STE
	DO CREATE _2 ?BYTECODE ,STO,=1 AS STO
	DO CREATE _2 ?BYTECODE ,STR,=1 AS STR
	DO CREATE _2 ?BYTECODE ,STS,=1 AS STS
	DO CREATE _2 ?BYTECODE ,STU,=1 AS STU
	DO CREATE _2 ?BYTECODE ,SUB,=1 AS SUB
	DO CREATE _2 ?BYTECODE ,SWA,=1 AS SWA
	DO CREATE _2 ?BYTECODE ,SWB,=1 AS SWB
	DO CREATE _2 ?BYTECODE ,SYS,=1 AS SYS
	DO CREATE _2 ?BYTECODE ,TAI,=1 AS TAI
	DO CREATE _2 ?BYTECODE ,TSP,=1 AS TSP
	DO CREATE _2 ?BYTECODE ,TYP,=1 AS TYP
	DO CREATE _2 ?BYTECODE ,UDV,=1 AS UDV
	DO CREATE _2 ?BYTECODE ,UNE,=1 AS UNE
	DO CREATE _2 ?BYTECODE ,UNS,=1 AS UNS
	DO CREATE _2 ?BYTECODE ,USG,=1 AS USG
	DO CREATE _2 ?BYTECODE ,WHP,=1 AS WHP
	DO CREATE _2 ?BYTECODE ,WIN,=1 AS WIN

	DO GIVE UP