diff options
| author | Irene Knapp <ireneista@irenes.space> | 2026-09-09 00:12:47 -0700 |
|---|---|---|
| committer | Irene Knapp <ireneista@irenes.space> | 2026-09-09 00:12:47 -0700 |
| commit | a99cfdc6dff787c94b25dc67d9c64fb9f84f4cb0 (patch) | |
| tree | d0cd580ebc6c246447f9f795d77ebcd996455008 | |
| parent | f74440d8090e6b15abe47f71b169058e7b151447 (diff) | |
rename the provide-substring-* entry types to push-substring-*
Force-Push: yes Change-Id: I2d0ed253fc7b0e38f63cb0e6290ac2b1a64e32e8
| -rw-r--r-- | transform.e | 86 |
1 files changed, 43 insertions, 43 deletions
diff --git a/transform.e b/transform.e index 9816726..124eea9 100644 --- a/transform.e +++ b/transform.e @@ -3102,12 +3102,12 @@ allocate-transformation-state s" transformation-state" variable ~ ~ The provide-* commands are deeper than that. They peek at the top item on ~ the stack OF THE COMPILER, the code being transformed. The -decimal and -~ -hex* variants create a corresponding -entry-type-provide-substring- -~ metadata entry of the matching type, and copy the numeric value into it. The -~ -keyword variant expects to find a keyword (a word which, when executed, -~ pushes its own execution token onto the stack); the command extracts the -~ name of the keyword from the dictionary entry header, and saves a pointer to -~ the name in a provide-substring-string metadata entry. +~ -hex* variants create a corresponding -entry-type-push-substring- metadata +~ entry of the matching type, and copy the numeric value into it. The -keyword +~ variant expects to find a keyword (a word which, when executed, pushes its +~ own execution token onto the stack); the command extracts the name of the +~ keyword from the dictionary entry header, and saves a pointer to the name in +~ a push-substring-string metadata entry. ~ ~ Admit it, you thought writing out "metadata entry" so many times instead ~ of just "entry" was silly because there was no other kind of entry in @@ -3124,9 +3124,9 @@ allocate-transformation-state s" transformation-state" variable ~ entry onto the substring entry stack. ~ ~ It's been said already, but just to bring it all full circle, the life -~ cycle of a provide-* entry ends later in the formatting phase, when a -~ comment entry pops it off the substring entry stack and pretty-prints the -~ value it holds. +~ cycle of a push-* entry ends later in the formatting phase, when a comment +~ entry pops it off the substring entry stack and pretty-prints the value it +~ holds. ~ ~ One more thing: The order in which provide-* commands execute will most ~ likely match the order in which the corresponding bytes are output. This may @@ -3139,8 +3139,8 @@ allocate-transformation-state s" transformation-state" variable ~ It's probably clear from the extreme emphasis this documentation has taken ~ on describing the order things happen in, but it is quite common to define ~ a suffix comment at the start of an assembly-instruction word; adjust its -~ length as other words are called; accumulate provide-* entries; then rely -~ on the address sorting to make sure the provide-* entries are executed +~ length as other words are called; accumulate push-* entries; then rely +~ on the address sorting to make sure the push-* entries are executed ~ before the suffix comment entry, even though the suffix-comment command ~ executed before the others, and even though the adjust-length commands may ~ have come before or after the provide-* commands that go with the same @@ -3184,12 +3184,12 @@ allocate-transformation-state s" transformation-state" variable : hex-output-metadata-entry-type-string-literal 5 ; : hex-output-metadata-entry-type-raw-string-literal 6 ; : hex-output-metadata-entry-type-alignment 7 ; -: hex-output-metadata-entry-type-provide-substring-decimal 8 ; -: hex-output-metadata-entry-type-provide-substring-hex8 9 ; -: hex-output-metadata-entry-type-provide-substring-hex16 10 ; -: hex-output-metadata-entry-type-provide-substring-hex32 11 ; -: hex-output-metadata-entry-type-provide-substring-hex64 12 ; -: hex-output-metadata-entry-type-provide-substring-string 13 ; +: hex-output-metadata-entry-type-push-substring-decimal 8 ; +: hex-output-metadata-entry-type-push-substring-hex8 9 ; +: hex-output-metadata-entry-type-push-substring-hex16 10 ; +: hex-output-metadata-entry-type-push-substring-hex32 11 ; +: hex-output-metadata-entry-type-push-substring-hex64 12 ; +: hex-output-metadata-entry-type-push-substring-string 13 ; ~ Initialize the contents of the output metadata to all zeroes. This is ~ called from hex-transform at its top level, at the very start, to make sure @@ -3227,14 +3227,14 @@ allocate-transformation-state s" transformation-state" variable swap hex-output-metadata-entry-type-suffix-comment = || ; -: is-provide-substring-entry +: is-push-substring-entry hex-output-metadata-entry-type @ - dup hex-output-metadata-entry-type-provide-substring-decimal = swap - dup hex-output-metadata-entry-type-provide-substring-hex8 = 3roll || swap - dup hex-output-metadata-entry-type-provide-substring-hex16 = 3roll || swap - dup hex-output-metadata-entry-type-provide-substring-hex32 = 3roll || swap - dup hex-output-metadata-entry-type-provide-substring-hex64 = 3roll || swap - hex-output-metadata-entry-type-provide-substring-string = || ; + dup hex-output-metadata-entry-type-push-substring-decimal = swap + dup hex-output-metadata-entry-type-push-substring-hex8 = 3roll || swap + dup hex-output-metadata-entry-type-push-substring-hex16 = 3roll || swap + dup hex-output-metadata-entry-type-push-substring-hex32 = 3roll || swap + dup hex-output-metadata-entry-type-push-substring-hex64 = 3roll || swap + hex-output-metadata-entry-type-push-substring-string = || ; : is-fresh-line@ transformation-state transformation-state-output-metadata @ @@ -3714,36 +3714,36 @@ allocate-transformation-state s" transformation-state" variable pop-substring-entry-stack dup hex-output-metadata-entry-type @ - hex-output-metadata-entry-type-provide-substring-decimal = { + hex-output-metadata-entry-type-push-substring-decimal = { dup hex-output-metadata-entry-string @ . } if dup hex-output-metadata-entry-type @ - hex-output-metadata-entry-type-provide-substring-hex8 = { + hex-output-metadata-entry-type-push-substring-hex8 = { ." 0x" dup hex-output-metadata-entry-string @ .hex8 } if dup hex-output-metadata-entry-type @ - hex-output-metadata-entry-type-provide-substring-hex16 = { + hex-output-metadata-entry-type-push-substring-hex16 = { ." 0x" dup hex-output-metadata-entry-string @ .hex16 } if dup hex-output-metadata-entry-type @ - hex-output-metadata-entry-type-provide-substring-hex32 = { + hex-output-metadata-entry-type-push-substring-hex32 = { ." 0x" dup hex-output-metadata-entry-string @ .hex32 } if dup hex-output-metadata-entry-type @ - hex-output-metadata-entry-type-provide-substring-hex64 = { + hex-output-metadata-entry-type-push-substring-hex64 = { ." 0x" dup hex-output-metadata-entry-string @ .hex64 } if dup hex-output-metadata-entry-type @ - hex-output-metadata-entry-type-provide-substring-string = { + hex-output-metadata-entry-type-push-substring-string = { dup hex-output-metadata-entry-string @ emitstring } if @@ -3903,7 +3903,7 @@ allocate-transformation-state s" transformation-state" variable 0 current-column! } if - dup is-provide-substring-entry { + dup is-push-substring-entry { dup push-substring-entry-stack } if } if @@ -4736,39 +4736,39 @@ allocate-transformation-state s" transformation-state" variable ~ than anything of ours, which will be a value provided by the code the ~ magic comment is embedded in. dup s" provide-decimal" stringcmp 0 = { - ~ Create a new "provide substring decimal" entry. - drop 2 pick hex-output-metadata-entry-type-provide-substring-decimal swap + ~ Create a new "push substring decimal" entry. + drop 2 pick hex-output-metadata-entry-type-push-substring-decimal swap add-hex-output-metadata-entry exit } if dup s" provide-hex8" stringcmp 0 = { - ~ Create a new "provide substring hex8" entry. - drop 2 pick hex-output-metadata-entry-type-provide-substring-hex8 swap + ~ Create a new "push substring hex8" entry. + drop 2 pick hex-output-metadata-entry-type-push-substring-hex8 swap add-hex-output-metadata-entry exit } if dup s" provide-hex16" stringcmp 0 = { - ~ Create a new "provide substring hex16" entry. - drop 2 pick hex-output-metadata-entry-type-provide-substring-hex16 swap + ~ Create a new "push substring hex16" entry. + drop 2 pick hex-output-metadata-entry-type-push-substring-hex16 swap add-hex-output-metadata-entry exit } if dup s" provide-hex32" stringcmp 0 = { - ~ Create a new "provide substring hex32" entry. - drop 2 pick hex-output-metadata-entry-type-provide-substring-hex32 swap + ~ Create a new "push substring hex32" entry. + drop 2 pick hex-output-metadata-entry-type-push-substring-hex32 swap add-hex-output-metadata-entry exit } if dup s" provide-hex64" stringcmp 0 = { - ~ Create a new "provide substring hex64" entry. - drop 2 pick hex-output-metadata-entry-type-provide-substring-hex64 swap + ~ Create a new "push substring hex64" entry. + drop 2 pick hex-output-metadata-entry-type-push-substring-hex64 swap add-hex-output-metadata-entry exit } if dup s" provide-keyword" stringcmp 0 = { - ~ Create a new "provide substring string" entry given a keyword pointer. + ~ Create a new "push substring string" entry given a keyword pointer. drop 2 pick execution-token-to-entry entry-to-name - hex-output-metadata-entry-type-provide-substring-string swap + hex-output-metadata-entry-type-push-substring-string swap add-hex-output-metadata-entry exit } if |