File: //usr/local/rvm/gems/default/doc/mail-2.7.1/ri/lib/mail/parsers/page-rfc5322_lexical_tokens_rl.ri
U:RDoc::TopLevel[ i I"/lib/mail/parsers/rfc5322_lexical_tokens.rl:ETcRDoc::Parser::Simpleo:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;[I"%%{;To:RDoc::Markup::Verbatim;[?I"(# RFC 5322 Internet Message Format
;TI"## Section 3.2. Lexical Tokens
;TI"7# https://tools.ietf.org/html/rfc5322#section-3.2
;TI"%machine rfc5322_lexical_tokens;
;TI"alphtype int;
;TI"
;TI"Cinclude rfc5234_abnf_core_rules "rfc5234_abnf_core_rules.rl";
;TI"
;TI"!# 3.2.1. Quoted characters
;TI"Cobs_NO_WS_CTL = 0x01..0x08 | "\v" | "\f" | 0x0e..0x1f | 0x7f;
;TI"5obs_qp = "\\" (0x00 | obs_NO_WS_CTL | LF | CR);
;TI"2quoted_pair = ("\\" (VCHAR | WSP)) | obs_qp;
;TI"
;TI"/# 3.2.2. Folding White Space and Comments
;TI"obs_FWS = (CRLF? WSP)+;
;TI"5FWS = (WSP* CRLF WSP+) | (CRLF WSP+) | obs_FWS;
;TI"
;TI" obs_ctext = obs_NO_WS_CTL;
;TI"Grfc5322_ctext = 0x21..0x27 | 0x2a..0x5b | 0x5d..0x7e | obs_ctext;
;TI"Actext = rfc5322_ctext | utf8_non_ascii; # RFC6532 for UTF-8
;TI"
;TI"# Recursive comments
;TI"2action comment_begin { fcall comment_tail; }
;TI"#action comment_exit { fret; }
;TI":ccontent = ctext | quoted_pair | "(" @comment_begin;
;TI"Kcomment_tail := ((FWS? ccontent)* >comment_s) FWS? ")" @comment_exit;
;TI".comment = "(" @comment_begin %comment_e;
;TI"*CFWS = ((FWS? comment)+ FWS?) | FWS;
;TI"
;TI"# 3.2.3. Atom
;TI"Crfc5322_atext = ALPHA | DIGIT | "!" | "#" | "$" | "%" | "&" |
;TI"E "'" | "*" | "+" | "-" | "/" | "=" | "?" | "^" |
;TI"8 "_" | "`" | "{" | "|" | "}" | "~";
;TI"Aatext = rfc5322_atext | utf8_non_ascii; # RFC6532 for UTF-8
;TI" atom = CFWS? atext+ CFWS?;
;TI")dot_atom_text = atext ("." atext)*;
;TI"+dot_atom = CFWS? dot_atom_text CFWS?;
;TI"
;TI"# 3.2.4. Quoted Strings
;TI" obs_qtext = obs_NO_WS_CTL;
;TI"Arfc5322_qtext = 0x21 | 0x23..0x5b | 0x5d..0x7e | obs_qtext;
;TI"Aqtext = rfc5322_qtext | utf8_non_ascii; # RFC6532 for UTF-8
;TI"
;TI"%qcontent = qtext | quoted_pair;
;TI"quoted_string = CFWS?
;TI" (DQUOTE
;TI"A (((FWS? qcontent)* FWS?) >qstr_s %qstr_e)
;TI" DQUOTE)
;TI" CFWS?;
;TI"
;TI"## 3.2.5. Miscellaneous Tokens
;TI""word = atom | quoted_string;
;TI"
;TI"'obs_phrase = (word | "." | "@")+;
;TI"8phrase = (obs_phrase | word+) >phrase_s %phrase_e;
;TI"
;TI"G# Not part of RFC, used for keywords per 3.6.5 Information Fields
;TI"/phrase_lists = phrase ("," FWS* phrase)*;
;T:@format0o; ;[I"}%%;T:
@file@:0@omit_headings_from_table_of_contents_below0