[Fikir] IR'in Serileştirilmesi ve İncelenebilirliği (saqut ir komutu) #75

Closed
opened 2026-06-14 22:13:55 +03:00 by saqut · 1 comment
Owner

Giriş (Nedir, Neden Önemli?)

saQut'un varlık sebebi "her aşamanın dışarıdan görülebilir olması". Token, AST ve sembol tablosu zaten saqut tokens/ast/symbols ile JSON olarak görülebiliyor. IR de aynı muameleyi görmeli.


Gelişme (Olası Yaklaşımlar)

  • saqut ir file:kaynak.sqt komutu: AST'den üretilen IR'i hem insan-okur metin (örn. assembly benzeri t1 = a + b) hem de JSON (--format=json) olarak basar.
  • --optimized bayrağıyla optimizasyon öncesi/sonrası IR yan yana (diff) gösterilebilir — Faz 4'teki AST öncesi/sonrası karşılaştırmasının IR karşılığı.
  • Her IR komutuna kaynak satır/sütun referansı eklenip, IR'den kaynağa "geri işaretleme" (source map benzeri) yapılabilir — ileride debugger için temel oluşturur.

Açık Sorular

  • IR metin formatı kendi mini-sözdizimi mi olacak, yoksa mevcut JSON şemasının bir uzantısı mı?
  • IR dump'ı dosyaya yazılıp tekrar VM'e beslenebilir mi (round-trip) — bu, derleme adımlarını birbirinden bağımsız test etmeyi kolaylaştırır.

İmza/Yorum: Bu, "programlanabilir derleyici" vaadinin IR ayağı. Küçük ama saQut'un kimliği için sembolik önemde.

### Giriş (Nedir, Neden Önemli?) saQut'un varlık sebebi "her aşamanın dışarıdan görülebilir olması". Token, AST ve sembol tablosu zaten `saqut tokens/ast/symbols` ile JSON olarak görülebiliyor. IR de aynı muameleyi görmeli. --- ### Gelişme (Olası Yaklaşımlar) - `saqut ir file:kaynak.sqt` komutu: AST'den üretilen IR'i hem **insan-okur metin** (örn. assembly benzeri `t1 = a + b`) hem de **JSON** (`--format=json`) olarak basar. - `--optimized` bayrağıyla optimizasyon öncesi/sonrası IR yan yana (diff) gösterilebilir — Faz 4'teki AST öncesi/sonrası karşılaştırmasının IR karşılığı. - Her IR komutuna kaynak satır/sütun referansı eklenip, IR'den kaynağa "geri işaretleme" (source map benzeri) yapılabilir — ileride debugger için temel oluşturur. --- ### Açık Sorular - IR metin formatı kendi mini-sözdizimi mi olacak, yoksa mevcut JSON şemasının bir uzantısı mı? - IR dump'ı dosyaya yazılıp tekrar VM'e beslenebilir mi (round-trip) — bu, derleme adımlarını birbirinden bağımsız test etmeyi kolaylaştırır. *İmza/Yorum:* Bu, "programlanabilir derleyici" vaadinin IR ayağı. Küçük ama saQut'un kimliği için sembolik önemde.
saqut added the
fikir
ir-vm
labels 2026-06-14 22:13:55 +03:00
Author
Owner

Kararlı hale getirildi. ir.hpp'e TypeChecker + StructuralValidator eklendi — artık run pipeline ile eşit. Tip hatası olan program IR üretemiyor. Format zaten deterministik (slot numaraları sabit), golden testler için hazır.

Kararlı hale getirildi. ir.hpp'e TypeChecker + StructuralValidator eklendi — artık run pipeline ile eşit. Tip hatası olan program IR üretemiyor. Format zaten deterministik (slot numaraları sabit), golden testler için hazır.
saqut closed this issue 2026-06-18 22:31:41 +03:00
Sign in to join this conversation.
No description provided.