编写自定义基于Lua的脚本语言的包装器

我有一个程序,它是Lua的扩展,即它包括一堆额外的对象和函数。现在可以使用此程序执行使用标准Lua之外的其他功能的Lua脚本。这样的脚本的通用示例如下(其中 NewObject+ 操作不是标准的Lua)

   A = NewObject(12, "一个字符串参数", 表格)
   B = NewObject(1, "另一个字符串", 其他表)
   C = A+B
   ... 对C执行某些操作并打印结果

现在,我想在Python中使用这些对象和函数。因此,我想编写某种包装器,允许我将参数数据传递给我的(自定义)Lua运行时(并在最后检索结果),并动态地进行上述调用。我知道标准Lua的Python包装器存在,例如Lupa。但是,我不确定是否可以使用它,因为我不使用标准Lua解释器。此外,我希望尽可能轻量级(我需要交换的数据非常"标准",即整数、浮点数、字符串、布尔值和此类类型的表,因此没有"更高"的对象),也许Lupa已经做了比我需要的更多的工作。

不幸的是,我没有编写包装器或语言绑定的经验,而且我真的不知道如何开始。如果有人可以提供有关此主题的阅读资料或针对当前情况的建议,我会很高兴的。

点赞