0

AT コマンドを送信すると、通常は \r\n で終了しますが、実際には、これらは実際には 2 つの「レジスタ変数」S3 と S4 です。

デフォルトでは S3=='\r' および S4=='\n' ですが、ユーザーはコマンド ATSx= を使用して実行時にこれらを変更できます

Antlr レクサー/パーサーでこれを処理するにはどうすればよいですか?

各コマンドの形式は AT[parameters]S3S4 ですが、ユーザーが S3 または S4 の値を変更した場合、どのように処理できますか?

助けてくれてありがとう...

4

1 に答える 1

1

いいえ、レクサールールまたはパーサールールのAFAIKを動的に変更するようなオプションはありません。もちろん、レジスタ変数を変更したときにレクサー/パーサーを再作成するなどの回避策はありますが、それはきれいではないでしょう...


編集

mawgは書いた

lexr&poarserを再作成します(まあ、lexerのみ、私は推測します)-それについて詳しく説明してもらえますか?

元の文法ファイルを書き直し(正しく言及しているように、レクサールールのみ)、その場で再コンパイルします。参照: http: //java.sun.com/javase/6/docs/api/javax/tools/JavaCompiler.html

于 2009-12-08T20:31:17.973 に答える