Class: Net::IMAP::ResponseParser
Overview
:nodoc:
Defined Under Namespace
Classes: Token
Constant Summary
- EXPR_BEG =
:EXPR_BEG- EXPR_DATA =
:EXPR_DATA- EXPR_TEXT =
:EXPR_TEXT- EXPR_RTEXT =
:EXPR_RTEXT- EXPR_CTEXT =
:EXPR_CTEXT- T_SPACE =
:SPACE- T_NIL =
:NIL- T_NUMBER =
:NUMBER- T_ATOM =
:ATOM- T_QUOTED =
:QUOTED- T_LPAR =
:LPAR- T_RPAR =
:RPAR- T_BSLASH =
:BSLASH- T_STAR =
:STAR- T_LBRA =
:LBRA- T_RBRA =
:RBRA- T_LITERAL =
:LITERAL- T_PLUS =
:PLUS- T_PERCENT =
:PERCENT- T_CRLF =
:CRLF- T_EOF =
:EOF- T_TEXT =
:TEXT- BEG_REGEXP =
/\G(?:\ (?# 1: SPACE )( +)|\ (?# 2: NIL )(NIL)(?=[\x80-\xff(){ \x00-\x1f\x7f%*"\\\[\]+])|\ (?# 3: NUMBER )(\d+)(?=[\x80-\xff(){ \x00-\x1f\x7f%*"\\\[\]+])|\ (?# 4: ATOM )([^\x80-\xff(){ \x00-\x1f\x7f%*"\\\[\]+]+)|\ (?# 5: QUOTED )"((?:[^\x00\r\n"\\]|\\["\\])*)"|\ (?# 6: LPAR )(\()|\ (?# 7: RPAR )(\))|\ (?# 8: BSLASH )(\\)|\ (?# 9: STAR )(\*)|\ (?# 10: LBRA )(\[)|\ (?# 11: RBRA )(\])|\ (?# 12: LITERAL )\{(\d+)\}\r\n|\ (?# 13: PLUS )(\+)|\ (?# 14: PERCENT )(%)|\ (?# 15: CRLF )(\r\n)|\ (?# 16: EOF )(\z))/ni- DATA_REGEXP =
/\G(?:\ (?# 1: SPACE )( )|\ (?# 2: NIL )(NIL)|\ (?# 3: NUMBER )(\d+)|\ (?# 4: QUOTED )"((?:[^\x00\r\n"\\]|\\["\\])*)"|\ (?# 5: LITERAL )\{(\d+)\}\r\n|\ (?# 6: LPAR )(\()|\ (?# 7: RPAR )(\)))/ni- TEXT_REGEXP =
/\G(?:\ (?# 1: TEXT )([^\x00\r\n]*))/ni- RTEXT_REGEXP =
/\G(?:\ (?# 1: LBRA )(\[)|\ (?# 2: TEXT )([^\x00\r\n]*))/ni- CTEXT_REGEXP =
/\G(?:\ (?# 1: TEXT )([^\x00\r\n\]]*))/ni- ADDRESS_REGEXP =
/\G\ (?# 1: NAME )(?:NIL|"((?:[^\x80-\xff\x00\r\n"\\]|\\["\\])*)") \ (?# 2: ROUTE )(?:NIL|"((?:[^\x80-\xff\x00\r\n"\\]|\\["\\])*)") \ (?# 3: MAILBOX )(?:NIL|"((?:[^\x80-\xff\x00\r\n"\\]|\\["\\])*)") \ (?# 4: HOST )(?:NIL|"((?:[^\x80-\xff\x00\r\n"\\]|\\["\\])*)")\ \)/ni- FLAG_REGEXP =
def flag
token = lookahead if token.symbol == T_BSLASH shift_token token = lookahead if token.symbol == T_STAR shift_token return token.value.intern else return atom.intern end else return atom end end /\ (?# FLAG )\\([^\x80-\xff(){ \x00-\x1f\x7f%"\\]+)|\ (?# ATOM )([^\x80-\xff(){ \x00-\x1f\x7f%*"\\]+)/n- STRING_TOKENS =
[T_QUOTED, T_LITERAL, T_NIL]
- ATOM_TOKENS =
[ T_ATOM, T_NUMBER, T_NIL, T_LBRA, T_RBRA, T_PLUS ]
Instance Method Summary (collapse)
-
- (ResponseParser) initialize
constructor
A new instance of ResponseParser.
- - (Object) parse(str)
Constructor Details
- (ResponseParser) initialize
A new instance of ResponseParser
1960 1961 1962 1963 1964 1965 1966 |
# File 'lib/net/imap.rb', line 1960 def initialize @str = nil @pos = nil @lex_state = nil @token = nil @flag_symbols = {} end |
Instance Method Details
- (Object) parse(str)
1968 1969 1970 1971 1972 1973 1974 |
# File 'lib/net/imap.rb', line 1968 def parse(str) @str = str @pos = 0 @lex_state = EXPR_BEG @token = nil return response end |