Files
hakorune/docs/development
nyash-codex 9e76173c99 fix(llvm): Phase 131-5 完了 - TAG-LINK 修正(ExternCall symbol mapping)
Phase 131-5: ExternCall Symbol Mapping 修正

問題:
- Case B (loop_min_while.hako) が TAG-LINK で失敗
- エラー: undefined reference to `nyash_console_log`

根本原因:
- Python harness が dot → underscore 変換を実行
  (`nyash.console.log` → `nyash_console_log`)
- NyKernel は `nyash.console.log` をエクスポート
  (ELF format では dot が有効)

修正:
- src/llvm_py/instructions/externcall.py から変換ロジックを削除(-4 lines)
- Symbol 名は NyKernel exports と完全一致

変更ファイル:
- src/llvm_py/instructions/externcall.py:
  - 不要な dot→underscore 変換削除
  - ELF symbol 仕様のコメント追加

テスト結果:
- Case B LINK:  (修正成功)
- Case B RUN:  (新 TAG-RUN: infinite loop)
- Case A/B2:  (退行なし)

箱化モジュール化:
-  SSOT 達成: NyKernel exports を信頼
-  クリーンな修正: 不要コード削除のみ
- 推奨: NyKernel symbol naming convention ドキュメント化

Next: Phase 131-6 (TAG-RUN 修正 - infinite loop)

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-14 06:25:42 +09:00
..

Nyash Development Documentation 🔧

開発者向けの進行中タスクと開発計画ドキュメントです。

📂 ディレクトリ構造

current/

  • CURRENT_TASK.md - 現在進行中のタスク
  • アクティブな開発作業の詳細
  • 最新の実装状況

roadmap/

  • phases/ - フェーズ別開発計画
    • phase-8/ - AST→MIR変換
    • phase-9/ - VM/JIT実装
    • phase-10/ - AOT最適化
  • native-plan/ - ネイティブビルド計画
    • 実行バックエンド統合
    • パフォーマンス目標

proposals/

  • RFCRequest for Comments
  • 新機能提案
  • 設計ディスカッション

🎯 重要な参照先

  • 進行状況: current/CURRENT_TASK.md
  • 開発計画: roadmap/phases/
  • 技術提案: proposals/
  • ドキュメントのステータス/入口ポリシー: doc-status-policy.md
  • JoinIR / Selfhost の入口: current/main/01-JoinIR-Selfhost-INDEX.md

📝 注意事項

このディレクトリの内容は開発中であり、頻繁に変更されます。 安定した仕様はreference/を参照してください。