軽量インタープリターを実装する必要があるプロジェクトを開始しています。インタプリタは、単純な科学的アルゴリズムを実行するために使用されます。このインタプリタが使用するプログラミング言語は、ソフトウェア以外の開発者 (数学者など) を対象としているため、単純なものにする必要があります。
インタープリターは、基本的なプログラミング言語機能をサポートする必要があります。
- 実数、変数、多次元配列
- バイナリ (+、-、、/、%) およびブール (==、!=、<、>、<=、>=) 演算
- ループ(for、while)、条件式(if)
- 機能
MathWorks の MatLabは、私が目指すところの良い例です。インタープリターは、アルゴリズムを実証するための環境として使用されます。データセット/配列の平均を見つけるなどの単純なアルゴリズム、またはガウス消去法やRSAなどの少し複雑なアルゴリズム。
この件に関して私が見つけた最良/最も実用的なリソースは、Ron Ayoub の Code Project に関するエントリ ( Parsing Algebraic Expressions Using the Interpreter Pattern ) です。これは、私の問題の縮小版の完璧な例です。
紫龍の本は多すぎるようですが、もっと実用的なものはありますか?
インタープリターは、C# を使用して .NET ライブラリとして実装されます。ただし、この問題の設計とアーキテクチャの部分が最も難しいため、どのプラットフォームのリソースも歓迎します。
実用的なリソースはありますか?
(「これは些細なことではない」または「なぜ車輪を再発明するのか」という回答は避けてください)