TurkScript dilinde yazılmış kodlar için gerçek zamanlı sözdizimi vurgulaması yapan GUI uygulaması. Bu proje, Türkçe anahtar kelimelerle çalışan özgün bir programlama dili olan TurkScript için lexical analyzer, parser ve syntax highlighter içerir.
Bu uygulama, modern compiler tasarım prensiplerini kullanarak gerçek zamanlı kod analizi ve sözdizimi vurgulaması sağlar. TurkScript, tamamen Türkçe anahtar kelimelerle tasarlanmış özgün bir programlama dilidir.
- Gerçek Zamanlı Syntax Highlighting: 300ms gecikme ile anlık renklendirme
- Leksikal Analiz: 10 farklı token türünü tanıyan lexer
- Sözdizimi Analizi: Top-down parser ile grammar kontrolü
- Hata Yönetimi: Lexical ve syntax hatalarının detaylı raporlanması
- Kullanıcı Dostu GUI: Tkinter ile geliştirilmiş modern arayüz
- Türkçe Dil Desteği: Tamamen Türkçe anahtar kelimeler
// TurkScript Örneği
degisken sayi x = 10;
degisken metin isim = "Edem";
eger (x > 5) {
yazdir("x büyük bir sayı");
} yoksa {
yazdir("x küçük bir sayı");
}
fonksiyon topla(a, b) {
don a + b;
}
degisken sonuc = cagir topla(5, 3);
yazdir(sonuc);
- Python 3.7 veya üzeri
- Tkinter (Python ile birlikte gelir)
- Projeyi GitHub'dan klonlayın:
git clone https://github.com/makhsudov/SyntaxHighlighter.git
cd SyntaxHighlightersrcklasörüne gidin:
cd src- Uygulamayı çalıştırın:
python main.pysrc/
├── main.py # Ana uygulama dosyası
├── gui.py # GUI arayüzü
├── lexer.py # Leksikal analizci
├── turkscript_parser.py # Sözdizimi analizcisi
└── turkscript_grammar.py # Dil gramerı ve tanımları
- Lexer: State Diagram & Program Implementation yaklaşımı
- Parser: Top-Down (Recursive Descent) Parser
- GUI: Tkinter framework ile responsive tasarım
- Real-time Analysis: Debounce mechanism ile performans optimizasyonu
- ANAHTAR_KELIME (eger, dongu, fonksiyon)
- TANIMLAYICI (değişken adları)
- SAYI (123, 45.67)
- METIN ("merhaba", 'dünya')
- OPERATOR (+, -, ==, !=)
- AYIRICI ((, ), {, }, ;)
- YORUM (// yorum satırı)
- HATA (tanınmayan karakterler)
- Demo Video: YouTube'da İzle
- Teknik Makale: Medium'da Oku
- Proje Dokümantasyonu: PDF İndir
- Uygulamayı başlatın
- Sol paneldeki kod editörüne TurkScript kodunuzu yazın
- Gerçek zamanlı syntax highlighting ve hata kontrolü görün
- Sağ panelde token istatistikleri ve hata raporlarını inceleyin
degisken sayi yas = 25;
degisken metin ad = "Edem";
degisken mantik aktif = dogru;
eger (not >= 90) {
yazdir("A");
} yoksa eger (not >= 80) {
yazdir("B");
} yoksa eger (not >= 70) {
yazdir("C");
} yoksa {
yazdir("F");
}
fonksiyon selamla(isim) {
yazdir("Merhaba " + isim);
}
cagir selamla("Dünya");
- Geliştirici: Edem Makhsudov
- Öğrenci No: 22360859373
- Üniversite: Bursa Teknik Üniversitesi
- Bölüm: Bilgisayar Mühendisliği
- Ders: BLM0238 Programlama Dilleri
Not: Bu proje "Real-Time Grammar-Based Syntax Highlighter with GUI" projesi kapsamında geliştirilmiştir.


