refactor(lexer, ast): Rewrite decl with c standard grammar of decl

This commit is contained in:
2026-06-12 18:32:13 +08:00
parent 6ff9c804aa
commit 5099bbaab7
4 changed files with 407 additions and 230 deletions
+3 -2
View File
@@ -25,7 +25,7 @@ pub enum TokenValue {
LBracket, RBracket,
Comma, Semicolon,
If, Else, While, For, Return, Break, Continue,
If, Else, While, For, Return, Break, Continue, Static,
Eof,
Unrecognized,
@@ -84,6 +84,7 @@ impl std::fmt::Display for TokenValue {
TokenValue::Return => write!(f, "return"),
TokenValue::Break => write!(f, "break"),
TokenValue::Continue => write!(f, "continue"),
TokenValue::Static => write!(f, "static"),
TokenValue::Eof => write!(f, "end of input"),
TokenValue::Unrecognized => write!(f, "unrecognized"),
}
@@ -104,7 +105,7 @@ pub enum TokenKind {
LBracket, RBracket,
Comma, Semicolon,
If, Else, While, For, Return, Break, Continue,
If, Else, While, For, Return, Break, Continue, Static,
Eof,
Unrecognized,