出于教学目的,我们正在为 C 代码(的子集)构建一个 javascript 逐步解释器。
基本上我们有:int,float...,数组,函数,for,while...没有指针。javascript 解释器完成并允许我们解释如何评估布尔表达式,将显示变量堆栈...
目前,我们正在手动将我们的 C 示例转换为一些 javascript,这些 javascript 将运行并构建一组操作(情感、函数调用......),这些操作可以在以后用于逐步执行操作。由于我们将自己限制为 C 的一个子集,因此很容易做到。
现在我们想将 C 代码编译为我们的 javascript 表示。我们所需要的只是 C 代码的抽象语法树,并且 javascript 生成很简单。
你知道一个好的 C 解析器可以生成这样的树吗?无需使用 javascript(但这将是完美的),任何语言都可以,因为这可以离线完成。
我看过 Emscripten ( https://github.com/kripken/emscripten ) 但它更像是一个 C=>javascript 编译器,这不是我们想要的。