about summary refs log tree commit diff stats
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
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.
-rw-r--r--079emit.subx7
-rw-r--r--Readme.md9
-rwxr-xr-xgen_linux_iso2
-rwxr-xr-xgen_soso_iso2
-rw-r--r--mu-init-test.subx2
-rwxr-xr-xtest_apps8
-rwxr-xr-xtranslate_mu4
-rwxr-xr-xtranslate_subx (renamed from ntranslate)4
-rwxr-xr-xtranslate_subx_debug (renamed from debug_translate)4
-rwxr-xr-xtranslate_subx_emulated (renamed from translate)0
10 files changed, 22 insertions, 20 deletions
diff --git a/079emit.subx b/079emit.subx
index abf11dce..0db46bdf 100644
--- a/079emit.subx
+++ b/079emit.subx
@@ -63,9 +63,10 @@ $emit:name:
     eb/jump  $emit:end/disp8
     # otherwise emit-hex(out, parse-hex-int(datum), width)
     #   (Weird shit can happen here if the datum of 'word' isn't either a valid
-    #   name or a hex number. `emit` is mostly used by ntranslate, which is
-    #   currently designed to only receive legal SubX programs. We just want to
-    #   make sure that valid names aren't treated as (valid) hex numbers.)
+    #   name or a hex number. `emit` is mostly used by translate_subx, which
+    #   is currently designed to only receive legal SubX programs. We just
+    #   want to make sure that valid names aren't treated as (valid) hex
+    #   numbers.)
 $emit:hex-int:
     # . var value/eax : int = parse-hex-int(datum)
     # . . push args
diff --git a/Readme.md b/Readme.md
index 326d9134..1d0329de 100644
--- a/Readme.md
+++ b/Readme.md
@@ -118,16 +118,16 @@ You can use SubX to translate itself. For example, running natively on Linux:
   42
 
   # or, automating the above steps
-  $ ./ntranslate init.linux examples/ex1.subx
+  $ ./translate_subx init.linux examples/ex1.subx
   $ ./a.elf
   $ echo $?
   42
   ```
 
-Or, running in a VM on other platforms:
+Or, running in a VM on other platforms (much slower):
 
   ```sh
-  $ ./translate init.linux ex1.subx  # generates identical a.elf to above
+  $ ./translate_subx_emulated init.linux ex1.subx  # generates identical a.elf to above
   $ ./subx run a.elf
   $ echo $?
   42
