Mercurial > projects > dil
changeset 187:c977b8a78507
- Added code for parsing ExpressionStatement.
author | aziz |
---|---|
date | Sat, 14 Jul 2007 18:34:02 +0000 |
parents | d4292a5a7b8b |
children | 5c6ebf9f60a9 |
files | trunk/src/Parser.d trunk/src/Statements.d |
diffstat | 2 files changed, 17 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/trunk/src/Parser.d Sat Jul 14 17:24:05 2007 +0000 +++ b/trunk/src/Parser.d Sat Jul 14 18:34:02 2007 +0000 @@ -1215,7 +1215,17 @@ } assert(0); default: - // TODO: issue error msg and return IllegalStatement. + bool failed; + auto expression = try_(parseExpression(), failed); + if (!failed) + { + require(T.Semicolon); + s = new ExpressionStatement(expression); + } + else + { + // TODO: issue error msg and return IllegalStatement. + } } return s; }
--- a/trunk/src/Statements.d Sat Jul 14 17:24:05 2007 +0000 +++ b/trunk/src/Statements.d Sat Jul 14 18:34:02 2007 +0000 @@ -44,7 +44,11 @@ class ExpressionStatement : Statement { - + Expression expression; + this(Expression expression) + { + this.expression = expression; + } } class DeclarationStatement : Statement @@ -329,4 +333,4 @@ this.condition = condition; this.message = message; } -} \ No newline at end of file +}