私は興味があります。解釈された言語や文計算機のように、入力やファイルによって与えられた文字列を実際の式に変換する方法は?例えば"計算を入力:"と書かれた"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. デリゲートオブジェクトはC#でどのように作成されますか?
- 2. どのようにプログラムでC#でMS Accessテーブルを作成しますか?
- 3. どのようにVisual StudioでC#でテキストボックスを作成しますか?
- 4. どのようにしてC++で.Exe Duplicateを作成できますか?
- 5. LINQ式はどのようにストアドプロシージャで動作しますか?
- 6. 式はApache 2.4でどのように動作しますか?
- 7. Cでどのように構造体の配列を作成しますか?
- 8. C#でどのように非同期メソッドを作成しますか?
- 9. Lispでの公式言語パーサの作成
- 10. どのようにC#で乱数を生成しますか?
- 11. どのようにして、同じ形式のテーブル形式のアイコンとテキストを作成できますか
- 12. Cプログラミングで別のスレッドを作成するスレッドをどのように作成しますか?
- 13. C++ AllegroまたはSDLはどのようにウィンドウを作成しますか?
- 14. C#のパーサ、ASTツリー、CILを作成し、私の問題の
- 15. どのようにJavaのパーサ
- 16. ジンジャーテンプレートでどのようにインデックスを作成しますか?
- 17. Xcode 4.2でどのようにシェルスクリプトターゲットを作成しますか?
- 18. ウォーロックではどのようにクラスを作成しますか?
- 19. Xamarin 6.1.2でMain.storyboardをどのように作成しますか?
- 20. スタティックツールチップをCSSでどのように作成しますか?
- 21. どのようにUIKitでカスタムコントロールを作成しますか?
- 22. RubyでどのようにHTMLテーブルを作成しますか?
- 23. ルビーでどのようにインターフェイスを作成しますか?
- 24. PureScriptでどのように関数を作成しますか?
- 25. どのようにリサイズでドロップダウンメニューを作成し、C#
- 26. cin.peek()はC++でどのように動作しますか?
- 27. MACROSはどのようにCで動作しますか?
- 28. "return {...};"はC++ 11でどのように動作しますか?
- 29. fprintfはC++でどのように動作しますか?
- 30. %。* LfはどのようにCで動作しますか?
ありがとう!あなたは投票に値する! – ApprenticeHacker