txon: rename some backtick words.

locals-and-roots
Doug Coleman 2016-06-23 21:53:47 -07:00
parent 2069b47183
commit 6206ef7777
1 changed files with 7 additions and 7 deletions

View File

@ -12,14 +12,14 @@ PRIVATE<
: decode-value ( string -- string' ) : decode-value ( string -- string' )
"\\`" "`" replace ; "\\`" "`" replace ;
: `? ( ch1 ch2 -- ? ) : unescaped-backtick? ( ch1 ch2 -- ? )
[ char: \ = not ] [ char: ` = ] bi* and ; [ char: \ = not ] [ char: ` = ] bi* and ; inline
: (find-`) ( string -- n/f ) : (find-escaped-backtick) ( string -- n/f )
2 clump [ first2 `? ] find drop [ 1 + ] [ f ] if* ; 2 clump [ first2 unescaped-backtick? ] find drop [ 1 + ] [ f ] if* ;
: find-` ( string -- n/f ) : find-escaped-backtick ( string -- n/f )
dup ?first char: ` = [ drop 0 ] [ (find-`) ] if ; dup ?first char: \` = [ drop 0 ] [ (find-escaped-backtick) ] if ;
: parse-name ( string -- remain name ) : parse-name ( string -- remain name )
":`" split1 swap decode-value ; ":`" split1 swap decode-value ;
@ -31,7 +31,7 @@ DEFER: name/values
[ "" ] [ dup length 1 = [ first ] when ] if-empty ; [ "" ] [ dup length 1 = [ first ] when ] if-empty ;
: parse-value ( string -- remain value ) : parse-value ( string -- remain value )
dup find-` [ dup find-escaped-backtick [
dup 1 - pick ?nth char: \: = dup 1 - pick ?nth char: \: =
[ drop name/values ] [ cut swap (parse-value) ] if [ drop name/values ] [ cut swap (parse-value) ] if
[ rest [ blank? ] trim-head ] dip [ rest [ blank? ] trim-head ] dip