make let a statement & support parsing for let

This commit is contained in:
Michael Sippel 2024-05-11 01:19:44 +02:00
parent d7c06d423e
commit e23d8257d0
Signed by: senvas
GPG key ID: F96CF119C34B64A6
5 changed files with 77 additions and 95 deletions

View file

@ -66,6 +66,18 @@ where It: Iterator<Item = char>
val_expr
})
}
"let" => {
tokens.next();
let name = parse_symbol(tokens)?;
let _ = parse_expect(tokens, LTIRToken::AssignValue);
let val_expr = parse_expr(tokens)?;
let _ = parse_expect(tokens, LTIRToken::StatementSep)?;
Ok(Statement::LetAssign {
var_id: name,
val_expr
})
}
"while" => {
tokens.next();
let _ = parse_expect(tokens, LTIRToken::ExprOpen)?;