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

Kurulum

Bu bölümde BERK programlama dilini sisteminize nasıl kuracağınızı öğreneceksiniz.

Gereksinimler

Windows

Linux

  • Ubuntu 20.04+ / Debian 11+ / Fedora 35+
  • Rust toolchain (1.70+)
  • GCC/Clang compiler
  • LLVM 17.0.6
  • Git
  • Minimum 4GB RAM

macOS

  • macOS 11 (Big Sur) veya üzeri
  • Rust toolchain (1.70+)
  • Xcode Command Line Tools
  • LLVM 17.0.6 (Homebrew)
  • Git
  • Minimum 4GB RAM

Rust Kurulumu

BERK, Rust ile yazılmıştır. Önce Rust'ı kurmanız gerekir:

Windows/Linux/macOS

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

Kurulum sonrası:

rustc --version
cargo --version

Çıktı:

rustc 1.75.0 (1.75.0 2024-01-01)
cargo 1.75.0 (1.75.0 2024-01-01)

LLVM Kurulumu

BERK, native kod üretimi için LLVM 17 kullanır.

Windows (Ön-derlenmiş)

  1. LLVM 17.0.6 İndir:

  2. Kur:

    • Installer'ı çalıştırın
    • "Add LLVM to system PATH" seçeneğini işaretleyin
    • Kurulum yolu: C:\Program Files\LLVM (varsayılan)
  3. Doğrula:

    llvm-config --version
    

Windows (Kaynak Koddan)

Detaylı kurulum için: LLVM_SETUP.md

# LLVM kaynak kodunu indir
git clone --depth 1 --branch llvmorg-17.0.6 https://github.com/llvm/llvm-project.git

# Build dizini oluştur
cd llvm-project
mkdir build
cd build

