Mercurial > projects > dil
diff trunk/src/Parser.d @ 188:5c6ebf9f60a9
- Added code for parsing DeclarationStatement.
author | aziz |
---|---|
date | Sat, 14 Jul 2007 18:47:02 +0000 |
parents | c977b8a78507 |
children | d0712601fa47 |
line wrap: on
line diff
--- a/trunk/src/Parser.d Sat Jul 14 18:34:02 2007 +0000 +++ b/trunk/src/Parser.d Sat Jul 14 18:47:02 2007 +0000 @@ -1118,6 +1118,7 @@ Statement parseStatement() { Statement s; + Declaration d; switch (token.type) { case T.Identifier: @@ -1214,6 +1215,21 @@ goto case_Declaration; } assert(0); + case T.Enum: + d = parseEnumDeclaration(); + goto case_DeclarationStatement; + case T.Class: + d = parseClassDeclaration(); + goto case_DeclarationStatement; + case T.Interface: + d = parseInterfaceDeclaration(); + goto case_DeclarationStatement; + case T.Struct, T.Union: + d = parseAggregateDeclaration(); + goto case_DeclarationStatement; + case_DeclarationStatement: + s = new DeclarationStatement(d); + break; default: bool failed; auto expression = try_(parseExpression(), failed);