feat: 添加for-in循环支持,更新解析器、解释器和相关测试用例

This commit is contained in:
0264408
2026-06-16 19:10:26 +08:00
parent 75c1d230ad
commit 8b20580402
6 changed files with 215 additions and 3 deletions
+3 -2
View File
@@ -322,6 +322,7 @@ impl Lexer {
"else" => TokenKind::Else,
"while" => TokenKind::While,
"for" => TokenKind::For,
"in" => TokenKind::In,
"break" => TokenKind::Break,
"continue" => TokenKind::Continue,
"return" => TokenKind::Return,
@@ -534,11 +535,11 @@ mod tests {
#[test]
fn keywords() {
let kinds = tokenize("let const fn if else while for break continue return true false nil");
let kinds = tokenize("let const fn if else while for in break continue return true false nil");
assert_eq!(kinds, vec![
TokenKind::Let, TokenKind::Const, TokenKind::Fn,
TokenKind::If, TokenKind::Else,
TokenKind::While, TokenKind::For,
TokenKind::While, TokenKind::For, TokenKind::In,
TokenKind::Break, TokenKind::Continue,
TokenKind::Return,
TokenKind::True, TokenKind::False,