我需要在java中開發一個應用程序,我可以解析.net應用程序代碼並生成相應的Java代碼。 我聽說很容易爲.net代碼實現抽象語法樹(AST),後來我可以在我的Java應用程序中使用該AST來生成相應的Java類。 注意:不要以任何代價觸摸我的.NET應用程序代碼。 所以我的目標是我必須開發一個Java應用程序,它解析.net代碼並構建AST。後來,我可以使用這個AST並可以生成相應的Java類。 我需要啓動基本的「hello world」程序。.Net to Java代碼轉換器
-1
A
回答
1
我聽說,這是容易實現的抽象語法樹(AST)的.NET代碼
易是主觀的。即使你使用Roslyn這樣的工具作爲出發點,你提出的建議也是非常複雜的。還要記住許多.NET概念甚至不映射到Java(代理,事件,動態,LINQ,真正的泛型(而不是類型擦除),自定義值類型等)。有些工具可以做這種事情,例如IKVM和JNBridge。 IKVM通過在CLI內託管Java字節碼作爲IL工作;我不完全確定JNBridge的功能,但它似乎可以在兩個方向上工作(與IKVM不同) - 但請注意:這些是而非代碼翻譯器。
1
雖然不是不可能,但你試圖實現的是太寬泛,需要大量的編碼,耐心和時間。你必須解決的第一個問題是.Net不是一種編程語言,而是一個框架和現成的代碼,許多編程語言,如C#,VB,VC++和更多使用.Net Framework的。因此,你必須先決定你使用哪種編程語言想要瞄準。
.Net庫非常龐大,包含數千個類和函數,如果函數的總數量在100,000,我不會感到驚訝。
找到每個.Net函數和Java函數之間的映射並不那麼容易。你可能根本找不到等同的方法。不僅僅是方法,但是一些概念在Java中也沒有等價的實現。
Hello world程序很簡單,因爲其中使用的方法數量有限且代碼行數很少。但除此之外,這不是一個你可以在短時間內實現的簡單解決方案。
相關問題
- 1. Actionscript to java源代碼轉換器
- 2. .NET到Java代碼轉換
- 3. 將代碼從Java轉換爲.NET
- 4. 轉換vb.net代碼轉換爲C#.NET
- 5. Java to C/C++,或至少得到Java轉換代碼
- 6. MATLAB to Python代碼轉換 - imclose()問題
- 7. Python到Java代碼轉換
- 8. 將Java代碼轉換爲C#代碼
- 9. 在C#代碼轉換java代碼
- 10. 代碼java轉換爲php
- 11. C++與Java代碼轉換
- 12. 從Java到代碼轉換
- 13. java到node.js代碼轉換
- 14. Java代碼到XML轉換
- 15. 轉換JSP java代碼
- 16. Java Netbeans代碼轉換
- 17. 轉換Java代碼到C#
- 18. Java的C++代碼轉換
- 19. 將Ruby代碼片段轉換爲Java
- 20. .net代碼轉換數據源
- 21. Sweave to R markdown文件轉換 - 可用的代碼或轉換器?
- 22. Java to javascript類型轉換
- 23. WSDL to java轉換爲android
- 24. Gupta/Centura to Java轉換
- 25. 轉換從.NET framework1.1代碼2.0
- 26. 在.NET中轉換國家代碼
- 27. 如何將.Net代碼轉換爲vbscript?
- 28. 將此代碼從php轉換爲.net
- 29. 轉換HTML代碼到.NET串
- 30. 將代碼從Unity.NET轉換爲Java Spring
請參閱http://stackoverflow.com/questions/3455456/what-kinds-of-patterns-could-i-enforce-on-the-code-to-make-it-easier-to-translat/3460977# 3460977 –