私はより美しいエラーメッセージをユーザーに見せたいと思います。ANTLR4の "入力時に実行可能な代替手段がありません" <EOF> '"というニースのエラーメッセージ
たとえば、誰かがinteger i=
と入力すると、エラーメッセージno viable alternative at input '<EOF>'
が表示されます。それは私の文法の規則のために完全にうまく、予測可能ですが、私はそれらのメッセージを改善する方法を考え出しています。上記の例で=が見つからない場合、メッセージはmismatched input '<EOF>' expecting '='
に変わります。再び予測可能ですが、一般的な入力エラーよりもコード内でこれほど多くのことを行うことができます。
私はコードでそれらを捕らえて、どのケースが意味するのを評価しようとしますか?または、これを処理するより良い方法はありますか?
これは私がこの時点でやっていることです。私は自分自身のエラーリスナーで、彼がその問題を解決するのをサポートするために、ユーザーに表示するか、表示するべきかを理解しようとしています。私が正しい軌道にいることを確認してくれてありがとう! – FDeitelhoff