1

Shunting Yard (SY) アルゴリズムを使用して構文を解析しようとしています。構文には次のコマンドが含まれます (これらは他にもたくさんあります!)

a + b // a and b are numbers
setxy c d //c,d can be numbers
setxy c+d b+a //all numbers

基本的に、setxy は関数ですが、関数の引数セパレーターは必要ありません。これにより、括弧と関数引数の区切り記号がないため、SY を介して実行することが非常に困難 (不可能?) になります。

SY を使用して、括弧なし/関数引数セパレーターなしの関数を解析できるかどうか、または別の解析アルゴリズムに進む必要があるかどうか、考えはありますか? もしそうなら、あなたはどちらをお勧めしますか?

ありがとう!DJS22

4

2 に答える 2

2

正しい文法を定義したら、http: //www.antlr.org/ でパーサーを生成できます。それが適切な解決策であるかどうかは、宿題の「要件」によって異なります。

少なくとも、それを生成して内部を調べてヒントを探すことができます。

于 2011-02-27T18:11:31.320 に答える
-2

あなたが何をしようとしているのか完全にはわかりませんが、おそらく正規表現を使用できますか? 簡単なコマンド ライン プログラムを作成して何をしようとしていますか?

于 2011-02-27T17:44:09.117 に答える