我正在启动一个需要实现轻量级解释器的项目。解释器用于执行简单的科学算法。该解释器将使用的编程语言应该很简单,因为它针对的是非软件开发人员(例如,数学家)。
解释器应该支持基本的编程语言特性:
- 实数、变量、多维数组
- 二进制 (+, -, *, /, %) 和布尔 (==, !=, <, >, <=, >=) 运算
- 循环(for、while)、条件表达式(if)
- 职能
MathWorks MatLab是我前进的一个很好的例子,只是简单得多。解释器将用作演示算法的环境;简单的算法,例如查找数据集/数组的平均值,或者稍微复杂的算法,例如高斯消除或RSA。
我在该主题上找到的最佳/最实用的资源是 Ron Ayoub 的代码项目条目(使用解释器模式解析代数表达式)——这是我的问题的缩小版本的完美示例。
紫龙书好像太多了,还有什么更实用的?
解释器将使用 C# 实现为 .NET 库。然而,任何平台的资源都是受欢迎的,因为这个问题的设计架构部分是最具挑战性的。
有什么实用资源吗?
(请避免“这不是微不足道的”或“为什么要重新发明轮子”的回答)