Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

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 (veya function): Fonksiyon tanımlar
  • ana (veya main): Fonksiyonun adı. Program ana() fonksiyonundan başlar
  • (): Parametre listesi (boş)
  • -> tamsayı: Dönüş tipi (integer)

2. Fonksiyon Gövdesi

yap
    ...
son
  • yap (veya do): Fonksiyonun başlangıcı
  • son (veya end): Fonksiyonun bitişi

3. Yazdırma

yazdır("Merhaba Dünya!")
  • yazdır() (veya print()): Ekrana yazdırır
  • "Merhaba Dünya!": String literal

4. Dönüş Değeri

dön 0
  • dön (veya return): 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:

  1. İlk Programınızı Yazmak - Daha karmaşık bir program
  2. Değişkenler ve Sabitler - Veri saklama
  3. 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, son anahtar kelimeleri
  • yazdır() fonksiyonu
  • dön statement
  • ✅ İki dilli syntax kullanımı
  • ✅ Yaygın hatalar ve çözümleri

Önceki: Kurulum | Sonraki: İlk Programınızı Yazmak