feat: 添加对const关键字的支持,允许定义不可变变量并增强相关错误处理

This commit is contained in:
0264408
2026-06-16 17:24:17 +08:00
parent 284a29a4be
commit c2d6c518fc
8 changed files with 254 additions and 102 deletions
+3 -2
View File
@@ -315,6 +315,7 @@ impl Lexer {
let kind = match s.as_str() {
"let" => TokenKind::Let,
"const" => TokenKind::Const,
"fn" => TokenKind::Fn,
"if" => TokenKind::If,
"else" => TokenKind::Else,
@@ -532,9 +533,9 @@ mod tests {
#[test]
fn keywords() {
let kinds = tokenize("let fn if else while for break continue return true false nil");
let kinds = tokenize("let const fn if else while for break continue return true false nil");
assert_eq!(kinds, vec![
TokenKind::Let, TokenKind::Fn,
TokenKind::Let, TokenKind::Const, TokenKind::Fn,
TokenKind::If, TokenKind::Else,
TokenKind::While, TokenKind::For,
TokenKind::Break, TokenKind::Continue,