有没有用 javascript 或 java 写的 C 解释器?
我不需要完整的解释器,但我需要能够逐步执行程序并能够在 Web 界面中查看变量的值、堆栈......所有这些。
这个想法是通过向他们展示程序的逐步执行来帮助 C 初学者。 我们正在使用 GWT 构建界面,因此如果 Java 中存在某些内容,我们应该能够使用它。
我可以修改它以满足我的需要,但如果我可以避免编写解析器/抽象语法树遍历器/堆栈操作......那就太好了。
编辑:
明确地说,我不想模拟完整的 C,因为有些程序可能非常棘手。
我所说的步骤是指基本操作,例如:表达式求值、矫揉造作、函数调用。
我要模拟的 C 将包含:变量、for、while、函数、数组、指针、数学函数。 没有 goto、字符串函数、ctypes.h、setjmp.h...(至少现在是这样)。
这是一个原型(prototype):http://www.di.ens.fr/~fevrier/war/simu.html
在这个例子中,我们手动将 C 代码转换为 javascript 表示,但它是有限的(表达式如 a == 2 || a = 1
不被处理)并且仅限于手动程序转换。
我们在远程服务器上有一个 C 编译器,因此我们可以检查代码是否正确(并且没有任何未定义的行为)。解析/AST 构造也可以远程完成(因此任何语言),但 AST 遍历需要在 javascript 中才能在客户端运行。
最佳答案
关于javascript - 用 javascript 编写的 C 解释器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6142193/