parse with whitespace
| 532 | |
| 533 | // parse with whitespace |
| 534 | virtual bool parse_non_term(_context& con) const override { |
| 535 | // parse the first; if the first fails, stop |
| 536 | if (!m_expr->parse_non_term(con)) return false; |
| 537 | |
| 538 | // parse the rest until no more parsing is possible |
| 539 | for (;;) { |
| 540 | _state st(con); |
| 541 | if (!m_expr->parse_non_term(con)) { |
| 542 | con.restore(st); |
| 543 | break; |
| 544 | } |
| 545 | } |
| 546 | |
| 547 | return true; |
| 548 | } |
| 549 | |
| 550 | // parse terminal |
| 551 | virtual bool parse_term(_context& con) const override { |
nothing calls this directly
no test coverage detected