MCPcopy Index your code
hub / github.com/endbasic/endbasic / reset_do

Method reset_do

core/src/parser.rs:663–685  ·  view source on GitHub ↗

Advances until the next statement after failing to parse a `DO` statement.

(&mut self)

Source from the content-addressed store, hash-verified

661
662 /// Advances until the next statement after failing to parse a `DO` statement.
663 fn reset_do(&mut self) -> Result<()> {
664 loop {
665 match self.lexer.peek()?.token {
666 Token::Eof => break,
667 Token::Loop => {
668 self.lexer.consume_peeked();
669 loop {
670 match self.lexer.peek()?.token {
671 Token::Eof | Token::Eol => break,
672 _ => {
673 self.lexer.consume_peeked();
674 }
675 }
676 }
677 break;
678 }
679 _ => {
680 self.lexer.consume_peeked();
681 }
682 }
683 }
684 self.reset()
685 }
686
687 /// Parses a potential `END` statement but, if this corresponds to a statement terminator such
688 /// as `END IF`, returns the token that followed `END`.

Callers 1

parse_oneMethod · 0.80

Calls 3

consume_peekedMethod · 0.80
peekMethod · 0.45
resetMethod · 0.45

Tested by

no test coverage detected