nokogiri 1.4.0 → 1.4.1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of nokogiri might be problematic. Click here for more details.

Files changed (75) hide show
  1. data.tar.gz.sig +0 -0
  2. data/.autotest +5 -6
  3. data/CHANGELOG.ja.rdoc +47 -11
  4. data/CHANGELOG.rdoc +31 -0
  5. data/Manifest.txt +8 -1
  6. data/README.ja.rdoc +4 -3
  7. data/README.rdoc +9 -1
  8. data/Rakefile +4 -0
  9. data/deps.rip +5 -0
  10. data/ext/nokogiri/extconf.rb +4 -0
  11. data/ext/nokogiri/html_element_description.c +1 -1
  12. data/ext/nokogiri/nokogiri.c +7 -0
  13. data/ext/nokogiri/nokogiri.h +4 -1
  14. data/ext/nokogiri/xml_document.c +3 -5
  15. data/ext/nokogiri/xml_encoding_handler.c +79 -0
  16. data/ext/nokogiri/xml_encoding_handler.h +8 -0
  17. data/ext/nokogiri/xml_namespace.c +8 -0
  18. data/ext/nokogiri/xml_namespace.h +1 -0
  19. data/ext/nokogiri/xml_node.c +61 -41
  20. data/ext/nokogiri/xml_node_set.c +22 -14
  21. data/ext/nokogiri/xml_sax_parser.c +0 -3
  22. data/ext/nokogiri/xml_sax_parser_context.c +2 -0
  23. data/ext/nokogiri/xml_sax_push_parser.c +26 -3
  24. data/ext/nokogiri/xml_syntax_error.c +18 -227
  25. data/lib/nokogiri/css/generated_parser.rb +173 -160
  26. data/lib/nokogiri/css/generated_tokenizer.rb +4 -1
  27. data/lib/nokogiri/css/parser.y +4 -1
  28. data/lib/nokogiri/css/tokenizer.rex +2 -1
  29. data/lib/nokogiri/css/xpath_visitor.rb +2 -0
  30. data/lib/nokogiri/ffi/encoding_handler.rb +42 -0
  31. data/lib/nokogiri/ffi/html/element_description.rb +5 -9
  32. data/lib/nokogiri/ffi/libxml.rb +21 -5
  33. data/lib/nokogiri/ffi/structs/xml_char_encoding_handler.rb +11 -0
  34. data/lib/nokogiri/ffi/structs/xml_document.rb +3 -3
  35. data/lib/nokogiri/ffi/structs/xml_sax_push_parser_context.rb +110 -1
  36. data/lib/nokogiri/ffi/xml/dtd.rb +2 -4
  37. data/lib/nokogiri/ffi/xml/node.rb +38 -17
  38. data/lib/nokogiri/ffi/xml/node_set.rb +21 -8
  39. data/lib/nokogiri/ffi/xml/reader.rb +1 -1
  40. data/lib/nokogiri/ffi/xml/sax/parser.rb +1 -8
  41. data/lib/nokogiri/ffi/xml/sax/push_parser.rb +16 -4
  42. data/lib/nokogiri/ffi/xml/syntax_error.rb +9 -2
  43. data/lib/nokogiri/ffi/xslt/stylesheet.rb +12 -9
  44. data/lib/nokogiri/version.rb +1 -1
  45. data/lib/nokogiri/xml/builder.rb +1 -1
  46. data/lib/nokogiri/xml/document.rb +35 -4
  47. data/lib/nokogiri/xml/document_fragment.rb +5 -1
  48. data/lib/nokogiri/xml/fragment_handler.rb +28 -20
  49. data/lib/nokogiri/xml/node.rb +84 -13
  50. data/lib/nokogiri/xml/node_set.rb +19 -2
  51. data/lib/nokogiri/xml/sax/push_parser.rb +1 -1
  52. data/lib/nokogiri/xml/syntax_error.rb +10 -5
  53. data/lib/nokogiri/xslt/stylesheet.rb +1 -1
  54. data/lib/xsd/xmlparser/nokogiri.rb +20 -1
  55. data/test/css/test_parser.rb +5 -0
  56. data/test/css/test_tokenizer.rb +7 -0
  57. data/test/helper.rb +0 -5
  58. data/test/html/test_document_fragment.rb +39 -1
  59. data/test/html/test_node.rb +14 -0
  60. data/test/test_encoding_handler.rb +46 -0
  61. data/test/test_memory_leak.rb +10 -0
  62. data/test/test_nokogiri.rb +5 -1
  63. data/test/test_soap4r_sax.rb +52 -0
  64. data/test/test_xslt_transforms.rb +69 -26
  65. data/test/xml/sax/test_parser_context.rb +7 -0
  66. data/test/xml/sax/test_push_parser.rb +33 -0
  67. data/test/xml/test_document.rb +27 -1
  68. data/test/xml/test_document_fragment.rb +6 -0
  69. data/test/xml/test_node.rb +63 -214
  70. data/test/xml/test_node_reparenting.rb +261 -0
  71. data/test/xml/test_node_set.rb +51 -0
  72. data/test/xml/test_syntax_error.rb +0 -15
  73. metadata +35 -5
  74. metadata.gz.sig +0 -0
  75. data/test/test_gc.rb +0 -15
