diff --git a/100.txt b/100.txt new file mode 100644 index 00000000..076b9919 --- /dev/null +++ b/100.txt @@ -0,0 +1,11 @@ +We're now past C++ bootstrap. + +Layers in the 1xx series are in bare SubX, without any syntax sugar. They are +intended to be used by the phases of the self-hosted translator to replicate +the functionality of the C++ bootstrap: + apps/hex.subx + apps/survey.subx + apps/pack.subx + apps/dquotes.subx + apps/assort.subx + apps/tests.subx diff --git a/050_write.subx b/101_write.subx similarity index 100% rename from 050_write.subx rename to 101_write.subx diff --git a/051test.subx b/102test.subx similarity index 100% rename from 051test.subx rename to 102test.subx diff --git a/052kernel-string-equal.subx b/103kernel-string-equal.subx similarity index 100% rename from 052kernel-string-equal.subx rename to 103kernel-string-equal.subx diff --git a/053new-segment.subx b/104new-segment.subx similarity index 100% rename from 053new-segment.subx rename to 104new-segment.subx diff --git a/054string-equal.subx b/105string-equal.subx similarity index 100% rename from 054string-equal.subx rename to 105string-equal.subx diff --git a/055stream.subx b/106stream.subx similarity index 100% rename from 055stream.subx rename to 106stream.subx diff --git a/056trace.subx b/107trace.subx similarity index 100% rename from 056trace.subx rename to 107trace.subx diff --git a/057write.subx b/108write.subx similarity index 100% rename from 057write.subx rename to 108write.subx diff --git a/058stream-equal.subx b/109stream-equal.subx similarity index 100% rename from 058stream-equal.subx rename to 109stream-equal.subx diff --git a/059stop.subx b/110stop.subx similarity index 100% rename from 059stop.subx rename to 110stop.subx diff --git a/060read.subx b/111read.subx similarity index 100% rename from 060read.subx rename to 111read.subx diff --git a/061read-byte.subx b/112read-byte.subx similarity index 100% rename from 061read-byte.subx rename to 112read-byte.subx diff --git a/062write-stream.subx b/113write-stream.subx similarity index 100% rename from 062write-stream.subx rename to 113write-stream.subx diff --git a/063error.subx b/114error.subx similarity index 100% rename from 063error.subx rename to 114error.subx diff --git a/064write-byte.subx b/115write-byte.subx similarity index 100% rename from 064write-byte.subx rename to 115write-byte.subx diff --git a/065write-buffered.subx b/116write-buffered.subx similarity index 100% rename from 065write-buffered.subx rename to 116write-buffered.subx diff --git a/066write-int-hex.subx b/117write-int-hex.subx similarity index 100% rename from 066write-int-hex.subx rename to 117write-int-hex.subx diff --git a/067parse-hex.subx b/118parse-hex.subx similarity index 100% rename from 067parse-hex.subx rename to 118parse-hex.subx diff --git a/068error-byte.subx b/119error-byte.subx similarity index 100% rename from 068error-byte.subx rename to 119error-byte.subx diff --git a/069allocate.subx b/120allocate.subx similarity index 100% rename from 069allocate.subx rename to 120allocate.subx diff --git a/070new-stream.subx b/121new-stream.subx similarity index 100% rename from 070new-stream.subx rename to 121new-stream.subx diff --git a/071read-line.subx b/122read-line.subx similarity index 100% rename from 071read-line.subx rename to 122read-line.subx diff --git a/072slice.subx b/123slice.subx similarity index 100% rename from 072slice.subx rename to 123slice.subx diff --git a/073next-token.subx b/124next-token.subx similarity index 100% rename from 073next-token.subx rename to 124next-token.subx diff --git a/074write-stream-data.subx b/125write-stream-data.subx similarity index 100% rename from 074write-stream-data.subx rename to 125write-stream-data.subx diff --git a/075write-int-decimal.subx b/126write-int-decimal.subx similarity index 100% rename from 075write-int-decimal.subx rename to 126write-int-decimal.subx diff --git a/076next-word.subx b/127next-word.subx similarity index 100% rename from 076next-word.subx rename to 127next-word.subx diff --git a/077subx-words.subx b/128subx-words.subx similarity index 100% rename from 077subx-words.subx rename to 128subx-words.subx diff --git a/078emit-hex.subx b/129emit-hex.subx similarity index 100% rename from 078emit-hex.subx rename to 129emit-hex.subx diff --git a/079emit.subx b/130emit.subx similarity index 100% rename from 079emit.subx rename to 130emit.subx diff --git a/081table.subx b/131table.subx similarity index 100% rename from 081table.subx rename to 131table.subx diff --git a/082slurp.subx b/132slurp.subx similarity index 100% rename from 082slurp.subx rename to 132slurp.subx diff --git a/083subx-widths.subx b/133subx-widths.subx similarity index 100% rename from 083subx-widths.subx rename to 133subx-widths.subx diff --git a/084emit-hex-array.subx b/134emit-hex-array.subx similarity index 100% rename from 084emit-hex-array.subx rename to 134emit-hex-array.subx diff --git a/085next-word-or-string.subx b/135next-word-or-string.subx similarity index 100% rename from 085next-word-or-string.subx rename to 135next-word-or-string.subx diff --git a/200.txt b/200.txt new file mode 100644 index 00000000..5dd57840 --- /dev/null +++ b/200.txt @@ -0,0 +1,5 @@ +Layers in the 2xx series are in bare SubX, without any syntax sugar. They are +intended to be used by various syntax-sugar phases: + apps/sigils.subx + apps/calls.subx + apps/braces.subx diff --git a/090register-names.subx b/201register-names.subx similarity index 100% rename from 090register-names.subx rename to 201register-names.subx diff --git a/091write-int.subx b/202write-int.subx similarity index 100% rename from 091write-int.subx rename to 202write-int.subx diff --git a/092stack.subx b/203stack.subx similarity index 100% rename from 092stack.subx rename to 203stack.subx diff --git a/300.txt b/300.txt new file mode 100644 index 00000000..1544081b --- /dev/null +++ b/300.txt @@ -0,0 +1,3 @@ +Layers in the 3xx series use all the available syntax sugar for SubX programs. +For the most part they're intended to be used by the Mu translator: + apps/mu.subx diff --git a/100array-equal.subx b/301array-equal.subx similarity index 100% rename from 100array-equal.subx rename to 301array-equal.subx diff --git a/101stack_allocate.subx b/302stack_allocate.subx similarity index 100% rename from 101stack_allocate.subx rename to 302stack_allocate.subx diff --git a/102kernel-string.subx b/303kernel-string.subx similarity index 100% rename from 102kernel-string.subx rename to 303kernel-string.subx diff --git a/103screen.subx b/304screen.subx similarity index 100% rename from 103screen.subx rename to 304screen.subx diff --git a/104keyboard.subx b/305keyboard.subx similarity index 100% rename from 104keyboard.subx rename to 305keyboard.subx diff --git a/105files.subx b/306files.subx similarity index 100% rename from 105files.subx rename to 306files.subx diff --git a/106size.subx b/307size.subx similarity index 100% rename from 106size.subx rename to 307size.subx diff --git a/test_apps b/test_apps index 3552971b..325266e1 100755 --- a/test_apps +++ b/test_apps @@ -185,7 +185,7 @@ test $NATIVE && { # Larger apps that use the standard library. echo factorial -./bootstrap translate init.$OS 0[0-8]*.subx apps/factorial.subx -o apps/factorial +./bootstrap translate init.$OS [01]*.subx apps/factorial.subx -o apps/factorial test "$1" = 'record' || git diff --exit-code apps/factorial test $EMULATED && { ./bootstrap run apps/factorial || ret=$? @@ -201,7 +201,7 @@ test $NATIVE && { } echo crenshaw2-1 -./bootstrap translate init.$OS 0[0-8]*.subx apps/crenshaw2-1.subx -o apps/crenshaw2-1 +./bootstrap translate init.$OS [01]*.subx apps/crenshaw2-1.subx -o apps/crenshaw2-1 test "$1" = 'record' || git diff --exit-code apps/crenshaw2-1 test $EMULATED && { ./bootstrap run apps/crenshaw2-1 test @@ -213,7 +213,7 @@ test $NATIVE && { } echo crenshaw2-1b -./bootstrap translate init.$OS 0[0-8]*.subx apps/crenshaw2-1b.subx -o apps/crenshaw2-1b +./bootstrap translate init.$OS [01]*.subx apps/crenshaw2-1b.subx -o apps/crenshaw2-1b test "$1" = 'record' || git diff --exit-code apps/crenshaw2-1b test $EMULATED && { ./bootstrap run apps/crenshaw2-1b test @@ -229,7 +229,7 @@ test $NATIVE && { for phase in hex survey pack assort dquotes tests do echo $phase - ./bootstrap translate init.$OS 0[0-8]*.subx apps/subx-params.subx apps/$phase.subx -o apps/$phase + ./bootstrap translate init.$OS [01]*.subx apps/subx-params.subx apps/$phase.subx -o apps/$phase test "$1" = 'record' || git diff --exit-code apps/$phase test $EMULATED && { ./bootstrap run apps/$phase test @@ -247,7 +247,7 @@ done # to go beyond functionality of the C++ bootstrap. echo sigils -./bootstrap translate init.$OS 0*.subx apps/subx-params.subx apps/sigils.subx -o apps/sigils +./bootstrap translate init.$OS [012]*.subx apps/subx-params.subx apps/sigils.subx -o apps/sigils test "$1" = 'record' || git diff --exit-code apps/sigils test $EMULATED && { ./bootstrap run apps/sigils test @@ -261,7 +261,7 @@ test $NATIVE && { test $NATIVE || { echo 'there are more tests, but you need Linux to run them'; exit 0; } echo calls -cat init.$OS 0*.subx apps/subx-params.subx apps/calls.subx | apps/sigils > a.sigils +cat init.$OS [012]*.subx apps/subx-params.subx apps/calls.subx | apps/sigils > a.sigils ./bootstrap translate a.sigils -o apps/calls test "$1" = 'record' || git diff --exit-code apps/calls test $EMULATED && { @@ -274,7 +274,7 @@ test $NATIVE && { } echo braces -cat init.$OS 0*.subx apps/subx-params.subx apps/braces.subx | apps/calls | apps/sigils > a.sigils +cat init.$OS [012]*.subx apps/subx-params.subx apps/braces.subx | apps/calls | apps/sigils > a.sigils ./bootstrap translate a.sigils -o apps/braces test "$1" = 'record' || git diff --exit-code apps/braces test $EMULATED && { @@ -316,7 +316,7 @@ done for app in factorial crenshaw2-1 crenshaw2-1b do echo $app - ./translate_subx init.$OS 0[0-8]*.subx apps/$app.subx + ./translate_subx init.$OS [01]*.subx apps/$app.subx diff apps/$app a.elf done @@ -325,14 +325,14 @@ done for app in hex survey pack assort dquotes tests do echo $app - ./translate_subx init.$OS 0[0-8]*.subx apps/subx-params.subx apps/$app.subx + ./translate_subx init.$OS [01]*.subx apps/subx-params.subx apps/$app.subx diff apps/$app a.elf done for app in sigils calls braces do echo $app - ./translate_subx init.$OS 0*.subx apps/subx-params.subx apps/$app.subx + ./translate_subx init.$OS [012]*.subx apps/subx-params.subx apps/$app.subx diff apps/$app a.elf done