| 1483 | } |
| 1484 | |
| 1485 | void fxDoStatement(txParser* parser) |
| 1486 | { |
| 1487 | txInteger aLine = parser->states[0].line; |
| 1488 | fxCheckParserStack(parser, aLine); |
| 1489 | fxPushNULL(parser); |
| 1490 | fxMatchToken(parser, XS_TOKEN_DO); |
| 1491 | fxStatement(parser, 0); |
| 1492 | fxMatchToken(parser, XS_TOKEN_WHILE); |
| 1493 | fxMatchToken(parser, XS_TOKEN_LEFT_PARENTHESIS); |
| 1494 | fxCommaExpression(parser); |
| 1495 | fxMatchToken(parser, XS_TOKEN_RIGHT_PARENTHESIS); |
| 1496 | if (parser->states[0].token == XS_TOKEN_SEMICOLON) |
| 1497 | fxGetNextToken(parser); |
| 1498 | fxPushNodeStruct(parser, 2, XS_TOKEN_DO, aLine); |
| 1499 | fxPushNodeStruct(parser, 2, XS_TOKEN_LABEL, aLine); |
| 1500 | } |
| 1501 | |
| 1502 | void fxForStatement(txParser* parser) |
| 1503 | { |
no test coverage detected