From 054ab5d63dfd8b12081a71daf7c144209209b7b9 Mon Sep 17 00:00:00 2001 From: Luke Date: Mon, 14 Jul 2025 23:50:08 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E9=87=8D=E6=9E=84=20SnowExample=20?= =?UTF-8?q?=E4=B8=AD=E7=9A=84=E5=BE=AA=E7=8E=AF=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 将 loop 节点下的子节点名称从 initializer 改为 init - 将 loop 节点下的子节点名称从 condition改为 cond - 将 loop 节点下的子节点名称从 update 改为 step --- .../org/jcnc/snow/compiler/ir/builder/StatementBuilder.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/jcnc/snow/compiler/ir/builder/StatementBuilder.java b/src/main/java/org/jcnc/snow/compiler/ir/builder/StatementBuilder.java index 30d672a..7472269 100644 --- a/src/main/java/org/jcnc/snow/compiler/ir/builder/StatementBuilder.java +++ b/src/main/java/org/jcnc/snow/compiler/ir/builder/StatementBuilder.java @@ -155,18 +155,18 @@ public class StatementBuilder { * @param loop 循环节点 */ private void buildLoop(LoopNode loop) { - if (loop.initializer() != null) build(loop.initializer()); + if (loop.init() != null) build(loop.init()); String lblStart = ctx.newLabel(); String lblEnd = ctx.newLabel(); // 循环开始标签 InstructionFactory.label(ctx, lblStart); // 条件不满足则跳出循环 - emitConditionalJump(loop.condition(), lblEnd); + emitConditionalJump(loop.cond(), lblEnd); // 构建循环体 buildStatements(loop.body()); // 更新部分(如 for 的 i++) - if (loop.update() != null) build(loop.update()); + if (loop.step() != null) build(loop.step()); // 跳回循环起点 InstructionFactory.jmp(ctx, lblStart);