gpt4 book ai didi

javascript - 用 javascript 编写的 C 解释器

转载 作者:IT王子 更新时间:2023-10-29 03:20:51 27 4
gpt4 key购买 nike

有没有用 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 中才能在客户端运行。

最佳答案

有一个 C grammar 可用于 antlr您可以使用它来生成 Java 中的 C 解析器,也可能是 JavaScript。

关于javascript - 用 javascript 编写的 C 解释器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6142193/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com