summary refs log tree commit diff
path: root/transform.e
diff options
context:
space:
mode:
authorIrene Knapp <ireneista@irenes.space>2026-05-21 22:39:21 -0700
committerIrene Knapp <ireneista@irenes.space>2026-05-21 22:39:21 -0700
commitff9b791acf12688caec27e8ca883f3eefac8891d (patch)
tree7e26d0fb0e3194f59d116618b30838194c0ea387 /transform.e
parent5183b72b296b82a6a39f8412a3de2ac77be92c73 (diff)
whew, okay, lots of interpret stuff implemented now
not fully tried though

Force-Push: yes
Change-Id: I19b39f2b982fde66863c710b6d458c3bd12bdf4a
Diffstat (limited to 'transform.e')
-rw-r--r--transform.e32
1 files changed, 24 insertions, 8 deletions
diff --git a/transform.e b/transform.e
index 6b2b64b..1502ee4 100644
--- a/transform.e
+++ b/transform.e
@@ -726,6 +726,7 @@ allocate-transform-state s" transform-state" variable
   dup s" self-codeword" stringcmp 0 = { drop 0 exit } if
   dup s" variable" stringcmp 0 = { drop -2 exit } if
   dup s" keyword" stringcmp 0 = { drop -1 exit } if
+  dup s" literal" stringcmp 0 = { drop -1 exit } if
 
   ~ From input.e.
   dup s" buffer-physical-start" stringcmp 0 = { drop 0 exit } if
@@ -740,6 +741,27 @@ allocate-transform-state s" transform-state" variable
   dup s" allocate-input-buffer" stringcmp 0 = { drop 0 exit } if
   dup s" attach-string-to-input-buffer" stringcmp 0 = { drop -2 exit } if
 
+  ~ From interpret.e.
+  dup s" unroll-past-string" stringcmp 0 = { drop 0 exit } if
+  dup s" swap-past-string" stringcmp 0 = { drop 0 exit } if
+  ~   The following are deliberate omissions: dropstring,
+  ~ dropstring-with-result, accumulate-string.
+  dup s" is-space" stringcmp 0 = { drop 0 exit } if
+  dup s" is-alphanumeric" stringcmp 0 = { drop 0 exit } if
+  ~   The following is a deliberate omission: word.
+  dup s" generalized-digit-value" stringcmp 0 = { drop 0 exit } if
+  ~   The following are deliberate omissions: decode-generalized-digit,
+  ~ read-base-unsigned, read-integer-unsigned, read-integer, read-decimal.
+  dup s" interpreter-flags" stringcmp 0 = { drop 1 exit } if
+  dup s" [" stringcmp 0 = { drop 0 exit } if
+  dup s" ]" stringcmp 0 = { drop 0 exit } if
+  dup s" :" stringcmp 0 = { drop 0 exit } if
+  dup s" ;" stringcmp 0 = { drop 0 exit } if
+  dup s" ;asm" stringcmp 0 = { drop 0 exit } if
+  dup s" '" stringcmp 0 = { drop 1 exit } if
+  ~   The following is a deliberate omission: interpret.
+  dup s" quit" stringcmp 0 = { drop 0 exit } if
+
   ~ Created by warm-start in execution.e.
   dup s" log" stringcmp 0 = { drop 1 exit } if
   dup s" s0" stringcmp 0 = { drop 1 exit } if
@@ -748,11 +770,6 @@ allocate-transform-state s" transform-state" variable
   dup s" here" stringcmp 0 = { drop 1 exit } if
 
   ~ Word not provided statically, but used during the log-load routine anyway.
-  dup s" [" stringcmp 0 = { drop 0 exit } if
-  dup s" ]" stringcmp 0 = { drop 0 exit } if
-  dup s" :" stringcmp 0 = { drop 0 exit } if
-  dup s" ;" stringcmp 0 = { drop 0 exit } if
-  dup s" ;asm" stringcmp 0 = { drop 0 exit } if
   dup s" L@'" stringcmp 0 = { drop 1 exit } if
   dup s" L!'" stringcmp 0 = { drop -1 exit } if
 
@@ -1621,7 +1638,7 @@ allocate-transform-state s" transform-state" variable
   ~ which is the same thing that would happen if we didn't have an alternate
   ~ at all.
   interpreter-flags @ 0x01 & {
-    s" ," log-load-compile-dynamic-word
+    s" create" log-load-compile-dynamic-word
   } {
     log-load-roll-log-address
 
@@ -1774,7 +1791,7 @@ allocate-transform-state s" transform-state" variable
     ~   We consumed the value, so we apply a delta.
     -1 transform-apply-stack-delta
 
-    log-load-roll-log-address
+    log-load-unroll-log-address
   } if-else
   ; make-immediate
 
@@ -2159,7 +2176,6 @@ allocate-transform-state s" transform-state" variable
     swap drop ' log-load-left-square-brace-alternate swap } if
   dup s" ]" stringcmp 0 = {
     swap drop ' log-load-right-square-brace-alternate swap } if
-  dup s" '" stringcmp 0 = { swap drop ' log-load-tick-alternate swap } if
   dup s" ," stringcmp 0 = { swap drop ' log-load-comma-alternate swap } if
   dup s" variable" stringcmp 0 = {
     swap drop ' log-load-variable-alternate swap } if