diff --git a/ChangeLog b/ChangeLog index 2d6c60c..1d49034 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Sun Apr 26 16:19:31 2009 Minero Aoki + + * net/loveruby/cflat/compiler/Simplifier.java -> IRGenerator.java + + * net/loveruby/cflat/compiler/Compiler.java: rename class. + Sun Apr 26 16:10:27 2009 Minero Aoki * net/loveruby/cflat/compiler/Simplifier.java (SwitchNode): diff --git a/net/loveruby/cflat/compiler/Compiler.java b/net/loveruby/cflat/compiler/Compiler.java index 244c499..1ac5e28 100644 --- a/net/loveruby/cflat/compiler/Compiler.java +++ b/net/loveruby/cflat/compiler/Compiler.java @@ -113,7 +113,7 @@ public class Compiler { ast.dump(); return; } - IR ir = new Simplifier(errorHandler).transform(ast); + IR ir = new IRGenerator(errorHandler).generate(ast); if (opts.mode() == CompilerMode.DumpIR) { ir.dump(); return; diff --git a/net/loveruby/cflat/compiler/Simplifier.java b/net/loveruby/cflat/compiler/IRGenerator.java similarity index 98% rename from net/loveruby/cflat/compiler/Simplifier.java rename to net/loveruby/cflat/compiler/IRGenerator.java index a84871d..92ccd38 100644 --- a/net/loveruby/cflat/compiler/Simplifier.java +++ b/net/loveruby/cflat/compiler/IRGenerator.java @@ -7,18 +7,18 @@ import net.loveruby.cflat.asm.Label; import net.loveruby.cflat.exception.*; import java.util.*; -class Simplifier implements ASTVisitor { +class IRGenerator implements ASTVisitor { private ErrorHandler errorHandler; private TypeTable typeTable; // #@@range/ctor{ - public Simplifier(ErrorHandler errorHandler) { + public IRGenerator(ErrorHandler errorHandler) { this.errorHandler = errorHandler; } // #@@} - // #@@range/transform{ - public IR transform(AST ast) throws SemanticException { + // #@@range/generate{ + public IR generate(AST ast) throws SemanticException { typeTable = ast.typeTable(); for (DefinedVariable var : ast.definedVariables()) { transformInitializer(var); @@ -180,7 +180,7 @@ class Simplifier implements ASTVisitor { } public Void visit(SwitchNode node) { - Label endLabel = new Label(); + Label endLabel = node.endLabel(); // FIXME stmts.add(node); node.setCond(transform(node.cond())); @@ -188,7 +188,6 @@ class Simplifier implements ASTVisitor { for (CaseNode c : node.cases()) { label(c.beginLabel()); transform(c.body()); - jump(endLabel); } popBreak(); label(endLabel);