CLI Referansı
tulpar ikilisi derleyiciyi, çalışma zamanını, paket yöneticisini,
formatlayıcıyı ve dil sunucusunu tek bir çalıştırılabilir dosyada
toplar. Bu sayfa kapsamlı referanstır; daha samimi bir giriş için
Başlarken sayfasına bakın.
Program çalıştırma
Section titled “Program çalıştırma”tulpar <kaynak.tpr> # AOT derle + çalıştır (native hız)tulpar artık yalnızca AOT çalışır (v3.0.0’dan beri): LLVM
pipeline’ını çalıştırır (LLVM → native ikili → exec) ve başka bir
yürütme yolu yoktur. AOT hatası (parse, codegen veya eksik clang /
runtime arşivi) sert hatadır — yani “çalıştı” her zaman native ikilinin
çalıştığı anlamına gelir.
Bağımsız ikili oluşturma
Section titled “Bağımsız ikili oluşturma”tulpar build <kaynak.tpr> [çıktı_adı]Varsayılan run yoluyla aynı, ama üretilen ikiliyi çıktı_adı
konumunda saklar (verilmezse <kaynak>’in .tpr’siz hâli).
Sonraki tulpar build çağrıları çıktı kaynaktan ve sürücüden
yeniyse derlemeyi atlar. Yeniden derlemeye zorlamak için
TULPAR_AOT_NOCACHE=1 ayarlayın.
tulpar build merhaba.tpr # ./merhaba üretir (Windows'ta ./merhaba.exe)tulpar build merhaba.tpr uygulamam # ./uygulamam üretirTULPAR_AOT_NOCACHE=1 tulpar build merhaba.tpr # her zaman derleFormatlayıcı
Section titled “Formatlayıcı”tulpar fmt <kaynak.tpr>Kaynağı normalleştirilmiş girinti ve operatör boşluklarıyla yeniden yazar. Idempotent (iki kez çalıştırmak bir kezle aynı çıktıyı verir). Yapılandırma dosyası yok — kurallar gömülü.
Paket yöneticisi
Section titled “Paket yöneticisi”tulpar pkg init # cwd'de yeni bir tulpar.toml oluşturtulpar pkg add <isim> # bağımlılık ekletulpar pkg install # tulpar.toml'daki her şeyi yükleManifest formatı ve bağımlılık belirtimleri için Paket Yöneticisi sayfasına bakın.
Dil sunucusu (LSP)
Section titled “Dil sunucusu (LSP)”tulpar --lspstdio üzerinden LSP konuşur — editörünüze (VS Code uzantısı, Vim/Neovim LSP istemcisi, vb.) bağlayın; JSON-RPC iletimi için stdin/stdout’a sahip olur. Test dışında elle çalıştırmayın.
Yetenekler: tamamlama, hover, tanılama, tanıma git, yazım yanlışları için “şunu mu demek istediniz” önerileri. Ayrıntı için Araçlar — LSP / Formatlayıcı / VS Code.
Sürüm & güncelleme
Section titled “Sürüm & güncelleme”tulpar version # veya: tulpar --version, tulpar -vtulpar update # son sürümü indir & yükletulpar update --check # sadece güncelleme var mı diye bildirtulpar update platformun kurulum scriptine
(https://tulparlang.dev/install.{ps1,sh}) çağrı yapar ve çalışan
ikiliyi yayınlanan en son sürümle değiştirir. Windows’ta yeniden
adlandır-ardından-değiştir dansını kullanır çünkü Windows çalışan
bir .exe’yi doğrudan üzerine yazamaz.
--check zarar vermez — GitHub’dan en son tag’ı sorar, karşılaştırmayı
yazdırır ve çıkar.
Yardım
Section titled “Yardım”tulpar --help # veya: tulpar -h, tulpar help, tulpar ?tulpar’ı hiç argümansız çalıştırdığınızda gördüğünüz aynı komut
referansını yazdırır. Çıktı dili sistem locale’ini takip eder
(TR locale’inde Türkçe, başka yerde İngilizce).
Derleyici bayrakları
Section titled “Derleyici bayrakları”Bunlar tek bir tulpar / tulpar build çağrısını değiştirir. Komut
satırındaki diğer her şey program ve argümanlarıdır.
| Bayrak | Etkisi |
|---|---|
--aot | Açık AOT derleme (zaten varsayılan — başka backend yok) |
--build | Derle-ve-çalıştır yerine bağımsız ikili üret (build alt komutuyla aynı) |
--debug / -g | clang++ link’ine -g ilet, debug bölümleri ikiliye taşınsın |
--no-typecheck | Bu çalıştırma için [typecheck] ön-geçişini atla |
--strict | Tip denetçisi uyarılarını sert hatalara yükselt |
--vm / --run | Uyarıyla yok sayılır — Tulpar AOT-only, VM yok |
--repl / -i | Kaldırıldı — bir not yazıp çıkar (yorumlayıcı yok) |
Ortam değişkenleri
Section titled “Ortam değişkenleri”Alt sisteme göre gruplanmıştır. Boolean’lar, aksi belirtilmedikçe boş olmayan her değeri “açık” sayar.
Tanılama & locale
Section titled “Tanılama & locale”| Değişken | Etkisi |
|---|---|
LANG / LC_ALL / LC_MESSAGES | CLI + tanılama dili: tr içeren bir değer Türkçe, diğerleri İngilizce seçer (Windows OS UI locale’ine düşer) |
Tip denetimi
Section titled “Tip denetimi”| Değişken | Etkisi |
|---|---|
TULPAR_NO_TYPECHECK=1 | Her run / build’de [typecheck] ön-geçişini kapat |
TULPAR_STRICT=1 | Tip denetçisi uyarılarını hata say (=0 kapatır) |
AOT / derleyici
Section titled “AOT / derleyici”| Değişken | Etkisi |
|---|---|
TULPAR_AOT_NOCACHE=1 | Çıktı güncel olsa bile tulpar build’i yeniden derlemeye zorla |
TULPAR_AOT_TIME=1 | AOT zincirinin faz-bazlı süre dökümünü yazdır |
TULPAR_AOT_EMIT_LL=1 | Nesne dosyasının yanına LLVM .ll IR’ı da çıkar |
TULPAR_AOT_LINK_FLAGS=… | Final clang++ link’ine ek bayraklar ilet (ör. ASan’lı runtime’a karşı leak-check için -fsanitize=address) |
TULPAR_RUNTIME_DIR=path | libtulpar_runtime.a için ek arama dizini |
Async / HTTP runtime
Section titled “Async / HTTP runtime”| Değişken | Etkisi |
|---|---|
TULPAR_HTTP_POOL=N | Async HTTP istemcisi worker-pool boyutu (varsayılan 4) |
TULPAR_HTTP_MAX_BODY=bytes | Wings sunucuları için gelen HTTP istek gövdesi üst sınırı (varsayılan 16 MiB) |
TULPAR_HTTP_QUIET=1 | HTTP istemci istek loglamasını sustur |
TULPAR_WINGS_HOST=127.0.0.1 | Wings listener’ları için bind host — loopback LAN firewall sorularını önler |
| Değişken | Etkisi |
|---|---|
TULPAR_CA_BUNDLE=path | HTTPS sertifika doğrulaması için özel CA bundle (PEM) |
TULPAR_TLS_INSECURE=1 | Sertifika doğrulamasını atla — yalnız dev / self-signed |
Paket yöneticisi & araçlar
Section titled “Paket yöneticisi & araçlar”| Değişken | Etkisi |
|---|---|
TULPAR_REGISTRY=url | Paket registry temel URL’ini geçersiz kıl |
TULPAR_PUBLISH_TOKEN=token | tulpar pkg publish için yetki token’ı |
TULPAR_LSP_DEBUG=1 | --lsp dil sunucusundan ayrıntılı log |
TULPAR_INSTALL_DIR=path | install.sh’nin ikiliyi koyduğu yer (varsayılan ~/.local/bin) |
Çıkış kodları
Section titled “Çıkış kodları”| Kod | Anlamı |
|---|---|
| 0 | Başarılı |
| 1 | Kaynak seviyesi hata (parse / codegen / runtime hatası) |
| 2 | CLI kullanım hatası (bilinmeyen bayrak, kötü kombinasyon) |