Mercurial > projects > dil
changeset 234:5c1111dc8670
- Added method parseNoScopeOrEmptyStatement().
- Calling new method when parsing pragma and labeled statement.
author | aziz |
---|---|
date | Fri, 27 Jul 2007 15:17:04 +0000 |
parents | c2b601dcd57d |
children | 3384ac8878f7 |
files | trunk/src/Parser.d |
diffstat | 1 files changed, 16 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/trunk/src/Parser.d Fri Jul 27 14:49:02 2007 +0000 +++ b/trunk/src/Parser.d Fri Jul 27 15:17:04 2007 +0000 @@ -1423,7 +1423,7 @@ string ident = token.identifier; nT(); // Skip Identifier nT(); // Skip : - s = new LabeledStatement(ident, parseNoScopeStatement()); + s = new LabeledStatement(ident, parseNoScopeOrEmptyStatement()); break; } goto case T.Dot; @@ -1620,6 +1620,20 @@ return s; } + /+ + NoScopeOrEmptyStatement: + ; + NoScopeStatement + +/ + Statement parseNoScopeOrEmptyStatement() + { + if (token.type == T.Semicolon) + nT(); + else + return parseNoScopeStatement(); + return null; + } + Statement parseAttributeStatement() { switch (token.type) @@ -2018,10 +2032,7 @@ else require(T.RParen); - if (token.type == T.Semicolon) - nT(); - else - pragmaBody = parseNoScopeStatement(); + pragmaBody = parseNoScopeOrEmptyStatement(); return new PragmaStatement(ident, args, pragmaBody); }