diff options
| author | Irene Knapp <ireneista@irenes.space> | 2026-09-19 07:07:43 -0700 |
|---|---|---|
| committer | Irene Knapp <ireneista@irenes.space> | 2026-09-19 07:27:35 -0700 |
| commit | eee978433b934cf9e9c7d73c43b90278eb490bee (patch) | |
| tree | 47e9456404bfa61bf26b89a778c04b5d99bb913f | |
| parent | 7df4b2837166d31a7ad5607a226a49bcc82aaea9 (diff) | |
some basic indentation for parts of the log-load transform
Change-Id: Ibfd4fa69a3d2abdaba162538f6386f7173af4311 Force-Push: yes
| -rw-r--r-- | README.txt | 2 | ||||
| -rw-r--r-- | linux-dynamic.e | 1 | ||||
| -rw-r--r-- | transform.e | 12 |
3 files changed, 13 insertions, 2 deletions
diff --git a/README.txt b/README.txt index f2c52f0..3ed4635 100644 --- a/README.txt +++ b/README.txt @@ -296,7 +296,7 @@ written in Evocation-assembly), if you intend to play around with this you may wish to know how to attempt to run it on things. The latest draft way to do that is: - $ (cat labels.e elf.e transform.e; echo 's" xyzzy" allocate-string dup 1048576 read-to-buffer'; cat core.e linux.e output.e amd64.e execution-support.e log-load.e dynamic.e input.e interpret.e flow-control.e linux-dynamic.e labels.e elf.e transform.e execution.e; echo 's" pyrzqxgl" allocate-string dup 262144 read-to-buffer '; cat core.e linux.e output.e amd64.e execution-support.e log-load.e; echo pyrzqxgl swap 262144 read-to-buffer; cat core.e linux.e output.e amd64.e execution-support.e log-load.e dynamic.e input.e interpret.e flow-control.e linux-dynamic.e; echo pyrzqxgl; cat evoke.e; echo 'xyzzy s" evoke-source" variable 1024 1024 2 * * allocate s" evoke-binary" variable 1024 1024 2 * * allocate s" evoke-metadata" variable evoke-metadata evoke-binary dup evoke-source 5 roll hex-transform bye ' ) | ./evoke > evoke.hex + $ (cat labels.e elf.e transform.e; echo 's" xyzzy" allocate-string dup 1048576 read-to-buffer'; cat core.e linux.e output.e amd64.e execution-support.e log-load.e dynamic.e input.e interpret.e flow-control.e linux-dynamic.e labels.e elf.e transform.e execution.e; echo 's" pyrzqxgl" allocate-string dup 262144 read-to-buffer '; cat core.e linux.e output.e amd64.e execution-support.e log-load.e; echo pyrzqxgl swap 262144 read-to-buffer; cat core.e linux.e output.e amd64.e execution-support.e log-load.e dynamic.e input.e interpret.e flow-control.e linux-dynamic.e; echo pyrzqxgl; cat evoke.e; echo 'xyzzy s" evoke-source" variable 1024 1024 2 * * allocate s" evoke-binary" variable 1024 1024 4 * * allocate s" evoke-metadata" variable evoke-metadata evoke-binary dup evoke-source 5 roll hex-transform bye ' ) | ./evoke > evoke.hex It should run to completion, producing output. The output is even correct in the sense that passing evoke.hex through ./hex will give a binary that's diff --git a/linux-dynamic.e b/linux-dynamic.e index 3809a0e..ec9e370 100644 --- a/linux-dynamic.e +++ b/linux-dynamic.e @@ -354,5 +354,6 @@ ~ There are scenarios where someone might want to disable this, for example ~ if calling back and forth between C and Evocation, but for now we always ~ enable it. +~ : blank-line install-crash-handler diff --git a/transform.e b/transform.e index a8c61cc..45d52dc 100644 --- a/transform.e +++ b/transform.e @@ -1882,6 +1882,11 @@ allocate-transformation-state s" transformation-state" variable ~ attempting to understand "log-load-colon-alternate". : log-load-colon-alternate word value@ + ~ : blank-line + ~ : blank-line + ~ : provide-string-copy + ~ : # is defined here via the log-load transform. + ~ : indent ~ Calling log-load-create-alternate would result in some redundant rolling ~ and unrolling, so we do it together like this instead. @@ -1971,6 +1976,8 @@ allocate-transformation-state s" transformation-state" variable log-load-unroll-log-address + ~ : deindent + ~ This is where we would unhide the entry, but again, we don't do that. ~ Since [ is an immediate word, we have to go to extra trouble to compile @@ -2000,6 +2007,8 @@ allocate-transformation-state s" transformation-state" variable log-load-unroll-log-address + ~ : deindent + ~ This is where we would unhide the entry, but again, we don't do that. ~ Since [ is an immediate word, we have to go to extra trouble to compile @@ -2690,6 +2699,7 @@ allocate-transformation-state s" transformation-state" variable ~ (output buffer start, output point, input string pointer, delimiter pointer ~ -- output buffer start, output point) : log-load-transform + ~ : blank-line ~ : This is the start of the log-load routine, which is a long block of ~ : code that has been processed by the log-load transform. It is part of ~ : the warm-start routine, which does other things before and after it. @@ -2706,6 +2716,7 @@ allocate-transformation-state s" transformation-state" variable ~ : functionality needed for the log-load routine to run, then invoke the ~ : log-load routine to copy a more complete set of functionality into ~ : memory. + ~ : blank-line main-input-buffer dup push-input-buffer 3roll attach-string-to-input-buffer @@ -2929,7 +2940,6 @@ allocate-transformation-state s" transformation-state" variable ~ ~ : delete-last-comment-at-output-point ~ ~ ~ : Do a thing with # and # ? -~ ~ : Do a different #swap # thing to # now. ~ ~ : provide-decimal ~ ~ : provide-hex ~ ~ : provide-hex8 |