我开始一个项目,我需要实现一个轻量级的解释器。 解释器用于执行简单的科学算法。 (例如,数学家),这个解释器将使用要简单,因为它是针对非软件开发商构建一个简单的翻译器
的解释应该支持基本的编程语言 编程语言的特点:
- 实数,变量,多维数组
- 二进制(+, - ,*,/,%)和布尔(!==,=,<,>,< =,> =)操作
- 路(为,同时) ,条件表达式(if) 个
- 功能
MathWorks MatLab是我前往那里的一个很好的例子,只是要简单得多。 解释器将用作演示算法的环境;简单的算法,如查找数据集/数组的平均值,或者稍微复杂的算法,如Gaussian elimination或RSA。
我在这个问题上找到的最好的/最实用的资源是Ron Ayoub在代码项目(Parsing Algebraic Expressions Using the Interpreter Pattern)上的条目 - 我的问题缩小版本的完美例子。
紫龙书好像太多了,什么更实用?
解释器将使用C#作为.NET库实现。然而,欢迎任何平台的资源,因为这个问题的设计架构部分是最具挑战性的。
任何实际资源?
(请避开“这不是小事”或“为什么要重新发明轮子”响应)
杰出的书!本书中描述的脚本语言是在C#中实现的,网址是http://www.codeproject.com/KB/cs/Conscript.aspx – 2008-11-02 16:34:58