DSL 的嵌入式脚本引擎

2024-01-29

我正在开发一个需要嵌入式 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(使用前将#替换为@)

DSL 的嵌入式脚本引擎 的相关文章

随机推荐