我正在开发一个需要嵌入式 DSL 来满足其预期要求的项目。
DSL 将基于用户定义的事件。这是所需语法的模型:
user-defined-event-1 {
// event body
}
user-defined-event-2 {
// event body
}
可能,我根据事件知道的最相似的语言是LSL(来自《第二人生》) http://wiki.secondlife.com/wiki/A_Basic_LSL_Tutorial.
因此,在阅读了有关 SO 的其他类似问题后,我想询问 C++(我在 Qt 中工作)上最好的可嵌入脚本引擎(Ruby、Lua、Python 等),它允许我创建这个 DSL。
在我的项目中,我将测试脚本是否正确使用 DSL 语法(至少定义了一个事件),并为用户提供了底层脚本引擎的所有功能,如果可能的话,还有 Qt。
嵌入式语言与 Qt 一起工作并不是必需的。它可以是孤立的,但最好也进行一些集成。
There's 在那里。 Lua 可以在某种程度上执行上面所示的语法;具体来说,{}
表示Lua中的表(关联数组),如果您只是将匿名表传递给函数,则不需要括号:
Lua 5.1.4 Copyright (C) 1994-2008 Lua.org, PUC-Rio
> function LengthOfTable(t) print(#t) end
> LengthOfTable ({"a","b","c"})
3
> LengthOfTable {"a","b","c"}
3
Lua是否真的是best对于您的应用程序,当然取决于您的应用程序。无论哪种方式,Lua 都很容易(IMO)嵌入到 C 或 C++ 中。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)