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