c70e76ff57
feat(parser): Phase 152-A - Grouped assignment expression (箱化モジュール化)
...
Implement Stage-3 grouped assignment expression `(x = expr)` following
the 箱化モジュール化 (modular box) pattern established in Phase 133/134.
**Implementation**:
- AssignmentExprParser module (Rust: 183 lines)
- src/parser/stage3/assignment_expr_parser.rs (+183 lines)
- src/parser/stage3/mod.rs (+9 lines)
- AST node addition: GroupedAssignmentExpr
- src/ast.rs (+7 lines)
- src/ast/utils.rs (+9 lines)
- MIR lowering via 1-line delegation
- src/mir/builder/exprs.rs (+5 lines)
- src/mir/builder/vars.rs (+4 lines)
- Parser integration via 1-line delegation
- src/parser/expr/primary.rs (+6 lines)
- src/parser/mod.rs (+1 line)
**Test Results**: 3/3 PASS
- assignment_expr_simple.hako: RC 1 ✅
- assignment_expr_shortcircuit.hako: RC 1 ✅
- shortcircuit_and_phi_skip.hako: RC 1 ✅ (updated to use expression context)
**Stage-3 Gate**: No impact on Stage-2/legacy
- NYASH_FEATURES=stage3 required
- Pattern: '(' IDENT '=' expr ')'
- Value/type same as rhs, side effect assigns to lhs
**箱化モジュール化パターン**:
- Dedicated module for assignment expression parsing
- Clear responsibility separation
- 1-line delegation for integration
- Testability improvement
- Follows Phase 133/134-A/134-B pattern
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-12-04 13:32:58 +09:00
f9d100ce01
chore: Phase 25.1 完了 - LoopForm v2/Stage1 CLI/環境変数削減 + Phase 26-D からの変更
...
Phase 25.1 完了成果:
- ✅ LoopForm v2 テスト・ドキュメント・コメント完備
- 4ケース(A/B/C/D)完全テストカバレッジ
- 最小再現ケース作成(SSAバグ調査用)
- SSOT文書作成(loopform_ssot.md)
- 全ソースに [LoopForm] コメントタグ追加
- ✅ Stage-1 CLI デバッグ環境構築
- stage1_cli.hako 実装
- stage1_bridge.rs ブリッジ実装
- デバッグツール作成(stage1_debug.sh/stage1_minimal.sh)
- アーキテクチャ改善提案文書
- ✅ 環境変数削減計画策定
- 25変数の完全調査・分類
- 6段階削減ロードマップ(25→5、80%削減)
- 即時削除可能変数特定(NYASH_CONFIG/NYASH_DEBUG)
Phase 26-D からの累積変更:
- PHI実装改善(ExitPhiBuilder/HeaderPhiBuilder等)
- MIRビルダーリファクタリング
- 型伝播・最適化パス改善
- その他約300ファイルの累積変更
🎯 技術的成果:
- SSAバグ根本原因特定(条件分岐内loop変数変更)
- Region+next_iパターン適用完了(UsingCollectorBox等)
- LoopFormパターン文書化・テスト化完了
- セルフホスティング基盤強化
Co-Authored-By: Claude <noreply@anthropic.com >
Co-Authored-By: ChatGPT <noreply@openai.com >
Co-Authored-By: Task Assistant <task@anthropic.com >
2025-11-21 06:25:17 +09:00
58a6471883
Phase 21.3 WIP: Hako Source Checker improvements - HC011/HC016/HC017 実装完了
...
主な変更:
- ✅ HC011 (dead methods) 実装・テスト緑
- ✅ HC016 (unused alias) 実装・テスト緑
- ✅ HC017 (non-ascii quotes) 実装完了
- 🔧 tokenizer/parser_core 強化(AST優先ルート)
- 🛡️ plugin_guard.rs 追加(stderr専用出力)
- 📋 テストインフラ整備(run_tests.sh改善)
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-11-08 00:46:34 +09:00
86489ffe43
Phase 21.3 WIP: Hako Source Checker improvements
...
## 🎯 Checker/Analyzer拡張
### ✅ 実装追加
- テストフレームワーク追加(tools/hako_check/tests/)
- ルール改善(HC003グローバルassign、HC040静的箱トップレベルassign)
- テストランナー(run_tests.sh)
### 🔧 Rust側修正
- AST utilities拡張(src/ast/utils.rs)
- MIR lowerers新設(src/mir/lowerers/)
- Parser制御フロー改善(src/parser/statements/control_flow.rs)
- Tokenizer識別子処理改善(src/tokenizer/lex_ident.rs)
### 📁 主要変更
- tools/hako_check/cli.hako - CLI改善
- tools/hako_check/hako_source_checker.hako - Checker core更新
- tools/hako_check/tests/ - NEW (テストケース追加)
- tools/hako_check/run_tests.sh - NEW (テストランナー)
- src/mir/lowerers/ - NEW (MIR lowering utilities)
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-11-07 21:04:01 +09:00
5e3d9e7ae4
restore(lang/compiler): bring back lang/src/compiler from e917d400; add Hako index canaries and docs; implement Rust-side index operator (Array/Map get/set) with Fail‑Fast diagnostics
...
- restore: lang/src/compiler/** (parser/emit/builder/pipeline_v2) from e917d400
- docs: docs/development/selfhosting/index-operator-hako.md
- smokes(hako): tools/smokes/v2/profiles/quick/core/index_operator_hako.sh (opt-in)
- smokes(vm): adjust index_operator_vm.sh for semicolon gate + stable error text
- rust/parser: allow IndexExpr and assignment LHS=Index; postfix parse LBRACK chain
- rust/builder: lower arr/map index to BoxCall get/set; annotate array/map literals; Fail‑Fast for unsupported types
- CURRENT_TASK: mark Rust side done; add Hako tasks checklist
Note: files disappeared likely due to branch FF to a lineage without lang/src/compiler; no explicit delete commit found. Added anchor checks and suggested CI guard in follow-up.
2025-10-31 20:18:39 +09:00
d052f9dc97
feat: using構文完全実装&json_native大幅進化
...
## 🎉 using構文の完全実装(ChatGPT作業)
- ✅ **include → using移行完了**: 全ファイルでusing構文に統一
- `local X = include` → `using "path" as X`
- 約70ファイルを一括変換
- ✅ **AST/パーサー/MIR完全対応**: using専用処理実装
- ASTNode::Using追加
- MIRビルダーでの解決処理
- include互換性も維持
## 🚀 json_native実装進化(ChatGPT追加実装)
- ✅ **浮動小数点対応追加**: is_float/parse_float実装
- ✅ **配列/オブジェクトパーサー実装**: parse_array/parse_object完成
- ✅ **エスケープ処理強化**: Unicode対応、全制御文字サポート
- ✅ **StringUtils大幅拡張**: 文字列操作メソッド多数追加
- contains, index_of_string, split, join等
- 大文字小文字変換(全アルファベット対応)
## 💡 MIR SIMD & ハイブリッド戦略考察
- **MIR15 SIMD命令案**: SimdLoad/SimdScan等の新命令セット
- **C ABIハイブリッド**: ホットパスのみC委託で10倍速化可能
- **並行処理でyyjson超え**: 100KB以上で2-10倍速の可能性
- **3層アーキテクチャ**: Nyash層/MIR層/C ABI層の美しい分離
## 📊 技術的成果
- using構文により名前空間管理が明確化
- json_nativeが実用レベルに接近(完成度25%→40%)
- 将来的にyyjsonの70%速度達成可能と判明
ChatGPT爆速実装×Claude深い考察の完璧な協働!
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-09-25 00:41:56 +09:00
fc4c866151
Step 2完了: peek→match完全統一 + 重大PHI命令バグ発見
...
## 🎉 Step 2: peek→match完全統一アーキテクチャクリーンアップ完了
- ✅ 15ファイルで PeekExpr → MatchExpr 一括置換完了
- ✅ lowering/peek.rs → match_expr.rs 完全移行
- ✅ AI理解性・コードベース一貫性・保守性大幅向上
## 🔍 Step 3: 複数行パース問題調査完了
- ✅ Task先生による根本原因特定完了
- 原因: オブジェクトリテラルパーサーの改行スキップ不足
- 修正: src/parser/expr/primary.rs の skip_newlines() 追加
## 🚨 重大発見: PHI命令処理バグ
- 問題: gemini_test_case.nyash で期待値2→実際0
- 原因: フェーズM+M.2のPHI統一作業でループ後変数マージに回帰バグ
- 詳細: PHI命令は正常だが、print時に間違ったPHI参照
- 影響: Phase 15セルフホスティング基盤の重大バグ
## 📝 CLAUDE.md更新
- 全進捗状況の詳細記録
- 次のアクション: ChatGPT相談でMIRビルダー修正戦略立案
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-09-23 09:00:07 +09:00
c8063c9e41
pyvm: split op handlers into ops_core/ops_box/ops_ctrl; add ops_flow + intrinsic; delegate vm.py without behavior change
...
net-plugin: modularize constants (consts.rs) and sockets (sockets.rs); remove legacy commented socket code; fix unused imports
mir: move instruction unit tests to tests/mir_instruction_unit.rs (file lean-up); no semantic changes
runner/pyvm: ensure using pre-strip; misc docs updates
Build: cargo build ok; legacy cfg warnings remain as before
2025-09-21 08:53:00 +09:00
e2379b35b3
ast: add MethodCallExpr/FieldAccessExpr wrappers; builder: adopt wrappers for method/field, and add loop helpers (create_loop_blocks/add_predecessor). No behavior change.
2025-09-17 08:10:21 +09:00
ff3acd41ee
ast: add wrapper structs (AssignStmt/ReturnStmt/IfStmt, BinaryExpr/CallExpr) with TryFrom/From for non-breaking gradual refactors
2025-09-17 07:53:05 +09:00
adbb0201a9
chore(fmt): add legacy stubs and strip trailing whitespace to unblock cargo fmt
2025-09-17 07:43:07 +09:00
7aea9a934f
ast: extract utility helpers
2025-09-17 07:27:55 +09:00
9dc5c9afb9
refactor: split optimizer/verifier/parser modules (mainline); add runner trace/directives; add LLVM terminator/select scaffolds; extract AST Span; update CURRENT_TASK with remaining plan
2025-09-17 05:56:33 +09:00