Usermode/libspiderscript - Fixing a multitude of bugs
[tpg/acess2.git] / Usermode / Libraries / libspiderscript.so_src / bytecode_ops.h
1 /**
2  */
3 #ifndef _BYTECODE_OPS_H_
4 #define _BYTECODE_OPS_H_
5
6 enum eBC_Ops
7 {
8         BC_OP_NOP,
9         
10         BC_OP_JUMP,
11         BC_OP_JUMPIF,
12         BC_OP_JUMPIFNOT,
13         
14         BC_OP_RETURN,   // = 4
15         BC_OP_CALLFUNCTION,
16         BC_OP_CALLMETHOD,
17         BC_OP_CREATEOBJ,        
18         
19         BC_OP_LOADVAR,  // = 8
20         BC_OP_SAVEVAR,
21
22         BC_OP_LOADINT,  // = 10
23         BC_OP_LOADREAL,
24         BC_OP_LOADSTR,
25
26         BC_OP_DUPSTACK, // = 13
27         BC_OP_DELSTACK, // 
28         BC_OP_CAST,     //
29         
30         BC_OP_ELEMENT,  // = 16
31         BC_OP_SETELEMENT,
32         BC_OP_INDEX,
33         BC_OP_SETINDEX,
34
35         BC_OP_ENTERCONTEXT,     // = 20
36         BC_OP_LEAVECONTEXT,
37         BC_OP_DEFINEVAR,
38
39         // Operations
40         BC_OP_LOGICNOT, // 23
41         BC_OP_LOGICAND,
42         BC_OP_LOGICOR,
43         BC_OP_LOGICXOR,
44
45         BC_OP_BITNOT,   // 27
46         BC_OP_BITAND,
47         BC_OP_BITOR,
48         BC_OP_BITXOR,
49
50         BC_OP_BITSHIFTLEFT,     // 31
51         BC_OP_BITSHIFTRIGHT,
52         BC_OP_BITROTATELEFT,
53
54         BC_OP_NEG,      // 34
55         BC_OP_ADD,
56         BC_OP_SUBTRACT,
57         BC_OP_MULTIPLY,
58         BC_OP_DIVIDE,
59         BC_OP_MODULO,
60
61         BC_OP_EQUALS,   // 40
62         BC_OP_NOTEQUALS,
63         BC_OP_LESSTHAN,
64         BC_OP_LESSTHANOREQUAL,
65         BC_OP_GREATERTHAN,
66         BC_OP_GREATERTHANOREQUAL
67 };
68
69 #endif

UCC git Repository :: git.ucc.asn.au