Commit Graph

27 Commits

Author SHA1 Message Date
saqut c354d0b434 feat: implement source location tracking and enhance parser AST nodes 2026-05-27 09:39:47 +03:00
saqut 6aa0da2378 parser: function calls, struct, member/index access - Final.sqt parses successfully (289 tokens, 200+ AST nodes) 2026-05-26 17:27:06 +03:00
saqut 4d3150e811 cli: modular command system, AST JSON serialization, file split prep 2026-05-26 17:05:20 +03:00
saqut eb72680507 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