bp/grammars/web.bp

15 lines
480 B
Plaintext

# This file defines some web-related patterns
url: (
("https"/"http"/"ftp") "://" [>..`@ +url-char [`: +url-char] `@]
(ipv4/ipv6/domain/domain-segment) [`: int] [url-path]
/ "mailto:" email
/ "file://" +(`/ *url-char)
)
url-path: +(`/ *url-char) [`? +(+url-char`=+url-char)%`&]
ipv4: 4 int % `.
ipv6: 8 (4 Hex) % `:
domain-segment: +(Abc/digit/`-)
domain: 2+domain-segment % `.
url-char: Abc/digit/`$,-,_,.,+,!,*,',(,),,,%
email: +(Abc/digit/`.,-,+) `@ domain