用于将非Java转换为Java源代码的工具
有没有好的工具可以自动将非Java源代码转换成Java源代码 我并不期待什么完美的东西,只是为了摆脱最糟糕的工作用于将非Java转换为Java源代码的工具,java,compiler-construction,Java,Compiler Construction,有没有好的工具可以自动将非Java源代码转换成Java源代码 我并不期待什么完美的东西,只是为了摆脱最糟糕的工作 我想难度是有一个递减的。C#应该相对容易(只要忽略所有库)。(写得好)C++不太坏。C需要做一点OO。(静态类型)函数式语言可能很容易学习。动态OO语言可能需要非本地分析。您可以尝试的一件事是为您正在谈论的语言找到Java字节码编译器(有各种语言的JVM编译器),然后使用类似Jad的反编译器将字节码反编译回Java 这充满了危险。重新生成的代码将很糟糕,很可能无法读取。
我想难度是有一个递减的。C#应该相对容易(只要忽略所有库)。(写得好)C++不太坏。C需要做一点OO。(静态类型)函数式语言可能很容易学习。动态OO语言可能需要非本地分析。您可以尝试的一件事是为您正在谈论的语言找到Java字节码编译器(有各种语言的JVM编译器),然后使用类似Jad的反编译器将字节码反编译回Java
这充满了危险。重新生成的代码将很糟糕,很可能无法读取。
如果您希望在Java小程序或类似的受限环境中运行它,并且它不必非常高效,那么您可以将它(MIPS到Java字节码转换器)与编译为MIPS的gcc交叉编译器结合使用。但是不要期望从中获得可读的Java代码。语言转换相当简单,但是您会发现库是不同的。
这可能是您的大部分工作。只有当您的非java代码不够庞大时,这些工具中的任何一个都可能会有所帮助 如果它是巨大的非java代码,如果你想认真地把它翻译成java,那么就不需要考虑什么,它不仅仅是几百行代码,它下面有一个设计,代码下面的人很少做出决定,因为某些问题可能已经解决,而且很少有事情在那里工作。在任何一个好的译者身上投入时间都是不值得的,因为它不存在,它不仅仅是从一种语言到另一种语言的语法翻译
如果代码不是那么庞大,最好用java重新编写,因为它有这么多现成的API包,这可能没什么大不了的,雇佣几个实习生也会有所帮助。源代码到源代码的迁移属于java的范畴。Program-Transformation.org跟踪对语言识别、分析和转换有用的语言。以下是一些能够进行源到源迁移的:
- -如前所述,该工具没有新的发展。相反,开发人员把重点放在了流氓身上
- (商业)
- -包括从第94页开始的玩具语言Pico和汇编之间的迁移
- (门控)-使用TXL