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);