aboutsummaryrefslogtreecommitdiff
path: root/amforth-6.5/common/lib/string-split.frt
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2017-08-26 20:31:40 +0200
committerDimitri Sokolyuk <demon@dim13.org>2017-08-26 20:31:40 +0200
commitd80736ab6e8e3cad2f1a30c6eaba2d6883dbe967 (patch)
tree15962f3d8542ae182d88ac5913a3c4bfce6f2b03 /amforth-6.5/common/lib/string-split.frt
parent530a312ee523a25e5df475341d201e5bb1296c41 (diff)
Remove AmForth
Diffstat (limited to 'amforth-6.5/common/lib/string-split.frt')
-rw-r--r--amforth-6.5/common/lib/string-split.frt38
1 files changed, 0 insertions, 38 deletions
diff --git a/amforth-6.5/common/lib/string-split.frt b/amforth-6.5/common/lib/string-split.frt
deleted file mode 100644
index 848102d..0000000
--- a/amforth-6.5/common/lib/string-split.frt
+++ /dev/null
@@ -1,38 +0,0 @@
-
-\ split a string at position n
-: split ( addr u n -- addr1 u1 addr2 u2 )
- \ addr2 = addr + n
- \ u2 = n - u
- >r ( -- addr u)
- r@ swap ( -- addr u1 u )
- r@ - ( -- addr u1 u2)
- rot dup r> + ( -- u1 u2 addr1 addr2)
- rot 2>r swap 2r>
-;
-
-\ split a string into two at the leftmost char position
-: $split ( addr u char -- addr1 u1 addr2 u2 )
- >r 2dup r> cscan ( -- addr u addr u1 )
- nip split
-;
-
-\ mostly syntactic sugar, improves readability however
-\ left part of a string
-: $left ( addr len l -- addr len')
- nip
-;
-
-\ right part of a string
-: $right ( addr len l -- addr' len' )
- /string
-;
-
-\ test cases
-\ > source char r $split type cr type
-\ rce char r $split type cr type
-\ sou
-\ > source 10 $right type
-\ $right type
-\ > source 8 $left type
-\ source 8 ok
-\ \ No newline at end of file