2

あるドメイン固有言語から別のドメイン固有言語に変換し、組み込みアクションを使用して中間構造情報を生成する ANTLR パーサーを Java で作成しました。解析中、これらの埋め込みアクションは、実行時に外部ファイルからロードされたデータを使用して、解析中の入力を検証します。したがって、文法に従って正しい入力ファイルが、実行時にロードされる外部要件のために失敗する可能性があります。

この種の状況の簡単な例は、有効なキーワードのリストがユーザーによって提供されたテキスト ファイルから取得されるパーサーです。文法に従って正しく解析されるキーワードは、実行時にユーザーが提供するキーワード リストに含まれていないため、失敗する可能性があります。

私はすでにこれらの問題をキャッチして解析から抜け出すことができますが、エラー メッセージはコンテキストを失っているため、ユーザーが入力のどこでエラーが発生しているかを知ることは困難です。

ANTLR 埋め込みアクションにより、パーサーが現在の解析コンテキストを含む偽の解析例外をスローする方法はありますか? 例えば:

line 125:11 <my custom error message generated from embedded action goes here>

ANTLR 4 リファレンス ブックを読みましたが、関連する例が見つかりませんでした。

4

1 に答える 1