saqut-compiler/examples/parser-stress
saqut 0fed19be06 docs: belgeleri yeniden hizala (IR+VM modeli, kilitli kararlar)
- 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>
2026-06-14 19:53:12 +03:00
..
Final.sqt docs: belgeleri yeniden hizala (IR+VM modeli, kilitli kararlar) 2026-06-14 19:53:12 +03:00
README.md docs: belgeleri yeniden hizala (IR+VM modeli, kilitli kararlar) 2026-06-14 19:53:12 +03:00

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 tipi int[]'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).
  • printf format-string semantiği — dilin builtin'i print'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.