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不让你这样做,我会非常惊讶.
And*_*een 21
有可能翻译使用JavaScript的到Lua一个子集Castl,然后使用Lua代码翻译成C lua2c.
或者,也许可以将JavaScript编译为Python,然后使用RPython编译器将Python源代码转换为C. 由于RPython是Python的一个子集,因此应该允许将JavaScript的子集转换为C.
还有一个名为ts2c的编译器,它显然能够将JavaScript和TypeScript源代码转换为C.
为什么转换时可以简单地嵌入?
https://code.google.com/p/v8/"V8 可以独立运行,也可以嵌入到任何C++应用程序中."
嵌入到C++应用程序中允许JavaScript访问C++应用程序可以访问的任何系统,从而无需首先进行转换.出于安全原因,我会限制访问权限.Web浏览器显然是嵌入在C++应用程序中的最突出的JavaScript形式.正如名称所暗示的那样,JavaScript是一种脚本语言,不像C代码那样被编译成汇编/机器代码.
尽管该项目仍在进行中,但该项目看起来很有希望。
https://github.com/andrei-markeev/ts2c
您可以在此处在线将JavaScript转换为C:
https://andrei-markeev.github.io/ts2c/