bnfrfc822abnf

What does the ampersand mean in RFC 822's BNF rules?


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:

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?


Solution

  • 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>