帮酷LOGO
0 0 评论
  • 显示原文与译文双语对照的内容
文章标签:Kotlin  LANG  Source  LAN  transpiler  源至源  Swift  
Kotlift is the first source-to-source language transpiler from Kotlin to Swift

  • 源代码名称:Kotlift
  • 源代码网址:http://www.github.com/moshbit/Kotlift
  • Kotlift源代码文档
  • Kotlift源代码下载
  • Git URL:
    git://www.github.com/moshbit/Kotlift.git
  • Git Clone代码到本地:
    git clone http://www.github.com/moshbit/Kotlift
  • Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/moshbit/Kotlift
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
    
  • Kotlift

    Kotlift: The first source-to-source language transpiler from Kotlin to Swift

    Kotlift是从 KotlinSwift的第一个source-to-source语言 transpiler。

    Kotlift帮助你编写业务逻辑一次,并重用iOS中的大部分代码。 从Android移植到iOS将更快,更容易出错。 使用 Kotlift,Kotlin真正是Android的Swift。

    程序不支持完整的Kotlin或者 Swift 语言,但是大部分生成的Swift 代码都是有效的。 Android或者 ios/Cocoa 都不支持所有框架接口代码。 Kotlin stdlib的许多函数在 Swift 中是相同的,因此更少的逻辑需要重写。

    支持的版本:Kotlin 1.0.1,Swift 2.2

    支持功能

    以下语言功能当前是 transpiled,但某些边缘情况可能产生无效的Swift 代码。

    • 变量,数组和列表
    • 基本类型( 字符串,布尔值,双精度,浮点,长,整型,短,字节)
    • .与函数中的参数相关联
    • 如果和猫王运营商
    • 用于和while循环
    • 字符串插值
    • 主 function calling (in Swift playground )
    • 自定义重写( 用 //SWIFT: this.will(be.replaced) 注释前一行以替换以下行)
    • 空安全,安全调用,空合并
    • 基本尝试捕捉
    • @Throws 注释/抛出
    • 铸造
    • 范围和迭代
    • 当/switch 案例时
    • 带有无或者一个构造函数的类
    • 继承
    • 抽象类
    • 接口/协议
    • 数据类( 将生成构造函数和描述)
    • 泛型
    • 扩展功能
    • 伴生对象/static 类属性
    • 具有getter和 setter/backing字段/计算属性的属性
    • 可见性修饰符
    • 基本 lambdas/闭包
    • 地图/字典
    • 集合集
    • 非常基本的智能转换
    • 枚举

    请参见 Kotlin 中的 testcases和生成的Swift 文件。

    不支持的功能

    以下功能目前不支持,但按可能很快实现:

    • ( 数据) 类,函数或者加载器 &,在同一行或者不含括号的情况下打开&关闭括号。
    • 换行函数和类定义
    • 未命名的构造函数参数
    • 未命名的function parameters (except the first one )
    • 自动推断函数返回类型
    • 最后/推迟
    • 完全支持智能转换

    用法

    存储库包含一个IntelliJ项目。 预编译 jar的用法:

    java -jar moshbit.kotlift.jar test-src dest replacementFile.json test-dest

    • 参数:Kotlin源文件的文件夹。 ( 强制)
    • 参数:应将 Swift 代码写入其中的目标文件夹。 ( 强制)
    • 参数:替换文件,用于标准语言替换,可以自定义。 ( 强制)
    • 参数:Swift 文件夹如果给出,目标文件夹中的所有文件将与这里文件夹中的文件进行比较。 ( 可选)

    Kotlift使用各种 正规表达式 和一个简单的结构树。

    对于项目中的高级Kotlift使用,修改 replacementFile.json 以自定义替换( 例如 .toString().mySwiftyToStringFunction() )。 将 kotlift.swift 文件包含在项目中,以获取在Swift中不同的最重要 Kotlin std函数的基本映射。

    依赖项

    • Kotlin 1.0.1

    捐赠指南

    每个transpiled语言特性在测试src中都有Kotlin测试文件和测试目标文件中的Swift 文件。 使用第四个参数执行Kotlift不仅可以transpiles所有测试文件,还可以检查它们的任何差异。

    欢迎请求。如果你添加新特性,请添加Kotlin和 Swift 测试文件。

    请联系 valentin.slawicek@moshbit.com 查询。



    文章标签:Source  LAN  LANG  Swift  Kotlin  transpiler  源至源  

    Copyright © 2011 HelpLib All rights reserved.    知识分享协议 京ICP备05059198号-3  |  如果智培  |  酷兔英语