The IETF RFC 822 has these BNF rules:
text = <any CHAR, including bare ; => atoms, specials,
CR & bare LF, but NOT ; comments and
including CRLF> ; quoted-strings are
; NOT recognized.
qtext = <any CHAR excepting <">, ; => may be folded
"\" & CR, and including
linear-white-space>
dtext = <any CHAR excluding "[", ; => may be folded
"]", "\" & CR, & including
linear-white-space>
I'd like to know what the ampersand symbol &
signifies in these rules. The ampersand symbol is not defined by RFC 822's own Notational Conventions section (Section 2). I assume RFC 822 is using RFC 733 for its BNF/ABNF, but RFC 733 doesn't define what the ampersand means either.
From the context I've determined the ampersand does not mean any of the following:
&
prior to the last ,
in the text
rule).
dtext
?CRLF
is already a concatenation of CR and LF, but RFC 822 differentiates between CRLF
and bare CR & bare LF
in the text
rule.There's no mention of this in RFC 822's errata - and RFC's successor RFCs like 2822 replace the rules with ampersands with entirely new rules, so I can't infer what it means from the new syntax eithe.
So what does &
mean?
Shorthand English word "and". It even observes English punctuation rules.
Compare the 2 definitions from RFC 822:
qtext = <any CHAR excepting <">, ; => may be folded
"\" & CR, and including
linear-white-space>
dtext = <any CHAR excluding "[", ; => may be folded
"]", "\" & CR, & including
linear-white-space>