statements and local variables

This commit is contained in:
2025-05-29 19:48:09 +02:00
parent f0938ce0a3
commit 0c38b0b6a0
4 changed files with 113 additions and 24 deletions

View File

@@ -30,6 +30,9 @@ pub enum TokenType {
String,
Number,
KeywordPrint,
KeywordLet,
Eof,
}
@@ -228,9 +231,11 @@ impl Tokenizer {
}
let lexeme: String = self.source[self.start..self.current].iter().collect();
match lexeme.as_str() {
_ => self.add_token(TokenType::Identifier),
}
self.add_token(match lexeme.as_str() {
"print" => TokenType::KeywordPrint,
"let" => TokenType::KeywordLet,
_ => TokenType::Identifier,
})
}
fn match_char(&mut self, expected: char) -> bool {