加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

将Java字节码转换为其他表示和编程语言

发布时间:2020-12-14 05:39:42 所属栏目:Java 来源:网络整理
导读:我正在寻找将 Java字节码转换为其他编程语言的方法/工具/项目,或者至少在结构化表示中(如XML).理想的开源,自然. 我看过ASM,“字节码操作和分析框架”.它不支持翻译到其他表示,但看起来像是这样一个项目的良好基础.可悲的是,users page上列出的项目都没有结束
我正在寻找将 Java字节码转换为其他编程语言的方法/工具/项目,或者至少在结构化表示中(如XML).理想的开源,自然.

我看过ASM,“字节码操作和分析框架”.它不支持翻译到其他表示,但看起来像是这样一个项目的良好基础.可悲的是,users page上列出的项目都没有结束.

解决方法

ASM有树api,它基本上可以为您提供字节码的完整结构.看起来它很容易使用,甚至访问者api以XML或其他格式打印出来.不知道那是什么用途.

转换回Java是一个反编译工作,像Jad这样的工作做得很好.但这很难,因为a)在源到字节码转换期间丢失了信息,b)存在多个源可以产生相同字节代码的模糊性.

如果你真的想直接从字节码转换到另一种高级语言,那么全面而有意义地做这两件事都很困难,因为反编译很难,除非更糟糕的是另一种语言.

如果你想从Java源代码转到另一种语言的源代码,那么之前就已经完成了,就像在Java-to-Python converter中一样.这有点容易,因为你可以将Java转换为类似于Antlr的AST,或者内置的Java编译器工具,Project Jackpot即使在那时,我认为你不会在目标语言中获得非常惯用的代码.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读