@@ -13,153 +13,158 @@ module Nokogiri
13
13
  ##### State transition tables begin ###
14
14
 
15
15
  racc_action_table = [
16
- 4, 22, 24, 26, 10, 62, 4, 72, 50, 1,
17
- 10, 21, 4, 23, 25, 1, 10, 10, 59, 18,
18
- 51, 1, 5, 10, 8, 18, 11, 14, 5, 10,
19
- 8, 18, 11, 14, 5, 5, 8, 8, 11, 14,
20
- 14, 5, 10, 8, 4, 57, 14, 5, 10, 8,
21
- 56, 40, 14, 46, 10, 33, 52, 40, 54, 58,
22
- 5, 77, 8, 18, 4, 14, 5, 78, 8, 64,
23
- 66, 14, 5, 34, 8, 35, 49, 14, 64, 66,
24
- 65, 67, 69, 18, 70, 60, 61, 56, 63, 65,
25
- 67, 69, 80, 70, 61, 33, 28, 63, 32, 33,
26
- 52, 5, 54, 33, 52, 82, 54, 83, 31, 33,
27
- 52, 40, 54, 87, 86, 42, -22, 88, 89, 90,
28
- 91 ]
16
+ 3, 55, 26, 21, 12, 24, 56, 3, 57, 1,
17
+ 73, 12, 41, 56, 3, 23, 1, 79, 12, 18,
18
+ 91, 90, 4, 1, 9, 10, 18, 13, 16, 4,
19
+ 12, 9, 10, 18, 13, 16, 4, 12, 9, 10,
20
+ 3, 13, 16, 41, 12, 41, 60, 61, 4, 1,
21
+ 63, 10, 12, 44, 16, 4, 12, 12, 10, 18,
22
+ 3, 16, 4, 3, 9, 10, 80, 13, 16, 27,
23
+ 4, 28, 48, 10, 4, 4, 16, 10, 10, 18,
24
+ 16, 16, 18, 12, 9, 58, 61, 9, 26, 51,
25
+ 57, 53, 26, 51, 81, 53, 82, 66, 68, -22,
26
+ 62, 4, 66, 68, 10, 85, 86, 16, 67, 69,
27
+ 70, 59, 72, 67, 69, 70, 64, 72, 32, 34,
28
+ 36, 64, 26, 51, 54, 53, 26, 51, 31, 53,
29
+ 33, 35, 89, 4, 92, 93, 94 ]
29
30
 
