将javascript代码转换为c代码

Was*_*RAR 47 javascript c compiler-construction

有没有办法将C代码转换为JavaScript,从JavaScript转换为C?我发现V8 juice哪些可以JavaScript-side从C++ 生成类,但它只有一种方式(C++到JavaScript).

我不是在找软件.

Dav*_*ven 42

非常非常棘手--- Javascript是一种非常动态的语言,其中几乎所有东西都可以在运行时更改:变量,函数,类型等的名称.因此它非常严重地映射到C上.这甚至没有考虑eval(),哪个将让你在字符串中构造任意的Javascript块并运行它们.

任何Javascript翻译器都必须能够处理这些事情,这意味着它必须在运行时将Javascript转换为C语言 - 这使得它成为您已经使用的JIT.

您可能希望看一下为Javascript编写C绑定.这些将允许您的Javascript代码调用C代码,反之亦然.这将允许人们在C中编写插件,将它们编译成.so共享库,您现在可以从Javascript代码加载和运行它们.这意味着您不需要翻译任何内容.

Javascript不是我的区域,所以我不能推荐任何特定的机制,我很害怕---但是如果你已经找到的V8Juice不让你这样做,我会非常惊讶.

  • 尽管如此,计算机程序是确定性的,因此理论上可以将所有内容编译回C,因为解释JavaScript时使用的所有机制都已存在于C中.有人必须花时间制作这个工具.谁是志愿者?X} (5认同)

And*_*een 21

有可能翻译使用JavaScript的到Lua一个子集Castl,然后使用Lua代码翻译成C lua2c.

或者,也许可以将JavaScript编译为Python,然后使用RPython编译器将Python源代码转换为C. 由于RPython是Python的一个子集,因此应该允许将JavaScript的子集转换为C.

还有一个名为ts2c的编译器,它显然能够将JavaScript和TypeScript源代码转换为C.

  • 但我们想要全集!这很有意思. (2认同)

use*_*682 6

为什么转换时可以简单地嵌入?

https://code.google.com/p/v8/"V8 可以独立运行,也可以嵌入到任何C++应用程序中."

嵌入到C++应用程序中允许JavaScript访问C++应用程序可以访问的任何系统,从而无需首先进行转换.出于安全原因,我会限制访问权限.Web浏览器显然是嵌入在C++应用程序中的最突出的JavaScript形式.正如名称所暗示的那样,JavaScript是一种脚本语言,不像C代码那样被编译成汇编/机器代码.

  • 在微控制器上怎么样?我的目标是自动将一些数学算法从js转换为c ++,所以我不需要手动移植 (7认同)
  • 为什么不使用三星的 JerryScript 呢?http://jerryscript.net/ (2认同)

arp*_*rpo 5

尽管该项目仍在进行中,但该项目看起来很有希望。

https://github.com/andrei-markeev/ts2c

您可以在此处在线将JavaScript转换为C:

https://andrei-markeev.github.io/ts2c/


cei*_*cat 5

Fabrice Bellard的QuickJS JavaScript 解释器还包括一个JS 到 C 的编译器