Namespace

Included Modules

Class Index [+]

Quicksearch

Mail::RFC2822Obsolete

Public Instance Methods

_nt_obs_FWS() click to toggle source
     # File lib/mail/parsers/rfc2822_obsolete.rb, line 402
402:     def _nt_obs_FWS
403:       start_index = index
404:       if node_cache[:obs_FWS].has_key?(index)
405:         cached = node_cache[:obs_FWS][index]
406:         if cached
407:           cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
408:           @index = cached.interval.end
409:         end
410:         return cached
411:       end
412: 
413:       i0, s0 = index, []
414:       s1, i1 = [], index
415:       loop do
416:         r2 = _nt_WSP
417:         if r2
418:           s1 << r2
419:         else
420:           break
421:         end
422:       end
423:       if s1.empty?
424:         @index = i1
425:         r1 = nil
426:       else
427:         r1 = instantiate_node(SyntaxNode,input, i1...index, s1)
428:       end
429:       s0 << r1
430:       if r1
431:         s3, i3 = [], index
432:         loop do
433:           i4, s4 = index, []
434:           r5 = _nt_CRLF
435:           s4 << r5
436:           if r5
437:             s6, i6 = [], index
438:             loop do
439:               r7 = _nt_WSP
440:               if r7
441:                 s6 << r7
442:               else
443:                 break
444:               end
445:             end
446:             if s6.empty?
447:               @index = i6
448:               r6 = nil
449:             else
450:               r6 = instantiate_node(SyntaxNode,input, i6...index, s6)
451:             end
452:             s4 << r6
453:           end
454:           if s4.last
455:             r4 = instantiate_node(SyntaxNode,input, i4...index, s4)
456:             r4.extend(ObsFWS0)
457:           else
458:             @index = i4
459:             r4 = nil
460:           end
461:           if r4
462:             s3 << r4
463:           else
464:             break
465:           end
466:         end
467:         r3 = instantiate_node(SyntaxNode,input, i3...index, s3)
468:         s0 << r3
469:       end
470:       if s0.last
471:         r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
472:         r0.extend(ObsFWS1)
473:       else
474:         @index = i0
475:         r0 = nil
476:       end
477: 
478:       node_cache[:obs_FWS][start_index] = r0
479: 
480:       r0
481:     end
_nt_obs_addr_list() click to toggle source
      # File lib/mail/parsers/rfc2822_obsolete.rb, line 1622
1622:     def _nt_obs_addr_list
1623:       start_index = index
1624:       if node_cache[:obs_addr_list].has_key?(index)
1625:         cached = node_cache[:obs_addr_list][index]
1626:         if cached
1627:           cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1628:           @index = cached.interval.end
1629:         end
1630:         return cached
1631:       end
1632: 
1633:       i0, s0 = index, []
1634:       s1, i1 = [], index
1635:       loop do
1636:         i2, s2 = index, []
1637:         r4 = _nt_address
1638:         if r4
1639:           r3 = r4
1640:         else
1641:           r3 = instantiate_node(SyntaxNode,input, index...index)
1642:         end
1643:         s2 << r3
1644:         if r3
1645:           r6 = _nt_CFWS
1646:           if r6
1647:             r5 = r6
1648:           else
1649:             r5 = instantiate_node(SyntaxNode,input, index...index)
1650:           end
1651:           s2 << r5
1652:           if r5
1653:             if has_terminal?(",", false, index)
1654:               r7 = instantiate_node(SyntaxNode,input, index...(index + 1))
1655:               @index += 1
1656:             else
1657:               terminal_parse_failure(",")
1658:               r7 = nil
1659:             end
1660:             s2 << r7
1661:             if r7
1662:               r9 = _nt_CFWS
1663:               if r9
1664:                 r8 = r9
1665:               else
1666:                 r8 = instantiate_node(SyntaxNode,input, index...index)
1667:               end
1668:               s2 << r8
1669:             end
1670:           end
1671:         end
1672:         if s2.last
1673:           r2 = instantiate_node(SyntaxNode,input, i2...index, s2)
1674:           r2.extend(ObsAddrList0)
1675:         else
1676:           @index = i2
1677:           r2 = nil
1678:         end
1679:         if r2
1680:           s1 << r2
1681:         else
1682:           break
1683:         end
1684:       end
1685:       if s1.empty?
1686:         @index = i1
1687:         r1 = nil
1688:       else
1689:         r1 = instantiate_node(SyntaxNode,input, i1...index, s1)
1690:       end
1691:       s0 << r1
1692:       if r1
1693:         r11 = _nt_address
1694:         if r11
1695:           r10 = r11
1696:         else
1697:           r10 = instantiate_node(SyntaxNode,input, index...index)
1698:         end
1699:         s0 << r10
1700:       end
1701:       if s0.last
1702:         r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
1703:         r0.extend(ObsAddrList1)
1704:       else
1705:         @index = i0
1706:         r0 = nil
1707:       end
1708: 
1709:       node_cache[:obs_addr_list][start_index] = r0
1710: 
1711:       r0
1712:     end
_nt_obs_angle_addr() click to toggle source
      # File lib/mail/parsers/rfc2822_obsolete.rb, line 1128
1128:     def _nt_obs_angle_addr
1129:       start_index = index
1130:       if node_cache[:obs_angle_addr].has_key?(index)
1131:         cached = node_cache[:obs_angle_addr][index]
1132:         if cached
1133:           cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1134:           @index = cached.interval.end
1135:         end
1136:         return cached
1137:       end
1138: 
1139:       i0, s0 = index, []
1140:       r2 = _nt_CFWS
1141:       if r2
1142:         r1 = r2
1143:       else
1144:         r1 = instantiate_node(SyntaxNode,input, index...index)
1145:       end
1146:       s0 << r1
1147:       if r1
1148:         if has_terminal?("<", false, index)
1149:           r3 = instantiate_node(SyntaxNode,input, index...(index + 1))
1150:           @index += 1
1151:         else
1152:           terminal_parse_failure("<")
1153:           r3 = nil
1154:         end
1155:         s0 << r3
1156:         if r3
1157:           r5 = _nt_obs_route
1158:           if r5
1159:             r4 = r5
1160:           else
1161:             r4 = instantiate_node(SyntaxNode,input, index...index)
1162:           end
1163:           s0 << r4
1164:           if r4
1165:             r6 = _nt_addr_spec
1166:             s0 << r6
1167:             if r6
1168:               if has_terminal?(">", false, index)
1169:                 r7 = instantiate_node(SyntaxNode,input, index...(index + 1))
1170:                 @index += 1
1171:               else
1172:                 terminal_parse_failure(">")
1173:                 r7 = nil
1174:               end
1175:               s0 << r7
1176:               if r7
1177:                 r9 = _nt_CFWS
1178:                 if r9
1179:                   r8 = r9
1180:                 else
1181:                   r8 = instantiate_node(SyntaxNode,input, index...index)
1182:                 end
1183:                 s0 << r8
1184:               end
1185:             end
1186:           end
1187:         end
1188:       end
1189:       if s0.last
1190:         r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
1191:         r0.extend(ObsAngleAddr0)
1192:       else
1193:         @index = i0
1194:         r0 = nil
1195:       end
1196: 
1197:       node_cache[:obs_angle_addr][start_index] = r0
1198: 
1199:       r0
1200:     end
_nt_obs_bcc() click to toggle source
      # File lib/mail/parsers/rfc2822_obsolete.rb, line 2313
2313:     def _nt_obs_bcc
2314:       start_index = index
2315:       if node_cache[:obs_bcc].has_key?(index)
2316:         cached = node_cache[:obs_bcc][index]
2317:         if cached
2318:           cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
2319:           @index = cached.interval.end
2320:         end
2321:         return cached
2322:       end
2323: 
2324:       i0, s0 = index, []
2325:       if has_terminal?("Bcc", false, index)
2326:         r1 = instantiate_node(SyntaxNode,input, index...(index + 3))
2327:         @index += 3
2328:       else
2329:         terminal_parse_failure("Bcc")
2330:         r1 = nil
2331:       end
2332:       s0 << r1
2333:       if r1
2334:         s2, i2 = [], index
2335:         loop do
2336:           r3 = _nt_WSP
2337:           if r3
2338:             s2 << r3
2339:           else
2340:             break
2341:           end
2342:         end
2343:         r2 = instantiate_node(SyntaxNode,input, i2...index, s2)
2344:         s0 << r2
2345:         if r2
2346:           if has_terminal?(":", false, index)
2347:             r4 = instantiate_node(SyntaxNode,input, index...(index + 1))
2348:             @index += 1
2349:           else
2350:             terminal_parse_failure(":")
2351:             r4 = nil
2352:           end
2353:           s0 << r4
2354:           if r4
2355:             i5 = index
2356:             r6 = _nt_address_list
2357:             if r6
2358:               r5 = r6
2359:             else
2360:               r8 = _nt_CFWS
2361:               if r8
2362:                 r7 = r8
2363:               else
2364:                 r7 = instantiate_node(SyntaxNode,input, index...index)
2365:               end
2366:               if r7
2367:                 r5 = r7
2368:               else
2369:                 @index = i5
2370:                 r5 = nil
2371:               end
2372:             end
2373:             s0 << r5
2374:             if r5
2375:               r9 = _nt_CRLF
2376:               s0 << r9
2377:             end
2378:           end
2379:         end
2380:       end
2381:       if s0.last
2382:         r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
2383:         r0.extend(ObsBcc0)
2384:       else
2385:         @index = i0
2386:         r0 = nil
2387:       end
2388: 
2389:       node_cache[:obs_bcc][start_index] = r0
2390: 
2391:       r0
2392:     end
_nt_obs_cc() click to toggle source
      # File lib/mail/parsers/rfc2822_obsolete.rb, line 2243
2243:     def _nt_obs_cc
2244:       start_index = index
2245:       if node_cache[:obs_cc].has_key?(index)
2246:         cached = node_cache[:obs_cc][index]
2247:         if cached
2248:           cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
2249:           @index = cached.interval.end
2250:         end
2251:         return cached
2252:       end
2253: 
2254:       i0, s0 = index, []
2255:       if has_terminal?("Cc", false, index)
2256:         r1 = instantiate_node(SyntaxNode,input, index...(index + 2))
2257:         @index += 2
2258:       else
2259:         terminal_parse_failure("Cc")
2260:         r1 = nil
2261:       end
2262:       s0 << r1
2263:       if r1
2264:         s2, i2 = [], index
2265:         loop do
2266:           r3 = _nt_WSP
2267:           if r3
2268:             s2 << r3
2269:           else
2270:             break
2271:           end
2272:         end
2273:         r2 = instantiate_node(SyntaxNode,input, i2...index, s2)
2274:         s0 << r2
2275:         if r2
2276:           if has_terminal?(":", false, index)
2277:             r4 = instantiate_node(SyntaxNode,input, index...(index + 1))
2278:             @index += 1
2279:           else
2280:             terminal_parse_failure(":")
2281:             r4 = nil
2282:           end
2283:           s0 << r4
2284:           if r4
2285:             r5 = _nt_address_list
2286:             s0 << r5
2287:             if r5
2288:               r6 = _nt_CRLF
2289:               s0 << r6
2290:             end
2291:           end
2292:         end
2293:       end
2294:       if s0.last
2295:         r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
2296:         r0.extend(ObsCc0)
2297:       else
2298:         @index = i0
2299:         r0 = nil
2300:       end
2301: 
2302:       node_cache[:obs_cc][start_index] = r0
2303: 
2304:       r0
2305:     end
_nt_obs_char() click to toggle source
     # File lib/mail/parsers/rfc2822_obsolete.rb, line 164
164:     def _nt_obs_char
165:       start_index = index
166:       if node_cache[:obs_char].has_key?(index)
167:         cached = node_cache[:obs_char][index]
168:         if cached
169:           cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
170:           @index = cached.interval.end
171:         end
172:         return cached
173:       end
174: 
175:       i0 = index
176:       if has_terminal?('\G[\x00-\x09]', true, index)
177:         r1 = true
178:         @index += 1
179:       else
180:         r1 = nil
181:       end
182:       if r1
183:         r0 = r1
184:       else
185:         if has_terminal?('\G[\x0B-\x0C]', true, index)
186:           r2 = true
187:           @index += 1
188:         else
189:           r2 = nil
190:         end
191:         if r2
192:           r0 = r2
193:         else
194:           if has_terminal?('\G[\x0E-\x7F]', true, index)
195:             r3 = true
196:             @index += 1
197:           else
198:             r3 = nil
199:           end
200:           if r3
201:             r0 = r3
202:           else
203:             @index = i0
204:             r0 = nil
205:           end
206:         end
207:       end
208: 
209:       node_cache[:obs_char][start_index] = r0
210: 
211:       r0
212:     end
_nt_obs_comments() click to toggle source
      # File lib/mail/parsers/rfc2822_obsolete.rb, line 2770
