ANTLR IDEのバグ

ANTLRのJarでコード生成すると問題なく動くのに、IDEで動かすと想定外の動作をする場合があるようだ。ウェブでもそのようなことを書いてる記事を見た。
私の場合は、以下のようなエスケープシーケンス有のりのストリングで問題が起きた。

lexer grammar TestLexer;

options {
  language = Java;
}

@lexer::header {package hase;}

STRING
    :	'"'
    	( ESC_SEQ | ~('\\'|'"') )*
    	'"';

fragment
ESC_SEQ
    :   '\\' ('b'|'t'|'n'|'f'|'r'|'"')
      | '\\' ('\''|'\\')
    ;

この
( ESC_SEQ | ~('\\'|'"') )*
の右側
~('\\'|'"')
がちゃんとマッチしない。

例えば、「インタープリター」タブで
"hoge"
を与えると、MismatchedTokenException となる。
""も"\t"も正常に認識するのに。
ちなみに、
"\thoge"
を与えると、すべて ESC_SEQ 扱いになっているようだ。
また、ためしに、
( ~('\\'|'"') | ESC_SEQ )*
と左右を入れ替えてみると、今度は ESC_SEQ のほうが認識されなくなる。

ちゃんと動けは完全に eclipse で完結できるし、Token毎の動作確認が簡単にできたりと、ANTLRWorks よりもいいのだが・・・とっても惜しい。