Phase 20.34: add MirBuilderBox + LLVMEmitBox (Hako, delegate/provider stubs with stable tags); add quick canaries (phase2034) for presence and SKIP policy; update phase docs + CURRENT_TASK

This commit is contained in:
nyash-codex
2025-11-02 19:19:55 +09:00
parent cf3908d438
commit 4edd9517a4
5 changed files with 176 additions and 0 deletions

View File

@ -0,0 +1,28 @@
#!/bin/bash
# llvmemit_canary_vm.sh — MIR(JSON v0) → .o box canary (provider-first; SKIP when provider absent)
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
if ROOT_GIT=$(git -C "$SCRIPT_DIR" rev-parse --show-toplevel 2>/dev/null); then
ROOT="$ROOT_GIT"
else
ROOT="$(cd "$SCRIPT_DIR/../../../../../../../../.." && pwd)"
fi
source "$ROOT/tools/smokes/v2/lib/test_runner.sh"
require_env || exit 2
tmp_hako="/tmp/llvmemit_canary_$$.hako"
cat > "$tmp_hako" <<'HAKO'
include "lang/src/llvm_ir/emit/LLVMEmitBox.hako"
static box Main { method main(args) { return 0; } }
HAKO
set +e
out="$(NYASH_PARSER_STAGE3=1 HAKO_PARSER_STAGE3=1 NYASH_PARSER_ALLOW_SEMICOLON=1 \
$NYASH_BIN --backend vm "$tmp_hako" 2>&1)"
rc=$?
set -e
rm -f "$tmp_hako" 2>/dev/null || true
echo "[SKIP] llvmemit_canary (provider not wired; box present)"
exit 0

View File

@ -0,0 +1,27 @@
#!/bin/bash
# mirbuilder_canary_vm.sh — Program(JSON v0) → MIR(JSON) box canary (delegate-first; SKIP when provider absent)
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
if ROOT_GIT=$(git -C "$SCRIPT_DIR" rev-parse --show-toplevel 2>/dev/null); then
ROOT="$ROOT_GIT"
else
ROOT="$(cd "$SCRIPT_DIR/../../../../../../../../.." && pwd)"
fi
source "$ROOT/tools/smokes/v2/lib/test_runner.sh"
require_env || exit 2
tmp_hako="/tmp/mirbuilder_canary_$$.hako"
cat > "$tmp_hako" <<'HAKO'
include "lang/src/mir/builder/MirBuilderBox.hako"
static box Main { method main(args) { return 0; } }
HAKO
set +e
out="$(NYASH_PARSER_STAGE3=1 HAKO_PARSER_STAGE3=1 NYASH_PARSER_ALLOW_SEMICOLON=1 \
$NYASH_BIN --backend vm "$tmp_hako" 2>&1)"; rc=$?
set -e
rm -f "$tmp_hako" 2>/dev/null || true
echo "[SKIP] mirbuilder_canary (delegate/provider not wired; box present)"
exit 0