6

Java 以外のソース コードを Java ソースに自動的に変換するための優れたツールはありますか?

私は完璧なものを期待しているわけではありません。

スライド式の難易度があると思います。C# は比較的簡単なはずです (すべてのライブラリを無視する限り)。(よく書かれています) C++ はそれほど悪くありません。C では少し OO を作成する必要があります。(静的型の) 関数型言語は理解しやすいかもしれません。動的オブジェクト指向言語では、非ローカル分析が必要になる場合があります。

4

7 に答える 7

5

ソースからソースへの移行は、 Program Transformationの傘下にあります。Program-Transformation.orgは、言語の認識、分析、および変換に役立つ一連のツールを追跡しています。以下に、ソースからソースへの移行が可能なものをいくつか示します。

オープン ソース ツールの 1 つを使用すると、機能としてソースからソースへの移行が含まれていても、実際の例を見つけるのが難しいことに気付くでしょう。これは、万能の移行などというものがないためだと思います。各プロジェクト/チームは言語を独自に使用し、使用するライブラリ、型の複雑さ、イディオム、スタイルなどによって異なる場合があります。移行ごとにいくつかの変換を定義することは理にかなっています。これは、自動移行に取り組む価値がある前に、プロジェクトがある程度のクリティカル マスに達する必要があることを意味します。

いくつかの関連ドキュメント:

于 2010-12-07T20:30:52.863 に答える
5

あなたが試すことができることの1つは、話している言語用のJavaバイトコードコンパイラを見つけて(あらゆる種類の言語用のJVMコンパイラがあります)、Jadのような逆コンパイラを使用してバイトコードをJavaに逆コンパイルすることです.

これには危険が伴います。再生成されたコードはひどいものになり、おそらく読めなくなります。

于 2008-09-05T20:06:01.290 に答える
3

グーグル:ANTLR

于 2008-09-07T17:41:32.150 に答える
1

言語変換はかなり単純ですが、ライブラリが異なることがわかります。これはおそらくあなたの仕事のほとんどです。

于 2009-04-26T11:17:09.153 に答える
0

これらのツールは、Java 以外のコードが十分に大きくない場合にのみ役立ちます。

その巨大な非 Java コードを真剣に Java に変換したい場合、考えなければならないことはほとんどありません。数百行のコードではなく、その下に設計があり、その下にある人々が下す決定はほとんどありません。特定の問題が解決された可能性があり、そこではほとんど機能していないコード。優れた翻訳者に時間を投資しても、それは存在しないため価値がありません。それは、ある言語から別の言語への構文翻訳だけではありません。

それほど巨大なコードでない場合は、すぐに使用できる API パッケージが非常に多いため、Java で書き直したほうがよいでしょう。大したことではないかもしれません。このために少数のインターンを雇うことも役立つかもしれません。

于 2009-12-10T06:53:29.657 に答える
0

従来の C/Pascal コードを使用したい場合は、JNI を使用して Java から呼び出すこともできます。

Java アプレットまたは同様の制約のある環境で実行する必要があり、非常に効率的である必要がない場合は、NestedVM (MIPS から Java バイトコードへのコンバーター) を gcc クロスコンパイラーと組み合わせて使用​​できます。 MIPS)。しかし、そこから読みやすい Java コードが得られるとは期待しないでください。

于 2009-04-26T10:46:34.750 に答える
-1

ADAからJavaへの変換は、検索と置換で実行できます。

于 2008-09-07T23:33:30.323 に答える