最新の ANTLR Works 1.5 と次の文法を使用します。
文法TestMethod;
ID : ('a'..'z'|'A'..'Z'|' ') ('a'..'z'|'A'..'Z'|'0'..'9 '|' ')* ;
WS : ( ' ' | '\t' | '\r' | '\n' ) ;
ws : (WS)* ;
やった ;
式: ID | 方法 ;
method
: 識別子 ws '(' ws ')' ;
識別子: ( id (セレクター)* '.')? ID;
セレクター: '.' ID | '[' ws 式 ws ']' ;
式で始まる abcd を送信すると、NoViableAltException が発生します。id で開始する場合、このエラーは発生しません。式には代替として id があるため、なぜ機能しないのですか?