================================================================================ Nyash文法改革 - 実装向け要約 2025-09-03 ================================================================================ 【最重要決定事項】 1. 予約語は10個のみ - box, new, me, public, if, loop, break, return, import, from 2. コンストラクタ名は「birth」で統一 - Everything is Box哲学を体現 - packはビルトインBox継承時のみ(将来廃止検討) 3. 変数宣言は := 演算子を導入 - x := 10 // 新規宣言 - x = 20 // 既存変数への代入 - let x = 10 // オプション(糖衣構文) 4. デリゲーションと親メソッド呼び出し - box Child from Parent { } // fromは残す - Parent::method() // 親メソッド呼び出し(推奨) - from method() // 単一親の場合の糖衣構文 5. デフォルト非公開 - privateキーワード削除 - publicを付けたものだけ公開 ================================================================================ 【具体例】 ================================================================================ box Counter from BaseCounter { // フィールド(デフォルト非公開) count := 0 // 公開フィールド public name: str // コンストラクタ(birthで統一) public birth(name) { me.name = name BaseCounter::birth() // 親のbirth呼び出し } // メソッド(@overrideは属性) @override public increment() { me.count = me.count + 1 BaseCounter::increment() // 親メソッド呼び出し return me.count } } // 使用 counter := new Counter("MyCounter") counter.increment() ================================================================================ 【移行チェックリスト】 ================================================================================ □ init → birth に変更 □ private削除(デフォルト非公開) □ var x = → x := に変更 □ from Parent.method() → Parent::method() □ override → @override □ and/or/not → &&/||/! □ try/catch → Result型 + ?演算子 ================================================================================ 【パーサー実装への影響】 ================================================================================ 1. 予約語リストを10個に削減 2. := 演算子のサポート追加 3. :: 演算子の拡張(親メソッド呼び出し対応) 4. @属性のサポート追加 5. privateキーワードの削除 6. 文脈的from解釈の実装 ================================================================================ 【次のアクション】 ================================================================================ 1. LANGUAGE_REFERENCE_2025.mdの更新 2. CLAUDE.mdの更新(birthを最優先に) 3. パーサーの予約語リスト修正 4. テストケースの更新 5. 既存サンプルコードの移行 ================================================================================