无法匹配ANTLR4中的简单分配

无法匹配ANTLR4中的简单分配,antlr,antlr4,Antlr,Antlr4,我有一个要匹配的输入模式: identifier=apple-packs/apple-packages-extension/albama_togo_air_extension 我在ANTLR4中的语法定义如下: 语法MyDSL @lexer::members { public static final int WHITESPACE = 1; public static final int COMMENTS = 2; } locationReference : ID '=

我有一个要匹配的输入模式:

identifier=apple-packs/apple-packages-extension/albama_togo_air_extension
我在ANTLR4中的语法定义如下: 语法MyDSL

@lexer::members {
    public static final int WHITESPACE = 1;
    public static final int COMMENTS = 2;
}
locationReference
    : ID '=' genericstring ';';

ID:LETTER (LETTER | [0-9])*;
genericstring:(.)+?;
面临的问题是: 第1行:16处的令牌识别错误:'-' 第1行:22处的令牌识别错误:'/' 第1行:28处的令牌识别错误:'-' ... 我想我的语法无法通过解析器规则匹配特殊字符: 泛型字符串:(.)+?;
我也知道“.”表示任何字符。

在词法规则中,
匹配任何字符。在解析器规则中,
匹配任何标记

注意,
令牌识别
错误由lexer生成;在这种情况下,因为lexer没有匹配输入字符串中的“;”的规则。问题应理解为:标识符=苹果包装/苹果包装扩展/阿尔巴马多哥航空扩展;即使添加了“;”,问题仍然存在