feat(lexer,sema,ir): Add compoundassign

This commit is contained in:
2026-06-13 09:09:18 +08:00
parent 1de7e2876c
commit 09a99bbc33
7 changed files with 168 additions and 19 deletions
+7
View File
@@ -18,6 +18,7 @@ pub enum TokenValue {
Plus, Minus, Star, Slash, Percent,
PlusPlus, MinusMinus,
PlusEqual, MinusEqual, StarEqual, SlashEqual, PercentEqual,
Equal, DoubleEqual, Not, NotEqual, Less, LessEqual, Greater, GreaterEqual, And, Or,
LParen, RParen,
@@ -56,6 +57,11 @@ impl std::fmt::Display for TokenValue {
TokenValue::Minus => write!(f, "`-`"),
TokenValue::PlusPlus => write!(f, "`++`"),
TokenValue::MinusMinus => write!(f, "`--`"),
TokenValue::PlusEqual => write!(f, "`+=`"),
TokenValue::MinusEqual => write!(f, "`-=`"),
TokenValue::StarEqual => write!(f, "`*=`"),
TokenValue::SlashEqual => write!(f, "`/=`"),
TokenValue::PercentEqual => write!(f, "`%=`"),
TokenValue::Star => write!(f, "`*`"),
TokenValue::Slash => write!(f, "`/`"),
TokenValue::Percent => write!(f, "`%`"),
@@ -98,6 +104,7 @@ pub enum TokenKind {
TypeIdent,
Plus, Minus, Star, Slash, Percent,
PlusEqual, MinusEqual, StarEqual, SlashEqual, PercentEqual,
Equal, DoubleEqual, NotEqual, Less, LessEqual, Greater, GreaterEqual,
LParen, RParen,