syntaqlite - SQLite 자체 문법과 토크나이저 기반의 SQL 파서·포매터·검증기·언어 서버
·2026.04.24 09:30
SQLite 문법을 직접 컴파일한 SQL 파서·포매터·LSP 도구가 공개됐다.
SQLite의 Lemon 생성 문법과 토크나이저를 C로 직접 컴파일해 쓰는 도구다. 범용 SQL 파서가 SQLite를 비슷하게 흉내 내는 방식의 한계를 줄이고, SQLite 자체 문법에 맞춘 파싱과 검증을 제공한다.
- DB 연결 없이 스키마 대비 검증을 수행하고,
sqlite3_prepare수준의 오류를 잡아낸다. sqlite3와 달리 한 번의 패스로 모든 오류를 소스 위치와 수정 제안까지 함께 보고한다.--sqlite-version 3.32.0처럼 특정 SQLite 버전 고정이 가능해, Android처럼 구버전 SQLite 환경에서 지원되지 않는 문법을 사전 탐지할 수 있다.SQLITE_ENABLE_MATH_FUNCTIONS등 22개 컴파일 타임 플래그를 반영해 타깃 빌드와 일치하는 검증을 수행한다.
업스트림 테스트 스위트 약 39만 6천 문장 기준으로 99.7% 파싱 수용 일치율을 제시했다. 결정론적 SQL 포매터도 내장해 줄 너비, 키워드 대소문자, 들여쓰기 설정을 지원한다.
추가로 Python·TypeScript 문자열 안의 SQL을 추출해 보간 구멍 처리 후 검증하는 실험 기능이 들어 있다. syntaqlite.toml로 프로젝트별 glob 스키마 매핑과 포맷 옵션을 관리하며, 이 설정을 LSP·CLI·에디터가 공유한다.
- LSP 지원: VS Code, Zed, Claude Code 플러그인 제공
- Web Playground: 브라우저에서 WASM으로 동작
- 배포 형태: Rust, Python, JavaScript(WASM), C 라이브러리
- 구현: 파서·토크나이저는 C, 포매터·검증기·LSP는 Rust
- 라이선스: Apache 2.0
이 요약은 원문 이해를 돕기 위한 큐레이션입니다. 저작권은 원저작자에게 있으며, 정확한 내용과 맥락은 원문을 확인하세요.
요약 오류, 출처 표기 문제, 삭제 요청은 문의 · 건의로 알려주세요.