annotate dmdscript_tango/ir.d @ 3:8363a4bf6a8f

rename package: dmdscript to dmdscript_tango
author saaadel
date Sun, 24 Jan 2010 18:33:05 +0200
parents 55c2951c07be
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
1
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
2 /* Digital Mars DMDScript source code.
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
3 * Copyright (c) 2000-2002 by Chromium Communications
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
4 * D version Copyright (c) 2004-2005 by Digital Mars
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
5 * All Rights Reserved
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
6 * written by Walter Bright
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
7 * www.digitalmars.com
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
8 * Use at your own risk. There is no warranty, express or implied.
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
9 * License for redistribution is by the GNU General Public License in gpl.txt.
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
10 *
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
11 * A binary, non-exclusive license for commercial use can be
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
12 * purchased from www.digitalmars.com/dscript/buy.html.
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
13 *
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
14 * DMDScript is implemented in the D Programming Language,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
15 * www.digitalmars.com/d/
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
16 *
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
17 * For a C++ implementation of DMDScript, including COM support,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
18 * see www.digitalmars.com/dscript/cppscript.html.
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
19 */
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
20
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
21
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
22 // Opcodes for our Intermediate Representation (IR)
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
23
3
8363a4bf6a8f rename package: dmdscript to dmdscript_tango
saaadel
parents: 0
diff changeset
24 module dmdscript_tango.ir;
0
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
25
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
26 enum
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
27 {
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
28 IRerror,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
29 IRnop, // no operation
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
30 IRend, // end of function
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
31 IRstring,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
32 IRthisget,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
33 IRnumber,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
34 IRobject,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
35 IRthis,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
36 IRnull,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
37 IRundefined,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
38 IRboolean,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
39 IRcall,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
40 IRcalls = IRcall + 1,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
41 IRcallscope = IRcalls + 1,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
42 IRcallv = IRcallscope + 1,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
43 IRputcall,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
44 IRputcalls = IRputcall + 1,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
45 IRputcallscope = IRputcalls + 1,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
46 IRputcallv = IRputcallscope + 1,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
47 IRget,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
48 IRgets = IRget + 1, // 's' versions must be original + 1
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
49 IRgetscope = IRgets + 1,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
50 IRput,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
51 IRputs = IRput + 1,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
52 IRputscope = IRputs + 1,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
53 IRdel,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
54 IRdels = IRdel + 1,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
55 IRdelscope = IRdels + 1,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
56 IRnext,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
57 IRnexts = IRnext + 1,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
58 IRnextscope = IRnexts + 1,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
59 IRaddass,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
60 IRaddasss = IRaddass + 1,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
61 IRaddassscope = IRaddasss + 1,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
62 IRputthis,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
63 IRputdefault,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
64 IRmov,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
65 IRret,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
66 IRretexp,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
67 IRimpret,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
68 IRneg,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
69 IRpos,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
70 IRcom,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
71 IRnot,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
72 IRadd,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
73 IRsub,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
74 IRmul,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
75 IRdiv,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
76 IRmod,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
77 IRshl,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
78 IRshr,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
79 IRushr,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
80 IRand,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
81 IRor,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
82 IRxor,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
83
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
84 IRpreinc,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
85 IRpreincs = IRpreinc + 1,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
86 IRpreincscope = IRpreincs + 1,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
87
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
88 IRpredec,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
89 IRpredecs = IRpredec + 1,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
90 IRpredecscope = IRpredecs + 1,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
91
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
92 IRpostinc,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
93 IRpostincs = IRpostinc + 1,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
94 IRpostincscope = IRpostincs + 1,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
95
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
96 IRpostdec,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
97 IRpostdecs = IRpostdec + 1,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
98 IRpostdecscope = IRpostdecs + 1,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
99
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
100 IRnew,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
101
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
102 IRclt,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
103 IRcle,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
104 IRcgt,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
105 IRcge,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
106 IRceq,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
107 IRcne,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
108 IRcid,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
109 IRcnid,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
110
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
111 IRjt,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
112 IRjf,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
113 IRjtb,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
114 IRjfb,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
115 IRjmp,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
116
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
117 IRjlt, // commonly appears as loop control
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
118 IRjle, // commonly appears as loop control
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
119
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
120 IRjltc, // commonly appears as loop control
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
121 IRjlec, // commonly appears as loop control
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
122
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
123 IRtypeof,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
124 IRinstance,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
125
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
126 IRpush,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
127 IRpop,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
128
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
129 IRiter,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
130 IRassert,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
131
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
132 IRthrow,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
133 IRtrycatch,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
134 IRtryfinally,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
135 IRfinallyret,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
136
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
137 IRMAX
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
138 }
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
139
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
140