2017-11-01 11 views
0

私はCommon Lispとの象徴的な差別化を含む私のコンピュータ科学のクラスのうちの1つを覚えています。共通のlispのプロパティは、方程式を取り、記号的な操作を適用することを可能にします。.Net内のシンボリック操作

私の質問は、記号的操作を可能にする.Netフレームワーク内にライブラリやプログラミング言語はありますか?私はこれを解決するためにC#を使用することを好むだろう。私はすでにthisリンクを見てきましたが、具体的な回答はしていません。

私の状況をより詳しく説明させてください。

条件式があり、全体が文字列であるとします。 各名前1DPZ_XYは整数変数を表します。 これらの変数にはすでに値が割り当てられています。

" 
{ 
1DPZ_a2 = (2 OR 3) 
AND 
(
1DPZ_a6 = 9 
OR 
1DPZ_b3 = (3 OR 7) 
AND 
(
1DPZ_b4 = 8 
OR 
1DPZ_b5 = 2 
OR 
1DPZ_b6 = (4 OR 2) 
) 
) 
} 
" 

明らかに、この数式は真または偽を返します。 この文字列ロジックをif文に変換するにはどうすればよいですか?

+0

これはなぜRタグを持っていますか? –

+0

不要なタグがいくつかあります。たぶんR、Matlab、Mathematicaタグを落とす – lebelinoz

答えて

2

あなたの文字列を解析し、それから.NET Expression Treeを構築することができます。その後、その式ツリーを操作して評価したり、印刷したり、変換したりできます(通常はExpressionVisitorを使用)。

関連する問題