abdussamedulutas
6b5a67343b
chore: __pycache__ gitignore
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-16 00:32:29 +03:00
abdussamedulutas
f3358473ac
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.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-16 00:31:44 +03:00
abdussamedulutas
63ad3e2dcf
chore: scripts/gitea.py'yi gitignore'la (parola sızıntısını önle)
...
Yerel API istemcisi kimlik bilgisini ~/.git-credentials'tan okur; asla
commit edilmemeli.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-16 00:22:47 +03:00
abdussamedulutas
cbc7a3ddb5
docs: readme'ye "Tasarım felsefesi" bölümü ekle (cam + kafes + record-replay)
...
saQut'un farklılaştırıcı tezini belgele: derleyiciyi platform olarak ele alan
iki taahhüt (cam = her aşama gör/sorgula/müdahale; kafes = deterministik +
yetenek-güvenli VM) ve bunların ödülü olan kayıt-tekrar (record-replay)
vizyonu. Determinizm + tek kapı FFI disiplininin v0'dan korunması gerektiği
not edildi.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-16 00:06:54 +03:00
abdussamedulutas
e2a82f9bb9
docs: lisansa katkı, patent, marka ve fesih maddeleri ekle
...
- Katkı (§7): PR herkese açık, birleştirme kararı yalnızca Abdussamed
ULUTAŞ'a ait; katkı sahipleri ticari lisanslama dâhil hakları telif
sahibine verir (ticari lisans modelinin önünü açar)
- Patent (§8): açık patent lisansı + patent davasında otomatik fesih
- Marka/İsim (§9): "saQut" adı/markası üzerinde hak verilmez
- Fesih (§11): ihlalde otomatik fesih + 30 gün düzeltme; edinilmiş Çıktı
hakları fesihten etkilenmez
- Bölümler yeniden numaralandırıldı (3 dilde)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-14 23:58:52 +03:00
abdussamedulutas
dae55d5907
docs: lisansı yeniden yaz (kaynağı açık, ticari kullanımı kısıtlı)
...
Önceki metin GPL tarzı copyleft bir "özgür yazılım" lisansıydı ve niyetle
çelişiyordu (ticari kullanıma açıkça izin veriyordu). Çekirdek ilke netleşti:
gelir saQut'un ürettiği çıktıdan elde edilir, saQut'un kendisinden değil.
- Üç dilde (TR/EN/DE) yeniden yazıldı, kurumsal dile çekildi
- Tanımlar, Ticari Kısıtlamalar ve sunucu/sürüm notu eklendi
- Çıktı istisnası korundu ve güçlendirildi
- İzin/iletişim maddesi (ticari lisans) eklendi
- Almanca yazım hataları düzeltildi
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-14 23:48:22 +03:00
abdussamedulutas
df5bb6187f
Merge pull request 'LICENSE.md Ekle' ( #112 ) from license-subsystem into master
...
Reviewed-on: #112
2026-06-14 23:17:34 +03:00
abdussamedulutas
1859cea9a1
LICENSE.md Ekle
...
Signed-off-by: saqut <saqut@noreply.localhost>
2026-06-14 23:17:21 +03:00
abdussamedulutas
1232748f9f
chore: Gitea issue yönetim betikleri ekle
...
Faz 0-4 ve gelecek vizyonu issue'larını oluşturmak için kullanılan
yardımcı betikler (gitea.py API istemcisi + issue içerikleri).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-14 22:44:30 +03:00
abdussamedulutas
cf6f706449
docs: belgeleri yeniden hizala (IR+VM modeli, kilitli kararlar)
...
- Calistirma modeli: "JIT" terimi birakildi -> IR + bytecode VM birincil;
makine-kodu JIT kapsam disi (ADR-015). C-transpile ikinci backend.
- readme.md bastan yazildi: toolbox cercevesi, yapilan vs planlanan ayrimi.
- ADR amend: 007 (klon yuk tasir), 009 (fixpoint degismezi + analiz
yeniden hesabi), 010 (literal baglama-gore tipleme), 011 (global baslatici
uc-parcali kural + dongusel struct E010), 014 (bellek gerekcesi).
- Yeni ADR: 015 (IR+VM), 016 (FFI seam), 017 (batteries=sinir),
018 (interface ertelendi), 019 (frontend<->runtime ayrimi).
- roadmap: bu hafta sembol tablosu->fibonacci; once dikey dilim; E010.
- examples: Final.sqt -> parser-stress/ (gecersiz fixture); yeni gecerli
fibonacci.sqt eklendi.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-14 19:53:12 +03:00
abdussamedulutas
f7467f18b3
docs: frontend tasarim kararlari, transkript ve yol haritasi
...
Symbol table + semantic analiz + optimizasyon framework tasarim
oturumunun ciktilari:
- adr-frontend-analiz.md: ADR-006..014 (cok-asamali frontend, analiz/
optimizasyon ayrimi, optimizasyon konumu, fixpoint, tip sistemi,
scope/forward-reference, ExpressionNode/StatementNode, analiz verisi
yeri, dil kapsami) — her karar gerekcesiyle.
- transkript-frontend-tasarim.md: oturum akiscinin sadik transkripti.
- roadmap-frontend.md: dosya-dosya uygulama plani (Faz 0..4).
2026-06-14 17:56:42 +03:00
abdussamedulutas
b986f0cb26
Merge branch 'feature/parser-modularization'
2026-06-14 15:58:18 +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
0a15cfe706
Merge pull request 'refactor: modularize parser and AST components' ( #68 ) from feature/parser-modularization into master
...
Reviewed-on: #68
2026-05-27 09:42:42 +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
d4d912f01e
docs: todo.md (8 asamali yol haritasi) ve fikirler.md (backend ADR)
2026-05-26 00:41:04 +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
abdussamedulutas
1af0592232
LLVM Backend ekleniyor
2026-01-12 09:46:38 +03:00
abdussamedulutas
0c9ac1c876
GNU Lightning üzerinde çalışıldı
2026-01-11 21:34:23 +03:00
abdussamedulutas
b0ff0ef841
refactor: AST ve Token yapısında pointer semantiğine geçiş
...
- Bellekte 'object slicing' (nesne dilimlenmesi) sorununu önlemek için Token ve ASTNode yapıları pointer (yıldız) kullanımına geçirildi.
- Bellek sızıntılarını önlemek için temel sınıflara (Token, ASTNode) 'virtual destructor' eklendi.
- AST düğümlerine 'parent pointer' bağlantısı eklenerek ağaç üzerinde yukarı yönlü navigasyon sağlandı.
- IR (Ara Temsil) ve CodeGenerator katmanları projeye dahil edildi.
- Tokenizer'da EOL (satır sonu) kontrolü ve dinamik bellek tahsisi (new) optimizasyonları yapıldı.
2026-01-10 20:19:49 +03:00
abdussamedulutas
817d36bc4a
Postfix ve Prefix operatörleri binaryexpression ve unary için işlenebilir hale getirildi
2026-01-01 14:32:14 +03:00
abdussamedulutas
4839f371eb
Pratt parser tamamlandı
2025-12-29 20:42:04 +03:00
abdussamedulutas
c146704857
Pratt Parsing Algoritması eklendi
2025-12-28 21:58:15 +03:00
abdussamedulutas
ea25e07e3f
Parser yazmak için ön veri setleri oluşturuldu
2025-12-28 15:43:29 +03:00
abdussamedulutas
cc343738ad
vscode kod renklendirme geliştirildi
2025-12-28 15:43:08 +03:00
abdussamedulutas
b4c8226357
VSCode deugging için çalışma ortamı oluşturuldu
2025-12-28 15:42:31 +03:00
abdussamedulutas
cb6bb6fc2e
Tokenizer Okuması kolaylaştırıldı
2025-12-28 15:40:47 +03:00
abdussamedulutas
0f33740a07
Lexer daha anlaşılır hale getirildi
2025-12-28 14:35:18 +03:00
abdussamedulutas
8adeabaff1
Create parser
2025-12-26 20:15:28 +03:00
abdussamedulutas
b5bdc3f5b4
Renklendirme çalışmalarına başlandı
2025-12-24 00:18:30 +03:00
abdussamedulutas
2bf52f5f21
Lexer and Tokenizer Completed
2025-12-23 21:05:36 +03:00
abdussamedulutas
78621d990a
Readme
2025-12-23 15:08:07 +03:00
abdussamedulutas
8f56979361
Readme
2025-12-23 14:54:54 +03:00
abdussamedulutas
0cf3a49f01
Readme
2025-12-23 14:35:34 +03:00
abdussamedulutas
71716d8e54
Readme
2025-12-23 14:34:30 +03:00
abdussamedulutas
41aec36d19
delimiters ve operators eklendi
2025-12-23 13:50:09 +03:00