# File lib/mail/parsers/content_type.rb, line 433 433: def _nt_attribute 434: start_index = index 435: if node_cache[:attribute].has_key?(index) 436: cached = node_cache[:attribute][index] 437: if cached 438: cached = SyntaxNode.new(input, index...(index + 1)) if cached == true 439: @index = cached.interval.end 440: end 441: return cached 442: end 443: 444: s0, i0 = [], index 445: loop do 446: r1 = _nt_token 447: if r1 448: s0 << r1 449: else 450: break 451: end 452: end 453: if s0.empty? 454: @index = i0 455: r0 = nil 456: else 457: r0 = instantiate_node(SyntaxNode,input, i0...index, s0) 458: end 459: 460: node_cache[:attribute][start_index] = r0 461: 462: r0 463: end
# File lib/mail/parsers/content_type.rb, line 249 249: def _nt_composite_type 250: start_index = index 251: if node_cache[:composite_type].has_key?(index) 252: cached = node_cache[:composite_type][index] 253: if cached 254: cached = SyntaxNode.new(input, index...(index + 1)) if cached == true 255: @index = cached.interval.end 256: end 257: return cached 258: end 259: 260: i0 = index 261: if has_terminal?("message", false, index) 262: r1 = instantiate_node(SyntaxNode,input, index...(index + 7)) 263: @index += 7 264: else 265: terminal_parse_failure("message") 266: r1 = nil 267: end 268: if r1 269: r0 = r1 270: else 271: if has_terminal?("multipart", false, index) 272: r2 = instantiate_node(SyntaxNode,input, index...(index + 9)) 273: @index += 9 274: else 275: terminal_parse_failure("multipart") 276: r2 = nil 277: end 278: if r2 279: r0 = r2 280: else 281: r3 = _nt_extension_token 282: if r3 283: r0 = r3 284: else 285: @index = i0 286: r0 = nil 287: end 288: end 289: end 290: 291: node_cache[:composite_type][start_index] = r0 292: 293: r0 294: 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 169 169: def _nt_discrete_type 170: start_index = index 171: if node_cache[:discrete_type].has_key?(index) 172: cached = node_cache[:discrete_type][index] 173: if cached 174: cached = SyntaxNode.new(input, index...(index + 1)) if cached == true 175: @index = cached.interval.end 176: end 177: return cached 178: end 179: 180: i0 = index 181: if has_terminal?("text", false, index) 182: r1 = instantiate_node(SyntaxNode,input, index...(index + 4)) 183: @index += 4 184: else 185: terminal_parse_failure("text") 186: r1 = nil 187: end 188: if r1 189: r0 = r1 190: else 191: if has_terminal?("image", false, index) 192: r2 = instantiate_node(SyntaxNode,input, index...(index + 5)) 193: @index += 5 194: else 195: terminal_parse_failure("image") 196: r2 = nil 197: end 198: if r2 199: r0 = r2 200: else 201: if has_terminal?("audio", false, index) 202: r3 = instantiate_node(SyntaxNode,input, index...(index + 5)) 203: @index += 5 204: else 205: terminal_parse_failure("audio") 206: r3 = nil 207: end 208: if r3 209: r0 = r3 210: else 211: if has_terminal?("video", false, index) 212: r4 = instantiate_node(SyntaxNode,input, index...(index + 5)) 213: @index += 5 214: else 215: terminal_parse_failure("video") 216: r4 = nil 217: end 218: if r4 219: r0 = r4 220: else 221: if has_terminal?("application", false, index) 222: r5 = instantiate_node(SyntaxNode,input, index...(index + 11)) 223: @index += 11 224: else 225: terminal_parse_failure("application") 226: r5 = nil 227: end 228: if r5 229: r0 = r5 230: else 231: r6 = _nt_extension_token 232: if r6 233: r0 = r6 234: else 235: @index = i0 236: r0 = nil 237: end 238: end 239: end 240: end 241: end 242: end 243: 244: node_cache[:discrete_type][start_index] = r0 245: 246: r0 247: end
# File lib/mail/parsers/content_type.rb, line 296 296: def _nt_extension_token 297: start_index = index 298: if node_cache[:extension_token].has_key?(index) 299: cached = node_cache[:extension_token][index] 300: if cached 301: cached = SyntaxNode.new(input, index...(index + 1)) if cached == true 302: @index = cached.interval.end 303: end 304: return cached 305: end 306: 307: i0 = index 308: r1 = _nt_ietf_token 309: if r1 310: r0 = r1 311: else 312: r2 = _nt_custom_x_token 313: if r2 314: r0 = r2 315: else 316: @index = i0 317: r0 = nil 318: end 319: end 320: 321: node_cache[:extension_token][start_index] = r0 322: 323: r0 324: 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 373 373: def _nt_parameter 374: start_index = index 375: if node_cache[:parameter].has_key?(index) 376: cached = node_cache[:parameter][index] 377: if cached 378: cached = SyntaxNode.new(input, index...(index + 1)) if cached == true 379: @index = cached.interval.end 380: end 381: return cached 382: end 383: 384: i0, s0 = index, [] 385: r2 = _nt_CFWS 386: if r2 387: r1 = r2 388: else 389: r1 = instantiate_node(SyntaxNode,input, index...index) 390: end 391: s0 << r1 392: if r1 393: r3 = _nt_attribute 394: s0 << r3 395: if r3 396: if has_terminal?("=", false, index) 397: r4 = instantiate_node(SyntaxNode,input, index...(index + 1)) 398: @index += 1 399: else 400: terminal_parse_failure("=") 401: r4 = nil 402: end 403: s0 << r4 404: if r4 405: r5 = _nt_value 406: s0 << r5 407: if r5 408: r7 = _nt_CFWS 409: if r7 410: r6 = r7 411: else 412: r6 = instantiate_node(SyntaxNode,input, index...index) 413: end 414: s0 << r6 415: end 416: end 417: end 418: end 419: if s0.last 420: r0 = instantiate_node(SyntaxNode,input, i0...index, s0) 421: r0.extend(Parameter0) 422: r0.extend(Parameter1) 423: else 424: @index = i0 425: r0 = nil 426: end 427: 428: node_cache[:parameter][start_index] = r0 429: 430: r0 431: end
# File lib/mail/parsers/content_type.rb, line 326 326: def _nt_sub_type 327: start_index = index 328: if node_cache[:sub_type].has_key?(index) 329: cached = node_cache[:sub_type][index] 330: if cached 331: cached = SyntaxNode.new(input, index...(index + 1)) if cached == true 332: @index = cached.interval.end 333: end 334: return cached 335: end 336: 337: i0 = index 338: r1 = _nt_extension_token 339: if r1 340: r0 = r1 341: else 342: r2 = _nt_iana_token 343: if r2 344: r0 = r2 345: else 346: @index = i0 347: r0 = nil 348: end 349: end 350: 351: node_cache[:sub_type][start_index] = r0 352: 353: r0 354: end
# File lib/mail/parsers/content_type.rb, line 471 471: def _nt_value 472: start_index = index 473: if node_cache[:value].has_key?(index) 474: cached = node_cache[:value][index] 475: if cached 476: cached = SyntaxNode.new(input, index...(index + 1)) if cached == true 477: @index = cached.interval.end 478: end 479: return cached 480: end 481: 482: i0 = index 483: r1 = _nt_quoted_string 484: r1.extend(Value0) 485: if r1 486: r0 = r1 487: else 488: s2, i2 = [], index 489: loop do 490: i3 = index 491: r4 = _nt_token 492: if r4 493: r3 = r4 494: else 495: if has_terminal?('\G[\x3d]', true, index) 496: r5 = true 497: @index += 1 498: else 499: r5 = nil 500: end 501: if r5 502: r3 = r5 503: else 504: @index = i3 505: r3 = nil 506: end 507: end 508: if r3 509: s2 << r3 510: else 511: break 512: end 513: end 514: if s2.empty? 515: @index = i2 516: r2 = nil 517: else 518: r2 = instantiate_node(SyntaxNode,input, i2...index, s2) 519: end 520: if r2 521: r0 = r2 522: else 523: @index = i0 524: r0 = nil 525: end 526: end 527: 528: node_cache[:value][start_index] = r0 529: 530: r0 531: end
Disabled; run with --debug to generate this.
Generated with the Darkfish Rdoc Generator 1.1.6.