- 새로운 프로그래밍 언어 프로젝트를 시작하려는 사람들을 위한 도구
- 코드 에디터의 언어 확장, 프로그래밍 언어 컴파일러 및 인터프리터, 심지어 새로운 코드 에디터 까지 개발 가능
주요 기능
- 매크로를 사용한 파서 생성기 : 언어의 어휘 및 구문 문법은 enum 타입에 대한 파생 매크로를 사용하여 지정되며, enum 변형은 개별 토큰 및 구문 분석 규칙이 있는 노드를 나타냄
- 수작업 파서 : API를 사용하면 무제한 lookahead를 사용하여 수동으로 작성된 재귀적 하강 파서를 개발하고 매크로로 생성된 파서와 원활하게 통합할 수 있음
- 오류 복원력 : 결과물인 파서는 오류에 강하고 불완전한 소스 코드에서 구문 트리를 구축할 수 있음
- 의미 분석 프레임워크 : 레퍼런스 속성 측면에서 구문 트리에 대한 임의의 주문형 계산을 관리하는 내장 의미 분석기가 포함되어 있음
- 점진적 컴파일 : 최종 사용자의 파일 텍스트에 대한 점진적 편집에 대응하여 코드베이스 구조의 메모리 내 표현을 지속적으로 패치함. 변경 사항의 처리는 대규모 코드베이스에서도 빠름
- 병렬 계산 : 멀티 스레드 및 단일 스레드 프로그램 모두에 맞게 특별히 설계됨
- Web-Assembly 호환성 : wasm 대상 및 특히 브라우저 환경과 호환됨
- 소스 코드 포맷터 : 코드 주석과 빈 줄을 고려하는 코드 포맷터 프로그램을 개발하는 도구가 포함
- 주석이 달린 코드 조각 : 터미널에 코드베이스의 구문 및 의미 오류를 표시하기 위한 구문 강조 표시 및 주석이 포함된 소스 코드 조각을 인쇄하기 위한 API를 제공
- 자급자족 API : 프로그래밍 언어 컴파일러의 프런트엔드 부분과 코드 편집기 언어 확장을 개발하기 위한 자급자족적이고 확장 가능하며 매우 구성 가능한 API를 제공함. Rust 표준 라이브러리와 매크로 Crate를 제외하고는 타사 종속성이 없음