syntaqlite - SQLite’ın kendi sözdizimi ve tokenizer’ına dayalı SQL ayrıştırıcı, biçimlendirici, doğrulayıcı ve dil sunucusu
(github.com/lalitMaganti)- SQLite’ın Lemon ile üretilen sözdizimi ve tokenizer’ını doğrudan C’ye derleyip kullanan bir araç; genel amaçlı SQL ayrıştırıcılarının SQLite’ı bir "flavor" olarak yaklaşık modellemesinin sınırlarını ortadan kaldırır
sqlite3_prepare’ın yakaladığı hataları veritabanı bağlantısı olmadan şemaya karşı doğrular; ayrıcasqlite3’ten farklı olarak tüm hataları tek geçişte kaynak konumu ve düzeltme önerileriyle birlikte raporlar--sqlite-version 3.32.0gibi belirli bir SQLite sürümüne sabitleme yapılabildiği için, Android gibi eski SQLite ortamlarında desteklenmeyen sözdizimini (RETURNINGvb.) önceden tespit eder- 22 derleme zamanı bayrağını (
SQLITE_ENABLE_MATH_FUNCTIONSvb.) yansıtarak hedef derlemeyle tam eşleşen doğrulama yapar - SQLite upstream test paketindeki yaklaşık 396 bin ifade karşısında yaklaşık %99,7 ayrıştırma kabul eşleşme oranı
- Deterministik SQL biçimlendirici yerleşik olarak gelir; satır genişliği, anahtar kelime büyük/küçük harf kullanımı ve girinti ayarlanabilir
- Python ve TypeScript string’leri içindeki SQL’i çıkarıp enterpolasyon boşluklarını işledikten sonra doğrulayan deneysel özellik içerir
syntaqlite.tomlproje yapılandırma dosyasıyla glob bazında şema eşleme ve biçimlendirme seçenekleri LSP, CLI ve editör tarafından otomatik yüklenir- LSP desteğiyle VS Code uzantısı, Zed uzantısı ve Claude Code eklentisi sunar; veritabanı bağlantısı olmadan tanılama, otomatik tamamlama ve semantik vurgulama çalışır
- Tarayıcıda WASM ile çalışan bir Web Playground sunar
- Rust, Python, JavaScript (WASM) ve C kütüphanesi olarak kullanılabilir; kurulum için pip, Homebrew, Cargo, mise ve curl tek satırlık komut desteği vardır
- Ayrıştırıcı ve tokenizer C ile, biçimlendirici, doğrulayıcı ve LSP ise Rust ile gerçekleştirilen ikili bir mimariye sahiptir
- Apache 2.0 lisansı
Henüz yorum yok.