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());