OPCODE0(F_UNDEFINED,"push UNDEFINED")
OPCODE0(F_CONST0, "push 0")
OPCODE0(F_CONST1, "push 1")
OPCODE0(F_CONST_1,"push -1")
OPCODE0(F_BIGNUM, "push 0x7fffffff")
OPCODE1(F_NUMBER, "push int")
OPCODE1(F_NEG_NUMBER,"push -int")
OPCODE1(F_CONSTANT,"constant")
OPCODE1_TAIL(F_MARK_AND_STRING,"mark & string")
OPCODE1(F_STRING,"string")
OPCODE1(F_ARROW_STRING,"->string")
OPCODE0(F_FLOAT,"push float")
OPCODE1(F_LFUN, "local function")
OPCODE1(F_TRAMPOLINE, "trampoline")
OPCODE1(F_GLOBAL,"global")
OPCODE2(F_EXTERNAL,"external")
OPCODE2(F_EXTERNAL_LVALUE,"& external")
OPCODE1(F_MARK_AND_LOCAL, "mark & local")
OPCODE1(F_LOCAL, "local")
OPCODE2(F_2_LOCALS, "2 locals")
OPCODE2(F_LOCAL_2_LOCAL, "local = local")
OPCODE2(F_LOCAL_2_GLOBAL, "global = local")
OPCODE2(F_GLOBAL_2_LOCAL,"local = global")
OPCODE1(F_LOCAL_LVALUE, "& local")
OPCODE2(F_LEXICAL_LOCAL,"lexical local")
OPCODE2(F_LEXICAL_LOCAL_LVALUE,"&lexical local")
OPCODE1(F_ARRAY_LVALUE, "[ lvalues ]")
OPCODE1(F_CLEAR_2_LOCAL, "clear 2 local")
OPCODE1(F_CLEAR_4_LOCAL, "clear 4 local")
OPCODE1(F_CLEAR_LOCAL, "clear local")
OPCODE1(F_INC_LOCAL, "++local")
OPCODE1(F_POST_INC_LOCAL, "local++")
OPCODE1(F_INC_LOCAL_AND_POP, "++local and pop")
OPCODE1(F_DEC_LOCAL, "--local")
OPCODE1(F_POST_DEC_LOCAL, "local--")
OPCODE1(F_DEC_LOCAL_AND_POP, "--local and pop")
OPCODE0(F_LTOSVAL, "lvalue to svalue")
OPCODE0(F_LTOSVAL2, "ltosval2")
OPCODE0(F_ADD_TO_AND_POP, "+= and pop")
OPCODE1(F_GLOBAL_LVALUE, "& global")
OPCODE0(F_INC, "++x")
OPCODE0(F_DEC, "--x")
OPCODE0(F_DEC_AND_POP, "x-- and pop")
OPCODE0(F_INC_AND_POP, "x++ and pop")
OPCODE0(F_POST_INC, "x++")
OPCODE0(F_POST_DEC, "x--")
OPCODE1(F_ASSIGN_LOCAL,"assign local")
OPCODE0(F_ASSIGN, "assign")
OPCODE2(F_APPLY_ASSIGN_LOCAL_AND_POP,"apply, assign local and pop")
OPCODE2(F_APPLY_ASSIGN_LOCAL,"apply, assign local")
OPCODE0(F_ASSIGN_AND_POP, "assign and pop")
OPCODE1(F_ASSIGN_LOCAL_AND_POP, "assign local and pop")
OPCODE1(F_ASSIGN_GLOBAL, "assign global")
OPCODE1(F_ASSIGN_GLOBAL_AND_POP, "assign global and pop")
OPCODE0(F_POP_VALUE, "pop")
OPCODE1(F_POP_N_ELEMS, "pop_n_elems")
OPCODE0_TAIL(F_MARK2,"mark mark")
OPCODE0(F_MARK,"mark")
OPCODE1(F_MARK_X, "mark Pike_sp-X")
OPCODE0(F_POP_MARK, "pop mark")
OPCODE0(F_POP_TO_MARK, "pop to mark")
OPCODE0(F_CLEAR_STRING_SUBTYPE, "clear string subtype")
OPCODE0_JUMP(F_BRANCH,"branch")
OPCODE2(F_BRANCH_IF_NOT_LOCAL_ARROW,"branch if !local->x")
OPCODE0_TAILJUMP(F_BRANCH_WHEN_ZERO,"branch if zero")
OPCODE0_JUMP(F_BRANCH_WHEN_NON_ZERO,"branch if not zero")
OPCODE1_JUMP(F_BRANCH_IF_LOCAL,"branch if local")
OPCODE0(F_ESCAPE_CATCH, "escape catch")
OPCODE0(F_THROW_ZERO, "throw(0)")
OPCODE1(F_SWITCH, "switch")
OPCODE1(F_SWITCH_ON_INDEX, "switch on index")
OPCODE2(F_SWITCH_ON_LOCAL, "switch on local")
OPCODE0_JUMP(F_LOOP, "loop") /* loopcnt */
OPCODE1(F_CALL_LFUN_AND_RETURN,"call lfun & return")
OPCODE0(F_NEGATE, "unary minus")
OPCODE0(F_COMPL, "~")
OPCODE0(F_NOT, "!")
OPCODE0(F_LSH, "<<")
OPCODE0(F_RSH, ">>")
OPCODE0(F_ADD, "+")
OPCODE0(F_ADD_INTS, "int+int")
OPCODE0(F_ADD_FLOATS, "float+float")
OPCODE0(F_SUBTRACT, "-")
OPCODE0(F_AND, "&")
OPCODE0(F_OR, "|")
OPCODE0(F_XOR, "^")
OPCODE0(F_MULTIPLY, "*")
OPCODE0(F_DIVIDE, "/")
OPCODE0(F_MOD, "%")
OPCODE1(F_ADD_INT, "add integer")
OPCODE1(F_ADD_NEG_INT, "add -integer")
OPCODE0(F_PUSH_ARRAY, "@")
OPCODE2(F_LOCAL_LOCAL_INDEX, "local[local]")
OPCODE1(F_LOCAL_INDEX, "local index")
OPCODE2(F_GLOBAL_LOCAL_INDEX, "global[local]")
OPCODE2(F_LOCAL_ARROW, "local->x")
OPCODE1(F_ARROW, "->x")
OPCODE1(F_STRING_INDEX, "string index")
OPCODE2(F_MAGIC_INDEX, "::`[]")
OPCODE2(F_MAGIC_SET_INDEX, "::`[]=")
OPCODE0(F_CAST, "cast")
OPCODE0(F_SOFT_CAST, "soft cast")
OPCODE0(F_RANGE, "range")
OPCODE0(F_COPY_VALUE, "copy_value")
OPCODE0(F_INDIRECT, "indirect")
OPCODE0(F_SIZEOF, "sizeof")
OPCODE1(F_SIZEOF_LOCAL, "sizeof local")
OPCODE1(F_SSCANF, "sscanf")
OPCODE1(F_CALL_LFUN,"call lfun")
OPCODE1(F_CALL_LFUN_AND_POP,"call lfun & pop")
OPCODE1(F_MARK_APPLY,"mark apply")
OPCODE1(F_MARK_APPLY_POP,"mark, apply & pop")
OPCODE1_JUMP(F_COND_RECUR,"recur if not overloaded")
OPCODE0_TAILJUMP(F_RECUR,"recur")
OPCODE0_JUMP(F_TAIL_RECUR,"tail recursion")
