changeset 173:c2714ba44350

- Implemented parseContinueStatement().
author aziz
date Sat, 14 Jul 2007 10:36:02 +0000
parents 89d4519bd8a1
children e51c9ee66ea0
files trunk/src/Parser.d trunk/src/Statements.d
diffstat 2 files changed, 22 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/trunk/src/Parser.d	Sat Jul 14 10:32:03 2007 +0000
+++ b/trunk/src/Parser.d	Sat Jul 14 10:36:02 2007 +0000
@@ -1157,6 +1157,9 @@
     case T.Default:
       s = parseDefaultStatement();
       break;
+    case T.Continue:
+      s = parseContinueStatement();
+      break;
     default:
       // TODO: issue error msg and return IllegalStatement.
     }
@@ -1386,6 +1389,20 @@
     return new DefaultStatement(parseScopeStatement());
   }
 
+  Statement parseContinueStatement()
+  {
+    assert(token.type == T.Continue);
+    nT();
+    string ident;
+    if (token.type == T.Identifier)
+    {
+      ident = token.identifier;
+      nT();
+    }
+    require(T.Semicolon);
+    return new ContinueStatement(ident);
+  }
+
   /+++++++++++++++++++++++++++++
   + Expression parsing methods +
   +++++++++++++++++++++++++++++/
--- a/trunk/src/Statements.d	Sat Jul 14 10:32:03 2007 +0000
+++ b/trunk/src/Statements.d	Sat Jul 14 10:36:02 2007 +0000
@@ -161,7 +161,11 @@
 
 class ContinueStatement : Statement
 {
-
+  string ident;
+  this(string ident)
+  {
+    this.ident = ident;
+  }
 }
 
 class BreakStatement : Statement