# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
Disabled; run with --debug to generate this.
Generated with the Darkfish Rdoc Generator 1.1.6.