그래서 SimpleNode의 서브 클래스에 메소드를 추가하고 싶습니다. 예를 들어 위치 노드가 있습니다. jjt와 javacc를 실행하면 Position.java가 생성됩니다. 모양이 예상됩니다JJTree는 노드 클래스에 메소드를 추가합니다.
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 파일에 추가 할 수 있습니까 (설명서에서 이와 같은 것을 찾지 못했습니까?). 나는 또한 그것들의 서브 클래스를 파생시킬 생각을하고있다. 그것은 깔끔하게 작동하지 않습니다.
옵션에'NODE_CLASS' 변수를 사용하고 있습니까? 참조 : https://javacc.java.net/doc/JJTree.html –
예. 하지만 노드 클래스는 성공적으로 생성됩니다. 문제는 내가 그들을 수정하고 싶지 않다는 것입니다 .. –