我有一个C++桌面应用程序(用wxWidgets编写),我想添加对某些脚本语言的支持.
脚本主要用于通过用户提供的JavaScript代码对字符串,数字和日期进行运行时转换.
我想使用JavaScript,因为它被广泛使用,每个人都熟悉语法.
谷歌搜索,似乎我有两个选择:
有人试过吗?哪一个更容易设置?您是否了解其他一些更符合我需求的实施方案?
顺便说一下,我的目标是Windows和Linux平台.
我们希望为人们提供能够为他们的帐户添加一些逻辑(比如,给出一些参数,如何计算特定结果).所以,基本上,这就等于编写简单的业务规则,并支持条件和表达式.然而,挑战在于为他们提供一个简单的在线编辑器,他们可以通过完全可视的方式创建逻辑(最好)(拖放Expr树节点可能 - 有点像Y!管道).
有没有人知道脚本/宏/特定于域的语言让人们这样做?挑战是可视化编辑器,因为我们不希望投资开发用于编辑的UI.基本要求是:
1.嵌入到另一种语言,或安全运行(否reboot -n或<JUNK-DANGEROUS-COMMAND> >> ~/.bashrc)
2.无需编码背景的用户可轻松访问(无需任何高级功能)
3.最好有一个简单的基于GUI的编辑器来创建逻辑非开发人员可以访问的程序(有点像电子表格)
4.生成编译时警告(无效代码)的一些能力是好的(类型安全吗?)
5.能够在执行之前嵌入一些可用于解释器的数据(例如,name,birthday,amount)
有人试过做这样的事情并得到任何想法吗?我看了Lua,Io,Python,Ruby和其他许多人,但挑战本质上是我不认为非程序员能够理解这些代码.如果可以轻松开发编辑器,那么可以通过"元编程"添加的东西也可以说Ruby也很好!
我想将一个javascript引擎嵌入到ANSI C应用程序中.
实际上,我希望能够在运行时运行一些代码,同时能够与一些C变量和函数进行交互.
那么,V8是唯一的选择吗?我应该从哪里开始?
我需要从Java中的MusicXML(xml)文件中检索一些细节.我设法在java中读取xml文件 - 但通过Web服务(我必须在线,在运行我的代码时连接到Internet).我遇到了XQuery,您可以轻松地从XML文件中提取信息.但我需要在java中嵌入XQuery(即在java代码中使用xquery),精确而不使用Web服务.有没有可能的方法,我如何在java代码中嵌入XQuery(从XML文件中读取信息)?
非常感谢任何见解,建议和想法.提前谢谢了
我正在寻找一种适用于32位和64位机器以及Windows和Linux的脚本语言.我将它嵌入到C++应用程序中,因此我更喜欢用C++而不是C语言编写本机.我也希望脚本具有线程/异步支持.
到目前为止,我所看到的语言是GameMonkey,Lua和V8 JavaScript Engine.到目前为止,V8 JavaScript最具吸引力.我真的不想使用GameMonkey,因为AFAIK它不支持64位寻址.Lua是用C语言编写的,所以我可能会使用C++包装器,但我真的不喜欢混合使用C和C++代码.
那么我可以看一些其他替代方案吗?
我希望启用用户定义的Clojure脚本来与我的Java App进行交互.问题是,我事先并不知道Clojure脚本的位置,所以在运行应用程序时我不能将它们包含在我的类路径中.
如何从类路径外部动态加载Clojure脚本?
我试过这个简单的例子:
RT.loadResourceScript("test.clj");
Var foo = RT.var("user", "foo");
Object result = foo.invoke("Hi", "there");
System.out.println(result);
Run Code Online (Sandbox Code Playgroud)
使用看起来像的test.clj:
(ns user)
(defn foo [a b]
(str a " " b))
Run Code Online (Sandbox Code Playgroud)
但没有运气.
我认为它与RT.makeClassLoader()或RT.baseLoader()使用返回的加载器加载clojure文件有关,但我似乎无法使其工作.(我一直在接受ClassNotFound)我可能会为javadoc而糊里糊涂clojure.lang.RT,但我根本找不到它们.
有一些可用,我想支持许多平台,所以我想V8不是那么好,除非有人为它编写了一个解释器补丁.
将C#用作.NET 3.5应用程序的嵌入式内部脚本应用程序的最佳实践是什么?我有一个带有几个小IronRuby脚本的应用程序.其中没有一个真正利用IronRuby的动态特性.
显然它违反了我们的企业标准,现在正在使用IronRuby或IronPython.Ooopps.我可以使用C#作为脚本语言的最佳方式是什么?
我喜欢IronRuby的一件事是我可以在应用程序运行时进行小的更改,然后重新运行脚本.有什么办法在C#中做到这一点?或者必须不断重启应用程序?
Java 15为我们带来了新的JEP 378:文本块功能。这简化了多行字符串的处理。
可以让IntelliJ将该块中的文本解析为某种语法吗?我有办法告诉 IntelliJ 文本块是SQL源代码还是XML数据吗?
如果是这样,IntelliJ 是否可以使用其代码编辑超能力来帮助通过该文本块对嵌套在 Java 中的代码进行着色、编辑和格式化?
java formatting intellij-idea embedded-language java-text-blocks
java ×4
c++ ×2
javascript ×2
scripting ×2
.net ×1
c ×1
c# ×1
c99 ×1
classpath ×1
clojure ×1
embedded-v8 ×1
formatting ×1
ironruby ×1
jpl ×1
macros ×1
prolog ×1
spidermonkey ×1
swi-prolog ×1
v8 ×1
xquery ×1