我知道Jython和JRuby被移植到JVM,而scala / Clojure是JVM的原生,那么Groovy呢? Groovy看起来像一个动态语言,我想它已被移植,但它似乎也可以编译。 对于那些原生于JVM的语言,如Scala,是否有一些工具可以将代码反编译为源代码?
答案 0 :(得分:2)
“移植”通常意味着“重新定位以继续运行”。 Groovy旨在将Python和Smalltalk等语言的动态特性引入Java。它被设计为Java的扩展,在这个意义上它是JVM和Java语言的原生。 (Groovy语言,对象模型和运行时库是Java的扩展。)
但听起来你在询问是否解释或编译了Groovy。您可以使用groovyc将Groovy源代码编译为Java .class文件,并在JVM中运行它们(在一些Groovy运行时库中链接)。 或您可以在GroovyShell中以交互方式运行Groovy源代码,但它的作用是逐步编译,加载和运行代码。
[groovy decompiler]的网络搜索会为您返回一些可能性。
答案 1 :(得分:0)
我不确定它是否回答了你的整个问题,但绝大多数Groovy和Groovy-Eclipse编译器都是用java编写的,就像在两个项目的GitHub存储库中看到的一样。