saqut-compiler/src
saqut a4fb3cfc4f fix(tc): string sıralama operatörleri derleme zamanında bloklandı (B5)
Sorun: TypeChecker < > <= >= için tip kontrolü yapmıyordu; string
operandlarda VM sessizce intValue=0 karşılaştırıyordu.

Düzeltme: karşılaştırma bloğu ikiye ayrıldı:
  == / !=  → string dahil herhangi tip (değişmedi)
  < > <= >= → isNumeric() kontrolü; string veya diğer sayısal-olmayan
              tipler E003 üretir, VM'e hiç ulaşmaz

Aritmetik (+ - * / %) zaten sayısal-olmayan tipler için E003 üretiyordu;
doğrulandı, değiştirilmedi.

Altyapı: cmake/run_golden_error.cmake + CMakeLists.txt'e .compile_error
desteği — derleme hatası bekleyen negatif golden testler için.

Testler (19/19 yeşil):
  - string/ordering_error: string < → E003 (negatif test)
  - string/equality: string == / != çalışmaya devam ediyor (regresyon)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-19 16:26:20 +03:00
..
cli refactor(opt): klon sadece ast komutunda — run/ir yerinde optimize eder 2026-06-18 23:15:27 +03:00
core feat(opt): Faz 4 — Optimizasyon (sabit katlama + ölü kod eleme + --optimized) 2026-06-18 21:11:05 +03:00
diagnostic feat(faz3): semantik analiz — tip denetimi + yapısal doğrulama (#72) 2026-06-18 17:20:06 +03:00
ir fix(ir): ! operatörü kopyalama yerine (x == 0) üretiyor (B2) 2026-06-19 16:15:46 +03:00
lexer perf: include() parametresini std::string → std::string_view yap 2026-06-18 18:03:54 +03:00
opt refactor(opt): klon sadece ast komutunda — run/ir yerinde optimize eder 2026-06-18 23:15:27 +03:00
parser feat(opt): Faz 4 — Optimizasyon (sabit katlama + ölü kod eleme + --optimized) 2026-06-18 21:11:05 +03:00
semantic fix(tc): string sıralama operatörleri derleme zamanında bloklandı (B5) 2026-06-19 16:26:20 +03:00
symbol feat(faz2): sembol tablosu — isim çözümleme + scope + referans toplama (#71) 2026-06-18 15:43:26 +03:00
tokenizer perf(tokenizer): switch dispatch + unordered_map keyword lookup 2026-06-18 18:35:10 +03:00
vendor/nlohmann refactor: nlohmann/json entegrasyonu — string birleştirme yerine nesne API 2026-06-18 16:21:58 +03:00
vm fix(ir): && ve || kısa devre dallanmasıyla üret (ADR-008) 2026-06-19 15:54:03 +03:00
json.hpp fix: kaynak dosya yolu propagasyonu ve AST JSON girinti hataları 2026-06-14 15:57:54 +03:00
main.cpp feat(cli): saqut ir komutu — IR talimat dump'u 2026-06-18 19:21:12 +03:00
tools.hpp cli: modular command system, AST JSON serialization, file split prep 2026-05-26 17:05:20 +03:00