ただ興味があるだけ。インタープリター言語やステートメント計算機のように、入力またはファイルによって与えられた文字列を実際の式に変換するにはどうすればよいでしょうか? たとえば、 「Enter Calculation: 」の場合、文字列である「2*7/4」と書きます。プログラムは文字列を実際の式にどのように変換しますか? 文字列を int に変換するのは簡単ですが、+、-、/など の演算子をどのように変換しますか? この種のものは通常C/C++で実装されることを理解していますが、 C#のような高級言語でそのようなものを作成することは可能ですか? はいの場合、どのように?
2736 次
3 に答える
3
Here's an article you might check out. There are also tools like Flee. Or yet another technique which allows you to evaluate C# expressions using a CodeDom provider.
于 2011-06-29T06:57:13.530 に答える
1
I believe this can be achieved using expression trees, which is how LINQ is implemented.
于 2011-06-29T06:57:05.603 に答える
1
Google "parse tree". One can be written in any Turing-complete language.
于 2011-06-29T06:57:32.267 に答える