現在、数式を解析して式ツリーにしようとしています。しかし、関数と否定を実装する必要がある段階で立ち往生しています。Shunting-Yard アルゴリズムを使用してそれを行うロジックがわかりません。
今やりたいことは応援すること
- -(x+5) のような否定
- min(x,y) などの関数呼び出し
- cos^2(x) のような、関数名の直後の累乗
- 2x は 2*x と同じなどの暗黙の乗算
- 科学表記法
- 定数 e と pi
誰かがこれを実装する方法のヒントを教えてもらえますか?
現在、数式を解析して式ツリーにしようとしています。しかし、関数と否定を実装する必要がある段階で立ち往生しています。Shunting-Yard アルゴリズムを使用してそれを行うロジックがわかりません。
今やりたいことは応援すること
誰かがこれを実装する方法のヒントを教えてもらえますか?
稼働中の、PSR-0 互換の分流ヤード アルゴリズムの実装は、https ://github.com/andig/php-shunting-yard/tree/dev にあります。定数、カスタム関数などをサポートしています。