구체 구문 트리를 만들고 소스 파일이 편집될 때마다 갱신하는 증분 파서 생성기이자 파싱 라이브러리입니다.
swiftlang/swift-syntax
Swift 소스 코드를 원본과 정확히 대응하는 구문 트리로 파싱하고 검사·생성·변환하는 Swift 라이브러리 모음입니다.
- 스타
- 3,712
- 포크
- 562
- 열린 이슈
- 180
- 마지막 커밋
- 7시간 전
어떤 프로젝트인가요?
swift-syntax는 Swift 소스 코드를 원본과 정확히 대응하는 트리 형태로 다루는 Swift 라이브러리 모음입니다. 이 트리를 SwiftSyntax 트리라고 합니다. Swift 코드를 읽거나 다시 작성해야 하는 도구는 원시 텍스트를 직접 처리하는 대신 이 트리를 기반으로 만들 수 있습니다.
SwiftSyntax 트리는 Swift 매크로 시스템의 기반입니다. 매크로 확장 노드는 SwiftSyntax 노드로 표현되며, 매크로는 소스 파일에 삽입할 SwiftSyntax 트리를 생성합니다. 이 패키지는 Swift Package Manager와 Xcode를 통해 배포되며, 실험적인 Bazel 빌드 설정도 제공합니다.
릴리스 버전은 Swift 언어 및 툴링 버전에 맞춰집니다. 따라서 509와 같은 메이저 버전은 Swift 5.9에 대응합니다. 저장소에서 사용 예제를 확인할 수 있으며, 커뮤니티 AST 탐색기 웹사이트에서 트리를 인터랙티브하게 살펴볼 수도 있습니다.
핵심 기능
- 01Swift 소스 코드를 원본과 정확히 대응하는 구문 트리로 파싱합니다.
- 02트리를 검사하고 순회하는 라이브러리를 제공합니다.
- 03구문 노드를 만들고 수정해 Swift 코드를 생성할 수 있습니다.
- 04Swift 매크로 확장의 기반으로 사용됩니다.
- 05Swift Package Manager, Xcode 또는 Bazel을 통해 설치할 수 있습니다.
활용 사례
- 컴파일 시점에 코드를 생성하는 Swift 매크로 작성
- Swift 코드용 린터, 포매터 또는 리팩터링 도구 개발
- Swift 소스 파일을 자동으로 다시 작성하거나 코드를 생성
빠른 시작
- 1
swift-syntax 패키지를 Package.swift의 종속성에 추가하세요
dependencies: [ .package(url: "https://github.com/swiftlang/swift-syntax.git", from: "<#latest swift-syntax tag#>"), ] - 2
또는 Xcode 프로젝트의 Package Dependencies 탭에서 종속성으로 추가하세요
사용 전 알아둘 점
- 릴리스는 Swift 언어 및 툴체인 버전에 따라 달라지므로, 사용 중인 Swift 릴리스에 맞는 버전을 선택해야 합니다.
- Bazel 빌드 구성은 실험 단계입니다.
토픽
자주 묻는 질문
- swift-syntax은(는) 무엇인가요?
- Swift 소스 코드를 원본과 정확히 대응하는 구문 트리로 파싱하고 검사·생성·변환하는 Swift 라이브러리 모음입니다. swift-syntax는 Swift 소스 코드를 원본과 정확히 대응하는 트리 형태로 다루는 Swift 라이브러리 모음입니다. 이 트리를 SwiftSyntax 트리라고 합니다. Swift 코드를 읽거나 다시 작성해야 하는 도구는 원시 텍스트를 직접 처리하는 대신 이 트리를 기반으로 만들 수 있습니다.
- swift-syntax은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- swift-syntax은(는) Apache-2.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- swift-syntax은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. swift-syntax의 마지막 커밋은 2026년 10월 21일입니다.
- swift-syntax은(는) 어디에 사용할 수 있나요?
- 컴파일 시점에 코드를 생성하는 Swift 매크로 작성 Swift 코드용 린터, 포매터 또는 리팩터링 도구 개발 Swift 소스 파일을 자동으로 다시 작성하거나 코드를 생성
- swift-syntax는 어떻게 설치하나요?
- swift-syntax 패키지를 Package.swift의 종속성에 추가하세요: 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
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
외부 의존성 없이 C 소스 코드에서 AST를 생성하는 순수 Python 구현의 완전한 C99/C11 파서입니다.
JavaScript, TypeScript, CSS, HTML, Markdown, YAML 등의 코드를 일관된 스타일로 다시 출력하는 주관이 뚜렷한 코드 포매터입니다.
대상 환경에서 실행할 수 있도록 차세대 JavaScript 문법을 변환하는 컴파일러입니다.
JS 코드를 추상화 수준·코드 블록 수정자·테마를 지원하는 SVG 순서도로 변환하는 JavaScript 라이브러리 및 CLI
C++ 코드에서 STL과 비슷한 문법으로 JSON을 파싱하고 생성·조작·직렬화할 수 있는 헤더 전용 C++11 라이브러리입니다.