【发布时间】:2015-04-06 13:30:04
【问题描述】:
使用 Antlr4,我想以 Java/JavaScript 代码的形式生成解析树。 这就是我的 main.Java 的样子
String sql = "SELECT log AS x FROM t1 \n" +
"GROUP BY x\n" +
"HAVING count(*) >= 4 \n" +
"ORDER BY max(n) + 0";
// Create a lexer and parser for the input.
SQLiteLexer lexer = new SQLiteLexer(new ANTLRInputStream(sql));
SQLiteParser parser = new SQLiteParser(new CommonTokenStream(lexer));
// Invoke the `select_stmt` production.
ParseTree tree = parser.select_stmt();
ParseTreeWalker walker = new ParseTreeWalker();
SQLiteListener listener = new SQLiteBaseListener();
ParseTreeWalker.DEFAULT.walk(listener, tree);
System.out.println(listener.);
我应该调用什么函数来生成代码格式的解析树?
【问题讨论】:
-
你能举个例子你想在标准输出上看到什么吗?
-
@StefanA - 我想要分层 java 类形式的解析树。
-
"hierarchical java classes" 没有更多上下文是没有意义的。你的意思是你想得到一个AST?您需要创建 Java 类并手动构建 AST。这是我能想到的唯一与你的问题有关的事情。
标签: java sql parsing antlr antlr4