0

antlr4 の次のルールは、有効な入力に対しては機能しません。

testSimple
    : 'name' 'eq' WORD+?  .*? NEWLINE

WORD:  ~[ \t\f\r\n]+ ;

入力は次のとおりです。

name eq John Tom Allen notAName

エラーは次のとおりです。

line 1:8 no viable alternative at input 'John'

貪欲でない演算子を使用すると、後で「最初の試合が勝つ」というルールのように、いくつかの制限があることを私は知っています。そして、ルールは特にあいまいです。しかし、少なくとも1つの方法で入力と一致するべきではありませんか?

4

1 に答える 1