问题标签 [embedded-language]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1730 浏览

apache - 如何从 Web 服务器(如 Apache)中调用 R?

也就是说,是否有嵌入式 R 解释器可用?

0 投票
2 回答
296 浏览

c# - 是否有任何嵌入式语言可以嵌入到 C# 和 actionscript 中?

我正在寻找一种嵌入式语言,可用于在用 C# 编写的服务器应用程序和用 Flash/Actionscript 编写的客户端应用程序之间编写公共代码脚本。嵌入式语言解释器在其嵌入的环境中本地运行是很重要的。例如,它不能加载任何外部C 库(即python、neko)。

这两种语言是否存在这样的事情?也许有一些可以轻松移植到两者的最小解释器?

谢谢!

0 投票
3 回答
6241 浏览

python - 停止嵌入式 Python

我将 Python 解释器嵌入到 C 程序中。但是,在运行某些 python 脚本时,可能PyRun_SimpleString()会遇到无限循环或执行时间过长的情况。考虑PyRun_SimpleString("while 1: pass");在防止主程序阻塞时,我认为我可以在线程中运行解释器。

如何停止在线程中运行的嵌入式解释器中执行 python 脚本而不杀死整个进程?

是否可以将异常传递给解释器?我应该将脚本包装在其他会监听信号的脚本下吗?

PS:我可以在一个单独的进程中运行 python 但这不是我想要的——除非它是最后的手段......


更新:

所以,它现在有效。再次感谢 Denis Otkidach!

如果我没看错,您必须做两件事:告诉解释器停止并return -1在 PyRun_SimpleString() 运行的同一线程中。

要停止,有几种可能性:PyErr_SetString(PyExc_KeyboardInterrupt, "...")或者PyErr_SetInterrupt()- 第一个可能让 Python 运行更多指令然后它停止,后一个立即停止执行。

return -1用于将Py_AddPendingCall()函数调用注入 Python 执行。文档从 2.7 和 3.1 版本开始提到它,但它也可以在早期的 Python 上运行(此处为 2.6)。从 2.7 和 3.1 开始,它也应该是线程安全的,这意味着您可以在不获取 GIL (?) 的情况下调用它。

所以可以重写下面的例子:

0 投票
4 回答
4078 浏览

.net - 嵌入式 Lua“打印”无法​​在 Visual Studio 的调试模式下工作

我正在使用 Luainterface 2.0.3 将 Lua 嵌入到 ac# 应用程序中。

一切正常,除了在 Visual Studio 的调试模式下,Lua 的打印功能不会写入控制台(也不会写入输出)。

在非调试模式下运行它,打印工作正常。

我错过了什么吗?

谢谢!

0 投票
2 回答
885 浏览

c# - 在 C# 和 DateTime 中嵌入 IronRuby

当我嵌入 IronRuby 时,获取对 Ruby 的 DateTime/Date 类或 .NET 的 System.DateTime 的引用的正确方法是什么。我尝试时遇到错误

需要“日期”

我收到错误 - 没有要加载的文件 - 日期

当我尝试 require 'mscorlib.dll' 时出现错误 - 没有要加载的文件 - mscorlib.dll

做这两种方法的正确方法是什么?

更新:查看对 Jon Skeet 的评论

0 投票
2 回答
1411 浏览

javascript - 哪个 javascript 解释器最容易嵌入到 C 应用程序中?

有一些可用的,我想支持许多平台,所以我猜 V8 不是那么好,除非有人为它编写了解释器补丁。

0 投票
8 回答
2336 浏览

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

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

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

可能,我所知道的基于事件的最相似的语言是LSL(来自 Second Life)

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

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

嵌入式语言不需要使用 Qt。它可以是孤立的,但也可以进行一些集成。

0 投票
6 回答
815 浏览

java - 对于现有的 Java 应用程序来说,什么是好的可嵌入语言?

我想在我的应用程序中嵌入 dsl 或现有的完整语言。它应该是一种简单、完整的图灵完备语言,但足够简单和轻便,可以在没有太多开销的情况下解释代码。

其他“过程”也不能影响任何其他过程。

我正在考虑使用 Clojure 并在 Clojure 代码上调用 Clojure 解释器/运行时编译器,但 Clojure 运行时所需的时间比我需要的要长得多。此外,我对在这个项目中使用 Clojure 语言并不过分兴奋。我在想更多的程序化和类似 C 的东西。

我考虑了 Ola Bini 的 Ioke 语言。http://ioke.org/index.html

另外,我考虑过在 Scala 中编写 DSL 吗?或者使用现有的 DSL。

更新:看起来 Rhino 是一个很好的示例嵌入式语言。

http://www.mozilla.org/rhino/tutorial.html

0 投票
13 回答
10667 浏览

java - Java的嵌入式Prolog解释器/编译器

我正在开发一个 Java 应用程序,它需要做一些复杂的逻辑规则推导作为其功能的一部分。我想用 Prolog 或其他一些逻辑/约束编程语言而不是 Java 来编写我的逻辑推导,因为我相信生成的代码会更简单且更易于维护。

我在 Prolog 上搜索了嵌入式 Java 实现,并找到了它们的数量,每个都只有很少的文档。我的(适度的)选择标准是:

  • 应该可以嵌入到 Java 中(例如可以与我的 java 包捆绑在一起,而不需要在外部程序上进行任何本机安装)
  • 从 Java 中使用的简单接口(用于启动扣除、检查结果和添加规则)
  • 至少提供一些关于如何使用它的示例
  • 不一定必须是 Prolog,但具有上述标准的其他逻辑/约束编程语言也可以满足我的需求。

我有哪些选择,它们的优点和缺点是什么?

0 投票
2 回答
147 浏览

sql - 使用和不使用游标的 ProC 中的 SQL 查询比较

在查询性能方面,哪个更有效?
考虑到 T 是一张表,而 PK 是表 T 中的主键。它们是不同的还是只是选择的问题?

...或者:

  1. EXEC SQL DECLARE aCursor CURSOR FOR select col1, col2 into :var1, :var2 from T where PK = a;
  2. 执行 SQL 打开光标
  3. EXEC SQL FETCH aCursor

我认为如果可以直接检索单行,那么声明游标以基于主键从表中获取单行意义不大?