2017-05-19 5 views
1

複雑なロジック操作のための文法ルールを書いていますが、トークンがついています。あなたは、私が(認識されるべきである)すべての操作のための特別な記号を使用しています見ることができるようにANTLRが特殊文字トークンを認識しない

VAR  : 'A'..'Z'; 
WS  : [ \t\r]+ -> skip; 
NL  : '\n'; 
TRUE : '1'; 
FALSE : '0'; 

AND  : '∧'; 
NAND : '⊼'; 
OR  : '∨'; 
XOR  : '⊻'; 
NOR  : '⊽'; 
IMPLIES : '⇒'; 
BICOND : '⇔'; 
NEGATE : '¬'; 
EQUIV : '≡'; 
EQ  : '='; 
LPAR : '('; 
RPAR : ')'; 

:私の字句解析の文法は次のようになります。

line 1:1 token recognition error at: '⊼' 

それはすべての演算子を使用して私に同じエラーを与える:問題は、私はパーサをテストし、私はそれは私に次のエラーを与えるツリーを訪問しようとするということです。 問題はエンコーディングに関連していると言えます。なぜなら、より一般的なシンボルを置き換えるとツリーにアクセスし、正しい結果が得られるからです。

私はJavaでANTLRを使用しています。

ありがとうございます!

答えて

0

解決策を見つけました。私はそれがエンコーディングの問題だと思ったので、というツールオプションをUTF-8という文法ファイルに設定しなければなりませんでした。

ありがとうございました!