aboutsummaryrefslogtreecommitdiffstats
path: root/test/racc/regress/nokogiri-css
diff options
context:
space:
mode:
Diffstat (limited to 'test/racc/regress/nokogiri-css')
-rw-r--r--test/racc/regress/nokogiri-css836
1 files changed, 836 insertions, 0 deletions
diff --git a/test/racc/regress/nokogiri-css b/test/racc/regress/nokogiri-css
new file mode 100644
index 0000000000..502914f197
--- /dev/null
+++ b/test/racc/regress/nokogiri-css
@@ -0,0 +1,836 @@
+#
+# DO NOT MODIFY!!!!
+# This file is automatically generated by Racc 1.4.14
+# from Racc grammer file "".
+#
+
+require 'racc/parser.rb'
+
+
+require 'nokogiri/css/parser_extras'
+module Nokogiri
+ module CSS
+ class Parser < Racc::Parser
+##### State transition tables begin ###
+
+racc_action_table = [
+ 24, 93, 56, 57, 33, 55, 94, 23, 24, 22,
+ 12, 93, 33, 27, 89, 52, 92, 22, -23, 25,
+ 108, 98, 23, 33, 26, 18, 20, 25, 27, -23,
+ 23, 24, 26, 18, 20, 33, 27, 11, 39, 24,
+ 22, 23, 95, 33, 18, 101, 100, 27, 22, 12,
+ 25, 91, 90, 23, 33, 26, 18, 20, 25, 27,
+ 90, 23, 24, 26, 18, 20, 33, 27, 96, 39,
+ -23, 22, 23, 74, 24, 18, 33, 99, 27, 56,
+ 87, 25, 60, 46, 23, 49, 26, 18, 20, 102,
+ 27, 39, 24, 51, 23, 103, 93, 18, 26, 33,
+ 27, 66, 44, 56, 58, 105, 60, 33, 35, 33,
+ 109, 51, 56, 87, 39, 60, 26, 23, 85, 33,
+ 18, 20, 39, 27, 39, 23, 45, 23, 18, 33,
+ 18, 27, 86, 27, 39, 88, 33, 23, nil, nil,
+ 18, 22, nil, 27, 39, 56, 87, 23, 60, nil,
+ 18, 39, nil, 27, 23, 82, 83, 18, 20, nil,
+ 27, nil, nil, nil, 82, 83, 78, 79, 80, nil,
+ 81, nil, nil, nil, 77, 78, 79, 80, nil, 81,
+ 4, 5, 43, 77, 4, 5, 10, nil, 56, 87,
+ 6, 60, 8, 7, 6, nil, 8, 7, 4, 5,
+ 10, nil, nil, nil, nil, nil, nil, nil, 6, nil,
+ 8, 7 ]
+
+racc_action_check = [
+ 3, 58, 24, 24, 3, 24, 57, 15, 42, 3,
+ 64, 57, 42, 15, 54, 24, 56, 42, 58, 3,
+ 94, 64, 3, 31, 3, 3, 3, 42, 3, 22,
+ 42, 9, 42, 42, 42, 9, 42, 1, 31, 43,
+ 9, 31, 59, 43, 31, 76, 76, 31, 43, 1,
+ 9, 55, 55, 9, 30, 9, 9, 9, 43, 9,
+ 60, 43, 12, 43, 43, 43, 12, 43, 61, 30,
+ 46, 12, 30, 45, 23, 30, 29, 75, 30, 93,
+ 93, 12, 93, 23, 12, 23, 12, 12, 12, 84,
+ 12, 29, 27, 23, 29, 86, 87, 29, 23, 25,
+ 29, 27, 18, 25, 25, 91, 25, 28, 11, 62,
+ 105, 27, 51, 51, 25, 51, 27, 25, 49, 14,
+ 25, 25, 28, 25, 62, 28, 21, 62, 28, 32,
+ 62, 28, 50, 62, 14, 53, 39, 14, nil, nil,
+ 14, 39, nil, 14, 32, 90, 90, 32, 90, nil,
+ 32, 39, nil, 32, 39, 47, 47, 39, 39, nil,
+ 39, nil, nil, nil, 48, 48, 47, 47, 47, nil,
+ 47, nil, nil, nil, 47, 48, 48, 48, nil, 48,
+ 17, 17, 17, 48, 0, 0, 0, nil, 92, 92,
+ 17, 92, 17, 17, 0, nil, 0, 0, 26, 26,
+ 26, nil, nil, nil, nil, nil, nil, nil, 26, nil,
+ 26, 26 ]
+
+racc_action_pointer = [
+ 177, 37, nil, -2, nil, nil, nil, nil, nil, 29,
+ nil, 108, 60, nil, 113, -17, nil, 173, 91, nil,
+ nil, 97, 0, 72, -8, 93, 191, 90, 101, 70,
+ 48, 17, 123, nil, nil, nil, nil, nil, nil, 130,
+ nil, nil, 6, 37, nil, 62, 41, 152, 161, 93,
+ 103, 102, nil, 112, -9, 40, 4, -1, -11, 19,
+ 48, 45, 103, nil, -2, nil, nil, nil, nil, nil,
+ nil, nil, nil, nil, nil, 52, 35, nil, nil, nil,
+ nil, nil, nil, nil, 64, nil, 84, 84, nil, nil,
+ 135, 98, 178, 69, 7, nil, nil, nil, nil, nil,
+ nil, nil, nil, nil, nil, 97, nil, nil, nil, nil ]
+
+racc_action_default = [
+ -74, -75, -2, -24, -4, -5, -6, -7, -8, -24,
+ -73, -75, -24, -3, -47, -10, -13, -17, -75, -19,
+ -20, -75, -22, -24, -75, -24, -74, -75, -53, -54,
+ -55, -56, -57, -58, -14, 110, -1, -9, -46, -24,
+ -11, -12, -24, -24, -18, -75, -29, -61, -61, -75,
+ -75, -75, -30, -75, -75, -38, -39, -40, -22, -75,
+ -38, -75, -70, -72, -75, -44, -45, -48, -49, -50,
+ -51, -52, -15, -16, -21, -75, -75, -62, -63, -64,
+ -65, -66, -67, -68, -75, -27, -75, -40, -31, -32,
+ -75, -43, -75, -75, -75, -33, -69, -71, -34, -25,
+ -59, -60, -26, -28, -35, -75, -36, -37, -42, -41 ]
+
+racc_goto_table = [
+ 53, 38, 13, 1, 54, 48, 62, 42, 34, 65,
+ 37, 36, 63, 75, 84, 67, 68, 69, 70, 71,
+ 62, 40, 41, 50, 47, nil, 63, nil, nil, 64,
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
+ nil, 72, 73, nil, nil, nil, nil, nil, nil, 97,
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
+ nil, nil, nil, nil, nil, nil, 104, nil, 106, 107 ]
+
+racc_goto_check = [
+ 18, 12, 2, 1, 19, 9, 7, 5, 2, 9,
+ 8, 2, 12, 17, 17, 12, 12, 12, 12, 12,
+ 7, 10, 11, 15, 16, nil, 12, nil, nil, 1,
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
+ nil, 2, 2, nil, nil, nil, nil, nil, nil, 12,
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
+ nil, nil, nil, nil, nil, nil, 18, nil, 18, 18 ]
+
+racc_goto_pointer = [
+ nil, 3, -1, nil, nil, -10, nil, -19, -4, -18,
+ 6, 7, -13, nil, nil, 0, 1, -34, -24, -20,
+ nil, nil, nil, nil ]
+
+racc_goto_default = [
+ nil, nil, nil, 2, 3, 9, 17, 14, nil, 15,
+ 31, 30, 16, 29, 19, 21, nil, nil, 59, nil,
+ 28, 32, 76, 61 ]
+
+racc_reduce_table = [
+ 0, 0, :racc_error,
+ 3, 32, :_reduce_1,
+ 1, 32, :_reduce_2,
+ 2, 32, :_reduce_3,
+ 1, 36, :_reduce_4,
+ 1, 36, :_reduce_5,
+ 1, 36, :_reduce_6,
+ 1, 36, :_reduce_7,
+ 1, 36, :_reduce_8,
+ 2, 37, :_reduce_9,
+ 1, 37, :_reduce_none,
+ 2, 37, :_reduce_11,
+ 2, 37, :_reduce_12,
+ 1, 37, :_reduce_13,
+ 2, 34, :_reduce_14,
+ 3, 33, :_reduce_15,
+ 3, 33, :_reduce_16,
+ 1, 33, :_reduce_none,
+ 2, 44, :_reduce_18,
+ 1, 38, :_reduce_none,
+ 1, 38, :_reduce_20,
+ 3, 45, :_reduce_21,
+ 1, 45, :_reduce_22,
+ 1, 46, :_reduce_23,
+ 0, 46, :_reduce_none,
+ 4, 42, :_reduce_25,
+ 4, 42, :_reduce_26,
+ 3, 42, :_reduce_27,
+ 3, 47, :_reduce_28,
+ 1, 47, :_reduce_29,
+ 2, 40, :_reduce_30,
+ 3, 40, :_reduce_31,
+ 3, 40, :_reduce_32,
+ 3, 40, :_reduce_33,
+ 3, 40, :_reduce_34,
+ 3, 49, :_reduce_35,
+ 3, 49, :_reduce_36,
+ 3, 49, :_reduce_37,
+ 1, 49, :_reduce_none,
+ 1, 49, :_reduce_none,
+ 1, 49, :_reduce_40,
+ 4, 50, :_reduce_41,
+ 3, 50, :_reduce_42,
+ 2, 50, :_reduce_43,
+ 2, 41, :_reduce_44,
+ 2, 41, :_reduce_45,
+ 1, 39, :_reduce_none,
+ 0, 39, :_reduce_none,
+ 2, 43, :_reduce_48,
+ 2, 43, :_reduce_49,
+ 2, 43, :_reduce_50,
+ 2, 43, :_reduce_51,
+ 2, 43, :_reduce_52,
+ 1, 43, :_reduce_none,
+ 1, 43, :_reduce_none,
+ 1, 43, :_reduce_none,
+ 1, 43, :_reduce_none,
+ 1, 43, :_reduce_none,
+ 1, 51, :_reduce_58,
+ 2, 48, :_reduce_59,
+ 2, 48, :_reduce_60,
+ 0, 48, :_reduce_none,
+ 1, 53, :_reduce_62,
+ 1, 53, :_reduce_63,
+ 1, 53, :_reduce_64,
+ 1, 53, :_reduce_65,
+ 1, 53, :_reduce_66,
+ 1, 53, :_reduce_67,
+ 1, 53, :_reduce_68,
+ 3, 52, :_reduce_69,
+ 1, 54, :_reduce_none,
+ 2, 54, :_reduce_none,
+ 1, 54, :_reduce_none,
+ 1, 35, :_reduce_none,
+ 0, 35, :_reduce_none ]
+
+racc_reduce_n = 75
+
+racc_shift_n = 110
+
+racc_token_table = {
+ false => 0,
+ :error => 1,
+ :FUNCTION => 2,
+ :INCLUDES => 3,
+ :DASHMATCH => 4,
+ :LBRACE => 5,
+ :HASH => 6,
+ :PLUS => 7,
+ :GREATER => 8,
+ :S => 9,
+ :STRING => 10,
+ :IDENT => 11,
+ :COMMA => 12,
+ :NUMBER => 13,
+ :PREFIXMATCH => 14,
+ :SUFFIXMATCH => 15,
+ :SUBSTRINGMATCH => 16,
+ :TILDE => 17,
+ :NOT_EQUAL => 18,
+ :SLASH => 19,
+ :DOUBLESLASH => 20,
+ :NOT => 21,
+ :EQUAL => 22,
+ :RPAREN => 23,
+ :LSQUARE => 24,
+ :RSQUARE => 25,
+ :HAS => 26,
+ "." => 27,
+ "*" => 28,
+ "|" => 29,
+ ":" => 30 }
+
+racc_nt_base = 31
+
+racc_use_result_var = true
+
+Racc_arg = [
+ racc_action_table,
+ racc_action_check,
+ racc_action_default,
+ racc_action_pointer,
+ racc_goto_table,
+ racc_goto_check,
+ racc_goto_default,
+ racc_goto_pointer,
+ racc_nt_base,
+ racc_reduce_table,
+ racc_token_table,
+ racc_shift_n,
+ racc_reduce_n,
+ racc_use_result_var ]
+
+Racc_token_to_s_table = [
+ "$end",
+ "error",
+ "FUNCTION",
+ "INCLUDES",
+ "DASHMATCH",
+ "LBRACE",
+ "HASH",
+ "PLUS",
+ "GREATER",
+ "S",
+ "STRING",
+ "IDENT",
+ "COMMA",
+ "NUMBER",
+ "PREFIXMATCH",
+ "SUFFIXMATCH",
+ "SUBSTRINGMATCH",
+ "TILDE",
+ "NOT_EQUAL",
+ "SLASH",
+ "DOUBLESLASH",
+ "NOT",
+ "EQUAL",
+ "RPAREN",
+ "LSQUARE",
+ "RSQUARE",
+ "HAS",
+ "\".\"",
+ "\"*\"",
+ "\"|\"",
+ "\":\"",
+ "$start",
+ "selector",
+ "simple_selector_1toN",
+ "prefixless_combinator_selector",
+ "optional_S",
+ "combinator",
+ "simple_selector",
+ "element_name",
+ "hcap_0toN",
+ "function",
+ "pseudo",
+ "attrib",
+ "hcap_1toN",
+ "class",
+ "namespaced_ident",
+ "namespace",
+ "attrib_name",
+ "attrib_val_0or1",
+ "expr",
+ "nth",
+ "attribute_id",
+ "negation",
+ "eql_incl_dash",
+ "negation_arg" ]
+
+Racc_debug_parser = false
+
+##### State transition tables end #####
+
+# reduce 0 omitted
+
+module_eval(<<'.,.,', 'nokogiri-css.y', 9)
+ def _reduce_1(val, _values, result)
+ result = [val.first, val.last].flatten
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'nokogiri-css.y', 11)
+ def _reduce_2(val, _values, result)
+ result = val.flatten
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'nokogiri-css.y', 12)
+ def _reduce_3(val, _values, result)
+ result = [val.last].flatten
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'nokogiri-css.y', 15)
+ def _reduce_4(val, _values, result)
+ result = :DIRECT_ADJACENT_SELECTOR
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'nokogiri-css.y', 16)
+ def _reduce_5(val, _values, result)
+ result = :CHILD_SELECTOR
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'nokogiri-css.y', 17)
+ def _reduce_6(val, _values, result)
+ result = :FOLLOWING_SELECTOR
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'nokogiri-css.y', 18)
+ def _reduce_7(val, _values, result)
+ result = :DESCENDANT_SELECTOR
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'nokogiri-css.y', 19)
+ def _reduce_8(val, _values, result)
+ result = :CHILD_SELECTOR
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'nokogiri-css.y', 23)
+ def _reduce_9(val, _values, result)
+ result = if val[1].nil?
+ val.first
+ else
+ Node.new(:CONDITIONAL_SELECTOR, [val.first, val[1]])
+ end
+
+ result
+ end
+.,.,
+
+# reduce 10 omitted
+
+module_eval(<<'.,.,', 'nokogiri-css.y', 31)
+ def _reduce_11(val, _values, result)
+ result = Node.new(:CONDITIONAL_SELECTOR, val)
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'nokogiri-css.y', 34)
+ def _reduce_12(val, _values, result)
+ result = Node.new(:CONDITIONAL_SELECTOR, val)
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'nokogiri-css.y', 37)
+ def _reduce_13(val, _values, result)
+ result = Node.new(:CONDITIONAL_SELECTOR,
+ [Node.new(:ELEMENT_NAME, ['*']), val.first]
+ )
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'nokogiri-css.y', 44)
+ def _reduce_14(val, _values, result)
+ result = Node.new(val.first, [nil, val.last])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'nokogiri-css.y', 49)
+ def _reduce_15(val, _values, result)
+ result = Node.new(val[1], [val.first, val.last])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'nokogiri-css.y', 52)
+ def _reduce_16(val, _values, result)
+ result = Node.new(:DESCENDANT_SELECTOR, [val.first, val.last])
+
+ result
+ end
+.,.,
+
+# reduce 17 omitted
+
+module_eval(<<'.,.,', 'nokogiri-css.y', 57)
+ def _reduce_18(val, _values, result)
+ result = Node.new(:CLASS_CONDITION, [val[1]])
+ result
+ end
+.,.,
+
+# reduce 19 omitted
+
+module_eval(<<'.,.,', 'nokogiri-css.y', 61)
+ def _reduce_20(val, _values, result)
+ result = Node.new(:ELEMENT_NAME, val)
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'nokogiri-css.y', 65)
+ def _reduce_21(val, _values, result)
+ result = Node.new(:ELEMENT_NAME,
+ [[val.first, val.last].compact.join(':')]
+ )
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'nokogiri-css.y', 70)
+ def _reduce_22(val, _values, result)
+ name = @namespaces.key?('xmlns') ? "xmlns:#{val.first}" : val.first
+ result = Node.new(:ELEMENT_NAME, [name])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'nokogiri-css.y', 75)
+ def _reduce_23(val, _values, result)
+ result = val[0]
+ result
+ end
+.,.,
+
+# reduce 24 omitted
+
+module_eval(<<'.,.,', 'nokogiri-css.y', 80)
+ def _reduce_25(val, _values, result)
+ result = Node.new(:ATTRIBUTE_CONDITION,
+ [val[1]] + (val[2] || [])
+ )
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'nokogiri-css.y', 85)
+ def _reduce_26(val, _values, result)
+ result = Node.new(:ATTRIBUTE_CONDITION,
+ [val[1]] + (val[2] || [])
+ )
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'nokogiri-css.y', 90)
+ def _reduce_27(val, _values, result)
+ # Non standard, but hpricot supports it.
+ result = Node.new(:PSEUDO_CLASS,
+ [Node.new(:FUNCTION, ['nth-child(', val[1]])]
+ )
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'nokogiri-css.y', 98)
+ def _reduce_28(val, _values, result)
+ result = Node.new(:ELEMENT_NAME,
+ [[val.first, val.last].compact.join(':')]
+ )
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'nokogiri-css.y', 103)
+ def _reduce_29(val, _values, result)
+ # Default namespace is not applied to attributes.
+ # So we don't add prefix "xmlns:" as in namespaced_ident.
+ result = Node.new(:ELEMENT_NAME, [val.first])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'nokogiri-css.y', 110)
+ def _reduce_30(val, _values, result)
+ result = Node.new(:FUNCTION, [val.first.strip])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'nokogiri-css.y', 113)
+ def _reduce_31(val, _values, result)
+ result = Node.new(:FUNCTION, [val.first.strip, val[1]].flatten)
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'nokogiri-css.y', 116)
+ def _reduce_32(val, _values, result)
+ result = Node.new(:FUNCTION, [val.first.strip, val[1]].flatten)
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'nokogiri-css.y', 119)
+ def _reduce_33(val, _values, result)
+ result = Node.new(:FUNCTION, [val.first.strip, val[1]].flatten)
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'nokogiri-css.y', 122)
+ def _reduce_34(val, _values, result)
+ result = Node.new(:FUNCTION, [val.first.strip, val[1]].flatten)
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'nokogiri-css.y', 126)
+ def _reduce_35(val, _values, result)
+ result = [val.first, val.last]
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'nokogiri-css.y', 127)
+ def _reduce_36(val, _values, result)
+ result = [val.first, val.last]
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'nokogiri-css.y', 128)
+ def _reduce_37(val, _values, result)
+ result = [val.first, val.last]
+ result
+ end
+.,.,
+
+# reduce 38 omitted
+
+# reduce 39 omitted
+
+module_eval(<<'.,.,', 'nokogiri-css.y', 133)
+ def _reduce_40(val, _values, result)
+ case val[0]
+ when 'even'
+ result = Node.new(:NTH, ['2','n','+','0'])
+ when 'odd'
+ result = Node.new(:NTH, ['2','n','+','1'])
+ when 'n'
+ result = Node.new(:NTH, ['1','n','+','0'])
+ else
+ # This is not CSS standard. It allows us to support this:
+ # assert_xpath("//a[foo(., @href)]", @parser.parse('a:foo(@href)'))
+ # assert_xpath("//a[foo(., @a, b)]", @parser.parse('a:foo(@a, b)'))
+ # assert_xpath("//a[foo(., a, 10)]", @parser.parse('a:foo(a, 10)'))
+ result = val
+ end
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'nokogiri-css.y', 152)
+ def _reduce_41(val, _values, result)
+ if val[1] == 'n'
+ result = Node.new(:NTH, val)
+ else
+ raise Racc::ParseError, "parse error on IDENT '#{val[1]}'"
+ end
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'nokogiri-css.y', 158)
+ def _reduce_42(val, _values, result)
+ # n+3, -n+3
+ if val[0] == 'n'
+ val.unshift("1")
+ result = Node.new(:NTH, val)
+ elsif val[0] == '-n'
+ val[0] = 'n'
+ val.unshift("-1")
+ result = Node.new(:NTH, val)
+ else
+ raise Racc::ParseError, "parse error on IDENT '#{val[1]}'"
+ end
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'nokogiri-css.y', 170)
+ def _reduce_43(val, _values, result)
+ # 5n, -5n, 10n-1
+ n = val[1]
+ if n[0, 2] == 'n-'
+ val[1] = 'n'
+ val << "-"
+ # b is contained in n as n is the string "n-b"
+ val << n[2, n.size]
+ result = Node.new(:NTH, val)
+ elsif n == 'n'
+ val << "+"
+ val << "0"
+ result = Node.new(:NTH, val)
+ else
+ raise Racc::ParseError, "parse error on IDENT '#{val[1]}'"
+ end
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'nokogiri-css.y', 189)
+ def _reduce_44(val, _values, result)
+ result = Node.new(:PSEUDO_CLASS, [val[1]])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'nokogiri-css.y', 191)
+ def _reduce_45(val, _values, result)
+ result = Node.new(:PSEUDO_CLASS, [val[1]])
+ result
+ end
+.,.,
+
+# reduce 46 omitted
+
+# reduce 47 omitted
+
+module_eval(<<'.,.,', 'nokogiri-css.y', 199)
+ def _reduce_48(val, _values, result)
+ result = Node.new(:COMBINATOR, val)
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'nokogiri-css.y', 202)
+ def _reduce_49(val, _values, result)
+ result = Node.new(:COMBINATOR, val)
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'nokogiri-css.y', 205)
+ def _reduce_50(val, _values, result)
+ result = Node.new(:COMBINATOR, val)
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'nokogiri-css.y', 208)
+ def _reduce_51(val, _values, result)
+ result = Node.new(:COMBINATOR, val)
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'nokogiri-css.y', 211)
+ def _reduce_52(val, _values, result)
+ result = Node.new(:COMBINATOR, val)
+
+ result
+ end
+.,.,
+
+# reduce 53 omitted
+
+# reduce 54 omitted
+
+# reduce 55 omitted
+
+# reduce 56 omitted
+
+# reduce 57 omitted
+
+module_eval(<<'.,.,', 'nokogiri-css.y', 220)
+ def _reduce_58(val, _values, result)
+ result = Node.new(:ID, val)
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'nokogiri-css.y', 223)
+ def _reduce_59(val, _values, result)
+ result = [val.first, val[1]]
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'nokogiri-css.y', 224)
+ def _reduce_60(val, _values, result)
+ result = [val.first, val[1]]
+ result
+ end
+.,.,
+
+# reduce 61 omitted
+
+module_eval(<<'.,.,', 'nokogiri-css.y', 228)
+ def _reduce_62(val, _values, result)
+ result = :equal
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'nokogiri-css.y', 229)
+ def _reduce_63(val, _values, result)
+ result = :prefix_match
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'nokogiri-css.y', 230)
+ def _reduce_64(val, _values, result)
+ result = :suffix_match
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'nokogiri-css.y', 231)
+ def _reduce_65(val, _values, result)
+ result = :substring_match
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'nokogiri-css.y', 232)
+ def _reduce_66(val, _values, result)
+ result = :not_equal
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'nokogiri-css.y', 233)
+ def _reduce_67(val, _values, result)
+ result = :includes
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'nokogiri-css.y', 234)
+ def _reduce_68(val, _values, result)
+ result = :dash_match
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'nokogiri-css.y', 238)
+ def _reduce_69(val, _values, result)
+ result = Node.new(:NOT, [val[1]])
+
+ result
+ end
+.,.,
+
+# reduce 70 omitted
+
+# reduce 71 omitted
+
+# reduce 72 omitted
+
+# reduce 73 omitted
+
+# reduce 74 omitted
+
+def _reduce_none(val, _values, result)
+ val[0]
+end
+
+ end # class Parser
+ end # module CSS
+ end # module Nokogiri