Mercurial > projects > dil
comparison trunk/src/Parser.d @ 227:cd0acc9dadc1
- Fix in parsePostExpression(): break should be continue.
- Fixes in parseAddExpression() and parseMulExpression(): return e instead of new Expression().
author | aziz |
---|---|
date | Fri, 27 Jul 2007 09:12:04 +0000 |
parents | aa38e1401217 |
children | a4c5ee9527b7 |
comparison
equal
deleted
inserted
replaced
226:aa38e1401217 | 227:cd0acc9dadc1 |
---|---|
2389 case T.Tilde: nT(); e = new CatExpression(e, parseMulExpression()); break; | 2389 case T.Tilde: nT(); e = new CatExpression(e, parseMulExpression()); break; |
2390 default: break; | 2390 default: break; |
2391 } | 2391 } |
2392 break; | 2392 break; |
2393 } | 2393 } |
2394 return new Expression(); | 2394 return e; |
2395 } | 2395 } |
2396 | 2396 |
2397 Expression parseMulExpression() | 2397 Expression parseMulExpression() |
2398 { | 2398 { |
2399 auto e = parseUnaryExpression(); | 2399 auto e = parseUnaryExpression(); |
2406 case T.Mod: nT(); e = new ModExpression(e, parseUnaryExpression()); break; | 2406 case T.Mod: nT(); e = new ModExpression(e, parseUnaryExpression()); break; |
2407 default: break; | 2407 default: break; |
2408 } | 2408 } |
2409 break; | 2409 break; |
2410 } | 2410 } |
2411 return new Expression(); | 2411 return e; |
2412 } | 2412 } |
2413 | 2413 |
2414 Expression parseUnaryExpression() | 2414 Expression parseUnaryExpression() |
2415 { | 2415 { |
2416 Expression e; | 2416 Expression e; |
2511 expected(T.Identifier); | 2511 expected(T.Identifier); |
2512 continue; | 2512 continue; |
2513 */ | 2513 */ |
2514 case T.Dot: | 2514 case T.Dot: |
2515 e = new PostDotListExpression(e, parseDotListExpression()); | 2515 e = new PostDotListExpression(e, parseDotListExpression()); |
2516 break; | 2516 continue; |
2517 case T.PlusPlus: | 2517 case T.PlusPlus: |
2518 e = new PostIncrExpression(e); | 2518 e = new PostIncrExpression(e); |
2519 break; | 2519 break; |
2520 case T.MinusMinus: | 2520 case T.MinusMinus: |
2521 e = new PostDecrExpression(e); | 2521 e = new PostDecrExpression(e); |