对于一个项目,我要求我的用户能够提供一个简单的函数作为字符串,并且我希望能够从我的程序中对其进行评估。 假设函数签名总是为int f(int a, int b)
可用于C#的基本脚本语言
我想使它成为我的用户可以提供用基本语言编写的f的实现。 例如:
return a*b;
if(a ==1) return b else return 3
而在我的计划,我希望能够分析用户输入功能,使之从我的C#代码真正的调用函数。我只需要基本的功能,如基本的数学原理和条件(甚至不是循环)。
是否存在一个基本的“语言”,它允许我解释定义为输入的这些函数并将它们转换为可调用的代码? 例如,我认为使用Lua这个矫枉过正?
理想情况下,我想要一些开源代码,只需最少的代码库,而且广为人知的是质量很好。这样的事情存在吗?理想情况下,它也应该有几种语言的实现,如C#和Java。 我知道编写我自己的解析器的诱惑力很高,但我觉得我的问题必须有一个开箱即用的解决方案
使用JavaScript,我的首选JavaScript引擎jint https://github.com/sebastienros/jint – pm100