2016-01-16 5 views

ответ

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