2770:     def _nt_obs_comments
2771:       start_index = index
2772:       if node_cache[:obs_comments].has_key?(index)
2773:         cached = node_cache[:obs_comments][index]
2774:         if cached
2775:           cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
2776:           @index = cached.interval.end
2777:         end
2778:         return cached
2779:       end
2780: 
2781:       i0, s0 = index, []
2782:       if has_terminal?("Comments", false, index)
2783:         r1 = instantiate_node(SyntaxNode,input, index...(index + 8))
2784:         @index += 8
2785:       else
2786:         terminal_parse_failure("Comments")
2787:         r1 = nil
2788:       end
2789:       s0 << r1
2790:       if r1
2791:         s2, i2 = [], index
2792:         loop do
2793:           r3 = _nt_WSP
2794:           if r3
2795:             s2 << r3
2796:           else
2797:             break
2798:           end
2799:         end
2800:         r2 = instantiate_node(SyntaxNode,input, i2...index, s2)
2801:         s0 << r2
2802:         if r2
2803:           if has_terminal?(":", false, index)
2804:             r4 = instantiate_node(SyntaxNode,input, index...(index + 1))
2805:             @index += 1
2806:           else
2807:             terminal_parse_failure(":")
2808:             r4 = nil
2809:           end
2810:           s0 << r4
2811:           if r4
2812:             r5 = _nt_unstructured
2813:             s0 << r5
2814:             if r5
2815:               r6 = _nt_CRLF
2816:               s0 << r6
2817:             end
2818:           end
2819:         end
2820:       end
2821:       if s0.last
2822:         r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
2823:         r0.extend(ObsComments0)
2824:       else
2825:         @index = i0
2826:         r0 = nil
2827:       end
2828: 
2829:       node_cache[:obs_comments][start_index] = r0
2830: 
2831:       r0
2832:     end
_nt_obs_day() click to toggle source
     # File lib/mail/parsers/rfc2822_obsolete.rb, line 668
668:     def _nt_obs_day
669:       start_index = index
670:       if node_cache[:obs_day].has_key?(index)
671:         cached = node_cache[:obs_day][index]
672:         if cached
673:           cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
674:           @index = cached.interval.end
675:         end
676:         return cached
677:       end
678: 
679:       i0, s0 = index, []
680:       r2 = _nt_CFWS
681:       if r2
682:         r1 = r2
683:       else
684:         r1 = instantiate_node(SyntaxNode,input, index...index)
685:       end
686:       s0 << r1
687:       if r1
688:         i3 = index
689:         r4 = _nt_DIGIT
690:         if r4
691:           r3 = r4
692:         else
693:           i5, s5 = index, []
694:           r6 = _nt_DIGIT
695:           s5 << r6
696:           if r6
697:             r7 = _nt_DIGIT
698:             s5 << r7
699:           end
700:           if s5.last
701:             r5 = instantiate_node(SyntaxNode,input, i5...index, s5)
702:             r5.extend(ObsDay0)
703:           else
704:             @index = i5
705:             r5 = nil
706:           end
707:           if r5
708:             r3 = r5
709:           else
710:             @index = i3
711:             r3 = nil
712:           end
713:         end
714:         s0 << r3
715:         if r3
716:           r9 = _nt_CFWS
717:           if r9
718:             r8 = r9
719:           else
720:             r8 = instantiate_node(SyntaxNode,input, index...index)
721:           end
722:           s0 << r8
723:         end
724:       end
725:       if s0.last
726:         r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
727:         r0.extend(ObsDay1)
728:       else
729:         @index = i0
730:         r0 = nil
731:       end
732: 
733:       node_cache[:obs_day][start_index] = r0
734: 
735:       r0
736:     end
_nt_obs_day_of_week() click to toggle source
     # File lib/mail/parsers/rfc2822_obsolete.rb, line 490
490:     def _nt_obs_day_of_week
491:       start_index = index
492:       if node_cache[:obs_day_of_week].has_key?(index)
493:         cached = node_cache[:obs_day_of_week][index]
494:         if cached
495:           cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
496:           @index = cached.interval.end
497:         end
498:         return cached
499:       end
500: 
501:       i0, s0 = index, []
502:       r2 = _nt_CFWS
503:       if r2
504:         r1 = r2
505:       else
506:         r1 = instantiate_node(SyntaxNode,input, index...index)
507:       end
508:       s0 << r1
509:       if r1
510:         r3 = _nt_day_name
511:         s0 << r3
512:         if r3
513:           r5 = _nt_CFWS
514:           if r5
515:             r4 = r5
516:           else
517:             r4 = instantiate_node(SyntaxNode,input, index...index)
518:           end
519:           s0 << r4
520:         end
521:       end
522:       if s0.last
523:         r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
524:         r0.extend(ObsDayOfWeek0)
525:       else
526:         @index = i0
527:         r0 = nil
528:       end
529: 
530:       node_cache[:obs_day_of_week][start_index] = r0
531: 
532:       r0
533:     end
_nt_obs_domain() click to toggle source
      # File lib/mail/parsers/rfc2822_obsolete.rb, line 1459
1459:     def _nt_obs_domain
1460:       start_index = index
1461:       if node_cache[:obs_domain].has_key?(index)
1462:         cached = node_cache[:obs_domain][index]
1463:         if cached
1464:           cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1465:           @index = cached.interval.end
1466:         end
1467:         return cached
1468:       end
1469: 
1470:       i0, s0 = index, []
1471:       r1 = _nt_atom
1472:       s0 << r1
1473:       if r1
1474:         s2, i2 = [], index
1475:         loop do
1476:           i3, s3 = index, []
1477:           if has_terminal?(".", false, index)
1478:             r4 = instantiate_node(SyntaxNode,input, index...(index + 1))
1479:             @index += 1
1480:           else
1481:             terminal_parse_failure(".")
1482:             r4 = nil
1483:           end
1484:           s3 << r4
1485:           if r4
1486:             r5 = _nt_atom
1487:             s3 << r5
1488:           end
1489:           if s3.last
1490:             r3 = instantiate_node(SyntaxNode,input, i3...index, s3)
1491:             r3.extend(ObsDomain0)
1492:           else
1493:             @index = i3
1494:             r3 = nil
1495:           end
1496:           if r3
1497:             s2 << r3
1498:           else
1499:             break
1500:           end
1501:         end
1502:         r2 = instantiate_node(SyntaxNode,input, i2...index, s2)
1503:         s0 << r2
1504:       end
1505:       if s0.last
1506:         r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
1507:         r0.extend(ObsDomain1)
1508:       else
1509:         @index = i0
1510:         r0 = nil
1511:       end
1512: 
1513:       node_cache[:obs_domain][start_index] = r0
1514: 
1515:       r0
1516:     end
_nt_obs_domain_list() click to toggle source
      # File lib/mail/parsers/rfc2822_obsolete.rb, line 1277
1277:     def _nt_obs_domain_list
1278:       start_index = index
1279:       if node_cache[:obs_domain_list].has_key?(index)
1280:         cached = node_cache[:obs_domain_list][index]
1281:         if cached
1282:           cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1283:           @index = cached.interval.end
1284:         end
1285:         return cached
1286:       end
1287: 
1288:       i0, s0 = index, []
1289:       if has_terminal?("@", false, index)
1290:         r1 = instantiate_node(SyntaxNode,input, index...(index + 1))
1291:         @index += 1
1292:       else
1293:         terminal_parse_failure("@")
1294:         r1 = nil
1295:       end
1296:       s0 << r1
1297:       if r1
1298:         r2 = _nt_domain
1299:         s0 << r2
1300:         if r2
1301:           s3, i3 = [], index
1302:           loop do
1303:             i4, s4 = index, []
1304:             s5, i5 = [], index
1305:             loop do
1306:               if has_terminal?(",", false, index)
1307:                 r6 = instantiate_node(SyntaxNode,input, index...(index + 1))
1308:                 @index += 1
1309:               else
1310:                 terminal_parse_failure(",")
1311:                 r6 = nil
1312:               end
1313:               if r6
1314:                 s5 << r6
1315:               else
1316:                 break
1317:               end
1318:             end
1319:             r5 = instantiate_node(SyntaxNode,input, i5...index, s5)
1320:             s4 << r5
1321:             if r5
1322:               r8 = _nt_CFWS
1323:               if r8
1324:                 r7 = r8
1325:               else
1326:                 r7 = instantiate_node(SyntaxNode,input, index...index)
1327:               end
1328:               s4 << r7
1329:               if r7
1330:                 if has_terminal?("@", false, index)
1331:                   r9 = instantiate_node(SyntaxNode,input, index...(index + 1))
1332:                   @index += 1
1333:                 else
1334:                   terminal_parse_failure("@")
1335:                   r9 = nil
1336:                 end
1337:                 s4 << r9
1338:                 if r9
1339:                   r10 = _nt_domain
1340:                   s4 << r10
1341:                 end
1342:               end
1343:             end
1344:             if s4.last
1345:               r4 = instantiate_node(SyntaxNode,input, i4...index, s4)
1346:               r4.extend(ObsDomainList0)
1347:             else
1348:               @index = i4
1349:               r4 = nil
1350:             end
1351:             if r4
1352:               s3 << r4
1353:             else
1354:               break
1355:             end
1356:           end
1357:           r3 = instantiate_node(SyntaxNode,input, i3...index, s3)
1358:           s0 << r3
1359:         end
1360:       end
1361:       if s0.last
1362:         r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
1363:         r0.extend(ObsDomainList1)
1364:       else
1365:         @index = i0
1366:         r0 = nil
1367:       end
1368: 
1369:       node_cache[:obs_domain_list][start_index] = r0
1370: 
1371:       r0
1372:     end
_nt_obs_fields() click to toggle source
      # File lib/mail/parsers/rfc2822_obsolete.rb, line 1714
