1

レクサーとパーサーの両方に 1 つの .g ファイルを使用しています。文法ファイルに次の行があります。

@header {
package foo.bar;
}

ただし、パッケージ行は生成されたパーサー ソース ファイルにのみ配置され、FooLexer.java ファイルには含まれていないことがわかりました。誰でもこれに対処する方法を知っていますか?

4

1 に答える 1

7
@header {
package foo.bar;
}

の略です:

@parser::header {
package foo.bar;
}

パッケージ宣言をレクサーに入れるには、次のようにします。

@lexer::header {
package foo.bar;
}

@members { ... }の略である についても同様です@parser::members { ... }@lexer::members { ... }変数/メソッドなどをレクサーに入れることもあります。

于 2012-06-26T07:23:34.877 に答える