Files
hakorune/tools/dev_numeric_core_prep.sh

50 lines
1.6 KiB
Bash
Raw Permalink Normal View History

#!/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}"
# StageB/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