abdussamedulutas
|
ba08bf4511
|
feat(faz2): sembol tablosu — isim çözümleme + scope + referans toplama (#71)
- parser: parseFunctionDecl() parametreleri artık AST'ye alıyor
(FunctionDeclNode::params alanı eklendi; declarations.hpp/cpp güncellendi)
- parser: parseDeclaration() kullanıcı-tanımlı tip (struct alanı) desteği
- ast_json: addArray() m_hasArrayItem sıfırlama hatası düzeltildi
(birden fazla dizi alanı içeren düğümlerde bozuk JSON üretimi giderildi)
- src/symbol/: Symbol, Scope, SymbolTable, SymbolCollector eklendi
* İki geçiş: pass1 global hoist, pass2 gövde + declare-before-use
* E001 tanımsız isim, E002 çift tanım, E010 döngüsel struct
* print builtin tohumlama (TODO: #89 katalog)
- cli/symbols: yeni SymbolTable/Collector kullanıyor; tip + refs çıktısı
- examples/symbols/: dup.sqt, undef.sqt, cyclic.sqt test fixture'ları
Doğrulama:
build/saqut symbols file:examples/fibonacci.sqt → 0 hata, 10 sembol
examples/symbols/dup.sqt → E002
examples/symbols/undef.sqt → E001
examples/symbols/cyclic.sqt → E010
tests/run.sh → TUM TESTLER GECTI
AST JSON → geçerli
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-06-18 15:43:26 +03:00 |
abdussamedulutas
|
cf6f706449
|
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 |