SwiftSyntax 509.1.0

SwiftSyntax 509.1.0

SwiftyLab 维护。



SwiftSyntax 509.1.0

SwiftSyntax

SwiftSyntax 是一组 Swift 库,用于解析、检查、生成和转换 Swift 源代码。

文档

您可以在 swiftpackageindex.com 上阅读 SwiftSyntax 的文档。

通过 https://swift-ast-explorer.com 与 SwiftSyntax 源文件的树结构进行交互式探索是一种很好的方式,由 @kishikawakatsumi 开发。

将 SwiftSyntax 作为依赖项添加

主干开发(主要分支)

SwiftSyntax的主要分支跟踪最新的开发。它不是官方版本,API和行为可能会迅速变化。要使用它,请将此存储库添加到您的项目的Package.swift文件中

// swift-tools-version:5.7
import PackageDescription

let package = Package(
  name: "MyTool",
  dependencies: [
    .package(url: "https://github.com/apple/swift-syntax.git", branch: "main"),
  ],
  targets: [
    .target(name: "MyTool", dependencies: [
      .product(name: "SwiftSyntax", package: "swift-syntax"),
    ]),
  ]
)

主要SwiftSyntax还包括

  • SwiftParser用于本地解析源代码
  • SwiftOperators用于折叠包含操作符的SwiftSyntax树
  • SwiftSyntaxBuilder用于通过结果构建器风格的接口生成Swift代码
  • SwiftSyntaxMacros用于提供语法宏支持

发布

SwiftSyntax的发布与相应的语言和工具发布保持一致,且为稳定版本。要使用它们,请将此存储库添加到您的项目的Package.swift文件中

// swift-tools-version:5.7
import PackageDescription

let package = Package(
  name: "MyTool",
  dependencies: [
    .package(url: "https://github.com/apple/swift-syntax.git", exact: "<#Specify Release tag#>"),
  ],
  targets: [
    .target(name: "MyTool", dependencies: [
      .product(name: "SwiftSyntax", package: "swift-syntax"),
    ]),
  ]
)

<#Specify Release tag#>替换为您要使用的SwiftSyntax版本(以下表格显示了映射详情)。

Xcode 发布 Swift 发布标签 SwiftSyntax 发布标签
Xcode 14.3 swift-5.8-RELEASE 508.0.0
Xcode 14.0 swift-5.7-RELEASE 0.50700.1
Xcode 13.3 swift-5.6-RELEASE 0.50600.1
Xcode 13.0 swift-5.5-RELEASE 0.50500.0
Xcode 12.5 swift-5.4-RELEASE 0.50400.0
Xcode 12.0 swift-5.3-RELEASE 0.50300.0
Xcode 11.4 swift-5.2-RELEASE 0.50200.0

文档

SwiftSyntax使用DocC包来提供其文档。要在Xcode中查看渲染的文档,请打开SwiftSyntax包并选择

Product > Build Documentation

关联文章使用markdown编写,可以在浏览器、文本编辑器或IDE中查看。

贡献

开始为SwiftSyntax做出贡献,参见此指南以获取更多信息。

报告问题

如果在使用SwiftSyntax时遇到任何问题,我们非常感谢您在GitHub Issue上的错误报告。

Bazel

SwiftSyntax提供了一个实验性的Bazel构建配置,由Keith Smiley维护。要使用它,您可以从相关发布标签中提取源存档到您的WORKSPACE,并通过BUILD.bazel文件依赖您需要的库。每个库都有一个相关的Library_opt目标(例如SwiftSyntax_opt),这强制SwiftSyntax始终启用优化编译。这可能会帮助提高本地运行时的性能,但以调试可访问性和初始构建时间为代价。有关Bazel配置的问题,请使用标签“Bazel”标记任何相关的问题

许可协议

请参阅许可协议以获取更多信息。