Mercurial > projects > dil
diff trunk/src/Parser.d @ 75:3f976d9e0833
- Implemented parseShiftExpression().
- Added classes LShiftExpression, RShiftExpression and URShiftExpression.
author | aziz |
---|---|
date | Sun, 01 Jul 2007 19:17:03 +0000 |
parents | 30b0fb85dda9 |
children | a85f9edf6ce7 |
line wrap: on
line diff
--- a/trunk/src/Parser.d Sun Jul 01 19:01:00 2007 +0000 +++ b/trunk/src/Parser.d Sun Jul 01 19:17:03 2007 +0000 @@ -219,6 +219,24 @@ Expression parseShiftExpression() { + auto e = parseAddExpression(); + while (1) + { + switch (lx.token.type) + { + case T.LShift: nT(); e = new LShiftExpression(e, parseAddExpression()); break; + case T.RShift: nT(); e = new RShiftExpression(e, parseAddExpression()); break; + case T.URShift: nT(); e = new URShiftExpression(e, parseAddExpression()); break; + default: break; + } + break; + } + return e; + } + + Expression parseAddExpression() + { +// auto e = parseMulExpression() return new Expression(); }