Mercurial > projects > dil
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 + +++++++++++++++++++++++++++++/