49 lines
598 B
Plaintext
49 lines
598 B
Plaintext
|
: 2DROP ( n1 n2 -- )
|
||
|
DROP DROP
|
||
|
;
|
||
|
|
||
|
: 2DUP ( n1 n2 -- n1 n2 n1 n2 )
|
||
|
OVER OVER
|
||
|
;
|
||
|
|
||
|
: NIP ( n1 n2 -- n2 )
|
||
|
SWAP DROP
|
||
|
;
|
||
|
|
||
|
: -ROT ( n1 n2 n3 -- n3 n1 n2 )
|
||
|
ROT ROT
|
||
|
;
|
||
|
|
||
|
: TUCK ( n1 n2 -- n2 n1 n2 )
|
||
|
SWAP OVER
|
||
|
;
|
||
|
|
||
|
: INCR ( a1 -- )
|
||
|
1 SWAP +!
|
||
|
;
|
||
|
|
||
|
: STRCONTAINS ( s1 s2 -- b1 )
|
||
|
STRFIND 0 >=
|
||
|
;
|
||
|
|
||
|
: STRLEFT ( s1 n1 -- s2 )
|
||
|
0 SWAP STRMID
|
||
|
;
|
||
|
|
||
|
: STRRIGHT ( s1 n1 -- s2 )
|
||
|
OVER STRLEN SWAP - -1 STRMID
|
||
|
;
|
||
|
|
||
|
: STRSTARTSWITH ( s1 s2 -- b1 )
|
||
|
DUP STRLEN ROT SWAP STRLEFT =
|
||
|
;
|
||
|
|
||
|
: STRENDSWITH ( s1 s2 -- b1 )
|
||
|
DUP STRLEN ROT SWAP STRRIGHT =
|
||
|
;
|
||
|
|
||
|
: STRBEFORE ( s1 s2 -- s3 )
|
||
|
OVER SWAP STRFIND STRLEFT
|
||
|
;
|
||
|
|