1

そこで、SimpleNode のサブクラスにメソッドを追加したいと思います。たとえば、Position ノードがあります。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 ファイルに追加することはできますか (マニュアルにはこのような記述はありませんでした)。それらのサブクラスを派生させることも考えています。それもきれいに動作しません。

4

1 に答える 1

4

ノードの実装は自由に変更できます。JJTree は、それらが欠落している場合にのみ生成します。説明書より

ノード クラスの実装を提供しない場合、JJTree は SimpleNode に基づいてサンプル実装を生成します。その後、実装を適切に変更できます。

于 2013-07-31T12:08:38.457 に答える