私はJavaCCを使って文法を作成していますが、小さな問題を抱えています。私はASCII拡張セット内の任意の有効な文字を結果のコンパイラによって認識されるようにすることを試みています。同じJavaCCの例(JavaCCの文法そのものを示す主な例)を見た後、私は私の文字を認識するために、次のトークンを設定します。JAVACCを使った拡張文字の認識
< CHARACTER:
( (~["'"," ","\\","\n","\r"])
| ("\\"
(["n","t","b","r","f","\\","'","\""]
| ["0"-"7"] (["0"-"7"])?
| ["0"-"3"] ["0"-"7"] ["0"-"7"]
)
)
)
>
私はそれが進表現に一致する必要がありますこれを正しく理解していた場合すべてのASCII文字のうち、0〜377(拡張ASCIIセットのすべての256文字をカバーします)。これは、すべてのキーボード文字(a〜z、0〜9、?、。/ etc)、およびほとんどの特殊文字(©、¬ ®)でも期待通りに機能します。 しかし、私は '商標'シンボル(™)を解析しようとするたびに、パーサーはシンボルを認識できないことを示すファイルの終了例外を常にスローします。商標シンボルを受け入れるためのキャラクターの定義を強化することができる明確な方法はありますか?