1714:     def _nt_obs_fields
1715:       start_index = index
1716:       if node_cache[:obs_fields].has_key?(index)
1717:         cached = node_cache[:obs_fields][index]
1718:         if cached
1719:           cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1720:           @index = cached.interval.end
1721:         end
1722:         return cached
1723:       end
1724: 
1725:       s0, i0 = [], index
1726:       loop do
1727:         i1 = index
1728:         r2 = _nt_obs_return
1729:         if r2
1730:           r1 = r2
1731:         else
1732:           r3 = _nt_obs_received
1733:           if r3
1734:             r1 = r3
1735:           else
1736:             r4 = _nt_obs_orig_date
1737:             if r4
1738:               r1 = r4
1739:             else
1740:               r5 = _nt_obs_from
1741:               if r5
1742:                 r1 = r5
1743:               else
1744:                 r6 = _nt_obs_sender
1745:                 if r6
1746:                   r1 = r6
1747:                 else
1748:                   r7 = _nt_obs_reply_to
1749:                   if r7
1750:                     r1 = r7
1751:                   else
1752:                     r8 = _nt_obs_to
1753:                     if r8
1754:                       r1 = r8
1755:                     else
1756:                       r9 = _nt_obs_cc
1757:                       if r9
1758:                         r1 = r9
1759:                       else
1760:                         r10 = _nt_obs_bcc
1761:                         if r10
1762:                           r1 = r10
1763:                         else
1764:                           r11 = _nt_obs_message_id
1765:                           if r11
1766:                             r1 = r11
1767:                           else
1768:                             r12 = _nt_obs_in_reply_to
1769:                             if r12
1770:                               r1 = r12
1771:                             else
1772:                               r13 = _nt_obs_references
1773:                               if r13
1774:                                 r1 = r13
1775:                               else
1776:                                 r14 = _nt_obs_subject
1777:                                 if r14
1778:                                   r1 = r14
1779:                                 else
1780:                                   r15 = _nt_obs_comments
1781:                                   if r15
1782:                                     r1 = r15
1783:                                   else
1784:                                     r16 = _nt_obs_keywords
1785:                                     if r16
1786:                                       r1 = r16
1787:                                     else
1788:                                       r17 = _nt_obs_resent_date
1789:                                       if r17
1790:                                         r1 = r17
1791:                                       else
1792:                                         r18 = _nt_obs_resent_from
1793:                                         if r18
1794:                                           r1 = r18
1795:                                         else
1796:                                           r19 = _nt_obs_resent_send
1797:                                           if r19
1798:                                             r1 = r19
1799:                                           else
1800:                                             r20 = _nt_obs_resent_rply
1801:                                             if r20
1802:                                               r1 = r20
1803:                                             else
1804:                                               r21 = _nt_obs_resent_to
1805:                                               if r21
1806:                                                 r1 = r21
1807:                                               else
1808:                                                 r22 = _nt_obs_resent_cc
1809:                                                 if r22
1810:                                                   r1 = r22
1811:                                                 else
1812:                                                   r23 = _nt_obs_resent_bcc
1813:                                                   if r23
1814:                                                     r1 = r23
1815:                                                   else
1816:                                                     r24 = _nt_obs_resent_mid
1817:                                                     if r24
1818:                                                       r1 = r24
1819:                                                     else
1820:                                                       r25 = _nt_obs_optional
1821:                                                       if r25
1822:                                                         r1 = r25
1823:                                                       else
1824:                                                         @index = i1
1825:                                                         r1 = nil
1826:                                                       end
1827:                                                     end
1828:                                                   end
1829:                                                 end
1830:                                               end
1831:                                             end
1832:                                           end
1833:                                         end
1834:                                       end
1835:                                     end
1836:                                   end
1837:                                 end
1838:                               end
1839:                             end
1840:                           end
1841:                         end
1842:                       end
1843:                     end
1844:                   end
1845:                 end
1846:               end
1847:             end
1848:           end
1849:         end
1850:         if r1
1851:           s0 << r1
1852:         else
1853:           break
1854:         end
1855:       end
1856:       r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
1857: 
1858:       node_cache[:obs_fields][start_index] = r0
1859: 
1860:       r0
1861:     end
_nt_obs_from() click to toggle source
      # File lib/mail/parsers/rfc2822_obsolete.rb, line 1947
1947:     def _nt_obs_from
1948:       start_index = index
1949:       if node_cache[:obs_from].has_key?(index)
1950:         cached = node_cache[:obs_from][index]
1951:         if cached
1952:           cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1953:           @index = cached.interval.end
1954:         end
1955:         return cached
1956:       end
1957: 
1958:       i0, s0 = index, []
1959:       if has_terminal?("From", false, index)
1960:         r1 = instantiate_node(SyntaxNode,input, index...(index + 4))
1961:         @index += 4
1962:       else
1963:         terminal_parse_failure("From")
1964:         r1 = nil
1965:       end
1966:       s0 << r1
1967:       if r1
1968:         s2, i2 = [], index
1969:         loop do
1970:           r3 = _nt_WSP
1971:           if r3
1972:             s2 << r3
1973:           else
1974:             break
1975:           end
1976:         end
1977:         r2 = instantiate_node(SyntaxNode,input, i2...index, s2)
1978:         s0 << r2
1979:         if r2
1980:           if has_terminal?(":", false, index)
1981:             r4 = instantiate_node(SyntaxNode,input, index...(index + 1))
1982:             @index += 1
1983:           else
1984:             terminal_parse_failure(":")
1985:             r4 = nil
1986:           end
1987:           s0 << r4
1988:           if r4
1989:             r5 = _nt_mailbox_list
1990:             s0 << r5
1991:             if r5
1992:               r6 = _nt_CRLF
1993:               s0 << r6
1994:             end
1995:           end
1996:         end
1997:       end
1998:       if s0.last
1999:         r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
2000:         r0.extend(ObsFrom0)
2001:       else
2002:         @index = i0
2003:         r0 = nil
2004:       end
2005: 
2006:       node_cache[:obs_from][start_index] = r0
2007: 
2008:       r0
2009:     end
_nt_obs_hour() click to toggle source
     # File lib/mail/parsers/rfc2822_obsolete.rb, line 751
751:     def _nt_obs_hour
752:       start_index = index
753:       if node_cache[:obs_hour].has_key?(index)
754:         cached = node_cache[:obs_hour][index]
755:         if cached
756:           cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
757:           @index = cached.interval.end
758:         end
759:         return cached
760:       end
761: 
762:       i0, s0 = index, []
763:       r2 = _nt_CFWS
764:       if r2
765:         r1 = r2
766:       else
767:         r1 = instantiate_node(SyntaxNode,input, index...index)
768:       end
769:       s0 << r1
770:       if r1
771:         i3, s3 = index, []
772:         r4 = _nt_DIGIT
773:         s3 << r4
774:         if r4
775:           r5 = _nt_DIGIT
776:           s3 << r5
777:         end
778:         if s3.last
779:           r3 = instantiate_node(SyntaxNode,input, i3...index, s3)
780:           r3.extend(ObsHour0)
781:         else
782:           @index = i3
783:           r3 = nil
784:         end
785:         s0 << r3
786:         if r3
787:           r7 = _nt_CFWS
788:           if r7
789:             r6 = r7
790:           else
791:             r6 = instantiate_node(SyntaxNode,input, index...index)
792:           end
793:           s0 << r6
794:         end
795:       end
796:       if s0.last
797:         r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
798:         r0.extend(ObsHour1)
799:       else
800:         @index = i0
801:         r0 = nil
802:       end
803: 
804:       node_cache[:obs_hour][start_index] = r0
805: 
806:       r0
807:     end
_nt_obs_id_left() click to toggle source
      # File lib/mail/parsers/rfc2822_obsolete.rb, line 2650
2650:     def _nt_obs_id_left
2651:       start_index = index
2652:       if node_cache[:obs_id_left].has_key?(index)
2653:         cached = node_cache[:obs_id_left][index]
2654:         if cached
2655:           cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
2656:           @index = cached.interval.end
2657:         end
2658:         return cached
2659:       end
2660: 
2661:       r0 = _nt_local_part
2662: 
2663:       node_cache[:obs_id_left][start_index] = r0
2664: 
2665:       r0
2666:     end
_nt_obs_id_right() click to toggle source
      # File lib/mail/parsers/rfc2822_obsolete.rb, line 2668
2668:     def _nt_obs_id_right
2669:       start_index = index
2670:       if node_cache[:obs_id_right].has_key?(index)
2671:         cached = node_cache[:obs_id_right][index]
2672:         if cached
2673:           cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
2674:           @index = cached.interval.end
2675:         end
2676:         return cached
2677:       end
2678: 
2679:       r0 = _nt_domain
2680: 
2681:       node_cache[:obs_id_right][start_index] = r0
2682: 
2683:       r0
2684:     end
_nt_obs_in_reply_to() click to toggle source
      # File lib/mail/parsers/rfc2822_obsolete.rb, line 2474
2474:     def _nt_obs_in_reply_to
2475:       start_index = index
2476:       if node_cache[:obs_in_reply_to].has_key?(index)
2477:         cached = node_cache[:obs_in_reply_to][index]
2478:         if cached
2479:           cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
2480:           @index = cached.interval.end
2481:         end
2482:         return cached
2483:       end
2484: 
2485:       i0, s0 = index, []
2486:       if has_terminal?("In-Reply-To", false, index)
2487:         r1 = instantiate_node(SyntaxNode,input, index...(index + 11))
2488:         @index += 11
2489:       else
2490:         terminal_parse_failure("In-Reply-To")
2491:         r1 = nil
2492:       end
2493:       s0 << r1
2494:       if r1
2495:         s2, i2 = [], index
2496:         loop do
2497:           r3 = _nt_WSP
2498:           if r3
2499:             s2 << r3
2500:           else
2501:             break
2502:           end
2503:         end
2504:         r2 = instantiate_node(SyntaxNode,input, i2...index, s2)
2505:         s0 << r2
2506:         if r2
2507:           if has_terminal?(":", false, index)
2508:             r4 = instantiate_node(SyntaxNode,input, index...(index + 1))
2509:             @index += 1
2510:           else
2511:             terminal_parse_failure(":")
2512:             r4 = nil
2513:           end
2514:           s0 << r4
2515:           if r4
2516:             s5, i5 = [], index
2517:             loop do
2518:               i6 = index
2519:               r7 = _nt_phrase
2520:               if r7
2521:                 r6 = r7
2522:               else
2523:                 r8 = _nt_msg_id
2524:                 if r8
2525:                   r6 = r8
2526:                 else
2527:                   @index = i6
2528:                   r6 = nil
2529:                 end
2530:               end
2531:               if r6
2532:                 s5 << r6
2533:               else
2534:                 break
2535:               end
2536:             end
2537:             r5 = instantiate_node(SyntaxNode,input, i5...index, s5)
2538:             s0 << r5
2539:             if r5
2540:               r9 = _nt_CRLF
2541:               s0 << r9
2542:             end
2543:           end
2544:         end
2545:       end
2546:       if s0.last
2547:         r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
2548:         r0.extend(ObsInReplyTo0)
2549:       else
2550:         @index = i0
2551:         r0 = nil
2552:       end
2553: 
2554:       node_cache[:obs_in_reply_to][start_index] = r0
2555: 
2556:       r0
2557:     end
_nt_obs_keywords() click to toggle source
      # File lib/mail/parsers/rfc2822_obsolete.rb, line 2844
2844:     def _nt_obs_keywords
2845:       start_index = index
2846:       if node_cache[:obs_keywords].has_key?(index)
2847:         cached = node_cache[:obs_keywords][index]
2848:         if cached
2849:           cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
2850:           @index = cached.interval.end
2851:         end
2852:         return cached
2853:       end
2854: 
2855:       i0, s0 = index, []
2856:       if has_terminal?("Keywords", false, index)
2857:         r1 = instantiate_node(SyntaxNode,input, index...(index + 8))
2858:         @index += 8
2859:       else
2860:         terminal_parse_failure("Keywords")
2861:         r1 = nil
2862:       end
2863:       s0 << r1
2864:       if r1
2865:         s2, i2 = [], index
2866:         loop do
2867:           r3 = _nt_WSP
2868:           if r3
2869:             s2 << r3
2870:           else
2871:             break
2872:           end
2873:         end
2874:         r2 = instantiate_node(SyntaxNode,input, i2...index, s2)
2875:         s0 << r2
2876:         if r2
2877:           if has_terminal?(":", false, index)
2878:             r4 = instantiate_node(SyntaxNode,input, index...(index + 1))
2879:             @index += 1
2880:           else
2881:             terminal_parse_failure(":")
2882:             r4 = nil
2883:           end
2884:           s0 << r4
2885:           if r4
2886:             r5 = _nt_obs_phrase_list
2887:             s0 << r5
2888:             if r5
2889:               r6 = _nt_CRLF
2890:               s0 << r6
2891:             end
2892:           end
2893:         end
2894:       end
2895:       if s0.last
2896:         r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
2897:         r0.extend(ObsKeywords0)
2898:       else
2899:         @index = i0
2900:         r0 = nil
2901:       end
2902: 
2903:       node_cache[:obs_keywords][start_index] = r0
2904: 
2905:       r0
2906:     end
_nt_obs_local_part() click to toggle source
      # File lib/mail/parsers/rfc2822_obsolete.rb, line 1387
