From cf01b391440fc9de43597b907acfc22dba1aa15e Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Sun, 18 Jun 2017 14:38:03 +0200 Subject: Add j1 --- j1 | 1 - j1/toolchain/strings.fs | 25 +++++++++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) delete mode 160000 j1 create mode 100644 j1/toolchain/strings.fs (limited to 'j1/toolchain/strings.fs') diff --git a/j1 b/j1 deleted file mode 160000 index 9114396..0000000 --- a/j1 +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 911439641c002a8f7a6e306ce1b1d3fd4b389fd6 diff --git a/j1/toolchain/strings.fs b/j1/toolchain/strings.fs new file mode 100644 index 0000000..cbd9b0e --- /dev/null +++ b/j1/toolchain/strings.fs @@ -0,0 +1,25 @@ +( Strings JCB 11:57 05/18/12) + +: >str ( c-addr u -- str ) \ a new u char string from c-addr + dup cell+ allocate throw dup >r + 2dup ! cell+ \ write size into first cell + ( c-addr u saddr ) + swap cmove r> +; +: str@ dup cell+ swap @ ; +: str! ( str c-addr -- c-addr' ) \ copy str to c-addr + >r str@ r> + 2dup + >r swap + cmove r> +; +: +str ( str2 str1 -- str3 ) + over @ over @ + cell+ allocate throw >r + over @ over @ + r@ ! + r@ cell+ str! str! drop r> +; + +: example + s" sailor" >str + s" hello" >str + +str str@ type +; -- cgit v1.2.3