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:
@ -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/フォルダを参照してください。
|
||||
Reference in New Issue
Block a user