# CMake yapılandırması
cmake -G Ninja ../llvm `
  -DCMAKE_BUILD_TYPE=Release `
  -DLLVM_TARGETS_TO_BUILD=all `
  -DCMAKE_INSTALL_PREFIX=C:\llvm-17

# Derle (2-3 saat sürebilir)
ninja
ninja install

Linux (Ubuntu/Debian)

# LLVM 17 repository ekle
wget https://apt.llvm.org/llvm.sh
chmod +x llvm.sh
sudo ./llvm.sh 17

# Gerekli paketler
sudo apt install llvm-17-dev libllvm17 llvm-17-tools clang-17

Linux (Fedora)

sudo dnf install llvm17-devel llvm17-libs clang17

macOS (Homebrew)

brew install llvm@17

# PATH'e ekle
echo 'export PATH="/opt/homebrew/opt/llvm@17/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc

LLVM Environment Variables

Kurulum sonrası environment variable'ları ayarlayın:

Windows (PowerShell):

$env:LLVM_SYS_170_PREFIX = "C:\llvm-17"
[Environment]::SetEnvironmentVariable("LLVM_SYS_170_PREFIX", "C:\llvm-17", "User")

Linux/macOS (Bash/Zsh):

export LLVM_SYS_170_PREFIX=/usr/lib/llvm-17
echo 'export LLVM_SYS_170_PREFIX=/usr/lib/llvm-17' >> ~/.bashrc

BERK Kurulumu

Method 1: Pre-built Binary (Windows - Önerilen) ⚡

Windows x64 kullanıcıları için en hızlı yol:

  1. İndir:

  2. Kur:

    # İstediğiniz bir klasöre kopyalayın
    New-Item -ItemType Directory -Path C:\BERK -Force
    Move-Item .\BERK-lang.exe C:\BERK\
    
    # PATH'e ekleyin
    [Environment]::SetEnvironmentVariable(
        "Path",
        [Environment]::GetEnvironmentVariable("Path", "User") + ";C:\BERK",
        "User"
    )
    
    # Yeni terminal açın ve test edin
    BERK-lang --version
    
  3. Hızlı Test:

    # REPL ile anında test
    BERK-lang repl
    >>> yazdır("Merhaba!")
    Merhaba!
    

Özellikler:

  • ✅ LLVM 17 dynamic linking - sistem LLVM kullanır
  • ✅ Tüm 19 hedef platform desteği
  • ✅ REPL, JIT run, ve native compile modu
  • ✅ Runtime kütüphaneleri dahil (JSON, Crypto, HTTP)

Not: LLVM dynamic linking kullanıldığı için toplam boyut ~3.8 MB'a düştü (v0.8.0'da 83 MB idi).

Method 2: Kaynak Koddan (Tüm Platformlar)

Linux/macOS veya özelleştirme isteyenler için:

# Repository'yi klonla
git clone https://github.com/ArslantasM/berk.git
cd berk/berk-lang

# LLVM feature ile derle
cargo build --release --features llvm

# Test et
cargo test --features llvm

# Binary'yi PATH'e ekle (Linux/macOS)
sudo ln -s $(pwd)/target/release/BERK-lang /usr/local/bin/BERK-lang

# Binary'yi PATH'e ekle (Windows)
# target\release\BERK-lang.exe dosyasını PATH'teki bir dizine kopyalayın

Derleme Süresi: ~40 saniye (release build)

Method 3: Cargo Install (Gelecek)

# Planlanan özellik
cargo install BERK-lang --features llvm

Kurulum Doğrulama

Kurulumun başarılı olduğunu doğrulayın:

# Derleyici versiyonu
BERK-lang --version

Çıktı:

🚀 BERK Derleyici v1.0.0
   LLVM 17.0.6 (19 Target Support)

Hızlı Test: REPL

En hızlı yol - REPL kullanın:

BERK-lang repl

REPL'de test edin:

>>> yazdır("Kurulum başarılı! 🎉")
Kurulum başarılı! 🎉

>>> değişken x = 42
>>> yazdır(x * 2)
84

>>> fonksiyon kare(n: tamsayı) -> tamsayı { dön n * n }
>>> yazdır(kare(5))
25

Çıkmak için: :quit veya Ctrl+C

Test Programı (Derleme)

Dosyadan çalıştırma:

test.berk:

fonksiyon ana() -> tamsayı
yap
    yazdır("Kurulum başarılı! 🎉")
    dön 0
son

Seçenek 1: JIT çalıştırma (hızlı)

BERK-lang run test.berk

Seçenek 2: Native derleme

BERK-lang compile test.berk -o test.exe
./test.exe

Her iki durumda çıktı:

Kurulum başarılı! 🎉

VS Code Eklentisi (Opsiyonel)

VS Code kullanıyorsanız, BERK eklentisini kurun:

Method 1: Marketplace (Yakında)

VS Code → Extensions → "BERK" ara → Install

Method 2: Manuel Kurulum

cd berk/berk-vscode
npm install
npm run compile
code --install-extension BERK-lang-0.1.0.vsix

Özellikler:

  • Syntax highlighting
  • Code snippets
  • Intellisense (basic)
  • Run/Debug commands
  • Status bar integration

REPL Kullanımı

REPL (Read-Eval-Print Loop) ana derleyici ile birlikte gelir:

# REPL'i başlat
BERK-lang repl

REPL Komutları

BERK> :help

Kullanılabilir komutlar:
  :quit, :q      - REPL'den çık
  :help, :h      - Yardım göster
  :clear, :c     - Ekranı temizle
  :history       - Komut geçmişi
  :lang <tr|en>  - Dil değiştir (Türkçe/English)
  :type <expr>   - İfadenin tipini göster

REPL Örnekleri

Basit hesaplamalar:

>>> 5 + 3
8

>>> 10 * 2.5
25.0

Değişkenler:

>>> değişken isim = "BERK"
>>> yazdır("Merhaba, " + isim)
Merhaba, BERK

Fonksiyonlar:

>>> fonksiyon topla(a: tamsayı, b: tamsayı) -> tamsayı { dön a + b }
>>> topla(10, 20)
30

Dil değiştirme:

>>> :lang en
Language switched to English

>>> function hello(name: string) { print("Hello, " + name) }
>>> hello("World")
Hello, World

>>> :lang tr
Dil Türkçe'ye değiştirildi

Sorun Giderme

LLVM Bulunamıyor

Hata:

error: could not find native static library `LLVM-17`

Çözüm:

# LLVM_SYS_170_PREFIX doğru ayarlı mı?
echo $LLVM_SYS_170_PREFIX  # Linux/macOS
echo $env:LLVM_SYS_170_PREFIX  # Windows

# LLVM kurulu mu?
llvm-config --version

Cargo Build Hatası

Hata:

error: linker `link.exe` not found

Çözüm (Windows):

  • Visual Studio Build Tools 2022 kurulu olmalı
  • "Desktop development with C++" workload seçili olmalı

Yavaş Derleme

İpuçları:

# Parallel build (4 core)
cargo build --release --features llvm -j4

# Incremental compilation
export CARGO_INCREMENTAL=1

# Daha az optimization (debug build)
cargo build --features llvm

macOS ARM (M1/M2) Sorunları

# Rosetta 2 kurulumu
softwareupdate --install-rosetta

# ARM native LLVM
brew install llvm@17

# Architecture kontrol
arch
# Çıktı: arm64

Ek Kurulum Adımları

Debugger (Gelecek)

# GDB (Linux)
sudo apt install gdb

# LLDB (macOS)
xcode-select --install

Profiler (Gelecek)

# Valgrind (Linux)
sudo apt install valgrind

# Instruments (macOS)
# Xcode ile birlikte gelir

Kurulum Tamamlandı!

Artık BERK ile kod yazmaya hazırsınız!

Sonraki Adım: Merhaba Dünya! programınızı yazın

Yardım ve Destek

Sorun mu yaşıyorsunuz?


Önceki: Giriş | Sonraki: Merhaba Dünya!