英文:
How can I add library import to antlr4 in go?
问题
我最近开始学习antlr和它在go中的使用。在使用go库时,我遇到了导入的问题。例如,我在我的antlr文件开头写了以下内容:
grammar Test;
@header {
import "strconv"
}
然后使用以下命令编译它:antlr4 -Dlanguage=Go Test.g4
。然后我有两个文件,一个是使用这个包的parser
文件,另一个是包含一个未使用的导入的lexer
文件,这就是为什么我无法编译我的项目的原因。
我希望通过一些标志的帮助,我能够编译我的项目。
英文:
I started studying antlr and its work with go recently. And I have a problem with importing when using the library inside go. For example, I have at the beginning of my antlr file:
grammar Test;
@header {
import "strconv"
}
And compile it with the following command antlr4 -Dlanguage=Go Test.g4
. And then I have two files parser
which uses this package and lexer
which contains an import that is not used, which is why I cannot compile my project.
I expect that with the help of some flags I will be able to compile my project.
答案1
得分: 1
使用@parser::header
只在解析器中包含它。
英文:
Use @parser::header
to include it only in the parser.
答案2
得分: 0
你可以使用一个技巧来强制使用该包,例如通过写入var _= strconv.Atoi
。然后头部将如下所示:
@header {
import "strconv"
var _ = strconv.Atoi
}
英文:
You can use a trick and force the package to be used, for example, by writing var _= strconv.Atoi
. Then the header will look like this:
@header {
import "strconv"
var _ = strconv.Atoi
}
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论