antlr生成的解析器中输入不匹配

时间:2015-04-10 14:59:13

标签: antlr

我有一个简短的ANTLR语法:

query : word (WS word)+;
word : simpleword | compoundword;
compoundword : simpleword (NONWORD+ simpleword)+ | NONWORD+ simpleword (NONWORD+ simpleword)* NONWORD*;
simpleword : SIMPLEWORD;

SIMPLEWORD: [0-9a-zA-Z]+;
NONWORD: [-_];
WS  : (' ' | '\r' | '\n');

但是生成的解析器无法解析字符串“abc-def qwe qaz”,消息“输入不匹配” - “期待WS”。

任何提示如何解决这个问题?为什么“abc-def”不匹配复合词制作(第一种选择)?

1 个答案:

答案 0 :(得分:1)

实际上这个问题不在问题中发布的代码之外 - 我还有其他一些作品,但我的印象是,如果无法从我最顶级的作品中找到它们,它们不应该影响我的解析器。他们做到了。