syntaqlite - พาร์เซอร์·ฟอร์แมตเตอร์·ตัวตรวจสอบ·ภาษีเซิร์ฟเวอร์สำหรับ SQL ที่อิงจากไวยากรณ์และโทเคไนเซอร์ของ SQLite โดยตรง
(github.com/lalitMaganti)- เครื่องมือที่ คอมไพล์ไวยากรณ์ที่สร้างด้วย Lemon และโทเคไนเซอร์ของ SQLite เป็น C โดยตรง เพื่อนำมาใช้งาน ช่วยขจัดข้อจำกัดของพาร์เซอร์ SQL แบบทั่วไปที่พยายามประมาณ SQLite ให้เป็นเพียง "flavor"
- ตรวจสอบความถูกต้องเทียบกับสคีมาโดย ไม่ต้องเชื่อมต่อฐานข้อมูล สำหรับข้อผิดพลาดที่
sqlite3_prepareตรวจจับได้ และต่างจากsqlite3ตรงที่สามารถรายงานข้อผิดพลาดทั้งหมดได้ในรอบเดียว พร้อมตำแหน่งในซอร์สและข้อเสนอแนะในการแก้ไข - สามารถ ตรึงเวอร์ชัน SQLite ที่ต้องการ ได้ เช่น
--sqlite-version 3.32.0เพื่อจับไวยากรณ์ที่ยังไม่รองรับล่วงหน้าในสภาพแวดล้อมที่ใช้ SQLite เวอร์ชันเก่า เช่น Android (RETURNINGเป็นต้น) - รองรับ คอมไพล์ไทม์แฟลก 22 รายการ เช่น
SQLITE_ENABLE_MATH_FUNCTIONSทำให้ตรวจสอบได้ตรงกับบิลด์เป้าหมายอย่างแม่นยำ - เมื่อเทียบกับชุดทดสอบอัปสตรีมของ SQLite ราว 396,000 ประโยค ได้ อัตราความสอดคล้องในการยอมรับการพาร์สประมาณ 99.7%
- มี ตัวฟอร์แมต SQL แบบกำหนดผลลัพธ์แน่นอน ในตัว สามารถตั้งค่าความกว้างบรรทัด รูปแบบตัวพิมพ์เล็ก-ใหญ่ของคีย์เวิร์ด และการเยื้องได้
- มีฟีเจอร์ทดลองสำหรับดึง SQL ออกจากสตริงของ Python และ TypeScript แล้ว จัดการช่องว่างสำหรับการแทรกค่า ก่อนนำไปตรวจสอบ
- ใช้ไฟล์ตั้งค่าโปรเจกต์
syntaqlite.tomlเพื่อแมปสคีมาตาม glob และตั้งค่าการฟอร์แมต โดย LSP, CLI และเอดิเตอร์จะโหลดให้อัตโนมัติ - รองรับ LSP พร้อมส่วนขยายสำหรับ VS Code, Zed และปลั๊กอิน Claude Code ให้การวินิจฉัย การเติมโค้ดอัตโนมัติ และ semantic highlighting ทำงานได้โดยไม่ต้องเชื่อมต่อฐานข้อมูล
- มี Web Playground ที่ทำงานด้วย WASM บนเบราว์เซอร์
- ใช้งานได้ทั้งเป็นไลบรารีสำหรับ Rust, Python, JavaScript (WASM) และ C โดยรองรับการติดตั้งผ่าน pip, Homebrew, Cargo, mise และคำสั่ง
curlแบบบรรทัดเดียว - ใช้สถาปัตยกรรมแบบสองส่วน โดยพาร์เซอร์และโทเคไนเซอร์พัฒนาด้วย C ส่วนฟอร์แมตเตอร์ ตัวตรวจสอบ และ LSP พัฒนาด้วย Rust
- ไลเซนส์ Apache 2.0
ยังไม่มีความคิดเห็น