50 lines
1.6 KiB
Bash
50 lines
1.6 KiB
Bash
#!/usr/bin/env bash
|
||
# dev_numeric_core_prep.sh — numeric_core + AotPrep 付きで MIR(JSON) を吐く開発用ヘルパー
|
||
#
|
||
# Usage:
|
||
# tools/dev_numeric_core_prep.sh <input.hako> <out.json>
|
||
# Notes:
|
||
# - HAKO_APPLY_AOT_PREP=1 と NYASH_AOT_NUMERIC_CORE=1 を必ず立てて、
|
||
# tools/hakorune_emit_mir.sh を呼び出す。
|
||
# - NYASH_SKIP_TOML_ENV / NYASH_DISABLE_PLUGINS など、開発用の最小クリーン環境を既定ONにする。
|
||
|
||
set -euo pipefail
|
||
|
||
if [ "$#" -ne 2 ]; then
|
||
echo "Usage: $0 <input.hako> <out.json>" >&2
|
||
exit 2
|
||
fi
|
||
|
||
IN="$1"
|
||
OUT="$2"
|
||
|
||
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||
ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
|
||
|
||
if [ ! -f "$IN" ]; then
|
||
echo "[FAIL] input not found: $IN" >&2
|
||
exit 1
|
||
fi
|
||
|
||
export HAKO_APPLY_AOT_PREP=1
|
||
export NYASH_AOT_NUMERIC_CORE="${NYASH_AOT_NUMERIC_CORE:-1}"
|
||
export NYASH_AOT_NUMERIC_CORE_TRACE="${NYASH_AOT_NUMERIC_CORE_TRACE:-1}"
|
||
|
||
# 開発用: 余計な TOML/env/plugin の影響を避ける
|
||
export NYASH_SKIP_TOML_ENV="${NYASH_SKIP_TOML_ENV:-1}"
|
||
export NYASH_DISABLE_PLUGINS="${NYASH_DISABLE_PLUGINS:-1}"
|
||
|
||
# Stage‑B/AotPrep のトレースを既定ON(必要に応じて上書き可)
|
||
export HAKO_SELFHOST_TRACE="${HAKO_SELFHOST_TRACE:-1}"
|
||
|
||
# JSON だけを期待する(stdoutノイズ対策)
|
||
export NYASH_JSON_ONLY="${NYASH_JSON_ONLY:-1}"
|
||
|
||
echo "[dev_numeric_core] input=$IN out=$OUT" >&2
|
||
echo "[dev_numeric_core] HAKO_APPLY_AOT_PREP=$HAKO_APPLY_AOT_PREP NYASH_AOT_NUMERIC_CORE=$NYASH_AOT_NUMERIC_CORE" >&2
|
||
|
||
bash "$ROOT/tools/hakorune_emit_mir.sh" "$IN" "$OUT"
|
||
|
||
echo "[dev_numeric_core] MIR JSON written with numeric_core+AotPrep: $OUT" >&2
|
||
|