diff trunk/src/Parser.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
line wrap: on
line diff
--- a/trunk/src/Parser.d	Sun Jul 01 19:01:00 2007 +0000
+++ b/trunk/src/Parser.d	Sun Jul 01 19:17:03 2007 +0000
@@ -219,6 +219,24 @@
 
   Expression parseShiftExpression()
   {
+    auto e = parseAddExpression();
+    while (1)
+    {
+      switch (lx.token.type)
+      {
+      case T.LShift:  nT(); e = new LShiftExpression(e, parseAddExpression()); break;
+      case T.RShift:  nT(); e = new RShiftExpression(e, parseAddExpression()); break;
+      case T.URShift: nT(); e = new URShiftExpression(e, parseAddExpression()); break;
+      default: break;
+      }
+      break;
+    }
+    return e;
+  }
+
+  Expression parseAddExpression()
+  {
+//     auto e = parseMulExpression()
     return new Expression();
   }