|
|
1
15
您可以使用Ironpython作为脚本语言。这是一个 article that gives a basic idea 你怎么能做到。 |
|
|
3
4
Lua 加 LuaInterface 是我们当前项目的选择——只需使用LuiaInterfcae注册您的API中的方法,并且可以从脚本代码调用它们。我们的用户界面使用 Scintilla 和 ScintillaNET 用于脚本编辑器。 这可能不是构建复杂用户界面的最佳解决方案,但它是可能的。 |
|
|
4
3
我非常同意。发明新的通用“脚本一堆控制流和对象模型调用”语言在我的团队中是“减一千分”;也就是说,这样做的成本是如此之高,而且我们的客户必须学习一种新语言的成本是如此之高,为了摆脱负面影响,收益必须至少是“一千分”。兰特有许多脚本语言,您不必设计、指定、开发、测试、调试、记录、发送、维护和教客户如何使用;您可以避免所有这些成本。 如果我站在你的立场上,我只会开发一种新的语言,如果它的价值是它与其他语言有很大的不同,因为它的特殊用途适用于一个特定的领域。听起来您正在开发静态标记DSL,这是一个好主意。通过使它成为现有标记结构语言的一个子集,您不必承担构建解析器和词法验证器以及其他什么的负担。 |
|
|
5
1
你考虑过创造一个 DSL in Boo 是吗?. 开始并不一定很难,也不一定很复杂,但是如果以后有更多的时间掌握在手中,您就可以获得扩展DSL的极好选择。 |
|
|
6
1
Antlr 是一个lexer/parser生成器。它比使用Iron Python要复杂一些,但是,您可以相当容易地创建自己的DSL,只允许您想要的操作类型。 使用生成的Parser/Lexer,您可以将它用作实时解释语言,或者传统的静态编译语言,或者使用它生成C代码,然后编译。 选择是无穷无尽的。 |
|
|
7
0
也许你 是 有兴趣重新发明轮子,或者想更好地理解如何用C语言编写自己的编程语言工具,请参见 Implementing Programming Languages using C# 在codeproject.com. |