有没有好的工具可以自动将非Java源代码转换为Java源代码?
我并不期望完美的结果,只要能减少一些基础性的工作量就很好了。
我猜想难度存在一个滑动比例。C#应该相对容易(只要你忽略所有库)。写得好的 C++ 也还好。C语言需要一些面向对象编程的知识。(静态类型)函数式语言可能更容易理解。动态对象语言可能需要进行非局部分析。
有没有好的工具可以自动将非Java源代码转换为Java源代码?
我并不期望完美的结果,只要能减少一些基础性的工作量就很好了。
我猜想难度存在一个滑动比例。C#应该相对容易(只要你忽略所有库)。写得好的 C++ 也还好。C语言需要一些面向对象编程的知识。(静态类型)函数式语言可能更容易理解。动态对象语言可能需要进行非局部分析。
源代码迁移属于程序转换的范畴。Program-Transformation.org跟踪一些有用于语言识别、分析和转换的工具。以下是一些能够进行源码迁移的工具:
你可以尝试找到针对所讨论语言的Java字节码编译器(有各种语言的JVM编译器),然后使用像Jad这样的反编译器将字节码反编译回Java。
这种方法充满了风险。重新生成的代码可能很糟糕,而且可能会难以阅读。
谷歌:ANTLR
语言转换相对简单,但你会发现库不同。这可能是你大部分工作的内容。
如果你的非Java代码不够庞大,那么这些工具可能会有所帮助。
如果你的非Java代码很庞大,并且你想认真地将其翻译成Java,那么需要考虑一些事情。这不仅仅是几百行代码的问题,它下面还有一个设计,人们在代码下面做出了一些决策,因此可能已经解决了某些问题,也有一些东西正在运作。花时间在任何好的翻译器上都不值得,因为它不存在,这不仅仅是从一种语言到另一种语言的语法翻译。
如果代码不是很庞大,最好重新用Java编写,因为它有很多API包可以直接使用,这可能并不是什么大问题,雇用一些实习生也可能会有所帮助。
将ADA转换为Java可以通过查找和替换完成!