Skip to content

Commit

Permalink
Package refactoring to avoid verbose paths
Browse files Browse the repository at this point in the history
  • Loading branch information
L0P0P committed Jun 23, 2024
1 parent 8e7089a commit eb57686
Show file tree
Hide file tree
Showing 44 changed files with 123 additions and 137 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
out/
trees/
.project
.vscode/
4 changes: 2 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ JAVAC_FLAGS = -cp $(ANTLR_COMPLETE) -Xlint:deprecation -d out
SRC_DIR = src
PARSER_DIR = src/parser
BIN_DIR = out
MAIN_CLASS = com.clp.project.Main
PARSEALL_CLASS = com.clp.project.ParseAll
MAIN_CLASS = Main
PARSEALL_CLASS = ParseAll
SOURCES = $(wildcard $(SRC_DIR)/*.java $(SRC_DIR)/*/*.java $(SRC_DIR)/*/*/*.java)
GRAMMARS = $(PARSER_DIR)/Python3Lexer.g4 $(PARSER_DIR)/Python3Parser.g4
ANTLR_OUTPUT = $(PARSER_DIR)/*.java
Expand Down
13 changes: 4 additions & 9 deletions src/Main.java
Original file line number Diff line number Diff line change
@@ -1,21 +1,16 @@
package com.clp.project;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Objects;
import javax.swing.*;
import org.antlr.v4.gui.TreeViewer;
import org.antlr.v4.runtime.*;
import org.antlr.v4.runtime.tree.*;

import com.clp.project.ast.*;
import com.clp.project.ast.nodes.*;
import com.clp.project.parser.*;
import com.clp.project.semanticanalysis.*;
import ast.*;
import ast.nodes.*;
import parser.*;
import semanticanalysis.*;

public class Main {

Expand Down
7 changes: 4 additions & 3 deletions src/ParseAll.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
package com.clp.project;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
Expand All @@ -10,9 +8,10 @@
import org.antlr.v4.gui.TreeViewer;
import org.antlr.v4.runtime.*;

import com.clp.project.parser.*;
import parser.*;

public class ParseAll {
@SuppressWarnings("unused")
public static void main(String[] args) {
new File("./trees/").mkdirs();
for (File file : Objects.requireNonNull(new File("./progs").listFiles())) {
Expand Down Expand Up @@ -52,6 +51,7 @@ public static void main(String[] args) {
}
}

@SuppressWarnings("unused")
private static String readFile(String filePath) throws IOException {
StringBuilder content = new StringBuilder();
try (BufferedReader reader = new BufferedReader(new FileReader(filePath))) {
Expand All @@ -63,6 +63,7 @@ private static String readFile(String filePath) throws IOException {
return content.toString();
}

@SuppressWarnings("unused")
private static void showTree(TreeViewer viewer) {
JFrame frame = new JFrame("Parse Tree");
JPanel panel = new JPanel();
Expand Down
11 changes: 4 additions & 7 deletions src/ast/Python3VisitorImpl.java
Original file line number Diff line number Diff line change
@@ -1,13 +1,10 @@
package com.clp.project.ast;
package ast;

import java.util.ArrayList;
import java.util.List;

import com.clp.project.ast.*;
import com.clp.project.ast.nodes.*;
import com.clp.project.ast.types.*;
import com.clp.project.parser.Python3ParserBaseVisitor;
import com.clp.project.parser.Python3Parser.*;
import ast.nodes.*;
import parser.Python3ParserBaseVisitor;
import parser.Python3Parser.*;
import org.antlr.v4.runtime.tree.TerminalNode;

/**
Expand Down
8 changes: 4 additions & 4 deletions src/ast/nodes/ArglistNode.java
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
package com.clp.project.ast.nodes;
package ast.nodes;

import java.util.ArrayList;

import com.clp.project.semanticanalysis.SemanticError;
import com.clp.project.semanticanalysis.SymbolTable;
import com.clp.project.ast.types.*;
import semanticanalysis.SemanticError;
import semanticanalysis.SymbolTable;
import ast.types.*;

/**
* Node for the `arglist` statement of the grammar.
Expand Down
8 changes: 4 additions & 4 deletions src/ast/nodes/AssignmentNode.java
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
package com.clp.project.ast.nodes;
package ast.nodes;

import java.util.ArrayList;

import com.clp.project.semanticanalysis.SemanticError;
import com.clp.project.semanticanalysis.SymbolTable;
import com.clp.project.ast.types.*;
import semanticanalysis.SemanticError;
import semanticanalysis.SymbolTable;
import ast.types.*;

/**
* Node for the `assignment` statement of the grammar.
Expand Down
8 changes: 4 additions & 4 deletions src/ast/nodes/AtomNode.java
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
package com.clp.project.ast.nodes;
package ast.nodes;

import java.util.ArrayList;

import com.clp.project.semanticanalysis.SemanticError;
import com.clp.project.semanticanalysis.SymbolTable;
import com.clp.project.ast.types.*;
import semanticanalysis.SemanticError;
import semanticanalysis.SymbolTable;
import ast.types.*;

/**
* Node for the `atom` statement of the grammar.
Expand Down
8 changes: 4 additions & 4 deletions src/ast/nodes/AugassignNode.java
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
package com.clp.project.ast.nodes;
package ast.nodes;

import java.util.ArrayList;

import com.clp.project.semanticanalysis.SemanticError;
import com.clp.project.semanticanalysis.SymbolTable;
import semanticanalysis.SemanticError;
import semanticanalysis.SymbolTable;

import com.clp.project.ast.types.*;
import ast.types.*;
import org.antlr.v4.runtime.tree.TerminalNode;

/**
Expand Down
8 changes: 3 additions & 5 deletions src/ast/nodes/BlockNode.java
Original file line number Diff line number Diff line change
@@ -1,16 +1,14 @@
package com.clp.project.ast.nodes;
package ast.nodes;

import java.util.ArrayList;

import com.clp.project.semanticanalysis.SemanticError;
import com.clp.project.semanticanalysis.SymbolTable;
import com.clp.project.ast.types.*;
import ast.types.*;

/**
* Node for `block` statement of the grammar.
* It extends the `RootNode`.
*/
public class BlockNode extends RootNode implements Node {
public class BlockNode extends RootNode {
public BlockNode(ArrayList<Node> stmts, ArrayList<Node> compoundStmts) {
super(stmts, compoundStmts);
}
Expand Down
8 changes: 4 additions & 4 deletions src/ast/nodes/CompNode.java
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
package com.clp.project.ast.nodes;
package ast.nodes;

import java.util.ArrayList;

import com.clp.project.semanticanalysis.SemanticError;
import com.clp.project.semanticanalysis.SymbolTable;
import com.clp.project.ast.types.*;
import semanticanalysis.SemanticError;
import semanticanalysis.SymbolTable;
import ast.types.*;
import org.antlr.v4.runtime.tree.TerminalNode;

/**
Expand Down
8 changes: 4 additions & 4 deletions src/ast/nodes/CompoundNode.java
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
package com.clp.project.ast.nodes;
package ast.nodes;

import java.util.ArrayList;

import com.clp.project.semanticanalysis.SemanticError;
import com.clp.project.semanticanalysis.SymbolTable;
import com.clp.project.ast.types.*;
import semanticanalysis.SemanticError;
import semanticanalysis.SymbolTable;
import ast.types.*;

/**
* Node for the `compound_node` statement of the grammar.
Expand Down
8 changes: 4 additions & 4 deletions src/ast/nodes/DottedNameNode.java
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
package com.clp.project.ast.nodes;
package ast.nodes;

import java.util.ArrayList;

import com.clp.project.semanticanalysis.SemanticError;
import com.clp.project.semanticanalysis.SymbolTable;
import com.clp.project.ast.types.*;
import semanticanalysis.SemanticError;
import semanticanalysis.SymbolTable;
import ast.types.*;
import org.antlr.v4.runtime.tree.TerminalNode;

/**
Expand Down
8 changes: 4 additions & 4 deletions src/ast/nodes/ExprNode.java
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
package com.clp.project.ast.nodes;
package ast.nodes;

import java.util.ArrayList;

import com.clp.project.semanticanalysis.SemanticError;
import com.clp.project.semanticanalysis.SymbolTable;
import com.clp.project.ast.types.*;
import semanticanalysis.SemanticError;
import semanticanalysis.SymbolTable;
import ast.types.*;

/**
* Node for the `expr` statement of the grammar.
Expand Down
8 changes: 4 additions & 4 deletions src/ast/nodes/ForStmtNode.java
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
package com.clp.project.ast.nodes;
package ast.nodes;

import java.util.ArrayList;

import com.clp.project.semanticanalysis.SemanticError;
import com.clp.project.semanticanalysis.SymbolTable;
import com.clp.project.ast.types.*;
import semanticanalysis.SemanticError;
import semanticanalysis.SymbolTable;
import ast.types.*;

/**
* Node for the `for_stmt` statement of the grammar.
Expand Down
8 changes: 4 additions & 4 deletions src/ast/nodes/FuncdefNode.java
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
package com.clp.project.ast.nodes;
package ast.nodes;

import java.util.ArrayList;

import com.clp.project.semanticanalysis.SemanticError;
import com.clp.project.semanticanalysis.SymbolTable;
import com.clp.project.ast.types.*;
import semanticanalysis.SemanticError;
import semanticanalysis.SymbolTable;
import ast.types.*;
import org.antlr.v4.runtime.tree.TerminalNode;

/**
Expand Down
8 changes: 4 additions & 4 deletions src/ast/nodes/IfNode.java
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
package com.clp.project.ast.nodes;
package ast.nodes;

import java.util.ArrayList;

import com.clp.project.semanticanalysis.SemanticError;
import com.clp.project.semanticanalysis.SymbolTable;
import com.clp.project.ast.types.*;
import semanticanalysis.SemanticError;
import semanticanalysis.SymbolTable;
import ast.types.*;

/**
* Node for the `if` statement of the grammar.
Expand Down
8 changes: 4 additions & 4 deletions src/ast/nodes/ImportNode.java
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
package com.clp.project.ast.nodes;
package ast.nodes;

import java.util.ArrayList;

import com.clp.project.semanticanalysis.SemanticError;
import com.clp.project.semanticanalysis.SymbolTable;
import com.clp.project.ast.types.*;
import semanticanalysis.SemanticError;
import semanticanalysis.SymbolTable;
import ast.types.*;

/**
* Node for the `import_stmt` statement of the grammar.
Expand Down
8 changes: 4 additions & 4 deletions src/ast/nodes/Node.java
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
package com.clp.project.ast.nodes;
package ast.nodes;

import java.util.ArrayList;

import com.clp.project.semanticanalysis.SemanticError;
import com.clp.project.semanticanalysis.SymbolTable;
import com.clp.project.ast.types.*;
import semanticanalysis.SemanticError;
import semanticanalysis.SymbolTable;
import ast.types.*;

/**
* Base interface for a Node.
Expand Down
11 changes: 3 additions & 8 deletions src/ast/nodes/ParamdefNode.java
Original file line number Diff line number Diff line change
@@ -1,17 +1,12 @@
package com.clp.project.ast.nodes;
package ast.nodes;

import java.util.ArrayList;

import com.clp.project.semanticanalysis.SemanticError;
import com.clp.project.semanticanalysis.SymbolTable;

import com.clp.project.ast.types.*;
import ast.types.*;

/**
* Node for the `paramdef` statement of the grammar. Extends the `AtomNode`
* class.
*/
public class ParamdefNode extends AtomNode implements Node {
public class ParamdefNode extends AtomNode {
public ParamdefNode(String val) {
super(val);
}
Expand Down
8 changes: 4 additions & 4 deletions src/ast/nodes/ParamlistNode.java
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
package com.clp.project.ast.nodes;
package ast.nodes;

import java.util.ArrayList;

import com.clp.project.semanticanalysis.SemanticError;
import com.clp.project.semanticanalysis.SymbolTable;
import com.clp.project.ast.types.*;
import semanticanalysis.SemanticError;
import semanticanalysis.SymbolTable;
import ast.types.*;

/**
* Node for the `param_list` statement of the grammar.
Expand Down
8 changes: 4 additions & 4 deletions src/ast/nodes/ReturnStmtNode.java
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
package com.clp.project.ast.nodes;
package ast.nodes;

import java.util.ArrayList;

import com.clp.project.semanticanalysis.SemanticError;
import com.clp.project.semanticanalysis.SymbolTable;
import com.clp.project.ast.types.*;
import semanticanalysis.SemanticError;
import semanticanalysis.SymbolTable;
import ast.types.*;

/**
* Node for the `return_stmt` statement of the grammar.
Expand Down
8 changes: 4 additions & 4 deletions src/ast/nodes/RootNode.java
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
package com.clp.project.ast.nodes;
package ast.nodes;

import java.util.ArrayList;

import com.clp.project.semanticanalysis.SemanticError;
import com.clp.project.semanticanalysis.SymbolTable;
import com.clp.project.ast.types.*;
import semanticanalysis.SemanticError;
import semanticanalysis.SymbolTable;
import ast.types.*;

/**
* Node for the `root` statement of the grammar.
Expand Down
8 changes: 4 additions & 4 deletions src/ast/nodes/SimpleStmtNode.java
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
package com.clp.project.ast.nodes;
package ast.nodes;

import java.util.ArrayList;

import com.clp.project.semanticanalysis.SemanticError;
import com.clp.project.semanticanalysis.SymbolTable;
import com.clp.project.ast.types.*;
import semanticanalysis.SemanticError;
import semanticanalysis.SymbolTable;
import ast.types.*;

/**
* Node for the `simple_stmt` statement of the grammar.
Expand Down
Loading

0 comments on commit eb57686

Please sign in to comment.