我在哪里可以找到如何在ANTLR4中使用org.antlr.v4.tool.DotGenerator的示例?
据我了解,它取代了ANTLR4中的DOTTreeGenerator。
答案 0 :(得分:0)
我也对你的问题的答案感兴趣,但还没有找到一个完全令人信服的问题。
假设您对显示ParseTree感兴趣,这是至少获得可视化表示的另一种方法:
/**
* show the given Tree Viewer
* @param tv
*/
public int showTreeViewer(TreeViewer tv) {
JPanel panel = new JPanel();
tv.setScale(2);
panel.add(tv);
return JOptionPane.showConfirmDialog(null, panel, "ParseTree",
JOptionPane.OK_CANCEL_OPTION, JOptionPane.PLAIN_MESSAGE);
}
// http://stackoverflow.com/questions/30134121/drawing-parse-tree-in-antlr4-using-java/30137407#30137407
ParseTree tree=rulesContext;
List<String> ruleNames=Arrays.asList(parser.getRuleNames());
// http://stackoverflow.com/questions/34832518/antlr4-dotgenerator-example
TreeViewer tv=new TreeViewer(ruleNames,tree);
showTreeViewer(tv);