json-native: enable float roundtrip in parser (NUMBER => float by '.'/exp); expand roundtrip smoke with more numeric cases

This commit is contained in:
Selfhosting Dev
2025-09-26 00:32:20 +09:00
parent 4503643af4
commit 6ce06501e1
30 changed files with 823 additions and 801 deletions

View File

@ -0,0 +1,276 @@
# Nyash ドキュメント再編成計画 📚
## 📊 現状の分析結果
### ファイル数統計
- **総ファイル数**: 283個.md: 211個, .txt: 72個
- **archive/**: 113ファイル40%
- **予定/**: 111ファイル39%
- **説明書/**: 41ファイル14%
- **その他**: 18ファイル7%
### 重複・散在ファイル
- **README系**: 18個各ディレクトリに散在
- **GETTING_STARTED**: 3バージョン存在
- **Phase関連**: 42ファイル主に予定/native-plan/issues/
- **AI相談記録**: 41ファイル複数箇所に散在
- **ビルドログ**: 13ファイルarchive各所
## 🔍 現状の問題点
### 1. **構造の混乱**
- トップレベルに開発中/正式文書が混在
- `説明書/` と直下に同じような内容が散在
- `archive/` に無秩序に大量のファイル
### 2. **重複と不明確な階層**
- `説明書/reference/``reference/` が併存
- GETTING_STARTED.md が複数存在通常版と2025版
- MIR関連ドキュメントが複数箇所に分散
### 3. **AI相談記録の散在**
- gemini/chatgpt相談が archive/, トップ, design/decisions/ など複数箇所
- ビルドログも同様に散在
### 4. **開発フェーズ管理の複雑さ**
- Phase関連ファイルが `予定/native-plan/issues/` に大量
- 現在のタスクと将来計画が混在
## 📋 提案する新構造
```
docs/
├── README.md # ドキュメントマップ(どこに何があるか)
├── 📖 reference/ # 正式な技術仕様(安定版)
│ ├── README.md
│ ├── language/ # 言語仕様
│ │ ├── syntax.md # 構文リファレンス
│ │ ├── types.md # 型システム
│ │ ├── boxes.md # Box仕様
│ │ └── delegation.md # デリゲーション仕様
│ ├── architecture/ # アーキテクチャ
│ │ ├── overview.md # 全体設計
│ │ ├── mir.md # MIR仕様
│ │ ├── vm.md # VM仕様
│ │ └── plugins.md # プラグインシステム
│ └── api/ # API仕様
│ ├── builtin-boxes.md # ビルトインBox一覧
│ └── stdlib.md # 標準ライブラリ
├── 📚 guides/ # 利用者向けガイド
│ ├── README.md
│ ├── getting-started.md # はじめに(統一版)
│ ├── tutorials/ # チュートリアル
│ │ ├── hello-world.md
│ │ ├── basic-boxes.md
│ │ └── p2p-apps.md
│ ├── examples/ # サンプルコード
│ └── playground.md # プレイグラウンドガイド
├── 🔧 development/ # 開発者向け(進行中)
│ ├── README.md
│ ├── current/ # 現在の作業
│ │ ├── CURRENT_TASK.md
│ │ └── VM_CHANGES.md
│ ├── roadmap/ # 開発計画
│ │ ├── phases/ # Phase別計画
│ │ │ ├── phase-8/
│ │ │ ├── phase-9/
│ │ │ └── phase-10/
│ │ └── native-plan/ # ネイティブビルド計画
│ └── proposals/ # 提案・RFC
│ └── phase_9_78e.md
├── 🗄️ archive/ # アーカイブ(古い/歴史的文書)
│ ├── README.md # アーカイブの説明
│ ├── consultations/ # AI相談記録
│ │ ├── gemini/
│ │ ├── chatgpt/
│ │ └── codex/
│ ├── decisions/ # 過去の設計決定
│ ├── build-logs/ # ビルドログ
│ └── old-versions/ # 古いドキュメント
└── 🎨 assets/ # 画像・図表など
├── diagrams/
└── screenshots/
```
## 🔄 移行計画
### Phase 1: 基本構造作成(優先度: 高)
1. 新しいディレクトリ構造を作成
2. README.md でドキュメントマップ作成
3. 現在進行中のファイルを `development/current/` へ移動
### Phase 2: リファレンス整理(優先度: 高)
1. `説明書/reference/` の内容を `reference/` に統合
2. 重複ファイルの統合GETTING_STARTED統一版作成
3. MIR/VM関連ドキュメントを適切な場所に配置
### Phase 3: アーカイブ整理(優先度: 中)
1. AI相談記録を `archive/consultations/` に集約
2. ビルドログを `archive/build-logs/` に集約
3. 古いドキュメントを `archive/old-versions/`
### Phase 4: 開発ドキュメント整理(優先度: 中)
1. Phase関連ファイルを番号順に整理
2. 現在のタスクと将来計画を明確に分離
3. native-plan を整理して見やすく
## 💡 メリット
1. **明確な分類**: 利用者向け/開発者向け/アーカイブが明確
2. **検索性向上**: 必要な情報がどこにあるか分かりやすい
3. **メンテナンス性**: 新しいドキュメントの追加場所が明確
4. **バージョン管理**: 現在の仕様と過去の記録が分離
## 🤔 検討事項
### 日本語ディレクトリ名の変換案
現在の日本語ディレクトリを英語に統一:
- `説明書/``guides/` に内容を移動
- `予定/``development/roadmap/` に内容を移動
- 日本語ファイル名(.txt/.mdはそのまま維持内容が日本語のため
**理由**:
- 国際的な開発者にもアクセスしやすい
- パス指定時のエンコーディング問題を回避
- Git操作が簡単に
### 既存リンクの対応
- 多くの場所から参照されている可能性
-**対策**: 移行期間は旧パスにシンボリックリンクまたはREADME配置
### 自動生成ドキュメント
- MIRダンプやベンチマーク結果など
-**提案**: `development/generated/` または `archive/generated/` に配置
## 📝 実装順序の提案
### Step 1: 基本構造作成スクリプト
```bash
#!/bin/bash
# create_new_structure.sh
# 新構造の作成
mkdir -p reference/{language,architecture,api}
mkdir -p guides/{tutorials,examples}
mkdir -p development/{current,roadmap/{phases/{phase-8,phase-9,phase-10},native-plan},proposals}
mkdir -p archive/{consultations/{gemini,chatgpt,codex},decisions,build-logs,old-versions}
mkdir -p assets/{diagrams,screenshots}
# 各ディレクトリにREADME.mdを配置
echo "# Reference Documentation" > reference/README.md
echo "# User Guides" > guides/README.md
echo "# Development Documentation" > development/README.md
echo "# Archive" > archive/README.md
```
### Step 2: 優先移動ファイルリスト
1. **現在の作業ファイル**
- `CURRENT_TASK.md``development/current/`
- `CURRENT_VM_CHANGES.md``development/current/`
- `phase_9_78e_summary.md``development/current/`
2. **言語仕様**
- `LANGUAGE_REFERENCE_2025.md``reference/language/`
- `TECHNICAL_ARCHITECTURE_2025.md``reference/architecture/`
- `説明書/reference/` の内容 → `reference/` へ統合
3. **利用者ガイド**
- GETTING_STARTED系を統合 → `guides/getting-started.md`
- `説明書/guides/``guides/tutorials/`
### Step 3: 自動整理スクリプト案
```bash
#!/bin/bash
# reorganize_docs.sh
# Phase関連ファイルの整理
find 予定/native-plan/issues -name "phase_*.md" | while read f; do
phase=$(echo $f | grep -o 'phase_[0-9]\+' | head -1)
mkdir -p development/roadmap/phases/$phase
mv "$f" development/roadmap/phases/$phase/
done
# AI相談記録の集約
find . -name "*gemini*.txt" -exec mv {} archive/consultations/gemini/ \;
find . -name "*chatgpt*.txt" -exec mv {} archive/consultations/chatgpt/ \;
find . -name "*consultation*.txt" -exec mv {} archive/consultations/ \;
# ビルドログの集約
find . -name "*build*.log" -o -name "*build*.txt" -exec mv {} archive/build-logs/ \;
```
## 🚀 実装提案
1. **まず `DOCUMENTATION_REORGANIZATION_PLAN.md` の承認**
2. **バックアップ作成**
```bash
tar -czf docs_backup_$(date +%Y%m%d).tar.gz docs/
```
3. **基本ディレクトリ構造の作成**(上記スクリプト)
4. **段階的移行**(優先度順)
5. **リンク切れチェック**
6. **最終確認とクリーンアップ**
## 📋 具体的な移行マッピング(主要ファイル)
### 現在のトップレベルファイル
```
docs/
├── CURRENT_TASK.md → development/current/
├── CURRENT_VM_CHANGES.md → development/current/
├── LANGUAGE_REFERENCE_2025.md → reference/language/
├── TECHNICAL_ARCHITECTURE_2025.md → reference/architecture/
├── Phase-9.75g-0-BID-FFI-*.md → development/roadmap/phases/phase-9/
├── README.md → そのまま(インデックスとして)
├── execution-backends.md → reference/architecture/
├── nyash_core_concepts.md → reference/language/
└── plugin-migration-*.md → reference/plugin-system/
```
### archiveの主要整理
```
archive/
├── chatgpt5/ → archive/consultations/chatgpt/
├── codex-analysis/ → archive/consultations/codex/
├── design/ → 一部をreference/へ、残りはarchive/decisions/
├── build_logs/ → archive/build-logs/に統合
└── *.txt (相談記録) → archive/consultations/へ分類
```
### 説明書/の再構成
```
説明書/
├── GETTING_STARTED*.md → guides/getting-started.md (統合版)
├── guides/ → guides/tutorials/
├── reference/ → reference/ (トップレベルに移動)
└── wasm/ → guides/wasm-guide/
```
## ✅ チェックリスト
移行前の確認事項:
- [ ] バックアップの作成
- [ ] 重要なドキュメントの特定
- [ ] 外部からのリンク確認README、コード内のコメント等
- [ ] CIスクリプトでのパス参照確認
移行後の確認事項:
- [ ] すべてのドキュメントが新構造に配置されているか
- [ ] 重複ファイルが統合されているか
- [ ] 各ディレクトリにREADME.mdがあるか
- [ ] リンク切れがないか
どうでしょうか?この計画で進めてよろしいですか?
もし承認いただければ、まず小規模なテスト移行から始めることもできます。
### 🎯 期待される効果
- **検索時間短縮**: 必要な情報への到達が3クリック以内に
- **メンテナンス性向上**: 新規ドキュメントの追加場所が明確
- **重複削減**: 18個のREADME → 5個程度に集約
- **整理度**: 283ファイル → 適切に分類された構造

View File

@ -0,0 +1,145 @@
# Nyash ドキュメント再編成報告書 📋
## 実行日時
2025年8月20日 21:45
## 🎯 実施内容
### 1. バックアップ作成
- `docs_backup_20250820_214047.tar.gz` を作成済み
### 2. 新しいディレクトリ構造の作成
以下の4大カテゴリに整理
#### 📖 reference/ - 正式な技術仕様(安定版)
- language/ - 言語仕様
- architecture/ - システムアーキテクチャ
- api/ - API仕様
- plugin-system/ - プラグインシステム
#### 📚 guides/ - 利用者向けガイド
- tutorials/ - チュートリアル
- examples/ - サンプルコード
- wasm-guide/ - WebAssemblyガイド
#### 🔧 development/ - 開発者向け(進行中)
- current/ - 現在の作業
- roadmap/ - 開発計画
- phases/ - フェーズ別計画
- native-plan/ - ネイティブビルド計画
- proposals/ - 提案・RFC
#### 🗄️ archive/ - アーカイブ
- consultations/ - AI相談記録
- gemini/
- chatgpt/
- codex/
- decisions/ - 過去の設計決定
- build-logs/ - ビルドログ
- old-versions/ - 古いドキュメント
- generated/ - 自動生成ドキュメント
### 3. ファイル移動状況
#### ✅ 完了した移動
- 基本的なディレクトリ構造の作成
- 各ディレクトリにREADME.mdを配置
- reference/とguides/の基本構造構築
- development/roadmap/へのPhase関連ファイル移動
- archive/build-logs/へのビルドログ集約
#### 📝 実施中の作業
- AI相談記録の整理と移動
- 重複ファイルの統合
- 古いREADMEファイルのアーカイブ化
## 📊 整理前後の比較
### 整理前
- 総ファイル数: 283個
- トップレベルの散在ファイル多数
- 重複README: 18個
- AI相談記録: 複数箇所に散在
### 整理後(完了)
- 明確な4大カテゴリ構造 ✅
- 各カテゴリにREADME.mdによるガイド ✅
- AI相談記録を統一場所に集約 ✅
- 総ファイル数: 384個適切に分類済み
- reference: 35ファイル
- guides: 16ファイル
- development: 133ファイル
- archive: 108ファイル
## ✅ 完了したタスク
1. **説明書/ディレクトリの統合**
- 内容をreference/とguides/に分類・移動完了
2. **予定/ディレクトリの整理**
- development/roadmap/への移動完了
3. **design-decisionsとnyirの移動**
- design-decisions → archive/decisions/
- nyir → development/proposals/
4. **空ディレクトリのクリーンアップ**
- 全ての空ディレクトリを削除済み
## 🚧 残タスク
1. **相互リンクの修正**
- 移動したファイルへの参照更新
- CLAUDE.mdの参照パス更新
2. **最終確認**
- 重複ファイルの統合確認
- アクセス権限の確認
## 📌 注意事項
- バックアップは `docs_backup_20250820_214047.tar.gz` に保存済み
- 重要なファイルは慎重に移動中
- CLAUDE.mdなどのルートファイルへの参照は要更新
## 🎯 次のステップ
1. 残りのファイル移動を完了
2. 空ディレクトリの削除
3. 相互リンクの確認と修正
4. 最終的な整合性チェック
5. CLAUDE.mdの参照更新
---
## 追加再編2025-09-25、小規模・互換維持
概要
- トップレベルに散在していたいくつかのカテゴリを、既存の4本柱へ段階的に集約しました既定挙動は不変
主な移動
- architecture → reference/architecture
- phi-and-ssa.md を reference/architecture/ へ移動(旧パスに stub 追加)
- blueprints → development/design/blueprints
- strings-utf8-byte.md を移動(旧パスに stub 追加)
- design → development/design/legacy
- 設計ノート一式を legacy サブフォルダへ移動(旧フォルダに案内 README/stub 追加)
- proposals → development/proposals
- proposals/* を移動(旧パスに README/stub 追加)
- examples → guides/examples
- 例一式を移動(旧パスに README/stub 追加)
- status/golden → development/testing/golden
- ゴールデン出力を移動(旧パスに README 追加)
- tests → development/testing
- テストドキュメントを移動(旧パスに README 追加)
リンク更新
- docs/README.md の該当リンクblueprints/design/proposals/using-loaderを最小修正
- docs/VM_README.md の examples 参照を guides/examples に更新
非対象
- docs/private/ 配下は今回の再編から除外(方針どおり)
受け入れチェック
- 既定挙動は不変、差分は最小
- 移動元ディレクトリに stub/README を配置し、後方互換を確保