30
31
  racc_action_check = [
31
- 0, 2, 2, 2, 0, 33, 20, 35, 17, 0,
32
- 20, 2, 51, 2, 2, 20, 51, 3, 30, 0,
33
- 17, 51, 0, 40, 0, 20, 0, 0, 20, 15,
34
- 20, 51, 20, 20, 51, 3, 51, 3, 51, 51,
35
- 3, 40, 6, 40, 14, 28, 40, 15, 7, 15,
36
- 28, 38, 15, 14, 13, 18, 18, 6, 18, 29,
37
- 6, 49, 6, 14, 5, 6, 7, 50, 7, 34,
38
- 34, 7, 13, 5, 13, 5, 16, 13, 36, 36,
39
- 34, 34, 34, 5, 34, 32, 32, 52, 34, 36,
40
- 36, 36, 53, 36, 54, 4, 4, 36, 4, 62,
41
- 62, 12, 62, 61, 61, 57, 61, 60, 4, 56,
42
- 56, 9, 56, 68, 68, 8, 1, 71, 73, 76,
43
- 83 ]
32
+ 0, 20, 3, 3, 0, 3, 43, 56, 51, 0,
33
+ 28, 56, 39, 20, 9, 3, 56, 43, 9, 0,
34
+ 71, 71, 0, 9, 0, 0, 56, 0, 0, 56,
35
+ 7, 56, 56, 9, 56, 56, 9, 6, 9, 9,
36
+ 30, 9, 9, 11, 30, 7, 24, 24, 7, 30,
37
+ 26, 7, 8, 10, 7, 6, 41, 17, 6, 30,
38
+ 4, 6, 30, 16, 30, 30, 52, 30, 30, 4,
39
+ 8, 4, 16, 8, 41, 17, 8, 41, 17, 4,
40
+ 41, 17, 16, 15, 4, 21, 53, 16, 61, 61,
41
+ 21, 61, 18, 18, 54, 18, 55, 29, 29, 1,
42
+ 25, 15, 27, 27, 15, 58, 60, 15, 29, 29,
43
+ 29, 22, 29, 27, 27, 27, 29, 27, 5, 5,
44
+ 5, 27, 57, 57, 19, 57, 63, 63, 5, 63,
45
+ 5, 5, 65, 14, 74, 78, 86 ]
44
46
 
45
47
  racc_action_pointer = [
46
- -2, 89, -6, 11, 85, 62, 36, 42, 104, 90,
47
- nil, nil, 77, 48, 42, 23, 49, 8, 45, nil,
48
- 4, nil, nil, nil, nil, nil, nil, nil, 38, 36,
49
- -5, nil, 74, -7, 66, -18, 75, nil, 30, nil,
50
- 17, nil, nil, nil, nil, nil, nil, nil, nil, 50,
51
- 67, 10, 75, 69, 82, nil, 99, 92, nil, nil,
52
- 100, 93, 89, nil, nil, nil, nil, nil, 103, nil,
53
- nil, 92, nil, 93, nil, nil, 96, nil, nil, nil,
54
- nil, nil, nil, 107, nil, nil, nil, nil, nil, nil,
55
- nil, nil ]
48
+ -2, 71, nil, -8, 58, 111, 31, 24, 46, 12,
49
+ 42, 22, nil, nil, 109, 77, 61, 51, 82, 96,
50
+ 1, 78, 88, nil, 35, 77, 38, 99, -15, 94,
51
+ 38, nil, nil, nil, nil, nil, nil, nil, nil, -9,
52
+ nil, 50, nil, -6, nil, nil, nil, nil, nil, nil,
53
+ nil, -4, 43, 74, 83, 96, 5, 112, 92, nil,
54
+ 99, 78, nil, 116, nil, 107, nil, nil, nil, nil,
55
+ nil, 10, nil, nil, 109, nil, nil, nil, 112, nil,
56
+ nil, nil, nil, nil, nil, nil, 123, nil, nil, nil,
57
+ nil, nil, nil, nil, nil ]
56
58
 
