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

Method parse_gosub

core/src/parser.rs:1022–1034  ·  view source on GitHub ↗

Parses a `GOSUB` statement.

(&mut self)

Source from the content-addressed store, hash-verified

1020
1021 /// Parses a `GOSUB` statement.
1022 fn parse_gosub(&mut self) -> Result<Statement> {
1023 let token_span = self.lexer.read()?;
1024 match token_span.token {
1025 Token::Integer(i) => {
1026 let target = format!("{}", i);
1027 Ok(Statement::Gosub(GotoSpan { target, target_pos: token_span.pos }))
1028 }
1029 Token::Label(target) => {
1030 Ok(Statement::Gosub(GotoSpan { target, target_pos: token_span.pos }))
1031 }
1032 _ => Err(Error::Bad(token_span.pos, "Expected label name after GOSUB".to_owned())),
1033 }
1034 }
1035
1036 /// Parses a `GOTO` statement.
1037 fn parse_goto(&mut self) -> Result<Statement> {

Callers 2

parse_unilineMethod · 0.80
parse_oneMethod · 0.80

Calls 1

readMethod · 0.45

Tested by

no test coverage detected