自动将 Clojure 源代码转换为 Java 源代码的最佳方法

2022-09-02 11:59:56

我想采用工作的Clojure源代码文件(.clj)并自动将它们转换为等效的java源代码文件(.java)。我想知道最好的方法是什么,或者它是否可能。转换后的java源代码需要足够可接受。


答案 1

正如其他人所指出的那样,你最好的选择是使用字节码反编译器。不过,您仍然需要 clojure 类。但是,更重要的是,如果您的目标是生成需要由Java程序员处理的Java代码,那么您不太可能成功。

Clojure不仅仅是“具有不同语法的java”。它的语言结构与java非常不同,以至于许多习语Clojure的东西在Java中看起来非常陌生。

即使你的Java代码看起来或多或少可读,你的Java开发人员也会感到非常沮丧。他们本质上仍然需要编写Lisp,但使用Java语法和非常奇怪的结构:这将是一团糟。

如果你想在Java开发团队中使用Clojure,我会尝试开发你的Clojure代码并将其打包为一个具有明确定义的java API的jar。Java开发人员会很高兴,因为它只是另一个java库,你会很高兴,因为你会写出正确的Clojure代码。


答案 2

我会尝试从.clj生成.class文件,然后用反编译器(例如JAD)将其反编译为.java。


推荐