「IS」という言葉は予約語ですか。これが私が尋ねる理由です。パーサーを作成しようとしている言語は優先言語です。次のような割り当てがあります。
%VARIABLE IS STRING
Antlr インタープリターを使用して上記のステートメントを入力すると、「MisMatchedSetException」というエラーが表示されます。
私が入力した場合:
%VARIABLE AND STRING
すべてが期待どおりに機能します。
解決策を探すのにしばらく時間を費やしましたが、これまでのところ何もありません。
ここに私の文法の一部があります:
assignis : '%' IDENT logical_operator types ;
types : ('FIXED' | 'STRING' | 'FLOAT');
logical_operator : 'IS' | 'AND';
IDENT : ('a'..'z' | 'A'..'Z' | '0'..'9' | DOT)+;