1387:     def _nt_obs_local_part
1388:       start_index = index
1389:       if node_cache[:obs_local_part].has_key?(index)
1390:         cached = node_cache[:obs_local_part][index]
1391:         if cached
1392:           cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1393:           @index = cached.interval.end
1394:         end
1395:         return cached
1396:       end
1397: 
1398:       i0, s0 = index, []
1399:       r1 = _nt_word
1400:       s0 << r1
1401:       if r1
1402:         s2, i2 = [], index
1403:         loop do
1404:           i3, s3 = index, []
1405:           if has_terminal?(".", false, index)
1406:             r4 = instantiate_node(SyntaxNode,input, index...(index + 1))
1407:             @index += 1
1408:           else
1409:             terminal_parse_failure(".")
1410:             r4 = nil
1411:           end
1412:           s3 << r4
1413:           if r4
1414:             r5 = _nt_word
1415:             s3 << r5
1416:           end
1417:           if s3.last
1418:             r3 = instantiate_node(SyntaxNode,input, i3...index, s3)
1419:             r3.extend(ObsLocalPart0)
1420:           else
1421:             @index = i3
1422:             r3 = nil
1423:           end
1424:           if r3
1425:             s2 << r3
1426:           else
1427:             break
1428:           end
1429:         end
1430:         r2 = instantiate_node(SyntaxNode,input, i2...index, s2)
1431:         s0 << r2
1432:       end
1433:       if s0.last
1434:         r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
1435:         r0.extend(ObsLocalPart1)
1436:       else
1437:         @index = i0
1438:         r0 = nil
1439:       end
1440: 
1441:       node_cache[:obs_local_part][start_index] = r0
1442: 
1443:       r0
1444:     end
_nt_obs_mbox_list() click to toggle source
      # File lib/mail/parsers/rfc2822_obsolete.rb, line 1524
1524:     def _nt_obs_mbox_list
1525:       start_index = index
1526:       if node_cache[:obs_mbox_list].has_key?(index)
1527:         cached = node_cache[:obs_mbox_list][index]
1528:         if cached
1529:           cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1530:           @index = cached.interval.end
1531:         end
1532:         return cached
1533:       end
1534: 
1535:       i0, s0 = index, []
1536:       s1, i1 = [], index
1537:       loop do
1538:         i2, s2 = index, []
1539:         r4 = _nt_mailbox
1540:         if r4
1541:           r3 = r4
1542:         else
1543:           r3 = instantiate_node(SyntaxNode,input, index...index)
1544:         end
1545:         s2 << r3
1546:         if r3
1547:           r6 = _nt_CFWS
1548:           if r6
1549:             r5 = r6
1550:           else
1551:             r5 = instantiate_node(SyntaxNode,input, index...index)
1552:           end
1553:           s2 << r5
1554:           if r5
1555:             if has_terminal?(",", false, index)
1556:               r7 = instantiate_node(SyntaxNode,input, index...(index + 1))
1557:               @index += 1
1558:             else
1559:               terminal_parse_failure(",")
1560:               r7 = nil
1561:             end
1562:             s2 << r7
1563:             if r7
1564:               r9 = _nt_CFWS
1565:               if r9
1566:                 r8 = r9
1567:               else
1568:                 r8 = instantiate_node(SyntaxNode,input, index...index)
1569:               end
1570:               s2 << r8
1571:             end
1572:           end
1573:         end
1574:         if s2.last
1575:           r2 = instantiate_node(SyntaxNode,input, i2...index, s2)
1576:           r2.extend(ObsMboxList0)
1577:         else
1578:           @index = i2
1579:           r2 = nil
1580:         end
1581:         if r2
1582:           s1 << r2
1583:         else
1584:           break
1585:         end
1586:       end
1587:       if s1.empty?
1588:         @index = i1
1589:         r1 = nil
1590:       else
1591:         r1 = instantiate_node(SyntaxNode,input, i1...index, s1)
1592:       end
1593:       s0 << r1
1594:       if r1
1595:         r11 = _nt_mailbox
1596:         if r11
1597:           r10 = r11
1598:         else
1599:           r10 = instantiate_node(SyntaxNode,input, index...index)
1600:         end
1601:         s0 << r10
1602:       end
1603:       if s0.last
1604:         r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
1605:         r0.extend(ObsMboxList1)
1606:       else
1607:         @index = i0
1608:         r0 = nil
1609:       end
1610: 
1611:       node_cache[:obs_mbox_list][start_index] = r0
1612: 
1613:       r0
1614:     end
_nt_obs_message_id() click to toggle source
      # File lib/mail/parsers/rfc2822_obsolete.rb, line 2404
2404:     def _nt_obs_message_id
2405:       start_index = index
2406:       if node_cache[:obs_message_id].has_key?(index)
2407:         cached = node_cache[:obs_message_id][index]
2408:         if cached
2409:           cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
2410:           @index = cached.interval.end
2411:         end
2412:         return cached
2413:       end
2414: 
2415:       i0, s0 = index, []
2416:       if has_terminal?("Message-ID", false, index)
2417:         r1 = instantiate_node(SyntaxNode,input, index...(index + 10))
2418:         @index += 10
2419:       else
2420:         terminal_parse_failure("Message-ID")
2421:         r1 = nil
2422:       end
2423:       s0 << r1
2424:       if r1
2425:         s2, i2 = [], index
2426:         loop do
2427:           r3 = _nt_WSP
2428:           if r3
2429:             s2 << r3
2430:           else
2431:             break
2432:           end
2433:         end
2434:         r2 = instantiate_node(SyntaxNode,input, i2...index, s2)
2435:         s0 << r2
2436:         if r2
2437:           if has_terminal?(":", false, index)
2438:             r4 = instantiate_node(SyntaxNode,input, index...(index + 1))
2439:             @index += 1
2440:           else
2441:             terminal_parse_failure(":")
2442:             r4 = nil
2443:           end
2444:           s0 << r4
2445:           if r4
2446:             r5 = _nt_msg_id
2447:             s0 << r5
2448:             if r5
2449:               r6 = _nt_CRLF
2450:               s0 << r6
2451:             end
2452:           end
2453:         end
2454:       end
2455:       if s0.last
2456:         r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
2457:         r0.extend(ObsMessageId0)
2458:       else
2459:         @index = i0
2460:         r0 = nil
2461:       end
2462: 
2463:       node_cache[:obs_message_id][start_index] = r0
2464: 
2465:       r0
2466:     end
_nt_obs_minute() click to toggle source
     # File lib/mail/parsers/rfc2822_obsolete.rb, line 822
822:     def _nt_obs_minute
823:       start_index = index
824:       if node_cache[:obs_minute].has_key?(index)
825:         cached = node_cache[:obs_minute][index]
826:         if cached
827:           cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
828:           @index = cached.interval.end
829:         end
830:         return cached
831:       end
832: 
833:       i0, s0 = index, []
834:       r2 = _nt_CFWS
835:       if r2
836:         r1 = r2
837:       else
838:         r1 = instantiate_node(SyntaxNode,input, index...index)
839:       end
840:       s0 << r1
841:       if r1
842:         i3, s3 = index, []
843:         r4 = _nt_DIGIT
844:         s3 << r4
845:         if r4
846:           r5 = _nt_DIGIT
847:           s3 << r5
848:         end
849:         if s3.last
850:           r3 = instantiate_node(SyntaxNode,input, i3...index, s3)
851:           r3.extend(ObsMinute0)
852:         else
853:           @index = i3
854:           r3 = nil
855:         end
856:         s0 << r3
857:         if r3
858:           r7 = _nt_CFWS
859:           if r7
860:             r6 = r7
861:           else
862:             r6 = instantiate_node(SyntaxNode,input, index...index)
863:           end
864:           s0 << r6
865:         end
866:       end
867:       if s0.last
868:         r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
869:         r0.extend(ObsMinute1)
870:       else
871:         @index = i0
872:         r0 = nil
873:       end
874: 
875:       node_cache[:obs_minute][start_index] = r0
876: 
877:       r0
878:     end
_nt_obs_month() click to toggle source
     # File lib/mail/parsers/rfc2822_obsolete.rb, line 620
620:     def _nt_obs_month
621:       start_index = index
622:       if node_cache[:obs_month].has_key?(index)
623:         cached = node_cache[:obs_month][index]
624:         if cached
625:           cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
626:           @index = cached.interval.end
627:         end
628:         return cached
629:       end
630: 
631:       i0, s0 = index, []
632:       r1 = _nt_CFWS
633:       s0 << r1
634:       if r1
635:         r2 = _nt_month_name
636:         s0 << r2
637:         if r2
638:           r3 = _nt_CFWS
639:           s0 << r3
640:         end
641:       end
642:       if s0.last
643:         r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
644:         r0.extend(ObsMonth0)
645:       else
646:         @index = i0
647:         r0 = nil
648:       end
649: 
650:       node_cache[:obs_month][start_index] = r0
651: 
652:       r0
653:     end
_nt_obs_optional() click to toggle source
      # File lib/mail/parsers/rfc2822_obsolete.rb, line 3693
3693:     def _nt_obs_optional
3694:       start_index = index
3695:       if node_cache[:obs_optional].has_key?(index)
3696:         cached = node_cache[:obs_optional][index]
3697:         if cached
3698:           cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
3699:           @index = cached.interval.end
3700:         end
3701:         return cached
3702:       end
3703: 
3704:       i0, s0 = index, []
3705:       r1 = _nt_field_name
3706:       s0 << r1
3707:       if r1
3708:         s2, i2 = [], index
3709:         loop do
3710:           r3 = _nt_WSP
3711:           if r3
3712:             s2 << r3
3713:           else
3714:             break
3715:           end
3716:         end
3717:         r2 = instantiate_node(SyntaxNode,input, i2...index, s2)
3718:         s0 << r2
3719:         if r2
3720:           if has_terminal?(":", false, index)
3721:             r4 = instantiate_node(SyntaxNode,input, index...(index + 1))
3722:             @index += 1
3723:           else
3724:             terminal_parse_failure(":")
3725:             r4 = nil
3726:           end
3727:           s0 << r4
3728:           if r4
3729:             r5 = _nt_unstructured
3730:             s0 << r5
3731:             if r5
3732:               r6 = _nt_CRLF
3733:               s0 << r6
3734:             end
3735:           end
3736:         end
3737:       end
3738:       if s0.last
3739:         r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
3740:         r0.extend(ObsOptional0)
3741:       else
3742:         @index = i0
3743:         r0 = nil
3744:       end
3745: 
3746:       node_cache[:obs_optional][start_index] = r0
3747: 
3748:       r0
3749:     end
_nt_obs_orig_date() click to toggle source
      # File lib/mail/parsers/rfc2822_obsolete.rb, line 1873
1873:     def _nt_obs_orig_date
1874:       start_index = index
1875:       if node_cache[:obs_orig_date].has_key?(index)
1876:         cached = node_cache[:obs_orig_date][index]
1877:         if cached
1878:           cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1879:           @index = cached.interval.end
1880:         end
1881:         return cached
1882:       end
1883: 
1884:       i0, s0 = index, []
1885:       if has_terminal?("Date", false, index)
1886:         r1 = instantiate_node(SyntaxNode,input, index...(index + 4))
1887:         @index += 4
1888:       else
1889:         terminal_parse_failure("Date")
1890:         r1 = nil
1891:       end
1892:       s0 << r1
1893:       if r1
1894:         s2, i2 = [], index
1895:         loop do
1896:           r3 = _nt_WSP
1897:           if r3
1898:             s2 << r3
1899:           else
1900:             break
1901:           end
1902:         end
1903:         r2 = instantiate_node(SyntaxNode,input, i2...index, s2)
1904:         s0 << r2
1905:         if r2
1906:           if has_terminal?(":", false, index)
1907:             r4 = instantiate_node(SyntaxNode,input, index...(index + 1))
1908:             @index += 1
1909:           else
1910:             terminal_parse_failure(":")
1911:             r4 = nil
1912:           end
1913:           s0 << r4
1914:           if r4
1915:             r5 = _nt_date_time
1916:             s0 << r5
1917:             if r5
1918:               r6 = _nt_CRLF
1919:               s0 << r6
1920:             end
1921:           end
1922:         end
1923:       end
1924:       if s0.last
1925:         r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
1926:         r0.extend(ObsOrigDate0)
1927:       else
1928:         @index = i0
1929:         r0 = nil
1930:       end
1931: 
1932:       node_cache[:obs_orig_date][start_index] = r0
1933: 
1934:       r0
1935:     end
_nt_obs_path() click to toggle source
      # File lib/mail/parsers/rfc2822_obsolete.rb, line 3661
3661:     def _nt_obs_path
3662:       start_index = index
3663:       if node_cache[:obs_path].has_key?(index)
3664:         cached = node_cache[:obs_path][index]
3665:         if cached
3666:           cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
3667:           @index = cached.interval.end
3668:         end
3669:         return cached
3670:       end
3671: 
3672:       r0 = _nt_obs_angle_addr
3673: 
3674:       node_cache[:obs_path][start_index] = r0
3675: 
3676:       r0
3677:     end
_nt_obs_phrase() click to toggle source
     # File lib/mail/parsers/rfc2822_obsolete.rb, line 232
