feat: 添加对const关键字的支持,允许定义不可变变量并增强相关错误处理
This commit is contained in:
+3
-2
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user