mu/translate_subx_emulated

51 lines
1.4 KiB
Bash
Executable File

#!/bin/sh
# Translate SubX by running the self-hosted translator in emulated mode on
# Linux or BSD or Mac.
#
# Possible knobs:
# Whether to run a phase natively or in emulated mode.
# Just always emulate for now since we debug on non-Linux.
# Whether to stop after a phase.
# Just always run all phases, but print out phases so it's clear where an
# error happens.
# Whether to trace a phase. Whether to always trace or rerun with tracing
# enabled after an error.
# Leave tracing to other scripts. We save intermediate files so it's easy
# to rerun a single phase afterwards.
# Whether to run a phase with debug information. (Need to juggle multiple
# sets of debug files.)
# Again, that's for subsequent scripts.
set -e
./build
echo " braces"
cat $* |./bootstrap_bin run apps/braces > a.braces
echo " calls"
cat a.braces |./bootstrap_bin run apps/calls > a.calls
echo " sigils"
cat a.calls |./bootstrap_bin run apps/sigils > a.sigils
echo " tests"
cat a.sigils |./bootstrap_bin run apps/tests > a.tests
echo " dquotes"
cat a.tests |./bootstrap_bin run apps/dquotes > a.dquotes
echo " assort"
cat a.dquotes |./bootstrap_bin run apps/assort > a.assort
echo " pack"
cat a.assort |./bootstrap_bin run apps/pack > a.pack
echo " survey"
cat a.pack |./bootstrap_bin run apps/survey > a.survey
echo " hex"
cat a.survey |./bootstrap_bin run apps/hex > a.elf
chmod +x a.elf