feat: 支持复合运算符

This commit is contained in:
2026-06-06 20:20:05 +08:00
parent 87a7224c2d
commit 8c3f4aabe6
8 changed files with 177 additions and 8 deletions
+19 -1
View File
@@ -16,8 +16,14 @@ pub enum OpCode {
DIV = 0x03,
MOD = 0x04,
NEG = 0x05,
COMPOUND_ADD = 0x06,
COMPOUND_SUB = 0x07,
COMPOUND_MUL = 0x08,
COMPOUND_DIV = 0x09,
COMPOUND_MOD = 0x0A,
COMPOUND_EXP = 0x0B,
// ── Comparison (0x10-0x1F) ──
// -- Comparison (0x10-0x1F) --
EQ = 0x10,
NEQ = 0x11,
LT = 0x12,
@@ -104,6 +110,12 @@ impl TryFrom<u8> for OpCode {
0x03 => Ok(OpCode::DIV),
0x04 => Ok(OpCode::MOD),
0x05 => Ok(OpCode::NEG),
0x06 => Ok(OpCode::COMPOUND_ADD),
0x07 => Ok(OpCode::COMPOUND_SUB),
0x08 => Ok(OpCode::COMPOUND_MUL),
0x09 => Ok(OpCode::COMPOUND_DIV),
0x0A => Ok(OpCode::COMPOUND_MOD),
0x0B => Ok(OpCode::COMPOUND_EXP),
0x10 => Ok(OpCode::EQ),
0x11 => Ok(OpCode::NEQ),
0x12 => Ok(OpCode::LT),
@@ -163,6 +175,12 @@ impl fmt::Display for OpCode {
OpCode::DIV => "DIV",
OpCode::MOD => "MOD",
OpCode::NEG => "NEG",
OpCode::COMPOUND_ADD => "COMPOUND_ADD",
OpCode::COMPOUND_SUB => "COMPOUND_SUB",
OpCode::COMPOUND_MUL => "COMPOUND_MUL",
OpCode::COMPOUND_DIV => "COMPOUND_DIV",
OpCode::COMPOUND_MOD => "COMPOUND_MOD",
OpCode::COMPOUND_EXP => "COMPOUND_EXP",
OpCode::EQ => "EQ",
OpCode::NEQ => "NEQ",
OpCode::LT => "LT",