annotate trunk/src/Expressions.d @ 75:3f976d9e0833

- Implemented parseShiftExpression(). - Added classes LShiftExpression, RShiftExpression and URShiftExpression.
author aziz
date Sun, 01 Jul 2007 19:17:03 +0000
parents 30b0fb85dda9
children a85f9edf6ce7
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
70
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
1 /++
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
2 Author: Aziz Köksal
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
3 License: GPL2
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
4 +/
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
5 module Expressions;
71
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
6 import Token;
70
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
7
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
8 class Expression
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
9 {
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
10
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
11 }
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
12
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
13 class UnaryExpression : Expression
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
14 {
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
15
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
16 }
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
17
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
18 class BinaryExpression : Expression
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
19 {
71
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
20 Expression left, right;
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
21 TOK tok;
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
22 this(Expression left, Expression right, TOK tok)
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
23 {
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
24 this.left = left;
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
25 this.right = right;
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
26 this.tok = tok;
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
27 }
70
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
28 }
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
29
72
f75e359f939f - Added parseExpression() method.
aziz
parents: 71
diff changeset
30 class CondExpression : BinaryExpression
70
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
31 {
72
f75e359f939f - Added parseExpression() method.
aziz
parents: 71
diff changeset
32 Expression condition;
f75e359f939f - Added parseExpression() method.
aziz
parents: 71
diff changeset
33 this(Expression condition, Expression left, Expression right)
f75e359f939f - Added parseExpression() method.
aziz
parents: 71
diff changeset
34 {
f75e359f939f - Added parseExpression() method.
aziz
parents: 71
diff changeset
35 this.condition = condition;
f75e359f939f - Added parseExpression() method.
aziz
parents: 71
diff changeset
36 super(left, right, TOK.Comma);
f75e359f939f - Added parseExpression() method.
aziz
parents: 71
diff changeset
37 }
f75e359f939f - Added parseExpression() method.
aziz
parents: 71
diff changeset
38 }
70
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
39
72
f75e359f939f - Added parseExpression() method.
aziz
parents: 71
diff changeset
40 class CommaExpression : BinaryExpression
f75e359f939f - Added parseExpression() method.
aziz
parents: 71
diff changeset
41 {
f75e359f939f - Added parseExpression() method.
aziz
parents: 71
diff changeset
42 this(Expression left, Expression right)
f75e359f939f - Added parseExpression() method.
aziz
parents: 71
diff changeset
43 { super(left, right, TOK.Comma); }
70
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
44 }
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
45
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
46 class OrOrExpression : BinaryExpression
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
47 {
71
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
48 this(Expression left, Expression right)
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
49 { super(left, right, TOK.OrLogical); }
70
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
50 }
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
51
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
52 class AndAndExpression : BinaryExpression
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
53 {
71
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
54 this(Expression left, Expression right)
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
55 { super(left, right, TOK.AndLogical); }
70
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
56 }
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
57
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
58 class OrExpression : BinaryExpression
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
59 {
71
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
60 this(Expression left, Expression right)
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
61 { super(left, right, TOK.OrBinary); }
70
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
62 }
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
63
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
64 class XorExpression : BinaryExpression
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
65 {
71
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
66 this(Expression left, Expression right)
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
67 { super(left, right, TOK.Xor); }
70
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
68 }
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
69
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
70 class AndExpression : BinaryExpression
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
71 {
71
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
72 this(Expression left, Expression right)
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
73 { super(left, right, TOK.AndBinary); }
70
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
74 }
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
75
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
76 class CmpExpression : BinaryExpression
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
77 {
71
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
78 this(Expression left, Expression right, TOK tok)
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
79 { super(left, right, tok); }
70
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
80 }
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
81
71
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
82 class EqualExpression : CmpExpression
70
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
83 {
71
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
84 this(Expression left, Expression right, TOK tok)
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
85 { super(left, right, TOK.Equal); }
70
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
86 }
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
87
71
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
88 class IdentExpression : CmpExpression
70
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
89 {
71
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
90 this(Expression left, Expression right, TOK tok)
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
91 { super(left, right, tok); }
70
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
92 }
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
93
71
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
94 class RelExpression : CmpExpression
70
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
95 {
71
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
96 this(Expression left, Expression right, TOK tok)
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
97 { super(left, right, tok); }
70
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
98 }
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
99
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
100 class InExpression : BinaryExpression
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
101 {
71
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
102 this(Expression left, Expression right, TOK tok)
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
103 { super(left, right, TOK.In); }
70
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
104 }
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
105
75
3f976d9e0833 - Implemented parseShiftExpression().
aziz
parents: 74
diff changeset
106 class LShiftExpression : BinaryExpression
3f976d9e0833 - Implemented parseShiftExpression().
aziz
parents: 74
diff changeset
107 {
3f976d9e0833 - Implemented parseShiftExpression().
aziz
parents: 74
diff changeset
108 this(Expression left, Expression right)
3f976d9e0833 - Implemented parseShiftExpression().
aziz
parents: 74
diff changeset
109 { super(left, right, TOK.LShiftAssign); }
3f976d9e0833 - Implemented parseShiftExpression().
aziz
parents: 74
diff changeset
110 }
3f976d9e0833 - Implemented parseShiftExpression().
aziz
parents: 74
diff changeset
111
3f976d9e0833 - Implemented parseShiftExpression().
aziz
parents: 74
diff changeset
112 class RShiftExpression : BinaryExpression
3f976d9e0833 - Implemented parseShiftExpression().
aziz
parents: 74
diff changeset
113 {
3f976d9e0833 - Implemented parseShiftExpression().
aziz
parents: 74
diff changeset
114 this(Expression left, Expression right)
3f976d9e0833 - Implemented parseShiftExpression().
aziz
parents: 74
diff changeset
115 { super(left, right, TOK.RShiftAssign); }
3f976d9e0833 - Implemented parseShiftExpression().
aziz
parents: 74
diff changeset
116 }
3f976d9e0833 - Implemented parseShiftExpression().
aziz
parents: 74
diff changeset
117
3f976d9e0833 - Implemented parseShiftExpression().
aziz
parents: 74
diff changeset
118 class URShiftExpression : BinaryExpression
3f976d9e0833 - Implemented parseShiftExpression().
aziz
parents: 74
diff changeset
119 {
3f976d9e0833 - Implemented parseShiftExpression().
aziz
parents: 74
diff changeset
120 this(Expression left, Expression right)
3f976d9e0833 - Implemented parseShiftExpression().
aziz
parents: 74
diff changeset
121 { super(left, right, TOK.URShiftAssign); }
3f976d9e0833 - Implemented parseShiftExpression().
aziz
parents: 74
diff changeset
122 }
3f976d9e0833 - Implemented parseShiftExpression().
aziz
parents: 74
diff changeset
123
70
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
124 class AddExpression : BinaryExpression
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
125 {
71
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
126 this(Expression left, Expression right, TOK tok)
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
127 { super(left, right, tok); }
70
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
128 }
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
129
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
130 class MulExpression : BinaryExpression
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
131 {
71
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
132 this(Expression left, Expression right, TOK tok)
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
133 { super(left, right, tok); }
70
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
134 }
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
135
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
136 class CatExpression : BinaryExpression
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
137 {
71
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
138 this(Expression left, Expression right, TOK tok)
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
139 { super(left, right, TOK.Catenate); }
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
140 }
70
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
141
71
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
142 class AssignExpression : BinaryExpression
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
143 {
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
144 this(Expression left, Expression right)
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
145 { super(left, right, TOK.Assign); }
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
146 }
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
147 class LShiftAssignExpression : BinaryExpression
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
148 {
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
149 this(Expression left, Expression right)
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
150 { super(left, right, TOK.LShiftAssign); }
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
151 }
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
152 class RShiftAssignExpression : BinaryExpression
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
153 {
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
154 this(Expression left, Expression right)
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
155 { super(left, right, TOK.RShiftAssign); }
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
156 }
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
157 class URShiftAssignExpression : BinaryExpression
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
158 {
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
159 this(Expression left, Expression right)
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
160 { super(left, right, TOK.URShiftAssign); }
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
161 }
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
162 class OrAssignExpression : BinaryExpression
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
163 {
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
164 this(Expression left, Expression right)
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
165 { super(left, right, TOK.OrAssign); }
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
166 }
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
167 class AndAssignExpression : BinaryExpression
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
168 {
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
169 this(Expression left, Expression right)
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
170 { super(left, right, TOK.AndAssign); }
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
171 }
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
172 class PlusAssignExpression : BinaryExpression
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
173 {
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
174 this(Expression left, Expression right)
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
175 { super(left, right, TOK.PlusAssign); }
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
176 }
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
177 class MinusAssignExpression : BinaryExpression
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
178 {
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
179 this(Expression left, Expression right)
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
180 { super(left, right, TOK.MinusAssign); }
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
181 }
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
182 class DivAssignExpression : BinaryExpression
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
183 {
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
184 this(Expression left, Expression right)
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
185 { super(left, right, TOK.DivAssign); }
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
186 }
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
187 class MulAssignExpression : BinaryExpression
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
188 {
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
189 this(Expression left, Expression right)
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
190 { super(left, right, TOK.MulAssign); }
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
191 }
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
192 class ModAssignExpression : BinaryExpression
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
193 {
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
194 this(Expression left, Expression right)
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
195 { super(left, right, TOK.ModAssign); }
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
196 }
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
197 class XorAssignExpression : BinaryExpression
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
198 {
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
199 this(Expression left, Expression right)
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
200 { super(left, right, TOK.XorAssign); }
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
201 }
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
202 class CatAssignExpression : BinaryExpression
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
203 {
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
204 this(Expression left, Expression right)
b3777cca323c - Added Identity and NotIdentity tokens.
aziz
parents: 70
diff changeset
205 { super(left, right, TOK.CatAssign); }
70
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
206 }
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
207
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
208 class PostfixExpression : UnaryExpression
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
209 {
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
210
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
211 }
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
212
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
213 class DotExpression : UnaryExpression
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
214 {
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
215
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
216 }
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
217
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
218 class NewExpression : UnaryExpression
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
219 {
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
220
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
221 }
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
222
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
223 class DeleteExpression : UnaryExpression
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
224 {
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
225
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
226 }
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
227
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
228 class CastExpression : UnaryExpression
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
229 {
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
230
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
231 }
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
232
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
233 class AnonClassExpression : UnaryExpression
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
234 {
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
235
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
236 }
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
237
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
238 class PrimaryExpression
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
239 {
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
240
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
241 }
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
242
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
243 class IndexExpression
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
244 {
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
245
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
246 }
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
247
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
248 class SliceExpression
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
249 {
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
250
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
251 }
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
252
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
253 class AssertExpression
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
254 {
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
255
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
256 }
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
257
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
258 class MixinExpression
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
259 {
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
260
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
261 }
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
262
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
263 class ImportExpression
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
264 {
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
265
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
266 }
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
267
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
268 class TypeIdExpression
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
269 {
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
270
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
271 }
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
272
74
30b0fb85dda9 - Implemented parseCmpExpression().
aziz
parents: 72
diff changeset
273 class IsExpression : CmpExpression
70
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
274 {
74
30b0fb85dda9 - Implemented parseCmpExpression().
aziz
parents: 72
diff changeset
275 this(Expression left, Expression right, TOK tok)
30b0fb85dda9 - Implemented parseCmpExpression().
aziz
parents: 72
diff changeset
276 { super(left, right, tok); }
70
0d3ef6daec04 - Added Expression class stubs.
aziz
parents:
diff changeset
277 }