Instruction (API documentation of hlt.language packages)
Date: 2013-01-30

hlt.language.design.instructions

## Class Instruction

- java.lang.Object
- - hlt.language.design.instructions.Instruction

- Direct Known Subclasses:
    AbsInt, AbsReal, AddIntInt, AddIntReal, AddRealInt, AddRealReal, ApplyCollectionHomomorphism, ApplyInPlaceIntCollectionFilterHomomorphism, ApplyInPlaceIntCollectionHomomorphism, ApplyInPlaceIntFilterHomomorphism, ApplyInPlaceIntHomomorphism, ApplyInPlaceObjectCollectionFilterHomomorphism, ApplyInPlaceObjectCollectionHomomorphism, ApplyInPlaceObjectFilterHomomorphism, ApplyInPlaceObjectHomomorphism, ApplyInPlaceRealCollectionFilterHomomorphism, ApplyInPlaceRealCollectionHomomorphism, ApplyInPlaceRealFilterHomomorphism, ApplyInPlaceRealHomomorphism, ApplyIntCollection, ApplyIntFilterHomomorphism, ApplyIntHomomorphism, ApplyObjectCollection, ApplyObjectFilterHomomorphism, ApplyObjectHomomorphism, ApplyRealCollection, ApplyRealFilterHomomorphism, ApplyRealHomomorphism, ArrayInitialize, ArraySize, BoxingUnboxingInstruction, CheckArraySize, ContainsObject, DefinedEntryInstruction, DestructiveExclusiveUnion1, DestructiveExclusiveUnion2, DestructiveIntersection1, DestructiveIntersection2, DestructiveSetDifference, DestructiveUnion1, DestructiveUnion2, DivIntInt, DivIntReal, DivRealInt, DivRealReal, DummyAnd, DummyBelongs, DummyEqual, DummyFirst, DummyLast, DummyNext, DummyNextCirc, DummyNextCircOffSet, DummyNextOffSet, DummyOr, DummyOrd, DummyPrev, DummyPrevCirc, DummyPrevCircOffSet, DummyPrevOffSet, DummySetAdd, DummySetRemove, DummySize, DummyStringConcat, DummyUnequal, DummyWrite, End, Enter, EqualInts, EqualObjects, EqualReals, ExclusiveUnion, FieldInstruction, FillArrayFromIntArray, FillArrayFromIntMap, FillArrayFromObjectArray, FillArrayFromObjectMap, FillArrayFromRealArray, FillArrayFromRealMap, FillMapFromIntArray, FillMapFromIntMap, FillMapFromObjectArray, FillMapFromObjectMap, FillMapFromRealArray, FillMapFromRealMap, FirstInt, FirstObject, FirstReal, GetIndexable, GetIntArraySlot, GetIntIndexedIntMapSlot, GetIntIndexedObjectMapSlot, GetIntIndexedRealMapSlot, GetIntMapSlot, GetObjectArraySlot, GetObjectMapSlot, GetRealArraySlot, GetRealMapSlot, GreaterEqualIntInt, GreaterEqualIntReal, GreaterEqualRealInt, GreaterEqualRealReal, GreaterIntInt, GreaterIntReal, GreaterRealInt, GreaterRealReal, IndexableSize, IntArrayToMap, Intersection, IntRangeLower, IntRangeUpper, IntToReal, LastInt, LastObject, LastReal, LessEqualIntInt, LessEqualIntReal, LessEqualRealInt, LessEqualRealReal, LessIntInt, LessIntReal, LessRealInt, LessRealReal, MakeIntArray, MakeIntMap, MakeIntSet, MakeObjectArray, MakeObjectMap, MakeObjectSet, MakeRealArray, MakeRealMap, MakeRealSet, MapSize, MapToArray, MaxIntInt, MaxIntReal, MaxRealInt, MaxRealReal, MinIntInt, MinIntReal, MinRealInt, MinRealReal, MinusInt, MinusReal, Modulo, MulIntInt, MulIntReal, MulRealInt, MulRealReal, NextInt, NextIntCirc, NextIntCircOffSet, NextIntOffSet, NextObject, NextObjectCirc, NextObjectCircOffSet, NextObjectOffSet, NextReal, NextRealCirc, NextRealCircOffSet, NextRealOffSet, NoOp, Not, ObjectArrayToMap, OffsetInstruction, OrdInt, OrdObject, OrdReal, PopInt, PopObject, PopReal, Power, PrevInt, PrevIntCirc, PrevIntCircOffSet, PrevIntOffSet, PrevObject, PrevObjectCirc, PrevObjectCircOffSet, PrevObjectOffSet, PrevReal, PrevRealCirc, PrevRealCircOffSet, PrevRealOffSet, PushIntArray, PushIntMap, PushIntRange, PushIntSet, PushNewObject, PushObjectArray, PushObjectMap, PushObjectSet, PushRealArray, PushRealMap, PushRealRange, PushRealSet, PushScope, PushTuple, PushValueInt, PushValueObject, PushValueReal, Random, RealArrayToMap, RealRangeLower, RealRangeUpper, RealToInt, ReconcileIndexables, Relocatable, ReturnInstruction, SetCopy, SetDifference, SetElementInstruction, SetIntArraySlot, SetIntIndexedIntMapSlot, SetIntIndexedObjectMapSlot, SetIntIndexedRealMapSlot, SetIntMapSlot, SetObjectArraySlot, SetObjectMapSlot, SetRealArraySlot, SetRealMapSlot, ShuffleIntMap, ShuffleObjectMap, ShuffleRealMap, SlicingInstruction, SquareRoot, Stop, StopOnFalse, SubIntInt, SubIntReal, SubRealInt, SubRealReal, Subset, TupleComponentInstruction, TypedInstruction, UnequalInts, UnequalObjects, UnequalReals, Union, WriteReal

      public abstract class Instruction
      extends java.lang.Object

  This class is the mother of all instructions that may be executed in a `Runtime` object. It requires only one method `execute(Runtime)` defining the way it effects the runtime object. It also contains all the static constants defining instructions that do not have parameters and thus need not be duplicated for each occurrence.

  The complete list of instructions that are currently defined is:

  - Push instructions:
    - `PUSH_CLOSURE`
    - `PUSH_NEW_OBJECT`
    - `PUSH_OFFSET_I`
    - `PUSH_OFFSET_O`
    - `PUSH_OFFSET_R`
    - `PUSH_I`
    - `PUSH_O`
    - `PUSH_R`
    - `PUSH_TUPLE`
    - `PUSH_SET_I`
    - `PUSH_SET_R`
    - `PUSH_SET_O`
    - `PUSH_INT_RNG`
    - `PUSH_REAL_RNG`
  - Subroutine instructions:
    - `NO_OP`
    - `APPLY`
    - `APPLY_HOM_I`
    - `APPLY_HOM_R`
    - `APPLY_HOM_O`
    - `APPLY_IP_HOM_I`
    - `APPLY_IP_HOM_R`
    - `APPLY_IP_HOM_O`
    - `APPLY_COLL_I`
    - `APPLY_COLL_R`
    - `APPLY_COLL_O`
    - `APPLY_COLL_HOM_I`
    - `APPLY_COLL_HOM_R`
    - `APPLY_COLL_HOM_O`
    - `APPLY_FHOM_I`
    - `APPLY_FHOM_R`
    - `APPLY_FHOM_O`
    - `APPLY_IP_FHOM_I`
    - `APPLY_IP_FHOM_R`
    - `APPLY_IP_FHOM_O`
    - `APPLY_COLL_I`
    - `APPLY_COLL_R`
    - `APPLY_COLL_O`
    - `APPLY_COLL_FHOM_I`
    - `APPLY_COLL_FHOM_R`
    - `APPLY_COLL_FHOM_O`
    - `CALL`
    - `END`
    - `STOP`
    - `STOP_ON_FALSE`
    - `RETURN_VOID`
    - `RETURN_I`
    - `RETURN_O`
    - `RETURN_R`
    - `NL_RETURN_VOID`
    - `NL_RETURN_I`
    - `NL_RETURN_O`
    - `NL_RETURN_R`
  - Pop instructions:
    - `POP_I`
    - `POP_O`
    - `POP_R`
  - Relocatable instructions:
    - `JUMP`
    - `JUMP_ON_FALSE`
    - `JUMP_ON_TRUE`
  - Conversion instructions:
    - `I_TO_O`
    - `I_TO_R`
    - `O_TO_I`
    - `O_TO_R`
    - `R_TO_I`
    - `R_TO_O`
    - `ARRAY_TO_MAP_I`
    - `ARRAY_TO_MAP_R`
    - `ARRAY_TO_MAP_O`
    - `MAP_TO_ARRAY_O`
    - `CHECK_ARRAY_SIZE`
    - `RECONCILE_INDEXABLES`
    - `ARRAY_INITIALIZE`
    - `SHUFFLE_MAP_I`
    - `SHUFFLE_MAP_R`
    - `SHUFFLE_MAP_O`
  - Assignment instructions:
    - `SET_GLOBAL`
    - `SET_OFFSET_I`
    - `SET_OFFSET_O`
    - `SET_OFFSET_R`
  - Tuple component instructions:
    - `GET_TUPLE_I`
    - `GET_TUPLE_R`
    - `GET_TUPLE_O`
    - `SET_TUPLE_I`
    - `SET_TUPLE_R`
    - `SET_TUPLE_O`
  - Array/Map allocation instructions:
    - `PUSH_ARRAY_I`
    - `PUSH_ARRAY_R`
    - `PUSH_ARRAY_O`
    - `PUSH_MAP_I`
    - `PUSH_MAP_R`
    - `PUSH_MAP_O`
    - `MAKE_ARRAY_I`
    - `MAKE_ARRAY_R`
    - `MAKE_ARRAY_O`
    - `MAKE_MAP_I`
    - `MAKE_MAP_R`
    - `MAKE_MAP_O`
    - `FILL_ARRAY_IA`
    - `FILL_ARRAY_IM`
    - `FILL_ARRAY_OA`
    - `FILL_ARRAY_OM`
    - `FILL_ARRAY_RA`
    - `FILL_ARRAY_RM`
    - `FILL_MAP_IA`
    - `FILL_MAP_IM`
    - `FILL_MAP_OA`
    - `FILL_MAP_OM`
    - `FILL_MAP_RA`
    - `FILL_MAP_RM`
  - Array/Map slot instructions:
    - `GET_ARRAY_I`
    - `GET_INT_INDEXED_MAP_I`
    - `GET_INT_INDEXED_MAP_O`
    - `GET_INT_INDEXED_MAP_R`
    - `GET_MAP_I`
    - `GET_ARRAY_O`
    - `GET_MAP_O`
    - `GET_ARRAY_R`
    - `GET_MAP_R`
    - `SET_ARRAY_I`
    - `SET_INT_INDEXED_MAP_I`
    - `SET_INT_INDEXED_MAP_O`
    - `SET_INT_INDEXED_MAP_R`
    - `SET_MAP_I`
    - `SET_ARRAY_O`
    - `SET_MAP_O`
    - `SET_ARRAY_R`
    - `SET_MAP_R`
  - Field instructions:
    - `GET_FIELD_I`
    - `GET_FIELD_O`
    - `GET_FIELD_R`
    - `SET_FIELD_I`
    - `SET_FIELD_O`
    - `SET_FIELD_R`
  - Built-in operations:
    - Arithmetic operations:
      - `ADD_II`
      - `ADD_IR`
      - `ADD_RI`
      - `ADD_RR`
      - `SUB_II`
      - `SUB_IR`
      - `SUB_RI`
      - `SUB_RR`
      - `MINUS_I`
      - `MINUS_R`
      - `MUL_II`
      - `MUL_IR`
      - `MUL_RI`
      - `MUL_RR`
      - `DIV_II`
      - `DIV_IR`
      - `DIV_RI`
      - `DIV_RR`
      - `MODULO`
      - `MIN_II`
      - `MIN_IR`
      - `MIN_RI`
      - `MIN_RR`
      - `MAX_II`
      - `MAX_IR`
      - `MAX_RI`
      - `MAX_RR`
      - `ABS_I_RI`
      - `ABS_R`
      - `SQRT`
      - `POWER`
      - `RANDOM`
    - Arithmetic relations:
      - `EQU_II`
      - `EQU_OO`
      - `EQU_RR`
      - `NEQ_II`
      - `NEQ_OO`
      - `NEQ_RR`
      - `GTE_II`
      - `GTE_IR`
      - `GTE_RI`
      - `GTE_RR`
      - `GRT_II`
      - `GRT_IR`
      - `GRT_RI`
      - `GRT_RR`
      - `LTE_II`
      - `LTE_IR`
      - `LTE_RI`
      - `LTE_RR`
      - `LST_II`
      - `LST_IR`
      - `LST_RI`
      - `LST_RR`
    - Boolean operations:
      - `NOT`
    - Map and Size operations:
      - `MAP_SIZE`
      - `ARRAY_SIZE`
      - `INDEXABLE_SIZE`
      - `GET_INDEXABLE`
    - Container operations:
      - `BELONGS_I`
      - `BELONGS_O`
      - `BELONGS_R`
    - Set operations:
      - `SET_COPY`
      - `MAKE_SET_I`
      - `MAKE_SET_O`
      - `MAKE_SET_R`
      - `UNION`
      - `INTER`
      - `XNION`
      - `SDIFF`
      - `D_UNION_1`
      - `D_INTER_1`
      - `D_XNION_1`
      - `D_UNION_2`
      - `D_INTER_2`
      - `D_XNION_2`
      - `D_SDIFF`
    - Set relations:
      - `SUBSET`
    - Set element operations:
      - `SET_ADD_I`
      - `SET_ADD_R`
      - `SET_ADD_O`
      - `SET_RMV_I`
      - `SET_RMV_R`
      - `SET_RMV_O`
      - `FIRST_I`
      - `FIRST_O`
      - `FIRST_R`
      - `LAST_I`
      - `LAST_O`
      - `LAST_R`
      - `NEXT_I`
      - `NEXT_C_I`
      - `NEXT_O`
      - `NEXT_C_O`
      - `NEXT_R`
      - `NEXT_C_R`
      - `ORD_I`
      - `ORD_O`
      - `ORD_R`
      - `PREV_I`
      - `PREV_C_I`
      - `PREV_O`
      - `PREV_C_O`
      - `PREV_R`
      - `PREV_C_R`
    - Range operations:
      - `INT_RNG_UB`
      - `INT_RNG_LB`
      - `REAL_RNG_UB`
      - `REAL_RNG_LB`
    - String operations:
      - `STRCON`
    - I/O operations:
      - `WRITE_I`
      - `WRITE_O`
      - `WRITE_R`
  - Dummy instructions:
    - `DUMMY_EQU`
    - `DUMMY_NEQ`
    - `DUMMY_AND`
    - `DUMMY_OR`
    - `DUMMY_STRCON`
    - `DUMMY_WRITE`
    - `DUMMY_SIZE`
    - `DUMMY_SET_ADD`
    - `DUMMY_SET_RMV`
    - `DUMMY_BELONGS`
    - `DUMMY_ORD`
    - `DUMMY_FIRST`
    - `DUMMY_LAST`
    - `DUMMY_NEXT`
    - `DUMMY_NEXT_C`
    - `DUMMY_PREV`
    - `DUMMY_PREV_C`
    - `DUMMY_NEXT_OFFSET`
    - `DUMMY_NEXT_C_OFFSET`
    - `DUMMY_PREV_OFFSET`
    - `DUMMY_PREV_C_OFFSET`

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static Instruction` | `ABS_I`
    `static Instruction` | `ABS_R`
    `static Instruction` | `ADD_II`
    `static Instruction` | `ADD_IR`
    `static Instruction` | `ADD_RI`
    `static Instruction` | `ADD_RR`
    `static Instruction` | `APPLY_COLL_I`
    `static Instruction` | `APPLY_COLL_O`
    `static Instruction` | `APPLY_COLL_R`
    `static Instruction` | `APPLY_FHOM_I`
    `static Instruction` | `APPLY_FHOM_O`
    `static Instruction` | `APPLY_FHOM_R`
    `static Instruction` | `APPLY_HOM_I`
    `static Instruction` | `APPLY_HOM_O`
    `static Instruction` | `APPLY_HOM_R`
    `static Instruction` | `APPLY_IP_FHOM_I`
    `static Instruction` | `APPLY_IP_FHOM_O`
    `static Instruction` | `APPLY_IP_FHOM_R`
    `static Instruction` | `APPLY_IP_HOM_I`
    `static Instruction` | `APPLY_IP_HOM_O`
    `static Instruction` | `APPLY_IP_HOM_R`
    `static Instruction` | `ARRAY_INITIALIZE`
    `static Instruction` | `ARRAY_SIZE`
    `static Instruction` | `ARRAY_TO_MAP_I`
    `static Instruction` | `ARRAY_TO_MAP_O`
    `static Instruction` | `ARRAY_TO_MAP_R`
    `static Instruction` | `BELONGS_I`
    `static Instruction` | `BELONGS_O`
    `static Instruction` | `BELONGS_R`
    `static Instruction` | `CHECK_ARRAY_SIZE`
    `static Instruction` | `D_INTER_1`
    `static Instruction` | `D_INTER_2`
    `static Instruction` | `D_SDIFF`
    `static Instruction` | `D_UNION_1`
    `static Instruction` | `D_UNION_2`
    `static Instruction` | `D_XNION_1`
    `static Instruction` | `D_XNION_2`
    `static Instruction` | `DIV_II`
    `static Instruction` | `DIV_IR`
    `static Instruction` | `DIV_RI`
    `static Instruction` | `DIV_RR`
    `static Instruction` | `DUMMY_AND`
    `static Instruction` | `DUMMY_BELONGS`
    `static Instruction` | `DUMMY_EQU`
    `static Instruction` | `DUMMY_FIRST`
    `static Instruction` | `DUMMY_LAST`
    `static Instruction` | `DUMMY_NEQ`
    `static Instruction` | `DUMMY_NEXT`
    `static Instruction` | `DUMMY_NEXT_C`
    `static Instruction` | `DUMMY_NEXT_C_OFFSET`
    `static Instruction` | `DUMMY_NEXT_OFFSET`
    `static Instruction` | `DUMMY_OR`
    `static Instruction` | `DUMMY_ORD`
    `static Instruction` | `DUMMY_PREV`
    `static Instruction` | `DUMMY_PREV_C`
    `static Instruction` | `DUMMY_PREV_C_OFFSET`
    `static Instruction` | `DUMMY_PREV_OFFSET`
    `static Instruction` | `DUMMY_SET_ADD`
    `static Instruction` | `DUMMY_SET_RMV`
    `static Instruction` | `DUMMY_SIZE`
    `static Instruction` | `DUMMY_STRCON`
    `static Instruction` | `DUMMY_WRITE`
    `static Instruction` | `END`
    `static Instruction` | `EQU_II`
    `static Instruction` | `EQU_OO`
    `static Instruction` | `EQU_RR`
    `static Instruction` | `FILL_ARRAY_IA`
    `static Instruction` | `FILL_ARRAY_IM`
    `static Instruction` | `FILL_ARRAY_OA`
    `static Instruction` | `FILL_ARRAY_OM`
    `static Instruction` | `FILL_ARRAY_RA`
    `static Instruction` | `FILL_ARRAY_RM`
    `static Instruction` | `FILL_MAP_IA`
    `static Instruction` | `FILL_MAP_IM`
    `static Instruction` | `FILL_MAP_OA`
    `static Instruction` | `FILL_MAP_OM`
    `static Instruction` | `FILL_MAP_RA`
    `static Instruction` | `FILL_MAP_RM`
    `static Instruction` | `FIRST_I`
    `static Instruction` | `FIRST_O`
    `static Instruction` | `FIRST_R`
    `static Instruction` | `GET_ARRAY_I`
    `static Instruction` | `GET_ARRAY_O`
    `static Instruction` | `GET_ARRAY_R`
    `static Instruction` | `GET_INDEXABLE`
    `static Instruction` | `GET_INT_INDEXED_MAP_I`
    `static Instruction` | `GET_INT_INDEXED_MAP_O`
    `static Instruction` | `GET_INT_INDEXED_MAP_R`
    `static Instruction` | `GET_MAP_I`
    `static Instruction` | `GET_MAP_O`
    `static Instruction` | `GET_MAP_R`
    `static Instruction` | `GRT_II`
    `static Instruction` | `GRT_IR`
    `static Instruction` | `GRT_RI`
    `static Instruction` | `GRT_RR`
    `static Instruction` | `GTE_II`
    `static Instruction` | `GTE_IR`
    `static Instruction` | `GTE_RI`
    `static Instruction` | `GTE_RR`
    `static Instruction` | `I_TO_O`
    `static Instruction` | `I_TO_R`
    `static Instruction` | `INDEXABLE_SIZE`
    `static Instruction` | `INT_RNG_LB`
    `static Instruction` | `INT_RNG_UB`
    `static Instruction` | `INTER`
    `static Instruction` | `LAST_I`
    `static Instruction` | `LAST_O`
    `static Instruction` | `LAST_R`
    `static Instruction` | `LST_II`
    `static Instruction` | `LST_IR`
    `static Instruction` | `LST_RI`
    `static Instruction` | `LST_RR`
    `static Instruction` | `LTE_II`
    `static Instruction` | `LTE_IR`
    `static Instruction` | `LTE_RI`
    `static Instruction` | `LTE_RR`
    `static Instruction` | `MAKE_ARRAY_I`
    `static Instruction` | `MAKE_ARRAY_O`
    `static Instruction` | `MAKE_ARRAY_R`
    `static Instruction` | `MAKE_MAP_I`
    `static Instruction` | `MAKE_MAP_O`
    `static Instruction` | `MAKE_MAP_R`
    `static Instruction` | `MAKE_SET_I`
    `static Instruction` | `MAKE_SET_O`
    `static Instruction` | `MAKE_SET_R`
    `static Instruction` | `MAP_SIZE`
    `static Instruction` | `MAP_TO_ARRAY`
    `static Instruction` | `MAX_II`
    `static Instruction` | `MAX_IR`
    `static Instruction` | `MAX_RI`
    `static Instruction` | `MAX_RR`
    `static Instruction` | `MIN_II`
    `static Instruction` | `MIN_IR`
    `static Instruction` | `MIN_RI`
    `static Instruction` | `MIN_RR`
    `static Instruction` | `MINUS_I`
    `static Instruction` | `MINUS_R`
    `static Instruction` | `MODULO`
    `static Instruction` | `MUL_II`
    `static Instruction` | `MUL_IR`
    `static Instruction` | `MUL_RI`
    `static Instruction` | `MUL_RR`
    `static Instruction` | `NEQ_II`
    `static Instruction` | `NEQ_OO`
    `static Instruction` | `NEQ_RR`
    `static Instruction` | `NEXT_C_I`
    `static Instruction` | `NEXT_C_I_OFFSET`
    `static Instruction` | `NEXT_C_O`
    `static Instruction` | `NEXT_C_O_OFFSET`
    `static Instruction` | `NEXT_C_R`
    `static Instruction` | `NEXT_C_R_OFFSET`
    `static Instruction` | `NEXT_I`
    `static Instruction` | `NEXT_I_OFFSET`
    `static Instruction` | `NEXT_O`
    `static Instruction` | `NEXT_O_OFFSET`
    `static Instruction` | `NEXT_R`
    `static Instruction` | `NEXT_R_OFFSET`
    `static Instruction` | `NL_RETURN_I`
    `static Instruction` | `NL_RETURN_O`
    `static Instruction` | `NL_RETURN_R`
    `static Instruction` | `NL_RETURN_VOID`
    `static Instruction` | `NO_OP` Handy names for some Built-in (i.e., canonical) instructions.
    `static Instruction` | `NOT`
    `static Instruction` | `O_TO_I`
    `static Instruction` | `O_TO_R`
    `static Instruction` | `ORD_I`
    `static Instruction` | `ORD_O`
    `static Instruction` | `ORD_R`
    `static Instruction` | `POP_I`
    `static Instruction` | `POP_O`
    `static Instruction` | `POP_R`
    `static Instruction` | `POWER`
    `static Instruction` | `PREV_C_I`
    `static Instruction` | `PREV_C_I_OFFSET`
    `static Instruction` | `PREV_C_O`
    `static Instruction` | `PREV_C_O_OFFSET`
    `static Instruction` | `PREV_C_R`
    `static Instruction` | `PREV_C_R_OFFSET`
    `static Instruction` | `PREV_I`
    `static Instruction` | `PREV_I_OFFSET`
    `static Instruction` | `PREV_O`
    `static Instruction` | `PREV_O_OFFSET`
    `static Instruction` | `PREV_R`
    `static Instruction` | `PREV_R_OFFSET`
    `static Instruction` | `PUSH_0_I`
    `static Instruction` | `PUSH_0_R`
    `static Instruction` | `PUSH_1_I`
    `static Instruction` | `PUSH_ARRAY_I`
    `static Instruction` | `PUSH_ARRAY_O`
    `static Instruction` | `PUSH_ARRAY_R`
    `static Instruction` | `PUSH_BOXED_FALSE`
    `static Instruction` | `PUSH_BOXED_TRUE`
    `static Instruction` | `PUSH_BOXED_VOID`
    `static Instruction` | `PUSH_EMPTY_STR`
    `static Instruction` | `PUSH_FALSE`
    `static Instruction` | `PUSH_INT_RNG`
    `static Instruction` | `PUSH_MAP_I`
    `static Instruction` | `PUSH_MAP_O`
    `static Instruction` | `PUSH_MAP_R`
    `static Instruction` | `PUSH_NULL`
    `static Instruction` | `PUSH_ONE`
    `static Instruction` | `PUSH_REAL_RNG`
    `static Instruction` | `PUSH_SET_I`
    `static Instruction` | `PUSH_SET_O`
    `static Instruction` | `PUSH_SET_R`
    `static Instruction` | `PUSH_TRUE`
    `static Instruction` | `PUSH_VOID` Handy names for some oft used instructions.
    `static Instruction` | `PUSH_ZERO_I`
    `static Instruction` | `PUSH_ZERO_R`
    `static Instruction` | `R_TO_I`
    `static Instruction` | `R_TO_O`
    `static Instruction` | `RANDOM`
    `static Instruction` | `REAL_RNG_LB`
    `static Instruction` | `REAL_RNG_UB`
    `static Instruction` | `RECONCILE_INDEXABLES`
    `static Instruction` | `RETURN_I`
    `static Instruction` | `RETURN_O`
    `static Instruction` | `RETURN_R`
    `static Instruction` | `RETURN_VOID`
    `static Instruction` | `SDIFF`
    `static Instruction` | `SET_ADD_I`
    `static Instruction` | `SET_ADD_O`
    `static Instruction` | `SET_ADD_R`
    `static Instruction` | `SET_ARRAY_I`
    `static Instruction` | `SET_ARRAY_O`
    `static Instruction` | `SET_ARRAY_R`
    `static Instruction` | `SET_COPY`
    `static Instruction` | `SET_INT_INDEXED_MAP_I`
    `static Instruction` | `SET_INT_INDEXED_MAP_O`
    `static Instruction` | `SET_INT_INDEXED_MAP_R`
    `static Instruction` | `SET_MAP_I`
    `static Instruction` | `SET_MAP_O`
    `static Instruction` | `SET_MAP_R`
    `static Instruction` | `SET_RMV_I`
    `static Instruction` | `SET_RMV_O`
    `static Instruction` | `SET_RMV_R`
    `static Instruction` | `SHUFFLE_MAP_I`
    `static Instruction` | `SHUFFLE_MAP_O`
    `static Instruction` | `SHUFFLE_MAP_R`
    `static Instruction` | `SQRT`
    `static Instruction` | `STOP`
    `static Instruction` | `STOP_ON_FALSE`
    `static Instruction` | `SUB_II`
    `static Instruction` | `SUB_IR`
    `static Instruction` | `SUB_RI`
    `static Instruction` | `SUB_RR`
    `static Instruction` | `SUBSET`
    `static Instruction` | `UNION`
    `static Instruction` | `WRITE_R`
    `static Instruction` | `XNION`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `Instruction()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `dummify()`
    `boolean` | `equals(java.lang.Object object)`
    `void` | `execute(Runtime runtime)` Execute this instruction in the specified runtime by changing the runtime's state according to this instruction's operational semantics.
    `int` | `hashCode()`
    `boolean` | `isDummy()`
    `boolean` | `isReturn()`
    `java.lang.String` | `name()`
    `java.lang.String` | `toString()`

    - ### Methods inherited from class java.lang.Object

      `getClass, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### DUMMY_EQU

          public static final Instruction DUMMY_EQU

    - #### DUMMY_NEQ

          public static final Instruction DUMMY_NEQ

    - #### DUMMY_AND

          public static final Instruction DUMMY_AND

    - #### DUMMY_OR

          public static final Instruction DUMMY_OR

    - #### DUMMY_STRCON

          public static final Instruction DUMMY_STRCON

    - #### DUMMY_WRITE

          public static final Instruction DUMMY_WRITE

    - #### DUMMY_SIZE

          public static final Instruction DUMMY_SIZE

    - #### DUMMY_SET_ADD

          public static final Instruction DUMMY_SET_ADD

    - #### DUMMY_SET_RMV

          public static final Instruction DUMMY_SET_RMV

    - #### DUMMY_BELONGS

          public static final Instruction DUMMY_BELONGS

    - #### DUMMY_ORD

          public static final Instruction DUMMY_ORD

    - #### DUMMY_FIRST

          public static final Instruction DUMMY_FIRST

    - #### DUMMY_LAST

          public static final Instruction DUMMY_LAST

    - #### DUMMY_NEXT

          public static final Instruction DUMMY_NEXT

    - #### DUMMY_NEXT_C

          public static final Instruction DUMMY_NEXT_C

    - #### DUMMY_PREV

          public static final Instruction DUMMY_PREV

    - #### DUMMY_PREV_C

          public static final Instruction DUMMY_PREV_C

    - #### DUMMY_NEXT_OFFSET

          public static final Instruction DUMMY_NEXT_OFFSET

    - #### DUMMY_NEXT_C_OFFSET

          public static final Instruction DUMMY_NEXT_C_OFFSET

    - #### DUMMY_PREV_OFFSET

          public static final Instruction DUMMY_PREV_OFFSET

    - #### DUMMY_PREV_C_OFFSET

          public static final Instruction DUMMY_PREV_C_OFFSET

    - #### NO_OP

          public static final Instruction NO_OP

      Handy names for some Built-in (i.e., canonical) instructions.

    - #### END

          public static final Instruction END

    - #### STOP

          public static final Instruction STOP

    - #### STOP_ON_FALSE

          public static final Instruction STOP_ON_FALSE

    - #### APPLY_HOM_I

          public static final Instruction APPLY_HOM_I

    - #### APPLY_HOM_R

          public static final Instruction APPLY_HOM_R

    - #### APPLY_HOM_O

          public static final Instruction APPLY_HOM_O

    - #### APPLY_IP_HOM_I

          public static final Instruction APPLY_IP_HOM_I

    - #### APPLY_IP_HOM_R

          public static final Instruction APPLY_IP_HOM_R

    - #### APPLY_IP_HOM_O

          public static final Instruction APPLY_IP_HOM_O

    - #### APPLY_FHOM_I

          public static final Instruction APPLY_FHOM_I

    - #### APPLY_FHOM_R

          public static final Instruction APPLY_FHOM_R

    - #### APPLY_FHOM_O

          public static final Instruction APPLY_FHOM_O

    - #### APPLY_IP_FHOM_I

          public static final Instruction APPLY_IP_FHOM_I

    - #### APPLY_IP_FHOM_R

          public static final Instruction APPLY_IP_FHOM_R

    - #### APPLY_IP_FHOM_O

          public static final Instruction APPLY_IP_FHOM_O

    - #### APPLY_COLL_I

          public static final Instruction APPLY_COLL_I

    - #### APPLY_COLL_R

          public static final Instruction APPLY_COLL_R

    - #### APPLY_COLL_O

          public static final Instruction APPLY_COLL_O

    - #### POP_I

          public static final Instruction POP_I

    - #### POP_R

          public static final Instruction POP_R

    - #### POP_O

          public static final Instruction POP_O

    - #### RETURN_VOID

          public static final Instruction RETURN_VOID

    - #### RETURN_I

          public static final Instruction RETURN_I

    - #### RETURN_R

          public static final Instruction RETURN_R

    - #### RETURN_O

          public static final Instruction RETURN_O

    - #### NL_RETURN_VOID

          public static final Instruction NL_RETURN_VOID

    - #### NL_RETURN_I

          public static final Instruction NL_RETURN_I

    - #### NL_RETURN_R

          public static final Instruction NL_RETURN_R

    - #### NL_RETURN_O

          public static final Instruction NL_RETURN_O

    - #### I_TO_R

          public static final Instruction I_TO_R

    - #### R_TO_I

          public static final Instruction R_TO_I

    - #### I_TO_O

          public static final Instruction I_TO_O

    - #### O_TO_I

          public static final Instruction O_TO_I

    - #### R_TO_O

          public static final Instruction R_TO_O

    - #### O_TO_R

          public static final Instruction O_TO_R

    - #### ARRAY_TO_MAP_I

          public static final Instruction ARRAY_TO_MAP_I

    - #### ARRAY_TO_MAP_R

          public static final Instruction ARRAY_TO_MAP_R

    - #### ARRAY_TO_MAP_O

          public static final Instruction ARRAY_TO_MAP_O

    - #### MAP_TO_ARRAY

          public static final Instruction MAP_TO_ARRAY

    - #### CHECK_ARRAY_SIZE

          public static final Instruction CHECK_ARRAY_SIZE

    - #### RECONCILE_INDEXABLES

          public static final Instruction RECONCILE_INDEXABLES

    - #### ARRAY_INITIALIZE

          public static final Instruction ARRAY_INITIALIZE

    - #### PUSH_ARRAY_I

          public static final Instruction PUSH_ARRAY_I

    - #### PUSH_ARRAY_R

          public static final Instruction PUSH_ARRAY_R

    - #### PUSH_ARRAY_O

          public static final Instruction PUSH_ARRAY_O

    - #### MAKE_ARRAY_I

          public static final Instruction MAKE_ARRAY_I

    - #### MAKE_ARRAY_R

          public static final Instruction MAKE_ARRAY_R

    - #### MAKE_ARRAY_O

          public static final Instruction MAKE_ARRAY_O

    - #### FILL_ARRAY_IA

          public static final Instruction FILL_ARRAY_IA

    - #### FILL_ARRAY_OA

          public static final Instruction FILL_ARRAY_OA

    - #### FILL_ARRAY_RA

          public static final Instruction FILL_ARRAY_RA

    - #### FILL_ARRAY_IM

          public static final Instruction FILL_ARRAY_IM

    - #### FILL_ARRAY_OM

          public static final Instruction FILL_ARRAY_OM

    - #### FILL_ARRAY_RM

          public static final Instruction FILL_ARRAY_RM

    - #### GET_ARRAY_I

          public static final Instruction GET_ARRAY_I

    - #### GET_ARRAY_O

          public static final Instruction GET_ARRAY_O

    - #### GET_ARRAY_R

          public static final Instruction GET_ARRAY_R

    - #### SET_ARRAY_I

          public static final Instruction SET_ARRAY_I

    - #### SET_ARRAY_O

          public static final Instruction SET_ARRAY_O

    - #### SET_ARRAY_R

          public static final Instruction SET_ARRAY_R

    - #### PUSH_MAP_I

          public static final Instruction PUSH_MAP_I

    - #### PUSH_MAP_R

          public static final Instruction PUSH_MAP_R

    - #### PUSH_MAP_O

          public static final Instruction PUSH_MAP_O

    - #### MAKE_MAP_I

          public static final Instruction MAKE_MAP_I

    - #### MAKE_MAP_R

          public static final Instruction MAKE_MAP_R

    - #### MAKE_MAP_O

          public static final Instruction MAKE_MAP_O

    - #### SHUFFLE_MAP_I

          public static final Instruction SHUFFLE_MAP_I

    - #### SHUFFLE_MAP_R

          public static final Instruction SHUFFLE_MAP_R

    - #### SHUFFLE_MAP_O

          public static final Instruction SHUFFLE_MAP_O

    - #### FILL_MAP_IA

          public static final Instruction FILL_MAP_IA

    - #### FILL_MAP_OA

          public static final Instruction FILL_MAP_OA

    - #### FILL_MAP_RA

          public static final Instruction FILL_MAP_RA

    - #### FILL_MAP_IM

          public static final Instruction FILL_MAP_IM

    - #### FILL_MAP_OM

          public static final Instruction FILL_MAP_OM

    - #### FILL_MAP_RM

          public static final Instruction FILL_MAP_RM

    - #### GET_MAP_I

          public static final Instruction GET_MAP_I

    - #### GET_MAP_O

          public static final Instruction GET_MAP_O

    - #### GET_MAP_R

          public static final Instruction GET_MAP_R

    - #### SET_MAP_I

          public static final Instruction SET_MAP_I

    - #### SET_MAP_O

          public static final Instruction SET_MAP_O

    - #### SET_MAP_R

          public static final Instruction SET_MAP_R

    - #### GET_INT_INDEXED_MAP_I

          public static final Instruction GET_INT_INDEXED_MAP_I

    - #### GET_INT_INDEXED_MAP_O

          public static final Instruction GET_INT_INDEXED_MAP_O

    - #### GET_INT_INDEXED_MAP_R

          public static final Instruction GET_INT_INDEXED_MAP_R

    - #### SET_INT_INDEXED_MAP_I

          public static final Instruction SET_INT_INDEXED_MAP_I

    - #### SET_INT_INDEXED_MAP_O

          public static final Instruction SET_INT_INDEXED_MAP_O

    - #### SET_INT_INDEXED_MAP_R

          public static final Instruction SET_INT_INDEXED_MAP_R

    - #### PUSH_INT_RNG

          public static final Instruction PUSH_INT_RNG

    - #### INT_RNG_LB

          public static final Instruction INT_RNG_LB

    - #### INT_RNG_UB

          public static final Instruction INT_RNG_UB

    - #### PUSH_REAL_RNG

          public static final Instruction PUSH_REAL_RNG

    - #### REAL_RNG_LB

          public static final Instruction REAL_RNG_LB

    - #### REAL_RNG_UB

          public static final Instruction REAL_RNG_UB

    - #### INDEXABLE_SIZE

          public static final Instruction INDEXABLE_SIZE

    - #### SET_COPY

          public static final Instruction SET_COPY

    - #### PUSH_SET_I

          public static final Instruction PUSH_SET_I

    - #### PUSH_SET_R

          public static final Instruction PUSH_SET_R

    - #### PUSH_SET_O

          public static final Instruction PUSH_SET_O

    - #### MAKE_SET_I

          public static final Instruction MAKE_SET_I

    - #### MAKE_SET_R

          public static final Instruction MAKE_SET_R

    - #### MAKE_SET_O

          public static final Instruction MAKE_SET_O

    - #### SET_ADD_I

          public static final Instruction SET_ADD_I

    - #### SET_ADD_R

          public static final Instruction SET_ADD_R

    - #### SET_ADD_O

          public static final Instruction SET_ADD_O

    - #### SET_RMV_I

          public static final Instruction SET_RMV_I

    - #### SET_RMV_R

          public static final Instruction SET_RMV_R

    - #### SET_RMV_O

          public static final Instruction SET_RMV_O

    - #### BELONGS_I

          public static final Instruction BELONGS_I

    - #### BELONGS_R

          public static final Instruction BELONGS_R

    - #### BELONGS_O

          public static final Instruction BELONGS_O

    - #### ORD_I

          public static final Instruction ORD_I

    - #### ORD_R

          public static final Instruction ORD_R

    - #### ORD_O

          public static final Instruction ORD_O

    - #### FIRST_I

          public static final Instruction FIRST_I

    - #### FIRST_R

          public static final Instruction FIRST_R

    - #### FIRST_O

          public static final Instruction FIRST_O

    - #### LAST_I

          public static final Instruction LAST_I

    - #### LAST_R

          public static final Instruction LAST_R

    - #### LAST_O

          public static final Instruction LAST_O

    - #### NEXT_I

          public static final Instruction NEXT_I

    - #### NEXT_R

          public static final Instruction NEXT_R

    - #### NEXT_O

          public static final Instruction NEXT_O

    - #### NEXT_C_I

          public static final Instruction NEXT_C_I

    - #### NEXT_C_R

          public static final Instruction NEXT_C_R

    - #### NEXT_C_O

          public static final Instruction NEXT_C_O

    - #### NEXT_I_OFFSET

          public static final Instruction NEXT_I_OFFSET

    - #### NEXT_R_OFFSET

          public static final Instruction NEXT_R_OFFSET

    - #### NEXT_O_OFFSET

          public static final Instruction NEXT_O_OFFSET

    - #### NEXT_C_I_OFFSET

          public static final Instruction NEXT_C_I_OFFSET

    - #### NEXT_C_R_OFFSET

          public static final Instruction NEXT_C_R_OFFSET

    - #### NEXT_C_O_OFFSET

          public static final Instruction NEXT_C_O_OFFSET

    - #### PREV_I

          public static final Instruction PREV_I

    - #### PREV_R

          public static final Instruction PREV_R

    - #### PREV_O

          public static final Instruction PREV_O

    - #### PREV_C_I

          public static final Instruction PREV_C_I

    - #### PREV_C_R

          public static final Instruction PREV_C_R

    - #### PREV_C_O

          public static final Instruction PREV_C_O

    - #### PREV_I_OFFSET

          public static final Instruction PREV_I_OFFSET

    - #### PREV_R_OFFSET

          public static final Instruction PREV_R_OFFSET

    - #### PREV_O_OFFSET

          public static final Instruction PREV_O_OFFSET

    - #### PREV_C_I_OFFSET

          public static final Instruction PREV_C_I_OFFSET

    - #### PREV_C_R_OFFSET

          public static final Instruction PREV_C_R_OFFSET

    - #### PREV_C_O_OFFSET

          public static final Instruction PREV_C_O_OFFSET

    - #### SUBSET

          public static final Instruction SUBSET

    - #### UNION

          public static final Instruction UNION

    - #### INTER

          public static final Instruction INTER

    - #### XNION

          public static final Instruction XNION

    - #### SDIFF

          public static final Instruction SDIFF

    - #### D_UNION_1

          public static final Instruction D_UNION_1

    - #### D_INTER_1

          public static final Instruction D_INTER_1

    - #### D_XNION_1

          public static final Instruction D_XNION_1

    - #### D_UNION_2

          public static final Instruction D_UNION_2

    - #### D_INTER_2

          public static final Instruction D_INTER_2

    - #### D_XNION_2

          public static final Instruction D_XNION_2

    - #### D_SDIFF

          public static final Instruction D_SDIFF

    - #### ADD_II

          public static final Instruction ADD_II

    - #### ADD_IR

          public static final Instruction ADD_IR

    - #### ADD_RI

          public static final Instruction ADD_RI

    - #### ADD_RR

          public static final Instruction ADD_RR

    - #### MINUS_I

          public static final Instruction MINUS_I

    - #### MINUS_R

          public static final Instruction MINUS_R

    - #### SUB_II

          public static final Instruction SUB_II

    - #### SUB_IR

          public static final Instruction SUB_IR

    - #### SUB_RI

          public static final Instruction SUB_RI

    - #### SUB_RR

          public static final Instruction SUB_RR

    - #### MUL_II

          public static final Instruction MUL_II

    - #### MUL_IR

          public static final Instruction MUL_IR

    - #### MUL_RI

          public static final Instruction MUL_RI

    - #### MUL_RR

          public static final Instruction MUL_RR

    - #### DIV_II

          public static final Instruction DIV_II

    - #### DIV_IR

          public static final Instruction DIV_IR

    - #### DIV_RI

          public static final Instruction DIV_RI

    - #### DIV_RR

          public static final Instruction DIV_RR

    - #### MODULO

          public static final Instruction MODULO

    - #### ABS_I

          public static final Instruction ABS_I

    - #### ABS_R

          public static final Instruction ABS_R

    - #### MIN_II

          public static final Instruction MIN_II

    - #### MIN_IR

          public static final Instruction MIN_IR

    - #### MIN_RI

          public static final Instruction MIN_RI

    - #### MIN_RR

          public static final Instruction MIN_RR

    - #### MAX_II

          public static final Instruction MAX_II

    - #### MAX_IR

          public static final Instruction MAX_IR

    - #### MAX_RI

          public static final Instruction MAX_RI

    - #### MAX_RR

          public static final Instruction MAX_RR

    - #### SQRT

          public static final Instruction SQRT

    - #### POWER

          public static final Instruction POWER

    - #### RANDOM

          public static final Instruction RANDOM

    - #### EQU_II

          public static final Instruction EQU_II

    - #### EQU_RR

          public static final Instruction EQU_RR

    - #### EQU_OO

          public static final Instruction EQU_OO

    - #### NEQ_II

          public static final Instruction NEQ_II

    - #### NEQ_RR

          public static final Instruction NEQ_RR

    - #### NEQ_OO

          public static final Instruction NEQ_OO

    - #### NOT

          public static final Instruction NOT

    - #### LST_II

          public static final Instruction LST_II

    - #### LST_IR

          public static final Instruction LST_IR

    - #### LST_RI

          public static final Instruction LST_RI

    - #### LST_RR

          public static final Instruction LST_RR

    - #### LTE_II

          public static final Instruction LTE_II

    - #### LTE_IR

          public static final Instruction LTE_IR

    - #### LTE_RI

          public static final Instruction LTE_RI

    - #### LTE_RR

          public static final Instruction LTE_RR

    - #### GRT_II

          public static final Instruction GRT_II

    - #### GRT_IR

          public static final Instruction GRT_IR

    - #### GRT_RI

          public static final Instruction GRT_RI

    - #### GRT_RR

          public static final Instruction GRT_RR

    - #### GTE_II

          public static final Instruction GTE_II

    - #### GTE_IR

          public static final Instruction GTE_IR

    - #### GTE_RI

          public static final Instruction GTE_RI

    - #### GTE_RR

          public static final Instruction GTE_RR

    - #### ARRAY_SIZE

          public static final Instruction ARRAY_SIZE

    - #### MAP_SIZE

          public static final Instruction MAP_SIZE

    - #### GET_INDEXABLE

          public static final Instruction GET_INDEXABLE

    - #### WRITE_R

          public static final Instruction WRITE_R

    - #### PUSH_VOID

          public static final Instruction PUSH_VOID

      Handy names for some oft used instructions.

    - #### PUSH_FALSE

          public static final Instruction PUSH_FALSE

    - #### PUSH_TRUE

          public static final Instruction PUSH_TRUE

    - #### PUSH_BOXED_VOID

          public static final Instruction PUSH_BOXED_VOID

    - #### PUSH_BOXED_FALSE

          public static final Instruction PUSH_BOXED_FALSE

    - #### PUSH_BOXED_TRUE

          public static final Instruction PUSH_BOXED_TRUE

    - #### PUSH_NULL

          public static final Instruction PUSH_NULL

    - #### PUSH_ZERO_I

          public static final Instruction PUSH_ZERO_I

    - #### PUSH_ZERO_R

          public static final Instruction PUSH_ZERO_R

    - #### PUSH_ONE

          public static final Instruction PUSH_ONE

    - #### PUSH_EMPTY_STR

          public static final Instruction PUSH_EMPTY_STR

    - #### PUSH_0_I

          public static final Instruction PUSH_0_I

    - #### PUSH_1_I

          public static final Instruction PUSH_1_I

    - #### PUSH_0_R

          public static final Instruction PUSH_0_R

  - ### Constructor Detail

    - #### Instruction

          public Instruction()

  - ### Method Detail

    - #### execute

          public void execute(Runtime runtime)
                       throws java.lang.Exception

      Execute this instruction in the specified runtime by changing the runtime's state according to this instruction's operational semantics.
      Throws:
        `java.lang.Exception`

    - #### isReturn

          public boolean isReturn()

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `java.lang.Object`

    - #### equals

          public boolean equals(java.lang.Object object)

      Overrides:
        `equals` in class `java.lang.Object`

    - #### name

          public java.lang.String name()

    - #### toString

          public java.lang.String toString()

      Overrides:
        `toString` in class `java.lang.Object`

    - #### isDummy

          public final boolean isDummy()

    - #### dummify

          public final void dummify()