changeset 206:f9f5c0949a06

- Added method start(). - Added class IllegalStatement. - Added code for creating an IllegalStatement object when no token matched in parseStatement().
author aziz
date Mon, 16 Jul 2007 11:06:01 +0000
parents e5a4f88982d1
children 481ed2b63a49
files trunk/src/Parser.d trunk/src/Statements.d
diffstat 2 files changed, 16 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/trunk/src/Parser.d	Mon Jul 16 10:58:02 2007 +0000
+++ b/trunk/src/Parser.d	Mon Jul 16 11:06:01 2007 +0000
@@ -26,6 +26,11 @@
     lx = new Lexer(srcText, fileName);
   }
 
+  void start()
+  {
+    nT();
+  }
+
   void nT()
   {
     do
@@ -1486,6 +1491,8 @@
       else
       {
         // TODO: issue error msg and return IllegalStatement.
+        s = new IllegalStatement(token.type);
+        nT();
       }
     }
     assert(s !is null);
@@ -1553,8 +1560,6 @@
          T.Scope:
       TOK tok = token.type;
       nT();
-      //if (token.type == T.LBrace)
-        // TODO: issue error msg.
       return new AttributeStatement(tok, parseStatement());
     default:
     }
--- a/trunk/src/Statements.d	Mon Jul 16 10:58:02 2007 +0000
+++ b/trunk/src/Statements.d	Mon Jul 16 11:06:01 2007 +0000
@@ -22,6 +22,15 @@
   }
 }
 
+class IllegalStatement : Statement
+{
+  TOK tok;
+  this(TOK tok)
+  {
+    this.tok = tok;
+  }
+}
+
 class FunctionBody
 {
   Statement funcBody, inBody, outBody;