私はantlr4で文法を書こうとしています。しかし、私はルール内の空白を選択的に無視することはできません。私の文法をつける。ここでは、トークンがalphaNumericWSCと一致する場合はスペース(WHITESPACEのトークン)を許可しますが、他のすべての場所ではWHITESPACEをスキップします。antlr文法に空白文字列を認識させるには?
WHITESPACE : [ \t\n\r]+ -> skip
alphaNumericWSC : AlphaNumeric (',' AlphaNumeric)*
| AlphaNumeric (' ' AlphaNumeric)*
;
つまり、このルールでは、このルールalphaNumericWSCだけを無視しません。
ご協力いただきありがとうございます。
あなたは、文字列の '文字列字句規則を使用する必要があります。「「」〜「」」を「"」 '(注釈 '' 'はスペースなしで' '' 'です。ANTLRのレクサーの貪欲さは仕事をします。 – Mephy
空白はパーサーではなくレクサーのためのものです。 – EJP