D++ (uzantı: .dpp), Python ile yazılmış, tamamen Türkçe sözdizimi kullanan, yeni başlayanlar için tasarlanmış bir yorumlanabilir (interpreter) programlama dilidir.
Python kadar kolay, tamamen Türkçe.
- Özellikler
- Hızlı Başlangıç
- Dil Kılavuzu
- Örnek Programlar
- Proje Yapısı
- Hata Mesajları
- VS Code Desteği
- Katkıda Bulunma
- ✅ Türkçe sözdizimi — tüm anahtar kelimeler Türkçe
- ✅ Basit ve temiz — Python benzeri okunabilirlik
- ✅ Interpreter — derleyici yok, hemen çalıştır
- ✅ Python ile yazılmış — katkıda bulunması kolay
- ✅ Girinti tabanlı bloklar — Python gibi
:ve boşlukla blok yapısı - ✅ Zengin veri tipleri —
int,float,str,bool - ✅ Fonksiyon desteği — parametreli ve dönüş değerli
- ✅ Türkçe hata mesajları — hatalar anlaşılır Türkçe
- ✅ Terminal tabanlı — her platformda çalışır
- Python 3.6 veya üzeri
# Doğrudan Python ile
python dpp.py dosya.dpp
# Windows batch ile
dpp.bat dosya.dpp
# REPL (etkileşimli) mod
python dpp.py --replmerhaba.dpp dosyası oluşturun:
say "Merhaba Dünya"
Çalıştırın:
python dpp.py merhaba.dppÇıktı:
Merhaba Dünya
say "Merhaba Dünya"
say 42
say 3.14
say dogru
Çıktı:
Merhaba Dünya
42
3.14
dogru
İfadeler de yazdırılabilir:
say "Sonuç: " + str(5 + 3)
int yas = 16
str isim = "Mert"
float boy = 1.85
bool aktif = dogru
Değişkenlere sonradan değer atanabilir:
yas = 20
Değişkenin değeri yazdırılabilir:
say isim # Çıktı: Mert
| Tür | Açıklama | Örnek |
|---|---|---|
int |
Tam sayı | 42, -5, 0 |
float |
Ondalıklı sayı | 3.14, -0.5 |
str |
Metin (string) | "Merhaba" |
bool |
Mantıksal değer | dogru, yanlis |
Aritmetik Operatörler:
| Operatör | İşlem | Örnek |
|---|---|---|
+ |
Toplama | 5 + 3 → 8 |
- |
Çıkarma | 5 - 3 → 2 |
* |
Çarpma | 5 * 3 → 15 |
/ |
Bölme | 5 / 2 → 2.5 |
% |
Mod alma | 5 % 2 → 1 |
Karşılaştırma Operatörleri:
| Operatör | İşlem | Örnek |
|---|---|---|
== |
Eşit mi | 5 == 5 → dogru |
!= |
Eşit değil mi | 5 != 3 → dogru |
> |
Büyük mü | 5 > 3 → dogru |
< |
Küçük mü | 3 < 5 → dogru |
>= |
Büyük eşit mi | 5 >= 5 → dogru |
<= |
Küçük eşit mi | 3 <= 5 → dogru |
İşlem Önceliği:
- Parantez:
( ) - Tekli operatör:
- - Çarpma, bölme, mod:
* / % - Toplama, çıkarma:
+ - - Karşılaştırma:
== != > < >= <=
int yas = 16
eger yas >= 18:
say "Yetişkin"
say "Ehliyet alabilirsin"
degilse:
say "Çocuk"
İç içe koşullar:
int not = 85
eger not >= 50:
eger not >= 85:
say "Pekiyi"
degilse:
say "Geçti"
degilse:
say "Kaldı"
For Döngüsü (dongu):
dongu i = 1 dan 5:
say i
Çıktı: 1 2 3 4 5
Birden fazla işlem:
int toplam = 0
dongu i = 1 dan 10:
toplam = toplam + i
say toplam # Çıktı: 55
While Döngüsü (iken):
int x = 0
iken x < 5:
say x
x = x + 1
Çıktı: 0 1 2 3 4
Tanımlama:
fonksiyon selam():
say "Merhaba!"
fonksiyon topla(a, b):
don a + b
Çağırma:
selam() # Çıktı: Merhaba!
say topla(5, 3) # Çıktı: 8
Parametreli:
fonksiyon selamla(isim):
say "Merhaba " + isim
selamla("Ali") # Çıktı: Merhaba Ali
Değer Döndürme (don):
fonksiyon faktoriyel(n):
int sonuc = 1
iken n > 1:
sonuc = sonuc * n
n = n - 1
don sonuc
say faktoriyel(5) # Çıktı: 120
str ad = oku "Adınız: "
say "Merhaba " + ad
Girdi her zaman str (metin) olarak alınır. Sayıya çevirmek için tip dönüşümü kullanın:
str girdi = oku "Yaşınız: "
int yas = int(girdi)
str(42) # "42"
int("42") # 42
float(5) # 5.0
int(3.14) # 3
# Bu bir yorum satırıdır
# Yorumlar # ile başlar
say "Merhaba" # Satır sonu yorum
examples/ klasöründe hazır örnekler bulunur:
| Dosya | Açıklama |
|---|---|
main.dpp |
Temel değişkenler ve koşullar |
degiskenler.dpp |
Veri tipleri ve işlemler |
donguler.dpp |
For ve while döngüleri |
fonksiyonlar.dpp |
Fonksiyon tanımı ve çağrısı |
hesap_makinesi.dpp |
Basit hesap makinesi |
sayi_tahmin.dpp |
Sayı tahmin oyunu (girdi bekler) |
Çalıştırmak için:
python dpp.py examples/main.dppdpp/
│
├── dpp.py # Çalıştırıcı (CLI)
├── lexer.py # Tokenizer (kelime analizci)
├── parser.py # Parser (AST oluşturucu)
├── interpreter.py # Kod yürütücü
├── errors.py # Türkçe hata sınıfları
├── keywords.py # Token tipleri ve anahtar kelimeler
├── utils.py # Yardımcı fonksiyonlar
├── dpp.bat # Windows batch çalıştırıcı
│
├── examples/ # Örnek .dpp dosyaları
│ ├── main.dpp
│ ├── degiskenler.dpp
│ ├── donguler.dpp
│ ├── fonksiyonlar.dpp
│ ├── hesap_makinesi.dpp
│ ├── sayi_tahmin.dpp
│ └── oncelik_test.dpp
│
├── tests/
│ └── test_tum_ozellikler.dpp
│
└── vscode-extension/ # VS Code dil desteği
├── package.json
├── SETUP.md
├── syntaxes/
│ └── dpp.tmLanguage.json
└── .vscode/
└── language-configuration.json
Tüm hata mesajları Türkçedir.
say isimm
Hata:
Satır 1
Tanımlanmamış değişken:
isimm
Diğer hata örnekleri:
Beklenmeyen karakter: '$'
Sıfıra bölme hatası
Tip hatası: ...
String sonlanmadı. Tırnak eklemeyi unuttunuz.
D++ için VS Code eklentisi vscode-extension/ klasöründedir.
Özellikler:
- Syntax Highlighting (anahtar kelimeler mavi, string yeşil, sayı turuncu, yorum gri)
- Auto Indent
- Bracket Matching
- Comment Toggle (
#ile)
Kurulum için vscode-extension/SETUP.md dosyasına bakın.
- Bu depoyu fork edin
- Yeni bir branch oluşturun:
git checkout -b yeni-ozellik - Değişikliklerinizi yapın
- Test edin:
python dpp.py tests/test_tum_ozellikler.dpp - Branch'inizi push edin:
git push origin yeni-ozellik - Pull Request oluşturun
- Yeni bir özellik eklerken önce
keywords.py'ye token tipini ekleyin - Sonra
lexer.py'de tokenize etme mantığını yazın parser.py'da AST düğümünü ve ayrıştırma mantığını oluşturuninterpreter.py'da yürütme mantığını ekleyinexamples/altına örnek ekleyin
MIT