Commit Graph

5 Commits

Author SHA1 Message Date
abdussamedulutas 214ecadf21 feat(cli): saqut ir komutu — IR talimat dump'u
- IRFunction::dump() yenilendi: ASCII kutu, sn slot notasyonu,
  ikili op'larda sembol (+/-/*/<= vb.), hizalı sütunlar
- src/cli/commands/ir.hpp: tokenize→parse→collect→ir→dump pipeline
- main.cpp + args.hpp: "ir" komutu kayıtlı
2026-06-18 19:21:12 +03:00
abdussamedulutas 999edaeaa9 feat(faz3): semantik analiz — tip denetimi + yapısal doğrulama (#72)
- src/semantic/type_checker: her ExpressionNode'a resolvedType atar
  * literal bağlama-göre tiplenir (float x = 1 → uyarısız)
  * değişken→değişken genişletme → W004
  * daraltma / farklı tip → E003
  * fonksiyon çağrısı argüman sayısı/tipi → E008
  * return tipi uyumsuzluğu → E003 (checkAssign üzerinden)
- src/semantic/structural_validator: kontrol akışı kuralları
  * break/continue döngü dışı → E004
  * return fonksiyon dışı → E005
- W004 diagnostic kataloğa eklendi
- saqut check komutu: tokenize→parse→collect→typecheck→validate
- examples/semantic/: widening, narrowing, bad_return, break_outside, bad_args
- MISSION-FAZ3.md eklendi

Doğrulama:
  fibonacci.sqt → 0 hata 0 uyarı ✓
  widening.sqt  → W004 ✓
  narrowing.sqt → E003 ✓
  break_outside.sqt → E004 ✓
  bad_args.sqt  → E008 ✓
  tests/run.sh  → TUM TESTLER GECTI ✓
2026-06-18 17:20:06 +03:00
abdussamedulutas 9227b92549 feat(symbols): --compact bayrağı + referenceCount alanı
- CliArgs'e compact bool eklendi; --compact ile boşluksuz JSON çıktısı
- symbols çıktısında her sembol için referenceCount (references.size()) alanı eklendi
- fibonacci.sqt onarıldı: araç hatası sonucu silinen '{' geri konuldu
2026-06-18 16:44:03 +03:00
abdussamedulutas 7c5a86c39b fix: kaynak dosya yolu propagasyonu ve AST JSON girinti hataları
- Tokenizer::scan artik filePath parametresi alip Lexer'a iletiyor;
  SourceLocation.file artik bos degil (Asama 0 tamamlandi).
- JsonObject::add icin const char* overload eklendi (kind: true bug'i).
- JsonObject acilis suslu parantezi girintisiz yaziliyor, addArray ilk
  eleman oncesi bos satir birakmiyor; LiteralNode/IdentifierNode toJson
  ayni sekilde duzeltildi.
- analysisToJson girinti seviyeleri "analysis" objesine gore duzeltildi.
2026-06-14 15:57:54 +03:00
abdussamedulutas d9db17c732 cli: modular command system, AST JSON serialization, file split prep 2026-05-26 17:05:20 +03:00