Namespace

Included Modules

Class Index [+]

Quicksearch

Mail::RFC2045

Public Instance Methods

_nt_custom_x_token() click to toggle source
     # File lib/mail/parsers/rfc2045.rb, line 286
286:     def _nt_custom_x_token
287:       start_index = index
288:       if node_cache[:custom_x_token].has_key?(index)
289:         cached = node_cache[:custom_x_token][index]
290:         if cached
291:           cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
292:           @index = cached.interval.end
293:         end
294:         return cached
295:       end
296: 
297:       i0, s0 = index, []
298:       if has_terminal?('\G[xX]', true, index)
299:         r1 = true
300:         @index += 1
301:       else
302:         r1 = nil
303:       end
304:       s0 << r1
305:       if r1
306:         if has_terminal?("-", false, index)
307:           r2 = instantiate_node(SyntaxNode,input, index...(index + 1))
308:           @index += 1
309:         else
310:           terminal_parse_failure("-")
311:           r2 = nil
312:         end
313:         s0 << r2
314:         if r2
315:           s3, i3 = [], index
316:           loop do
317:             r4 = _nt_token
318:             if r4
319:               s3 << r4
320:             else
321:               break
322:             end
323:           end
324:           if s3.empty?
325:             @index = i3
326:             r3 = nil
327:           else
328:             r3 = instantiate_node(SyntaxNode,input, i3...index, s3)
329:           end
330:           s0 << r3
331:         end
332:       end
333:       if s0.last
334:         r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
335:         r0.extend(CustomXToken0)
336:       else
337:         @index = i0
338:         r0 = nil
339:       end
340: 
341:       node_cache[:custom_x_token][start_index] = r0
342: 
343:       r0
344:     end
_nt_iana_token() click to toggle source
     # File lib/mail/parsers/rfc2045.rb, line 346
346:     def _nt_iana_token
347:       start_index = index
348:       if node_cache[:iana_token].has_key?(index)
349:         cached = node_cache[:iana_token][index]
350:         if cached
351:           cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
352:           @index = cached.interval.end
353:         end
354:         return cached
355:       end
356: 
357:       s0, i0 = [], index
358:       loop do
359:         r1 = _nt_token
360:         if r1
361:           s0 << r1
362:         else
363:           break
364:         end
365:       end
366:       if s0.empty?
367:         @index = i0
368:         r0 = nil
369:       else
370:         r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
371:       end
372: 
373:       node_cache[:iana_token][start_index] = r0
374: 
375:       r0
376:     end
_nt_ietf_token() click to toggle source
     # File lib/mail/parsers/rfc2045.rb, line 208
208:     def _nt_ietf_token
209:       start_index = index
210:       if node_cache[:ietf_token].has_key?(index)
211:         cached = node_cache[:ietf_token][index]
212:         if cached
213:           cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
214:           @index = cached.interval.end
215:         end
216:         return cached
217:       end
218: 
219:       i0 = index
220:       if has_terminal?("7bit", false, index)
221:         r1 = instantiate_node(SyntaxNode,input, index...(index + 4))
222:         @index += 4
223:       else
224:         terminal_parse_failure("7bit")
225:         r1 = nil
226:       end
227:       if r1
228:         r0 = r1
229:       else
230:         if has_terminal?("8bit", false, index)
231:           r2 = instantiate_node(SyntaxNode,input, index...(index + 4))
232:           @index += 4
233:         else
234:           terminal_parse_failure("8bit")
235:           r2 = nil
236:         end
237:         if r2
238:           r0 = r2
239:         else
240:           if has_terminal?("binary", false, index)
241:             r3 = instantiate_node(SyntaxNode,input, index...(index + 6))
242:             @index += 6
243:           else
244:             terminal_parse_failure("binary")
245:             r3 = nil
246:           end
247:           if r3
248:             r0 = r3
249:           else
250:             if has_terminal?("quoted-printable", false, index)
251:               r4 = instantiate_node(SyntaxNode,input, index...(index + 16))
252:               @index += 16
253:             else
254:               terminal_parse_failure("quoted-printable")
255:               r4 = nil
256:             end
257:             if r4
258:               r0 = r4
259:             else
260:               if has_terminal?("base64", false, index)
261:                 r5 = instantiate_node(SyntaxNode,input, index...(index + 6))
262:                 @index += 6
263:               else
264:                 terminal_parse_failure("base64")
265:                 r5 = nil
266:               end
267:               if r5
268:                 r0 = r5
269:               else
270:                 @index = i0
271:                 r0 = nil
272:               end
273:             end
274:           end
275:         end
276:       end
277: 
278:       node_cache[:ietf_token][start_index] = r0
279: 
280:       r0
281:     end
_nt_token() click to toggle source
     # File lib/mail/parsers/rfc2045.rb, line 378
