saqut-compiler/src/parser
saqut 218d54ba61 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
..
nodes feat(faz2): sembol tablosu — isim çözümleme + scope + referans toplama (#71) 2026-06-18 15:43:26 +03:00
ast.hpp Gemini 2026-05-27 10:29:30 +03:00
ast_json.hpp feat(faz2): sembol tablosu — isim çözümleme + scope + referans toplama (#71) 2026-06-18 15:43:26 +03:00
ast_node.hpp feat(faz1): AST'i Expression/Statement olarak ayır + analiz alanları (#70) 2026-06-16 00:47:50 +03:00
parser.cpp feat(faz2): sembol tablosu — isim çözümleme + scope + referans toplama (#71) 2026-06-18 15:43:26 +03:00
parser.hpp Gemini 2026-05-27 10:29:30 +03:00
parser_base.hpp refactor: modularize parser and AST components 2026-05-27 09:42:14 +03:00
token.hpp chore: JsonObject builder, LiteralType enum, token.hpp doc cleanup 2026-05-27 10:53:18 +03:00