2011-03-06 137 views
6

据推测,Javascript被编译为某种字节码以在V8引擎上运行? Python是一种相似的语言,我们可以将Python编译为相同的字节码并在V8上运行?是否可以编译Python以在V8引擎上运行?

任何试图做到这一点的项目?

+2

这是一个关于优化蟒蛇的问题,或者这是一个关于编译Python来可以通过JavaScript解释当前的浏览器直接执行的某种形式的问题吗? – Arafangion 2011-03-07 01:20:07

回答

3

V8实际上并没有通用字节码。有一个正则表达式字节码,但通常不会编译支持。有一个反序列化字节码和一个重定位信息字节码,但都是实现细节,不能用于任何事情。

所以,你在找什么东西编译为JS代码。

-4

的Python已经编译成字节码并执行。这就是CPython中的.pyc文件。 Jython同样编译为Java字节码(动态地),IronPython for .NET也是这样。

+2

这与V8 Javascript引擎无关。 – 2011-03-07 00:32:45

+0

这个问题是关于针对V8的,具体而言,不是关于一般的Python字节码。 – payne 2011-03-07 00:39:03

+0

我解释了这个问题,它是关于将python编译为字节码的,其中以V8为例。 – Arafangion 2011-03-07 01:13:43

5

据我所知,没有专门针对V8虚拟机的项目。然而,Pypy和以前的Unladen Swallow(现在合并到主CPython树的py3k-jit分支中)都试图将Python及时编译到本机代码中,类似于V8在Javascript中的操作。

由于@something说,pyjamas允许编写Python代码,并把它翻译成JavaScript,就像GWT对Java。因此,任何翻译的代码都可以在V8下运行,与任何其他Javascript代码一样。

3

已经有三个向Javascript编译器提供Python的项目。然后生成的Javascript可以运行在包括V8在内的任何引擎上。寻找睡衣,Skulpt和Py2JS。

这是不一样的编译Python来V8字节码,但最终的结果是一样的。

0

看一看http://repl.it/ - 这是编译为JavaScript一个非常完整的Python解释器的一个例子。这得益于Emscripten--一个LLVM字节码到Javascript的编译器。

相关问题