378:     def _nt_token
379:       start_index = index
380:       if node_cache[:token].has_key?(index)
381:         cached = node_cache[:token][index]
382:         if cached
383:           cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
384:           @index = cached.interval.end
385:         end
386:         return cached
387:       end
388: 
389:       i0 = index
390:       if has_terminal?('\G[\x21-\x27]', true, index)
391:         r1 = true
392:         @index += 1
393:       else
394:         r1 = nil
395:       end
396:       if r1
397:         r0 = r1
398:       else
399:         if has_terminal?('\G[\x2a-\x2b]', true, index)
400:           r2 = true
401:           @index += 1
402:         else
403:           r2 = nil
404:         end
405:         if r2
406:           r0 = r2
407:         else
408:           if has_terminal?('\G[\x2c-\x2e]', true, index)
409:             r3 = true
410:             @index += 1
411:           else
412:             r3 = nil
413:           end
414:           if r3
415:             r0 = r3
416:           else
417:             if has_terminal?('\G[\x30-\x39]', true, index)
418:               r4 = true
419:               @index += 1
420:             else
421:               r4 = nil
422:             end
423:             if r4
424:               r0 = r4
425:             else
426:               if has_terminal?('\G[\x41-\x5a]', true, index)
427:                 r5 = true
428:                 @index += 1
429:               else
430:                 r5 = nil
431:               end
432:               if r5
433:                 r0 = r5
434:               else
435:                 if has_terminal?('\G[\x5e-\x7e]', true, index)
436:                   r6 = true
437:                   @index += 1
438:                 else
439:                   r6 = nil
440:                 end
441:                 if r6
442:                   r0 = r6
443:                 else
444:                   @index = i0
445:                   r0 = nil
446:                 end
447:               end
448:             end
449:           end
450:         end
451:       end
452: 
453:       node_cache[:token][start_index] = r0
454: 
455:       r0
456:     end
_nt_tspecials() click to toggle source
     # File lib/mail/parsers/rfc2045.rb, line 12
 12:     def _nt_tspecials
 13:       start_index = index
 14:       if node_cache[:tspecials].has_key?(index)
 15:         cached = node_cache[:tspecials][index]
 16:         if cached
 17:           cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
 18:           @index = cached.interval.end
 19:         end
 20:         return cached
 21:       end
 22: 
 23:       i0 = index
 24:       if has_terminal?("(", false, index)
 25:         r1 = instantiate_node(SyntaxNode,input, index...(index + 1))
 26:         @index += 1
 27:       else
 28:         terminal_parse_failure("(")
 29:         r1 = nil
 30:       end
 31:       if r1
 32:         r0 = r1
 33:       else
 34:         if has_terminal?(")", false, index)
 35:           r2 = instantiate_node(SyntaxNode,input, index...(index + 1))
 36:           @index += 1
 37:         else
 38:           terminal_parse_failure(")")
 39:           r2 = nil
 40:         end
 41:         if r2
 42:           r0 = r2
 43:         else
 44:           if has_terminal?("<", false, index)
 45:             r3 = instantiate_node(SyntaxNode,input, index...(index + 1))
 46:             @index += 1
 47:           else
 48:             terminal_parse_failure("<")
 49:             r3 = nil
 50:           end
 51:           if r3
 52:             r0 = r3
 53:           else
 54:             if has_terminal?(">", false, index)
 55:               r4 = instantiate_node(SyntaxNode,input, index...(index + 1))
 56:               @index += 1
 57:             else
 58:               terminal_parse_failure(">")
 59:               r4 = nil
 60:             end
 61:             if r4
 62:               r0 = r4
 63:             else
 64:               if has_terminal?("@", false, index)
 65:                 r5 = instantiate_node(SyntaxNode,input, index...(index + 1))
 66:                 @index += 1
 67:               else
 68:                 terminal_parse_failure("@")
 69:                 r5 = nil
 70:               end
 71:               if r5
 72:                 r0 = r5
 73:               else
 74:                 if has_terminal?(",", false, index)
 75:                   r6 = instantiate_node(SyntaxNode,input, index...(index + 1))
 76:                   @index += 1
 77:                 else
 78:                   terminal_parse_failure(",")
 79:                   r6 = nil
 80:                 end
 81:                 if r6
 82:                   r0 = r6
 83:                 else
 84:                   if has_terminal?(";", false, index)
 85:                     r7 = instantiate_node(SyntaxNode,input, index...(index + 1))
 86:                     @index += 1
 87:                   else
 88:                     terminal_parse_failure(";")
 89:                     r7 = nil
 90:                   end
 91:                   if r7
 92:                     r0 = r7
 93:                   else
 94:                     if has_terminal?(":", false, index)
 95:                       r8 = instantiate_node(SyntaxNode,input, index...(index + 1))
 96:                       @index += 1
 97:                     else
 98:                       terminal_parse_failure(":")
 99:                       r8 = nil
