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
src/LYEdit.c?id=57bfc74ff4ec4c2980b2330f2badc54a8990842d'>57bfc74f ^
e087f6d4

57bfc74f ^









e087f6d4
57bfc74f ^








e087f6d4
57bfc74f ^





d3f9d547 ^
57bfc74f ^
b6c832d0 ^
b6d1143c ^
b6c832d0 ^
d3f9d547 ^
b6c832d0 ^
e087f6d4
d3f9d547 ^


57bfc74f ^
d3f9d547 ^
e087f6d4
57bfc74f ^


57bfc74f ^
d3f9d547 ^
57bfc74f ^
e087f6d4
57bfc74f ^





e087f6d4

57bfc74f ^





e087f6d4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153