summaryrefslogtreecommitdiff
path: root/J2V.java
diff options
context:
space:
mode:
authorbd-912 <bdunahu@colostate.edu>2024-04-02 23:23:06 -0600
committerbd-912 <bdunahu@colostate.edu>2024-04-02 23:23:06 -0600
commit0ae01301d572b2e69585c4d1cb753ed7fc89dfe3 (patch)
treeaf2923bdaf9f0810f780634af39816c87e902eae /J2V.java
parent35b1ec663c4bf233c1beba823d2c2ebd2759289e (diff)
Store SymTable child information as an array of strings
Diffstat (limited to 'J2V.java')
-rw-r--r--J2V.java15
1 files changed, 12 insertions, 3 deletions
diff --git a/J2V.java b/J2V.java
index c22ed8c..5ba159e 100644
--- a/J2V.java
+++ b/J2V.java
@@ -1,11 +1,13 @@
import java.io.*;
import visitor.*;
+import parse.*;
import syntaxtree.*;
import java.util.*;
-// Files are stored in the vaporize directory/package.
-import vaporize.*;
+import st.*;
+import misc.*;
+import vaporize.library.*;
-public class Typecheck {
+public class J2V {
public static void main(String[] args) {
Node root = null;
try {
@@ -15,6 +17,13 @@ public class Typecheck {
// GJDepthFirst<R,A>. R=Void, A=String.
PPrinter<Void,String> pp = new PPrinter<Void,String>();
root.accept(pp, "");
+
+ // Build the symbol table. Top-down visitor, inherits from
+ // GJDepthFirst<R,A>. R=Void, A=Integer.
+ SymTableVis<Void> pv = new SymTableVis<Void>();
+ root.accept(pv, new ArrayList<String>());
+ HashMap<String, AbstractInstance> symt = pv.symt;
+
}
catch (ParseException e) {
System.out.println(e.toString());