diff trunk/src/Expressions.d @ 78:f043759fb59a

- Added code to parseUnaryExpression(); not fully implemented. - Added class AddressExpression, PreIncrExpression, PreDecrExpression, DerefExpression, SignExpression, NotExpression and CompExpression.
author aziz
date Sun, 01 Jul 2007 21:35:01 +0000
parents 7e21c4df1c02
children df4e5c7ad58a
line wrap: on
line diff
--- a/trunk/src/Expressions.d	Sun Jul 01 19:39:03 2007 +0000
+++ b/trunk/src/Expressions.d	Sun Jul 01 21:35:01 2007 +0000
@@ -10,11 +10,6 @@
 
 }
 
-class UnaryExpression : Expression
-{
-
-}
-
 class BinaryExpression : Expression
 {
   Expression left, right;
@@ -223,34 +218,93 @@
   { super(left, right, TOK.CatAssign); }
 }
 
+class UnaryExpression : Expression
+{
+  Expression e;
+  this(Expression e)
+  { this.e = e; }
+}
+
+class AddressExpression : UnaryExpression
+{
+  this(Expression e)
+  { super(e); }
+}
+
+class PreIncrExpression : UnaryExpression
+{
+  this(Expression e)
+  { super(e); }
+}
+
+class PreDecrExpression : UnaryExpression
+{
+  this(Expression e)
+  { super(e); }
+}
+
+class DerefExpression : UnaryExpression
+{
+  this(Expression e)
+  { super(e); }
+}
+
+class SignExpression : UnaryExpression
+{
+  TOK sign;
+  this(Expression e, TOK sign)
+  {
+    super(e);
+    this.sign = sign;
+  }
+}
+
+class NotExpression : UnaryExpression
+{
+  this(Expression e)
+  { super(e); }
+}
+
+class CompExpression : UnaryExpression
+{
+  this(Expression e)
+  { super(e); }
+}
+
 class PostfixExpression : UnaryExpression
 {
-
+  this(Expression e)
+  { super(e); }
 }
 
 class DotExpression : UnaryExpression
 {
-
+  this(Expression e)
+  { super(e); }
 }
 
 class NewExpression : UnaryExpression
 {
-
+  this(Expression e)
+  { super(e); }
 }
 
 class DeleteExpression : UnaryExpression
 {
-
+  this(Expression e)
+  { super(e); }
 }
 
 class CastExpression : UnaryExpression
 {
-
+  this(Expression e)
+  { super(e); }
 }
 
 class AnonClassExpression : UnaryExpression
 {
-
+  this(Expression e)
+  { super(e); }
 }
 
 class PrimaryExpression