1 /* 2 * Copyright © 1988-2004 Keith Packard and Bart Massey. 3 * All Rights Reserved. See the file COPYING in this directory 4 * for licensing information. 5 */ 6 7 #ifndef _CODE_H_ 8 #define _CODE_H_ 9 10 typedef enum _OpCode { 11 OpNoop, 12 /* 13 * Statement op codes 14 */ 15 OpBranch, 16 OpBranchFalse, 17 OpBranchTrue, 18 OpCase, 19 OpTagCase, 20 OpTagGlobal, 21 OpTagLocal, 22 OpDefault, 23 OpReturn, 24 OpReturnVoid, 25 OpFork, 26 OpCatch, 27 OpEndCatch, 28 OpRaise, 29 OpTwixt, 30 OpTwixtDone, 31 OpEnterDone, 32 OpLeaveDone, 33 OpFarJump, 34 OpUnwind, 35 /* 36 * Expr op codes 37 */ 38 OpGlobal, 39 OpGlobalRef, 40 OpGlobalRefStore, 41 OpStatic, 42 OpStaticRef, 43 OpStaticRefStore, 44 OpLocal, 45 OpLocalRef, 46 OpLocalRefStore, 47 OpFetch, 48 OpConst, 49 OpBuildArray, 50 OpBuildArrayInd, 51 OpInitArray, 52 OpBuildHash, 53 OpInitHash, 54 OpInitHashDef, 55 OpBuildStruct, 56 OpInitStruct, 57 OpBuildUnion, 58 OpInitUnion, 59 OpArray, 60 OpArrayRef, 61 OpArrayRefStore, 62 OpVarActual, 63 OpCall, 64 OpTailCall, 65 OpExceptionCall, 66 OpDot, 67 OpDotRef, 68 OpDotRefStore, 69 OpArrow, 70 OpArrowRef, 71 OpArrowRefStore, 72 OpObj, 73 OpStaticInit, 74 OpStaticDone, 75 OpBinOp, 76 OpBinFunc, 77 OpUnOp, 78 OpUnFunc, 79 OpPreOp, 80 OpPostOp, 81 OpAssign, 82 OpAssignOp, 83 OpAssignFunc, 84 OpIsType, 85 OpHasMember, 86 OpEnd, 87 OpDrop 88 } __attribute__ ((packed)) OpCode; 89 90 #endif /* _CODE_H_ */ 91