commit ce402afc91c6dbdcf9090e9ee74404279cc04876
parent 1a02bdf307a1ce920ae5ad98832152db23b9bc8a
Author: Christian Ermann <christianermann@gmail.com>
Date: Wed, 4 Dec 2024 22:11:10 -0800
Add '|' as a full-line comment prefix
Diffstat:
1 file changed, 22 insertions(+), 1 deletion(-)
diff --git a/src/forth.s b/src/forth.s
@@ -231,8 +231,13 @@ defvar "\"", prefix_string, 0x270C92A5
.int _prefix_define
.int token_to_string_comma
-defvar "latest-prefix", latest_prefix, 0x86C823C5
+defvar "|", prefix_comment, 0xF90C4A3B
+ .int 0x7C
.int _prefix_string
+ .int token_to_comment
+
+defvar "latest-prefix", latest_prefix, 0x86C823C5
+ .int _prefix_comment
# -----------------------------------------------------------------------------
# constants and variables
@@ -575,6 +580,22 @@ _translate_escape_done:
sub w, y, x
next
+defword "token>comment", token_to_comment, 0x49ACBA31
+ # ( addr len -- addr len )
+ addi psp, psp, 1*cell
+ # rewind to beginning of comment
+ la x, _source_offset
+ lw y, 0(x)
+ sub y, y, w
+ addi y, y, -1
+ sw y, 0(x)
+ # skip comment
+ li w, 0
+ jal parse_until
+ addi psp, psp, 1*cell
+ li w, -1
+ exit
+
defcode ">number", to_number, 0x2F770E4C
mv x, w
pop w