diff options
author | bd-912 <bdunahu@colostate.edu> | 2024-04-26 19:36:16 -0600 |
---|---|---|
committer | bd-912 <bdunahu@colostate.edu> | 2024-04-26 19:36:16 -0600 |
commit | e2d7b563cd22b92604e07dad9bf6bcf0393a46ca (patch) | |
tree | 539f081c254d31afe9574fa42f5629971d8a9eb5 /Typecheck.java | |
parent | 42512ab2cfd16422909263475b044f40b3829707 (diff) |
HeatVisitor MessageSend anonymous, observe Factorial + others pass
Diffstat (limited to 'Typecheck.java')
-rw-r--r-- | Typecheck.java | 27 |
1 files changed, 14 insertions, 13 deletions
diff --git a/Typecheck.java b/Typecheck.java index 098defe..12e74f1 100644 --- a/Typecheck.java +++ b/Typecheck.java @@ -20,22 +20,23 @@ public class Typecheck { // Build the symbol table. Top-down visitor, inherits from // GJDepthFirst<R,A>. R=Void, A=Integer. - SymbolTable symt = new SymbolTable(); - MinimalLogger.info("Populating classes..."); - root.accept(new SymTableClasses<Void>(), symt); - MinimalLogger.info("Populating methods..."); - root.accept(new SymTableMethods<Void>(), symt); - MinimalLogger.info("Populating variables..."); - root.accept(new SymTableVars<Void>(), symt); - MinimalLogger.info("Populating extensions..."); - root.accept(new SymTableExtend<Void>(), symt); - MinimalLogger.info(symt.toString()); - - HeatVisitor hv = new HeatVisitor(symt); - try { + + SymbolTable symt = new SymbolTable(); + MinimalLogger.info("Populating classes..."); + root.accept(new SymTableClasses<Void>(), symt); + MinimalLogger.info("Populating methods..."); + root.accept(new SymTableMethods<Void>(), symt); + MinimalLogger.info("Populating variables..."); + root.accept(new SymTableVars<Void>(), symt); + MinimalLogger.info("Populating extensions..."); + root.accept(new SymTableExtend<Void>(), symt); + MinimalLogger.info(symt.toString()); + + HeatVisitor hv = new HeatVisitor(symt); root.accept(hv, null); System.out.println("Program type checked successfully"); + } catch (TypecheckException e) { System.out.println("Type error"); MinimalLogger.severe(String.format("Reason: %s", |