From d80736ab6e8e3cad2f1a30c6eaba2d6883dbe967 Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Sat, 26 Aug 2017 20:31:40 +0200 Subject: Remove AmForth --- amforth-6.5/common/lib/string-split.frt | 38 --------------------------------- 1 file changed, 38 deletions(-) delete mode 100644 amforth-6.5/common/lib/string-split.frt (limited to 'amforth-6.5/common/lib/string-split.frt') 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 -- cgit v1.2.3