diff trunk/src/Parser.d @ 175:522df6f0f230

- Implemented parseReturnStatement().
author aziz
date Sat, 14 Jul 2007 10:44:05 +0000
parents e51c9ee66ea0
children 3071522c0cf0
line wrap: on
line diff
--- a/trunk/src/Parser.d	Sat Jul 14 10:40:03 2007 +0000
+++ b/trunk/src/Parser.d	Sat Jul 14 10:44:05 2007 +0000
@@ -1163,6 +1163,9 @@
     case T.Break:
       s = parseBreakStatement();
       break;
+    case T.Return:
+      s = parseReturnStatement();
+      break;
     default:
       // TODO: issue error msg and return IllegalStatement.
     }
@@ -1420,6 +1423,15 @@
     return new BreakStatement(ident);
   }
 
+  Statement parseReturnStatement()
+  {
+    assert(token.type == T.Return);
+    nT();
+    auto expr = parseExpression();
+    require(T.Semicolon);
+    return new ReturnStatement(expr);
+  }
+
   /+++++++++++++++++++++++++++++
   + Expression parsing methods +
   +++++++++++++++++++++++++++++/