- 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 ✓ |
||
|---|---|---|
| .. | ||
| cli | ||
| core | ||
| diagnostic | ||
| ir | ||
| lexer | ||
| parser | ||
| semantic | ||
| symbol | ||
| tokenizer | ||
| vendor/nlohmann | ||
| json.hpp | ||
| main.cpp | ||
| tools.hpp | ||