Wave + Whale 統合開発ロードマップ v2
全体ステージ
pre-alpha → pre-beta → alpha → beta → rc → release
Pre-Beta ステージ
目標: 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 ステージ
目標: Whale 導入開始、LLVM と並行使用 / Whale ベースのバックエンド開始実装
主な特徴
- 
LLVM はデフォルトバックエンド
 - 
Whale はオプションバックエンド
 - 
Wave コード実行時に
--backendオプションで分岐可能 
wavec run main.wave --backend=whale
wavec run main.wave --backend=llvm
Whale 関連作業
- 
Whale IR 構造設計および定義 (Instruction, Value, Block など)
 - 
Whale 用 IR Generator 実装
 - 
Whale コード生成器 (アセンブリ or バイナリ)
 - 
Whale のみで可能なタイプ実装 (
i1024、高度なポインタなど) 
チェックポイント
- 
Whale で Hello World 出力
 - 
Whale で変数宣言/割り当て
 - 
Whale IR デバッグツール実装
 - 
Whale でポインタタイプ処理
 - 
Wave → Whale IR 変換進行
 
Beta ステージ
目標: Whale で完全転換、LLVM 除去。 Whale + Wave 組み合わせ最適化