私は興味があります。解釈された言語や文計算機のように、入力やファイルによって与えられた文字列を実際の式に変換する方法は?例えば"計算を入力:"と書かれた"2 * 7/4"は文字列です。プログラムは文字列を実際の式にどのように変換しますか? intに文字列を変換するのは簡単ですが、どのように+、よう事業者変換しない - など、/を、?私はこの種のものは通常C/C++に実装されていることを理解していますが、C#のような高水準言語でそのようなことを行うことは可能ですか?そして、はいの場合はどのように?どのようにC#で式パーサを作成しますか?
1
A
答えて
2
あなたがチェックアウトするかもしれないan articleここにあります。 Fleeのようなツールもあります。またはanother techniqueでは、CodeDomプロバイダを使用してC#式を評価することができます。
1
これは、LINQの実装方法である式ツリーを使用して実現できると思います。
+0
+1最初の良い答え –
1
Google "parse tree" 1つはすべてのチューリング完全言語で記述することができます。
関連する問題
- 1. 式はApache 2.4でどのように動作しますか?
- 2. LINQ式はどのようにストアドプロシージャで動作しますか?
- 3. どのようにプログラムでC#でMS Accessテーブルを作成しますか?
- 4. どのようにVisual StudioでC#でテキストボックスを作成しますか?
- 5. Cでどのように構造体の配列を作成しますか?
- 6. Lispでの公式言語パーサの作成
- 7. C#でどのように非同期メソッドを作成しますか?
- 8. どのようにC#で乱数を生成しますか?
- 9. C++ AllegroまたはSDLはどのようにウィンドウを作成しますか?
- 10. C#のパーサ、ASTツリー、CILを作成し、私の問題の
- 11. どのようにUIKitでカスタムコントロールを作成しますか?
- 12. Xcode 4.2でどのようにシェルスクリプトターゲットを作成しますか?
- 13. RubyでどのようにHTMLテーブルを作成しますか?
- 14. ルビーでどのようにインターフェイスを作成しますか?
- 15. スタティックツールチップをCSSでどのように作成しますか?
- 16. ウォーロックではどのようにクラスを作成しますか?
- 17. ジンジャーテンプレートでどのようにインデックスを作成しますか?
- 18. どのようにリサイズでドロップダウンメニューを作成し、C#
- 19. どのように式を作成する:セレクタ+述語ですか?
- 20. C#でTREND()を呼び出すExcel式を再作成するにはどうすればよいですか?
- 21. fprintfはC++でどのように動作しますか?
- 22. ThrowTerminatingErrorはどのようにC#で動作しますか?
- 23. どのようにしてメタクラスを作成しますか?
- 24. どのようにしてNvarchar()を作成しますか
- 25. in c#contextMenuをどのように再生成しますか?
- 26. どのようにJavaクラスのオブジェクトを作成しますか?
- 27. どのように無限のjscrollpaneを作成しますか?
- 28. どのようにフラグメンテーションのリストビューを作成しますか?
- 29. ASP.NETでどのようにアコーディオンコントロールを作成できますか?
- 30. Javaのブール式パーサ
ありがとう!あなたは投票に値する! – ApprenticeHacker