File: opcode.h

package info (click to toggle)
nickle 2.47-1
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 2,112 kB
  • ctags: 3,255
  • sloc: ansic: 30,401; yacc: 1,843; sh: 865; lex: 838; makefile: 202
file content (89 lines) | stat: -rw-r--r-- 1,515 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
/* $Header: /local/src/CVS/nickle/opcode.h,v 1.28 2004/04/11 02:30:22 keithp Exp $ */

/*
 * Copyright © 1988-2004 Keith Packard and Bart Massey.
 * All Rights Reserved.  See the file COPYING in this directory
 * for licensing information.
 */

#ifndef _CODE_H_
#define _CODE_H_

typedef enum _OpCode {
    OpNoop,
    /*
     * Statement op codes
     */
    OpBranch,
    OpBranchFalse,
    OpBranchTrue,
    OpCase,
    OpTagCase,
    OpTagGlobal,
    OpTagLocal,
    OpDefault,
    OpReturn,
    OpReturnVoid,
    OpFork,
    OpCatch,
    OpEndCatch,
    OpRaise,
    OpTwixt,
    OpTwixtDone,
    OpEnterDone,
    OpLeaveDone,
    OpFarJump,
    OpUnwind,
    /*
     * Expr op codes
     */
    OpGlobal,
    OpGlobalRef,
    OpGlobalRefStore,
    OpStatic,
    OpStaticRef,
    OpStaticRefStore,
    OpLocal,
    OpLocalRef,
    OpLocalRefStore,
    OpFetch,
    OpConst,
    OpBuildArray,
    OpBuildArrayInd,
    OpInitArray,
    OpBuildHash,
    OpInitHash,
    OpInitHashDef,
    OpBuildStruct,
    OpInitStruct,
    OpBuildUnion,
    OpInitUnion,
    OpArray,
    OpArrayRef,
    OpArrayRefStore,
    OpVarActual,
    OpCall,
    OpTailCall,
    OpExceptionCall,
    OpDot,
    OpDotRef,
    OpDotRefStore,
    OpArrow,
    OpArrowRef,
    OpArrowRefStore,
    OpObj,
    OpStaticInit,
    OpStaticDone,
    OpBinOp,
    OpBinFunc,
    OpUnOp,
    OpUnFunc,
    OpPreOp,
    OpPostOp,
    OpAssign,
    OpAssignOp,
    OpAssignFunc,
    OpEnd,
} __attribute__ ((packed)) OpCode;

#endif /* _CODE_H_ */