gpt4 book ai didi

c++ - DSL 的嵌入式脚本引擎

转载 作者:太空狗 更新时间:2023-10-29 20:32:38 24 4
gpt4 key购买 nike

我正在从事一个需要嵌入式 DSL 来满足其预期要求的项目。

DSL 将基于用户定义的事件。这是所需语法的模型:

user-defined-event-1 {
// event body
}

user-defined-event-2 {
// event body
}

根据事件,我知道的最相似的语言可能是 LSL (from Second Life) .

因此,在阅读了关于 SO 的其他类似问题之后,我想寻求 C++(我在 Qt 中工作)上最好的可嵌入脚本引擎(Ruby、Lua、Python 等),它允许我创建此 DSL。

在我的项目中,我会测试脚本是否正确使用 DSL 语法(至少定义了一个事件)并为用户提供底层脚本引擎的所有功能,如果可能的话,Qt。

嵌入式语言与 Qt 一起工作不是必需的。它可以是孤立的,但也有一些集成会很好。

最佳答案

at least a few Qt-Lua bindings在那里。 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 是否真的最适合您的应用程序,当然取决于您的应用程序。无论哪种方式,Lua 都非常容易 (IMO) 嵌入到 C 或 C++ 中。

关于c++ - DSL 的嵌入式脚本引擎,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1591114/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com