質問

私はC#ニュービーです。C#で電卓アプリを書きたい。C#表現の木はその内臓のために行く良い方法でしょうか?(つまり、一連のキープレスを受ける部分は、画面上に評価して表示できる式に順番に変換します。。。またはグラフ)

TRIG、LOGS、指数などを含む標準数学関数を含めたいです。

役に立ちましたか?

解決

数学的表現の言語は確かにC#よりもはるかに簡単なので、私はあなたのASTを表すためにフレームワーク表現ツリークラスを再利用しようとすると思われると思われます。あなたがそれらのクラスを見るならば、あなたはあなたの小さな言語と完全に無関係なのでしょう。私があなただったらあなた自身を転がしたいです。

他のヒント

このプロジェクトから学ぶことができるかもしれません、良いチュートリアルがある方法

あなたは http://ncalc.codeplex.com

それは拡張可能で、高速(例えば、それ自身のキャッシュを持っています)を使用すると、EvaluateFunction / EvaluateParameterイベントを処理することで、実行時にカスタム機能とバリブルを提供できます。例示的な式は解析できます。 式E=新発現(「丸(PI、2)+ PAG([PI2]、2)+ X、2)」)。

E.Parameters ["PI2"]=新規表現(「PI * PI」); E.Parameters ["x"]= 10。

e.evaluateParameter +=デリゲート(String Name、Parameterargs args) { if(名前=="PI") args.result= 3.14。 ;;

debug.assert(117.07== e.evaluate());

Unicode&Many Data Typeをネイティブに処理します。あなたがグラマーを変更したい場合は、アンタファイルが付属しています。新しい機能をロードするためにMEFをサポートするフォークもあります。

論理演算子、日付/時刻の文字列、およびIFステートメントもサポートされています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top