我希望能够自动将Clojure源代码文件(.clj)转换为等效的Java源代码文件(.java)。 我想知道最好的方法是什么,或者是否有可能实现。 转换后的Java源代码需要足够可接受。
我希望能够自动将Clojure源代码文件(.clj)转换为等效的Java源代码文件(.java)。 我想知道最好的方法是什么,或者是否有可能实现。 转换后的Java源代码需要足够可接受。
正如其他人所指出的,您最好使用字节码反编译器。不过,您仍需要Clojure类。但是,更重要的是,如果您的目标是生成需要Java程序员处理的Java代码,那么您很可能不会成功。
Clojure不只是“带有不同语法的Java”。它的语言结构与Java非常不同,因此许多以Clojure为惯用语的东西在Java中看起来很陌生。
即使您的Java代码看起来或多或少可读,您的Java开发人员也会变得非常沮丧。他们本质上仍需要编写Lisp,但使用Java语法和非常奇怪的结构:这将是一团糟。
如果您想在Java开发人员团队中使用Clojure,我建议将Clojure代码开发和打包为具有良好定义的Java API的Jar文件。Java开发人员会很高兴,因为它只是另一个Java库,而您会很高兴,因为您将编写适当的Clojure代码。
我不太熟悉Clojure,但需要注意的是,通常可以读取Lisp程序并将其视为数据结构,这比处理已编译的Clojure代码更好,因为后者强烈依赖于Clojure运行时。
如果这是针对您自己的程序,那么您可能只需要使用非常小的Clojure子集,并且可以使用一个小型程序生成器来处理它。