SwiftParserDiagnostics 509.1.0

SwiftParserDiagnostics 509.1.0

SwiftyLab维护。



 
依赖
SwiftBasicFormat= 509.1.0
SwiftDiagnostics= 509.1.0
SwiftParser= 509.1.0
SwiftSyntaxLib= 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"),
    ]),
  ]
)

<#指定发布标签#>替换为你想使用的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 bundle进行文档封装。要在Xcode中查看渲染的文档,请打开SwiftSyntax包,并选择

Product > Build Documentation

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

贡献

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

报告问题

如果在使用SwiftSyntax时遇到任何问题,我们感谢您在GitHub问题报告中提交错误报告。

Bazel

SwiftSyntax提供了一个由Keith Smiley维护的实验性Bazel构建配置。要使用它,您可以将相关版本标签中的源存档拉取到您的WORKSPACE文件中,并在BUILD.bazel文件中依赖您需要的库。每个库还有一个相关的Library_opt目标(例如SwiftSyntax_opt),强制SwiftSyntax始终以启用优化进行构建。这可能会提高本地运行时的性能,但可能会牺牲调试性和构建时间。请将所有与Bazel配置相关的问题标记为“Bazel”。

许可

请参阅LICENSE了解更多信息。