我是ANTLR的新手,正在取得进步,并遇到了这个问题。
我有这样的结构:
-- MAIN
---|__ SUB
|__ ABCLexer.g4
|__ ABCParser.g4
BaseLexer.g4
我想在ABCParser中使用BaseLexer。因此,我尝试了很多事情,例如:
options {tokenVocab=BaseLexer;}
options {tokenVocab='../BaseLexer';}
options {tokenVocab='fullpath to BaseLexer';}
我还尝试了导入,以查看是否可以使它正常工作。一切都无济于事。在将所有内容拉回到同一目录之前,有没有简单的方法可以做到这一点?
[在导入语句中不要使用路径,而应在工具调用中指定语法搜索路径,如tool-options文档中所述:
$ antlr4 -lib / tmp A.g4
在vscode的ANTLR4扩展中,您可以在扩展设置中以described in the documentation的形式提供此信息(请参阅importDir
设置。