Phase 12.7完了 + ChatGPT5によるVMリファクタリング

## 📚 Phase 12.7 ドキュメント整理
- ChatGPT5作成のANCP Token仕様書v1を整備
- フォルダ構造を機能別に再編成:
  - ancp-specs/ : ANCP圧縮技法仕様
  - grammar-specs/ : 文法改革仕様
  - implementation/ : 実装計画
  - ai-feedback/ : AIアドバイザーフィードバック
- 各フォルダにREADME.md作成で導線改善

## 🔧 ChatGPT5によるVMリファクタリング
- vm_instructions.rs (1927行) をモジュール分割:
  - boxcall.rs : Box呼び出し処理
  - call.rs : 関数呼び出し処理
  - extern_call.rs : 外部関数処理
  - function_new.rs : FunctionBox生成
  - newbox.rs : Box生成処理
  - plugin_invoke.rs : プラグイン呼び出し
- VM実行をファイル分割で整理:
  - vm_state.rs : 状態管理
  - vm_exec.rs : 実行エンジン
  - vm_control_flow.rs : 制御フロー
  - vm_gc.rs : GC処理
- plugin_loader_v2もモジュール化

##  新機能実装
- FunctionBox呼び出しのVM/MIR統一進捗
- ラムダ式のFunctionBox変換テスト追加
- 関数値の直接呼び出し基盤整備

次ステップ: ANCPプロトタイプ実装開始(Week 1)

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

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Moe Charm
2025-09-04 03:41:02 +09:00
parent 7455c9ec97
commit 6488b0542e
57 changed files with 3803 additions and 3871 deletions

View File

@ -0,0 +1,72 @@
# Nyash文法改革仕様書
このフォルダには、Phase 12.7で決定されたNyash文法改革の仕様書が含まれています。
## 📄 ドキュメント一覧
### 📝 最終決定事項
- **[grammar-reform-final-decision.txt](grammar-reform-final-decision.txt)** - 文法改革の最終決定
- 予約語15個への削減
- peek構文の導入
- birth統一コンストラクタ
- フィールド宣言の明示化
### 📐 技術仕様
- **[grammar-technical-spec.txt](grammar-technical-spec.txt)** - 詳細な技術仕様書
- 構文のBNF定義
- パーサー実装ガイド
- 後方互換性の考慮事項
## 🎯 文法改革の要点
### 15個の予約語
```
box, new, me, public, if, else, loop, break, continue,
peek, return, import, from, birth, fn
```
### 主要な変更点
#### 1. peek構文switch/case代替
```nyash
peek value {
"hello" => print("Hi!")
42 => print("The answer")
else => print("Other")
}
```
#### 2. birth統一コンストラクタ
```nyash
box Life {
init { name, energy }
birth(lifeName) { // すべてのBoxでbirth使用
me.name = lifeName
me.energy = 100
}
}
```
#### 3. fn{}でFunctionBox作成
```nyash
local add = fn{a, b => a + b}
```
#### 4. フィールド宣言の明示化
```nyash
box Person {
init { name, age } // フィールドを明示的に宣言
}
```
## 🔄 実装状況
- ✅ 仕様決定完了
- ✅ ChatGPT5による基本実装
- 🔄 テスト作成中
- 📅 完全移行Phase 12.7-B
---
詳細な実装については、implementation/フォルダを参照してください。