نقشهراه توسعهی یکپارچه Wave + Whale نسخه ۲
مراحل کامل
پیش-آلفا → پیش-بتا → آلفا → بتا → نسخه کاندیدا → انتشار
مرحله پیش بتا
هدف: تکمیل قسمت جلویی زبان Wave + پیادهسازی کامل قابلیتها با استفاده از بکاند LLVM
ویژگیهای اصلی
- 
فقط از LLVM استفاده میشود (بدون Whale)
 - 
افزودن نحو جدید وجود ندارد، تنها مشخصات موجود پیادهسازی میشود
 - 
پیامهای خطا، بررسی نوع، و دامنهی متغیرها و پایدارسازی ساختار مرکزی جلویی
 
دامنه پیادهسازی
- 
اعلان متغیر، خروجی، عملیات
 - 
تعریف و فراخوانی تابع
 - 
if / else if / else
 - 
while / break / continue
 - 
خروجی قالب، تعیین نوع
 - 
طراحی اشارهگر (به شکل
ptr<T>) - 
طراحی آرایه (
array<T, N>) - 
بررسی تایپ و AST ساختاری
 
تکنولوژیهای استفادهشده
- 
Rust (تمام کامپایلر Wave)
 - 
LLVM (تولید IR، اجرای AOT)
 - 
inkwell / llvm-sys
 
مرحله Alpha
هدف: شروع معرفی Wahle، استفاده همزمان با LLVM / شروع پیادهسازی بکاند مبتنی بر Whale
ویژگیهای اصلی
- 
LLVM به عنوان بکا ند پیشفرض
 - 
Whale به عنوان بکاند انتخابی
 - 
امکان شاخهبندی با گزینه
--backendدر زمان اجرای کد Wave 
wavec run main.wave --backend=whale
wavec run main.wave --backend=llvm
فعالیتهای مرتبط با Whale
- 
طراحی و تعریف ساختار IR برای Whale (شامل Instruction، Value، Block و غیره)
 - 
پیادهسازی Generator IR برای Whale
 - 
ژنراتور کد Whale (اسمبلر ی یا باینری)
 - 
پیادهسازی تایپهایی که تنها با Whale ممکن است (مانند
i1024، اشارهگرهای پیشرفته و غیره) 
نقطه کنترل
- 
چاپ Hello World با Whale
 - 
اعلان/انتساب متغیر در Whale
 - 
پیادهسازی ابزار دیباگ IR برای Whale
 - 
مدیریت تایپ اشارهگر در Whale
 - 
پیشبرد تبدیل Wave به IR برای Whale
 
مرحله Beta
هدف: انتقال کامل به Whale، حذف LLVM بهینهسازی ترکیب Whale و Wave
ویژگیهای اصلی
- 
فقط استفاده از Whale
 - 
حذف کامل LLVM (وابستگیها و ماژولها)
 - 
تمرکز بر بهینهسازی کد
 - 
از IR تا اجرا سریع و کارآمد