diff --git a/tools/dev/enable_mirbuilder_dev_env.sh b/tools/dev/enable_mirbuilder_dev_env.sh index 23e93d6e..b8c16440 100644 --- a/tools/dev/enable_mirbuilder_dev_env.sh +++ b/tools/dev/enable_mirbuilder_dev_env.sh @@ -29,8 +29,8 @@ export NYASH_JSON_SCHEMA_V1=${NYASH_JSON_SCHEMA_V1:-1} export NYASH_MIR_UNIFIED_CALL=${NYASH_MIR_UNIFIED_CALL:-1} # Parser: Stage-3 ON, allow semicolons -export NYASH_PARSER_STAGE3=${NYASH_PARSER_STAGE3:-1} -export HAKO_PARSER_STAGE3=${HAKO_PARSER_STAGE3:-1} +export NYASH_FEATURES=${NYASH_PARSER_STAGE3:-1} +export NYASH_FEATURES=${HAKO_PARSER_STAGE3:-1} export NYASH_PARSER_ALLOW_SEMICOLON=${NYASH_PARSER_ALLOW_SEMICOLON:-1} if [[ "${1:-}" != "quiet" ]]; then diff --git a/tools/dev/enable_phase216_env.sh b/tools/dev/enable_phase216_env.sh index 161a840f..d9a59e57 100644 --- a/tools/dev/enable_phase216_env.sh +++ b/tools/dev/enable_phase216_env.sh @@ -5,8 +5,8 @@ set -euo pipefail export HAKO_SELFHOST_BUILDER_FIRST=1 export NYASH_USE_NY_COMPILER=0 export HAKO_DISABLE_NY_COMPILER=1 -export NYASH_PARSER_STAGE3=1 -export HAKO_PARSER_STAGE3=1 +export NYASH_FEATURES=stage3 +export NYASH_FEATURES=stage3 export NYASH_PARSER_ALLOW_SEMICOLON=1 export NYASH_ENABLE_USING=1 export HAKO_ENABLE_USING=1 diff --git a/tools/dev/hako_debug_run.sh b/tools/dev/hako_debug_run.sh index 08603d15..66c6a3b8 100644 --- a/tools/dev/hako_debug_run.sh +++ b/tools/dev/hako_debug_run.sh @@ -63,8 +63,8 @@ if [[ "$MODE_CODE" -eq 0 && -z "$FILE" ]]; then fi # Base env (Stage-3 + tolerance) -export NYASH_PARSER_STAGE3=1 -export HAKO_PARSER_STAGE3=1 +export NYASH_FEATURES=stage3 +export NYASH_FEATURES=stage3 export NYASH_PARSER_ALLOW_SEMICOLON=1 export NYASH_ENTRY_ALLOW_TOPLEVEL_MAIN=1 diff --git a/tools/dev/phase216_chain_canary.sh b/tools/dev/phase216_chain_canary.sh index 4daf4c33..29dabe8d 100644 --- a/tools/dev/phase216_chain_canary.sh +++ b/tools/dev/phase216_chain_canary.sh @@ -23,7 +23,7 @@ OUT_EXE=$(mktemp --suffix .exe) # Emit MIR(JSON) HAKO_SELFHOST_BUILDER_FIRST=1 \ NYASH_USE_NY_COMPILER=0 HAKO_DISABLE_NY_COMPILER=1 \ -NYASH_PARSER_STAGE3=1 HAKO_PARSER_STAGE3=1 NYASH_PARSER_ALLOW_SEMICOLON=1 \ +NYASH_FEATURES=stage3 NYASH_FEATURES=stage3 NYASH_PARSER_ALLOW_SEMICOLON=1 \ NYASH_ENABLE_USING=1 HAKO_ENABLE_USING=1 \ bash "$ROOT/tools/hakorune_emit_mir.sh" "$TMP_SRC" "$TMP_JSON" >/dev/null diff --git a/tools/dev/phase216_chain_canary_binop.sh b/tools/dev/phase216_chain_canary_binop.sh index 4b47de2a..14ad1c68 100644 --- a/tools/dev/phase216_chain_canary_binop.sh +++ b/tools/dev/phase216_chain_canary_binop.sh @@ -14,7 +14,7 @@ OUT_EXE=$(mktemp --suffix .exe) HAKO_SELFHOST_BUILDER_FIRST=1 \ NYASH_USE_NY_COMPILER=0 HAKO_DISABLE_NY_COMPILER=1 \ -NYASH_PARSER_STAGE3=1 HAKO_PARSER_STAGE3=1 NYASH_PARSER_ALLOW_SEMICOLON=1 \ +NYASH_FEATURES=stage3 NYASH_FEATURES=stage3 NYASH_PARSER_ALLOW_SEMICOLON=1 \ NYASH_ENABLE_USING=1 HAKO_ENABLE_USING=1 \ bash "$ROOT/tools/hakorune_emit_mir.sh" "$TMP_SRC" "$TMP_JSON" >/dev/null diff --git a/tools/dev/phase216_chain_canary_call.sh b/tools/dev/phase216_chain_canary_call.sh index 6558b4e8..9c55746c 100644 --- a/tools/dev/phase216_chain_canary_call.sh +++ b/tools/dev/phase216_chain_canary_call.sh @@ -23,7 +23,7 @@ HAKO_STAGEB_FUNC_SCAN=1 \ HAKO_MIR_BUILDER_FUNCS=1 \ HAKO_MIR_BUILDER_CALL_RESOLVE=1 \ NYASH_USE_NY_COMPILER=0 HAKO_DISABLE_NY_COMPILER=1 \ -NYASH_PARSER_STAGE3=1 HAKO_PARSER_STAGE3=1 NYASH_PARSER_ALLOW_SEMICOLON=1 \ +NYASH_FEATURES=stage3 NYASH_FEATURES=stage3 NYASH_PARSER_ALLOW_SEMICOLON=1 \ NYASH_ENABLE_USING=1 HAKO_ENABLE_USING=1 \ bash "$ROOT/tools/hakorune_emit_mir.sh" "$TMP_SRC" "$TMP_JSON" >/dev/null diff --git a/tools/dev/phase216_chain_canary_return.sh b/tools/dev/phase216_chain_canary_return.sh index 000c607c..706815f2 100644 --- a/tools/dev/phase216_chain_canary_return.sh +++ b/tools/dev/phase216_chain_canary_return.sh @@ -14,7 +14,7 @@ OUT_EXE=$(mktemp --suffix .exe) HAKO_SELFHOST_BUILDER_FIRST=1 \ NYASH_USE_NY_COMPILER=0 HAKO_DISABLE_NY_COMPILER=1 \ -NYASH_PARSER_STAGE3=1 HAKO_PARSER_STAGE3=1 NYASH_PARSER_ALLOW_SEMICOLON=1 \ +NYASH_FEATURES=stage3 NYASH_FEATURES=stage3 NYASH_PARSER_ALLOW_SEMICOLON=1 \ NYASH_ENABLE_USING=1 HAKO_ENABLE_USING=1 \ bash "$ROOT/tools/hakorune_emit_mir.sh" "$TMP_SRC" "$TMP_JSON" >/dev/null diff --git a/tools/dev/phase217_methodize_canary.sh b/tools/dev/phase217_methodize_canary.sh index f56f7eda..141701f4 100644 --- a/tools/dev/phase217_methodize_canary.sh +++ b/tools/dev/phase217_methodize_canary.sh @@ -21,7 +21,7 @@ HAKO_MIR_BUILDER_FUNCS=1 \ HAKO_MIR_BUILDER_CALL_RESOLVE=1 \ HAKO_MIR_BUILDER_METHODIZE=1 \ NYASH_USE_NY_COMPILER=0 HAKO_DISABLE_NY_COMPILER=1 \ -NYASH_PARSER_STAGE3=1 HAKO_PARSER_STAGE3=1 NYASH_PARSER_ALLOW_SEMICOLON=1 \ +NYASH_FEATURES=stage3 NYASH_FEATURES=stage3 NYASH_PARSER_ALLOW_SEMICOLON=1 \ NYASH_ENABLE_USING=1 HAKO_ENABLE_USING=1 \ bash "$ROOT/tools/hakorune_emit_mir.sh" "$TMP_SRC" "$TMP_JSON" >/dev/null diff --git a/tools/dev/stageb_loop_json_canary.sh b/tools/dev/stageb_loop_json_canary.sh index 4533eec5..4c75e754 100644 --- a/tools/dev/stageb_loop_json_canary.sh +++ b/tools/dev/stageb_loop_json_canary.sh @@ -23,7 +23,7 @@ NYASH_BIN=${NYASH_BIN:-"$ROOT/target/release/hakorune"} # Emit Program(JSON v0) via Stage‑B OUT=$(NYASH_JSON_ONLY=1 NYASH_DISABLE_NY_COMPILER=1 HAKO_DISABLE_NY_COMPILER=1 \ - NYASH_PARSER_STAGE3=1 HAKO_PARSER_STAGE3=1 NYASH_PARSER_ALLOW_SEMICOLON=1 \ + NYASH_FEATURES=stage3 NYASH_FEATURES=stage3 NYASH_PARSER_ALLOW_SEMICOLON=1 \ NYASH_ENABLE_USING=1 HAKO_ENABLE_USING=1 \ "$NYASH_BIN" --backend vm lang/src/compiler/entry/compiler_stageb.hako -- --source "$(cat "$TMP_SRC")" 2>/dev/null | awk '/^{/,/^}$/') diff --git a/tools/dev_stageb.sh b/tools/dev_stageb.sh index 00608f88..eb78826e 100644 --- a/tools/dev_stageb.sh +++ b/tools/dev_stageb.sh @@ -35,7 +35,7 @@ NYASH_PARSER_ALLOW_SEMICOLON=1 \ NYASH_SYNTAX_SUGAR_LEVEL=full \ NYASH_ENABLE_ARRAY_LITERAL=1 \ HAKO_ALLOW_USING_FILE=1 NYASH_ALLOW_USING_FILE=1 \ -HAKO_PARSER_STAGE3=1 NYASH_PARSER_STAGE3=1 \ +NYASH_FEATURES=stage3 NYASH_FEATURES=stage3 \ NYASH_VARMAP_GUARD_STRICT=0 NYASH_BLOCK_SCHEDULE_VERIFY=0 NYASH_PHI_VERIFY=0 \ NYASH_QUIET=1 HAKO_QUIET=1 NYASH_CLI_VERBOSE=0 \ "$BIN" --backend vm "$ROOT/lang/src/compiler/entry/compiler.hako" -- --stage-b --source "$CODE" >"$RAW" 2>&1 || true diff --git a/tools/dump_stageb_min_mir.sh b/tools/dump_stageb_min_mir.sh index 413d2eef..acdc24f0 100644 --- a/tools/dump_stageb_min_mir.sh +++ b/tools/dump_stageb_min_mir.sh @@ -33,7 +33,7 @@ echo "[stageb/dump] emitting Program(JSON v0) → $OUT_PROGRAM" NYASH_JSON_ONLY=1 \ NYASH_DISABLE_NY_COMPILER=1 HAKO_DISABLE_NY_COMPILER=1 \ HAKO_STAGEB_FUNC_SCAN=1 \ -NYASH_PARSER_STAGE3=1 HAKO_PARSER_STAGE3=1 \ +NYASH_FEATURES=stage3 NYASH_FEATURES=stage3 \ NYASH_PARSER_ALLOW_SEMICOLON=1 \ NYASH_ENABLE_USING=1 HAKO_ENABLE_USING=1 \ HAKO_LOOPSSA_EXIT_PHI="${HAKO_LOOPSSA_EXIT_PHI:-0}" \ diff --git a/tools/hako_check/dot_edges_smoke.sh b/tools/hako_check/dot_edges_smoke.sh index 03f753a0..e66b7f59 100644 --- a/tools/hako_check/dot_edges_smoke.sh +++ b/tools/hako_check/dot_edges_smoke.sh @@ -25,7 +25,7 @@ HK export LD_LIBRARY_PATH="${ROOT}/target/release:${LD_LIBRARY_PATH:-}" OUT=$( NYASH_DISABLE_NY_COMPILER=1 HAKO_DISABLE_NY_COMPILER=1 \ - NYASH_PARSER_STAGE3=1 HAKO_PARSER_STAGE3=1 \ + NYASH_FEATURES=stage3 NYASH_FEATURES=stage3 \ NYASH_DISABLE_PLUGINS=1 NYASH_BOX_FACTORY_POLICY=builtin_first \ "$BIN" --backend vm "$ROOT/tools/hako_check/cli.hako" -- --format dot --source-file "$TMP_HAKO" "$(sed 's/\r$//' "$TMP_HAKO")" ) diff --git a/tools/hakorune_emit_mir.sh b/tools/hakorune_emit_mir.sh index 5431de65..68da7407 100644 --- a/tools/hakorune_emit_mir.sh +++ b/tools/hakorune_emit_mir.sh @@ -348,7 +348,7 @@ diagnose_stageb_failure() { if printf '%s\n' "$raw" | grep -q "Undefined variable: local"; then echo "[stageb/diagnose] Undefined variable: local" >&2 echo "[stageb/hint] 'local' は Stage‑3 キーワードだよ。" >&2 - echo "[stageb/hint] NYASH_PARSER_STAGE3=1 HAKO_PARSER_STAGE3=1 を有効にするか、tools/hakorune_emit_mir.sh 経由で実行してね。" >&2 + echo "[stageb/hint] NYASH_FEATURES=stage3 NYASH_FEATURES=stage3 を有効にするか、tools/hakorune_emit_mir.sh 経由で実行してね。" >&2 fi # Generic parse error if printf '%s\n' "$raw" | grep -q "Parse error"; then @@ -395,7 +395,7 @@ fi PROG_JSON_RAW=$(cd "$ROOT" && \ NYASH_JSON_ONLY=${NYASH_JSON_ONLY:-1} NYASH_DISABLE_NY_COMPILER=${NYASH_DISABLE_NY_COMPILER:-1} HAKO_DISABLE_NY_COMPILER=${HAKO_DISABLE_NY_COMPILER:-1} \ HAKO_STAGEB_FUNC_SCAN="${HAKO_STAGEB_FUNC_SCAN:-1}" \ - NYASH_PARSER_STAGE3=1 HAKO_PARSER_STAGE3=1 NYASH_PARSER_ALLOW_SEMICOLON=1 \ + NYASH_FEATURES=stage3 NYASH_FEATURES=stage3 NYASH_PARSER_ALLOW_SEMICOLON=1 \ NYASH_ENABLE_USING=${NYASH_ENABLE_USING:-1} HAKO_ENABLE_USING=${HAKO_ENABLE_USING:-1} \ "$NYASH_BIN" --backend vm "$stageb_target" -- "${stageb_extra[@]}" --source "$(cat "$CODE_TMP")" 2>&1) rc=$? @@ -588,7 +588,7 @@ HCODE set +e (cd "$ROOT" && \ NYASH_DISABLE_PLUGINS=1 NYASH_FILEBOX_MODE="core-ro" \ - NYASH_PARSER_STAGE3=1 HAKO_PARSER_STAGE3=1 NYASH_PARSER_ALLOW_SEMICOLON=1 \ + NYASH_FEATURES=stage3 NYASH_FEATURES=stage3 NYASH_PARSER_ALLOW_SEMICOLON=1 \ HAKO_BUILDER_PROGRAM_JSON="$prog_json" \ "$NYASH_BIN" --backend vm "$tmp_hako" 2>&1 | tee "$tmp_stdout" >/dev/null) local rc=$? @@ -630,7 +630,7 @@ HAKO # AotPrep(run_json) は自己ホストVMで JSON を1回走査するだけなので、既定ではステップ上限なし(0)で実行する。 # 必要に応じて HAKO_VM_MAX_STEPS / NYASH_VM_MAX_STEPS を明示上書き可能。 HAKO_VM_MAX_STEPS="${HAKO_VM_MAX_STEPS:-0}" NYASH_VM_MAX_STEPS="${NYASH_VM_MAX_STEPS:-0}" \ - NYASH_PARSER_STAGE3=1 HAKO_PARSER_STAGE3=1 NYASH_PARSER_ALLOW_SEMICOLON=1 \ + NYASH_FEATURES=stage3 NYASH_FEATURES=stage3 NYASH_PARSER_ALLOW_SEMICOLON=1 \ NYASH_ENABLE_USING=1 HAKO_ENABLE_USING=1 HAKO_USING_RESOLVER_FIRST=1 \ NYASH_AOT_COLLECTIONS_HOT=${NYASH_AOT_COLLECTIONS_HOT:-0} NYASH_LLVM_FAST=${NYASH_LLVM_FAST:-0} NYASH_MIR_LOOP_HOIST=${NYASH_MIR_LOOP_HOIST:-0} NYASH_AOT_MAP_KEY_MODE=${NYASH_AOT_MAP_KEY_MODE:-auto} \ NYASH_AOT_NUMERIC_CORE=${NYASH_AOT_NUMERIC_CORE:-0} NYASH_AOT_NUMERIC_CORE_TRACE=${NYASH_AOT_NUMERIC_CORE_TRACE:-0} \ @@ -768,7 +768,7 @@ HCODE HAKO_MIR_BUILDER_DEBUG="${HAKO_MIR_BUILDER_DEBUG:-}" \ NYASH_DISABLE_PLUGINS="${NYASH_DISABLE_PLUGINS:-0}" NYASH_FILEBOX_MODE="core-ro" HAKO_PROVIDER_POLICY="safe-core-first" \ NYASH_ENABLE_USING=1 HAKO_ENABLE_USING=1 HAKO_USING_RESOLVER_FIRST=1 \ - NYASH_PARSER_STAGE3=1 HAKO_PARSER_STAGE3=1 NYASH_PARSER_ALLOW_SEMICOLON=1 \ + NYASH_FEATURES=stage3 NYASH_FEATURES=stage3 NYASH_PARSER_ALLOW_SEMICOLON=1 \ NYASH_USE_NY_COMPILER=0 HAKO_USE_NY_COMPILER=0 NYASH_DISABLE_NY_COMPILER=1 HAKO_DISABLE_NY_COMPILER=1 \ NYASH_MACRO_DISABLE=1 HAKO_MACRO_DISABLE=1 \ # Builder 実行時は Step budget を既定で「無制限(0)」にしておく(大きな Program(JSON) でも上限で落とさない)。 @@ -892,7 +892,7 @@ HCODE set +e (cd "$ROOT" && \ NYASH_DISABLE_PLUGINS="${NYASH_DISABLE_PLUGINS:-0}" NYASH_FILEBOX_MODE="core-ro" \ - NYASH_PARSER_STAGE3=1 HAKO_PARSER_STAGE3=1 NYASH_PARSER_ALLOW_SEMICOLON=1 \ + NYASH_FEATURES=stage3 NYASH_FEATURES=stage3 NYASH_PARSER_ALLOW_SEMICOLON=1 \ HAKO_BUILDER_PROGRAM_JSON="$prog_json" \ NYASH_ENABLE_USING=1 HAKO_ENABLE_USING=1 HAKO_USING_RESOLVER_FIRST=1 \ "$NYASH_BIN" --backend vm "$tmp_hako" 2>"$tmp_stderr" | tee "$tmp_stdout" >/dev/null) @@ -958,7 +958,7 @@ EOF set +e HAKO_PREP_INPUT="$(cat "$out_path")" \ NYASH_FILEBOX_MODE=core-ro \ - NYASH_PARSER_STAGE3=1 HAKO_PARSER_STAGE3=1 NYASH_PARSER_ALLOW_SEMICOLON=1 \ + NYASH_FEATURES=stage3 NYASH_FEATURES=stage3 NYASH_PARSER_ALLOW_SEMICOLON=1 \ NYASH_ENABLE_USING=1 HAKO_ENABLE_USING=1 HAKO_USING_RESOLVER_FIRST=1 \ NYASH_AOT_COLLECTIONS_HOT=${NYASH_AOT_COLLECTIONS_HOT:-0} NYASH_LLVM_FAST=${NYASH_LLVM_FAST:-0} NYASH_MIR_LOOP_HOIST=${NYASH_MIR_LOOP_HOIST:-0} NYASH_AOT_MAP_KEY_MODE=${NYASH_AOT_MAP_KEY_MODE:-auto} \ NYASH_AOT_NUMERIC_CORE=${NYASH_AOT_NUMERIC_CORE:-0} NYASH_AOT_NUMERIC_CORE_TRACE=${NYASH_AOT_NUMERIC_CORE_TRACE:-0} \ diff --git a/tools/joinir_ab_test.sh b/tools/joinir_ab_test.sh index a708aef7..fb3b16a4 100644 --- a/tools/joinir_ab_test.sh +++ b/tools/joinir_ab_test.sh @@ -22,8 +22,8 @@ echo "" # Route A: Traditional if_phi echo "=== Route A (if_phi) ===" HAKO_JOINIR_IF_SELECT=0 \ -NYASH_PARSER_STAGE3=1 \ -HAKO_PARSER_STAGE3=1 \ +NYASH_FEATURES=stage3 \ +NYASH_FEATURES=stage3 \ ./target/release/hakorune "$test_case" \ > /tmp/route_a.out 2>&1 route_a_rc=$? @@ -35,8 +35,8 @@ echo "=== Route B (JoinIR) ===" HAKO_JOINIR_IF_SELECT=1 \ HAKO_JOINIR_STAGE1=1 \ HAKO_JOINIR_DEBUG=1 \ -NYASH_PARSER_STAGE3=1 \ -HAKO_PARSER_STAGE3=1 \ +NYASH_FEATURES=stage3 \ +NYASH_FEATURES=stage3 \ ./target/release/hakorune "$test_case" \ > /tmp/route_b.out 2>&1 route_b_rc=$? diff --git a/tools/ny_selfhost_inline.sh b/tools/ny_selfhost_inline.sh index 8b37a490..54b5d312 100644 --- a/tools/ny_selfhost_inline.sh +++ b/tools/ny_selfhost_inline.sh @@ -13,7 +13,7 @@ # - nyash_binary: optional path to hakorune/nyash binary (default: target/release/hakorune or nyash). # # Notes: -# - Forces Stage-3 parser ON for the child (NYASH_PARSER_STAGE3=1/HAKO_PARSER_STAGE3=1). +# - Forces Stage-3 parser ON for the child (NYASH_FEATURES=stage3/NYASH_FEATURES=stage3). # - Enables using resolver with file-based using (dev profile) so that lang.compiler.* modules can be found. # - Does NOT perform Stage-0 prelude text merge or preexpand_at_local; it feeds the raw source to ParserBox. @@ -79,7 +79,7 @@ SRC_CONTENT="$(cat "$SRC")" NYASH_INLINE_SRC="$SRC_CONTENT" \ NYASH_JSON_ONLY=1 \ -NYASH_PARSER_STAGE3=1 HAKO_PARSER_STAGE3=1 NYASH_PARSER_ALLOW_SEMICOLON=1 \ +NYASH_FEATURES=stage3 NYASH_FEATURES=stage3 NYASH_PARSER_ALLOW_SEMICOLON=1 \ NYASH_ENABLE_USING=1 HAKO_ENABLE_USING=1 \ NYASH_ALLOW_USING_FILE=1 HAKO_ALLOW_USING_FILE=1 \ "$BIN" --backend vm "$HARNESS" diff --git a/tools/perf/bench_compare_c_vs_hako.sh b/tools/perf/bench_compare_c_vs_hako.sh index 0d002f87..de5d6a13 100644 --- a/tools/perf/bench_compare_c_vs_hako.sh +++ b/tools/perf/bench_compare_c_vs_hako.sh @@ -83,8 +83,8 @@ C_MED=$(printf "%s\n" "${C_SERIES}" | median_ms) # Minimal env for fast VM bring-up (bench profile) # - Disable dynamic plugins and nyash.toml env injection to avoid startup scans HAKO_ENV=( - NYASH_PARSER_STAGE3=1 - HAKO_PARSER_STAGE3=1 + NYASH_FEATURES=stage3 + NYASH_FEATURES=stage3 NYASH_PARSER_ALLOW_SEMICOLON=1 NYASH_DISABLE_PLUGINS=1 NYASH_SKIP_TOML_ENV=1 diff --git a/tools/perf/record_baselines.sh b/tools/perf/record_baselines.sh index 240293f8..8cfa765f 100644 --- a/tools/perf/record_baselines.sh +++ b/tools/perf/record_baselines.sh @@ -64,7 +64,7 @@ record_one() { local hako_bin="${TARGET_DIR}/release/hakorune" local hako_prog="${ROOT_DIR}/benchmarks/bench_${key}.hako" if [[ -x "${hako_bin}" && -f "${hako_prog}" ]]; then - local -a HAKO_ENV=(NYASH_PARSER_STAGE3=1 HAKO_PARSER_STAGE3=1 NYASH_PARSER_ALLOW_SEMICOLON=1) + local -a HAKO_ENV=(NYASH_FEATURES=stage3 NYASH_FEATURES=stage3 NYASH_PARSER_ALLOW_SEMICOLON=1) local hako_series; hako_series=$(collect_series "${WARMUP}" "${REPEAT}" env "${HAKO_ENV[@]}" timeout 20s "${hako_bin}" --backend vm "${hako_prog}") ny_vm_ms=$(printf "%s\n" "${hako_series}" | median_ms) # Optional subtract: measure minimal VM startup (ret0) diff --git a/tools/selfhost/gen_v0_from_selfhost_pipeline_min.sh b/tools/selfhost/gen_v0_from_selfhost_pipeline_min.sh index baeb1327..82d7f0c0 100644 --- a/tools/selfhost/gen_v0_from_selfhost_pipeline_min.sh +++ b/tools/selfhost/gen_v0_from_selfhost_pipeline_min.sh @@ -18,6 +18,6 @@ HCODE NYASH_USING_PROFILE=dev NYASH_ENABLE_USING=1 HAKO_ENABLE_USING=1 \ NYASH_DISABLE_NY_COMPILER=1 HAKO_DISABLE_NY_COMPILER=1 \ -NYASH_PARSER_STAGE3=1 HAKO_PARSER_STAGE3=1 NYASH_PARSER_ALLOW_SEMICOLON=1 \ +NYASH_FEATURES=stage3 NYASH_FEATURES=stage3 NYASH_PARSER_ALLOW_SEMICOLON=1 \ run_nyash_vm -c "$code" 2>/dev/null | tr -d '\r' diff --git a/tools/selfhost/gen_v1_from_builder.sh b/tools/selfhost/gen_v1_from_builder.sh index 9b2c274e..34828d7b 100644 --- a/tools/selfhost/gen_v1_from_builder.sh +++ b/tools/selfhost/gen_v1_from_builder.sh @@ -16,5 +16,5 @@ HCODE ) NYASH_USING_AST=1 NYASH_DISABLE_NY_COMPILER=1 HAKO_DISABLE_NY_COMPILER=1 \ -NYASH_PARSER_STAGE3=1 HAKO_PARSER_STAGE3=1 NYASH_PARSER_ALLOW_SEMICOLON=1 \ +NYASH_FEATURES=stage3 NYASH_FEATURES=stage3 NYASH_PARSER_ALLOW_SEMICOLON=1 \ NYASH_JSON_ONLY=1 run_nyash_vm -c "$code" 2>/dev/null | tr -d '\r' diff --git a/tools/selfhost/gen_v1_from_builder_branch_ret_44.sh b/tools/selfhost/gen_v1_from_builder_branch_ret_44.sh index de24f09f..d36ccccb 100644 --- a/tools/selfhost/gen_v1_from_builder_branch_ret_44.sh +++ b/tools/selfhost/gen_v1_from_builder_branch_ret_44.sh @@ -19,6 +19,6 @@ HCODE ) NYASH_USING_AST=1 NYASH_DISABLE_NY_COMPILER=1 HAKO_DISABLE_NY_COMPILER=1 \ -NYASH_PARSER_STAGE3=1 HAKO_PARSER_STAGE3=1 NYASH_PARSER_ALLOW_SEMICOLON=1 \ +NYASH_FEATURES=stage3 NYASH_FEATURES=stage3 NYASH_PARSER_ALLOW_SEMICOLON=1 \ run_nyash_vm -c "$code" 2>/dev/null | tr -d '\r' diff --git a/tools/selfhost/gen_v1_from_builder_compare_cfg.sh b/tools/selfhost/gen_v1_from_builder_compare_cfg.sh index 19e7b413..1c1094f2 100644 --- a/tools/selfhost/gen_v1_from_builder_compare_cfg.sh +++ b/tools/selfhost/gen_v1_from_builder_compare_cfg.sh @@ -17,6 +17,6 @@ HCODE ) NYASH_USING_AST=1 NYASH_DISABLE_NY_COMPILER=1 HAKO_DISABLE_NY_COMPILER=1 \ -NYASH_PARSER_STAGE3=1 HAKO_PARSER_STAGE3=1 NYASH_PARSER_ALLOW_SEMICOLON=1 \ +NYASH_FEATURES=stage3 NYASH_FEATURES=stage3 NYASH_PARSER_ALLOW_SEMICOLON=1 \ run_nyash_vm -c "$code" 2>/dev/null | tr -d '\r' diff --git a/tools/selfhost/gen_v1_from_builder_compare_ret.sh b/tools/selfhost/gen_v1_from_builder_compare_ret.sh index 4af65c96..c9609630 100644 --- a/tools/selfhost/gen_v1_from_builder_compare_ret.sh +++ b/tools/selfhost/gen_v1_from_builder_compare_ret.sh @@ -17,6 +17,6 @@ HCODE ) NYASH_USING_AST=1 NYASH_DISABLE_NY_COMPILER=1 HAKO_DISABLE_NY_COMPILER=1 \ -NYASH_PARSER_STAGE3=1 HAKO_PARSER_STAGE3=1 NYASH_PARSER_ALLOW_SEMICOLON=1 \ +NYASH_FEATURES=stage3 NYASH_FEATURES=stage3 NYASH_PARSER_ALLOW_SEMICOLON=1 \ run_nyash_vm -c "$code" 2>/dev/null | tr -d '\r' diff --git a/tools/selfhost/gen_v1_from_provider.sh b/tools/selfhost/gen_v1_from_provider.sh index c08473d2..8169761d 100644 --- a/tools/selfhost/gen_v1_from_provider.sh +++ b/tools/selfhost/gen_v1_from_provider.sh @@ -33,5 +33,5 @@ HCODE 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_PARSER_STAGE3=1 HAKO_PARSER_STAGE3=1 NYASH_PARSER_ALLOW_SEMICOLON=1 \ +NYASH_FEATURES=stage3 NYASH_FEATURES=stage3 NYASH_PARSER_ALLOW_SEMICOLON=1 \ run_nyash_vm -c "$code" 2>/dev/null | tr -d '\r' diff --git a/tools/selfhost/gen_v1_from_provider_min.sh b/tools/selfhost/gen_v1_from_provider_min.sh index 2aa1dff3..3947b114 100644 --- a/tools/selfhost/gen_v1_from_provider_min.sh +++ b/tools/selfhost/gen_v1_from_provider_min.sh @@ -20,6 +20,6 @@ HCODE 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_PARSER_STAGE3=1 HAKO_PARSER_STAGE3=1 NYASH_PARSER_ALLOW_SEMICOLON=1 \ +NYASH_FEATURES=stage3 NYASH_FEATURES=stage3 NYASH_PARSER_ALLOW_SEMICOLON=1 \ run_nyash_vm -c "$code" 2>/dev/null | tr -d '\r' diff --git a/tools/selfhost/gen_v1_from_selfhost_pipeline_min.sh b/tools/selfhost/gen_v1_from_selfhost_pipeline_min.sh index d2d13a10..4fd182dd 100644 --- a/tools/selfhost/gen_v1_from_selfhost_pipeline_min.sh +++ b/tools/selfhost/gen_v1_from_selfhost_pipeline_min.sh @@ -18,5 +18,5 @@ HCODE NYASH_USING_PROFILE=dev NYASH_ENABLE_USING=1 HAKO_ENABLE_USING=1 \ NYASH_DISABLE_NY_COMPILER=1 HAKO_DISABLE_NY_COMPILER=1 \ -NYASH_PARSER_STAGE3=1 HAKO_PARSER_STAGE3=1 NYASH_PARSER_ALLOW_SEMICOLON=1 \ +NYASH_FEATURES=stage3 NYASH_FEATURES=stage3 NYASH_PARSER_ALLOW_SEMICOLON=1 \ NYASH_JSON_ONLY=1 run_nyash_vm -c "$code" 2>/dev/null | tr -d '\r' diff --git a/tools/selfhost/gen_v1_min.sh b/tools/selfhost/gen_v1_min.sh index 04d8e2bc..1c95b04a 100644 --- a/tools/selfhost/gen_v1_min.sh +++ b/tools/selfhost/gen_v1_min.sh @@ -38,7 +38,7 @@ sed -i '/using selfhost\.shared\.common\.entry_point_base/d' "$pref" 2>/dev/null # できるだけ静かに実行して JSON のみを出力 NYASH_ROOT="$ROOT" NYASH_ENTRY_ALLOW_TOPLEVEL_MAIN=1 \ -NYASH_PARSER_STAGE3=1 HAKO_PARSER_STAGE3=1 NYASH_PARSER_ALLOW_SEMICOLON=1 \ +NYASH_FEATURES=stage3 NYASH_FEATURES=stage3 NYASH_PARSER_ALLOW_SEMICOLON=1 \ NYASH_DISABLE_NY_COMPILER=1 HAKO_DISABLE_NY_COMPILER=1 NYASH_USING_AST=0 \ "$NYASH_BIN" --backend vm "$pref" 2>/dev/null | tr -d '\r' rm -f "$tmp" "$pref" 2>/dev/null || true diff --git a/tools/selfhost_smoke.sh b/tools/selfhost_smoke.sh index 1803248e..57c7c582 100644 --- a/tools/selfhost_smoke.sh +++ b/tools/selfhost_smoke.sh @@ -17,7 +17,7 @@ echo "[selfhost-smoke] Step 1: Emit JSON via selfhost compiler (lang/, optional) OUT_JSON="/tmp/nyash_selfhost_out.json" set -x # Use lang side entry (Stage‑B). Emission is optional; failure does not fail the smoke. -if NYASH_ENABLE_USING=1 NYASH_ALLOW_USING_FILE=1 NYASH_USING_AST=1 NYASH_PARSER_STAGE3=1 \ +if NYASH_ENABLE_USING=1 NYASH_ALLOW_USING_FILE=1 NYASH_USING_AST=1 NYASH_FEATURES=stage3 \ "${NY_BIN}" --backend vm "${ROOT_DIR}/lang/src/compiler/entry/compiler_stageb.hako" -- --source 'box Main { static method main() { return 0 } }' > "${OUT_JSON}" 2>/dev/null; then : else