forked from opengaussexamples/examples
add function
This commit is contained in:
parent
1d40557152
commit
0245c1d0ed
|
|
@ -6,9 +6,8 @@
|
|||
<component name="ChangeListManager">
|
||||
<list default="true" id="d8d12963-4777-48e3-9669-309cf5e41d60" name="更改" comment="add function">
|
||||
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/main/java/Main.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/Main.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/main/java/Parser/AST/ASTNode.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/Parser/AST/ASTNode.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/main/java/Parser/AST/CreateTable/ColumnNode.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/Parser/AST/CreateTable/ColumnNode.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/main/java/Parser/OracleParser.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/Parser/OracleParser.java" afterDir="false" />
|
||||
</list>
|
||||
<option name="SHOW_DIALOG" value="false" />
|
||||
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||
|
|
@ -204,7 +203,14 @@
|
|||
<option name="project" value="LOCAL" />
|
||||
<updated>1724425628008</updated>
|
||||
</task>
|
||||
<option name="localTasksCounter" value="15" />
|
||||
<task id="LOCAL-00015" summary="add function">
|
||||
<created>1724472081080</created>
|
||||
<option name="number" value="00015" />
|
||||
<option name="presentableId" value="LOCAL-00015" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1724472081080</updated>
|
||||
</task>
|
||||
<option name="localTasksCounter" value="16" />
|
||||
<servers />
|
||||
</component>
|
||||
<component name="Vcs.Log.Tabs.Properties">
|
||||
|
|
|
|||
|
|
@ -18,5 +18,6 @@ public class Main {
|
|||
OracleParser parser = new OracleParser(lexer);
|
||||
ASTNode root = parser.parse();
|
||||
System.out.println(root.toQueryString());
|
||||
System.out.println(root.getASTString());
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -121,8 +121,25 @@ public abstract class ASTNode {
|
|||
}
|
||||
|
||||
public String getASTString() {
|
||||
String str = "";
|
||||
// TODO: implement
|
||||
return str;
|
||||
StringBuilder ASTString = new StringBuilder();
|
||||
VisitAST(this, ASTString, 0);
|
||||
return ASTString.toString();
|
||||
}
|
||||
|
||||
private void VisitAST(ASTNode node, StringBuilder ASTString, int depth) {
|
||||
addASTStructure(depth, ASTString);
|
||||
ASTString.append(node.getClass() + ":" + node.toString() + "\n");
|
||||
for (ASTNode child : node.getChildren()) {
|
||||
if (child.getClass() == node.getClass())
|
||||
VisitAST(child, ASTString, depth);
|
||||
else
|
||||
VisitAST(child, ASTString, depth + 1);
|
||||
}
|
||||
}
|
||||
|
||||
private void addASTStructure(int depth, StringBuilder ASTString) {
|
||||
for (int i = 1; i <= depth; i++) {
|
||||
ASTString.append("--");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue