spec-08-EBNF analysis

I've checked the EBNF in draft-ietf-http-v11-spec-08.txt for formal syntax and 
context errors. Here is the result:

1) Some formal errors which were introduced by line formatting. They are 
   probably correct in the original (unformatted) document, aren't they?
   (see context-diff below)

2) in 'expect-params',  'Set-Proxy' and 'character':
   Some forgotten '"', '<>' and the like. (see context-diff below)

3> An omitted ')' in 'Accept-Charset' (see below)

4) Mispellings: (see below) 
      in 'chunk-extension': 'chunk-ext-value' instead of 'chunk-ext-val'
      in 'codings': 'content-codings' instead of 'content-codings'
      in 'Allow' and 'Public': 'method' instead of 'Method'
      'Connection-header' is declared instead of 'Connection' 
      
5) The following identifier are not declared at all:
      in 'lifetime' : 'integer'
      in 'keepalive-param' : 'param-name'

6) This identifier is declared in another document. That is mentioned in the 
   text: 
      in 'From' : 'mailbox' (RFC 822 / RFC 1123)

Bye,

Jacob

============================= draft-ietf-http-v11-spec-08.diff ============== 
--- draft-ietf-http-v11-spec-08.txt	Sat Aug  2 15:56:34 1997
+++ draft-ietf-http-v11-spec-08b1.txt	Sat Aug  2 15:56:27 1997
@@ -1582,7 +1582,7 @@
 
 
                    chunk-extension= *( ";" chunk-ext-name [ "=" 
-                                    chunk-ext-value ] )
+                                    chunk-ext-val ] )
                    chunk-ext-name = token
                    chunk-ext-val  = token | quoted-string
                    chunk-data     = chunk-size(OCTET)
@@ -2502,8 +2502,7 @@
                                   | "200"   ; OK
                                   | "201"   ; Created
                                   | "202"   ; Accepted
-                                  | "203"   ; Non-Authoritative
-            Information
+                                  | "203"   ; Non-Authoritative Information
 
             Fielding, et al                                    [Page 43]
 
@@ -4404,8 +4403,7 @@
             INTERNET-DRAFT            HTTP/1.1  Wednesday, July 30, 1997
 
 
-                   challenge      = auth-scheme 1*SP realm *( "," auth-
-            param )
+                   challenge      = auth-scheme 1*SP realm *( "," auth-param )
 
                    realm          = "realm" "=" realm-value
                    realm-value    = quoted-string
@@ -6389,8 +6387,7 @@
             user agents.
 
                    Accept-Charset = "Accept-Charset" ":"
-                             1#( ( charset | "*" [ ";" "q" "=" qvalue ]
-            )
+                             1#( ( charset | "*" ) [ ";" "q" "=" qvalue ] )
 
             Character set values are described in section 3.4. Each
             charset may be given an associated quality value which
@@ -6439,7 +6436,7 @@
                    Accept-Encoding  = "Accept-Encoding" ":"
                                     1#( codings [ ";" "q" "=" qvalue ] )
 
-                   codings          = ( content-codings | "*" )
+                   codings          = ( content-coding | "*" )
 
             Examples of its use are:
 
@@ -6658,7 +6655,7 @@
             INTERNET-DRAFT            HTTP/1.1  Wednesday, July 30, 1997
 
 
-                   Allow          = "Allow" ":" 1#method
+                   Allow          = "Allow" ":" 1#Method
 
             Example of use:
 
@@ -6762,8 +6759,7 @@
             all recipients along the request/response chain. It is not
             possible to specify a cache-directive for a specific cache.
 
-                   Cache-Control   = "Cache-Control" ":" 1#cache-
-                  directive
+                   Cache-Control   = "Cache-Control" ":" 1#cache-directive
 
                    cache-directive = cache-request-directive
                                    | cache-response-directive
@@ -7286,7 +7282,7 @@
 
             The Connection header has the following grammar:
 
-               Connection-header = "Connection" ":" 1#(connection-token)
+               Connection = "Connection" ":" 1#(connection-token)
                connection-token  = token
 
             HTTP/1.1 proxies MUST parse the Connection header field
@@ -7972,8 +7968,7 @@
             root "/" URL of a server for multiple host names on a single
             IP address.
 
-                   Host = "Host" ":" host [ ":" port ]    ; Section
-            3.2.2
+                   Host = "Host" ":" host [ ":" port ]    ; Section 3.2.2
 
             A "host" without any trailing port information implies the
             default port for the service requested (e.g., "80" for an
@@ -8166,8 +8161,7 @@
             As a special case, the value "*" matches any current entity
             of the resource.
 
-                   If-None-Match = "If-None-Match" ":" ( "*" | 1#entity-
-            tag )
+                   If-None-Match = "If-None-Match" ":" ( "*" | 1#entity-tag )
 
             If any of the entity tags match the entity tag of the entity
             that would have been returned in the response to a similar
@@ -8524,7 +8518,7 @@
             field (section 14.7) MAY be used to indicate methods allowed
             for a particular URI.
 
-                   Public         = "Public" ":" 1#method
+                   Public         = "Public" ":" 1#Method
 
             Example of use:
 
@@ -9266,7 +9260,7 @@
                   expectation-extension =  token [ "=" 
                               ( token | quoted-string ) *expect-params ]
 
-                  expect-params =  ";" token [ = ( token | quoted-string ) ]
+                  expect-params =  ";" token [ "=" ( token | quoted-string ) ]
 
             Fielding, et al                                   [Page 154]
 
@@ -9321,10 +9315,10 @@
             The Set-Proxy response-header  is used to carry information
             to redirect a client to use a different proxy.
 
-                  Set-Proxy: "Set-Proxy" ":" action [ ";" 1#parameters ]
+                  Set-Proxy= "Set-Proxy" ":" action [ ";" 1#parameters ]
 
                   parameters   = ( "scope" "=" scopePattern ) |
-                                 ( proxyURI "=" URI ) | lifetime
+                                 ( "proxyURI" "=" URI ) | lifetime
 
                   lifetime     = ( "seconds"  "=" integer )
                                  | ( "hits"      "=" integer )
@@ -9341,8 +9335,8 @@
 
                   URIpattern   = character | "*"
 
-                  character    = Any character legal in the definition
-                                 of a URL/URI in the context of RFC2068
+                  character    = <Any character legal in the definition
+                                 of a URL/URI in the context of RFC2068>
 
             An example header:

=============================================================================

Received on Saturday, 2 August 1997 07:13:08 UTC