/* The instruction set. */
/* --- The instruction set has been extended for Moscow ML! --- */
/* One instruction per line only. */
enum instructions {
CONSTBYTE,
CONSTSHORT,
SWITCH,
BRANCH,
BRANCHIF,
BRANCHIFNOT,
POPBRANCHIFNOT,
BRANCHIFNEQTAG,
BRANCHIFEQ,
BRANCHIFNEQ,
BRANCHIFLT,
BRANCHIFGT,
BRANCHIFLE,
BRANCHIFGE,
BRANCHINTERVAL,
C_CALL1,
C_CALL2,
C_CALL3,
C_CALL4,
C_CALL5,
C_CALLN,
MAKEBLOCK,
MAKEBLOCK1,
MAKEBLOCK2,
MAKEBLOCK3,
MAKEBLOCK4,
TAGOF,
ACCESS,
ACC0,
ACC1,
ACC2,
ACC3,
ACC4,
ACC5,
ACC6,
ACC7,
PUSHACC,
PUSHACC0,
PUSHACC1,
PUSHACC2,
PUSHACC3,
PUSHACC4,
PUSHACC5,
PUSHACC6,
PUSHACC7,
ENVACC,
ENV1,
ENV2,
ENV3,
ENV4,
ENV5,
ENV6,
ENV7,
PUSHENVACC,
PUSHENV1,
PUSHENV2,
PUSHENV3,
PUSHENV4,
PUSHENV5,
PUSHENV6,
PUSHENV7,
PUSH_ENV1_APPLY1,
PUSH_ENV1_APPLY2,
PUSH_ENV1_APPLY3,
PUSH_ENV1_APPLY4,
PUSH_ENV1_APPTERM1,
PUSH_ENV1_APPTERM2,
PUSH_ENV1_APPTERM3,
PUSH_ENV1_APPTERM4,
PUSHATOM,
ATOM,
PUSHATOM0,
ATOM0,
ATOM1,
ATOM2,
ATOM3,
ATOM4,
ATOM5,
ATOM6,
ATOM7,
ATOM8,
ATOM9,
CONSTINT,
PUSHCONSTINT,
CONST0,
CONST1,
CONST2,
CONST3,
PUSHCONST0,
PUSHCONST1,
PUSHCONST2,
PUSHCONST3,
GETFIELD,
GETFIELD0,
GETFIELD1,
GETFIELD2,
GETFIELD3,
GETFIELD0_0,
GETFIELD0_1,
GETFIELD1_0,
GETFIELD1_1,
SETFIELD,
SETFIELD0,
SETFIELD1,
SETFIELD2,
SETFIELD3,
GETGLOBAL,
PUSH_GETGLOBAL,
PUSH_GETGLOBAL_APPLY1,
PUSH_GETGLOBAL_APPLY2,
PUSH_GETGLOBAL_APPLY3,
PUSH_GETGLOBAL_APPLY4,
PUSH_GETGLOBAL_APPTERM1,
PUSH_GETGLOBAL_APPTERM2,
PUSH_GETGLOBAL_APPTERM3,
PUSH_GETGLOBAL_APPTERM4,
SETGLOBAL,
PUSH_RETADDR,
APPLY,
APPLY1,
APPLY2,
APPLY3,
APPLY4,
APPTERM,
APPTERM1,
APPTERM2,
APPTERM3,
APPTERM4,
RESTART,
GRAB,
RETURN1,
RETURN2,
RETURN,
CLOSURE,
CLOSREC,
DUMMY,
UPDATE,
PUSHTRAP,
RAISE,
POPTRAP,
SWAP,
PUSH,
POP,
ASSIGN,
BOOLNOT,
ADDINT,
SUBINT,
MULINT,
DIVINT,
MODINT,
ANDINT,
ORINT,
XORINT,
SHIFTLEFTINT,
SHIFTRIGHTINTSIGNED,
SHIFTRIGHTINTUNSIGNED,
EQ,
NEQ,
LTINT,
GTINT,
LEINT,
GEINT,
FLOATOFINT,
SMLNEGFLOAT,
SMLADDFLOAT,
SMLSUBFLOAT,
SMLMULFLOAT,
SMLDIVFLOAT,
INTOFFLOAT,
EQFLOAT,
NEQFLOAT,
LTFLOAT,
GTFLOAT,
LEFLOAT,
GEFLOAT,
STRINGLENGTH,
GETSTRINGCHAR,
SETSTRINGCHAR,
EQSTRING,
NEQSTRING,
LTSTRING,
GTSTRING,
LESTRING,
GESTRING,
MAKEVECTOR,
VECTLENGTH,
GETVECTITEM,
SETVECTITEM,
SMLNEGINT,
SMLSUCCINT,
SMLPREDINT,
SMLADDINT,
SMLSUBINT,
SMLMULINT,
SMLDIVINT,
SMLMODINT,
MAKEREFVECTOR,
SMLQUOTINT,
SMLREMINT,
CHECK_SIGNALS,
STOP,
EQUNSIGN,
NEQUNSIGN,
LTUNSIGN,
GTUNSIGN,
LEUNSIGN,
GEUNSIGN
};
syntax highlighted by Code2HTML, v. 0.9.1