diff --git a/ep20/src/main/java/org/teachfx/antlr4/ep20/Compiler.java b/ep20/src/main/java/org/teachfx/antlr4/ep20/Compiler.java index 6d76854..e111f4c 100644 --- a/ep20/src/main/java/org/teachfx/antlr4/ep20/Compiler.java +++ b/ep20/src/main/java/org/teachfx/antlr4/ep20/Compiler.java @@ -31,7 +31,7 @@ protected static void printIRTree(List irNodeList) { } return " "+irNode.toString(); }).reduce((a, b) -> a + "\n" + b); - logger.info("IR Tree:" + "\n"+prettyFormatText.get()); + prettyFormatText.ifPresent(logger::debug); } public static void main(String[] args) throws IOException { @@ -70,7 +70,7 @@ public static void main(String[] args) throws IOException { var assembler = new CymbolAssembler(); assembler.visit(codeBuffer); saveToEp18Res(assembler.getAsmInfo()); - logger.info("\n%s".formatted(assembler.getAsmInfo())); + logger.debug("\n%s".formatted(assembler.getAsmInfo())); } protected static void saveToEp18Res(String buffer) { diff --git a/ep20/src/main/java/org/teachfx/antlr4/ep20/ir/expr/arith/BinExpr.java b/ep20/src/main/java/org/teachfx/antlr4/ep20/ir/expr/arith/BinExpr.java index cbe2859..da0e494 100644 --- a/ep20/src/main/java/org/teachfx/antlr4/ep20/ir/expr/arith/BinExpr.java +++ b/ep20/src/main/java/org/teachfx/antlr4/ep20/ir/expr/arith/BinExpr.java @@ -2,6 +2,7 @@ import org.teachfx.antlr4.ep20.ir.IRVisitor; import org.teachfx.antlr4.ep20.ir.expr.Expr; +import org.teachfx.antlr4.ep20.ir.expr.Operand; import org.teachfx.antlr4.ep20.ir.expr.VarSlot; import org.teachfx.antlr4.ep20.symtab.type.OperatorType; diff --git a/ep20/src/main/java/org/teachfx/antlr4/ep20/pass/cfg/BasicBlock.java b/ep20/src/main/java/org/teachfx/antlr4/ep20/pass/cfg/BasicBlock.java index fe034a7..87d3a10 100644 --- a/ep20/src/main/java/org/teachfx/antlr4/ep20/pass/cfg/BasicBlock.java +++ b/ep20/src/main/java/org/teachfx/antlr4/ep20/pass/cfg/BasicBlock.java @@ -21,11 +21,13 @@ public class BasicBlock implements Comparable>, // Generate codes public List> codes; public Kind kind; + // For data flow analysis public Set def; public Set liveUse; public Set liveIn; public Set liveOut; + protected Label label; public BasicBlock(Kind kind, List> codes,Label label,int ord) {