Repolode
swiftlang

swiftlang/swift-syntax

用于解析、检查、生成和转换 Swift 源代码的 Swift 库集合,基于源码精确的语法树。

Star
3,712
Fork
562
未关闭 Issue
180
最近提交
6小时前

这是什么?

swift-syntax 是一组 Swift 库,用于处理 Swift 源代码的语法树表示。这种源码精确的树结构称为 SwiftSyntax tree,适合需要读取、检查或改写 Swift 代码的工具直接基于它开发,无需自行处理原始文本。

SwiftSyntax tree 是 Swift 宏系统的基础:宏展开节点以 SwiftSyntax 节点表示,宏生成的语法树会被插入到源文件中。该包可通过 Swift Package Manager 和 Xcode 引入,同时提供实验性的 Bazel 构建配置。

版本号与 Swift 语言和工具链版本对齐,例如主版本 509 对应 Swift 5.9。仓库中提供了示例用法。

核心功能

  • 01将 Swift 源代码解析为源码精确的语法树。
  • 02提供遍历和检查语法树的库。
  • 03支持构造和修改语法节点,以生成 Swift 代码。
  • 04作为 Swift 宏展开的基础。
  • 05可通过 Swift Package Manager、Xcode 或 Bazel 引入。

适用场景

  • 编写在编译期生成代码的 Swift 宏。
  • 开发 Swift 代码的 lint、格式化或重构工具。
  • 自动改写或生成 Swift 源文件。

快速上手

  1. 1

    在 Package.swift 的 dependencies 中添加 swift-syntax 包

    dependencies: [ .package(url: "https://github.com/swiftlang/swift-syntax.git", from: "<#latest swift-syntax tag#>"), ]
  2. 2

    或在 Xcode 项目的 Package Dependencies 标签页中添加该依赖

使用前须知

  • 发布版本与 Swift 语言和工具链版本绑定,需选择与你的 Swift 版本匹配的版本。
  • Bazel 构建配置处于实验阶段。

标签

常见问题

swift-syntax 是什么?
用于解析、检查、生成和转换 Swift 源代码的 Swift 库集合,基于源码精确的语法树。 swift-syntax 是一组 Swift 库,用于处理 Swift 源代码的语法树表示。这种源码精确的树结构称为 SwiftSyntax tree,适合需要读取、检查或改写 Swift 代码的工具直接基于它开发,无需自行处理原始文本。
swift-syntax 可以免费使用吗?用的什么许可证?
swift-syntax 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
swift-syntax 还在维护吗?
活跃维护中。swift-syntax 最近一次提交是在 2026年10月21日。
swift-syntax 适合用来做什么?
编写在编译期生成代码的 Swift 宏。 开发 Swift 代码的 lint、格式化或重构工具。 自动改写或生成 Swift 源文件。
swift-syntax 怎么安装和运行?
在 Package.swift 的 dependencies 中添加 swift-syntax 包: dependencies: [ .package(url: "https://github.com/swiftlang/swift-syntax.git", from: "<#latest swift-syntax tag#>"), ] 或在 Xcode 项目的 Package Dependencies 标签页中添加该依赖
在哪里获取 swift-syntax?
源代码和安装说明在 GitHub 上:https://github.com/swiftlang/swift-syntax

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目