@@ -433,8 +433,7 @@ runnable on a Linux system running on Intel x86 processors, either 32- or
   files into an executable ELF binary.
 
 * `subx run <ELF binary>`: simulates running the ELF binaries emitted by `subx
-  translate`. Useful for debugging, and also enables more thorough testing of
-  `translate`.
+  translate`. Useful for testing and debugging.
 
   Remember, not all 32-bit Linux binaries are guaranteed to run. I'm not
   building general infrastructure here for all of the x86 instruction set.
diff --git a/gen_linux_iso b/gen_linux_iso
index f6769ec9..6a3d6b10 100755
--- a/gen_linux_iso
+++ b/gen_linux_iso
@@ -18,7 +18,7 @@ then
 fi
 
 echo "=== building SubX binary"
-./ntranslate $*
+./translate_subx $*
 mv a.elf init
 chmod +x init
 
diff --git a/gen_soso_iso b/gen_soso_iso
index 734bc7f5..2d446ad1 100755
--- a/gen_soso_iso
+++ b/gen_soso_iso
@@ -15,7 +15,7 @@ then
 fi
 
 echo "=== building SubX binary"
-./ntranslate $*
+./translate_subx $*
 mv a.elf init
 chmod +x init
 
diff --git a/mu-init-test.subx b/mu-init-test.subx
index 6b08b113..977147fa 100644
--- a/mu-init-test.subx
+++ b/mu-init-test.subx
@@ -1,7 +1,7 @@
 # Just a test stub for mu-init.subx
 #
 # Try it out like this:
-#   $ ./ntranslate init.linux 0*.subx mu-init.subx mu-init-test.subx
+#   $ ./translate_subx init.linux 0*.subx mu-init.subx mu-init-test.subx
 #   $ ./a.elf  # should run all tests
 
 main:  # args : (address array kernel-string) -> result/ebx : int
diff --git a/test_apps b/test_apps
index 9d32fc6b..b9b22db1 100755
--- a/test_apps
+++ b/test_apps
@@ -304,7 +304,7 @@ echo "== translating using SubX (native only)"
 for n in `seq 1 12`
 do
   echo ex$n
-  ./ntranslate init.$OS examples/ex$n.subx
+  ./translate_subx init.$OS examples/ex$n.subx
   diff examples/ex$n a.elf
 done
 
@@ -313,7 +313,7 @@ done
 for app in factorial crenshaw2-1 crenshaw2-1b handle
 do
   echo $app
-  ./ntranslate init.$OS 0*.subx apps/$app.subx
+  ./translate_subx init.$OS 0*.subx apps/$app.subx
   diff apps/$app a.elf
 done
 
@@ -322,13 +322,13 @@ done
 for app in hex survey pack assort dquotes tests sigils calls braces
 do
   echo $app
-  ./ntranslate init.$OS 0*.subx apps/subx-params.subx apps/$app.subx
+  ./translate_subx init.$OS 0*.subx apps/subx-params.subx apps/$app.subx
   diff apps/$app a.elf
 done
 
 # Mu translator
 echo mu
-./ntranslate init.$OS 0*.subx apps/mu.subx
+./translate_subx init.$OS 0*.subx apps/mu.subx
 diff apps/mu a.elf
 
 exit 0
diff --git a/translate_mu b/translate_mu
index d3029433..d6e6bfa9 100755
--- a/translate_mu
+++ b/translate_mu
@@ -1,7 +1,9 @@
 #!/bin/sh
+# Translate given Mu programs into ELF binaries.
+# Linux only for now.
 
 set -e
 
 cat $*          |apps/mu      > a.subx
 
-./ntranslate init.linux 0*.subx mu-init.subx a.subx
+./translate_subx init.linux 0*.subx mu-init.subx a.subx
diff --git a/ntranslate b/translate_subx
index e1c6f99b..ba36986a 100755
--- a/ntranslate
+++ b/translate_subx
@@ -31,8 +31,8 @@ cat a.tests     |apps/assort   > a.assort
 
 cat a.assort    |apps/dquotes  > a.dquotes
 
-# A little hack. We want ntranslate to always emit identical binaries to the
-# C++ translator. The C++ translator assorts segments before it processes
+# A little hack. We want translate_subx to always emit identical binaries to
+# the C++ translator. The C++ translator assorts segments before it processes
 # string literals, so we follow the same order above.
 #
 # However, dquotes currently emits a separate data segment for string literals.
diff --git a/debug_translate b/translate_subx_debug
index c1991abe..f5754f37 100755
--- a/debug_translate
+++ b/translate_subx_debug
@@ -7,13 +7,13 @@
 #   1. The self-hosted translator 'translate' runs in emulated mode and can
 #   run on Linux or BSD or Mac. However, syntax sugar passes (sigils and
 #   calls) can be very slow to run emulated.
-#   2. The self-hosted translator 'ntranslate' runs natively on Linux. It is
+#   2. The self-hosted translator 'translate_subx' runs natively on Linux. It is
 #   fast, but you get no trace for runs and zero error-checking on the code
 #   emitted by sigils and calls. Which could still be buggy.
 #
 # This script is a hack to get the best of all worlds. We run natively what we
 # must, and leverage as much debug information as possible. This arrangement
-# is snappy but requires Linux just like 'ntranslate'. You also are on your
+# is snappy but requires Linux just like 'translate_subx'. You also are on your
 # own to mentally map desugared instructions in traces and error messages back
 # to the original sources.
 
diff --git a/translate b/translate_subx_emulated
index 639d924e..639d924e 100755
--- a/translate
+++ b/translate_subx_emulated