我有一个匹配的输入模式:
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:+ ?;(。) 我也理解了#34;。#34;意味着任何角色。
答案 0 :(得分:0)
在词法分析器中,.
匹配任何字符。在解析器规则中,token recognition
匹配任何令牌。
注意,词法分析器会生成-
个错误;在这种情况下,因为词法分析器没有匹配{{1}}的规则。