CLI Referansı
Bu sayfa bir pratisyenin ihtiyaç duyduğu tüm saqut alt komutlarını ve
bayraklarını kapsar. Derleyiciyi kurmak için Hızlı Başlangıç
sayfasına bak.
Alt komutlar
Bölüm başlığı “Alt komutlar”Bir programı derler ve çalıştırır.
saqut run program.sqt| Bayrak | Amacı |
|---|---|
--allow fs,net,sys |
Çalışma zamanı capability’lerini verir |
--jit |
Programı VM yerine deneysel MIR JIT ile çalıştırır |
--optimized |
Sabit katlama ve ölü kod eleme uygular |
--gc-threshold N |
N tahsis sonrası GC’yi tetikler |
--gc-stats |
Çalışma sonrası GC istatistiklerini yazar |
--profile |
Aşama başına profil çıkarır (tokenleme, ayrıştırma, IR üretimi, çalıştırma) ve her aşamanın iş miktarını gösterir |
Varsayılan ve referans arka uç bytecode VM’dir. --jit bayrağı programı
deneysel MIR JIT ile çalıştırır; bu şu anda yalnızca tam sayı ve float skaler
koddan oluşan programları işler. Başka bir şey kullanan program kısmen
çalışmak yerine açık bir hatayla durur. Gömülü çalışma zamanlı AOT (--output
ikilisi) hâlâ planlanmaktadır.
tokens
Bölüm başlığı “tokens”Token akışını JSON olarak yazar.
saqut tokens program.sqtHer token; tür, metin, satır, sütun ve byte ofseti içerir. Söz dizimi vurgulayıcı veya özel araç yazmak için kullanışlıdır.
Soyut söz dizimi ağacını JSON olarak yazar.
saqut ast program.sqtsaqut ast program.sqt --optimized--optimized bayrağı, sabit katlama ve ölü kod eleme sonrası ağacı yazar.
Orijinal AST korunur; optimizasyon bir klon üzerinde çalışır.
symbols
Bölüm başlığı “symbols”Sembol tablosunu JSON olarak yazar.
saqut symbols program.sqtTüm fonksiyonları, değişkenleri, struct’ları, enum’ları ve tiplerini gösterir. Kapsam bilgisi içerir.
Ara kodu (üç adresli kod) yazar.
saqut ir program.sqtsaqut ir --capabilities program.sqt--capabilities bayrağı IR’yi tarar ve programın hangi capability’lere
(fs, net, sys) ihtiyaç duyduğunu çalıştırmadan raporlar.
Yalnızca anlamsal analiz yapar; hata ve uyarıları JSON olarak bildirir.
saqut check program.sqtÇıkış kodu 0 hatasız demektir. Sıfır olmayan değer hata bulunduğunu belirtir. Uyarılar çıkış kodunu etkilemez.
Tek bir ifadeyi veya deyimi etkileşimli olarak çalıştırır.
saqut exec "3 + 4 * 2"Sonucu doğrudan yazar. Dosya oluşturmadan hızlı denemeler için kullanışlıdır.
Bir programın çalışma süresini ölçer.
saqut bench program.sqtProgramı birden çok kez çalıştırır ve zamanlama istatistiklerini yazar.
lsp / dap
Bölüm başlığı “lsp / dap”Dil Sunucusunu veya Hata Ayıklama Adaptörünü başlatır. Bunlar VS Code eklentisi tarafından kullanılır, doğrudan çalıştırılmaz:
saqut lspsaqut dapSık kullanılan desenler
Bölüm başlığı “Sık kullanılan desenler”# Tam içgözlemle çalıştırsaqut run --allow fs --gc-stats --profile program.sqt
# Çalıştırmadan önce kontrol etsaqut check program.sqt && saqut run program.sqt
# Programın neye ihtiyacı var görsaqut ir --capabilities program.sqt
# Optimize edilmiş AST'yi görsaqut ast program.sqt --optimized