57
59
  racc_action_default = [
58
- -23, -20, -17, -51, -65, -65, -43, -48, -65, -15,
59
- -52, -21, -12, -50, -65, -49, -65, -65, -65, -2,
60
- -23, -5, -3, -8, -4, -7, -6, -47, -36, -65,
61
- -65, -27, -34, -35, -55, -65, -55, -9, -42, -11,
62
- -65, -44, -18, -14, -13, -46, -41, -40, -45, -65,
63
- -65, -23, -36, -65, -34, -16, -65, -65, -28, -29,
64
- -39, -65, -65, -56, -61, -57, -62, -58, -65, -59,
65
- -60, -65, -26, -65, -10, -64, -65, -19, 92, -1,
66
- -30, -33, -38, -65, -31, -32, -53, -54, -24, -25,
67
- -63, -37 ]
60
+ -23, -20, -2, -66, -66, -17, -52, -44, -49, -23,
61
+ -66, -15, -53, -21, -12, -51, -66, -50, -66, -66,
62
+ -66, -37, -66, -27, -35, -66, -36, -56, -66, -56,
63
+ -23, -5, -3, -8, -4, -7, -6, -48, -9, -43,
64
+ -11, -66, -45, -66, -18, -14, -13, -47, -42, -41,
65
+ -46, -37, -66, -35, -66, -66, -23, -66, -66, -28,
66
+ -40, -66, -29, -66, -57, -66, -62, -58, -63, -59,
67
+ -60, -66, -61, -26, -66, -16, -10, -65, -66, -31,
68
+ -30, -19, 95, -1, -34, -39, -66, -32, -33, -24,
69
+ -54, -55, -25, -64, -38 ]
68
70
 
69
71
  racc_goto_table = [
70
- 29, 27, 19, 39, 38, 41, 43, 36, 71, 17,
71
- 73, 45, 44, 48, 53, 37, 47, 20, 30, 76,
72
- nil, nil, 55, nil, nil, nil, nil, nil, nil, nil,
73
- nil, nil, nil, nil, nil, 74, nil, nil, 75, nil,
72
+ 22, 37, 39, 42, 75, 40, 29, 20, 30, 45,
73
+ 47, 65, 50, 74, 38, 52, 43, 46, 49, 25,
74
+ 78, nil, nil, nil, nil, nil, nil, nil, nil, nil,
75
+ 83, nil, nil, nil, nil, nil, 77, 76, nil, nil,
74
76
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
75
- nil, nil, 81, 79, nil, nil, nil, 84, 85 ]
77
+ nil, nil, nil, nil, 84, nil, nil, nil, 87, nil,
78
+ 88 ]
76
79
 
77
80
  racc_goto_check = [
78
- 14, 7, 2, 8, 7, 7, 8, 9, 13, 1,
79
- 13, 7, 10, 7, 14, 6, 9, 3, 15, 19,
80
- nil, nil, 2, nil, nil, nil, nil, nil, nil, nil,
81
- nil, nil, nil, nil, nil, 8, nil, nil, 7, nil,
81
+ 14, 7, 7, 7, 2, 8, 9, 1, 3, 8,
82
+ 7, 13, 7, 13, 6, 14, 1, 10, 9, 15,
83
+ 19, nil, nil, nil, nil, nil, nil, nil, nil, nil,
84
+ 2, nil, nil, nil, nil, nil, 7, 8, nil, nil,
82
85
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
83
- nil, nil, 14, 2, nil, nil, nil, 14, 14 ]
86
+ nil, nil, nil, nil, 14, nil, nil, nil, 14, nil,
87
+ 14 ]
84
88
 
85
89
  racc_goto_pointer = [
86
- nil, 9, 2, 15, nil, nil, 9, -2, -3, 2,
87
- 0, nil, nil, -26, -4, 14, nil, nil, nil, -21 ]
90
+ nil, 7, -26, 3, nil, nil, 7, -5, -2, 2,
91
+ 3, nil, nil, -16, -3, 16, nil, nil, nil, -21 ]
88
92
 
89
93
  racc_goto_default = [
90
- nil, nil, nil, nil, 2, 6, nil, 9, nil, 12,
91
- 13, 15, 16, nil, nil, nil, 3, 7, 68, nil ]
94
+ nil, nil, 2, nil, 5, 7, nil, 11, nil, 14,
95
+ 15, 17, 19, nil, nil, nil, 6, 8, 71, nil ]
92
96
 
