私はこのバグを理解しようとしています。現在、いくつかの異なる入力を指定すると、正しい結果が得られるか、ANTLRWorks デバッガーが無限にループします。
1) {v0, p1} = Infinite loop or mismatched token exception
2) {v0..v1} Works!
3) {v0,p1} Works? Why?! Notice the lack of space?
これがあいまいである理由を誰かが理解するのを手伝ってくれたら、本当に感謝しています。演算子の優先順位を変更しようとしましたが、それでも、思うように動作させることができません。ありがとうございました!
WHITESPACE : ( '\t' | ' ' | '\r' | '\n'| '\u000C' )+ { $channel = HIDDEN; };
LEFTCURL : '{';
RIGHTCURL : '}';
REGISTER : ('v'|'p') NUMBER+;
REGISTERLIST : LEFTCURL REGISTER (',' REGISTER)* RIGHTCURL;
REGISTERANGE : LEFTCURL REGISTER '..' REGISTER RIGHTCURL;