| 123456789101112131415161718192021222324252627282930313233343536373839404142 |
- package main
- type URN Peg {
- }
- URN <- URN_PREFIX NID colon NSS eot
- URN_PREFIX <- "urn" colon
- NID <- LET_NUM LET_NUM_HYP?
- NSS <- CHARS+
- LET_NUM <- upper+ / lower+ / number+
- LET_NUM_HYP <- LET_NUM / hyp
- CHARS <- TRANS / perc HEX HEX
- TRANS <- LET_NUM / OTHER / RESERVED
- HEX <- number+ / [A-F]+ / [a-f]+
- OTHER <- '(' / ')' / '+' / ',' / hyp / '.' / colon / '=' / '@' / ';' / '$' / '_' / '!' / '*' / '\''
- RESERVED <- perc / '/' / '?' / '#'
- colon <- ':'
- eot <- !.
- upper <- [A-Z]
- lower <- [a-z]
- number <- [0-9]
- hyp <- '-'
- perc <- '%'
|