nokogiri 1.0.0 → 1.6.8.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 (309) hide show
  1. checksums.yaml +7 -0
  2. data/.autotest +26 -0
  3. data/.cross_rubies +9 -0
  4. data/.editorconfig +17 -0
  5. data/.gemtest +0 -0
  6. data/.travis.yml +51 -0
  7. data/CHANGELOG.rdoc +1160 -0
  8. data/CONTRIBUTING.md +42 -0
  9. data/C_CODING_STYLE.rdoc +33 -0
  10. data/Gemfile +22 -0
  11. data/LICENSE.txt +31 -0
  12. data/Manifest.txt +284 -40
  13. data/README.md +166 -0
  14. data/ROADMAP.md +111 -0
  15. data/Rakefile +310 -199
  16. data/STANDARD_RESPONSES.md +47 -0
  17. data/Y_U_NO_GEMSPEC.md +155 -0
  18. data/appveyor.yml +22 -0
  19. data/bin/nokogiri +118 -0
  20. data/build_all +45 -0
  21. data/dependencies.yml +29 -0
  22. data/ext/nokogiri/depend +358 -0
  23. data/ext/nokogiri/extconf.rb +664 -34
  24. data/ext/nokogiri/html_document.c +120 -33
  25. data/ext/nokogiri/html_document.h +1 -1
  26. data/ext/nokogiri/html_element_description.c +279 -0
  27. data/ext/nokogiri/html_element_description.h +10 -0
  28. data/ext/nokogiri/html_entity_lookup.c +32 -0
  29. data/ext/nokogiri/html_entity_lookup.h +8 -0
  30. data/ext/nokogiri/html_sax_parser_context.c +116 -0
  31. data/ext/nokogiri/html_sax_parser_context.h +11 -0
  32. data/ext/nokogiri/html_sax_push_parser.c +87 -0
  33. data/ext/nokogiri/html_sax_push_parser.h +9 -0
  34. data/ext/nokogiri/nokogiri.c +145 -0
  35. data/ext/nokogiri/nokogiri.h +131 -0
  36. data/ext/nokogiri/xml_attr.c +94 -0
  37. data/ext/nokogiri/xml_attr.h +9 -0
  38. data/ext/nokogiri/xml_attribute_decl.c +70 -0
  39. data/ext/nokogiri/xml_attribute_decl.h +9 -0
  40. data/ext/nokogiri/xml_cdata.c +23 -19
  41. data/ext/nokogiri/xml_cdata.h +1 -1
  42. data/ext/nokogiri/xml_comment.c +69 -0
  43. data/ext/nokogiri/xml_comment.h +9 -0
  44. data/ext/nokogiri/xml_document.c +501 -54
  45. data/ext/nokogiri/xml_document.h +14 -1
  46. data/ext/nokogiri/xml_document_fragment.c +48 -0
  47. data/ext/nokogiri/xml_document_fragment.h +10 -0
  48. data/ext/nokogiri/xml_dtd.c +109 -24
  49. data/ext/nokogiri/xml_dtd.h +3 -1
  50. data/ext/nokogiri/xml_element_content.c +123 -0
  51. data/ext/nokogiri/xml_element_content.h +10 -0
  52. data/ext/nokogiri/xml_element_decl.c +69 -0
  53. data/ext/nokogiri/xml_element_decl.h +9 -0
  54. data/ext/nokogiri/xml_encoding_handler.c +79 -0
  55. data/ext/nokogiri/xml_encoding_handler.h +8 -0
  56. data/ext/nokogiri/xml_entity_decl.c +110 -0
  57. data/ext/nokogiri/xml_entity_decl.h +10 -0
  58. data/ext/nokogiri/xml_entity_reference.c +52 -0
  59. data/ext/nokogiri/xml_entity_reference.h +9 -0
  60. data/ext/nokogiri/xml_io.c +60 -0
  61. data/ext/nokogiri/xml_io.h +11 -0
  62. data/ext/nokogiri/xml_libxml2_hacks.c +112 -0
  63. data/ext/nokogiri/xml_libxml2_hacks.h +12 -0
  64. data/ext/nokogiri/xml_namespace.c +117 -0
  65. data/ext/nokogiri/xml_namespace.h +13 -0
  66. data/ext/nokogiri/xml_node.c +1285 -315
  67. data/ext/nokogiri/xml_node.h +4 -6
  68. data/ext/nokogiri/xml_node_set.c +415 -54
  69. data/ext/nokogiri/xml_node_set.h +6 -2
  70. data/ext/nokogiri/xml_processing_instruction.c +56 -0
  71. data/ext/nokogiri/xml_processing_instruction.h +9 -0
  72. data/ext/nokogiri/xml_reader.c +316 -77
  73. data/ext/nokogiri/xml_reader.h +1 -1
  74. data/ext/nokogiri/xml_relax_ng.c +161 -0
  75. data/ext/nokogiri/xml_relax_ng.h +9 -0
  76. data/ext/nokogiri/xml_sax_parser.c +215 -80
  77. data/ext/nokogiri/xml_sax_parser.h +30 -1
  78. data/ext/nokogiri/xml_sax_parser_context.c +262 -0
  79. data/ext/nokogiri/xml_sax_parser_context.h +10 -0
  80. data/ext/nokogiri/xml_sax_push_parser.c +115 -0
  81. data/ext/nokogiri/xml_sax_push_parser.h +9 -0
  82. data/ext/nokogiri/xml_schema.c +205 -0
  83. data/ext/nokogiri/xml_schema.h +9 -0
  84. data/ext/nokogiri/xml_syntax_error.c +45 -175
  85. data/ext/nokogiri/xml_syntax_error.h +4 -2
  86. data/ext/nokogiri/xml_text.c +37 -14
  87. data/ext/nokogiri/xml_text.h +1 -1
  88. data/ext/nokogiri/xml_xpath_context.c +230 -13
  89. data/ext/nokogiri/xml_xpath_context.h +2 -1
  90. data/ext/nokogiri/xslt_stylesheet.c +196 -34
  91. data/ext/nokogiri/xslt_stylesheet.h +6 -1
  92. data/lib/nokogiri/css/node.rb +18 -61
  93. data/lib/nokogiri/css/parser.rb +725 -17
  94. data/lib/nokogiri/css/parser.y +126 -63
  95. data/lib/nokogiri/css/parser_extras.rb +91 -0
  96. data/lib/nokogiri/css/syntax_error.rb +7 -0
  97. data/lib/nokogiri/css/tokenizer.rb +148 -5
  98. data/lib/nokogiri/css/tokenizer.rex +31 -39
  99. data/lib/nokogiri/css/xpath_visitor.rb +109 -51
  100. data/lib/nokogiri/css.rb +24 -3
  101. data/lib/nokogiri/decorators/slop.rb +42 -0
  102. data/lib/nokogiri/html/builder.rb +27 -1
  103. data/lib/nokogiri/html/document.rb +329 -3
  104. data/lib/nokogiri/html/document_fragment.rb +39 -0
  105. data/lib/nokogiri/html/element_description.rb +23 -0
  106. data/lib/nokogiri/html/element_description_defaults.rb +671 -0
  107. data/lib/nokogiri/html/entity_lookup.rb +13 -0
  108. data/lib/nokogiri/html/sax/parser.rb +35 -4
  109. data/lib/nokogiri/html/sax/parser_context.rb +16 -0
  110. data/lib/nokogiri/html/sax/push_parser.rb +36 -0
  111. data/lib/nokogiri/html.rb +18 -76
  112. data/lib/nokogiri/syntax_error.rb +4 -0
  113. data/lib/nokogiri/version.rb +106 -1
  114. data/lib/nokogiri/xml/attr.rb +14 -0
  115. data/lib/nokogiri/xml/attribute_decl.rb +18 -0
  116. data/lib/nokogiri/xml/builder.rb +395 -31
  117. data/lib/nokogiri/xml/cdata.rb +4 -2
  118. data/lib/nokogiri/xml/character_data.rb +7 -0
  119. data/lib/nokogiri/xml/document.rb +267 -12
  120. data/lib/nokogiri/xml/document_fragment.rb +149 -0
  121. data/lib/nokogiri/xml/dtd.rb +27 -1
  122. data/lib/nokogiri/xml/element_content.rb +36 -0
  123. data/lib/nokogiri/xml/element_decl.rb +13 -0
  124. data/lib/nokogiri/xml/entity_decl.rb +19 -0
  125. data/lib/nokogiri/xml/namespace.rb +13 -0
  126. data/lib/nokogiri/xml/node/save_options.rb +61 -0
  127. data/lib/nokogiri/xml/node.rb +748 -109
  128. data/lib/nokogiri/xml/node_set.rb +200 -72
  129. data/lib/nokogiri/xml/parse_options.rb +120 -0
  130. data/lib/nokogiri/xml/pp/character_data.rb +18 -0
  131. data/lib/nokogiri/xml/pp/node.rb +56 -0
  132. data/lib/nokogiri/xml/pp.rb +2 -0
  133. data/lib/nokogiri/xml/processing_instruction.rb +8 -0
  134. data/lib/nokogiri/xml/reader.rb +102 -4
  135. data/lib/nokogiri/xml/relax_ng.rb +32 -0
  136. data/lib/nokogiri/xml/sax/document.rb +114 -2
  137. data/lib/nokogiri/xml/sax/parser.rb +97 -7
  138. data/lib/nokogiri/xml/sax/parser_context.rb +16 -0
  139. data/lib/nokogiri/xml/sax/push_parser.rb +60 -0
  140. data/lib/nokogiri/xml/sax.rb +2 -7
  141. data/lib/nokogiri/xml/schema.rb +63 -0
  142. data/lib/nokogiri/xml/searchable.rb +221 -0
  143. data/lib/nokogiri/xml/syntax_error.rb +27 -1
  144. data/lib/nokogiri/xml/text.rb +4 -1
  145. data/lib/nokogiri/xml/xpath/syntax_error.rb +11 -0
  146. data/lib/nokogiri/xml/xpath.rb +4 -0
  147. data/lib/nokogiri/xml/xpath_context.rb +3 -1
  148. data/lib/nokogiri/xml.rb +45 -38
  149. data/lib/nokogiri/xslt/stylesheet.rb +19 -0
  150. data/lib/nokogiri/xslt.rb +47 -2
  151. data/lib/nokogiri.rb +117 -24
  152. data/lib/xsd/xmlparser/nokogiri.rb +102 -0
  153. data/patches/sort-patches-by-date +25 -0
  154. data/ports/archives/libxml2-2.9.4.tar.gz +0 -0
  155. data/ports/archives/libxslt-1.1.29.tar.gz +0 -0
  156. data/suppressions/README.txt +1 -0
  157. data/suppressions/nokogiri_ree-1.8.7.358.supp +61 -0
  158. data/suppressions/nokogiri_ruby-1.8.7.370.supp +0 -0
  159. data/suppressions/nokogiri_ruby-1.9.2.320.supp +28 -0
  160. data/suppressions/nokogiri_ruby-1.9.3.327.supp +28 -0
  161. data/tasks/test.rb +100 -0
  162. data/test/css/test_nthiness.rb +73 -6
  163. data/test/css/test_parser.rb +184 -39
  164. data/test/css/test_tokenizer.rb +72 -19
  165. data/test/css/test_xpath_visitor.rb +44 -2
  166. data/test/decorators/test_slop.rb +20 -0
  167. data/test/files/2ch.html +108 -0
  168. data/test/files/GH_1042.html +18 -0
  169. data/test/files/address_book.rlx +12 -0
  170. data/test/files/address_book.xml +10 -0
  171. data/test/files/atom.xml +344 -0
  172. data/test/files/bar/bar.xsd +4 -0
  173. data/test/files/bogus.xml +0 -0
  174. data/test/files/dont_hurt_em_why.xml +422 -0
  175. data/test/files/encoding.html +82 -0
  176. data/test/files/encoding.xhtml +84 -0
  177. data/test/files/exslt.xml +8 -0
  178. data/test/files/exslt.xslt +35 -0
  179. data/test/files/foo/foo.xsd +4 -0
  180. data/test/files/metacharset.html +10 -0
  181. data/test/files/namespace_pressure_test.xml +1684 -0
  182. data/test/files/noencoding.html +47 -0
  183. data/test/files/po.xml +32 -0
  184. data/test/files/po.xsd +66 -0
  185. data/test/files/saml/saml20assertion_schema.xsd +283 -0
  186. data/test/files/saml/saml20protocol_schema.xsd +302 -0
  187. data/test/files/saml/xenc_schema.xsd +146 -0
  188. data/test/files/saml/xmldsig_schema.xsd +318 -0
  189. data/test/files/shift_jis.html +10 -0
  190. data/test/files/shift_jis.xml +5 -0
  191. data/test/files/shift_jis_no_charset.html +9 -0
  192. data/test/files/slow-xpath.xml +25509 -0
  193. data/test/files/snuggles.xml +3 -0
  194. data/test/files/staff.dtd +10 -0
  195. data/test/files/test_document_url/bar.xml +2 -0
  196. data/test/files/test_document_url/document.dtd +4 -0
  197. data/test/files/test_document_url/document.xml +6 -0
  198. data/test/files/tlm.html +2 -1
  199. data/test/files/to_be_xincluded.xml +2 -0
  200. data/test/files/valid_bar.xml +2 -0
  201. data/test/files/xinclude.xml +4 -0
  202. data/test/helper.rb +124 -13
  203. data/test/html/sax/test_parser.rb +118 -4
  204. data/test/html/sax/test_parser_context.rb +46 -0
  205. data/test/html/sax/test_push_parser.rb +87 -0
  206. data/test/html/test_builder.rb +94 -8
  207. data/test/html/test_document.rb +626 -11
  208. data/test/html/test_document_encoding.rb +145 -0
  209. data/test/html/test_document_fragment.rb +301 -0
  210. data/test/html/test_element_description.rb +105 -0
  211. data/test/html/test_named_characters.rb +14 -0
  212. data/test/html/test_node.rb +212 -0
  213. data/test/html/test_node_encoding.rb +85 -0
  214. data/test/namespaces/test_additional_namespaces_in_builder_doc.rb +14 -0
  215. data/test/namespaces/test_namespaces_aliased_default.rb +24 -0
  216. data/test/namespaces/test_namespaces_in_builder_doc.rb +75 -0
  217. data/test/namespaces/test_namespaces_in_cloned_doc.rb +31 -0
  218. data/test/namespaces/test_namespaces_in_created_doc.rb +75 -0
  219. data/test/namespaces/test_namespaces_in_parsed_doc.rb +80 -0
  220. data/test/namespaces/test_namespaces_preservation.rb +31 -0
  221. data/test/test_convert_xpath.rb +2 -47
  222. data/test/test_css_cache.rb +45 -0
  223. data/test/test_encoding_handler.rb +48 -0
  224. data/test/test_memory_leak.rb +156 -0
  225. data/test/test_nokogiri.rb +103 -1
  226. data/test/test_soap4r_sax.rb +52 -0
  227. data/test/test_xslt_transforms.rb +293 -8
  228. data/test/xml/node/test_save_options.rb +28 -0
  229. data/test/xml/node/test_subclass.rb +44 -0
  230. data/test/xml/sax/test_parser.rb +309 -8
  231. data/test/xml/sax/test_parser_context.rb +115 -0
  232. data/test/xml/sax/test_push_parser.rb +157 -0
  233. data/test/xml/test_attr.rb +67 -0
  234. data/test/xml/test_attribute_decl.rb +86 -0
  235. data/test/xml/test_builder.rb +327 -2
  236. data/test/xml/test_c14n.rb +180 -0
  237. data/test/xml/test_cdata.rb +32 -2
  238. data/test/xml/test_comment.rb +40 -0
  239. data/test/xml/test_document.rb +846 -35
  240. data/test/xml/test_document_encoding.rb +31 -0
  241. data/test/xml/test_document_fragment.rb +271 -0
  242. data/test/xml/test_dtd.rb +153 -9
  243. data/test/xml/test_dtd_encoding.rb +31 -0
  244. data/test/xml/test_element_content.rb +56 -0
  245. data/test/xml/test_element_decl.rb +73 -0
  246. data/test/xml/test_entity_decl.rb +122 -0
  247. data/test/xml/test_entity_reference.rb +251 -0
  248. data/test/xml/test_namespace.rb +96 -0
  249. data/test/xml/test_node.rb +1126 -105
  250. data/test/xml/test_node_attributes.rb +115 -0
  251. data/test/xml/test_node_encoding.rb +69 -0
  252. data/test/xml/test_node_inheritance.rb +32 -0
  253. data/test/xml/test_node_reparenting.rb +549 -0
  254. data/test/xml/test_node_set.rb +668 -9
  255. data/test/xml/test_parse_options.rb +64 -0
  256. data/test/xml/test_processing_instruction.rb +30 -0
  257. data/test/xml/test_reader.rb +589 -0
  258. data/test/xml/test_reader_encoding.rb +134 -0
  259. data/test/xml/test_relax_ng.rb +60 -0
  260. data/test/xml/test_schema.rb +142 -0
  261. data/test/xml/test_syntax_error.rb +30 -0
  262. data/test/xml/test_text.rb +49 -2
  263. data/test/xml/test_unparented_node.rb +440 -0
  264. data/test/xml/test_xinclude.rb +83 -0
  265. data/test/xml/test_xpath.rb +445 -0
  266. data/test/xslt/test_custom_functions.rb +133 -0
  267. data/test/xslt/test_exception_handling.rb +37 -0
  268. data/test_all +107 -0
  269. metadata +459 -115
  270. data/History.txt +0 -6
  271. data/README.ja.txt +0 -86
  272. data/README.txt +0 -87
  273. data/ext/nokogiri/html_sax_parser.c +0 -32
  274. data/ext/nokogiri/html_sax_parser.h +0 -11
  275. data/ext/nokogiri/native.c +0 -40
  276. data/ext/nokogiri/native.h +0 -51
  277. data/ext/nokogiri/xml_xpath.c +0 -46
  278. data/ext/nokogiri/xml_xpath.h +0 -11
  279. data/lib/nokogiri/css/generated_parser.rb +0 -653
  280. data/lib/nokogiri/css/generated_tokenizer.rb +0 -159
  281. data/lib/nokogiri/decorators/hpricot/node.rb +0 -58
  282. data/lib/nokogiri/decorators/hpricot/node_set.rb +0 -14
  283. data/lib/nokogiri/decorators/hpricot/xpath_visitor.rb +0 -17
  284. data/lib/nokogiri/decorators/hpricot.rb +0 -3
  285. data/lib/nokogiri/decorators.rb +0 -1
  286. data/lib/nokogiri/hpricot.rb +0 -47
  287. data/lib/nokogiri/xml/after_handler.rb +0 -18
  288. data/lib/nokogiri/xml/before_handler.rb +0 -32
  289. data/lib/nokogiri/xml/element.rb +0 -6
  290. data/lib/nokogiri/xml/entity_declaration.rb +0 -9
  291. data/nokogiri.gemspec +0 -34
  292. data/test/hpricot/files/basic.xhtml +0 -17
  293. data/test/hpricot/files/boingboing.html +0 -2266
  294. data/test/hpricot/files/cy0.html +0 -3653
  295. data/test/hpricot/files/immob.html +0 -400
  296. data/test/hpricot/files/pace_application.html +0 -1320
  297. data/test/hpricot/files/tenderlove.html +0 -16
  298. data/test/hpricot/files/uswebgen.html +0 -220
  299. data/test/hpricot/files/utf8.html +0 -1054
  300. data/test/hpricot/files/week9.html +0 -1723
  301. data/test/hpricot/files/why.xml +0 -19
  302. data/test/hpricot/load_files.rb +0 -7
  303. data/test/hpricot/test_alter.rb +0 -67
  304. data/test/hpricot/test_builder.rb +0 -27
  305. data/test/hpricot/test_parser.rb +0 -423
  306. data/test/hpricot/test_paths.rb +0 -15
  307. data/test/hpricot/test_preserved.rb +0 -78
  308. data/test/hpricot/test_xml.rb +0 -30
  309. data/test/test_reader.rb +0 -222
