balanced_ccontent := ccontent* ')' @{ fret; }; | balanced_ccontent := ccontent* ')' @{ fret; }; | ||||
comment = "(" (FWS? ccontent)* FWS? ")"; | comment = "(" (FWS? ccontent)* FWS? ")"; | ||||
CFWS = ((FWS? comment)+ FWS?) | FWS; | CFWS = ((FWS? comment)+ FWS?) | FWS; | ||||
qcontent = qtextSMTP | quoted_pairSMTP; | |||||
qcontent = qtextSMTP | quoted_pairSMTP | textUTF8; | |||||
quoted_string = CFWS? | quoted_string = CFWS? | ||||
(DQUOTE | (DQUOTE | ||||
(((FWS? qcontent)* FWS?) >Quoted_Str_Start %Quoted_Str_End) | (((FWS? qcontent)* FWS?) >Quoted_Str_Start %Quoted_Str_End) |
quoted_pairSMTP = "\\" 32..126; | quoted_pairSMTP = "\\" 32..126; | ||||
qtextSMTP = 32..33 | 35..91 | 93..126; | qtextSMTP = 32..33 | 35..91 | 93..126; | ||||
utf8_cont = 0x80..0xbf; | |||||
utf8_2c = 0xc0..0xdf utf8_cont; | |||||
utf8_3c = 0xe0..0xef utf8_cont utf8_cont; | |||||
utf8_4c = 0xf0..0xf7 utf8_cont utf8_cont utf8_cont; | |||||
textUTF8 = qtextSMTP | utf8_2c | utf8_3c | utf8_4c; | |||||
Atom = atext+; | Atom = atext+; | ||||
Dot_string = Atom ("." Atom)*; | Dot_string = Atom ("." Atom)*; | ||||
dot_atom_text = atext+ ("." atext+)*; | dot_atom_text = atext+ ("." atext+)*; |