首先,我应该让你们知道我想要做什么。我正在处理的项目有一个需要构建自定义脚本系统的要求。这将由使用该应用程序的非程序员使用,并且应该尽可能接近自然语言。一个例子是,如果用户需要运行自定义模拟并绘制输出,他们编写的代码需要看起来像
变量 input1 为 10;变量 input2 为 20;
变量 value1 是 AVERAGE(input1, input2);
变量条件1为真;如果条件 1 则 PLOT(value1);
可能没有多大意义,但它只是一个例子。AVERAGE 和 PLOT 是我们想要定义的函数,它们不应该被允许改变它们,甚至不应该看到它们是如何工作的。DLR 可以实现这样的事情吗?如果不是,我们还有什么其他选择(从 ANTRL 开始定义语法,然后继续?)?将来这可能也需要使用 XBAP 和 WPF 运行,所以这也是我们需要考虑的问题,但在 dlr 和 xbap 上还没有看到太多。谢谢,希望这一切都有意义。
Lua 不是一种选择,因为它与他们已经习惯的不同。
Ralf,它是被动的,老实说,结果应该返回给用户的时间范围可能是 1/100 秒,一直到 2 周或一个月(非常复杂的数学函数)。
基本上,他们已经购买了一个系统,可以满足他们的一些需求,并包含一种自定义脚本语言,可以完成我上面提到的功能,他们不想学习新的,他们基本上只是希望我们复制它并添加功能。我想我会从 ANTRL 开始,然后从那里开始。