diff options
author | Jörg Frings-Fürst <debian@jff-webhsoting.net> | 2019-04-26 17:57:51 +0200 |
---|---|---|
committer | Jörg Frings-Fürst <debian@jff-webhsoting.net> | 2019-04-26 17:57:51 +0200 |
commit | 5444b1728ba7cfc55e85fd3022b6e88c9441327c (patch) | |
tree | 3009ac597dd206aa4bfaa50725ed6e7542119877 /doc/rfc3986_grammar_only.txt | |
parent | 4c6be44409a51e938aa1c9e4d920348d5317a3d2 (diff) | |
parent | 1920f1b489a54e8ab97a3e24b1bab64831e32b53 (diff) |
Update upstream source from tag 'upstream/0.9.2'
Update to upstream version '0.9.2'
with Debian dir c23d6b5efa0b01b1b44e112907143c23417ebdd5
Diffstat (limited to 'doc/rfc3986_grammar_only.txt')
-rw-r--r-- | doc/rfc3986_grammar_only.txt | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/doc/rfc3986_grammar_only.txt b/doc/rfc3986_grammar_only.txt new file mode 100644 index 0000000..e8b8d08 --- /dev/null +++ b/doc/rfc3986_grammar_only.txt @@ -0,0 +1,80 @@ +URI = scheme ":" hier-part [ "?" query ] [ "#" fragment ]
+
+hier-part = "//" authority path-abempty
+ / path-absolute
+ / path-rootless
+ / path-empty
+
+URI-reference = URI / relative-ref
+
+absolute-URI = scheme ":" hier-part [ "?" query ]
+
+relative-ref = relative-part [ "?" query ] [ "#" fragment ]
+
+relative-part = "//" authority path-abempty
+ / path-absolute
+ / path-noscheme
+ / path-empty
+
+scheme = ALPHA *( ALPHA / DIGIT / "+" / "-" / "." )
+
+authority = [ userinfo "@" ] host [ ":" port ]
+userinfo = *( unreserved / pct-encoded / sub-delims / ":" )
+host = IP-literal / IPv4address / reg-name
+port = *DIGIT
+
+IP-literal = "[" ( IPv6address / IPvFuture ) "]"
+
+IPvFuture = "v" 1*HEXDIG "." 1*( unreserved / sub-delims / ":" )
+
+IPv6address = 6( h16 ":" ) ls32
+ / "::" 5( h16 ":" ) ls32
+ / [ h16 ] "::" 4( h16 ":" ) ls32
+ / [ *1( h16 ":" ) h16 ] "::" 3( h16 ":" ) ls32
+ / [ *2( h16 ":" ) h16 ] "::" 2( h16 ":" ) ls32
+ / [ *3( h16 ":" ) h16 ] "::" h16 ":" ls32
+ / [ *4( h16 ":" ) h16 ] "::" ls32
+ / [ *5( h16 ":" ) h16 ] "::" h16
+ / [ *6( h16 ":" ) h16 ] "::"
+
+h16 = 1*4HEXDIG
+ls32 = ( h16 ":" h16 ) / IPv4address
+IPv4address = dec-octet "." dec-octet "." dec-octet "." dec-octet
+dec-octet = DIGIT ; 0-9
+ / %x31-39 DIGIT ; 10-99
+ / "1" 2DIGIT ; 100-199
+ / "2" %x30-34 DIGIT ; 200-249
+ / "25" %x30-35 ; 250-255
+
+reg-name = *( unreserved / pct-encoded / sub-delims )
+
+path = path-abempty ; begins with "/" or is empty
+ / path-absolute ; begins with "/" but not "//"
+ / path-noscheme ; begins with a non-colon segment
+ / path-rootless ; begins with a segment
+ / path-empty ; zero characters
+
+path-abempty = *( "/" segment )
+path-absolute = "/" [ segment-nz *( "/" segment ) ]
+path-noscheme = segment-nz-nc *( "/" segment )
+path-rootless = segment-nz *( "/" segment )
+path-empty = 0<pchar>
+
+segment = *pchar
+segment-nz = 1*pchar
+segment-nz-nc = 1*( unreserved / pct-encoded / sub-delims / "@" )
+ ; non-zero-length segment without any colon ":"
+
+pchar = unreserved / pct-encoded / sub-delims / ":" / "@"
+
+query = *( pchar / "/" / "?" )
+
+fragment = *( pchar / "/" / "?" )
+
+pct-encoded = "%" HEXDIG HEXDIG
+
+unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~"
+reserved = gen-delims / sub-delims
+gen-delims = ":" / "/" / "?" / "#" / "[" / "]" / "@"
+sub-delims = "!" / "$" / "&" / "'" / "(" / ")"
+ / "*" / "+" / "," / ";" / "="
|