0

だから、私はヘイズモデムATコマンドを解析しています。ファイルから読み取られませんが、char *として渡されます(私はCを使用しています)。

1)まったく認識できないものを入手した場合はどうなりますか?どうすればそれを処理できますか?2)私が次のようなものを持っている場合はどうなりますか

my_token: "cmd param ="( "value_1" | "value_2");

「param」に無効な値を受け取りますか?

バックエンドプログラム(C)にそれを処理させるためのアドバイスがいくつかありますが、それは私にとっては不利です。できるだけ早く問題をキャッチすることが私のモットーです。

レクサー/パーサールールで「else」条件をキャッチする方法はありますか?

前もって感謝します ...

4

2 に答える 2

1

それが問題です。パーサーとレクサーの要点は、入力が正しくない場合に爆発することです。その後、爆発をキャッチして、ユーザーにかなりのエラーメッセージを表示します。

于 2009-12-10T10:21:14.263 に答える
0

文法に埋め込むカスタム構文エラー回復を探していると思います。

編集

私はANTLRとC(またはCだけ)の経験がないので、このアドバイスに注意してください!:)

次のページを見てください:http ://www.antlr.org/api/C/using.html 、おそらく下部の部分、カスタマイズされたメソッドの実装はあなたが求めているものです。

HTH

于 2009-12-10T11:20:25.797 に答える