feat(ir, parser): Support if/while/break/logical expr/cmp in parser and ir generator

This commit is contained in:
2026-05-14 15:54:31 +08:00
parent 41284dc14e
commit 7b6eede961
10 changed files with 1260 additions and 357 deletions
+3 -1
View File
@@ -17,7 +17,7 @@ pub enum TokenValue {
TypeIdent(TypeIdent),
Plus, Minus, Star, Slash, Percent,
Equal, DoubleEqual, Not, NotEqual, Less, LessEqual, Greater, GreaterEqual,
Equal, DoubleEqual, Not, NotEqual, Less, LessEqual, Greater, GreaterEqual, And, Or,
LParen, RParen,
LBrace, RBrace,
@@ -58,6 +58,8 @@ impl std::fmt::Display for TokenValue {
TokenValue::Equal => write!(f, "`=`"),
TokenValue::DoubleEqual => write!(f, "`==`"),
TokenValue::Not => write!(f, "`!`"),
TokenValue::And => write!(f, "`&&`"),
TokenValue::Or => write!(f, "`||`"),
TokenValue::NotEqual => write!(f, "`!=`"),
TokenValue::Less => write!(f, "`<`"),
TokenValue::LessEqual => write!(f, "`<=`"),