Merhaba Dünya!
Her programlama dilinde gelenek, ilk programın "Merhaba Dünya!" yazdırması olmuştur. BERK'ta da bu geleneği sürdürüyoruz!
İlk Programınız
Favori metin editörünüzde merhaba.berk adında bir dosya oluşturun:
fonksiyon ana() -> tamsayı
yap
yazdır("Merhaba Dünya!")
dön 0
son
Kodu Anlayalım
Satır satır inceleyelim:
1. Fonksiyon Tanımı
fonksiyon ana() -> tamsayı
fonksiyon(veyafunction): Fonksiyon tanımlarana(veyamain): Fonksiyonun adı. Programana()fonksiyonundan başlar(): Parametre listesi (boş)-> tamsayı: Dönüş tipi (integer)
2. Fonksiyon Gövdesi
yap
...
son
yap(veyado): Fonksiyonun başlangıcıson(veyaend): Fonksiyonun bitişi
3. Yazdırma
yazdır("Merhaba Dünya!")
yazdır()(veyaprint()): Ekrana yazdırır"Merhaba Dünya!": String literal
4. Dönüş Değeri
dön 0
dön(veyareturn): Fonksiyondan çıkış0: Başarılı programlar 0 döner (Unix geleneği)
Derleme ve Çalıştırma
Adım 1: Derleme
BERK-lang merhaba.berk -o merhaba.exe
Çıktı:
🚀 BERK Derleyici v1.0.0
LLVM 17.0.6 (19 Target Support)
=========================================
📂 Giriş: merhaba.berk
📤 Çıkış: merhaba.exe
🎯 Emit: Executable
⚡ Optimizasyon: O0
=========================================
✅ Derleme başarılı!
Adım 2: Çalıştırma
Windows:
.\merhaba.exe
Linux/macOS:
./merhaba
Çıktı:
Merhaba Dünya!
İngilizce Versiyonu
BERK iki dilli! Aynı programı İngilizce de yazabilirsiniz:
hello.berk:
function main() -> integer
do
print("Hello World!")
return 0
end
Derleme:
BERK-lang hello.berk -o hello.exe
./hello.exe
Çıktı:
Hello World!
Karışık Kullanım
Hatta Türkçe ve İngilizce'yi karıştırabilirsiniz:
function ana() -> tamsayı
yap
print("Hello Dünya!")
return 0
son
Bu da geçerli bir BERK kodudur!
Derleme Seçenekleri
Verbose Mode
Derleme adımlarını görmek için:
BERK-lang merhaba.berk -o merhaba.exe -v
Çıktı:
🔍 Dil tanıma...
✅ Turkish detected (100.0% confidence)
🌳 AST oluşturuluyor...
✅ 1 ifade parse edildi
🧠 Akıllı analiz (Rules Engine)...
✅ Analiz tamamlandı
🔍 Tip kontrolü...
✅ Tip kontrolü başarılı
🔧 IR üretimi...
✅ IR üretildi
🎯 LLVM IR üretimi...
✅ Object file: merhaba.o
🔗 Linking...
✅ Executable oluşturuldu: merhaba.exe
🎊 Derleme başarılı!
Optimizasyon Seviyeleri
O0 - Optimizasyon yok (varsayılan):
BERK-lang merhaba.berk -o merhaba_o0.exe -O0
O1 - Temel optimizasyonlar:
BERK-lang merhaba.berk -o merhaba_o1.exe -O1
O2 - Orta seviye (önerilen):
BERK-lang merhaba.berk -o merhaba_o2.exe -O2
O3 - Agresif optimizasyonlar:
BERK-lang merhaba.berk -o merhaba_o3.exe -O3
Farklı Çıktı Formatları
LLVM IR göster:
BERK-lang merhaba.berk --emit llvm-ir
Assembly göster:
BERK-lang merhaba.berk --emit asm
IR göster:
BERK-lang merhaba.berk --emit ir
REPL'de Deneme
Etkileşimli kabukta da deneyebilirsiniz:
BERK-repl
BERK> yazdır("Merhaba REPL!")
Merhaba REPL!
=> Result: Void
BERK> 1 + 2
=> Result: Integer = 3
BERK> :quit
Güle güle!
Alıştırmalar
Alıştırma 1: Kişiselleştirme
Programı kendi adınızı yazdıracak şekilde değiştirin:
fonksiyon ana() -> tamsayı
yap
yazdır("Merhaba, [ADINIZ]!")
dön 0
son
Alıştırma 2: Çoklu Yazdırma
Birden fazla satır yazdırın:
fonksiyon ana() -> tamsayı
yap
yazdır("Merhaba Dünya!")
yazdır("BERK'a hoş geldiniz!")
yazdır("İyi kodlamalar!")
dön 0
son
Alıştırma 3: Değişken Kullanımı
String'i bir değişkende saklayın:
fonksiyon ana() -> tamsayı
yap
değişken mesaj = "Merhaba Dünya!"
yazdır(mesaj)
dön 0
son
Alıştırma 4: String Birleştirme
İki string'i birleştirin:
fonksiyon ana() -> tamsayı
yap
değişken selamlama = "Merhaba"
değişken isim = "Ahmet"
yazdır(selamlama + ", " + isim + "!")
dön 0
son
Yaygın Hatalar
Hata 1: Noktalı Virgül Yok
BERK'ta noktalı virgül gerekmez:
// ❌ Yanlış
yazdır("Merhaba");
// ✅ Doğru
yazdır("Merhaba")
Hata 2: Parantez Eksikliği
// ❌ Yanlış
yazdır "Merhaba"
// ✅ Doğru
yazdır("Merhaba")
Hata 3: ana() Fonksiyonu Yok
// ❌ Yanlış - ana() fonksiyonu yok
yazdır("Merhaba")
// ✅ Doğru - ana() fonksiyonu var
fonksiyon ana() -> tamsayı
yap
yazdır("Merhaba")
dön 0
son
Hata 4: Dönüş Değeri Eksik
// ❌ Yanlış - return eksik
fonksiyon ana() -> tamsayı
yap
yazdır("Merhaba")
son
// ✅ Doğru - return var
fonksiyon ana() -> tamsayı
yap
yazdır("Merhaba")
dön 0
son
Sonraki Adımlar
Tebrikler! İlk BERK programınızı yazdınız!
Şimdi daha fazlasını öğrenmeye hazırsınız:
- İlk Programınızı Yazmak - Daha karmaşık bir program
- Değişkenler ve Sabitler - Veri saklama
- Veri Tipleri - Tipler hakkında daha fazla
Özet
Bu bölümde öğrendikleriniz:
- ✅ Basit bir BERK programı yazmak
- ✅ Program derlemek ve çalıştırmak
- ✅
fonksiyon,yap,sonanahtar kelimeleri - ✅
yazdır()fonksiyonu - ✅
dönstatement - ✅ İki dilli syntax kullanımı
- ✅ Yaygın hatalar ve çözümleri
Önceki: Kurulum | Sonraki: İlk Programınızı Yazmak