github.com/expr-lang/expr@v1.16.9/vm/opcodes.go (about)

     1  package vm
     2  
     3  type Opcode byte
     4  
     5  const (
     6  	OpInvalid Opcode = iota
     7  	OpPush
     8  	OpInt
     9  	OpPop
    10  	OpStore
    11  	OpLoadVar
    12  	OpLoadConst
    13  	OpLoadField
    14  	OpLoadFast
    15  	OpLoadMethod
    16  	OpLoadFunc
    17  	OpLoadEnv
    18  	OpFetch
    19  	OpFetchField
    20  	OpMethod
    21  	OpTrue
    22  	OpFalse
    23  	OpNil
    24  	OpNegate
    25  	OpNot
    26  	OpEqual
    27  	OpEqualInt
    28  	OpEqualString
    29  	OpJump
    30  	OpJumpIfTrue
    31  	OpJumpIfFalse
    32  	OpJumpIfNil
    33  	OpJumpIfNotNil
    34  	OpJumpIfEnd
    35  	OpJumpBackward
    36  	OpIn
    37  	OpLess
    38  	OpMore
    39  	OpLessOrEqual
    40  	OpMoreOrEqual
    41  	OpAdd
    42  	OpSubtract
    43  	OpMultiply
    44  	OpDivide
    45  	OpModulo
    46  	OpExponent
    47  	OpRange
    48  	OpMatches
    49  	OpMatchesConst
    50  	OpContains
    51  	OpStartsWith
    52  	OpEndsWith
    53  	OpSlice
    54  	OpCall
    55  	OpCall0
    56  	OpCall1
    57  	OpCall2
    58  	OpCall3
    59  	OpCallN
    60  	OpCallFast
    61  	OpCallSafe
    62  	OpCallTyped
    63  	OpCallBuiltin1
    64  	OpArray
    65  	OpMap
    66  	OpLen
    67  	OpCast
    68  	OpDeref
    69  	OpIncrementIndex
    70  	OpDecrementIndex
    71  	OpIncrementCount
    72  	OpGetIndex
    73  	OpGetCount
    74  	OpGetLen
    75  	OpGetAcc
    76  	OpSetAcc
    77  	OpSetIndex
    78  	OpPointer
    79  	OpThrow
    80  	OpCreate
    81  	OpGroupBy
    82  	OpSortBy
    83  	OpSort
    84  	OpProfileStart
    85  	OpProfileEnd
    86  	OpBegin
    87  	OpEnd // This opcode must be at the end of this list.
    88  )