mir: implement proper short-circuit lowering (&&/||) via branch+phi; vm: add NYASH_VM_TRACE exec/phi logs and reg_load diagnostics; vm-fallback: minimal Void guards (push/get_position/line/column), MapBox.birth no-op; smokes: filter builtin Array/Map plugin notices; docs: CURRENT_TASK updated
This commit is contained in:
@ -67,6 +67,8 @@ Policy
|
||||
- 実体の結合は AST マージのみ。テキストの前置き/連結は行わない(レガシー経路は呼び出し側から削除済み)。
|
||||
- Runner は `nyash.toml` の `[using]` を唯一の真実として参照(prod)。dev/ci は段階的に緩和可能。
|
||||
- Selfhost compiler (Ny→JSON v0) collects using lines and emits `meta.usings` when present. The bridge currently ignores this meta field.
|
||||
- Prelude の中にさらに `using` が含まれている場合は、Runner が再帰的に `using` をストリップしてから AST として取り込みます(入れ子の前処理をサポート)。
|
||||
- パス解決の順序(dev/ci): 呼び出し元ファイルのディレクトリ → `$NYASH_ROOT` → 実行バイナリからのプロジェクトルート推定(target/release/nyash の 3 階層上)→ `nyash.toml` の `[using.paths]`。
|
||||
|
||||
## Namespace Resolution (Runner‑side)
|
||||
- Goal: keep IR/VM/JIT untouched. All resolution happens in Runner/Registry.
|
||||
|
||||
@ -45,6 +45,7 @@ Interop(同一型の異 Provider 混在)
|
||||
- 受け口/ドキュメントの整備を先行(挙動は不変)。
|
||||
- using は SSOT+AST に移行済み(prod は file-using 禁止)。
|
||||
- VM fallback の個別救済は暫定(短期で Bootstrap Pack へ移行し撤去)。
|
||||
- VM fallback(MIR interpreter)の役割は「軽量デバッグ実行器」:フロントエンド(Parser/Using/AST→MIR)の健全性をすばやく確認するために維持。機能は最小限に留め、プラグイン/本流VM/LLVM の実装が主となる(本番・性能評価には使用しない)。
|
||||
|
||||
関連ドキュメント
|
||||
- nyash.toml のスキーマと例: docs/reference/config/nyash-toml.md
|
||||
|
||||
Reference in New Issue
Block a user