232:     def _nt_obs_phrase
233:       start_index = index
234:       if node_cache[:obs_phrase].has_key?(index)
235:         cached = node_cache[:obs_phrase][index]
236:         if cached
237:           cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
238:           @index = cached.interval.end
239:         end
240:         return cached
241:       end
242: 
243:       s0, i0 = [], index
244:       loop do
245:         i1 = index
246:         r2 = _nt_word
247:         if r2
248:           r1 = r2
249:         else
250:           if has_terminal?(".", false, index)
251:             r3 = instantiate_node(SyntaxNode,input, index...(index + 1))
252:             @index += 1
253:           else
254:             terminal_parse_failure(".")
255:             r3 = nil
256:           end
257:           if r3
258:             r1 = r3
259:           else
260:             @index = i1
261:             r1 = nil
262:           end
263:         end
264:         if r1
265:           s0 << r1
266:         else
267:           break
268:         end
269:       end
270:       if s0.empty?
271:         @index = i0
272:         r0 = nil
273:       else
274:         r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
275:       end
276: 
277:       node_cache[:obs_phrase][start_index] = r0
278: 
279:       r0
280:     end
_nt_obs_phrase_list() click to toggle source
     # File lib/mail/parsers/rfc2822_obsolete.rb, line 288
288:     def _nt_obs_phrase_list
289:       start_index = index
290:       if node_cache[:obs_phrase_list].has_key?(index)
291:         cached = node_cache[:obs_phrase_list][index]
292:         if cached
293:           cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
294:           @index = cached.interval.end
295:         end
296:         return cached
297:       end
298: 
299:       i0 = index
300:       r1 = _nt_phrase
301:       if r1
302:         r0 = r1
303:       else
304:         i2, s2 = index, []
305:         s3, i3 = [], index
306:         loop do
307:           i4, s4 = index, []
308:           r6 = _nt_phrase
309:           if r6
310:             r5 = r6
311:           else
312:             r5 = instantiate_node(SyntaxNode,input, index...index)
313:           end
314:           s4 << r5
315:           if r5
316:             r8 = _nt_CFWS
317:             if r8
318:               r7 = r8
319:             else
320:               r7 = instantiate_node(SyntaxNode,input, index...index)
321:             end
322:             s4 << r7
323:             if r7
324:               if has_terminal?(",", false, index)
325:                 r9 = instantiate_node(SyntaxNode,input, index...(index + 1))
326:                 @index += 1
327:               else
328:                 terminal_parse_failure(",")
329:                 r9 = nil
330:               end
331:               s4 << r9
332:               if r9
333:                 r11 = _nt_CFWS
334:                 if r11
335:                   r10 = r11
336:                 else
337:                   r10 = instantiate_node(SyntaxNode,input, index...index)
338:                 end
339:                 s4 << r10
340:               end
341:             end
342:           end
343:           if s4.last
344:             r4 = instantiate_node(SyntaxNode,input, i4...index, s4)
345:             r4.extend(ObsPhraseList0)
346:           else
347:             @index = i4
348:             r4 = nil
349:           end
350:           if r4
351:             s3 << r4
352:           else
353:             break
354:           end
355:         end
356:         if s3.empty?
357:           @index = i3
358:           r3 = nil
359:         else
360:           r3 = instantiate_node(SyntaxNode,input, i3...index, s3)
361:         end
362:         s2 << r3
363:         if r3
364:           r13 = _nt_phrase
365:           if r13
366:             r12 = r13
367:           else
368:             r12 = instantiate_node(SyntaxNode,input, index...index)
369:           end
370:           s2 << r12
371:         end
372:         if s2.last
373:           r2 = instantiate_node(SyntaxNode,input, i2...index, s2)
374:           r2.extend(ObsPhraseList1)
375:         else
376:           @index = i2
377:           r2 = nil
378:         end
379:         if r2
380:           r0 = r2
381:         else
382:           @index = i0
383:           r0 = nil
384:         end
385:       end
386: 
387:       node_cache[:obs_phrase_list][start_index] = r0
388: 
389:       r0
390:     end
_nt_obs_qp() click to toggle source
    # File lib/mail/parsers/rfc2822_obsolete.rb, line 15
15:     def _nt_obs_qp
16:       start_index = index
17:       if node_cache[:obs_qp].has_key?(index)
18:         cached = node_cache[:obs_qp][index]
19:         if cached
20:           cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
21:           @index = cached.interval.end
22:         end
23:         return cached
24:       end
25: 
26:       i0, s0 = index, []
27:       if has_terminal?("\\", false, index)
28:         r1 = instantiate_node(SyntaxNode,input, index...(index + 1))
29:         @index += 1
30:       else
31:         terminal_parse_failure("\\")
32:         r1 = nil
33:       end
34:       s0 << r1
35:       if r1
36:         if has_terminal?('\G[\x00-\x7F]', true, index)
37:           r2 = true
38:           @index += 1
39:         else
40:           r2 = nil
41:         end
42:         s0 << r2
43:       end
44:       if s0.last
45:         r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
46:         r0.extend(ObsQp0)
47:       else
48:         @index = i0
49:         r0 = nil
50:       end
51: 
52:       node_cache[:obs_qp][start_index] = r0
53: 
54:       r0
55:     end
_nt_obs_received() click to toggle source
      # File lib/mail/parsers/rfc2822_obsolete.rb, line 3597
3597:     def _nt_obs_received
3598:       start_index = index
3599:       if node_cache[:obs_received].has_key?(index)
3600:         cached = node_cache[:obs_received][index]
3601:         if cached
3602:           cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
3603:           @index = cached.interval.end
3604:         end
3605:         return cached
3606:       end
3607: 
3608:       i0, s0 = index, []
3609:       if has_terminal?("Received", false, index)
3610:         r1 = instantiate_node(SyntaxNode,input, index...(index + 8))
3611:         @index += 8
3612:       else
3613:         terminal_parse_failure("Received")
3614:         r1 = nil
3615:       end
3616:       s0 << r1
3617:       if r1
3618:         s2, i2 = [], index
3619:         loop do
3620:           r3 = _nt_WSP
3621:           if r3
3622:             s2 << r3
3623:           else
3624:             break
3625:           end
3626:         end
3627:         r2 = instantiate_node(SyntaxNode,input, i2...index, s2)
3628:         s0 << r2
3629:         if r2
3630:           if has_terminal?(":", false, index)
3631:             r4 = instantiate_node(SyntaxNode,input, index...(index + 1))
3632:             @index += 1
3633:           else
3634:             terminal_parse_failure(":")
3635:             r4 = nil
3636:           end
3637:           s0 << r4
3638:           if r4
3639:             r5 = _nt_name_val_list
3640:             s0 << r5
3641:             if r5
3642:               r6 = _nt_CRLF
3643:               s0 << r6
3644:             end
3645:           end
3646:         end
3647:       end
3648:       if s0.last
3649:         r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
3650:         r0.extend(ObsReceived0)
3651:       else
3652:         @index = i0
3653:         r0 = nil
3654:       end
3655: 
3656:       node_cache[:obs_received][start_index] = r0
3657: 
3658:       r0
3659:     end
_nt_obs_references() click to toggle source
      # File lib/mail/parsers/rfc2822_obsolete.rb, line 2565
2565:     def _nt_obs_references
2566:       start_index = index
2567:       if node_cache[:obs_references].has_key?(index)
2568:         cached = node_cache[:obs_references][index]
2569:         if cached
2570:           cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
2571:           @index = cached.interval.end
2572:         end
2573:         return cached
2574:       end
2575: 
2576:       i0, s0 = index, []
2577:       if has_terminal?("References", false, index)
2578:         r1 = instantiate_node(SyntaxNode,input, index...(index + 10))
2579:         @index += 10
2580:       else
2581:         terminal_parse_failure("References")
2582:         r1 = nil
2583:       end
2584:       s0 << r1
2585:       if r1
2586:         s2, i2 = [], index
2587:         loop do
2588:           r3 = _nt_WSP
2589:           if r3
2590:             s2 << r3
2591:           else
2592:             break
2593:           end
2594:         end
2595:         r2 = instantiate_node(SyntaxNode,input, i2...index, s2)
2596:         s0 << r2
2597:         if r2
2598:           if has_terminal?(":", false, index)
2599:             r4 = instantiate_node(SyntaxNode,input, index...(index + 1))
2600:             @index += 1
2601:           else
2602:             terminal_parse_failure(":")
2603:             r4 = nil
2604:           end
2605:           s0 << r4
2606:           if r4
2607:             s5, i5 = [], index
2608:             loop do
2609:               i6 = index
2610:               r7 = _nt_phrase
2611:               if r7
2612:                 r6 = r7
2613:               else
2614:                 r8 = _nt_msg_id
2615:                 if r8
2616:                   r6 = r8
2617:                 else
2618:                   @index = i6
2619:                   r6 = nil
2620:                 end
2621:               end
2622:               if r6
2623:                 s5 << r6
2624:               else
2625:                 break
2626:               end
2627:             end
2628:             r5 = instantiate_node(SyntaxNode,input, i5...index, s5)
2629:             s0 << r5
2630:             if r5
2631:               r9 = _nt_CRLF
2632:               s0 << r9
2633:             end
2634:           end
2635:         end
2636:       end
2637:       if s0.last
2638:         r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
2639:         r0.extend(ObsReferences0)
2640:       else
2641:         @index = i0
2642:         r0 = nil
2643:       end
2644: 
2645:       node_cache[:obs_references][start_index] = r0
2646: 
2647:       r0
2648:     end
_nt_obs_reply_to() click to toggle source
      # File lib/mail/parsers/rfc2822_obsolete.rb, line 2095
2095:     def _nt_obs_reply_to
2096:       start_index = index
2097:       if node_cache[:obs_reply_to].has_key?(index)
2098:         cached = node_cache[:obs_reply_to][index]
2099:         if cached
2100:           cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
2101:           @index = cached.interval.end
2102:         end
2103:         return cached
2104:       end
2105: 
2106:       i0, s0 = index, []
2107:       if has_terminal?("Reply-To", false, index)
2108:         r1 = instantiate_node(SyntaxNode,input, index...(index + 8))
2109:         @index += 8
2110:       else
2111:         terminal_parse_failure("Reply-To")
2112:         r1 = nil
2113:       end
2114:       s0 << r1
2115:       if r1
2116:         s2, i2 = [], index
2117:         loop do
2118:           r3 = _nt_WSP
2119:           if r3
2120:             s2 << r3
2121:           else
2122:             break
2123:           end
2124:         end
2125:         r2 = instantiate_node(SyntaxNode,input, i2...index, s2)
2126:         s0 << r2
2127:         if r2
2128:           if has_terminal?(":", false, index)
2129:             r4 = instantiate_node(SyntaxNode,input, index...(index + 1))
2130:             @index += 1
2131:           else
2132:             terminal_parse_failure(":")
2133:             r4 = nil
2134:           end
2135:           s0 << r4
2136:           if r4
2137:             r5 = _nt_mailbox_list
2138:             s0 << r5
2139:             if r5
2140:               r6 = _nt_CRLF
2141:               s0 << r6
2142:             end
2143:           end
2144:         end
2145:       end
2146:       if s0.last
2147:         r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
2148:         r0.extend(ObsReplyTo0)
2149:       else
2150:         @index = i0
2151:         r0 = nil
2152:       end
2153: 
2154:       node_cache[:obs_reply_to][start_index] = r0
2155: 
2156:       r0
2157:     end
_nt_obs_resent_bcc() click to toggle source
      # File lib/mail/parsers/rfc2822_obsolete.rb, line 3284