100:                     end
101:                     if r8
102:                       r0 = r8
103:                     else
104:                       if has_terminal?('\', false, index)
105:                         r9 = instantiate_node(SyntaxNode,input, index...(index + 1))
106:                         @index += 1
107:                       else
108:                         terminal_parse_failure('\')
109:                         r9 = nil
110:                       end
111:                       if r9
112:                         r0 = r9
113:                       else
114:                         if has_terminal?("<", false, index)
115:                           r10 = instantiate_node(SyntaxNode,input, index...(index + 1))
116:                           @index += 1
117:                         else
118:                           terminal_parse_failure("<")
119:                           r10 = nil
120:                         end
121:                         if r10
122:                           r0 = r10
123:                         else
124:                           if has_terminal?(">", false, index)
125:                             r11 = instantiate_node(SyntaxNode,input, index...(index + 1))
126:                             @index += 1
127:                           else
128:                             terminal_parse_failure(">")
129:                             r11 = nil
130:                           end
131:                           if r11
132:                             r0 = r11
133:                           else
134:                             if has_terminal?("/", false, index)
135:                               r12 = instantiate_node(SyntaxNode,input, index...(index + 1))
136:                               @index += 1
137:                             else
138:                               terminal_parse_failure("/")
139:                               r12 = nil
140:                             end
141:                             if r12
142:                               r0 = r12
143:                             else
144:                               if has_terminal?("[", false, index)
145:                                 r13 = instantiate_node(SyntaxNode,input, index...(index + 1))
146:                                 @index += 1
147:                               else
148:                                 terminal_parse_failure("[")
149:                                 r13 = nil
150:                               end
151:                               if r13
152:                                 r0 = r13
153:                               else
154:                                 if has_terminal?("]", false, index)
155:                                   r14 = instantiate_node(SyntaxNode,input, index...(index + 1))
156:                                   @index += 1
157:                                 else
158:                                   terminal_parse_failure("]")
159:                                   r14 = nil
160:                                 end
161:                                 if r14
162:                                   r0 = r14
163:                                 else
164:                                   if has_terminal?("?", false, index)
165:                                     r15 = instantiate_node(SyntaxNode,input, index...(index + 1))
166:                                     @index += 1
167:                                   else
168:                                     terminal_parse_failure("?")
169:                                     r15 = nil
170:                                   end
171:                                   if r15
172:                                     r0 = r15
173:                                   else
174:                                     if has_terminal?("=", false, index)
175:                                       r16 = instantiate_node(SyntaxNode,input, index...(index + 1))
176:                                       @index += 1
177:                                     else
178:                                       terminal_parse_failure("=")
179:                                       r16 = nil
180:                                     end
181:                                     if r16
182:                                       r0 = r16
183:                                     else
184:                                       @index = i0
185:                                       r0 = nil
186:                                     end
187:                                   end
188:                                 end
189:                               end
190:                             end
191:                           end
192:                         end
193:                       end
194:                     end
195:                   end
196:                 end
197:               end
198:             end
199:           end
200:         end
201:       end
202: 
203:       node_cache[:tspecials][start_index] = r0
204: 
205:       r0
206:     end
root() click to toggle source
    # File lib/mail/parsers/rfc2045.rb, line 8
 8:     def root
 9:       @root ||= :tspecials
10:     end

Disabled; run with --debug to generate this.

[Validate]

Generated with the Darkfish Rdoc Generator 1.1.6.