changeset 29:ef83eea26bbd

- Added code for parsing MulAssign, Mul, ModAssign, Mod, XorAssign and Xor tokens.
author aziz
date Sun, 24 Jun 2007 18:01:02 +0000
parents 3a9daccf7d96
children 426767b94635
files trunk/src/Lexer.d trunk/src/Token.d
diffstat 2 files changed, 28 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/trunk/src/Lexer.d	Sun Jun 24 17:19:03 2007 +0000
+++ b/trunk/src/Lexer.d	Sun Jun 24 18:01:02 2007 +0000
@@ -352,7 +352,31 @@
          else
            t.type = TOK.Tilde;
          goto Lcommon;
-      // Single character tokens
+      case '*':
+         if (p[1] == '=') {
+           ++p;
+           t.type = TOK.MulAssign;
+         }
+         else
+           t.type = TOK.Mul;
+         goto Lcommon;
+      case '^':
+         if (p[1] == '=') {
+           ++p;
+           t.type = TOK.XorAssign;
+         }
+         else
+           t.type = TOK.Xor;
+         goto Lcommon;
+      case '%':
+         if (p[1] == '=') {
+           ++p;
+           t.type = TOK.ModAssign;
+         }
+         else
+           t.type = TOK.Mod;
+         goto Lcommon;
+      // Single character tokens:
       case '(':
         t.type = TOK.LParen;
         goto Lcommon;
--- a/trunk/src/Token.d	Sun Jun 24 17:19:03 2007 +0000
+++ b/trunk/src/Token.d	Sun Jun 24 18:01:02 2007 +0000
@@ -33,6 +33,9 @@
   AndAssign, AndLogical, AndBinary,
   PlusAssign, PlusPlus, Plus,
   MinusAssign, MinusMinus, Minus,
+  MulAssign, Mul,
+  ModAssign, Mod,
+  XorAssign, Xor,
   CatAssign, Catenate,
 
   Tilde,