forth-riscv

My forth
git clone git://git.electrosoup.com/forth-riscv
Log | Files | Refs

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:
Msrc/forth.s | 23++++++++++++++++++++++-
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