我有一个匹配的输入模式:
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行令牌识别错误:' - '...我想我的语法无法通过解析器规则匹配特殊字符:genericstring :( . )?;我也理解“ . ”意味着任何角色 .
1 回答
在词法分析器规则
.
匹配任何字符 . 在解析器规则中,.
匹配任何标记 .注意,词法分析器会生成
token recognition
错误;在这种情况下,因为词法分析器没有匹配-
的规则 .