diff trunk/src/Parser.d @ 77:7e21c4df1c02

- Implemented parseMulExpression(). - Added stub for parseUnaryExpression(). - Added classes DivExpression and ModExpression.
author aziz
date Sun, 01 Jul 2007 19:39:03 +0000
parents a85f9edf6ce7
children f043759fb59a
line wrap: on
line diff
--- a/trunk/src/Parser.d	Sun Jul 01 19:28:02 2007 +0000
+++ b/trunk/src/Parser.d	Sun Jul 01 19:39:03 2007 +0000
@@ -253,9 +253,26 @@
 
   Expression parseMulExpression()
   {
+    auto e = parseUnaryExpression();
+    while (1)
+    {
+      switch (lx.token.type)
+      {
+      case T.Mul: nT(); e = new MulExpression(e, parseUnaryExpression()); break;
+      case T.Div: nT(); e = new DivExpression(e, parseUnaryExpression()); break;
+      case T.Mod: nT(); e = new ModExpression(e, parseUnaryExpression()); break;
+      default: break;
+      }
+      break;
+    }
     return new Expression();
   }
 
+  Expression parseUnaryExpression()
+  {
+    return new Expression;
+  }
+
   void error(MID id, ...)
   {
     errors ~= new Information(Information.Type.Parser, id, lx.loc, arguments(_arguments, _argptr));