有没有人知道在Erlang中执行脚本语言解释器(适合游戏的东西)?像Javascript或Lua就好。Erlang脚本语言解释器
回答
你可以尝试C/C++ port driver运行lua(或其他)语言解释器,erlua更可能是你需要的(它通过端口驱动程序工作,我猜)。
我第二个Vijay的建议是使用Erlang本身。不过,我还要指出Reia的存在,这似乎正是你所要求的。
编辑:对,所以有erlyjs,一个JavaScript编译器针对Erlang虚拟机。我不知道这个项目在哪个阶段的发展,它的进展如何,等等,但你可以检查一下。不知道是否需要提前编译JS代码,你需要亲自看看...
Here你会发现代码库的几个github分支之一。所有在Erlang,据我所见。
再次,这不是一个成熟的产品。但随后,随着CouchDB的兴起,类似这样的事情在某些重要方面实际上可能会有用......所以它可能有望在某种程度上早日实现成熟。
也许我没有足够清楚,但我不打算在另一种语言中编写Erlang程序(如在编译为Erlang字节码的程序中)。我在找的是一个在Erlang中编写的解释器。 – Paul 2009-12-21 06:54:15
那么,从Reia的主页上看:“Reia(发音为RAY-uh)是一种类似Ruby/Python的脚本语言”。它将程序编译为字节码,但Python也是如此 - 在这两种情况下,它都会在需要时动态发生。语法与Erlang IMO完全不同。我想这不像JS/Lua,但至少值得一看。无论如何,我不确定是否无法在基于Erlang的引擎上运行JavaScript;将查找和更新,如果我找到了一些东西。 – 2009-12-21 07:02:53
是的,erlyjs看起来像一个很棒的项目,不幸的是github版本看起来相当不成熟,并且所有这些都可用。原来的谷歌代码回购神秘消失:http://code.google.com/p/erlyjs/ 我也研究了CouchDB如何处理JavaScript,并且我看到它产生了SpiderMonkey进程。也许我可以找到一种方法来将V8嵌入Erlang Cnode中... Bummer。不过感谢您的帮助! – Paul 2009-12-21 07:22:27
这个问题出现在谷歌搜索 - 但评论不回答原来的要求。原始海报正在寻找的答案是github上的luerl - https://github.com/rvirding/luerl
Luerl是lua 5.3 vm在Erlang中实现的,由Robert Virding - 最初的Erlang开发人员之一开发。
- 1. 脚本语言解释器源代码
- 2. 是否解释所有脚本语言?
- 3. 解释语言是否适合解释器的实现语言?
- 4. 脚本语言解释器如何引用其基础功能?
- 5. 为什么解释/脚本语言很少有多行注释?
- 6. 理解脚本语言
- 7. C#解释语言
- 8. 解释Django语言
- 9. 脚本语言和解释语言是否可以强制垃圾收集?
- 10. Ruby是一种脚本语言还是一种解释型语言?
- 11. 在disqus改变语言注释脚本
- 12. 解释型语言 - 利用解释器之后的编译语言
- 13. 你能用PHP脚本或解释型语言“建立”吗?
- 14. Windows Phone 7脚本/解释可用语言?
- 15. 在自己的解释脚本语言中使用Apache Velocity
- 16. 脚本语言
- 17. Java中的连接语言解释器
- 18. jsr223 +写脚本解释器
- 19. 编译解释语言
- 20. 是R语言解释?
- 21. 解释人类语言
- 22. 写编程语言解释
- 23. Ruby:寻找可嵌入红宝石的解释器或脚本语言
- 24. 在脚本语言中解析C#
- 25. Bash脚本,请解释此语法
- 26. 解析JSON使用Erlang语言(Erlang-rfc4627 LIB)
- 27. 的脚本语言
- 28. .net脚本语言
- 29. C#脚本语言
- 30. 脚本语言shell?
为什么要用Erlang编写Javascript或Lua解释器?你认为你会从这样的事情中得到什么样的好处? – 2009-12-21 20:32:47
我正在Erlang编写游戏服务器,我希望玩家能够编写服务器上运行的游戏脚本。 – Paul 2009-12-22 16:58:01
在某些情况下,不要将Erlang用作暴露的脚本语言是非常重要的原因。如果你打算让玩家创建脚本,那么你需要一种方法来隔离他们可以做什么。你可能会这样做的一个例子就是泥巴。 将一些类型的解释器放入erlang中将是一种允许玩家创建内容的好方法,但仍然能够限制脚本可以采取的操作。 – 2010-08-27 20:24:29