“Create Your Own Programming Language with Rust” adlı bu kitap, programlama dili oluşturmayı öğrenmek isteyen ancak modern, anlaşılır ve özlü kaynaklar bulmakta zorlanan yeni başlayanlara yönelik bir rehber sunuyor. Yazar, derleyicilerin çalışma prensiplerini anlamanın bilgisayarların nasıl çalıştığını kavramak için temel olduğuna inanıyor ve etkili bir öğretim yöntemi olarak etkileşimli ortak oluşturmayı benimsiyor. Kitap, tekerleği yeniden icat etmek yerine Rust gibi olgun teknolojileri kullanarak okuyucuların kendi programlama dillerini adım adım geliştirmelerini sağlıyor.
Kitap, Rust'a temel düzeyde aşina olan okuyucuları hedefliyor ve tüm kod örnekleri GitHub üzerinden erişilebilir durumda. Öğrenme süreci, her biri bir öncekinin üzerine inşa edilen dört farklı dilin geliştirilmesiyle ilerliyor. İlk olarak, en basit dil olan “Calculator” ile PEG temelleri, AST ve operatörler gibi kavramlar yorumlayıcı, sanal makine (VM) ve JIT modlarında işleniyor. Ardından “Firstlang” ile değişkenler, fonksiyonlar, kontrol akışı ve özyineleme gibi konular ağaç tabanlı bir yorumlayıcı ile ele alınıyor.
İleri seviyelerde ise “Secondlang” ve “Thirdlang” projeleri, tip sistemleri, tip çıkarımı, optimizasyon geçişleri, sınıflar, metotlar, kurucular ve bellek yönetimi gibi daha karmaşık konuları LLVM JIT derlemesi kullanarak öğretiyor. Bu son iki dil, nightly Rust ve LLVM kurulumu gerektiriyor. Kitap, okuyuculara basit bir hesap makinesinden tam teşekküllü bir nesne yönelimli dile kadar kendi dillerini yaratma yolculuğunda pratik ve kapsamlı bir deneyim sunarak, derleyici tasarımının temel prensiplerini derinlemesine anlamalarına yardımcı oluyor.
Derleyici tasarımı ve programlama dili geliştirme süreçlerini Rust kullanarak adım adım öğrenmek isteyenler için modern ve pratik bir rehber sunuyor.