# File lib/mail/parsers/content_type.rb, line 861 861: def _nt_attribute 862: start_index = index 863: if node_cache[:attribute].has_key?(index) 864: cached = node_cache[:attribute][index] 865: if cached 866: cached = SyntaxNode.new(input, index...(index + 1)) if cached == true 867: @index = cached.interval.end 868: end 869: return cached 870: end 871: 872: s0, i0 = [], index 873: loop do 874: r1 = _nt_token 875: if r1 876: s0 << r1 877: else 878: break 879: end 880: end 881: if s0.empty? 882: @index = i0 883: r0 = nil 884: else 885: r0 = instantiate_node(SyntaxNode,input, i0...index, s0) 886: end 887: 888: node_cache[:attribute][start_index] = r0 889: 890: r0 891: end
# File lib/mail/parsers/content_type.rb, line 535 535: def _nt_composite_type 536: start_index = index 537: if node_cache[:composite_type].has_key?(index) 538: cached = node_cache[:composite_type][index] 539: if cached 540: cached = SyntaxNode.new(input, index...(index + 1)) if cached == true 541: @index = cached.interval.end 542: end 543: return cached 544: end 545: 546: i0 = index 547: i1, s1 = index, [] 548: if has_terminal?('\G[mM]', true, index) 549: r2 = true 550: @index += 1 551: else 552: r2 = nil 553: end 554: s1 << r2 555: if r2 556: if has_terminal?('\G[eE]', true, index) 557: r3 = true 558: @index += 1 559: else 560: r3 = nil 561: end 562: s1 << r3 563: if r3 564: if has_terminal?('\G[sS]', true, index) 565: r4 = true 566: @index += 1 567: else 568: r4 = nil 569: end 570: s1 << r4 571: if r4 572: if has_terminal?('\G[sS]', true, index) 573: r5 = true 574: @index += 1 575: else 576: r5 = nil 577: end 578: s1 << r5 579: if r5 580: if has_terminal?('\G[aA]', true, index) 581: r6 = true 582: @index += 1 583: else 584: r6 = nil 585: end 586: s1 << r6 587: if r6 588: if has_terminal?('\G[gG]', true, index) 589: r7 = true 590: @index += 1 591: else 592: r7 = nil 593: end 594: s1 << r7 595: if r7 596: if has_terminal?('\G[eE]', true, index) 597: r8 = true 598: @index += 1 599: else 600: r8 = nil 601: end 602: s1 << r8 603: end 604: end 605: end 606: end 607: end 608: end 609: if s1.last 610: r1 = instantiate_node(SyntaxNode,input, i1...index, s1) 611: r1.extend(CompositeType0) 612: else 613: @index = i1 614: r1 = nil 615: end 616: if r1 617: r0 = r1 618: else 619: i9, s9 = index, [] 620: if has_terminal?('\G[mM]', true, index) 621: r10 = true 622: @index += 1 623: else 624: r10 = nil 625: end 626: s9 << r10 627: if r10 628: if has_terminal?('\G[uU]', true, index) 629: r11 = true 630: @index += 1 631: else 632: r11 = nil 633: end 634: s9 << r11 635: if r11 636: if has_terminal?('\G[lL]', true, index) 637: r12 = true 638: @index += 1 639: else 640: r12 = nil 641: end 642: s9 << r12 643: if r12 644: if has_terminal?('\G[tT]', true, index) 645: r13 = true 646: @index += 1 647: else 648: r13 = nil 649: end 650: s9 << r13 651: if r13 652: if has_terminal?('\G[iI]', true, index) 653: r14 = true 654: @index += 1 655: else 656: r14 = nil 657: end 658: s9 << r14 659: if r14 660: if has_terminal?('\G[pP]', true, index) 661: r15 = true 662: @index += 1 663: else 664: r15 = nil 665: end 666: s9 << r15 667: if r15 668: if has_terminal?('\G[aA]', true, index) 669: r16 = true 670: @index += 1 671: else 672: r16 = nil 673: end 674: s9 << r16 675: if r16 676: if has_terminal?('\G[rR]', true, index) 677: r17 = true 678: @index += 1 679: else 680: r17 = nil 681: end 682: s9 << r17 683: if r17 684: if has_terminal?('\G[tT]', true, index) 685: r18 = true 686: @index += 1 687: else 688: r18 = nil 689: end 690: s9 << r18 691: end 692: end 693: end 694: end 695: end 696: end 697: end 698: end 699: if s9.last 700: r9 = instantiate_node(SyntaxNode,input, i9...index, s9) 701: r9.extend(CompositeType1) 702: else 703: @index = i9 704: r9 = nil 705: end 706: if r9 707: r0 = r9 708: else 709: r19 = _nt_extension_token 710: if r19 711: r0 = r19 712: else 713: @index = i0 714: r0 = nil 715: end 716: end 717: end 718: 719: node_cache[:composite_type][start_index] = r0 720: 721: r0 722: end
# File lib/mail/parsers/content_type.rb, line 52 52: def _nt_content_type 53: start_index = index 54: if node_cache[:content_type].has_key?(index) 55: cached = node_cache[:content_type][index] 56: if cached 57: cached = SyntaxNode.new(input, index...(index + 1)) if cached == true 58: @index = cached.interval.end 59: end 60: return cached 61: end 62: 63: i0, s0 = index, [] 64: r1 = _nt_main_type 65: s0 << r1 66: if r1 67: if has_terminal?("/", false, index) 68: r2 = instantiate_node(SyntaxNode,input, index...(index + 1)) 69: @index += 1 70: else 71: terminal_parse_failure("/") 72: r2 = nil 73: end 74: s0 << r2 75: if r2 76: r3 = _nt_sub_type 77: s0 << r3 78: if r3 79: s4, i4 = [], index 80: loop do 81: i5, s5 = index, [] 82: r6 = _nt_CFWS 83: s5 << r6 84: if r6 85: if has_terminal?(";", false, index) 86: r8 = instantiate_node(SyntaxNode,input, index...(index + 1)) 87: @index += 1 88: else 89: terminal_parse_failure(";") 90: r8 = nil 91: end 92: if r8 93: r7 = r8 94: else 95: r7 = instantiate_node(SyntaxNode,input, index...index) 96: end 97: s5 << r7 98: if r7 99: r9 = _nt_parameter 100: s5 << r9 101: if r9 102: r10 = _nt_CFWS 103: s5 << r10 104: end 105: end 106: end 107: if s5.last 108: r5 = instantiate_node(SyntaxNode,input, i5...index, s5) 109: r5.extend(ContentType0) 110: else 111: @index = i5 112: r5 = nil 113: end 114: if r5 115: s4 << r5 116: else 117: break 118: end 119: end 120: r4 = instantiate_node(SyntaxNode,input, i4...index, s4) 121: s0 << r4 122: end 123: end 124: end 125: if s0.last 126: r0 = instantiate_node(SyntaxNode,input, i0...index, s0) 127: r0.extend(ContentType1) 128: r0.extend(ContentType2) 129: else 130: @index = i0 131: r0 = nil 132: end 133: 134: node_cache[:content_type][start_index] = r0 135: 136: r0 137: end
# File lib/mail/parsers/content_type.rb, line 184 184: def _nt_discrete_type 185: start_index = index 186: if node_cache[:discrete_type].has_key?(index) 187: cached = node_cache[:discrete_type][index] 188: if cached 189: cached = SyntaxNode.new(input, index...(index + 1)) if cached == true 190: @index = cached.interval.end 191: end 192: return cached 193: end 194: 195: i0 = index 196: i1, s1 = index, [] 197: if has_terminal?('\G[tT]', true, index) 198: r2 = true 199: @index += 1 200: else 201: r2 = nil 202: end 203: s1 << r2 204: if r2 205: if has_terminal?('\G[eE]', true, index) 206: r3 = true 207: @index += 1 208: else 209: r3 = nil 210: end 211: s1 << r3 212: if r3 213: if has_terminal?('\G[xX]', true, index) 214: r4 = true 215: @index += 1 216: else 217: r4 = nil 218: end 219: s1 << r4 220: if r4 221: if has_terminal?('\G[tT]', true, index) 222: r5 = true 223: @index += 1 224: else 225: r5 = nil 226: end 227: s1 << r5 228: end 229: end 230: end 231: if s1.last 232: r1 = instantiate_node(SyntaxNode,input, i1...index, s1) 233: r1.extend(DiscreteType0) 234: else 235: @index = i1 236: r1 = nil 237: end 238: if r1 239: r0 = r1 240: else 241: i6, s6 = index, [] 242: if has_terminal?('\G[iI]', true, index) 243: r7 = true 244: @index += 1 245: else 246: r7 = nil 247: end 248: s6 << r7 249: if r7 250: if has_terminal?('\G[mM]', true, index) 251: r8 = true 252: @index += 1 253: else 254: r8 = nil 255: end 256: s6 << r8 257: if r8 258: if has_terminal?('\G[aA]', true, index) 259: r9 = true 260: @index += 1 261: else 262: r9 = nil 263: end 264: s6 << r9 265: if r9 266: if has_terminal?('\G[gG]', true, index) 267: r10 = true 268: @index += 1 269: else 270: r10 = nil 271: end 272: s6 << r10 273: if r10 274: if has_terminal?('\G[eE]', true, index) 275: r11 = true 276: @index += 1 277: else 278: r11 = nil 279: end 280: s6 << r11 281: end 282: end 283: end 284: end 285: if s6.last 286: r6 = instantiate_node(SyntaxNode,input, i6...index, s6) 287: r6.extend(DiscreteType1) 288: else 289: @index = i6 290: r6 = nil 291: end 292: if r6 293: r0 = r6 294: else 295: i12, s12 = index, [] 296: if has_terminal?('\G[aA]', true, index) 297: r13 = true 298: @index += 1 299: else 300: r13 = nil 301: end 302: s12 << r13 303: if r13 304: if has_terminal?('\G[uU]', true, index) 305: r14 = true 306: @index += 1 307: else 308: r14 = nil 309: end 310: s12 << r14 311: if r14 312: if has_terminal?('\G[dD]', true, index) 313: r15 = true 314: @index += 1 315: else 316: r15 = nil 317: end 318: s12 << r15 319: if r15 320: if has_terminal?('\G[iI]', true, index) 321: r16 = true 322: @index += 1 323: else 324: r16 = nil 325: end 326: s12 << r16 327: if r16 328: if has_terminal?('\G[oO]', true, index) 329: r17 = true 330: @index += 1 331: else 332: r17 = nil 333: end 334: s12 << r17 335: end 336: end 337: end 338: end 339: if s12.last 340: r12 = instantiate_node(SyntaxNode,input, i12...index, s12) 341: r12.extend(DiscreteType2) 342: else 343: @index = i12 344: r12 = nil 345: end 346: if r12 347: r0 = r12 348: else 349: i18, s18 = index, [] 350: if has_terminal?('\G[vV]', true, index) 351: r19 = true 352: @index += 1 353: else 354: r19 = nil 355: end 356: s18 << r19 357: if r19 358: if has_terminal?('\G[iI]', true, index) 359: r20 = true 360: @index += 1 361: else 362: r20 = nil 363: end 364: s18 << r20 365: if r20 366: if has_terminal?('\G[dD]', true, index) 367: r21 = true 368: @index += 1 369: else 370: r21 = nil 371: end 372: s18 << r21 373: if r21 374: if has_terminal?('\G[eE]', true, index) 375: r22 = true 376: @index += 1 377: else 378: r22 = nil 379: end 380: s18 << r22 381: if r22 382: if has_terminal?('\G[oO]', true, index) 383: r23 = true 384: @index += 1 385: else 386: r23 = nil 387: end 388: s18 << r23 389: end 390: end 391: end 392: end 393: if s18.last 394: r18 = instantiate_node(SyntaxNode,input, i18...index, s18) 395: r18.extend(DiscreteType3) 396: else 397: @index = i18 398: r18 = nil 399: end 400: if r18 401: r0 = r18 402: else 403: i24, s24 = index, [] 404: if has_terminal?('\G[aA]', true, index) 405: r25 = true 406: @index += 1 407: else 408: r25 = nil 409: end 410: s24 << r25 411: if r25 412: if has_terminal?('\G[pP]', true, index) 413: r26 = true 414: @index += 1 415: else 416: r26 = nil 417: end 418: s24 << r26 419: if r26 420: if has_terminal?('\G[pP]', true, index) 421: r27 = true 422: @index += 1 423: else 424: r27 = nil 425: end 426: s24 << r27 427: if r27 428: if has_terminal?('\G[lL]', true, index) 429: r28 = true 430: @index += 1 431: else 432: r28 = nil 433: end 434: s24 << r28 435: if r28 436: if has_terminal?('\G[iI]', true, index) 437: r29 = true 438: @index += 1 439: else 440: r29 = nil 441: end 442: s24 << r29 443: if r29 444: if has_terminal?('\G[cC]', true, index) 445: r30 = true 446: @index += 1 447: else 448: r30 = nil 449: end 450: s24 << r30 451: if r30 452: if has_terminal?('\G[aA]', true, index) 453: r31 = true 454: @index += 1 455: else 456: r31 = nil 457: end 458: s24 << r31 459: if r31 460: if has_terminal?('\G[tT]', true, index) 461: r32 = true 462: @index += 1 463: else 464: r32 = nil 465: end 466: s24 << r32 467: if r32 468: if has_terminal?('\G[iI]', true, index) 469: r33 = true 470: @index += 1 471: else 472: r33 = nil 473: end 474: s24 << r33 475: if r33 476: if has_terminal?('\G[oO]', true, index) 477: r34 = true 478: @index += 1 479: else 480: r34 = nil 481: end 482: s24 << r34 483: if r34 484: if has_terminal?('\G[nN]', true, index) 485: r35 = true 486: @index += 1 487: else 488: r35 = nil 489: end 490: s24 << r35 491: end 492: end 493: end 494: end 495: end 496: end 497: end 498: end 499: end 500: end 501: if s24.last 502: r24 = instantiate_node(SyntaxNode,input, i24...index, s24) 503: r24.extend(DiscreteType4) 504: else 505: @index = i24 506: r24 = nil 507: end 508: if r24 509: r0 = r24 510: else 511: r36 = _nt_extension_token 512: if r36 513: r0 = r36 514: else 515: @index = i0 516: r0 = nil 517: end 518: end 519: end 520: end 521: end 522: end 523: 524: node_cache[:discrete_type][start_index] = r0 525: 526: r0 527: end
# File lib/mail/parsers/content_type.rb, line 724 724: def _nt_extension_token 725: start_index = index 726: if node_cache[:extension_token].has_key?(index) 727: cached = node_cache[:extension_token][index] 728: if cached 729: cached = SyntaxNode.new(input, index...(index + 1)) if cached == true 730: @index = cached.interval.end 731: end 732: return cached 733: end 734: 735: i0 = index 736: r1 = _nt_ietf_token 737: if r1 738: r0 = r1 739: else 740: r2 = _nt_custom_x_token 741: if r2 742: r0 = r2 743: else 744: @index = i0 745: r0 = nil 746: end 747: end 748: 749: node_cache[:extension_token][start_index] = r0 750: 751: r0 752: end
# File lib/mail/parsers/content_type.rb, line 139 139: def _nt_main_type 140: start_index = index 141: if node_cache[:main_type].has_key?(index) 142: cached = node_cache[:main_type][index] 143: if cached 144: cached = SyntaxNode.new(input, index...(index + 1)) if cached == true 145: @index = cached.interval.end 146: end 147: return cached 148: end 149: 150: i0 = index 151: r1 = _nt_discrete_type 152: if r1 153: r0 = r1 154: else 155: r2 = _nt_composite_type 156: if r2 157: r0 = r2 158: else 159: @index = i0 160: r0 = nil 161: end 162: end 163: 164: node_cache[:main_type][start_index] = r0 165: 166: r0 167: end
# File lib/mail/parsers/content_type.rb, line 801 801: def _nt_parameter 802: start_index = index 803: if node_cache[:parameter].has_key?(index) 804: cached = node_cache[:parameter][index] 805: if cached 806: cached = SyntaxNode.new(input, index...(index + 1)) if cached == true 807: @index = cached.interval.end 808: end 809: return cached 810: end 811: 812: i0, s0 = index, [] 813: r2 = _nt_CFWS 814: if r2 815: r1 = r2 816: else 817: r1 = instantiate_node(SyntaxNode,input, index...index) 818: end 819: s0 << r1 820: if r1 821: r3 = _nt_attribute 822: s0 << r3 823: if r3 824: if has_terminal?("=", false, index) 825: r4 = instantiate_node(SyntaxNode,input, index...(index + 1)) 826: @index += 1 827: else 828: terminal_parse_failure("=") 829: r4 = nil 830: end 831: s0 << r4 832: if r4 833: r5 = _nt_value 834: s0 << r5 835: if r5 836: r7 = _nt_CFWS 837: if r7 838: r6 = r7 839: else 840: r6 = instantiate_node(SyntaxNode,input, index...index) 841: end 842: s0 << r6 843: end 844: end 845: end 846: end 847: if s0.last 848: r0 = instantiate_node(SyntaxNode,input, i0...index, s0) 849: r0.extend(Parameter0) 850: r0.extend(Parameter1) 851: else 852: @index = i0 853: r0 = nil 854: end 855: 856: node_cache[:parameter][start_index] = r0 857: 858: r0 859: end
# File lib/mail/parsers/content_type.rb, line 754 754: def _nt_sub_type 755: start_index = index 756: if node_cache[:sub_type].has_key?(index) 757: cached = node_cache[:sub_type][index] 758: if cached 759: cached = SyntaxNode.new(input, index...(index + 1)) if cached == true 760: @index = cached.interval.end 761: end 762: return cached 763: end 764: 765: i0 = index 766: r1 = _nt_extension_token 767: if r1 768: r0 = r1 769: else 770: r2 = _nt_iana_token 771: if r2 772: r0 = r2 773: else 774: @index = i0 775: r0 = nil 776: end 777: end 778: 779: node_cache[:sub_type][start_index] = r0 780: 781: r0 782: end
# File lib/mail/parsers/content_type.rb, line 899 899: def _nt_value 900: start_index = index 901: if node_cache[:value].has_key?(index) 902: cached = node_cache[:value][index] 903: if cached 904: cached = SyntaxNode.new(input, index...(index + 1)) if cached == true 905: @index = cached.interval.end 906: end 907: return cached 908: end 909: 910: i0 = index 911: r1 = _nt_quoted_string 912: r1.extend(Value0) 913: if r1 914: r0 = r1 915: else 916: s2, i2 = [], index 917: loop do 918: i3 = index 919: r4 = _nt_token 920: if r4 921: r3 = r4 922: else 923: if has_terminal?('\G[\x3d]', true, index) 924: r5 = true 925: @index += 1 926: else 927: r5 = nil 928: end 929: if r5 930: r3 = r5 931: else 932: @index = i3 933: r3 = nil 934: end 935: end 936: if r3 937: s2 << r3 938: else 939: break 940: end 941: end 942: if s2.empty? 943: @index = i2 944: r2 = nil 945: else 946: r2 = instantiate_node(SyntaxNode,input, i2...index, s2) 947: end 948: if r2 949: r0 = r2 950: else 951: @index = i0 952: r0 = nil 953: end 954: end 955: 956: node_cache[:value][start_index] = r0 957: 958: r0 959: end
Disabled; run with --debug to generate this.
Generated with the Darkfish Rdoc Generator 1.1.6.