How to read an rfc spec



Here's a little section from rfc 2822. I know what the nemonics stand
for, but
I'm not sure how to read the spec, * [] () / what do they mean.
If you have a handle on this could you translate the CFWS spec. It
seems
to contain all the code except the quote "
Thanks.

FWS = ([*WSP CRLF] 1*WSP) / ; Folding white space
obs-FWS

ctext = NO-WS-CTL / ; Non white space controls

%d33-39 / ; The rest of the US-ASCII
%d42-91 / ; characters not including
"(",
%d93-126 ; ")", or "\"

ccontent = ctext / quoted-pair / comment

comment = "(" *([FWS] ccontent) [FWS] ")"

CFWS = *([FWS] comment) (([FWS] comment) / FWS)

.