diff --git a/sqlTranslate/.idea/workspace.xml b/sqlTranslate/.idea/workspace.xml index 859aff4d1..fb9ca0c35 100644 --- a/sqlTranslate/.idea/workspace.xml +++ b/sqlTranslate/.idea/workspace.xml @@ -5,17 +5,15 @@ - - - - + + + + + + + - - - - - diff --git a/sqlTranslate/src/main/java/Document/Todolist b/sqlTranslate/src/main/java/Document/Todolist index cbb370f7c..e5bafb050 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 000000000..3db2798f4 --- /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 000000000..a56ade48e --- /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 000000000..3ceb5140d --- /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 000000000..a70b71e9b --- /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 000000000..86c7ae51e --- /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 000000000..762c55266 --- /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 000000000..b1f6a0a14 --- /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); + } + } +}