Another post质疑将语言编译成Javascript的实用性。除了实用性之外,解释器从一些语言 X 转换为Javascript并在Javascript中实现?我特别感兴趣的是 X 的设计目的不是针对Javascript。即使翻译没有完全完成,我也想听听。
你可能对这个问题的动机感到好奇。 Javascript当然不能像汇编程序那样充分利用它,但代码分发和执行的灵活性有时可能会超过这个成本。
这些解释器的一个用例是教学和学习编程语言的模型。考虑在交互式书籍Eloquent Javascript中使用Javascript解释器是多么有用。当然,在本地编译它可能会有性能损失,但在某些情况下,成本肯定是值得的。是的,我意识到依靠服务器编译或解释代码总是一种选择,但我对客户端方法特别感兴趣。
UPDATE :很多响应包括对未在Javascript中实现的编译器的引用。我只想强调解释器本身应该用Javascript实现,这样它和源语言代码都可以在祖父母的计算机上的浏览器上运行。
答案 0 :(得分:6)
CoffeeScript是一种编译成JavaScript的编程语言。
答案 1 :(得分:4)
社区维基,让我们把它混为一谈: - )
jsc - 从CIL重新编译(从VB.NET编译的CIL,C#等)
Script# - 从C#编译(源代码)。
GWT: Google Web Toolkit - 从Java编译。
Emscripten - 从LLVM编译。应该能够工作(语言X) - > LLVM-> JavaScript,减去问题,其中Language X有一个LLVM编译器。
答案 2 :(得分:4)
另请参阅此问题:Are there other languages than Objective-J that get “compiled” to JavaScript in the browser?
答案 3 :(得分:2)
纯粹javascript中的一些或多或少的玩具解释器
当然是强制性的
答案 4 :(得分:1)
j2js将Java字节码编译为Javascript(例如,Java,Scala等)。
答案 5 :(得分:1)
答案 6 :(得分:0)
Pyjamas可以将Python编译为JavaScript。这是一个服务器类型的翻译; Pajamas尚未用于编译自身,因此没有JavaScript Python解释器。