Java 有没有可能让Antlr4从基本语法词法器而不是gener词法器生成词法器?

Java 有没有可能让Antlr4从基本语法词法器而不是gener词法器生成词法器?,java,parsing,antlr,antlr4,lexer,Java,Parsing,Antlr,Antlr4,Lexer,我有一个名为BasicTokens的lexer grammar,它是我的语言的一组基本标记,有null、true、false等标记 现在,当我创建解析器语法时,说BasicGrammar,它导入的是BasicTokens,另一个语法叫做InheritedGrammar,它导入的是BasicGrammar 当Antlr4为InheritedGrammar生成解析器时,它包含了BasicGrammar中已经定义的所有规则 有没有办法让Antlr只描述在InheritedGrammar中生成的规则,而

我有一个名为
BasicTokens
lexer grammar
,它是我的语言的一组基本标记,有
null
true
false
等标记

现在,当我创建解析器语法时,说
BasicGrammar
,它导入的是
BasicTokens
,另一个语法叫做
InheritedGrammar
,它导入的是
BasicGrammar

当Antlr4为
InheritedGrammar
生成解析器时,它包含了
BasicGrammar
中已经定义的所有规则


有没有办法让Antlr只描述在
InheritedGrammar
中生成的规则,而不描述在
BasicGrammar
中生成的规则,也可以继承
BasicGrammar
而不是
Parser

这是不可能的,因为Antlr 4实现导入的方式

如果语法
x
导入语法
y
,操作如下:

  • 加载语法
    y
    (及其所有规则)
  • 将语法
    x
    中的规则添加到规则集合中。如果发生任何名称冲突,请将
    y
    中的规则替换为
    x
    中的规则

  • 当您到达代码生成器时,规则层次结构已完全扁平化。

    是否有方法在不导入语法的情况下引用语法?