From ebef7171410e83e398414128f8ca6d2845c893f3 Mon Sep 17 00:00:00 2001 From: Lucas <89882946+notbad3500@users.noreply.github.com> Date: Fri, 5 Jul 2024 13:24:48 +0200 Subject: [PATCH] refactoring --- src/main/java/main/MiniCompilerLogger.java | 26 +++++++++++++--------- src/test/Makefile | 6 +++-- src/test/java/main/EndToEndTester.java | 2 +- 3 files changed, 21 insertions(+), 13 deletions(-) diff --git a/src/main/java/main/MiniCompilerLogger.java b/src/main/java/main/MiniCompilerLogger.java index 21a7bb9..2a884e3 100644 --- a/src/main/java/main/MiniCompilerLogger.java +++ b/src/main/java/main/MiniCompilerLogger.java @@ -29,6 +29,10 @@ import java.util.logging.*; * consoleHandler.setLevel(Level.OFF); * fileHandler.setLevel(Level.ALL); */ + + + + public class MiniCompilerLogger { static Logger logger = Logger.getLogger("miniCompilerLogs"); @@ -66,14 +70,16 @@ public class MiniCompilerLogger { logger.addHandler(consoleHandler); // Configure file handler - //Handler fileHandler = new FileHandler("src/main/resources/logs/miniCompiler.log"); + Handler fileHandler = new FileHandler("src/main/resources/logs/miniCompiler.log"); // Toggle file logging on/off - //fileHandler.setLevel(Level.ALL); - //fileHandler.setFormatter(new CustomFormatter()); - //logger.addHandler(fileHandler); + fileHandler.setLevel(Level.ALL); + fileHandler.setFormatter(new CustomFormatter()); + logger.addHandler(fileHandler); } catch (SecurityException e) { e.printStackTrace(); + } catch (IOException e) { + throw new RuntimeException(e); } } @@ -102,7 +108,7 @@ public class MiniCompilerLogger { public static void logAST(ASTNode abstractSyntaxTree) { // Printing the AST logger.info("-------------------- AST builder -> AST --------------------"); - // logger.info("AST: " + ast.toString()); + logger.info("Abstract Syntax Tree generated, Startnode:"); logAST(abstractSyntaxTree, 0); logger.info("\n"); } @@ -110,14 +116,15 @@ public class MiniCompilerLogger { public static void logSemanticAnalyzer(ASTNode typedAst) { // Printing the typed AST logger.info("-------------------- Semantic Analyzer -> typed AST --------------------"); - logAST(typedAst, 0); + // logAST(typedAst, 0); + logger.info("Typed Abstract Syntax Tree generated without errors"); logger.info("\n"); } public static void logBytecodeGenerator() { // Printing the bytecode logger.info("-------------------- Bytecode Generator -> Bytecode --------------------"); - logger.info("Bytecode generated without errors."); + logger.info("Bytecode generated without errors"); logger.info("\n"); } @@ -164,7 +171,6 @@ public class MiniCompilerLogger { } } - // TODO: Fix this method public static void logAST(ASTNode abstractSyntaxTree, int indent) { if (abstractSyntaxTree == null) { logger.severe("AST is null !!!"); @@ -172,9 +178,9 @@ public class MiniCompilerLogger { } String indentString = " ".repeat(indent * 2); logger.info(indentString + abstractSyntaxTree.getClass()); - //for (ASTNode child : abstractSyntaxTree.getChildren()) { + // for (ASTNode child : abstractSyntaxTree.getChildren()) { // logAST(child, indent + 1); - // } + // } } } diff --git a/src/test/Makefile b/src/test/Makefile index 1fc9648..2d7dc1a 100644 --- a/src/test/Makefile +++ b/src/test/Makefile @@ -10,11 +10,13 @@ compile-javac: compile-miniCompiler: cd ../.. ; mvn -DskipTests install cd ../.. ; mvn exec:java -DgenJar=true -DgenClass=true -Dexec.mainClass="main.Main" -Dexec.args="'src/main/resources/input/CompilerInput.java' 'src/main/resources/output'" - # cp ../main/resources/output/CompilerInput.class .java/resources/output/miniCompiler + # cp ../main/resources/output/*.class .java/resources/output/miniCompiler + +test: compile-miniCompiler test-miniCompiler test-miniCompiler: # move the compiled class to the test/main folder - mv ../main/resources/output/CompilerInput.class .java/main/ + mv ../main/resources/output/Compiler.class .java/ # compile the test class javac .java/main.EndToEndTester.java # run the test class diff --git a/src/test/java/main/EndToEndTester.java b/src/test/java/main/EndToEndTester.java index d7e40ef..443890d 100644 --- a/src/test/java/main/EndToEndTester.java +++ b/src/test/java/main/EndToEndTester.java @@ -16,7 +16,7 @@ public class EndToEndTester { public static void main(String[] args) { try { // Try to load the class named "CompilerInput" - Class cls = Class.forName("CompilerInput"); + Class cls = Class.forName("Compiler"); // Print a success message if the class is loaded successfully System.out.println("Class loaded successfully: " + cls.getName());