From e994cb39b497a47d2115f00b040f46572ce7ed37 Mon Sep 17 00:00:00 2001 From: Luke Date: Tue, 29 Apr 2025 11:03:26 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/org/jcnc/snow/compiler/ir/BasicIRBuilder.java | 9 ++++++--- .../java/org/jcnc/snow/compiler/ir/IRInstruction.java | 3 +++ 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/jcnc/snow/compiler/ir/BasicIRBuilder.java b/src/main/java/org/jcnc/snow/compiler/ir/BasicIRBuilder.java index ffb5c02..cb90925 100644 --- a/src/main/java/org/jcnc/snow/compiler/ir/BasicIRBuilder.java +++ b/src/main/java/org/jcnc/snow/compiler/ir/BasicIRBuilder.java @@ -14,9 +14,12 @@ import java.util.Map; * BasicIRBuilder 类 —— 将 AST(抽象语法树)转换为 IR(中间表示)。 *

* 支持功能: - * • 整棵模块(Module)到函数(Function)到语句(Statement)到表达式(Expression)的递归编译 - * • 支持整数字面量、标识符、四则运算(+ - * /) - * • 支持变量声明、赋值、return 语句 + *

+ * - 整棵模块(Module)到函数(Function)到语句(Statement)到表达式(Expression)的递归编译 + *

+ * - 支持整数字面量、标识符、四则运算(+ - * /) + *

+ * - 支持变量声明、赋值、return 语句 */ public final class BasicIRBuilder { diff --git a/src/main/java/org/jcnc/snow/compiler/ir/IRInstruction.java b/src/main/java/org/jcnc/snow/compiler/ir/IRInstruction.java index bea3b7c..6d39cae 100644 --- a/src/main/java/org/jcnc/snow/compiler/ir/IRInstruction.java +++ b/src/main/java/org/jcnc/snow/compiler/ir/IRInstruction.java @@ -6,8 +6,11 @@ import java.util.List; * IRInstruction —— 所有 IR 指令的抽象基类(Abstract Base Class)。 *

* 每一条 IR 指令都至少具备以下基本属性: + *

* - 操作符(op):指示这条指令的操作类型,如加法、常量加载等。 + *

* - 目标寄存器(dest):保存运算结果的寄存器(某些指令可能没有结果)。 + *

* - 操作数列表(operands):指令所使用的操作数,如常量或寄存器。 *

* 继承类可以根据需要覆盖 dest() 和 operands() 方法。