我正在为lexer和parser使用一个.g文件。我在语法文件中有以下几行:
@header {
package foo.bar;
}
但是我发现包行只被放入生成的解析器源文件中,并在FooLexer.java文件中丢失。有谁知道如何处理这个?
答案 0 :(得分:7)
@header {
package foo.bar;
}
简称:
@parser::header {
package foo.bar;
}
要在词法分析器中放置包声明,请执行:
@lexer::header {
package foo.bar;
}
@members { ... }
也是如此,@parser::members { ... }
是@lexer::members { ... }
的缩写。还有{{1}}将变量/方法等放在词法分析器中。