JJTree向节点类添加方法

时间:2013-07-30 21:55:32

标签: javacc

所以,我想将方法​​添加到SimpleNode的子类中。例如,我有一个位置节点。运行jjt和javacc后,将生成Position.java。预计看起来像

class Position extends SimpleNode {
    private int line, column; // I'll add private members here
    ...
    public int getLine() {
       return this.line;
    } // add some methods here
    ...
}

现在,我正在对生成的java文件进行更改。但是,这样做并不是一个好主意,因为经常删除生成的java文件并重新生成jjt文件。是否可以在jjt文件中添加这些声明(我在手册中没有找到类似的内容)?我也在考虑推导它们的子类。它也不干净。

1 个答案:

答案 0 :(得分:4)

您可以随意修改节点实现。 JJTree只会在缺失时生成它们。来自the manual

  

如果您不提供节点类的实现,JJTree将为您生成基于SimpleNode的示例实现。然后,您可以修改实现以适应。