Mercurial > projects > dil
diff trunk/src/Parser.d @ 251:67a798459532
- Added parameter Token* tok to some Expression constructors. Adapted parser accordingly.
author | aziz |
---|---|
date | Wed, 01 Aug 2007 16:08:02 +0000 |
parents | 1b9494591ad6 |
children | 788398655d24 |
line wrap: on
line diff
--- a/trunk/src/Parser.d Wed Aug 01 15:22:02 2007 +0000 +++ b/trunk/src/Parser.d Wed Aug 01 16:08:02 2007 +0000 @@ -2363,8 +2363,9 @@ auto e = parseAssignExpression(); while (token.type == T.Comma) { + auto comma = token; nT(); - e = new CommaExpression(e, parseAssignExpression()); + e = new CommaExpression(e, parseAssignExpression(), comma); set(e, begin); } // if (!trying) @@ -2451,8 +2452,9 @@ auto e = parseNext(); while (token.type == T.OrLogical) { + auto tok = token; nT(); - e = new OrOrExpression(e, parseNext()); + e = new OrOrExpression(e, parseNext(), tok); set(e, begin); } return e; @@ -2465,8 +2467,9 @@ auto e = parseNext(); while (token.type == T.AndLogical) { + auto tok = token; nT(); - e = new AndAndExpression(e, parseNext()); + e = new AndAndExpression(e, parseNext(), tok); set(e, begin); } return e; @@ -2479,8 +2482,9 @@ auto e = parseNext(); while (token.type == T.OrBinary) { + auto tok = token; nT(); - e = new OrExpression(e, parseNext()); + e = new OrExpression(e, parseNext(), tok); set(e, begin); } return e; @@ -2493,8 +2497,9 @@ auto e = parseNext(); while (token.type == T.Xor) { + auto tok = token; nT(); - e = new XorExpression(e, parseNext()); + e = new XorExpression(e, parseNext(), tok); set(e, begin); } return e; @@ -2507,8 +2512,9 @@ auto e = parseNext(); while (token.type == T.AndBinary) { + auto tok = token; nT(); - e = new AndExpression(e, parseNext()); + e = new AndExpression(e, parseNext(), tok); set(e, begin); } return e;