2017-03-07 5 views
1

パーサーによってプログラムによって生成されたエラーを検出するにはどうすればよいですか?入力と解析中に解析エラーを検出する

s : 'hello' ; 

このプログラム:例えばこの文法を与え"foo bar"

ParseTree tree = parser.s(); 

パーサは"line 1:0 mismatched input 'foo' expecting 'hello'"をプリントアウトすることになります。プログラムで解析エラーを検出する方法はありますか?それはどんな種類の例外もスローしていないようです。

答えて

0

ANTLRErrorListenerインターフェイスを実装し、パーサに追加します。

Parser#removeErrorListeners() 

Parser#addErrorListener(ANTLRErrorListener); 

典型的には、第一のデフォルトのコンソール出力に含まリスナーを削除したいです