mirror of https://github.com/aamine/cbc
* net/loveruby/cflat/compiler/Simplifier.java -> IRGenerator.java
* net/loveruby/cflat/compiler/Compiler.java: rename class. git-svn-id: file:///Users/aamine/c/gitwork/public/cbc/trunk@4149 1b9489fe-b721-0410-924e-b54b9192deb8
This commit is contained in:
parent
732ebf51d4
commit
e8f10dc3f6
|
|
@ -1,3 +1,9 @@
|
|||
Sun Apr 26 16:19:31 2009 Minero Aoki <aamine@loveruby.net>
|
||||
|
||||
* 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 <aamine@loveruby.net>
|
||||
|
||||
* net/loveruby/cflat/compiler/Simplifier.java (SwitchNode):
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -7,18 +7,18 @@ import net.loveruby.cflat.asm.Label;
|
|||
import net.loveruby.cflat.exception.*;
|
||||
import java.util.*;
|
||||
|
||||
class Simplifier implements ASTVisitor<Void, ExprNode> {
|
||||
class IRGenerator implements ASTVisitor<Void, ExprNode> {
|
||||
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<Void, ExprNode> {
|
|||
}
|
||||
|
||||
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<Void, ExprNode> {
|
|||
for (CaseNode c : node.cases()) {
|
||||
label(c.beginLabel());
|
||||
transform(c.body());
|
||||
jump(endLabel);
|
||||
}
|
||||
popBreak();
|
||||
label(endLabel);
|
||||
Loading…
Reference in New Issue