ANTLR 4.0b4のレクサーの一致順序に問題があるように見える、非常に単純なキー/値文法(実際に取り組んでいる文法ではありませんが、これは私の問題を示す最も単純な文法です)があります。文法は次のとおりです。
grammar test;
r : HELLO COLON VALUE;
HELLO : 'hello';
COLON : ':';
VALUE : .+;
この文法と入力'hello:world'を考えると、正しく解析されると思いますが、入力全体が単一のVALUEトークンに取り込まれるため、失敗するようです。
hello:world
[@0,0:11='hello:world\n',<3>,1:0]
[@1,12:11='<EOF>',<-1>,2:12]
line 1:0 mismatched input 'hello:world\n' expecting 'hello'
私は何が間違っているのですか?