docs(CLAUDE.md): Add hako_check usage guide
hako_check ツール(Phase 153復活!)の使い方を CLAUDE.md に追加 内容: - 基本的な使用方法(単発ファイル、ディレクトリ、オプション) - 実用的な使用例(デッドコード検出、JSON-LSP出力) - 環境変数制御ガイド(HAKO_CHECK_DEBUG, VERBOSE) - 検出ルール一覧(HC011, HC012, HC019等) - 出力例とトラブルシューティング - 次のステップ(Phase 2-3計画) セルフホスティング .hako 開発時の品質チェック手段として、 すぐに参照できるように MIRデバッグガイドの直後に配置 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
39
CLAUDE.md
39
CLAUDE.md
@ -55,6 +55,45 @@ done
|
||||
- **解決**: `BTreeSet`/`BTreeMap`で決定的イテレーション保証
|
||||
- **残課題**: `variable_map: HashMap<String, ValueId>` (builder.rs等)
|
||||
|
||||
#### 🔍 **hako_check - セルフホスティング.hako品質チェック** (Phase 153復活!)
|
||||
|
||||
**hako_check ツール**はセルフホスティングコンパイラの .hako ファイルをコード品質チェック!
|
||||
|
||||
```bash
|
||||
# 基本的な使い方
|
||||
./tools/hako_check.sh file.hako
|
||||
./tools/hako_check.sh directory/
|
||||
|
||||
# 実用的な使い方
|
||||
./tools/hako_check.sh apps/selfhost-runtime/boxes_std.hako # 単発チェック
|
||||
./tools/hako_check.sh apps/selfhost-runtime/ --dead-code # デッドコード検出
|
||||
./tools/hako_check.sh apps/selfhost-runtime/ --format json-lsp # エディタ統合用
|
||||
|
||||
# デバッグ情報が必要な時
|
||||
HAKO_CHECK_DEBUG=1 ./tools/hako_check.sh file.hako # [DEBUG] 出力を含める
|
||||
```
|
||||
|
||||
**環境変数制御**:
|
||||
- `HAKO_CHECK_DEBUG=0` (デフォルト): デバッグ出力フィルタリング(クリーンな出力)
|
||||
- `HAKO_CHECK_DEBUG=1`: 詳細デバッグ出力([DEBUG/...], [ControlForm::...] 等を表示)
|
||||
- `HAKO_CHECK_VERBOSE=1`: 詳細モード(将来実装予定)
|
||||
|
||||
**検出ルール** (Phase 153):
|
||||
- **HC011**: 呼ばれないメソッド(unreachable method)
|
||||
- **HC012**: 参照されないスタティックボックス(dead static box)
|
||||
- **HC019**: 到達不可能なコード(unreachable code / dead code)
|
||||
- その他: arity mismatch など 15+ ルール
|
||||
|
||||
**出力例**:
|
||||
```
|
||||
[ERROR] ❌ MIR compilation error: Undefined variable: void
|
||||
[lint/summary] failures: 1
|
||||
```
|
||||
|
||||
**次のステップ (Phase 2-3)**:
|
||||
- Rust側のデバッグ出力環境変数制御化
|
||||
- エラーメッセージの構造化(ファイル:行番号表示、ヒント追加)
|
||||
|
||||
### 🎊 **Phase 33-10完了!JoinIR If Lowering箱化モジュール化達成** (2025-11-27)
|
||||
- **✅ 箱化モジュール化完了**: if_dry_runner.rs作成(176行)、vm.rs 83行→9行(89%削減)
|
||||
- **✅ PHI guard実装**: 早期PHIチェック(パターンマッチング前)でJoinIR設計原則確立
|
||||
|
||||
Reference in New Issue
Block a user