Lewati ke isi
JRG++JRG++ v0.2.0

Perkakas

jrgc

Menjalankan, memeriksa, menguji, dan mengompilasi berkas .jrg.

Menjalankan

terminal
jrgc program.jrg              # interpreter
jrgc program.jrg --vm         # VM bytecode
jrgc program.jrg --emit-llvm  # native, lewat clang
jrgc program.jrg -- a b c     # argumen untuk programnya, dibaca lewat env::args()
jrgc program.jrg --watch      # jalankan ulang tiap berkasnya berubah
jrgc                          # REPL

Memeriksa tanpa menjalankan

terminal
jrgc program.jrg --periksa    # urai dan periksa berkas beserta semua import-nya; diam kalau bersih
jrgc program.jrg --fmt        # cetak versi rapinya ke stdout (berkasnya tidak diubah)
jrgc program.jrg --emit-ast   # cetak pohon sintaks
jrgc program.jrg --emit-tokens

--periksa menemukan galat sintaks, nama yang belum dideklarasikan, dan penugasan ke sesuatu yang bukan variabel, sebelum satu baris pun jalan.

Tes dan profil

terminal
jrgc hitung.jrg --uji                   # jalankan tiap fn test_*/uji_*
jrgc hitung.jrg --uji --uji-filter tambah
jrgc program.jrg --profile              # waktu tiap fungsi sesudah program selesai
jrgc program.jrg --profile-json p.json  # versi JSON-nya

Mencari fungsi

terminal
jrgc --cari kata        # nama bawaan yang memuat "kata"
jrgc --doc str::split   # tanda tangan dan penjelasan singkat
jrgc --daftar-builtin   # semua nama, satu per baris

Kompilasi native

--emit-llvm menerjemahkan program ke LLVM IR lalu menyerahkannya ke clang. Runtime native-nya dibangun sekali dengan cargo dan disimpan.

terminal
jrgc program.jrg --emit-llvm -o program --no-run   # cuma kompilasi
./program

jrgc program.jrg --emit-llvm -O3 --native-cpu --lto thin
jrgc program.jrg --emit-llvm --full-power          # preset tercepat, khusus CPU ini
jrgc program.jrg --emit-llvm --target aarch64-unknown-linux-gnu
jrgc program.jrg --apk app.apk                     # APK Android dari satu berkas
BenderaGunanya
-O 0..3tingkat optimisasi (bawaan 2)
--lto auto|off|thin|full, --lldoptimisasi saat menautkan
--native-cpu, --fast-math, --aggressivelebih cepat, dengan syaratnya masing-masing
--pgo-generate, --pgo-useoptimisasi berdasarkan profil pemakaian
--strip, --no-gc-sectionsukuran biner

Backend native belum menerima seluruh bahasa; yang belum ada ditolak dengan alasannya. Lihat Tiga mesin.

Pesan galat

terminal
jrgc program.jrg --nada hangat    # sopan, galak, judes, hangat, cool, lawak
jrgc program.jrg --sopan          # tanpa baris sapaan, cocok untuk CI
JRG_GALAT_KE=galat.txt jrgc program.jrg   # tulis tiap galat juga ke berkas: berkas, baris, kolom, pesan

Penjelasannya di Diagnostik.

Lain-lain

PerintahGunanya
jrgc --sunting berkas.jrgpenyunting teks di terminal, lihat Editor
jrgc --lspserver bahasa untuk editor (VS Code, Neovim)
jrgc -I folderfolder tambahan untuk mencari import
jrgc --jrgm …jrgc yang sama berperan sebagai jrgm
-vcetak tiap tahap yang dikerjakan