about summary refs log tree commit diff stats
path: root/translate_subx_emulated
diff options
context:
space:
mode:
authorKartik Agaram <vc@akkartik.com>2020-01-01 16:45:30 -0800
committerKartik Agaram <vc@akkartik.com>2020-01-01 16:45:30 -0800
commit23fd294d85959c6b476bcdc35ed6ad508cc99b8f (patch)
tree871b6acf17c37797f83c134c5ccab2fba77ab666 /translate_subx_emulated
parent7ca19e4e1d3acb2c770c180156b813fb536a673e (diff)
downloadmu-23fd294d85959c6b476bcdc35ed6ad508cc99b8f.tar.gz
5851
Rename a few scripts to be more consistent.

I'm also starting to feel the urge to bud off `subx run` into its own program,
say tools/emulate_x86. It doesn't really rely on the SubX notation at all.

And then I could rename `subx translate` to `translate_subx_bootstrap`.

Only problem: the commands in the Readme get verbose. But the Readme is
gonna need surgery soon anyway to put translate_mu front and center.
Diffstat (limited to 'translate_subx_emulated')
-rwxr-xr-xtranslate_subx_emulated50
1 files changed, 50 insertions, 0 deletions
diff --git a/translate_subx_emulated b/translate_subx_emulated
new file mode 100755
index 00000000..639d924e
--- /dev/null
+++ b/translate_subx_emulated
@@ -0,0 +1,50 @@
+#!/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 $*          |./subx_bin run apps/braces   > a.braces
+
+echo "  calls"
+cat a.braces    |./subx_bin run apps/calls    > a.calls
+
+echo "  sigils"
+cat a.calls     |./subx_bin run apps/sigils   > a.sigils
+
+echo "  tests"
+cat a.sigils    |./subx_bin run apps/tests    > a.tests
+
+echo "  dquotes"
+cat a.tests     |./subx_bin run apps/dquotes  > a.dquotes
+
+echo "  assort"
+cat a.dquotes   |./subx_bin run apps/assort   > a.assort
+
+echo "  pack"
+cat a.assort    |./subx_bin run apps/pack     > a.pack
+
+echo "  survey"
+cat a.pack      |./subx_bin run apps/survey   > a.survey
+
+echo "  hex"
+cat a.survey    |./subx_bin run apps/hex      > a.elf
+
+chmod +x a.elf