Files
hakorune/tools/selfhost/gen_v1_from_provider.sh
nyash-codex 97a776aac3 feat(phase73): Stage-3 ENV consolidation complete - Shell scripts
Phase 73-B: Unified legacy Stage-3 environment variables in 27 shell scripts:
- Replaced NYASH_PARSER_STAGE3=1 → NYASH_FEATURES=stage3
- Replaced HAKO_PARSER_STAGE3=1 → NYASH_FEATURES=stage3
- Updated all variant patterns (with/without assignments)

Files modified (27 total):
- tools/dev/*.sh (9 files)
- tools/dev_stageb.sh, dump_stageb_min_mir.sh, hakorune_emit_mir.sh
- tools/joinir_ab_test.sh, ny_selfhost_inline.sh
- tools/perf/*.sh, tools/selfhost/*.sh (9 files)
- tools/hako_check/dot_edges_smoke.sh, tools/selfhost_smoke.sh

Complete Phase 73 consolidation count:
- Phase 73-A: 20 test files + 2 special files (stage3 compat)
- Phase 73-B: 27 shell script files
- Total: 49 files with legacy Stage-3 ENV consolidated

Next: Phase 72 (JoinIR EXPERIMENT SSOT consolidation)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-02 12:38:01 +09:00

38 lines
1.1 KiB
Bash

#!/usr/bin/env bash
# gen_v1_from_provider.sh — Generate MIR JSON v1 via provider env.mirbuilder.emit (dev)
# Produces a minimal v1 program that returns 42.
set -euo pipefail
ROOT="$(cd "$(dirname "$0")/../.." && pwd)"
source "$ROOT/tools/smokes/v2/lib/test_runner.sh" 2>/dev/null || true
# Build Program(JSON v0) inline (version:0, kind:"Program")
prog_json=$(cat <<'JSON'
{
"version": 0,
"kind": "Program",
"body": [
{ "type": "Return", "expr": { "type": "Int", "value": 42 } }
]
}
JSON
)
code=$(cat <<'HCODE'
static box Main { method main(args) {
local p = env.get("NYASH_PROGRAM_JSON")
// 直接 hostbridge.extern_invoke を呼び出して v1 JSON を取得
local out = hostbridge.extern_invoke("env.mirbuilder", "emit", p)
print("" + out)
return 0
} }
HCODE
)
# Run via Rust VM (dev flags similar to test_runner)
NYASH_PROGRAM_JSON="$prog_json" \
NYASH_JSON_SCHEMA_V1=1 \
NYASH_USING_AST=1 NYASH_DISABLE_NY_COMPILER=1 HAKO_DISABLE_NY_COMPILER=1 \
NYASH_FEATURES=stage3 NYASH_FEATURES=stage3 NYASH_PARSER_ALLOW_SEMICOLON=1 \
run_nyash_vm -c "$code" 2>/dev/null | tr -d '\r'