ANTLR4 - DotGenerator示例

时间:2016-01-16 21:48:51

标签: antlr4 dot

我在哪里可以找到如何在ANTLR4中使用org.antlr.v4.tool.DotGenerator的示例?

据我了解,它取代了ANTLR4中的DOTTreeGenerator。

1 个答案:

答案 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);