From e2d7b563cd22b92604e07dad9bf6bcf0393a46ca Mon Sep 17 00:00:00 2001 From: bd-912 Date: Fri, 26 Apr 2024 19:36:16 -0600 Subject: HeatVisitor MessageSend anonymous, observe Factorial + others pass --- Typecheck.java | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) (limited to 'Typecheck.java') 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=Void, A=Integer. - SymbolTable symt = new SymbolTable(); - MinimalLogger.info("Populating classes..."); - root.accept(new SymTableClasses(), symt); - MinimalLogger.info("Populating methods..."); - root.accept(new SymTableMethods(), symt); - MinimalLogger.info("Populating variables..."); - root.accept(new SymTableVars(), symt); - MinimalLogger.info("Populating extensions..."); - root.accept(new SymTableExtend(), symt); - MinimalLogger.info(symt.toString()); - - HeatVisitor hv = new HeatVisitor(symt); - try { + + SymbolTable symt = new SymbolTable(); + MinimalLogger.info("Populating classes..."); + root.accept(new SymTableClasses(), symt); + MinimalLogger.info("Populating methods..."); + root.accept(new SymTableMethods(), symt); + MinimalLogger.info("Populating variables..."); + root.accept(new SymTableVars(), symt); + MinimalLogger.info("Populating extensions..."); + root.accept(new SymTableExtend(), 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", -- cgit v1.2.3