From 37365fc2749ff24ef5040a8db3462fc2deebd48f Mon Sep 17 00:00:00 2001 From: Iru Cai Date: Sat, 22 Nov 2014 17:41:27 +0800 Subject: printing --- src/spiglet/spiglet2kanga/Main.java | 2 ++ src/spiglet/spiglet2kanga/SpgExpr.java | 20 ++++++++++++++++++++ src/spiglet/spiglet2kanga/SpgGoal.java | 6 ++++++ src/spiglet/spiglet2kanga/SpgProc.java | 10 ++++++++++ src/spiglet/spiglet2kanga/SpgSimpExpr.java | 14 ++++++++++++++ src/spiglet/spiglet2kanga/SpgStmt.java | 25 +++++++++++++++++++++++++ src/spiglet/spiglet2kanga/SpgTemp.java | 4 ++++ 7 files changed, 81 insertions(+) diff --git a/src/spiglet/spiglet2kanga/Main.java b/src/spiglet/spiglet2kanga/Main.java index 3778ef3..b1ba60f 100644 --- a/src/spiglet/spiglet2kanga/Main.java +++ b/src/spiglet/spiglet2kanga/Main.java @@ -21,6 +21,8 @@ public class Main { */ SpgGoal goal = new SpgGoal(); root.accept(new GenKangaVisitor(), goal); + + goal.printGoal(); } catch(TokenMgrError e){ //Handle Lexical Errors diff --git a/src/spiglet/spiglet2kanga/SpgExpr.java b/src/spiglet/spiglet2kanga/SpgExpr.java index da9fa46..f10c4b7 100644 --- a/src/spiglet/spiglet2kanga/SpgExpr.java +++ b/src/spiglet/spiglet2kanga/SpgExpr.java @@ -24,4 +24,24 @@ public class SpgExpr extends SpgSym { callParams.addElement(t); } + public String toString() { + String str; + switch (type) { + case ALLOC: + return "ALLOC " + se.toString(); + case BinOp: + return op + " " + oprand.toString() + " " + se.toString(); + case CALL: + str = "CALL " + se.toString(); + for (int i=0; i