# HG changeset patch # User aziz # Date 1184438042 0 # Node ID c977b8a78507e00bd138b1c5b3993e4b19a0266d # Parent d4292a5a7b8bd5b5fb25bf5b312bbbf56f83bd9a - Added code for parsing ExpressionStatement. diff -r d4292a5a7b8b -r c977b8a78507 trunk/src/Parser.d --- 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; } diff -r d4292a5a7b8b -r c977b8a78507 trunk/src/Statements.d --- 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 +}