: morse>ch ( str -- ch )
morse-code-table value-at char-gap-char or ;
-
+
<PRIVATE
-
+
: word>morse ( str -- morse )
[ ch>morse ] { } map-as " " join ;
: sentence>morse ( str -- morse )
" " split [ word>morse ] map " / " join ;
-
+
: trim-blanks ( str -- newstr )
[ blank? ] trim ; inline
[ dup CHAR: _ = [ drop CHAR: - ] when ] map ;
PRIVATE>
-
+
: >morse ( str -- newstr )
trim-blanks sentence>morse ;
-
+
: morse> ( morse -- plain )
replace-underscores morse>sentence ;
-SYNTAX: [MORSE "MORSE]" parse-multiline-string morse> suffix! ;
-
+SYNTAX: [MORSE "MORSE]" parse-multiline-string morse> suffix! ;
+
<PRIVATE
-
+
SYMBOLS: source dot-buffer dash-buffer intra-char-gap-buffer letter-gap-buffer ;
: queue ( symbol -- )