用javascript编写的C解释器

Loï*_*ier 30 javascript c gwt interpreter

有没有用javascript或java编写的C语言解释器?

我不需要一个完整的解释器,但我需要能够一步一步地执行程序,并能够看到变量的值,堆栈......所有这些都在Web界面中.

这个想法是通过向他们展示程序的逐步执行来帮助C初学者.我们正在使用GWT来构建接口,因此如果Java中存在某些内容,我们应该能够使用它.

我可以修改它以满足我的需要,但如果我可以避免编写解析器/抽象语法树walker/stack操作...这将是伟大的.


编辑:

要清楚,我不想模拟完整的C,因为有些程序可能非常棘手.

我指的是一个基本的操作,例如:表达式评估,矫揉造作,函数调用.

CI想要模拟将包含:变量,for,while,函数,数组,指针,数学函数.没有goto,字符串函数,ctypes.h,setjmp.h ...(至少目前为止).

这是一个原型:http://www.di.ens.fr/~fevrier/war/simu.html

在这个例子中,我们已经手动将C代码转换为javascript表示,但它是有限的(诸如a == 2 || a = 1未处理的表达式)并且仅限于手动转换的程序.

我们在远程服务器上处理了一个C编译器,因此我们可以检查代码是否正确(并且没有任何未定义的行为).解析/ AST构造也可以远程完成(所以任何语言),但AST步行需要在javascript中才能在客户端运行.

ata*_*lor 5

有一个可用于antlrC语法,你可以用它来生成Java中的C语法分析器,也可能是JavaScript.