XMLVM —— 将 Android 项目转成 iPhone 项目

18 篇文章 0 订阅
 

XMLVM项目的目标是提供一种灵活的可扩展的交叉编译器工具链(cross-compiler toolchain)。XMLVM基于Sun的Java虚拟机(Sun Microsystem's virtual machine )和微软的公共语言运行时(Microsoft's Common Language Runtime)上的字节码而非源码进行交叉编译。这样的好处是针对字节码进行交叉编译变得更加容易而将高级语言的解释工作留给原生的编译器。在XMLVM里,基于字节码的程序用XML文档表示,使得我们采用一些高级的xml处理技术,例如XSLT,XQuery和XPath,对XMLVM程序进行处理和翻译。

XMLVM给各种语言项目充当中介角色(XMLVM serves as an umbrella for servral projects). 

XMLVM首先将java字节码文件或者.NET可执行文件翻译成XML文档,然后基于这份生成的文档可以进行各种转换。比如将Java或.NET应用程序编译成Javascript程序,又或者将Java程序编译成Object-C程序. 下面这张图描述了XMLVM的整个工具链:

图中的每个矩形框代表XMLVM的一个组件(artifact),箭头表示一种转换(transformation). XMLVM工具链的输入源可以是Java字节码文件或.NET可执行文件。一个Java字节码文件生成一个描述该文件内容的XML文档(XMLVMJVM), 一个.NET可执行文件生成一个描述该文件内容的XML文档(XMLVMCLR). 而XMLVMCLR可以在XMLVM数据流分析组件(XMLVMCLR-DFA)的帮助下编译成XMLVMJVM. XMLVMJVM 将交叉编译器分成前端和后端两部分,并且充当前后端的典型表示( XMLVMJVM serves as a canonical representation as it acts as a boundary between the front- and back-end of the cross-compiler)。一旦生成了XMLVMJVM,就可以转换成其他高级语言程序。

目前XMLVM还处于早期开发阶段,官方没有提供稳定的版本,因此不建议在生产环境中使用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值