summaryrefslogtreecommitdiff
path: root/src/spiglet/spiglet2kanga
diff options
context:
space:
mode:
authorIru Cai <mytbk920423@gmail.com>2014-11-27 15:27:58 +0800
committerIru Cai <mytbk920423@gmail.com>2014-11-27 15:27:58 +0800
commit97af84d976c704992562f695272a553ff6fac1be (patch)
treeac4df82c1c9bea82e29f81ce1fd656efaf3d4913 /src/spiglet/spiglet2kanga
parentf0db604d42595101d32240cb445272dd400a9716 (diff)
downloadminijava-97af84d976c704992562f695272a553ff6fac1be.tar.xz
preprocess
Diffstat (limited to 'src/spiglet/spiglet2kanga')
-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();
+ }
+ }
}