Mercurial > projects > dil
changeset 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 |
files | trunk/src/Expressions.d trunk/src/Parser.d |
diffstat | 2 files changed, 24 insertions(+), 18 deletions(-) [+] |
line wrap: on
line diff
--- a/trunk/src/Expressions.d Wed Aug 01 15:22:02 2007 +0000 +++ b/trunk/src/Expressions.d Wed Aug 01 16:08:02 2007 +0000 @@ -46,38 +46,38 @@ class CommaExpression : BinaryExpression { - this(Expression left, Expression right) - { super(left, right, null); } + this(Expression left, Expression right, Token* tok) + { super(left, right, tok); } } class OrOrExpression : BinaryExpression { - this(Expression left, Expression right) - { super(left, right, null); } + this(Expression left, Expression right, Token* tok) + { super(left, right, tok); } } class AndAndExpression : BinaryExpression { - this(Expression left, Expression right) - { super(left, right, null); } + this(Expression left, Expression right, Token* tok) + { super(left, right, tok); } } class OrExpression : BinaryExpression { - this(Expression left, Expression right) - { super(left, right, null); } + this(Expression left, Expression right, Token* tok) + { super(left, right, tok); } } class XorExpression : BinaryExpression { - this(Expression left, Expression right) - { super(left, right, null); } + this(Expression left, Expression right, Token* tok) + { super(left, right, tok); } } class AndExpression : BinaryExpression { - this(Expression left, Expression right) - { super(left, right, null); } + this(Expression left, Expression right, Token* tok) + { super(left, right, tok); } } class CmpExpression : BinaryExpression
--- 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;