3284:     def _nt_obs_resent_bcc
3285:       start_index = index
3286:       if node_cache[:obs_resent_bcc].has_key?(index)
3287:         cached = node_cache[:obs_resent_bcc][index]
3288:         if cached
3289:           cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
3290:           @index = cached.interval.end
3291:         end
3292:         return cached
3293:       end
3294: 
3295:       i0, s0 = index, []
3296:       if has_terminal?("Resent-Bcc", false, index)
3297:         r1 = instantiate_node(SyntaxNode,input, index...(index + 10))
3298:         @index += 10
3299:       else
3300:         terminal_parse_failure("Resent-Bcc")
3301:         r1 = nil
3302:       end
3303:       s0 << r1
3304:       if r1
3305:         s2, i2 = [], index
3306:         loop do
3307:           r3 = _nt_WSP
3308:           if r3
3309:             s2 << r3
3310:           else
3311:             break
3312:           end
3313:         end
3314:         r2 = instantiate_node(SyntaxNode,input, i2...index, s2)
3315:         s0 << r2
3316:         if r2
3317:           if has_terminal?(":", false, index)
3318:             r4 = instantiate_node(SyntaxNode,input, index...(index + 1))
3319:             @index += 1
3320:           else
3321:             terminal_parse_failure(":")
3322:             r4 = nil
3323:           end
3324:           s0 << r4
3325:           if r4
3326:             i5 = index
3327:             r6 = _nt_address_list
3328:             if r6
3329:               r5 = r6
3330:             else
3331:               r8 = _nt_CFWS
3332:               if r8
3333:                 r7 = r8
3334:               else
3335:                 r7 = instantiate_node(SyntaxNode,input, index...index)
3336:               end
3337:               if r7
3338:                 r5 = r7
3339:               else
3340:                 @index = i5
3341:                 r5 = nil
3342:               end
3343:             end
3344:             s0 << r5
3345:             if r5
3346:               r9 = _nt_CRLF
3347:               s0 << r9
3348:             end
3349:           end
3350:         end
3351:       end
3352:       if s0.last
3353:         r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
3354:         r0.extend(ObsResentBcc0)
3355:       else
3356:         @index = i0
3357:         r0 = nil
3358:       end
3359: 
3360:       node_cache[:obs_resent_bcc][start_index] = r0
3361: 
3362:       r0
3363:     end
_nt_obs_resent_cc() click to toggle source
      # File lib/mail/parsers/rfc2822_obsolete.rb, line 3214
3214:     def _nt_obs_resent_cc
3215:       start_index = index
3216:       if node_cache[:obs_resent_cc].has_key?(index)
3217:         cached = node_cache[:obs_resent_cc][index]
3218:         if cached
3219:           cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
3220:           @index = cached.interval.end
3221:         end
3222:         return cached
3223:       end
3224: 
3225:       i0, s0 = index, []
3226:       if has_terminal?("Resent-Cc", false, index)
3227:         r1 = instantiate_node(SyntaxNode,input, index...(index + 9))
3228:         @index += 9
3229:       else
3230:         terminal_parse_failure("Resent-Cc")
3231:         r1 = nil
3232:       end
3233:       s0 << r1
3234:       if r1
3235:         s2, i2 = [], index
3236:         loop do
3237:           r3 = _nt_WSP
3238:           if r3
3239:             s2 << r3
3240:           else
3241:             break
3242:           end
3243:         end
3244:         r2 = instantiate_node(SyntaxNode,input, i2...index, s2)
3245:         s0 << r2
3246:         if r2
3247:           if has_terminal?(":", false, index)
3248:             r4 = instantiate_node(SyntaxNode,input, index...(index + 1))
3249:             @index += 1
3250:           else
3251:             terminal_parse_failure(":")
3252:             r4 = nil
3253:           end
3254:           s0 << r4
3255:           if r4
3256:             r5 = _nt_address_list
3257:             s0 << r5
3258:             if r5
3259:               r6 = _nt_CRLF
3260:               s0 << r6
3261:             end
3262:           end
3263:         end
3264:       end
3265:       if s0.last
3266:         r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
3267:         r0.extend(ObsResentCc0)
3268:       else
3269:         @index = i0
3270:         r0 = nil
3271:       end
3272: 
3273:       node_cache[:obs_resent_cc][start_index] = r0
3274: 
3275:       r0
3276:     end
_nt_obs_resent_date() click to toggle source
      # File lib/mail/parsers/rfc2822_obsolete.rb, line 3066
3066:     def _nt_obs_resent_date
3067:       start_index = index
3068:       if node_cache[:obs_resent_date].has_key?(index)
3069:         cached = node_cache[:obs_resent_date][index]
3070:         if cached
3071:           cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
3072:           @index = cached.interval.end
3073:         end
3074:         return cached
3075:       end
3076: 
3077:       i0, s0 = index, []
3078:       if has_terminal?("Resent-Date", false, index)
3079:         r1 = instantiate_node(SyntaxNode,input, index...(index + 11))
3080:         @index += 11
3081:       else
3082:         terminal_parse_failure("Resent-Date")
3083:         r1 = nil
3084:       end
3085:       s0 << r1
3086:       if r1
3087:         s2, i2 = [], index
3088:         loop do
3089:           r3 = _nt_WSP
3090:           if r3
3091:             s2 << r3
3092:           else
3093:             break
3094:           end
3095:         end
3096:         r2 = instantiate_node(SyntaxNode,input, i2...index, s2)
3097:         s0 << r2
3098:         if r2
3099:           if has_terminal?(":", false, index)
3100:             r4 = instantiate_node(SyntaxNode,input, index...(index + 1))
3101:             @index += 1
3102:           else
3103:             terminal_parse_failure(":")
3104:             r4 = nil
3105:           end
3106:           s0 << r4
3107:           if r4
3108:             r5 = _nt_date_time
3109:             s0 << r5
3110:             if r5
3111:               r6 = _nt_CRLF
3112:               s0 << r6
3113:             end
3114:           end
3115:         end
3116:       end
3117:       if s0.last
3118:         r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
3119:         r0.extend(ObsResentDate0)
3120:       else
3121:         @index = i0
3122:         r0 = nil
3123:       end
3124: 
3125:       node_cache[:obs_resent_date][start_index] = r0
3126: 
3127:       r0
3128:     end
_nt_obs_resent_from() click to toggle source
      # File lib/mail/parsers/rfc2822_obsolete.rb, line 2918
2918:     def _nt_obs_resent_from
2919:       start_index = index
2920:       if node_cache[:obs_resent_from].has_key?(index)
2921:         cached = node_cache[:obs_resent_from][index]
2922:         if cached
2923:           cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
2924:           @index = cached.interval.end
2925:         end
2926:         return cached
2927:       end
2928: 
2929:       i0, s0 = index, []
2930:       if has_terminal?("Resent-From", false, index)
2931:         r1 = instantiate_node(SyntaxNode,input, index...(index + 11))
2932:         @index += 11
2933:       else
2934:         terminal_parse_failure("Resent-From")
2935:         r1 = nil
2936:       end
2937:       s0 << r1
2938:       if r1
2939:         s2, i2 = [], index
2940:         loop do
2941:           r3 = _nt_WSP
2942:           if r3
2943:             s2 << r3
2944:           else
2945:             break
2946:           end
2947:         end
2948:         r2 = instantiate_node(SyntaxNode,input, i2...index, s2)
2949:         s0 << r2
2950:         if r2
2951:           if has_terminal?(":", false, index)
2952:             r4 = instantiate_node(SyntaxNode,input, index...(index + 1))
2953:             @index += 1
2954:           else
2955:             terminal_parse_failure(":")
2956:             r4 = nil
2957:           end
2958:           s0 << r4
2959:           if r4
2960:             r5 = _nt_mailbox_list
2961:             s0 << r5
2962:             if r5
2963:               r6 = _nt_CRLF
2964:               s0 << r6
2965:             end
2966:           end
2967:         end
2968:       end
2969:       if s0.last
2970:         r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
2971:         r0.extend(ObsResentFrom0)
2972:       else
2973:         @index = i0
2974:         r0 = nil
2975:       end
2976: 
2977:       node_cache[:obs_resent_from][start_index] = r0
2978: 
2979:       r0
2980:     end
_nt_obs_resent_mid() click to toggle source
      # File lib/mail/parsers/rfc2822_obsolete.rb, line 3375
3375:     def _nt_obs_resent_mid
3376:       start_index = index
3377:       if node_cache[:obs_resent_mid].has_key?(index)
3378:         cached = node_cache[:obs_resent_mid][index]
3379:         if cached
3380:           cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
3381:           @index = cached.interval.end
3382:         end
3383:         return cached
3384:       end
3385: 
3386:       i0, s0 = index, []
3387:       if has_terminal?("Resent-Message-ID", false, index)
3388:         r1 = instantiate_node(SyntaxNode,input, index...(index + 17))
3389:         @index += 17
3390:       else
3391:         terminal_parse_failure("Resent-Message-ID")
3392:         r1 = nil
3393:       end
3394:       s0 << r1
3395:       if r1
3396:         s2, i2 = [], index
3397:         loop do
3398:           r3 = _nt_WSP
3399:           if r3
3400:             s2 << r3
3401:           else
3402:             break
3403:           end
3404:         end
3405:         r2 = instantiate_node(SyntaxNode,input, i2...index, s2)
3406:         s0 << r2
3407:         if r2
3408:           if has_terminal?(":", false, index)
3409:             r4 = instantiate_node(SyntaxNode,input, index...(index + 1))
3410:             @index += 1
3411:           else
3412:             terminal_parse_failure(":")
3413:             r4 = nil
3414:           end
3415:           s0 << r4
3416:           if r4
3417:             r5 = _nt_msg_id
3418:             s0 << r5
3419:             if r5
3420:               r6 = _nt_CRLF
3421:               s0 << r6
3422:             end
3423:           end
3424:         end
3425:       end
3426:       if s0.last
3427:         r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
3428:         r0.extend(ObsResentMid0)
3429:       else
3430:         @index = i0
3431:         r0 = nil
3432:       end
3433: 
3434:       node_cache[:obs_resent_mid][start_index] = r0
3435: 
3436:       r0
3437:     end
_nt_obs_resent_rply() click to toggle source
      # File lib/mail/parsers/rfc2822_obsolete.rb, line 3449
3449:     def _nt_obs_resent_rply
3450:       start_index = index
3451:       if node_cache[:obs_resent_rply].has_key?(index)
3452:         cached = node_cache[:obs_resent_rply][index]
3453:         if cached
3454:           cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
3455:           @index = cached.interval.end
3456:         end
3457:         return cached
3458:       end
3459: 
3460:       i0, s0 = index, []
3461:       if has_terminal?("Resent-Reply-To", false, index)
3462:         r1 = instantiate_node(SyntaxNode,input, index...(index + 15))
3463:         @index += 15
3464:       else
3465:         terminal_parse_failure("Resent-Reply-To")
3466:         r1 = nil
3467:       end
3468:       s0 << r1
3469:       if r1
3470:         s2, i2 = [], index
3471:         loop do
3472:           r3 = _nt_WSP
3473:           if r3
3474:             s2 << r3
3475:           else
3476:             break
3477:           end
3478:         end
3479:         r2 = instantiate_node(SyntaxNode,input, i2...index, s2)
3480:         s0 << r2
3481:         if r2
3482:           if has_terminal?(":", false, index)
3483:             r4 = instantiate_node(SyntaxNode,input, index...(index + 1))
3484:             @index += 1
3485:           else
3486:             terminal_parse_failure(":")
3487:             r4 = nil
3488:           end
3489:           s0 << r4
3490:           if r4
3491:             r5 = _nt_address_list
3492:             s0 << r5
3493:             if r5
3494:               r6 = _nt_CRLF
3495:               s0 << r6
3496:             end
3497:           end
3498:         end
3499:       end
3500:       if s0.last
3501:         r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
3502:         r0.extend(ObsResentRply0)
3503:       else
3504:         @index = i0
3505:         r0 = nil
3506:       end
3507: 
3508:       node_cache[:obs_resent_rply][start_index] = r0
3509: 
3510:       r0
3511:     end
_nt_obs_resent_send() click to toggle source
      # File lib/mail/parsers/rfc2822_obsolete.rb, line 2992
