所以,我想将方法添加到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文件中添加这些声明(我在手册中没有找到类似的内容)?我也在考虑推导它们的子类。它也不干净。
答案 0 :(得分:4)
您可以随意修改节点实现。 JJTree只会在缺失时生成它们。来自the manual
如果您不提供节点类的实现,JJTree将为您生成基于SimpleNode的示例实现。然后,您可以修改实现以适应。