Robert Uhl <eadmund42@NOSPAMgmail.com> wrote:
+---------------
| If I read the pseudo-BNF in the RFC properly...
+---------------
Slight aside: What you call "pseudo-BNF" is actually called
"Augmented BNF" (ABNF), a well-known, well-defined extension
of basic BNF. As RFC 2822 "1.2.2. Syntactic notation" notes:
... Augmented Backus-Naur Form (ABNF) notation specified in
[RFC2234] for the formal definitions of the syntax of messages.
RFC 2234 is a "refactoring" of earlier definitions of ABNF, which
was originally specified in RFC 733, copied in RFC 822, and used
in several other RFCs, each of which contained its own definition
of it [though they tended to be pretty much identical]. The main
difference between the ABNF of RFC 2234 and earlier versions is
that the ABNF of RFC 2234 is formally defined both in English
and again *in* ABNF, rather than in just English as in RFC 733.
[Note: RFC 4234 (in 2005) superceded RFC 2234 to correct a
number of minor typos and formatting infelicities. Also see
<http://en.wikipedia.org/wiki/Augmented_Backus-Naur_form>.]
So it's hardly "pseudo", any more than the "Modified BNF" used
in the ANSI Common Lisp Standard is:
http://alu.org/HyperSpec/Body/sec_1-4-1-2.html
-Rob
p.s. There is a rich history of extensions to BNF, such as ISO-14977
EBNF <http://en.wikipedia.org/wiki/Extended_Backus%E2%80%93Naur_form>.
-----
Rob Warnock <rpw3@rpw3.org>
627 26th Avenue <URL:http://rpw3.org/>
San Mateo, CA 94403 (650)572-2607