93
97
  racc_reduce_table = [
94
98
  0, 0, :racc_error,
95
- 3, 31, :_reduce_1,
96
- 1, 31, :_reduce_2,
97
- 1, 33, :_reduce_3,
98
- 1, 33, :_reduce_4,
99
- 1, 33, :_reduce_5,
100
- 1, 33, :_reduce_6,
101
- 1, 33, :_reduce_7,
102
- 1, 33, :_reduce_8,
103
- 2, 34, :_reduce_9,
104
- 3, 34, :_reduce_10,
105
- 2, 34, :_reduce_11,
106
- 1, 34, :_reduce_none,
107
- 2, 34, :_reduce_13,
108
- 2, 34, :_reduce_14,
109
- 1, 34, :_reduce_15,
110
- 3, 32, :_reduce_16,
111
- 1, 32, :_reduce_none,
112
- 2, 41, :_reduce_18,
113
- 3, 35, :_reduce_19,
114
- 1, 35, :_reduce_20,
115
- 1, 35, :_reduce_21,
116
- 1, 42, :_reduce_22,
117
- 0, 42, :_reduce_none,
118
- 4, 40, :_reduce_24,
119
- 4, 40, :_reduce_25,
120
- 3, 40, :_reduce_26,
121
- 2, 39, :_reduce_27,
122
- 3, 39, :_reduce_28,
123
- 3, 39, :_reduce_29,
124
- 3, 39, :_reduce_30,
125
- 3, 44, :_reduce_31,
126
- 3, 44, :_reduce_32,
127
- 3, 44, :_reduce_33,
128
- 1, 44, :_reduce_none,
129
- 1, 44, :_reduce_none,
130
- 1, 44, :_reduce_36,
131
- 4, 45, :_reduce_37,
132
- 3, 45, :_reduce_38,
133
- 2, 45, :_reduce_39,
99
+ 3, 32, :_reduce_1,
100
+ 1, 32, :_reduce_2,
101
+ 1, 34, :_reduce_3,
102
+ 1, 34, :_reduce_4,
103
+ 1, 34, :_reduce_5,
104
+ 1, 34, :_reduce_6,
105
+ 1, 34, :_reduce_7,
106
+ 1, 34, :_reduce_8,
107
+ 2, 35, :_reduce_9,
108
+ 3, 35, :_reduce_10,
109
+ 2, 35, :_reduce_11,
110
+ 1, 35, :_reduce_none,
111
+ 2, 35, :_reduce_13,
112
+ 2, 35, :_reduce_14,
113
+ 1, 35, :_reduce_15,
114
+ 3, 33, :_reduce_16,
115
+ 1, 33, :_reduce_none,
116
+ 2, 42, :_reduce_18,
117
+ 3, 36, :_reduce_19,
118
+ 1, 36, :_reduce_20,
119
+ 1, 36, :_reduce_21,
120
+ 1, 43, :_reduce_22,
121
+ 0, 43, :_reduce_none,
122
+ 4, 41, :_reduce_24,
123
+ 4, 41, :_reduce_25,
124
+ 3, 41, :_reduce_26,
125
+ 2, 40, :_reduce_27,
126
+ 3, 40, :_reduce_28,
127
+ 3, 40, :_reduce_29,
128
+ 3, 40, :_reduce_30,
129
+ 3, 40, :_reduce_31,
130
+ 3, 45, :_reduce_32,
131
+ 3, 45, :_reduce_33,
132
+ 3, 45, :_reduce_34,
133
+ 1, 45, :_reduce_none,
134
+ 1, 45, :_reduce_none,
135
+ 1, 45, :_reduce_37,
136
+ 4, 46, :_reduce_38,
137
+ 3, 46, :_reduce_39,
134
138
  2, 46, :_reduce_40,
135
- 2, 46, :_reduce_41,
136
- 1, 36, :_reduce_none,
137
- 0, 36, :_reduce_none,
138
- 2, 37, :_reduce_44,
139
- 2, 37, :_reduce_45,
140
- 2, 37, :_reduce_46,
141
- 2, 37, :_reduce_47,
142
- 1, 37, :_reduce_none,
143
- 1, 37, :_reduce_none,
144
- 1, 37, :_reduce_none,
139
+ 2, 47, :_reduce_41,
140
+ 2, 47, :_reduce_42,
145
141
  1, 37, :_reduce_none,
146
- 1, 47, :_reduce_52,
147
- 2, 43, :_reduce_53,
148
- 2, 43, :_reduce_54,
149
- 0, 43, :_reduce_none,
150
- 1, 48, :_reduce_56,
151
- 1, 48, :_reduce_57,
152
- 1, 48, :_reduce_58,
153
- 1, 48, :_reduce_59,
154
- 1, 48, :_reduce_60,
155
- 1, 48, :_reduce_61,
156
- 1, 48, :_reduce_62,
157
- 3, 38, :_reduce_63,
158
- 1, 49, :_reduce_none ]
159
-
160
- racc_reduce_n = 65
161
-
162
- racc_shift_n = 92
142
+ 0, 37, :_reduce_none,
143
+ 2, 38, :_reduce_45,
144
+ 2, 38, :_reduce_46,
145
+ 2, 38, :_reduce_47,
146
+ 2, 38, :_reduce_48,
147
+ 1, 38, :_reduce_none,
148
+ 1, 38, :_reduce_none,
149
+ 1, 38, :_reduce_none,
150
+ 1, 38, :_reduce_none,
151
+ 1, 48, :_reduce_53,
152
+ 2, 44, :_reduce_54,
153
+ 2, 44, :_reduce_55,
154
+ 0, 44, :_reduce_none,
155
+ 1, 49, :_reduce_57,
156
+ 1, 49, :_reduce_58,
157
+ 1, 49, :_reduce_59,
158
+ 1, 49, :_reduce_60,
159
+ 1, 49, :_reduce_61,
160
+ 1, 49, :_reduce_62,
161
+ 1, 49, :_reduce_63,
162
+ 3, 39, :_reduce_64,
163
+ 1, 50, :_reduce_none ]
164
+
165
+ racc_reduce_n = 66
166
+
167
+ racc_shift_n = 95
163
168
 
