是否可以通过限制 Google V8 中的 Javascript 支持来创建更简单的语言?我想将 V8 引擎嵌入到我自己的工具中以运行动态脚本,并且喜欢 V8 预编译源以提高速度的想法。但是,我需要严格限制语言中的可能性。
这意味着没有数据容器(例如数组)的动态分配,没有导入的库,没有递归,没有线程。它在哲学上更类似于 Renderman 着色语言,而不是通用语言。因此,“新”语言要简单得多,由于熟悉的语法以及已经有一个很好的“编译器”(V8),我只考虑 JS。我可能还希望它在 Chrome 的本机代码 (NaCl) 环境中运行脚本代码,Google 似乎正在努力在 V8 中支持该环境。
重新定义 JS 的“语法”或其他定义语言的代码有多容易?
我的另一个选择是从头开始创建一种新的编译语言(也许使用 LLVM 的东西)。