feat: 添加赋值运算符支持,更新解析器、解释器和词法分析器以处理相关语法

This commit is contained in:
0264408
2026-06-16 08:55:21 +08:00
parent ae3060708d
commit a40c8d1e9e
6 changed files with 123 additions and 13 deletions
+12
View File
@@ -11,6 +11,7 @@ pub enum Expr {
/// 赋值表达式:a = b
Assign {
name: String,
op: AssignOp,
value: Box<Expr>,
},
@@ -24,6 +25,7 @@ pub enum Expr {
Set {
object: Box<Expr>,
name: String,
op: AssignOp,
value: Box<Expr>,
},
@@ -47,6 +49,7 @@ pub enum Expr {
IndexSet {
array: Box<Expr>,
index: Box<Expr>,
op: AssignOp,
value: Box<Expr>,
},
@@ -118,3 +121,12 @@ pub enum LogicalOp {
And,
Or,
}
#[derive(Debug, Clone, Copy)]
pub enum AssignOp {
Equal, // =
PlusEqual, // +=
MinusEqual, // -=
StarEqual, // *=
SlashEqual, // /=
}