feat: using system完全実装完了!nyashstdビルトイン名前空間対応

 実装内容:
- ビルトイン名前空間解決: nyashstd → builtin:nyashstd
- 自動コード生成: static box群(string/integer/bool/array/console)
- 環境変数デフォルト化: NYASH_ENABLE_USING, NYASH_RESOLVE_FIX_BRACES, NYASH_LLVM_USE_HARNESS

 動作確認:
- パース→解決→読み込み→コード生成の全段階が正常動作
- 環境変数8個→6個に削減(25%改善)

 主要変更:
- src/runner/pipeline.rs: builtin namespace特別処理追加
- src/runner/modes/common_util/resolve/strip.rs: builtin:プレフィックス処理
- src/config/env.rs: 3つの環境変数をデフォルトON化

🎯 次: Mini-VM開発でusing nyashstd活用可能

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

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Selfhosting Dev
2025-09-23 12:39:35 +09:00
parent bbc581a07f
commit b7a3e129bd
4 changed files with 116 additions and 23 deletions

View File

@ -242,7 +242,16 @@ pub(super) fn resolve_using_target(
crate::runner::box_index::cache_put(&key, out.clone());
return Ok(out);
}
// 2) build candidate list: relative then using-paths
// 2) Special handling for built-in namespaces
if tgt == "nyashstd" {
let out = "builtin:nyashstd".to_string();
if trace {
crate::runner::trace::log(format!("[using/resolve] builtin '{}' -> '{}'", tgt, out));
}
crate::runner::box_index::cache_put(&key, out.clone());
return Ok(out);
}
// 3) build candidate list: relative then using-paths
let rel = tgt.replace('.', "/") + ".nyash";
let mut cand: Vec<String> = Vec::new();
if let Some(dir) = context_dir {