2992:     def _nt_obs_resent_send
2993:       start_index = index
2994:       if node_cache[:obs_resent_send].has_key?(index)
2995:         cached = node_cache[:obs_resent_send][index]
2996:         if cached
2997:           cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
2998:           @index = cached.interval.end
2999:         end
3000:         return cached
3001:       end
3002: 
3003:       i0, s0 = index, []
3004:       if has_terminal?("Resent-Sender", false, index)
3005:         r1 = instantiate_node(SyntaxNode,input, index...(index + 13))
3006:         @index += 13
3007:       else
3008:         terminal_parse_failure("Resent-Sender")
3009:         r1 = nil
3010:       end
3011:       s0 << r1
3012:       if r1
3013:         s2, i2 = [], index
3014:         loop do
3015:           r3 = _nt_WSP
3016:           if r3
3017:             s2 << r3
3018:           else
3019:             break
3020:           end
3021:         end
3022:         r2 = instantiate_node(SyntaxNode,input, i2...index, s2)
3023:         s0 << r2
3024:         if r2
3025:           if has_terminal?(":", false, index)
3026:             r4 = instantiate_node(SyntaxNode,input, index...(index + 1))
3027:             @index += 1
3028:           else
3029:             terminal_parse_failure(":")
3030:             r4 = nil
3031:           end
3032:           s0 << r4
3033:           if r4
3034:             r5 = _nt_mailbox
3035:             s0 << r5
3036:             if r5
3037:               r6 = _nt_CRLF
3038:               s0 << r6
3039:             end
3040:           end
3041:         end
3042:       end
3043:       if s0.last
3044:         r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
3045:         r0.extend(ObsResentSend0)
3046:       else
3047:         @index = i0
3048:         r0 = nil
3049:       end
3050: 
3051:       node_cache[:obs_resent_send][start_index] = r0
3052: 
3053:       r0
3054:     end
_nt_obs_resent_to() click to toggle source
      # File lib/mail/parsers/rfc2822_obsolete.rb, line 3140
3140:     def _nt_obs_resent_to
3141:       start_index = index
3142:       if node_cache[:obs_resent_to].has_key?(index)
3143:         cached = node_cache[:obs_resent_to][index]
3144:         if cached
3145:           cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
3146:           @index = cached.interval.end
3147:         end
3148:         return cached
3149:       end
3150: 
3151:       i0, s0 = index, []
3152:       if has_terminal?("Resent-To", false, index)
3153:         r1 = instantiate_node(SyntaxNode,input, index...(index + 9))
3154:         @index += 9
3155:       else
3156:         terminal_parse_failure("Resent-To")
3157:         r1 = nil
3158:       end
3159:       s0 << r1
3160:       if r1
3161:         s2, i2 = [], index
3162:         loop do
3163:           r3 = _nt_WSP
3164:           if r3
3165:             s2 << r3
3166:           else
3167:             break
3168:           end
3169:         end
3170:         r2 = instantiate_node(SyntaxNode,input, i2...index, s2)
3171:         s0 << r2
3172:         if r2
3173:           if has_terminal?(":", false, index)
3174:             r4 = instantiate_node(SyntaxNode,input, index...(index + 1))
3175:             @index += 1
3176:           else
3177:             terminal_parse_failure(":")
3178:             r4 = nil
3179:           end
3180:           s0 << r4
3181:           if r4
3182:             r5 = _nt_address_list
3183:             s0 << r5
3184:             if r5
3185:               r6 = _nt_CRLF
3186:               s0 << r6
3187:             end
3188:           end
3189:         end
3190:       end
3191:       if s0.last
3192:         r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
3193:         r0.extend(ObsResentTo0)
3194:       else
3195:         @index = i0
3196:         r0 = nil
3197:       end
3198: 
3199:       node_cache[:obs_resent_to][start_index] = r0
3200: 
3201:       r0
3202:     end
_nt_obs_return() click to toggle source
      # File lib/mail/parsers/rfc2822_obsolete.rb, line 3523
3523:     def _nt_obs_return
3524:       start_index = index
3525:       if node_cache[:obs_return].has_key?(index)
3526:         cached = node_cache[:obs_return][index]
3527:         if cached
3528:           cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
3529:           @index = cached.interval.end
3530:         end
3531:         return cached
3532:       end
3533: 
3534:       i0, s0 = index, []
3535:       if has_terminal?("Return-Path", false, index)
3536:         r1 = instantiate_node(SyntaxNode,input, index...(index + 11))
3537:         @index += 11
3538:       else
3539:         terminal_parse_failure("Return-Path")
3540:         r1 = nil
3541:       end
3542:       s0 << r1
3543:       if r1
3544:         s2, i2 = [], index
3545:         loop do
3546:           r3 = _nt_WSP
3547:           if r3
3548:             s2 << r3
3549:           else
3550:             break
3551:           end
3552:         end
3553:         r2 = instantiate_node(SyntaxNode,input, i2...index, s2)
3554:         s0 << r2
3555:         if r2
3556:           if has_terminal?(":", false, index)
3557:             r4 = instantiate_node(SyntaxNode,input, index...(index + 1))
3558:             @index += 1
3559:           else
3560:             terminal_parse_failure(":")
3561:             r4 = nil
3562:           end
3563:           s0 << r4
3564:           if r4
3565:             r5 = _nt_path
3566:             s0 << r5
3567:             if r5
3568:               r6 = _nt_CRLF
3569:               s0 << r6
3570:             end
3571:           end
3572:         end
3573:       end
3574:       if s0.last
3575:         r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
3576:         r0.extend(ObsReturn0)
3577:       else
3578:         @index = i0
3579:         r0 = nil
3580:       end
3581: 
3582:       node_cache[:obs_return][start_index] = r0
3583: 
3584:       r0
3585:     end
_nt_obs_route() click to toggle source
      # File lib/mail/parsers/rfc2822_obsolete.rb, line 1209
1209:     def _nt_obs_route
1210:       start_index = index
1211:       if node_cache[:obs_route].has_key?(index)
1212:         cached = node_cache[:obs_route][index]
1213:         if cached
1214:           cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1215:           @index = cached.interval.end
1216:         end
1217:         return cached
1218:       end
1219: 
1220:       i0, s0 = index, []
1221:       r2 = _nt_CFWS
1222:       if r2
1223:         r1 = r2
1224:       else
1225:         r1 = instantiate_node(SyntaxNode,input, index...index)
1226:       end
1227:       s0 << r1
1228:       if r1
1229:         r3 = _nt_obs_domain_list
1230:         s0 << r3
1231:         if r3
1232:           if has_terminal?(":", false, index)
1233:             r4 = instantiate_node(SyntaxNode,input, index...(index + 1))
1234:             @index += 1
1235:           else
1236:             terminal_parse_failure(":")
1237:             r4 = nil
1238:           end
1239:           s0 << r4
1240:           if r4
1241:             r6 = _nt_CFWS
1242:             if r6
1243:               r5 = r6
1244:             else
1245:               r5 = instantiate_node(SyntaxNode,input, index...index)
1246:             end
1247:             s0 << r5
1248:           end
1249:         end
1250:       end
1251:       if s0.last
1252:         r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
1253:         r0.extend(ObsRoute0)
1254:       else
1255:         @index = i0
1256:         r0 = nil
1257:       end
1258: 
1259:       node_cache[:obs_route][start_index] = r0
1260: 
1261:       r0
1262:     end
_nt_obs_second() click to toggle source
     # File lib/mail/parsers/rfc2822_obsolete.rb, line 893
893:     def _nt_obs_second
894:       start_index = index
895:       if node_cache[:obs_second].has_key?(index)
896:         cached = node_cache[:obs_second][index]
897:         if cached
898:           cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
899:           @index = cached.interval.end
900:         end
901:         return cached
902:       end
903: 
904:       i0, s0 = index, []
905:       r2 = _nt_CFWS
906:       if r2
907:         r1 = r2
908:       else
909:         r1 = instantiate_node(SyntaxNode,input, index...index)
910:       end
911:       s0 << r1
912:       if r1
913:         i3, s3 = index, []
914:         r4 = _nt_DIGIT
915:         s3 << r4
916:         if r4
917:           r5 = _nt_DIGIT
918:           s3 << r5
919:         end
920:         if s3.last
921:           r3 = instantiate_node(SyntaxNode,input, i3...index, s3)
922:           r3.extend(ObsSecond0)
923:         else
924:           @index = i3
925:           r3 = nil
926:         end
927:         s0 << r3
928:         if r3
929:           r7 = _nt_CFWS
930:           if r7
931:             r6 = r7
932:           else
933:             r6 = instantiate_node(SyntaxNode,input, index...index)
934:           end
935:           s0 << r6
936:         end
937:       end
938:       if s0.last
939:         r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
940:         r0.extend(ObsSecond1)
941:       else
942:         @index = i0
943:         r0 = nil
944:       end
945: 
946:       node_cache[:obs_second][start_index] = r0
947: 
948:       r0
949:     end
_nt_obs_sender() click to toggle source
      # File lib/mail/parsers/rfc2822_obsolete.rb, line 2021
2021:     def _nt_obs_sender
2022:       start_index = index
2023:       if node_cache[:obs_sender].has_key?(index)
2024:         cached = node_cache[:obs_sender][index]
2025:         if cached
2026:           cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
2027:           @index = cached.interval.end
2028:         end
2029:         return cached
2030:       end
2031: 
2032:       i0, s0 = index, []
2033:       if has_terminal?("Sender", false, index)
2034:         r1 = instantiate_node(SyntaxNode,input, index...(index + 6))
2035:         @index += 6
2036:       else
2037:         terminal_parse_failure("Sender")
2038:         r1 = nil
2039:       end
2040:       s0 << r1
2041:       if r1
2042:         s2, i2 = [], index
2043:         loop do
2044:           r3 = _nt_WSP
2045:           if r3
2046:             s2 << r3
2047:           else
2048:             break
2049:           end
2050:         end
2051:         r2 = instantiate_node(SyntaxNode,input, i2...index, s2)
2052:         s0 << r2
2053:         if r2
2054:           if has_terminal?(":", false, index)
2055:             r4 = instantiate_node(SyntaxNode,input, index...(index + 1))
2056:             @index += 1
2057:           else
2058:             terminal_parse_failure(":")
2059:             r4 = nil
2060:           end
2061:           s0 << r4
2062:           if r4
2063:             r5 = _nt_mailbox
2064:             s0 << r5
2065:             if r5
2066:               r6 = _nt_CRLF
2067:               s0 << r6
2068:             end
2069:           end
2070:         end
2071:       end
2072:       if s0.last
2073:         r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
2074:         r0.extend(ObsSender0)
2075:       else
2076:         @index = i0
2077:         r0 = nil
2078:       end
2079: 
2080:       node_cache[:obs_sender][start_index] = r0
2081: 
2082:       r0
2083:     end
_nt_obs_subject() click to toggle source
      # File lib/mail/parsers/rfc2822_obsolete.rb, line 2696
2696:     def _nt_obs_subject
2697:       start_index = index
2698:       if node_cache[:obs_subject].has_key?(index)
2699:         cached = node_cache[:obs_subject][index]
2700:         if cached
2701:           cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
2702:           @index = cached.interval.end
2703:         end
2704:         return cached
2705:       end
2706: 
2707:       i0, s0 = index, []
2708:       if has_terminal?("Subject", false, index)
2709:         r1 = instantiate_node(SyntaxNode,input, index...(index + 7))
2710:         @index += 7
2711:       else
2712:         terminal_parse_failure("Subject")
2713:         r1 = nil
2714:       end
2715:       s0 << r1
2716:       if r1
2717:         s2, i2 = [], index
2718:         loop do
2719:           r3 = _nt_WSP
2720:           if r3
2721:             s2 << r3
2722:           else
2723:             break
2724:           end
2725:         end
2726:         r2 = instantiate_node(SyntaxNode,input, i2...index, s2)
2727:         s0 << r2
2728:         if r2
2729:           if has_terminal?(":", false, index)
2730:             r4 = instantiate_node(SyntaxNode,input, index...(index + 1))
2731:             @index += 1
2732:           else
2733:             terminal_parse_failure(":")
2734:             r4 = nil
2735:           end
2736:           s0 << r4
2737:           if r4
2738:             r5 = _nt_unstructured
2739:             s0 << r5
2740:             if r5
2741:               r6 = _nt_CRLF
2742:               s0 << r6
2743:             end
2744:           end
2745:         end
2746:       end
2747:       if s0.last
2748:         r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
2749:         r0.extend(ObsSubject0)
2750:       else
2751:         @index = i0
2752:         r0 = nil
2753:       end
2754: 
2755:       node_cache[:obs_subject][start_index] = r0
2756: 
2757:       r0
2758:     end
_nt_obs_text() click to toggle source
     # File lib/mail/parsers/rfc2822_obsolete.rb, line 67
 67:     def _nt_obs_text
 68:       start_index = index
 69:       if node_cache[:obs_text].has_key?(index)
 70:         cached = node_cache[:obs_text][index]
 71:         if cached
 72:           cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
 73:           @index = cached.interval.end
 74:         end
 75:         return cached
 76:       end
 77: 
 78:       i0, s0 = index, []
 79:       s1, i1 = [], index
 80:       loop do
 81:         r2 = _nt_LF
 82:         if r2
 83:           s1 << r2
 84:         else
 85:           break
 86:         end
 87:       end
 88:       r1 = instantiate_node(SyntaxNode,input, i1...index, s1)
 89:       s0 << r1
 90:       if r1
 91:         s3, i3 = [], index
 92:         loop do
 93:           r4 = _nt_CR
 94:           if r4
 95:             s3 << r4
 96:           else
 97:             break
 98:           end
 99:         end
