2011-05-19 45 views
0

对于一个研究项目,我正在寻找一种编程语言的解释器甚至语法分析器(无所谓编程语言),它已被移植到多种语言中。这可能意味着代码足够小。是否有已经移植到多种语言的脚本语言或解析器?

我知道Lisp-ish语言已被移植到很多环境中,因为Lisp很容易解析,但是我还没有发现一个多目标的实现。例如;很难找到一个能在PHP中工作的版本,其中相同的代码(在顶部运行的Lisp被解析)也可以在Python中工作。

希望这里有人能帮助...

我想用它做什么?对于我正在制作的工具,用户组将编写一小段逻辑;然而,下面的系统不同,而逻辑相同。我们不想强迫我们的用户学习Java,PHP,C#等来编写该逻辑。

+0

你假设移植的版本都运行相同。他们不会;它们会因为有针对性的编程语言不同而有所不同,因此需要有关放置零件位置的不同规则。 (即使Java不是每次运行都要写入)。你将不得不学习他们是如何不同。你究竟想要保存什么?试图做什么? – 2011-05-19 05:31:46

+0

嗯,我正在寻找一种具有控制结构等的语言,因此您可以在其中编写简单的程序,并且可以使用您自己的API调用来扩展它。所以我们可以说我有一个API: void helloWorld(){printf(“Hello World \ n”); } 我想要一种语言,我可以使用此函数(通过明确地告诉解释器)我可以这样做: for(i = 0; i <10; i ++)helloWorld(); 我不知道这将如何不同,从平台到平台;如果这种语言解释器可以在Java,C#,C和Ruby上运行,那么脚本代码在所有这些脚本代码上看起来都是一样的,并且像我一样执行相同的IF操作? – CharlesS 2011-05-19 12:32:12

回答

2

Lua(www.lua.org)脚本语言可以在C中运行,并且可以绑定到Python,php,Java,C#,也可能是其他一些语言。这是一个非常小的解释器(编译时为200k左右),因为它“没有电池” - 对于像复制阵列这样的常见操作没有内置函数。如果需要的话,与其他脚本语言相比,添加对其他语言的嵌入支持应该是非常简单的。