@@ -1,653 +0,0 @@
1
- #
2
- # DO NOT MODIFY!!!!
3
- # This file is automatically generated by racc 1.4.5
4
- # from racc grammer file "lib/nokogiri/css/parser.y".
5
- #
6
-
7
- require 'racc/parser'
8
-
9
-
10
- module Nokogiri
11
-
12
- module CSS
13
-
14
- class GeneratedParser < Racc::Parser
15
-
16
- ##### racc 1.4.5 generates ###
17
-
18
- racc_reduce_table = [
19
- 0, 0, :racc_error,
20
- 4, 46, :_reduce_1,
21
- 1, 46, :_reduce_2,
22
- 2, 49, :_reduce_3,
23
- 2, 49, :_reduce_4,
24
- 2, 49, :_reduce_5,
25
- 1, 49, :_reduce_6,
26
- 2, 49, :_reduce_7,
27
- 2, 49, :_reduce_8,
28
- 2, 50, :_reduce_9,
29
- 2, 50, :_reduce_10,
30
- 1, 50, :_reduce_none,
31
- 2, 50, :_reduce_12,
32
- 1, 50, :_reduce_13,
33
- 3, 48, :_reduce_14,
34
- 1, 48, :_reduce_none,
35
- 2, 57, :_reduce_16,
36
- 1, 51, :_reduce_17,
37
- 1, 51, :_reduce_18,
38
- 6, 55, :_reduce_19,
39
- 6, 55, :_reduce_20,
40
- 5, 55, :_reduce_21,
41
- 2, 54, :_reduce_22,
42
- 3, 54, :_reduce_23,
43
- 3, 54, :_reduce_24,
44
- 3, 54, :_reduce_25,
45
- 1, 59, :_reduce_none,
46
- 1, 59, :_reduce_none,
47
- 4, 60, :_reduce_28,
48
- 3, 60, :_reduce_29,
49
- 2, 60, :_reduce_30,
50
- 1, 60, :_reduce_31,
51
- 2, 61, :_reduce_32,
52
- 2, 61, :_reduce_33,
53
- 1, 52, :_reduce_none,
54
- 0, 52, :_reduce_none,
55
- 2, 56, :_reduce_36,
56
- 2, 56, :_reduce_37,
57
- 2, 56, :_reduce_38,
58
- 2, 56, :_reduce_39,
59
- 1, 56, :_reduce_none,
60
- 1, 56, :_reduce_none,
61
- 1, 56, :_reduce_none,
62
- 1, 56, :_reduce_none,
63
- 1, 62, :_reduce_44,
64
- 4, 58, :_reduce_45,
65
- 4, 58, :_reduce_46,
66
- 0, 58, :_reduce_none,
67
- 1, 63, :_reduce_none,
68
- 1, 63, :_reduce_none,
69
- 1, 63, :_reduce_none,
70
- 1, 63, :_reduce_none,
71
- 1, 63, :_reduce_none,
72
- 1, 63, :_reduce_none,
73
- 1, 63, :_reduce_none,
74
- 5, 53, :_reduce_55,
75
- 1, 64, :_reduce_none,
76
- 2, 47, :_reduce_none,
77
- 0, 47, :_reduce_none ]
78
-
79
- racc_reduce_n = 59
80
-
81
- racc_shift_n = 97
82
-
83
- racc_action_table = [
84
- 5, 79, 81, 27, 10, 26, 94, 93, 42, 2,
85
- 42, 30, 56, 5, 5, 28, 79, 81, 10, 42,
86
- 42, 42, 47, 2, 51, 42, 42, 10, 82, 84,
87
- 85, 52, 78, 10, 10, 7, 9, 12, 15, 42,
88
- 10, 17, 77, 82, 84, 85, 10, 78, 7, 7,
89
- 9, 12, 15, 42, 5, 17, 68, 77, 10, 9,
90
- 69, 15, 10, 2, 17, 9, 9, 15, 15, 50,
91
- 17, 17, 9, 5, 15, 26, 21, 17, 9, 54,
92
- 15, 23, 63, 17, 37, 38, 39, 64, 42, 7,
93
- 9, 12, 15, 44, 9, 17, 15, 42, 15, 17,
94
- 76, 42, 86, 31, 42, 89, 42, 25, 7, 91,
95
- 33, 92, 34, 35, 53, 42, 42 ]
96
-
97
- racc_action_check = [
98
- 0, 73, 73, 6, 0, 7, 90, 90, 63, 0,
99
- 28, 7, 29, 17, 55, 6, 71, 71, 55, 33,
100
- 34, 35, 17, 55, 22, 37, 38, 4, 73, 73,
101
- 73, 23, 73, 1, 11, 0, 0, 0, 0, 42,
102
- 67, 0, 73, 71, 71, 71, 14, 71, 17, 55,
103
- 55, 55, 55, 44, 36, 55, 50, 71, 36, 4,
104
- 52, 4, 16, 36, 4, 1, 11, 1, 11, 21,
105
- 1, 11, 67, 41, 67, 5, 5, 67, 14, 27,
106
- 14, 5, 41, 14, 13, 13, 13, 41, 64, 36,
107
- 36, 36, 36, 16, 16, 36, 16, 65, 18, 16,
108
- 69, 15, 72, 9, 75, 80, 83, 5, 41, 87,
109
- 13, 88, 13, 13, 24, 93, 94 ]
110
-
111
- racc_action_pointer = [
112
- -2, 27, nil, nil, 21, 65, 3, -5, nil, 92,
113
- nil, 28, nil, 77, 40, 92, 56, 11, 58, nil,
114
- nil, 62, -18, 20, 72, nil, nil, 79, 1, -30,
115
- nil, nil, nil, 10, 11, 12, 52, 16, 17, nil,
116
- nil, 71, 30, nil, 44, nil, nil, nil, nil, nil,
117
- 40, nil, 53, nil, nil, 12, nil, nil, nil, nil,
118
- nil, nil, nil, -1, 79, 88, nil, 34, nil, 84,
119
- nil, 13, 61, -2, nil, 95, nil, nil, nil, nil,
120
- 64, nil, nil, 97, nil, nil, nil, 68, 69, nil,
121
- -4, nil, nil, 106, 107, nil, nil ]
122
-
123
- racc_action_default = [
124
- -59, -42, -17, -13, -41, -59, -59, -59, -2, -59,
125
- -44, -43, -18, -15, -40, -58, -35, -59, -11, -38,
126
- -37, -31, -59, -26, -59, -22, -27, -59, -58, -59,
127
- -26, -16, -39, -58, -58, -58, -59, -58, -58, -6,
128
- -36, -59, -58, -34, -58, -9, -10, -33, -32, -12,
129
- -59, -23, -30, -24, 97, -59, -25, -5, -8, -7,
130
- -14, -3, -4, -58, -58, -58, -57, -59, -29, -59,
131
- -1, -47, -59, -47, -56, -58, -28, -48, -52, -53,
132
- -59, -54, -49, -58, -50, -51, -21, -59, -59, -19,
133
- -59, -20, -55, -58, -58, -45, -46 ]
134
-
135
- racc_goto_table = [
136
- 41, 19, 8, 80, 20, 87, 48, 22, 6, 29,
137
- 49, 32, 46, 55, 40, 45, 43, 36, 57, 58,
138
- 59, 24, 61, 62, 75, nil, nil, 66, nil, 67,
139
- 65, nil, nil, nil, nil, nil, nil, nil, 60, nil,
140
- nil, nil, nil, nil, nil, nil, nil, nil, 71, 72,
141
- 73, nil, nil, nil, nil, nil, nil, 70, nil, nil,
142
- 88, nil, nil, nil, nil, nil, nil, 74, 90, nil,
143
- nil, nil, nil, nil, nil, nil, nil, nil, 95, 96 ]
144
-
145
- racc_goto_check = [
146
- 2, 11, 3, 13, 11, 13, 9, 14, 1, 14,
147
- 10, 11, 8, 2, 11, 7, 11, 4, 2, 2,
148
- 2, 15, 2, 2, 19, nil, nil, 2, nil, 2,
149
- 9, nil, nil, nil, nil, nil, nil, nil, 3, nil,
150
- nil, nil, nil, nil, nil, nil, nil, nil, 2, 2,
151
- 2, nil, nil, nil, nil, nil, nil, 3, nil, nil,
152
- 2, nil, nil, nil, nil, nil, nil, 11, 2, nil,
153
- nil, nil, nil, nil, nil, nil, nil, nil, 2, 2 ]
154
-
155
- racc_goto_pointer = [
156
- nil, 8, -15, 2, 4, nil, nil, -1, -4, -11,
157
- -8, 0, nil, -68, 2, 16, nil, nil, nil, -43 ]
158
-
159
- racc_goto_default = [
160
- nil, nil, nil, nil, nil, 13, 16, nil, nil, 18,
161
- 1, 3, 4, nil, nil, nil, 11, 14, 83, nil ]
162
-
163
- racc_token_table = {
164
- false => 0,
165
- Object.new => 1,
166
- :FUNCTION => 2,
167
- :INCLUDES => 3,
168
- :DASHMATCH => 4,
169
- :LBRACE => 5,
170
- :HASH => 6,
171
- :PLUS => 7,
172
- :GREATER => 8,
173
- :S => 9,
174
- :STRING => 10,
175
- :IDENT => 11,
176
- :COMMA => 12,
177
- :URI => 13,
178
- :CDO => 14,
179
- :CDC => 15,
180
- :NUMBER => 16,
181
- :PERCENTAGE => 17,
182
- :LENGTH => 18,
183
- :EMS => 19,
184
- :EXS => 20,
185
- :ANGLE => 21,
186
- :TIME => 22,
187
- :FREQ => 23,
188
- :IMPORTANT_SYM => 24,
189
- :IMPORT_SYM => 25,
190
- :MEDIA_SYM => 26,
191
- :PAGE_SYM => 27,
192
- :CHARSET_SYM => 28,
193
- :DIMENSION => 29,
194
- :PREFIXMATCH => 30,
195
- :SUFFIXMATCH => 31,
196
- :SUBSTRINGMATCH => 32,
197
- :TILDE => 33,
198
- :NOT_EQUAL => 34,
199
- :SLASH => 35,
200
- :DOUBLESLASH => 36,
201
- :NOT => 37,
202
- "." => 38,
203
- "*" => 39,
204
- "[" => 40,
205
- "]" => 41,
206
- ")" => 42,
207
- ":" => 43,
208
- "=" => 44 }
209
-
210
- racc_use_result_var = true
211
-
212
- racc_nt_base = 45
213
-
214
- Racc_arg = [
215
- racc_action_table,
216
- racc_action_check,
217
- racc_action_default,
218
- racc_action_pointer,
219
- racc_goto_table,
220
- racc_goto_check,
221
- racc_goto_default,
222
- racc_goto_pointer,
223
- racc_nt_base,
224
- racc_reduce_table,
225
- racc_token_table,
226
- racc_shift_n,
227
- racc_reduce_n,
228
- racc_use_result_var ]
229
-
230
- Racc_token_to_s_table = [
231
- '$end',
232
- 'error',
233
- 'FUNCTION',
234
- 'INCLUDES',
235
- 'DASHMATCH',
236
- 'LBRACE',
237
- 'HASH',
238
- 'PLUS',
239
- 'GREATER',
240
- 'S',
241
- 'STRING',
242
- 'IDENT',
243
- 'COMMA',
244
- 'URI',
245
- 'CDO',
246
- 'CDC',
247
- 'NUMBER',
248
- 'PERCENTAGE',
249
- 'LENGTH',
250
- 'EMS',
251
- 'EXS',
252
- 'ANGLE',
253
- 'TIME',
254
- 'FREQ',
255
- 'IMPORTANT_SYM',
256
- 'IMPORT_SYM',
257
- 'MEDIA_SYM',
258
- 'PAGE_SYM',
259
- 'CHARSET_SYM',
260
- 'DIMENSION',
261
- 'PREFIXMATCH',
262
- 'SUFFIXMATCH',
263
- 'SUBSTRINGMATCH',
264
- 'TILDE',
265
- 'NOT_EQUAL',
266
- 'SLASH',
267
- 'DOUBLESLASH',
268
- 'NOT',
269
- '"."',
270
- '"*"',
271
- '"["',
272
- '"]"',
273
- '")"',
274
- '":"',
275
- '"="',
276
- '$start',
277
- 'selector',
278
- 's_0toN',
279
- 'simple_selector_1toN',
280
- 'combinator',
281
- 'simple_selector',
282
- 'element_name',
283
- 'hcap_0toN',
284
- 'negation',
285
- 'function',
286
- 'attrib',
287
- 'hcap_1toN',
288
- 'class',
289
- 'attrib_val_0or1',
290
- 'expr',
291
- 'an_plus_b',
292
- 'pseudo',
293
- 'attribute_id',
294
- 'eql_incl_dash',
295
- 'negation_arg']
296
-
297
- Racc_debug_parser = false
298
-
299
- ##### racc system variables end #####
300
-
301
- # reduce 0 omitted
302
-
303
- module_eval <<'.,.,', 'lib/nokogiri/css/parser.y', 13
304
- def _reduce_1( val, _values, result )
305
- result = [val.first, val.last].flatten
306
- result
307
- end
308
- .,.,
309
-
310
- module_eval <<'.,.,', 'lib/nokogiri/css/parser.y', 13
311
- def _reduce_2( val, _values, result )
312
- result = val.flatten
313
- result
314
- end
315
- .,.,
316
-
317
- module_eval <<'.,.,', 'lib/nokogiri/css/parser.y', 16
318
- def _reduce_3( val, _values, result )
319
- result = :DIRECT_ADJACENT_SELECTOR
320
- result
321
- end
322
- .,.,
323
-
324
- module_eval <<'.,.,', 'lib/nokogiri/css/parser.y', 17
325
- def _reduce_4( val, _values, result )
326
- result = :CHILD_SELECTOR
327
- result
328
- end
329
- .,.,
330
-
331
- module_eval <<'.,.,', 'lib/nokogiri/css/parser.y', 18
332
- def _reduce_5( val, _values, result )
333
- result = :PRECEDING_SELECTOR
334
- result
335
- end
336
- .,.,
337
-
338
- module_eval <<'.,.,', 'lib/nokogiri/css/parser.y', 19
339
- def _reduce_6( val, _values, result )
340
- result = :DESCENDANT_SELECTOR
341
- result
342
- end
343
- .,.,
344
-
345
- module_eval <<'.,.,', 'lib/nokogiri/css/parser.y', 20
346
- def _reduce_7( val, _values, result )
347
- result = :DESCENDANT_SELECTOR
348
- result
349
- end
350
- .,.,
351
-
352
- module_eval <<'.,.,', 'lib/nokogiri/css/parser.y', 21
353
- def _reduce_8( val, _values, result )
354
- result = :CHILD_SELECTOR
355
- result
356
- end
357
- .,.,
358
-
359
- module_eval <<'.,.,', 'lib/nokogiri/css/parser.y', 31
360
- def _reduce_9( val, _values, result )
361
- result = if val[1].nil?
362
- val.first
363
- else
364
- Node.new(:CONDITIONAL_SELECTOR, [val.first, val[1]])
365
- end
366
- result
367
- end
368
- .,.,
369
-
370
- module_eval <<'.,.,', 'lib/nokogiri/css/parser.y', 34
371
- def _reduce_10( val, _values, result )
372
- result = Node.new(:CONDITIONAL_SELECTOR, val)
373
- result
374
- end
375
- .,.,
376
-
377
- # reduce 11 omitted
378
-
379
- module_eval <<'.,.,', 'lib/nokogiri/css/parser.y', 38
380
- def _reduce_12( val, _values, result )
381
- result = Node.new(:CONDITIONAL_SELECTOR, val)
382
- result
383
- end
384
- .,.,
385
-
386
- module_eval <<'.,.,', 'lib/nokogiri/css/parser.y', 43
387
- def _reduce_13( val, _values, result )
388
- result = Node.new(:CONDITIONAL_SELECTOR,
389
- [Node.new(:ELEMENT_NAME, ['*']), val.first]
390
- )
391
- result
392
- end
393
- .,.,
394
-
395
- module_eval <<'.,.,', 'lib/nokogiri/css/parser.y', 48
396
- def _reduce_14( val, _values, result )
397
- result = Node.new(val[1], [val.first, val.last])
398
- result
399
- end
400
- .,.,
401
-
402
- # reduce 15 omitted
403
-
404
- module_eval <<'.,.,', 'lib/nokogiri/css/parser.y', 51
405
- def _reduce_16( val, _values, result )
406
- result = Node.new(:CLASS_CONDITION, [val[1]])
407
- result
408
- end
409
- .,.,
410
-
411
- module_eval <<'.,.,', 'lib/nokogiri/css/parser.y', 54
412
- def _reduce_17( val, _values, result )
413
- result = Node.new(:ELEMENT_NAME, val)
414
- result
415
- end
416
- .,.,
417
-
418
- module_eval <<'.,.,', 'lib/nokogiri/css/parser.y', 55
419
- def _reduce_18( val, _values, result )
420
- result = Node.new(:ELEMENT_NAME, val)
421
- result
422
- end
423
- .,.,
424
-
425
- module_eval <<'.,.,', 'lib/nokogiri/css/parser.y', 63
426
- def _reduce_19( val, _values, result )
427
- result = Node.new(:ATTRIBUTE_CONDITION,
428
- [Node.new(:ELEMENT_NAME, [val[2]])] + (val[4] || [])
429
- )
430
- result
431
- end
432
- .,.,
433
-
434
- module_eval <<'.,.,', 'lib/nokogiri/css/parser.y', 68
435
- def _reduce_20( val, _values, result )
436
- result = Node.new(:ATTRIBUTE_CONDITION,
437
- [val[2]] + (val[4] || [])
438
- )
439
- result
440
- end
441
- .,.,
442
-
443
- module_eval <<'.,.,', 'lib/nokogiri/css/parser.y', 74
444
- def _reduce_21( val, _values, result )
445
- # Non standard, but hpricot supports it.
446
- result = Node.new(:PSEUDO_CLASS,
447
- [Node.new(:FUNCTION, ['nth-child(', val[2]])]
448
- )
449
- result
450
- end
451
- .,.,
452
-
453
- module_eval <<'.,.,', 'lib/nokogiri/css/parser.y', 79
454
- def _reduce_22( val, _values, result )
455
- result = Node.new(:FUNCTION, [val.first.strip])
456
- result
457
- end
458
- .,.,
459
-
460
- module_eval <<'.,.,', 'lib/nokogiri/css/parser.y', 82
461
- def _reduce_23( val, _values, result )
462
- result = Node.new(:FUNCTION, [val.first.strip, val[1]].flatten)
463
- result
464
- end
465
- .,.,
466
-
467
- module_eval <<'.,.,', 'lib/nokogiri/css/parser.y', 85
468
- def _reduce_24( val, _values, result )
469
- result = Node.new(:FUNCTION, [val.first.strip, val[1]].flatten)
470
- result
471
- end
472
- .,.,
473
-
474
- module_eval <<'.,.,', 'lib/nokogiri/css/parser.y', 88
475
- def _reduce_25( val, _values, result )
476
- result = Node.new(:FUNCTION, [val.first.strip, val[1]].flatten)
477
- result
478
- end
479
- .,.,
480
-
481
- # reduce 26 omitted
482
-
483
- # reduce 27 omitted
484
-
485
- module_eval <<'.,.,', 'lib/nokogiri/css/parser.y', 102
486
- def _reduce_28( val, _values, result )
487
- if val[1] == 'n'
488
- result = Node.new(:AN_PLUS_B, val)
489
- else
490
- raise Racc::ParseError, "parse error on IDENT '#{val[1]}'"
491
- end
492
- result
493
- end
494
- .,.,
495
-
496
- module_eval <<'.,.,', 'lib/nokogiri/css/parser.y', 113
497
- def _reduce_29( val, _values, result )
498
- # n+3, -n+3
499
- if val[0] == 'n'
500
- val.unshift("1")
501
- result = Node.new(:AN_PLUS_B, val)
502
- elsif val[0] == '-n'
503
- val[0] = 'n'
504
- val.unshift("-1")
505
- result = Node.new(:AN_PLUS_B, val)
506
- else
507
- raise Racc::ParseError, "parse error on IDENT '#{val[1]}'"
508
- end
509
- result
510
- end
511
- .,.,
512
-
513
- module_eval <<'.,.,', 'lib/nokogiri/css/parser.y', 124
514
- def _reduce_30( val, _values, result )
515
- if val[1] == 'n'
516
- val << "+"
517
- val << "0"
518
- result = Node.new(:AN_PLUS_B, val)
519
- else
520
- raise Racc::ParseError, "parse error on IDENT '#{val[1]}'"
521
- end
522
- result
523
- end
524
- .,.,
525
-
526
- module_eval <<'.,.,', 'lib/nokogiri/css/parser.y', 136
527
- def _reduce_31( val, _values, result )
528
- if val[0] == 'even'
529
- val = ["2","n","+","0"]
530
- result = Node.new(:AN_PLUS_B, val)
531
- elsif val[0] == 'odd'
532
- val = ["2","n","+","1"]
533
- result = Node.new(:AN_PLUS_B, val)
534
- else
535
- raise Racc::ParseError, "parse error on IDENT '#{val[0]}'"
536
- end
537
- result
538
- end
539
- .,.,
540
-
541
- module_eval <<'.,.,', 'lib/nokogiri/css/parser.y', 141
542
- def _reduce_32( val, _values, result )
543
- result = Node.new(:PSEUDO_CLASS, [val[1]])
544
- result
545
- end
546
- .,.,
547
-
548
- module_eval <<'.,.,', 'lib/nokogiri/css/parser.y', 141
549
- def _reduce_33( val, _values, result )
550
- result = Node.new(:PSEUDO_CLASS, [val[1]])
551
- result
552
- end
553
- .,.,
554
-
555
- # reduce 34 omitted
556
-
557
- # reduce 35 omitted
558
-
559
- module_eval <<'.,.,', 'lib/nokogiri/css/parser.y', 151
560
- def _reduce_36( val, _values, result )
561
- result = Node.new(:COMBINATOR, val)
562
- result
563
- end
564
- .,.,
565
-
566
- module_eval <<'.,.,', 'lib/nokogiri/css/parser.y', 154
567
- def _reduce_37( val, _values, result )
568
- result = Node.new(:COMBINATOR, val)
569
- result
570
- end
571
- .,.,
572
-
573
- module_eval <<'.,.,', 'lib/nokogiri/css/parser.y', 157
574
- def _reduce_38( val, _values, result )
575
- result = Node.new(:COMBINATOR, val)
576
- result
577
- end
578
- .,.,
579
-
580
- module_eval <<'.,.,', 'lib/nokogiri/css/parser.y', 160
581
- def _reduce_39( val, _values, result )
582
- result = Node.new(:COMBINATOR, val)
583
- result
584
- end
585
- .,.,
586
-
587
- # reduce 40 omitted
588
-
589
- # reduce 41 omitted
590
-
591
- # reduce 42 omitted
592
-
593
- # reduce 43 omitted
594
-
595
- module_eval <<'.,.,', 'lib/nokogiri/css/parser.y', 166
596
- def _reduce_44( val, _values, result )
597
- result = Node.new(:ID, val)
598
- result
599
- end
600
- .,.,
601
-
602
- module_eval <<'.,.,', 'lib/nokogiri/css/parser.y', 169
603
- def _reduce_45( val, _values, result )
604
- result = [val.first, val[2]]
605
- result
606
- end
607
- .,.,
608
-
609
- module_eval <<'.,.,', 'lib/nokogiri/css/parser.y', 170
610
- def _reduce_46( val, _values, result )
611
- result = [val.first, val[2]]
612
- result
613
- end
614
- .,.,
615
-
616
- # reduce 47 omitted
617
-
618
- # reduce 48 omitted
619
-
620
- # reduce 49 omitted
621
-
622
- # reduce 50 omitted
623
-
624
- # reduce 51 omitted
625
-
626
- # reduce 52 omitted
627
-
628
- # reduce 53 omitted
629
-
630
- # reduce 54 omitted
631
-
632
- module_eval <<'.,.,', 'lib/nokogiri/css/parser.y', 186
633
- def _reduce_55( val, _values, result )
634
- result = Node.new(:NOT, [val[2]])
635
- result
636
- end
637
- .,.,
638
-
639
- # reduce 56 omitted
640
-
641
- # reduce 57 omitted
642
-
643
- # reduce 58 omitted
644
-
645
- def _reduce_none( val, _values, result )
646
- result
647
- end
648
-
649
- end # class GeneratedParser
650
-
651
- end # module CSS
652
-
653
- end # module Nokogiri