100:         r3 = instantiate_node(SyntaxNode,input, i3...index, s3)
101:         s0 << r3
102:         if r3
103:           s5, i5 = [], index
104:           loop do
105:             i6, s6 = index, []
106:             r7 = _nt_obs_char
107:             s6 << r7
108:             if r7
109:               s8, i8 = [], index
110:               loop do
111:                 r9 = _nt_LF
112:                 if r9
113:                   s8 << r9
114:                 else
115:                   break
116:                 end
117:               end
118:               r8 = instantiate_node(SyntaxNode,input, i8...index, s8)
119:               s6 << r8
120:               if r8
121:                 s10, i10 = [], index
122:                 loop do
123:                   r11 = _nt_CR
124:                   if r11
125:                     s10 << r11
126:                   else
127:                     break
128:                   end
129:                 end
130:                 r10 = instantiate_node(SyntaxNode,input, i10...index, s10)
131:                 s6 << r10
132:               end
133:             end
134:             if s6.last
135:               r6 = instantiate_node(SyntaxNode,input, i6...index, s6)
136:               r6.extend(ObsText0)
137:             else
138:               @index = i6
139:               r6 = nil
140:             end
141:             if r6
142:               s5 << r6
143:             else
144:               break
145:             end
146:           end
147:           r5 = instantiate_node(SyntaxNode,input, i5...index, s5)
148:           s0 << r5
149:         end
150:       end
151:       if s0.last
152:         r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
153:         r0.extend(ObsText1)
154:       else
155:         @index = i0
156:         r0 = nil
157:       end
158: 
159:       node_cache[:obs_text][start_index] = r0
160: 
161:       r0
162:     end
_nt_obs_to() click to toggle source
      # File lib/mail/parsers/rfc2822_obsolete.rb, line 2169
2169:     def _nt_obs_to
2170:       start_index = index
2171:       if node_cache[:obs_to].has_key?(index)
2172:         cached = node_cache[:obs_to][index]
2173:         if cached
2174:           cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
2175:           @index = cached.interval.end
2176:         end
2177:         return cached
2178:       end
2179: 
2180:       i0, s0 = index, []
2181:       if has_terminal?("To", false, index)
2182:         r1 = instantiate_node(SyntaxNode,input, index...(index + 2))
2183:         @index += 2
2184:       else
2185:         terminal_parse_failure("To")
2186:         r1 = nil
2187:       end
2188:       s0 << r1
2189:       if r1
2190:         s2, i2 = [], index
2191:         loop do
2192:           r3 = _nt_WSP
2193:           if r3
2194:             s2 << r3
2195:           else
2196:             break
2197:           end
2198:         end
2199:         r2 = instantiate_node(SyntaxNode,input, i2...index, s2)
2200:         s0 << r2
2201:         if r2
2202:           if has_terminal?(":", false, index)
2203:             r4 = instantiate_node(SyntaxNode,input, index...(index + 1))
2204:             @index += 1
2205:           else
2206:             terminal_parse_failure(":")
2207:             r4 = nil
2208:           end
2209:           s0 << r4
2210:           if r4
2211:             r5 = _nt_address_list
2212:             s0 << r5
2213:             if r5
2214:               r6 = _nt_CRLF
2215:               s0 << r6
2216:             end
2217:           end
2218:         end
2219:       end
2220:       if s0.last
2221:         r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
2222:         r0.extend(ObsTo0)
2223:       else
2224:         @index = i0
2225:         r0 = nil
2226:       end
2227: 
2228:       node_cache[:obs_to][start_index] = r0
2229: 
2230:       r0
2231:     end
_nt_obs_utext() click to toggle source
     # File lib/mail/parsers/rfc2822_obsolete.rb, line 214
214:     def _nt_obs_utext
215:       start_index = index
216:       if node_cache[:obs_utext].has_key?(index)
217:         cached = node_cache[:obs_utext][index]
218:         if cached
219:           cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
220:           @index = cached.interval.end
221:         end
222:         return cached
223:       end
224: 
225:       r0 = _nt_obs_text
226: 
227:       node_cache[:obs_utext][start_index] = r0
228: 
229:       r0
230:     end
_nt_obs_year() click to toggle source
     # File lib/mail/parsers/rfc2822_obsolete.rb, line 548
548:     def _nt_obs_year
549:       start_index = index
550:       if node_cache[:obs_year].has_key?(index)
551:         cached = node_cache[:obs_year][index]
552:         if cached
553:           cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
554:           @index = cached.interval.end
555:         end
556:         return cached
557:       end
558: 
559:       i0, s0 = index, []
560:       r2 = _nt_CFWS
561:       if r2
562:         r1 = r2
563:       else
564:         r1 = instantiate_node(SyntaxNode,input, index...index)
565:       end
566:       s0 << r1
567:       if r1
568:         i3, s3 = index, []
569:         r4 = _nt_DIGIT
570:         s3 << r4
571:         if r4
572:           r5 = _nt_DIGIT
573:           s3 << r5
574:         end
575:         if s3.last
576:           r3 = instantiate_node(SyntaxNode,input, i3...index, s3)
577:           r3.extend(ObsYear0)
578:         else
579:           @index = i3
580:           r3 = nil
581:         end
582:         s0 << r3
583:         if r3
584:           r7 = _nt_CFWS
585:           if r7
586:             r6 = r7
587:           else
588:             r6 = instantiate_node(SyntaxNode,input, index...index)
589:           end
590:           s0 << r6
591:         end
592:       end
593:       if s0.last
594:         r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
595:         r0.extend(ObsYear1)
596:       else
597:         @index = i0
598:         r0 = nil
599:       end
600: 
601:       node_cache[:obs_year][start_index] = r0
602: 
603:       r0
604:     end
_nt_obs_zone() click to toggle source
      # File lib/mail/parsers/rfc2822_obsolete.rb, line 951
 951:     def _nt_obs_zone
 952:       start_index = index
 953:       if node_cache[:obs_zone].has_key?(index)
 954:         cached = node_cache[:obs_zone][index]
 955:         if cached
 956:           cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
 957:           @index = cached.interval.end
 958:         end
 959:         return cached
 960:       end
 961: 
 962:       i0 = index
 963:       if has_terminal?("UT", false, index)
 964:         r1 = instantiate_node(SyntaxNode,input, index...(index + 2))
 965:         @index += 2
 966:       else
 967:         terminal_parse_failure("UT")
 968:         r1 = nil
 969:       end
 970:       if r1
 971:         r0 = r1
 972:       else
 973:         if has_terminal?("GMT", false, index)
 974:           r2 = instantiate_node(SyntaxNode,input, index...(index + 3))
 975:           @index += 3
 976:         else
 977:           terminal_parse_failure("GMT")
 978:           r2 = nil
 979:         end
 980:         if r2
 981:           r0 = r2
 982:         else
 983:           if has_terminal?("EST", false, index)
 984:             r3 = instantiate_node(SyntaxNode,input, index...(index + 3))
 985:             @index += 3
 986:           else
 987:             terminal_parse_failure("EST")
 988:             r3 = nil
 989:           end
 990:           if r3
 991:             r0 = r3
 992:           else
 993:             if has_terminal?("EDT", false, index)
 994:               r4 = instantiate_node(SyntaxNode,input, index...(index + 3))
 995:               @index += 3
 996:             else
 997:               terminal_parse_failure("EDT")
 998:               r4 = nil
 999:             end
1000:             if r4
1001:               r0 = r4
1002:             else
1003:               if has_terminal?("CST", false, index)
1004:                 r5 = instantiate_node(SyntaxNode,input, index...(index + 3))
1005:                 @index += 3
1006:               else
1007:                 terminal_parse_failure("CST")
1008:                 r5 = nil
1009:               end
1010:               if r5
1011:                 r0 = r5
1012:               else
1013:                 if has_terminal?("CDT", false, index)
1014:                   r6 = instantiate_node(SyntaxNode,input, index...(index + 3))
1015:                   @index += 3
1016:                 else
1017:                   terminal_parse_failure("CDT")
1018:                   r6 = nil
1019:                 end
1020:                 if r6
1021:                   r0 = r6
1022:                 else
1023:                   if has_terminal?("MST", false, index)
1024:                     r7 = instantiate_node(SyntaxNode,input, index...(index + 3))
1025:                     @index += 3
1026:                   else
1027:                     terminal_parse_failure("MST")
1028:                     r7 = nil
1029:                   end
1030:                   if r7
1031:                     r0 = r7
1032:                   else
1033:                     if has_terminal?("MDT", false, index)
1034:                       r8 = instantiate_node(SyntaxNode,input, index...(index + 3))
1035:                       @index += 3
1036:                     else
1037:                       terminal_parse_failure("MDT")
1038:                       r8 = nil
1039:                     end
1040:                     if r8
1041:                       r0 = r8
1042:                     else
1043:                       if has_terminal?("PST", false, index)
1044:                         r9 = instantiate_node(SyntaxNode,input, index...(index + 3))
1045:                         @index += 3
1046:                       else
1047:                         terminal_parse_failure("PST")
1048:                         r9 = nil
1049:                       end
1050:                       if r9
1051:                         r0 = r9
1052:                       else
1053:                         if has_terminal?("PDT", false, index)
1054:                           r10 = instantiate_node(SyntaxNode,input, index...(index + 3))
1055:                           @index += 3
1056:                         else
1057:                           terminal_parse_failure("PDT")
1058:                           r10 = nil
1059:                         end
1060:                         if r10
1061:                           r0 = r10
1062:                         else
1063:                           if has_terminal?('\G[\x41-\x49]', true, index)
1064:                             r11 = true
1065:                             @index += 1
1066:                           else
1067:                             r11 = nil
1068:                           end
1069:                           if r11
1070:                             r0 = r11
1071:                           else
1072:                             if has_terminal?('\G[\x4B-\x5A]', true, index)
1073:                               r12 = true
1074:                               @index += 1
1075:                             else
1076:                               r12 = nil
1077:                             end
1078:                             if r12
1079:                               r0 = r12
1080:                             else
1081:                               if has_terminal?('\G[\x61-\x69]', true, index)
1082:                                 r13 = true
1083:                                 @index += 1
1084:                               else
1085:                                 r13 = nil
1086:                               end
1087:                               if r13
1088:                                 r0 = r13
1089:                               else
1090:                                 if has_terminal?('\G[\x6B-\x7A]', true, index)
1091:                                   r14 = true
1092:                                   @index += 1
1093:                                 else
1094:                                   r14 = nil
1095:                                 end
1096:                                 if r14
1097:                                   r0 = r14
1098:                                 else
1099:                                   @index = i0
1100:                                   r0 = nil
1101:                                 end
1102:                               end
1103:                             end
1104:                           end
1105:                         end
1106:                       end
1107:                     end
1108:                   end
1109:                 end
1110:               end
1111:             end
1112:           end
1113:         end
1114:       end
1115: 
1116:       node_cache[:obs_zone][start_index] = r0
1117: 
1118:       r0
1119:     end
root() click to toggle source
    # File lib/mail/parsers/rfc2822_obsolete.rb, line 8
 8:     def root
 9:       @root ||= :obs_qp
10:     end

Disabled; run with --debug to generate this.

[Validate]

Generated with the Darkfish Rdoc Generator 1.1.6.