factor: more char: \; escapes

locals-and-roots
Doug Coleman 2016-06-20 15:09:43 -07:00
parent ca255cf385
commit 69eab4cbba
9 changed files with 38 additions and 37 deletions

View File

@ -13,7 +13,7 @@ in: sequences.parser.tests
{ "foo" ";bar" }
[
"foo;bar" [
[ char: ; take-until-object ] [ take-rest ] bi
[ char: \; take-until-object ] [ take-rest ] bi
] parse-sequence
] unit-test

View File

@ -50,6 +50,7 @@ ERROR: bad-escape char ;
{ char: \- char: \- }
{ char: \+ char: \+ }
{ char: \= char: \= }
{ char: \. char: \. }
{ char: \, char: \, }
} ?at [ bad-escape ] unless ;

View File

@ -56,24 +56,24 @@ CONSTANT: morse-code-table $[
{ char: 8 "---.." }
{ char: 9 "----." }
{ char: 0 "-----" }
{ char: . ".-.-.-" }
{ char: , "--..--" }
{ char: ? "..--.." }
{ char: ' ".----." }
{ char: \. ".-.-.-" }
{ char: \, "--..--" }
{ char: \? "..--.." }
{ char: \' ".----." }
{ char: \! "-.-.--" }
{ char: / "-..-." }
{ char: \/ "-..-." }
{ char: \( "-.--." }
{ char: ) "-.--.-" }
{ char: & ".-..." }
{ char: \) "-.--.-" }
{ char: \& ".-..." }
{ char: \: "---..." }
{ char: ; "-.-.-." }
{ char: = "-...- " }
{ char: + ".-.-." }
{ char: - "-....-" }
{ char: _ "..--.-" }
{ char: \; "-.-.-." }
{ char: \= "-...- " }
{ char: \+ ".-.-." }
{ char: \- "-....-" }
{ char: \_ "..--.-" }
{ char: \" ".-..-." }
{ char: $ "...-..-" }
{ char: @ ".--.-." }
{ char: \$ "...-..-" }
{ char: \@ ".--.-." }
{ char: \s "/" }
} >biassoc
] ;

View File

@ -55,7 +55,7 @@ ERROR: unknown-syntax syntax ;
PRIVATE<
: trim-comments ( str -- str' )
dup [ char: ; = ] find drop [ head ] when* ;
dup [ char: \; = ] find drop [ head ] when* ;
: trim-quotes ( str -- str' )
[ char: \" = ] trim ;

View File

@ -33,7 +33,7 @@ TUPLE: ast-hashtable elements ;
{
[ blank? not ]
[ char: \" = not ]
[ char: ; = not ]
[ char: \; = not ]
[ LETTER? not ]
[ letter? not ]
[ identifier-middle? not ]

View File

@ -69,19 +69,19 @@ CONSTANT: CHARS H{
{ char: 7 0x2C62 }
! { char: 8 char: 8 }
{ char: 9 char: 6 }
{ char: & 0x214B }
{ char: \& 0x214B }
{ char: \! 0x00A1 }
{ char: \" 0x201E }
{ char: . 0x02D9 }
{ char: ; 0x061B }
{ char: \. 0x02D9 }
{ char: \; 0x061B }
{ char: \[ char: ] }
{ char: \( char: ) }
{ char: \{ char: } }
{ char: ? 0x00BF }
{ char: \? 0x00BF }
{ char: \! 0x00A1 }
{ char: ' char: , }
{ char: < char: > }
{ char: _ 0x203E }
{ char: \' char: , }
{ char: \< char: > }
{ char: \_ 0x203E }
{ 0x203F 0x2040 }
{ 0x2045 0x2046 }
{ 0x2234 0x2235 }

View File

@ -18,14 +18,14 @@ PRIVATE<
{ char: r char: \r }
{ char: t char: \t }
{ char: v char: \v }
{ char: ' char: ' }
{ char: \' char: \' }
{ char: \" char: \" }
{ char: \\ char: \\ }
{ char: ? char: ? }
{ char: ; char: ; }
{ char: \\ char: \\ }
{ char: \? char: \? }
{ char: \; char: \; }
{ char: \[ char: \[ }
{ char: ] char: ] }
{ char: = char: = }
{ char: \] char: \] }
{ char: \= char: \= }
} ?at [ bad-escape ] unless ;
: (unescape-string) ( str -- )
@ -49,14 +49,14 @@ use: xml.entities
{ char: \r "\\r" }
{ char: \t "\\t" }
{ 0x0b "\\v" }
{ char: ' "\\'" }
{ char: " "\\\"" }
{ char: \' "\\'" }
{ char: \" "\\\"" }
{ char: \\ "\\\\" }
{ char: ? "\\?" }
{ char: ; "\\;" }
{ char: \? "\\?" }
{ char: \; "\\;" }
{ char: \[ "\\[" }
{ char: \] "\\]" }
{ char: = "\\=" }
{ char: \= "\\=" }
} escape-string-by ;
: space? ( ch -- ? )

View File

@ -41,7 +41,7 @@ ERROR: bad-location str ;
: stations-data ( -- seq )
URL" http://weather.noaa.gov/data/nsd_cccc.txt"
http-get nip char: ; [ string>csv ] with-delimiter ;
http-get nip char: \; [ string>csv ] with-delimiter ;
PRIVATE>

View File

@ -13,6 +13,6 @@ in: xml.test.state
[ "hello" ] [ "hello" [ take-rest ] string-parse ] unit-test
[ 2 3 ] [ "12\n123" [ take-rest drop get-line get-column ] string-parse ] unit-test
[ "hi" " how are you?" ] [ "hi how are you?" [ [ blank? ] take-until take-rest ] string-parse ] unit-test
[ "foo" ";bar" ] [ "foo;bar" [ char: ; take-char take-rest ] string-parse ] unit-test
[ "foo" ";bar" ] [ "foo;bar" [ char: \; take-char take-rest ] string-parse ] unit-test
[ "foo " " bar" ] [ "foo and bar" [ "and" take-string take-rest ] string-parse ] unit-test
[ "baz" ] [ " \n\t baz" [ pass-blank take-rest ] string-parse ] unit-test