- ast_node.hpp: ExpressionNode (resolvedType + isConstant/foldedValue TODO) ve StatementNode (isReachable) ara taban sınıfları; core/type.hpp dahil. - İfade düğümleri (Literal, Identifier, Binary, Postfix, Call, Member, Index) → ExpressionNode; toJson'a resolvedType (çözülmemişse null). - Deyim düğümleri (Block/If/While/For/DoWhile/Return/Break/Continue/ ExpressionStatement + VariableDecl) → StatementNode; toJson'a isReachable. - IdentifierNode'a Symbol* resolvedSymbol (TODO faz-2, ileri bildirim). - Faz 0 düzeltmesi: diagnostic.hpp kendi jsonEscape'ini kaldırdı, tools.hpp' dekini kullanıyor (ODR çakışması önlendi). Doğrulama: -Wall -Wextra temiz; saqut ast fibonacci.sqt geçerli JSON (48 resolvedType:null, 20 isReachable:true); parser-stress regresyon temiz; Faz 0 birim testleri geçiyor. |
||
|---|---|---|
| .. | ||
| cli | ||
| core | ||
| diagnostic | ||
| ir | ||
| lexer | ||
| parser | ||
| tokenizer | ||
| json.hpp | ||
| main.cpp | ||
| tools.hpp | ||