swift-获取sil、ast编译中间产物文件

获取sil文件

  • swift文件到可执行文件.o的整个编译过程。
  • swift编译过程参考

在当前文件路径下使用该命令:

// 单纯转换sil
swiftc -emit-sil main.swift > ./main.sil
// 反解sil中混淆的字符串
xcrun swift-demangle s4main1tAA10TeachModelCvp
// 完整版
swiftc -emit-sil `文件名`.swift | xcrun swift-demangle > `文件名`.sil  && open `文件名`.sil
  • sil文件相当于OC探索中的cpp文件,silcpp都是编译之后的产物
  • sil语法官方文档,阅读sil可以更加深刻的理解swift的一些内部机制。对于学习swift很有帮助。

获取ast抽象语法树

swiftc  -dump-ast main.swift ast抽象语法树
  • 这是在sil的上一步生成的文件,主要是做一些语法、词法的分析。

你可能感兴趣的:(swift-获取sil、ast编译中间产物文件)