Racc::Parser
reduce 0 omitted
# File lib/nokogiri/css/generated_parser.rb, line 288 288: def _reduce_1(val, _values, result) 289: result = [val.first, val.last].flatten 290: 291: result 292: end
# File lib/nokogiri/css/generated_parser.rb, line 339 339: def _reduce_10(val, _values, result) 340: result = Node.new(:CONDITIONAL_SELECTOR, 341: [ 342: val.first, 343: Node.new(:COMBINATOR, [val[1], val.last]) 344: ] 345: ) 346: 347: result 348: end
# File lib/nokogiri/css/generated_parser.rb, line 350 350: def _reduce_11(val, _values, result) 351: result = Node.new(:CONDITIONAL_SELECTOR, val) 352: 353: result 354: end
reduce 12 omitted
# File lib/nokogiri/css/generated_parser.rb, line 358 358: def _reduce_13(val, _values, result) 359: result = Node.new(:CONDITIONAL_SELECTOR, val) 360: 361: result 362: end
# File lib/nokogiri/css/generated_parser.rb, line 364 364: def _reduce_14(val, _values, result) 365: result = Node.new(:CONDITIONAL_SELECTOR, val) 366: 367: result 368: end
# File lib/nokogiri/css/generated_parser.rb, line 370 370: def _reduce_15(val, _values, result) 371: result = Node.new(:CONDITIONAL_SELECTOR, 372: [ 373: Node.new(:ELEMENT_NAME, ['*']), 374: Node.new(:COMBINATOR, val) 375: ] 376: ) 377: 378: result 379: end
# File lib/nokogiri/css/generated_parser.rb, line 381 381: def _reduce_16(val, _values, result) 382: result = Node.new(:CONDITIONAL_SELECTOR, 383: [Node.new(:ELEMENT_NAME, ['*']), val.first] 384: ) 385: 386: result 387: end
# File lib/nokogiri/css/generated_parser.rb, line 389 389: def _reduce_17(val, _values, result) 390: result = Node.new(val[1], [val.first, val.last]) 391: 392: result 393: end
reduce 18 omitted
# File lib/nokogiri/css/generated_parser.rb, line 397 397: def _reduce_19(val, _values, result) 398: result = Node.new(:CLASS_CONDITION, [val[1]]) 399: result 400: end
# File lib/nokogiri/css/generated_parser.rb, line 294 294: def _reduce_2(val, _values, result) 295: result = val.flatten 296: result 297: end
# File lib/nokogiri/css/generated_parser.rb, line 402 402: def _reduce_20(val, _values, result) 403: result = Node.new(:ELEMENT_NAME, 404: [[val.first, val.last].compact.join(':')] 405: ) 406: 407: result 408: end
# File lib/nokogiri/css/generated_parser.rb, line 410 410: def _reduce_21(val, _values, result) 411: name = @namespaces.key?('xmlns') ? "xmlns:#{val.first}" : val.first 412: result = Node.new(:ELEMENT_NAME, [name]) 413: 414: result 415: end
# File lib/nokogiri/css/generated_parser.rb, line 417 417: def _reduce_22(val, _values, result) 418: result = Node.new(:ELEMENT_NAME, val) 419: result 420: end
# File lib/nokogiri/css/generated_parser.rb, line 422 422: def _reduce_23(val, _values, result) 423: result = val[0] 424: result 425: end
reduce 24 omitted
# File lib/nokogiri/css/generated_parser.rb, line 429 429: def _reduce_25(val, _values, result) 430: result = Node.new(:ATTRIBUTE_CONDITION, 431: [Node.new(:ELEMENT_NAME, [val[1]])] + (val[2] || []) 432: ) 433: 434: result 435: end
# File lib/nokogiri/css/generated_parser.rb, line 437 437: def _reduce_26(val, _values, result) 438: result = Node.new(:ATTRIBUTE_CONDITION, 439: [val[1]] + (val[2] || []) 440: ) 441: 442: result 443: end
# File lib/nokogiri/css/generated_parser.rb, line 445 445: def _reduce_27(val, _values, result) 446: # Non standard, but hpricot supports it. 447: result = Node.new(:PSEUDO_CLASS, 448: [Node.new(:FUNCTION, ['nth-child(', val[1]])] 449: ) 450: 451: result 452: end
# File lib/nokogiri/css/generated_parser.rb, line 454 454: def _reduce_28(val, _values, result) 455: result = Node.new(:FUNCTION, [val.first.strip]) 456: 457: result 458: end
# File lib/nokogiri/css/generated_parser.rb, line 460 460: def _reduce_29(val, _values, result) 461: result = Node.new(:FUNCTION, [val.first.strip, val[1]].flatten) 462: 463: result 464: end
# File lib/nokogiri/css/generated_parser.rb, line 299 299: def _reduce_3(val, _values, result) 300: result = :DIRECT_ADJACENT_SELECTOR 301: result 302: end
# File lib/nokogiri/css/generated_parser.rb, line 466 466: def _reduce_30(val, _values, result) 467: result = Node.new(:FUNCTION, [val.first.strip, val[1]].flatten) 468: 469: result 470: end
# File lib/nokogiri/css/generated_parser.rb, line 472 472: def _reduce_31(val, _values, result) 473: result = Node.new(:FUNCTION, [val.first.strip, val[1]].flatten) 474: 475: result 476: end
# File lib/nokogiri/css/generated_parser.rb, line 478 478: def _reduce_32(val, _values, result) 479: result = Node.new(:FUNCTION, [val.first.strip, val[1]].flatten) 480: 481: result 482: end
# File lib/nokogiri/css/generated_parser.rb, line 484 484: def _reduce_33(val, _values, result) 485: result = [val.first, val.last] 486: result 487: end
# File lib/nokogiri/css/generated_parser.rb, line 489 489: def _reduce_34(val, _values, result) 490: result = [val.first, val.last] 491: result 492: end
# File lib/nokogiri/css/generated_parser.rb, line 494 494: def _reduce_35(val, _values, result) 495: result = [val.first, val.last] 496: result 497: end
reduce 37 omitted
# File lib/nokogiri/css/generated_parser.rb, line 503 503: def _reduce_38(val, _values, result) 504: if val[0] == 'even' 505: val = ["2","n","+","0"] 506: result = Node.new(:AN_PLUS_B, val) 507: elsif val[0] == 'odd' 508: val = ["2","n","+","1"] 509: result = Node.new(:AN_PLUS_B, val) 510: else 511: # This is not CSS standard. It allows us to support this: 512: # assert_xpath("//a[foo(., @href)]", @parser.parse('a:foo(@href)')) 513: # assert_xpath("//a[foo(., @a, b)]", @parser.parse('a:foo(@a, b)')) 514: # assert_xpath("//a[foo(., a, 10)]", @parser.parse('a:foo(a, 10)')) 515: result = val 516: end 517: 518: result 519: end
# File lib/nokogiri/css/generated_parser.rb, line 521 521: def _reduce_39(val, _values, result) 522: if val[1] == 'n' 523: result = Node.new(:AN_PLUS_B, val) 524: else 525: raise Racc::ParseError, "parse error on IDENT '#{val[1]}'" 526: end 527: 528: result 529: end
# File lib/nokogiri/css/generated_parser.rb, line 304 304: def _reduce_4(val, _values, result) 305: result = :CHILD_SELECTOR 306: result 307: end
# File lib/nokogiri/css/generated_parser.rb, line 531 531: def _reduce_40(val, _values, result) 532: # n+3, -n+3 533: if val[0] == 'n' 534: val.unshift("1") 535: result = Node.new(:AN_PLUS_B, val) 536: elsif val[0] == '-n' 537: val[0] = 'n' 538: val.unshift("-1") 539: result = Node.new(:AN_PLUS_B, val) 540: else 541: raise Racc::ParseError, "parse error on IDENT '#{val[1]}'" 542: end 543: 544: result 545: end
# File lib/nokogiri/css/generated_parser.rb, line 547 547: def _reduce_41(val, _values, result) 548: if val[1] == 'n' 549: val << "+" 550: val << "0" 551: result = Node.new(:AN_PLUS_B, val) 552: else 553: raise Racc::ParseError, "parse error on IDENT '#{val[1]}'" 554: end 555: 556: result 557: end
# File lib/nokogiri/css/generated_parser.rb, line 559 559: def _reduce_42(val, _values, result) 560: result = Node.new(:PSEUDO_CLASS, [val[1]]) 561: 562: result 563: end
# File lib/nokogiri/css/generated_parser.rb, line 565 565: def _reduce_43(val, _values, result) 566: result = Node.new(:PSEUDO_CLASS, [val[1]]) 567: result 568: end
reduce 45 omitted
# File lib/nokogiri/css/generated_parser.rb, line 574 574: def _reduce_46(val, _values, result) 575: result = Node.new(:COMBINATOR, val) 576: 577: result 578: end
# File lib/nokogiri/css/generated_parser.rb, line 580 580: def _reduce_47(val, _values, result) 581: result = Node.new(:COMBINATOR, val) 582: 583: result 584: end
# File lib/nokogiri/css/generated_parser.rb, line 586 586: def _reduce_48(val, _values, result) 587: result = Node.new(:COMBINATOR, val) 588: 589: result 590: end
# File lib/nokogiri/css/generated_parser.rb, line 592 592: def _reduce_49(val, _values, result) 593: result = Node.new(:COMBINATOR, val) 594: 595: result 596: end
# File lib/nokogiri/css/generated_parser.rb, line 309 309: def _reduce_5(val, _values, result) 310: result = :PRECEDING_SELECTOR 311: result 312: end
reduce 53 omitted
# File lib/nokogiri/css/generated_parser.rb, line 606 606: def _reduce_54(val, _values, result) 607: result = Node.new(:ID, val) 608: result 609: end
# File lib/nokogiri/css/generated_parser.rb, line 611 611: def _reduce_55(val, _values, result) 612: result = [val.first, val[1]] 613: result 614: end
# File lib/nokogiri/css/generated_parser.rb, line 616 616: def _reduce_56(val, _values, result) 617: result = [val.first, val[1]] 618: result 619: end
reduce 57 omitted
# File lib/nokogiri/css/generated_parser.rb, line 623 623: def _reduce_58(val, _values, result) 624: result = :equal 625: result 626: end
# File lib/nokogiri/css/generated_parser.rb, line 628 628: def _reduce_59(val, _values, result) 629: result = :prefix_match 630: result 631: end
# File lib/nokogiri/css/generated_parser.rb, line 314 314: def _reduce_6(val, _values, result) 315: result = :DESCENDANT_SELECTOR 316: result 317: end
# File lib/nokogiri/css/generated_parser.rb, line 633 633: def _reduce_60(val, _values, result) 634: result = :suffix_match 635: result 636: end
# File lib/nokogiri/css/generated_parser.rb, line 638 638: def _reduce_61(val, _values, result) 639: result = :substring_match 640: result 641: end
# File lib/nokogiri/css/generated_parser.rb, line 643 643: def _reduce_62(val, _values, result) 644: result = :not_equal 645: result 646: end
# File lib/nokogiri/css/generated_parser.rb, line 648 648: def _reduce_63(val, _values, result) 649: result = :includes 650: result 651: end
# File lib/nokogiri/css/generated_parser.rb, line 653 653: def _reduce_64(val, _values, result) 654: result = :dash_match 655: result 656: end
# File lib/nokogiri/css/generated_parser.rb, line 658 658: def _reduce_65(val, _values, result) 659: result = Node.new(:NOT, [val[1]]) 660: 661: result 662: end
# File lib/nokogiri/css/generated_parser.rb, line 319 319: def _reduce_7(val, _values, result) 320: result = :DESCENDANT_SELECTOR 321: result 322: end
# File lib/nokogiri/css/generated_parser.rb, line 324 324: def _reduce_8(val, _values, result) 325: result = :CHILD_SELECTOR 326: result 327: end
Disabled; run with --debug to generate this.
Generated with the Darkfish Rdoc Generator 1.1.6.