changeset 14:cdf788d8bdaf

- Parsing /= now.
author aziz
date Sat, 23 Jun 2007 13:14:05 +0000
parents e5211758b63c
children c70c028e47dd
files trunk/src/Lexer.d trunk/src/Token.d trunk/src/format.css trunk/src/main.d
diffstat 4 files changed, 15 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/trunk/src/Lexer.d	Sat Jun 23 12:22:03 2007 +0000
+++ b/trunk/src/Lexer.d	Sat Jun 23 13:14:05 2007 +0000
@@ -125,8 +125,14 @@
       if (c == '/')
       {
         c = *++p;
-        if (c == '+')
+        switch(c)
         {
+          case '=':
+          ++p;
+          t.type = TOK.DivisionAssign;
+          t.end = p;
+          return;
+          case '+':
           uint level = 1;
           do
           {
@@ -149,9 +155,7 @@
           t.type = TOK.Comment;
           t.end = p;
           return;
-        }
-        else if (c == '*')
-        {
+          case '*':
           do
           {
             c = *++p;
@@ -162,9 +166,7 @@
           t.type = TOK.Comment;
           t.end = p;
           return;
-        }
-        else if (c == '/')
-        {
+          case '/':
           do
           {
             c = *++p;
--- a/trunk/src/Token.d	Sat Jun 23 12:22:03 2007 +0000
+++ b/trunk/src/Token.d	Sat Jun 23 13:14:05 2007 +0000
@@ -17,6 +17,7 @@
   Comment,
   String,
   Character,
+  DivisionAssign,
   EOF
 }
 
--- a/trunk/src/format.css	Sat Jun 23 12:22:03 2007 +0000
+++ b/trunk/src/format.css	Sat Jun 23 13:14:05 2007 +0000
@@ -7,4 +7,5 @@
 c { color: green; }
 i { color: darkblue; }
 sl { color: red; }
-cl { color: purple; }
\ No newline at end of file
+cl { color: purple; }
+op { color: orange; }
--- a/trunk/src/main.d	Sat Jun 23 12:22:03 2007 +0000
+++ b/trunk/src/main.d	Sat Jun 23 13:14:05 2007 +0000
@@ -55,6 +55,9 @@
       case TOK.Character:
         writef("<cl>%s</cl>", span);
       break;
+      case TOK.DivisionAssign:
+        writef("<op>%s</op>", span);
+      break;
       default:
     }
     end = token.end;