about summary refs log tree commit diff stats
path: root/subx/translate
diff options
context:
space:
mode:
authorKartik Agaram <vc@akkartik.com>2019-07-19 11:38:57 -0700
committerKartik Agaram <vc@akkartik.com>2019-07-19 11:38:57 -0700
commita03bbc827dc432b664b15f1c2f4ee8a3dca5c9f6 (patch)
tree30d264372ade90c30f424b4572444314ae14ac06 /subx/translate
parent31cb01daf4c481736e151dde88d1ec55005f6347 (diff)
downloadmu-a03bbc827dc432b664b15f1c2f4ee8a3dca5c9f6.tar.gz
5420
Diffstat (limited to 'subx/translate')
-rwxr-xr-xsubx/translate29
1 files changed, 29 insertions, 0 deletions
diff --git a/subx/translate b/subx/translate
new file mode 100755
index 00000000..a5194e5b
--- /dev/null
+++ b/subx/translate
@@ -0,0 +1,29 @@
+#!/bin/sh
+# Translate SubX using the self-hosted translator.
+#
+# Possible knobs:
+#   Whether to run a phase directly or emulated.
+#     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
+set -v
+
+build
+
+cat $*          |./subx_bin run apps/dquotes  > a.dquotes
+
+cat a.dquotes   |./subx_bin run apps/assort   > a.assort
+
+cat a.assort    |./subx_bin run apps/pack     > a.pack
+
+cat a.pack      |./subx_bin run apps/survey   > a.survey
+
+cat a.survey    |./subx_bin run apps/hex      > a.elf
+
+xxd a.elf                                     > a.xxd