Groovy是JVM原生支持的还是需要移植到JVM上的?

4
我知道Jython和JRuby已经被移植到了JVM上,而Scala/Clojure则是JVM原生的语言,那么Groovy呢?Groovy看起来像是一种动态语言,我猜测它也是被移植的,但它似乎也可以编译。 对于那些像Scala这样的JVM本地语言,是否有某些工具可以将代码反编译为源代码?

7
Groovy一直旨在在JVM上执行。 - JB Nizet
1
你可以使用普通的Java反汇编器来获取Java代码。但这并不能逆转动态Groovy生成的“逻辑”。静态编译的Groovy代码会给你接近的结果。 - cfrick
2个回答

3
"Ported"通常意味着“重新定位以运行”。Groovy旨在将类似Python和Smalltalk的动态功能带入Java。它被设计为Java的扩展,在这个意义上,它是JVM和Java语言的本地语言。(Groovy语言、对象模型和运行时库是Java的扩展。)
但是您似乎正在询问Groovy是解释还是编译。您可以使用groovyc将Groovy源代码编译为Java .class文件并在JVM中运行它们(链接一些Groovy运行时库)。或者您可以在GroovyShell中交互式运行Groovy源代码,但这将为您逐步编译、加载和运行代码。
搜索 [groovy decompiler] 可以为您提供一些可能性。

0

我不确定它是否完全回答了你的问题,但是可以看到Groovy和Groovy-Eclipse编译器的绝大部分都是用Java编写的,这在两个项目的GitHub存储库中都有体现。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接