changeset 22:b05fff8e2ce4

- Added code for parsing Dot, Slice and Ellipses tokens.
author aziz
date Sun, 24 Jun 2007 11:02:05 +0000
parents c785c122e4e6
children 1a7903701a3d
files trunk/src/Lexer.d trunk/src/Token.d trunk/src/main.d
diffstat 3 files changed, 17 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/trunk/src/Lexer.d	Sat Jun 23 22:43:02 2007 +0000
+++ b/trunk/src/Lexer.d	Sun Jun 24 11:02:05 2007 +0000
@@ -261,6 +261,20 @@
 
       switch(c)
       {
+      case '.':
+        if (p[1] == '.')
+        {
+          ++p;
+          if (p[1] == '.') {
+            ++p;
+            t.type = TOK.Ellipses;
+          }
+          else
+            t.type = TOK.Slice;
+        }
+        else
+          t.type = TOK.Dot;
+        goto Lcommon;
       case '(':
         t.type = TOK.LParen;
         goto Lcommon;
--- a/trunk/src/Token.d	Sat Jun 23 22:43:02 2007 +0000
+++ b/trunk/src/Token.d	Sun Jun 24 11:02:05 2007 +0000
@@ -26,6 +26,8 @@
   LBrace,
   RBrace,
 
+  Dot, Slice, Ellipses,
+
   Colon,
   Semicolon,
   Question,
--- a/trunk/src/main.d	Sat Jun 23 22:43:02 2007 +0000
+++ b/trunk/src/main.d	Sun Jun 24 11:02:05 2007 +0000
@@ -62,6 +62,7 @@
            TOK.RBracket, TOK.LBrace, TOK.RBrace:
         writef("<br>%s</br>", span);
       break;
+      case TOK.EOF: break;
       default:
         writef("%s", span);
     }