summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/spiglet/spiglet2kanga/Main.java1
-rw-r--r--src/spiglet/spiglet2kanga/SpgGoal.java8
2 files changed, 9 insertions, 0 deletions
diff --git a/src/spiglet/spiglet2kanga/Main.java b/src/spiglet/spiglet2kanga/Main.java
index b1ba60f..c50a106 100644
--- a/src/spiglet/spiglet2kanga/Main.java
+++ b/src/spiglet/spiglet2kanga/Main.java
@@ -22,6 +22,7 @@ public class Main {
SpgGoal goal = new SpgGoal();
root.accept(new GenKangaVisitor(), goal);
+ goal.preProcess();
goal.printGoal();
}
catch(TokenMgrError e){
diff --git a/src/spiglet/spiglet2kanga/SpgGoal.java b/src/spiglet/spiglet2kanga/SpgGoal.java
index 9490743..92b1843 100644
--- a/src/spiglet/spiglet2kanga/SpgGoal.java
+++ b/src/spiglet/spiglet2kanga/SpgGoal.java
@@ -18,4 +18,12 @@ public class SpgGoal extends SpgSym {
procs.elementAt(i).printProc();
}
}
+
+ public void preProcess() {
+ for (int i=0; i<procs.size(); i++) {
+ SpgProc p = procs.elementAt(i);
+ p.setJmpTarget();
+ p.getDefUse();
+ }
+ }
}