docs: Phase 15.5 Core Box Unification更新&既存システム発見

Phase 15.5計画と実装状況を更新:
- CLAUDE.md: Phase 15.5を最新アップデートに追加
- CURRENT_TASK.md: Core Box Unificationを現在のタスクに設定
- 重要な発見: NYASH_USE_PLUGIN_BUILTINS=1が既に完全実装済み
- 環境変数制御システムが src/box_factory/mod.rs に存在
- 新規実装不要、既存機能の活用が鍵と判明

ChatGPTの革命的提案とTask先生の詳細分析により、
3層→2層アーキテクチャ移行の道筋が明確化

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Selfhosting Dev
2025-09-24 04:55:55 +09:00
parent 57599c174d
commit a160c186fd
2 changed files with 42 additions and 24 deletions

View File

@ -240,23 +240,18 @@ NYASH_DISABLE_PLUGINS=1 ./target/release/nyash --backend llvm program.nyash
- `NYASH_USING_PROFILE=dev|smoke|debug` でプロファイル化
- または `--using-mode=dev` CLIフラグで統合
## 📝 Update (2025-09-24) 🚀 MIR Call命令統一Phase 3.1-3.3完了
-**Phase 1-2完了** - MIR基盤構築と統一メソッド実装
- **定義外部化**: `src/mir/definitions/call_unified.rs`297行
- **統一メソッド**: `emit_unified_call()`便利メソッド3種実装済み
## 📝 Update (2025-09-24) 🚀 Phase 15.5 Core Box Unification計画策定
-**Phase 15.5計画完成** - コアBox削除→2層構造への革命
- **3層→2層**: コアBoxnyrt内蔵削除、プラグイン/ユーザーBoxのみに
- **削減目標**: 約700行nyrt実装600行 + 特別扱い100行
- **既存システム発見**: `NYASH_USE_PLUGIN_BUILTINS=1``NYASH_PLUGIN_OVERRIDE_TYPES`が完全実装済み
- **実装戦略**: DLL動作確認→Nyashコード化の段階的移行
- **詳細ドキュメント**: [phase-15.5-core-box-unification.md](docs/development/roadmap/phases/phase-15/phase-15.5-core-box-unification.md)
-**MIR Call命令統一Phase 3.1-3.3完了**
- **統一メソッド**: `emit_unified_call()`実装済み
- **環境変数制御**: `NYASH_MIR_UNIFIED_CALL=1`で切り替え可能
-**Phase 3.1-3.3完了** - 基本関数とBoxCallの統一Call移行成功
- **indirect call**: `build_indirect_call_expression``CallTarget::Value`使用
- **print関数**: `call_global print()`として統一ExternCall→Callee::Global
- **function call**: `build_function_call``CallTarget::Global`使用
- **BoxCall統一**: `emit_box_or_plugin_call``CallTarget::Method`使用
- **実行確認**: `env NYASH_MIR_UNIFIED_CALL=1 ./target/release/nyash --dump-mir`で動作確認済み
- 📊 **マスタープラン進捗** - 4つの実行器で完全統一へ
- **削減見込み**: 7,372行 → 5,468行**26%削減**
- **処理パターン**: 24 → 4**83%削減**
- **Phase 15寄与**: 全体目標の約7%(重要な柱)
- **詳細ドキュメント**: [mir-call-unification-master-plan.md](docs/development/roadmap/phases/phase-15/mir-call-unification-master-plan.md)
- 🎯 **6種類→1種類**: Call/BoxCall/PluginInvoke/ExternCall/NewBox/NewClosure → **MirCall**
- **6種類→1種類**: Call/BoxCall/PluginInvoke/ExternCall/NewBox/NewClosure → **MirCall**
## 🧪 テストスクリプト参考集(既存のを活用しよう!)
```bash

View File

@ -1,18 +1,41 @@
# Current Task — MIR Architecture Revolution (Design Innovation)
# Current Task — Phase 15.5 Core Box Unification (3層→2層革命)
Updated: 20250924
## 🎯 **現在進行中: Phase 15.5 JSON v0中心化・統一Call基盤革命**
**セルフホスティング前の基盤アーキテクチャ大改革**
## 🎯 **現在進行中: Phase 15.5 Core Box Unification**
**コアBoxnyrt内蔵削除による3層→2層アーキテクチャ革**
📋 **詳細ドキュメント**: [Phase 15.5 README](docs/development/roadmap/phases/phase-15.5/README.md)
- 📊 **進捗追跡**: [実装状況](docs/development/roadmap/phases/phase-15.5/implementation-status.md)
- 🛡️ **戦略**: [段階移行計画](docs/development/roadmap/phases/phase-15.5/migration-phases.md) | [リスク分析](docs/development/roadmap/phases/phase-15.5/risk-analysis.md)
📋 **詳細ドキュメント**: [Phase 15.5 Core Box Unification](docs/development/roadmap/phases/phase-15/phase-15.5-core-box-unification.md)
- 📊 **削減目標**: 約700行nyrt実装600行 + 特別扱い100行
- 🛡️ **戦略**: DLL動作確認 → Nyashコード化の段階的移行
### MIR Call命令統一実装 (Phase A進行中)
**ChatGPT5 Pro A++設計による6種類Call命令→1つのMirCallへの統一作業**
### ✅ **重要な発見:既存システムが完全実装済み!**
- **環境変数制御**: `NYASH_USE_PLUGIN_BUILTINS=1` + `NYASH_PLUGIN_OVERRIDE_TYPES="StringBox,IntegerBox"`
- **実装箇所**: `src/box_factory/mod.rs:119-143`に完全な優先度制御システム
- **結論**: 新規実装不要、既存機能の活用が鍵
### ✅ **Phase 1-2完了済み**2025-09-24
### 実装フェーズ計画
#### Phase A: プラグイン版動作確認1週目
- [ ] 環境変数制御のドキュメント作成
- [ ] プラグイン版StringBox/IntegerBox/ArrayBox/MapBoxの動作テスト
- [ ] パフォーマンス測定FFIオーバーヘッド確認
#### Phase B: MIRビルダー統一2週目
- [ ] `src/mir/builder.rs`の特別扱い削除行407-424
- [ ] `src/mir/builder/utils.rs`の型推論削除行134-156
- [ ] すべてのBoxを`MirType::Box(name)`として統一
#### Phase C: nyrt実装削除3週目
- [ ] `crates/nyrt/src/lib.rs`からコアBox関数削除約300行
- [ ] `crates/nyrt/src/plugin/array.rs`削除143行
- [ ] `crates/nyrt/src/plugin/string.rs`削除173行
#### Phase D: Nyashコード化将来
- [ ] `apps/lib/core_boxes/`にNyash実装作成
- [ ] StringBox, IntegerBox, ArrayBox, MapBoxのNyash版実装
- [ ] 静的リンクによる性能最適化
### ✅ **MIR Call命令統一実装完了済み**2025-09-24
- [x] **MIR定義の外部化とモジュール化**
- `src/mir/definitions/`ディレクトリ作成
- `call_unified.rs`: MirCall/CallFlags/Callee統一定義297行