bp/grammars/web.bp
2021-08-01 22:06:33 -07:00

14 lines
433 B
Plaintext

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