View in color | License | Download script | History | Other scripts by: ajmartin |
26-Apr 14:32 UTC
[0.094] 11.941k
[0.094] 11.941k
common-parse-values.rREBOL [
Title: "Common Parse Values"
Date: 24-Sep-2002
Name: 'Common-Parse-Values
Version: 1.3.0
File: %common-parse-values.r
Author: "Andrew Martin"
Needs: [%Map.r]
Purpose: "Common Parse Values"
eMail: %Al--Bri--xtra--co--nz
Web: http://valley.150m.com
library: [
level: 'beginner
platform: none
type: 'tool
domain: none
tested-under: none
support: none
license: none
see-also: none
]
]
Octet: charset [#"^(00)" - #"^(FF)"]
Char: charset [#"^(00)" - #"^(7F)"]
Digit: charset "0123456789"
Digits: [some Digit]
Upper: charset [#"A" - #"Z"]
Lower: charset [#"a" - #"z"]
Alpha: union Upper Lower
AlphaDigit: union Alpha Digit
AlphaDigits: [some AlphaDigit]
Control: charset [#"^(00)" - #"^(1F)" #"^(7F)"]
Hex: union Digit charset [#"A" - #"F" #"a" - #"f"]
HT: #"^-"
SP: #" "
LF: #"^(0A)"
LWS: charset reduce [SP HT]
LWS*: [some LWS]
LWS?: [any LWS]
WS: charset reduce [SP HT newline CR LF]
WS*: [some WS]
WS?: [any WS]
Graphic: charset [#"^(21)" - #"^(7E)"]
Printable: union Graphic charset " "
make object! [
set 'Time^ [1 2 Digit #":" 1 2 Digit opt [#":" 1 2 Digit]]
Long-Months: remove map Rebol/locale/Months func [Month [string!]] [
reduce ['| copy Month]
]
Short-Months: remove map Rebol/locale/Months func [Month [string!]] [
reduce ['| copy/part Month 3]
]
set 'Month^ [1 2 Digit | Long-Months | Short-Months]
Separator: charset "/-"
set 'Date^ [
[1 2 Digit Separator Month^ Separator [4 Digit | 2 Digit]]
| [4 Digit Separator Month^ Separator 1 2 Digit]
]
Forbidden: {:*?"<>|/\.} ; A Windows file name cannot contain any of these characters.
Permitted: complement charset Forbidden
set 'File^ [some Permitted #"." some Permitted]
set 'Folder^ [[#"/" any [some Permitted #"/"]] | [opt #"/" some [some Permitted #"/"]]]
set 'Folder-File^ [Folder^ File^]
] Notes
|