abdussamedulutas
|
1c5178168e
|
feat(faz0): tip sistemi + tanılama motoru (Type + DiagnosticEngine)
Faz 0 (#69) — frontend'in iki temel veri yapısı:
- src/core/type.hpp: Type (Primitive/Array/Struct/Function/Error),
equals() (katı yapısal, gizli dönüşüm yok — ADR-010), toString(),
toJson() (cam ilkesi), factory'ler ve fromName() yardımcısı.
- src/diagnostic/diagnostic.hpp: DiagLevel, Diagnostic (veri birincil),
hata kataloğu (E001-E010, W001-W003) + jsonEscape + makeDiagnostic.
- src/diagnostic/diagnostic_engine.hpp: toplar (ilk hatada durmaz,
ADR-013), printAll() (insan-okur, sıralı) + toJson() (makine-okur).
- tests/: çerçevesiz birim testleri + run.sh.
Header-only (ADR-003). -Wall -Wextra temiz. Henüz pipeline'a bağlı
değil; Faz 2/3 (sembol tablosu, tip denetleyici) bunları tüketecek.
|
2026-06-16 00:31:44 +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
|
3f6c2ee4c9
|
chore: JsonObject builder, LiteralType enum, token.hpp doc cleanup
|
2026-05-27 10:53:18 +03:00 |
abdussamedulutas
|
93cbc7db3a
|
Gemini
|
2026-05-27 10:29:30 +03:00 |
abdussamedulutas
|
0fbe742de0
|
refactor: modularize parser and AST components
|
2026-05-27 09:42:14 +03:00 |
abdussamedulutas
|
12356d8a73
|
feat: implement source location tracking and enhance parser AST nodes
|
2026-05-27 09:39:47 +03:00 |
abdussamedulutas
|
6948384134
|
parser: function calls, struct, member/index access - Final.sqt parses successfully (289 tokens, 200+ AST nodes)
|
2026-05-26 17:27:06 +03:00 |
abdussamedulutas
|
d9db17c732
|
cli: modular command system, AST JSON serialization, file split prep
|
2026-05-26 17:05:20 +03:00 |
abdussamedulutas
|
3e685ea960
|
docs: kapsamli ADR dokumantasyonu, tum kaynak dosyalara detayli kommentler
|
2026-05-26 00:24:27 +03:00 |
abdussamedulutas
|
438bc0e200
|
feat: statement parser (if/for/while/do-while/return), keyword tokenizer düzeltmeleri
- Tokenizer: tüm keyword'ler eklendi (int, void, float, vb)
- Keyword boundary check: kısa keyword uzun identifier'la karışmıyor
- Lexer: '0' sonrası karakter kontrolü düzeltildi (0; token sorunu)
- Parser: if/else, for, while, do-while, return, break, continue desteği
- FunctionDecl, VariableDecl, Block, ExpressionStatement tam destek
- null expression koruması (sonsuz döngü engellendi)
|
2026-05-26 00:05:52 +03:00 |
abdussamedulutas
|
40579ca508
|
fix: Pratt parser NUD/LED akışı, Token* slicing, null guard
- ParserToken artık Token* tutuyor (object slicing önlendi)
- parseNullDenotation atom'ları tüketip ilerliyor
- parseExpression while döngüsü currentToken() ile çalışıyor
- IR: null Left/Right ve null ASTNode girişi korumalı
- source.sqt: 1/(74-63+!1)-74*2/-0.7e+10 başarıyla parse ediliyor
|
2026-05-26 00:03:19 +03:00 |
abdussamedulutas
|
b08205c03f
|
Rev
|
2026-05-26 00:00:21 +03:00 |