164
169
  racc_token_table = {
165
170
  false => 0,
@@ -188,12 +193,13 @@ racc_token_table = {
188
193
  :RPAREN => 23,
189
194
  :LSQUARE => 24,
190
195
  :RSQUARE => 25,
191
- "." => 26,
192
- "|" => 27,
193
- "*" => 28,
194
- ":" => 29 }
196
+ :HAS => 26,
197
+ "." => 27,
198
+ "|" => 28,
199
+ "*" => 29,
200
+ ":" => 30 }
195
201
 
196
- racc_nt_base = 30
202
+ racc_nt_base = 31
197
203
 
198
204
  racc_use_result_var = true
199
205
 
@@ -240,6 +246,7 @@ Racc_token_to_s_table = [
240
246
  "RPAREN",
241
247
  "LSQUARE",
242
248
  "RSQUARE",
249
+ "HAS",
243
250
  "\".\"",
244
251
  "\"|\"",
245
252
  "\"*\"",
@@ -456,7 +463,8 @@ def _reduce_30(val, _values, result)
456
463
  end
457
464
 
458
465
  def _reduce_31(val, _values, result)
459
- result = [val.first, val.last]
466
+ result = Node.new(:FUNCTION, [val.first.strip, val[1]].flatten)
467
+
460
468
  result
461
469
  end
462
470
 
@@ -470,11 +478,16 @@ def _reduce_33(val, _values, result)
470
478
  result
471
479
  end
472
480
 
473
- # reduce 34 omitted
481
+ def _reduce_34(val, _values, result)
482
+ result = [val.first, val.last]
483
+ result
484
+ end
474
485
 
475
486
  # reduce 35 omitted
476
487
 
477
- def _reduce_36(val, _values, result)
488
+ # reduce 36 omitted
489
+
490
+ def _reduce_37(val, _values, result)
478
491
  if val[0] == 'even'
479
492
  val = ["2","n","+","0"]
480
493
  result = Node.new(:AN_PLUS_B, val)
@@ -492,7 +505,7 @@ def _reduce_36(val, _values, result)
492
505
  result
493
506
  end
494
507
 
495
- def _reduce_37(val, _values, result)
508
+ def _reduce_38(val, _values, result)
496
509
  if val[1] == 'n'
497
510
  result = Node.new(:AN_PLUS_B, val)
498
511
  else
@@ -502,7 +515,7 @@ def _reduce_37(val, _values, result)
502
515
  result
503
516
  end
504
517
 
505
- def _reduce_38(val, _values, result)
518
+ def _reduce_39(val, _values, result)
506
519
  # n+3, -n+3
507
520
  if val[0] == 'n'
508
521
  val.unshift("1")
@@ -518,7 +531,7 @@ def _reduce_38(val, _values, result)
518
531
  result
519
532
  end
520
533
 
521
- def _reduce_39(val, _values, result)
534
+ def _reduce_40(val, _values, result)
522
535
  if val[1] == 'n'
523
536
  val << "+"
524
537
  val << "0"
@@ -530,26 +543,20 @@ def _reduce_39(val, _values, result)
530
543
  result
531
544
  end
532
545
 
533
- def _reduce_40(val, _values, result)
546
+ def _reduce_41(val, _values, result)
534
547
  result = Node.new(:PSEUDO_CLASS, [val[1]])
535
548
 
536
549
  result
537
550
  end
538
551
 
539
- def _reduce_41(val, _values, result)
552
+ def _reduce_42(val, _values, result)
540
553
  result = Node.new(:PSEUDO_CLASS, [val[1]])
541
554
  result
542
555
  end
543
556
 
544
- # reduce 42 omitted
545
-
546
557
  # reduce 43 omitted
547
558
 
548
- def _reduce_44(val, _values, result)
549
- result = Node.new(:COMBINATOR, val)
550
-
551
- result
552
- end
559
+ # reduce 44 omitted
553
560
 
554
561
  def _reduce_45(val, _values, result)
555
562
  result = Node.new(:COMBINATOR, val)
@@ -569,7 +576,11 @@ def _reduce_47(val, _values, result)
569
576
  result
570
577
  end
571
578
 
572
- # reduce 48 omitted
579
+ def _reduce_48(val, _values, result)
580
+ result = Node.new(:COMBINATOR, val)
581
+
582
+ result
583
+ end
573
584
 
574
585
  # reduce 49 omitted
575
586
 
@@ -577,65 +588,67 @@ end
577
588
 
578
589
  # reduce 51 omitted
579
590
 
580
- def _reduce_52(val, _values, result)
591
+ # reduce 52 omitted
592
+
593
+ def _reduce_53(val, _values, result)
581
594
  result = Node.new(:ID, val)
582
595
  result
583
596
  end
584
597
 
585
- def _reduce_53(val, _values, result)
598
+ def _reduce_54(val, _values, result)
586
599
  result = [val.first, val[1]]
587
600
  result
588
601
  end
589
602
 
590
- def _reduce_54(val, _values, result)
603
+ def _reduce_55(val, _values, result)
591
604
  result = [val.first, val[1]]
592
605
  result
593
606
  end
594
607
 
595
- # reduce 55 omitted
608
+ # reduce 56 omitted
596
609
 
597
- def _reduce_56(val, _values, result)
610
+ def _reduce_57(val, _values, result)
598
611
  result = :equal
599
612
  result
600
613
  end
601
614
 
602
- def _reduce_57(val, _values, result)
615
+ def _reduce_58(val, _values, result)
603
616
  result = :prefix_match
604
617
  result
605
618
  end
606
619
 
607
- def _reduce_58(val, _values, result)
620
+ def _reduce_59(val, _values, result)
608
621
  result = :suffix_match
609
622
  result
610
623
  end
611
624
 
612
- def _reduce_59(val, _values, result)
625
+ def _reduce_60(val, _values, result)
613
626
  result = :substring_match
614
627
  result
615
628
  end
616
629
 
617
- def _reduce_60(val, _values, result)
630
+ def _reduce_61(val, _values, result)
618
631
  result = :not_equal
619
632
  result
620
633
  end
621
634
 
622
- def _reduce_61(val, _values, result)
635
+ def _reduce_62(val, _values, result)
623
636
  result = :includes
624
637
  result
625
638
  end
626
639
 
627
- def _reduce_62(val, _values, result)
640
+ def _reduce_63(val, _values, result)
628
641
  result = :dash_match
629
642
  result
630
643
  end
631
644
 
632
- def _reduce_63(val, _values, result)
645
+ def _reduce_64(val, _values, result)
633
646
  result = Node.new(:NOT, [val[1]])
634
647
 
635
648
  result
636
649
  end
637
650
 
638
- # reduce 64 omitted
651
+ # reduce 65 omitted
639
652
 
640
653
  def _reduce_none(val, _values, result)
641
654
  val[0]