From b12c01732860f9727626829e0b25a273de5fe5c7 Mon Sep 17 00:00:00 2001 From: geno <gabriele.genovese2@studio.unibo.it> Date: Tue, 25 Jun 2024 16:04:07 +0200 Subject: check semantic of defined and undefined variables implemented do not check for built-in function works on the example --- src/Main.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/Main.java') diff --git a/src/Main.java b/src/Main.java index 3987bad..bfc21e3 100644 --- a/src/Main.java +++ b/src/Main.java @@ -60,7 +60,7 @@ public class Main { Node ast = visitor.visit(tree); ArrayList<SemanticError> errors = ast.checkSemantics(ST, 0); if (errors.size() > 0) { - System.out.println("You had: " + errors.size() + " errors:"); + System.out.println("You had " + errors.size() + " errors:"); for (SemanticError e : errors) { System.out.println("\t" + e); } -- cgit v1.2.3-18-g5258 From 06671f5aed68753435a762bc3be43e83094156d1 Mon Sep 17 00:00:00 2001 From: geno <gabriele.genovese2@studio.unibo.it> Date: Wed, 26 Jun 2024 14:53:05 +0200 Subject: exercise 1 completed 1.b now works 1.c implened error for "function takes N positional arguments but M were given" --- src/Main.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/Main.java') diff --git a/src/Main.java b/src/Main.java index bfc21e3..121d3d1 100644 --- a/src/Main.java +++ b/src/Main.java @@ -20,7 +20,7 @@ public class Main { try { // String fileStr = file.getPath(); // FIXME: use the fileStr above - String fileStr = "./progs/test.py"; + String fileStr = "./progs/test2.py"; System.out.println(fileStr); System.out.println(readFile(fileStr)); CharStream cs = CharStreams.fromFileName(fileStr); -- cgit v1.2.3-18-g5258 From fb89b8c0885ee4e289cfb577bbabf0ee66b05024 Mon Sep 17 00:00:00 2001 From: geno <gabriele.genovese2@studio.unibo.it> Date: Wed, 26 Jun 2024 18:23:05 +0200 Subject: test dir added, fix bug in ExprNode (added by myself obv) --- src/Main.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/Main.java') diff --git a/src/Main.java b/src/Main.java index 121d3d1..21645db 100644 --- a/src/Main.java +++ b/src/Main.java @@ -20,7 +20,7 @@ public class Main { try { // String fileStr = file.getPath(); // FIXME: use the fileStr above - String fileStr = "./progs/test2.py"; + String fileStr = "./test/1a.py"; System.out.println(fileStr); System.out.println(readFile(fileStr)); CharStream cs = CharStreams.fromFileName(fileStr); -- cgit v1.2.3-18-g5258 From 3c4229fc9e0ec6da9a7f60b57b9e93c49d1b6b6c Mon Sep 17 00:00:00 2001 From: L0P0P <grassoemanuele@live.com> Date: Thu, 27 Jun 2024 12:02:35 +0200 Subject: Fixed a lot of problems from all the progs we need to parse --- src/Main.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/Main.java') diff --git a/src/Main.java b/src/Main.java index 21645db..c3c1cdd 100644 --- a/src/Main.java +++ b/src/Main.java @@ -20,7 +20,7 @@ public class Main { try { // String fileStr = file.getPath(); // FIXME: use the fileStr above - String fileStr = "./test/1a.py"; + String fileStr = "./progs/a600.py"; System.out.println(fileStr); System.out.println(readFile(fileStr)); CharStream cs = CharStreams.fromFileName(fileStr); @@ -41,7 +41,7 @@ public class Main { JPanel panel = new JPanel(); TreeViewer viewer = new TreeViewer(Arrays.asList(parser.getRuleNames()), tree); - viewer.setScale(1.5); // Zoom factor + viewer.setScale(1); // Zoom factor panel.add(viewer); frame.add(panel); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); -- cgit v1.2.3-18-g5258 From 673117132daa9c4fdd103189b5cd9a32a3731f5a Mon Sep 17 00:00:00 2001 From: geno <gabriele.genovese2@studio.unibo.it> Date: Thu, 27 Jun 2024 13:08:54 +0200 Subject: remove duplicates --- src/Main.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src/Main.java') diff --git a/src/Main.java b/src/Main.java index 24f4c4e..04f7183 100644 --- a/src/Main.java +++ b/src/Main.java @@ -1,3 +1,4 @@ + import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; @@ -11,6 +12,7 @@ import ast.*; import ast.nodes.*; import parser.*; import semanticanalysis.*; +import semanticanalysis.Share; public class Main { @@ -53,7 +55,8 @@ public class Main { Python3VisitorImpl visitor = new Python3VisitorImpl(); SymbolTable ST = new SymbolTable(); Node ast = visitor.visit(tree); - ArrayList<SemanticError> errors = ast.checkSemantics(ST, 0); + ArrayList<SemanticError> errorsWithDup = ast.checkSemantics(ST, 0); + ArrayList<SemanticError> errors = Share.removeDuplicates(errorsWithDup); if (errors.size() > 0) { System.out.println("You had " + errors.size() + " errors:"); for (SemanticError e : errors) { -- cgit v1.2.3-18-g5258 From 37665fb6d0bc1eb29396ae949354cf7d6f9d54ca Mon Sep 17 00:00:00 2001 From: geno <gabriele.genovese2@studio.unibo.it> Date: Fri, 28 Jun 2024 12:23:28 +0200 Subject: resolving all the comments santo made --- src/Main.java | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-) (limited to 'src/Main.java') diff --git a/src/Main.java b/src/Main.java index 04f7183..4f5d45f 100644 --- a/src/Main.java +++ b/src/Main.java @@ -1,7 +1,4 @@ -import java.io.BufferedReader; -import java.io.FileReader; -import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; import javax.swing.*; @@ -27,7 +24,7 @@ public class Main { try { String fileStr = args[0]; System.out.println(fileStr); - System.out.println(readFile(fileStr)); + System.out.println(Share.readFile(fileStr)); CharStream cs = CharStreams.fromFileName(fileStr); Python3Lexer lexer = new Python3Lexer(cs); CommonTokenStream tokens = new CommonTokenStream(lexer); @@ -71,14 +68,4 @@ public class Main { } } - private static String readFile(String filePath) throws IOException { - StringBuilder content = new StringBuilder(); - try (BufferedReader reader = new BufferedReader(new FileReader(filePath))) { - String line; - while ((line = reader.readLine()) != null) { - content.append(line).append("\n"); - } - } - return content.toString(); - } } -- cgit v1.2.3-18-g5258 From afff6a80cd58f7787efa1398f7c8cbdce8989323 Mon Sep 17 00:00:00 2001 From: geno <gabriele.genovese2@studio.unibo.it> Date: Sun, 30 Jun 2024 13:36:37 +0200 Subject: fixed warnings, better formatting, final added where possible --- src/Main.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/Main.java') diff --git a/src/Main.java b/src/Main.java index 4f5d45f..f53b410 100644 --- a/src/Main.java +++ b/src/Main.java @@ -54,7 +54,7 @@ public class Main { Node ast = visitor.visit(tree); ArrayList<SemanticError> errorsWithDup = ast.checkSemantics(ST, 0); ArrayList<SemanticError> errors = Share.removeDuplicates(errorsWithDup); - if (errors.size() > 0) { + if (!errors.isEmpty()) { System.out.println("You had " + errors.size() + " errors:"); for (SemanticError e : errors) { System.out.println("\t" + e); -- cgit v1.2.3-18-g5258