restore(lang): full lang tree from ff3ef452 (306 files) — compiler, vm, shared, runner, c-abi, etc.\n\n- Restores lang/ directory (files≈306, dirs≈64) as per historical branch with selfhost sources\n- Keeps our recent parser index changes in compiler/* (merged clean by checkout)\n- Unblocks selfhost development and documentation references

This commit is contained in:
nyash-codex
2025-10-31 20:45:46 +09:00
parent dbc285f2b1
commit e5f697eb22
244 changed files with 16915 additions and 47 deletions

View File

@ -0,0 +1,8 @@
#![doc = "Phase 20.13 loader_front guard — define layer responsibilities."]
static box LOADER_FRONT_GUARD {
name() { return "loader_front" }
allowed_imports() { return ["json", "env"] }
forbidden_imports() { return ["vm_core", "plugins", "ffi"] }
}

View File

@ -0,0 +1,27 @@
# loader_front — Loader Front EXE (Phase 20.13)
Purpose
- Decide high-level loading (policy/allowlist/resolution) ahead of kernel loader.
- Output a short, stable verdict; kernel honors it strictly (no fallback).
Responsibilities
- Evaluate env/policy and candidate modules.
- Emit: OK/NOOP/FAIL (tagged), exit code semantics same as runner_front.
Inputs/Outputs
- Input: JSON/CLI with policy keys and candidates
- Output: one-line verdict (short) + exit code
ENV (planned; default OFF)
- HAKO_LOADER_USE_SCRIPT_EXE=1 (alias NYASH_*) — enable loader front EXE
- HAKO_QUIET=1 — quiet mode adherence
NonGoals
- No filesystem/ABI side-effects beyond read-only inspection.
TTL
- Diagnostics/formatting migrates from Rust boundary to this front EXE when stable.
Notes (AOT / SingleEXE)
- 将来的に単一exeに内蔵AOTされ、ENV反映→通常ロード継続を同一プロセスで行います。
- 開発時は tools/front_exe/loader_front.sh をゲートONで差し替え可能です。