diff --git a/sqlTranslate/.idea/workspace.xml b/sqlTranslate/.idea/workspace.xml
index 859aff4d..fb9ca0c3 100644
--- a/sqlTranslate/.idea/workspace.xml
+++ b/sqlTranslate/.idea/workspace.xml
@@ -5,17 +5,15 @@
-
-
-
-
+
+
+
+
+
+
+
-
-
-
-
-
@@ -274,7 +272,14 @@
1725890826442
-
+
+ 1725896687932
+
+
+
+ 1725896687932
+
+
diff --git a/sqlTranslate/src/main/java/Document/Todolist b/sqlTranslate/src/main/java/Document/Todolist
index cbb370f7..e5bafb05 100644
--- a/sqlTranslate/src/main/java/Document/Todolist
+++ b/sqlTranslate/src/main/java/Document/Todolist
@@ -1,9 +1,9 @@
Operation
- select.. from.. where
- join
- group by
- order by
- union
+ select.. from.. where 1
+ join 1
+ group by 1
+ order by 1
+ union 1
insert into 1
update... set
delete
@@ -20,7 +20,7 @@ Operation
create table 1
drop table 1
Object
- table
+ table 1
view
function
procedure
diff --git a/sqlTranslate/src/main/java/Parser/AST/Select/SelectEndNode.java b/sqlTranslate/src/main/java/Parser/AST/Select/SelectEndNode.java
new file mode 100644
index 00000000..3db2798f
--- /dev/null
+++ b/sqlTranslate/src/main/java/Parser/AST/Select/SelectEndNode.java
@@ -0,0 +1,28 @@
+package Parser.AST.Select;
+
+import Lexer.Token;
+import Parser.AST.ASTNode;
+
+import java.util.List;
+
+public class SelectEndNode extends ASTNode {
+ public SelectEndNode(List tokens)
+ {
+ super(tokens);
+ }
+
+ public SelectEndNode(ASTNode node)
+ {
+ super(node);
+ }
+
+ @Override
+ public void visit(ASTNode node, StringBuilder queryString)
+ {
+ queryString.append(toString());
+ for (ASTNode child : getChildren())
+ {
+ child.visit(child, queryString);
+ }
+ }
+}
diff --git a/sqlTranslate/src/main/java/Parser/AST/Select/SelectNode.java b/sqlTranslate/src/main/java/Parser/AST/Select/SelectNode.java
new file mode 100644
index 00000000..a56ade48
--- /dev/null
+++ b/sqlTranslate/src/main/java/Parser/AST/Select/SelectNode.java
@@ -0,0 +1,29 @@
+package Parser.AST.Select;
+
+import Parser.AST.ASTNode;
+import Lexer.Token;
+
+import java.util.List;
+
+public class SelectNode extends ASTNode {
+ public SelectNode(List tokens)
+ {
+ super(tokens);
+ }
+
+ public SelectNode(ASTNode node)
+ {
+ super(node);
+ }
+
+ @Override
+ public void visit(ASTNode node, StringBuilder queryString)
+ {
+ queryString.append(toString() + " ");
+ for (ASTNode child : getChildren())
+ {
+ child.visit(child, queryString);
+ }
+ }
+
+}
diff --git a/sqlTranslate/src/main/java/Parser/AST/Select/SelectObjNode.java b/sqlTranslate/src/main/java/Parser/AST/Select/SelectObjNode.java
new file mode 100644
index 00000000..3ceb5140
--- /dev/null
+++ b/sqlTranslate/src/main/java/Parser/AST/Select/SelectObjNode.java
@@ -0,0 +1,42 @@
+package Parser.AST.Select;
+
+import Lexer.Token;
+import Parser.AST.ASTNode;
+
+import java.util.List;
+
+public class SelectObjNode extends ASTNode {
+ public SelectObjNode(List tokens)
+ {
+ super(tokens);
+ }
+
+ public SelectObjNode(ASTNode node)
+ {
+ super(node);
+ }
+
+ @Override
+ public String toString()
+ {
+ List tokens = getTokens();
+ String str = "";
+ for (int i = 0; i < tokens.size(); i++) {
+ if (i < tokens.size() - 1)
+ str += tokens.get(i).getValue() + ", ";
+ else
+ str += tokens.get(i).getValue();
+ }
+ return str;
+ }
+
+ @Override
+ public void visit(ASTNode node, StringBuilder queryString)
+ {
+ queryString.append(toString() + " FROM ");
+ for (ASTNode child : getChildren())
+ {
+ child.visit(child, queryString);
+ }
+ }
+}
diff --git a/sqlTranslate/src/main/java/Parser/AST/Select/SelectOptionNode.java b/sqlTranslate/src/main/java/Parser/AST/Select/SelectOptionNode.java
new file mode 100644
index 00000000..a70b71e9
--- /dev/null
+++ b/sqlTranslate/src/main/java/Parser/AST/Select/SelectOptionNode.java
@@ -0,0 +1,28 @@
+package Parser.AST.Select;
+
+import Lexer.Token;
+import Parser.AST.ASTNode;
+
+import java.util.List;
+
+public class SelectOptionNode extends ASTNode {
+ public SelectOptionNode(List tokens)
+ {
+ super(tokens);
+ }
+
+ public SelectOptionNode(ASTNode node)
+ {
+ super(node);
+ }
+
+ @Override
+ public void visit(ASTNode node, StringBuilder queryString)
+ {
+ queryString.append(toString() + " ");
+ for (ASTNode child : getChildren())
+ {
+ child.visit(child, queryString);
+ }
+ }
+}
diff --git a/sqlTranslate/src/main/java/Parser/AST/Select/SelectTableNode.java b/sqlTranslate/src/main/java/Parser/AST/Select/SelectTableNode.java
new file mode 100644
index 00000000..86c7ae51
--- /dev/null
+++ b/sqlTranslate/src/main/java/Parser/AST/Select/SelectTableNode.java
@@ -0,0 +1,27 @@
+package Parser.AST.Select;
+
+import Lexer.Token;
+import Parser.AST.ASTNode;
+
+import java.util.List;
+
+public class SelectTableNode extends ASTNode {
+ public SelectTableNode(List tokens)
+ {
+ super(tokens);
+ }
+
+ public SelectTableNode(ASTNode node)
+ {
+ super(node);
+ }
+
+ public void visit(ASTNode node, StringBuilder queryString)
+ {
+ queryString.append(toString() + " ");
+ for (ASTNode child : getChildren())
+ {
+ child.visit(child, queryString);
+ }
+ }
+}
diff --git a/sqlTranslate/src/main/java/Parser/AST/Select/SelectUnionNode.java b/sqlTranslate/src/main/java/Parser/AST/Select/SelectUnionNode.java
new file mode 100644
index 00000000..762c5526
--- /dev/null
+++ b/sqlTranslate/src/main/java/Parser/AST/Select/SelectUnionNode.java
@@ -0,0 +1,28 @@
+package Parser.AST.Select;
+
+import Lexer.Token;
+import Parser.AST.ASTNode;
+
+import java.util.List;
+
+public class SelectUnionNode extends ASTNode {
+ public SelectUnionNode(List tokens)
+ {
+ super(tokens);
+ }
+
+ public SelectUnionNode(ASTNode node)
+ {
+ super(node);
+ }
+
+ @Override
+ public void visit(ASTNode node, StringBuilder queryString)
+ {
+ queryString.append(toString() + " ");
+ for (ASTNode child : getChildren())
+ {
+ child.visit(child, queryString);
+ }
+ }
+}
diff --git a/sqlTranslate/src/main/java/Parser/AST/Select/SelectWhereClauseNode.java b/sqlTranslate/src/main/java/Parser/AST/Select/SelectWhereClauseNode.java
new file mode 100644
index 00000000..b1f6a0a1
--- /dev/null
+++ b/sqlTranslate/src/main/java/Parser/AST/Select/SelectWhereClauseNode.java
@@ -0,0 +1,28 @@
+package Parser.AST.Select;
+
+import Lexer.Token;
+import Parser.AST.ASTNode;
+
+import java.util.List;
+
+public class SelectWhereClauseNode extends ASTNode {
+ public SelectWhereClauseNode(List tokens)
+ {
+ super(tokens);
+ }
+
+ public SelectWhereClauseNode(ASTNode node)
+ {
+ super(node);
+ }
+
+ @Override
+ public void visit(ASTNode node, StringBuilder queryString)
+ {
+ queryString.append(toString() + " ");
+ for (ASTNode child : getChildren())
+ {
+ child.visit(child, queryString);
+ }
+ }
+}