MCPcopy Create free account
hub / github.com/NodeDB-Lab/nodedb / parse_while

Function parse_while

nodedb/src/control/planner/procedural/parser/statements.rs:165–173  ·  view source on GitHub ↗

`WHILE cond LOOP ... END LOOP;`

(tokens: &[Token], pos: &mut usize)

Source from the content-addressed store, hash-verified

163
164/// `WHILE cond LOOP ... END LOOP;`
165fn parse_while(tokens: &[Token], pos: &mut usize) -> Result<Statement, ProceduralError> {
166 *pos += 1;
167 let condition = collect_sql_until(tokens, pos, &[Token::Loop])?;
168 expect_token(tokens, pos, &Token::Loop)?;
169 let body = super::parse_statements(tokens, pos)?;
170 expect_token(tokens, pos, &Token::EndLoop)?;
171 skip_if(tokens, pos, &Token::Semicolon);
172 Ok(Statement::While { condition, body })
173}
174
175/// `FOR var IN [REVERSE] start..end LOOP ... END LOOP;`
176fn parse_for(tokens: &[Token], pos: &mut usize) -> Result<Statement, ProceduralError> {

Callers 1

parse_statementFunction · 0.85

Calls 4

collect_sql_untilFunction · 0.85
parse_statementsFunction · 0.85
skip_ifFunction · 0.85
expect_tokenFunction · 0.70

Tested by

no test coverage detected