- Calistirma modeli: "JIT" terimi birakildi -> IR + bytecode VM birincil; makine-kodu JIT kapsam disi (ADR-015). C-transpile ikinci backend. - readme.md bastan yazildi: toolbox cercevesi, yapilan vs planlanan ayrimi. - ADR amend: 007 (klon yuk tasir), 009 (fixpoint degismezi + analiz yeniden hesabi), 010 (literal baglama-gore tipleme), 011 (global baslatici uc-parcali kural + dongusel struct E010), 014 (bellek gerekcesi). - Yeni ADR: 015 (IR+VM), 016 (FFI seam), 017 (batteries=sinir), 018 (interface ertelendi), 019 (frontend<->runtime ayrimi). - roadmap: bu hafta sembol tablosu->fibonacci; once dikey dilim; E010. - examples: Final.sqt -> parser-stress/ (gecersiz fixture); yeni gecerli fibonacci.sqt eklendi. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| Final.sqt | ||
| README.md | ||
README.md
Parser Stres Fixture'ları
Buradaki dosyalar yalnızca parser/AST'yi zorlamak için yazılmıştır. Geçerli saQut programı değildirler ve semantik analiz / kod üretimi için fixture olarak kullanılmamalıdır.
Final.sqt
Tarihsel olarak parser'ın token/AST kapsamını test etmek için kullanıldı (289 token, 200+ AST node). Ancak kilitlenmiş dil tasarımını birden çok yerde ihlal eder:
- Kullanıcıya açık pointer kullanımı (
struct List*,->) — dilde*/&yoktur (bkz. ADR-014). - Sabit boyutlu array (
int arr[100]) — array tipiint[]'tir, boyut tipin parçası değildir (bkz. ADR-010). - İki
int main()tanımı — aynı scope'ta çift tanım yasaktır (ADR-011,E002). printfformat-string semantiği — dilin builtin'iprint'tir; format'lı çıktı bir kütüphane/FFI işidir (bkz. ADR-017).
Geçerli, küçük bir örnek için examples/fibonacci.sqt'ye bakın.