解释为Javascript的语言?

时间:2010-12-11 00:54:47

标签: javascript programming-languages client interpreter

Another post质疑将语言编译成Javascript的实用性。除了实用性之外,解释器从一些语言 X 转换为Javascript并在Javascript中实现?我特别感兴趣的是 X 的设计目的不是针对Javascript。即使翻译没有完全完成,我也想听听。

你可能对这个问题的动机感到好奇。 Javascript当然不能像汇编程序那样充分利用它,但代码分发和执行的灵活性有时可能会超过这个成本。

这些解释器的一个用例是教学和学习编程语言的模型。考虑在交互式书籍Eloquent Javascript中使用Javascript解释器是多么有用。当然,在本地编译它可能会有性能损失,但在某些情况下,成本肯定是值得的。是的,我意识到依靠服务器编译或解释代码总是一种选择,但我对客户端方法特别感兴趣。


UPDATE :很多响应包括对未在Javascript中实现的编译器的引用。我只想强调解释器本身应该用Javascript实现,这样它和源语言代码都可以在祖父母的计算机上的浏览器上运行。

7 个答案:

答案 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)

  • Objective-J是一种基本上采用Objective-C的“目标”部分并将其粘贴到ECMAScript上的语言
  • Clamato是一种受Smalltalk启发的客户端Web脚本语言

另请参阅此问题: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解释器。