Byte Code
Below is a description of all opcodes we current support in the Eiffel interpreter. They are sorted
Contents
- 1 BC_START
- 2 BC_PRECOND
- 3 BC_POSTCOND
- 4 BC_DEFERRED
- 5 BC_REVERSE
- 6 BC_CHECK
- 7 BC_ASSERT
- 8 BC_NULL
- 9 BC_PRE
- 10 BC_PST
- 11 BC_CHK
- 12 BC_LINV
- 13 BC_LVAR
- 14 BC_INV
- 15 BC_END
- 16 BC_TAG
- 17 BC_NOTAG
- 18 BC_JMP
- 19 BC_JMP
- 20 BC_LOOP
- 21 BC_END
- 22 BC_INIT
- 23 BC_DEBUG
- 24 BC_RASSIGN
- 25 BC_LASSIGN
- 26 BC_ASSIGN
- 27 BC_CREATE
- 28 BC_CTYPE
- 29 BC_CARG
- 30 BC_CLIKE
- 31 BC_CCUR
- 32 BC_INSPECT
- 33 BC_RANGE
- 34 BC_INSPECT
- 35 BC_LREVERSE
- 36 BC_RREVERSE
- 37 BC_FEATURE
- 38 BC_METAMORPHOSE
- 39 BC_CURRENT
- 40 BC_ROTATE
- 41 BC_FEATURE
- 42 BC_ATTRIBUTE
- 43 BC_ATTRIBUTE
- 44 BC_EXTERN
- 45 BC_EXTERN
- 46 BC_CHAR
- 47 BC_BOOL
- 48 BC_INT
- 49 BC_INT
- 50 BC_DOUBLE
- 51 BC_RESULT
- 52 BC_LOCAL
- 53 BC_ARG
- 54 BC_UPLUS
- 55 BC_UMINUS
- 56 BC_NOT
- 57 BC_LT
- 58 BC_GT
- 59 BC_MINUS
- 60 BC_XOR
- 61 BC_GE
- 62 BC_EQ
- 63 BC_NE
- 64 BC_STAR
- 65 BC_POWER
- 66 BC_LE
- 67 BC_DIV
- 68 BC_NHOOK
- 69 BC_AND
- 70 BC_SLASH
- 71 BC_MOD
- 72 BC_PLUS
- 73 BC_OR
- 74 BC_ADDR
- 75 BC_STRING
- 76 BC_AND
- 77 BC_OR
- 78 BC_SPCREATE
- 79 BC_TUPLE
- 80 BC_JMP
- 81 BC_TUPLE
- 82 BC_RESCUE
- 83 BC_END
- 84 BC_RETRY
- 85 BC_EXP
- 86 BC_CLONE
- 87 BC_EXP
- 88 BC_VOID
- 89 BC_NONE
- 90 BC_LEXP
- 91 BC_REXP
- 92 BC_CLONE
- 93 BC_NO
- 94 BC_FALSE
- 95 BC_TRUE
- 96 BC_STANDARD
- 97 BC_BIT
- 98 BC_HOOK
- 99 BC_BIT
- 100 BC_ARRAY
- 101 BC_RETRIEVE
- 102 BC_FLOAT
- 103 BC_OLD
- 104 BC_ADD
- 105 BC_END
- 106 BC_LBIT
- 107 BC_RAISE
- 108 BC_GOTO
- 109 BC_NOT
- 110 BC_END
- 111 BC_CAST
- 112 BC_CAST
- 113 BC_CAST
- 114 BC_CAST
- 115 BC_INV
- 116 BC_CREAT
- 117 BC_END
- 118 BC_START
- 119 BC_OBJECT
- 120 BC_PFEATURE
- 121 BC_PFEATURE
- 122 BC_PEXTERN
- 123 BC_PEXTERN
- 124 BC_PARRAY
- 125 BC_PATTRIBUTE
- 126 BC_PATTRIBUTE
- 127 BC_PEXP
- 128 BC_PASSIGN
- 129 BC_PREVERSE
- 130 BC_PCLIKE
- 131 BC_OBJECT
- 132 BC_RESERVE
- 133 BC_POP
- 134 BC_REF
- 135 BC_RCREATE
- 136 BC_GEN
- 137 BC_CAST
- 138 BC_NULL
- 139 BC_BASIC
- 140 BC_MAX
- 141 BC_MIN
- 142 BC_GENERATOR
- 143 BC_OFFSET
- 144 BC_ZERO
- 145 BC_ONE
- 146 BC_THREE
- 147 BC_INT
- 148 BC_INT
- 149 BC_INT
- 150 BC_INT
- 151 BC_INT
- 152 BC_INT
- 153 BC_INT
- 154 BC_INT
- 155 BC_INT
- 156 BC_INT
- 157 BC_WCHAR
- 158 BC_INT
- 159 BC_INT
- 160 BC_INT
- 161 BC_CAST
- 162 BC_ONCE
- 163 BC_ALLOCATE
- 164 BC_CCLONE
- 165 BC_UINT
- 166 BC_UINT
- 167 BC_UINT
- 168 BC_UINT
- 169 BC_NOTUSED
- 170 BC_NOTUSED
- 171 BC_NOTUSED
- 172 BC_NOTUSED
- 173 BC_NOTUSED
- 174 BC_NOTUSED
- 175 BC_NOTUSED
- 176 BC_NOTUSED
- 177 BC_NOTUSED
- 178 BC_NOTUSED
- 179 BC_NOTUSED
- 180 BC_NOTUSED
- 181 BC_NOTUSED
- 182 BC_NOTUSED
- 183 BC_TUPLE
- 184 BC_PTUPLE
- 185 BC_JAVA
- 186 BC_JAVA
BC_START
BC_PRECOND
BC_POSTCOND
BC_DEFERRED
BC_REVERSE
BC_CHECK
BC_ASSERT
BC_NULL
BC_PRE
BC_PST
BC_CHK
BC_LINV
BC_LVAR
BC_INV
BC_END
BC_TAG
BC_NOTAG
BC_JMP
BC_JMP
BC_LOOP
BC_END
BC_INIT
BC_DEBUG
BC_RASSIGN
BC_LASSIGN
BC_ASSIGN
BC_CREATE
BC_CTYPE
BC_CARG
BC_CLIKE
BC_CCUR
BC_INSPECT
BC_RANGE
BC_INSPECT
BC_LREVERSE
BC_RREVERSE
BC_FEATURE
BC_METAMORPHOSE
BC_CURRENT
BC_ROTATE
BC_FEATURE
BC_ATTRIBUTE
BC_ATTRIBUTE
BC_EXTERN
BC_EXTERN
BC_CHAR
BC_BOOL
BC_INT
BC_INT
BC_DOUBLE
BC_RESULT
BC_LOCAL
BC_ARG
BC_UPLUS
BC_UMINUS
BC_NOT
BC_LT
BC_GT
BC_MINUS
BC_XOR
BC_GE
BC_EQ
BC_NE
BC_STAR
BC_POWER
BC_LE
BC_DIV
BC_NHOOK
BC_AND
BC_SLASH
BC_MOD
BC_PLUS
BC_OR
BC_ADDR
BC_STRING
BC_AND
BC_OR
BC_SPCREATE
BC_TUPLE
BC_JMP
BC_TUPLE
BC_RESCUE
BC_END
BC_RETRY
BC_EXP
BC_CLONE
BC_EXP
BC_VOID
BC_NONE
BC_LEXP
BC_REXP
BC_CLONE
BC_NO
BC_FALSE
BC_TRUE
BC_STANDARD
BC_BIT
BC_HOOK
BC_BIT
BC_ARRAY
BC_RETRIEVE
BC_FLOAT
BC_OLD
BC_ADD
BC_END
BC_LBIT
BC_RAISE
BC_GOTO
BC_NOT
BC_END
BC_CAST
BC_CAST
BC_CAST
BC_CAST
BC_INV
BC_CREAT
BC_END
BC_START
BC_OBJECT
BC_PFEATURE
BC_PFEATURE
BC_PEXTERN
BC_PEXTERN
BC_PARRAY
BC_PATTRIBUTE
BC_PATTRIBUTE
BC_PEXP
BC_PASSIGN
BC_PREVERSE
BC_PCLIKE
BC_OBJECT
BC_RESERVE
BC_POP
BC_REF
BC_RCREATE
/* Byte code for the creation of a generic parameter */
BC_GEN
/* Byte code for expression creation */
BC_CAST
BC_NULL
BC_BASIC
BC_MAX
BC_MIN
BC_GENERATOR
BC_OFFSET
BC_ZERO
BC_ONE
BC_THREE
BC_INT
BC_INT
BC_INT
BC_INT
BC_INT
BC_INT
BC_INT
BC_INT
BC_INT
BC_INT
/* New basic types */
BC_WCHAR
BC_INT
BC_INT
BC_INT
/* Conversion */
BC_CAST
/* Once manifest strings */
BC_ONCE
BC_ALLOCATE
/* Cloning */
BC_CCLONE
BC_UINT
BC_UINT
BC_UINT
BC_UINT
BC_NOTUSED
BC_NOTUSED
BC_NOTUSED
BC_NOTUSED
BC_NOTUSED
BC_NOTUSED
BC_NOTUSED
BC_NOTUSED
BC_NOTUSED
BC_NOTUSED
BC_NOTUSED
BC_NOTUSED
BC_NOTUSED
BC_NOTUSED
/* Manifest tuple */
BC_TUPLE
BC_PTUPLE
BC_JAVA
BC_JAVA
MAX_CODE 201 /* Maximum legal byte code */