Delphi代码转换为Java

6

是否存在用于Delphi的解析器,可以自动将Delphi代码转换为Java代码?


1
我非常怀疑这个。也许是一个编译器,可以将Delphi代码编译成JVM代码,并实现一个包装Java标准库的库。 - Joey
1
看看Remobjects Oxygene http://en.wikipedia.org/wiki/Oxygene_%28programming_language%29,最新版本可以将Pascal代码编译为Java字节码。 - Andrej Kirejeŭ
是的,但 Oxygene 并不完全等同于 Delphi,也没有 Delphi RTL、VCL 或 FireMonkey,也没有使用 Delphi 库等等。任何超出最简单的内容都不容易翻译。用 Oxygene 重写所有的 Delphi 代码,以使其能够编译为 Java 字节码,可能需要与直接重写成 Java 一样多的工作量。 - Rudy Velthuis
4个回答

7
我不知道有这样的转换器,但请记住,这种转换只能帮你一部分。例如,Visual Studio附带了一个Java到C#转换器,它做得很好,但对于除最简单的示例之外的任何内容,你仍然需要自己进行大量的清理/重构。此外,原始语言中的糟糕代码通常会被转换为在新语言中同样糟糕或更糟糕的代码。因此,代码将难以维护。
重点是没有免费的午餐。即使使用转换器,你很可能仍需自行移植大量代码。如果这是不可行的(由于时间、金钱等原因),你可能需要重新考虑该项目。
很抱歉我不能指向有用的工具(希望其他人可以),但我已经看到过这些项目几次,人们通常会对转换后需要的清理工作感到惊讶。

2
我知道有一个成功的产品,有人决定将其翻译成另一种语言,于是他们使用自动翻译。这样做很好,直到有人想要添加新功能,但现在没有人知道代码如何工作了。他们花了一年时间重新编写它。 - mj2008

3
我能想到的最好的解决方案是:找一个Java开发人员进行极限编程(你阅读Delphi源代码并向他解释应该做什么 - 他将所有内容写成Java代码)。
因为即使你找到了一个Delphi到Java转换器 - 它可能会生成糟糕的源代码。

3
Free Pascal支持编译为Java虚拟机(JVM)的代码:Free Pascal编译器现已添加了Java字节码目标。新的目标允许将应用程序编译为Java字节码,这意味着这些Free Pascal应用程序可以在Java虚拟机(JVM)上运行,因此它可以在任何具有Java支持的平台上运行。但是,请注意,该目标仅支持基本的Pascal语言和系统单元的一些功能。

1

以前有一个叫做Delphi2J的程序可以进行转换,但我找不到下载链接。

另一种方法:

  1. 尝试使用Delphi2CS将Delphi代码转换为C#代码
  2. 然后使用VB & C# to Java Converter,有演示版,我没有尝试过。

我在一个没有GUI的应用程序上进行了测试,并确认Delphi2CS工作得非常好,生成的C#代码甚至可以手动转换为Java。谢谢! - Sergey Ponomarev

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