nokogiri 1.14.0.rc1-arm-linux

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 (200) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +38 -0
  3. data/LICENSE-DEPENDENCIES.md +2224 -0
  4. data/LICENSE.md +9 -0
  5. data/README.md +287 -0
  6. data/bin/nokogiri +131 -0
  7. data/dependencies.yml +41 -0
  8. data/ext/nokogiri/depend +38 -0
  9. data/ext/nokogiri/extconf.rb +1082 -0
  10. data/ext/nokogiri/gumbo.c +594 -0
  11. data/ext/nokogiri/html4_document.c +166 -0
  12. data/ext/nokogiri/html4_element_description.c +294 -0
  13. data/ext/nokogiri/html4_entity_lookup.c +37 -0
  14. data/ext/nokogiri/html4_sax_parser_context.c +114 -0
  15. data/ext/nokogiri/html4_sax_push_parser.c +95 -0
  16. data/ext/nokogiri/include/libexslt/exslt.h +108 -0
  17. data/ext/nokogiri/include/libexslt/exsltconfig.h +70 -0
  18. data/ext/nokogiri/include/libexslt/exsltexports.h +63 -0
  19. data/ext/nokogiri/include/libxml2/libxml/HTMLparser.h +306 -0
  20. data/ext/nokogiri/include/libxml2/libxml/HTMLtree.h +147 -0
  21. data/ext/nokogiri/include/libxml2/libxml/SAX.h +204 -0
  22. data/ext/nokogiri/include/libxml2/libxml/SAX2.h +172 -0
  23. data/ext/nokogiri/include/libxml2/libxml/c14n.h +128 -0
  24. data/ext/nokogiri/include/libxml2/libxml/catalog.h +182 -0
  25. data/ext/nokogiri/include/libxml2/libxml/chvalid.h +230 -0
  26. data/ext/nokogiri/include/libxml2/libxml/debugXML.h +217 -0
  27. data/ext/nokogiri/include/libxml2/libxml/dict.h +81 -0
  28. data/ext/nokogiri/include/libxml2/libxml/encoding.h +232 -0
  29. data/ext/nokogiri/include/libxml2/libxml/entities.h +153 -0
  30. data/ext/nokogiri/include/libxml2/libxml/globals.h +499 -0
  31. data/ext/nokogiri/include/libxml2/libxml/hash.h +236 -0
  32. data/ext/nokogiri/include/libxml2/libxml/list.h +137 -0
  33. data/ext/nokogiri/include/libxml2/libxml/nanoftp.h +186 -0
  34. data/ext/nokogiri/include/libxml2/libxml/nanohttp.h +81 -0
  35. data/ext/nokogiri/include/libxml2/libxml/parser.h +1244 -0
  36. data/ext/nokogiri/include/libxml2/libxml/parserInternals.h +656 -0
  37. data/ext/nokogiri/include/libxml2/libxml/pattern.h +100 -0
  38. data/ext/nokogiri/include/libxml2/libxml/relaxng.h +218 -0
  39. data/ext/nokogiri/include/libxml2/libxml/schemasInternals.h +958 -0
  40. data/ext/nokogiri/include/libxml2/libxml/schematron.h +142 -0
  41. data/ext/nokogiri/include/libxml2/libxml/threads.h +91 -0
  42. data/ext/nokogiri/include/libxml2/libxml/tree.h +1312 -0
  43. data/ext/nokogiri/include/libxml2/libxml/uri.h +94 -0
  44. data/ext/nokogiri/include/libxml2/libxml/valid.h +463 -0
  45. data/ext/nokogiri/include/libxml2/libxml/xinclude.h +129 -0
  46. data/ext/nokogiri/include/libxml2/libxml/xlink.h +189 -0
  47. data/ext/nokogiri/include/libxml2/libxml/xmlIO.h +368 -0
  48. data/ext/nokogiri/include/libxml2/libxml/xmlautomata.h +146 -0
  49. data/ext/nokogiri/include/libxml2/libxml/xmlerror.h +947 -0
  50. data/ext/nokogiri/include/libxml2/libxml/xmlexports.h +77 -0
  51. data/ext/nokogiri/include/libxml2/libxml/xmlmemory.h +226 -0
  52. data/ext/nokogiri/include/libxml2/libxml/xmlmodule.h +57 -0
  53. data/ext/nokogiri/include/libxml2/libxml/xmlreader.h +428 -0
  54. data/ext/nokogiri/include/libxml2/libxml/xmlregexp.h +222 -0
  55. data/ext/nokogiri/include/libxml2/libxml/xmlsave.h +88 -0
  56. data/ext/nokogiri/include/libxml2/libxml/xmlschemas.h +246 -0
  57. data/ext/nokogiri/include/libxml2/libxml/xmlschemastypes.h +152 -0
  58. data/ext/nokogiri/include/libxml2/libxml/xmlstring.h +140 -0
  59. data/ext/nokogiri/include/libxml2/libxml/xmlunicode.h +202 -0
  60. data/ext/nokogiri/include/libxml2/libxml/xmlversion.h +503 -0
  61. data/ext/nokogiri/include/libxml2/libxml/xmlwriter.h +488 -0
  62. data/ext/nokogiri/include/libxml2/libxml/xpath.h +575 -0
  63. data/ext/nokogiri/include/libxml2/libxml/xpathInternals.h +632 -0
  64. data/ext/nokogiri/include/libxml2/libxml/xpointer.h +137 -0
  65. data/ext/nokogiri/include/libxslt/attributes.h +38 -0
  66. data/ext/nokogiri/include/libxslt/documents.h +93 -0
  67. data/ext/nokogiri/include/libxslt/extensions.h +262 -0
  68. data/ext/nokogiri/include/libxslt/extra.h +72 -0
  69. data/ext/nokogiri/include/libxslt/functions.h +78 -0
  70. data/ext/nokogiri/include/libxslt/imports.h +75 -0
  71. data/ext/nokogiri/include/libxslt/keys.h +53 -0
  72. data/ext/nokogiri/include/libxslt/namespaces.h +68 -0
  73. data/ext/nokogiri/include/libxslt/numbersInternals.h +73 -0
  74. data/ext/nokogiri/include/libxslt/pattern.h +84 -0
  75. data/ext/nokogiri/include/libxslt/preproc.h +43 -0
  76. data/ext/nokogiri/include/libxslt/security.h +104 -0
  77. data/ext/nokogiri/include/libxslt/templates.h +77 -0
  78. data/ext/nokogiri/include/libxslt/transform.h +207 -0
  79. data/ext/nokogiri/include/libxslt/variables.h +118 -0
  80. data/ext/nokogiri/include/libxslt/xslt.h +110 -0
  81. data/ext/nokogiri/include/libxslt/xsltInternals.h +1982 -0
  82. data/ext/nokogiri/include/libxslt/xsltconfig.h +179 -0
  83. data/ext/nokogiri/include/libxslt/xsltexports.h +64 -0
  84. data/ext/nokogiri/include/libxslt/xsltlocale.h +76 -0
  85. data/ext/nokogiri/include/libxslt/xsltutils.h +310 -0
  86. data/ext/nokogiri/libxml2_backwards_compat.c +121 -0
  87. data/ext/nokogiri/nokogiri.c +259 -0
  88. data/ext/nokogiri/nokogiri.h +235 -0
  89. data/ext/nokogiri/test_global_handlers.c +40 -0
  90. data/ext/nokogiri/xml_attr.c +103 -0
  91. data/ext/nokogiri/xml_attribute_decl.c +70 -0
  92. data/ext/nokogiri/xml_cdata.c +57 -0
  93. data/ext/nokogiri/xml_comment.c +62 -0
  94. data/ext/nokogiri/xml_document.c +689 -0
  95. data/ext/nokogiri/xml_document_fragment.c +44 -0
  96. data/ext/nokogiri/xml_dtd.c +208 -0
  97. data/ext/nokogiri/xml_element_content.c +128 -0
  98. data/ext/nokogiri/xml_element_decl.c +69 -0
  99. data/ext/nokogiri/xml_encoding_handler.c +104 -0
  100. data/ext/nokogiri/xml_entity_decl.c +112 -0
  101. data/ext/nokogiri/xml_entity_reference.c +50 -0
  102. data/ext/nokogiri/xml_namespace.c +186 -0
  103. data/ext/nokogiri/xml_node.c +2425 -0
  104. data/ext/nokogiri/xml_node_set.c +496 -0
  105. data/ext/nokogiri/xml_processing_instruction.c +54 -0
  106. data/ext/nokogiri/xml_reader.c +794 -0
  107. data/ext/nokogiri/xml_relax_ng.c +183 -0
  108. data/ext/nokogiri/xml_sax_parser.c +316 -0
  109. data/ext/nokogiri/xml_sax_parser_context.c +283 -0
  110. data/ext/nokogiri/xml_sax_push_parser.c +166 -0
  111. data/ext/nokogiri/xml_schema.c +282 -0
  112. data/ext/nokogiri/xml_syntax_error.c +85 -0
  113. data/ext/nokogiri/xml_text.c +48 -0
  114. data/ext/nokogiri/xml_xpath_context.c +413 -0
  115. data/ext/nokogiri/xslt_stylesheet.c +363 -0
  116. data/gumbo-parser/CHANGES.md +63 -0
  117. data/gumbo-parser/Makefile +111 -0
  118. data/gumbo-parser/THANKS +27 -0
  119. data/lib/nokogiri/2.7/nokogiri.so +0 -0
  120. data/lib/nokogiri/3.0/nokogiri.so +0 -0
  121. data/lib/nokogiri/3.1/nokogiri.so +0 -0
  122. data/lib/nokogiri/3.2/nokogiri.so +0 -0
  123. data/lib/nokogiri/class_resolver.rb +67 -0
  124. data/lib/nokogiri/css/node.rb +54 -0
  125. data/lib/nokogiri/css/parser.rb +770 -0
  126. data/lib/nokogiri/css/parser.y +277 -0
  127. data/lib/nokogiri/css/parser_extras.rb +96 -0
  128. data/lib/nokogiri/css/syntax_error.rb +9 -0
  129. data/lib/nokogiri/css/tokenizer.rb +155 -0
  130. data/lib/nokogiri/css/tokenizer.rex +56 -0
  131. data/lib/nokogiri/css/xpath_visitor.rb +359 -0
  132. data/lib/nokogiri/css.rb +66 -0
  133. data/lib/nokogiri/decorators/slop.rb +44 -0
  134. data/lib/nokogiri/encoding_handler.rb +57 -0
  135. data/lib/nokogiri/extension.rb +32 -0
  136. data/lib/nokogiri/gumbo.rb +15 -0
  137. data/lib/nokogiri/html.rb +48 -0
  138. data/lib/nokogiri/html4/builder.rb +37 -0
  139. data/lib/nokogiri/html4/document.rb +214 -0
  140. data/lib/nokogiri/html4/document_fragment.rb +54 -0
  141. data/lib/nokogiri/html4/element_description.rb +25 -0
  142. data/lib/nokogiri/html4/element_description_defaults.rb +572 -0
  143. data/lib/nokogiri/html4/encoding_reader.rb +121 -0
  144. data/lib/nokogiri/html4/entity_lookup.rb +15 -0
  145. data/lib/nokogiri/html4/sax/parser.rb +63 -0
  146. data/lib/nokogiri/html4/sax/parser_context.rb +20 -0
  147. data/lib/nokogiri/html4/sax/push_parser.rb +37 -0
  148. data/lib/nokogiri/html4.rb +47 -0
  149. data/lib/nokogiri/html5/document.rb +168 -0
  150. data/lib/nokogiri/html5/document_fragment.rb +90 -0
  151. data/lib/nokogiri/html5/node.rb +98 -0
  152. data/lib/nokogiri/html5.rb +389 -0
  153. data/lib/nokogiri/jruby/dependencies.rb +3 -0
  154. data/lib/nokogiri/jruby/nokogiri_jars.rb +43 -0
  155. data/lib/nokogiri/syntax_error.rb +6 -0
  156. data/lib/nokogiri/version/constant.rb +6 -0
  157. data/lib/nokogiri/version/info.rb +223 -0
  158. data/lib/nokogiri/version.rb +4 -0
  159. data/lib/nokogiri/xml/attr.rb +66 -0
  160. data/lib/nokogiri/xml/attribute_decl.rb +20 -0
  161. data/lib/nokogiri/xml/builder.rb +487 -0
  162. data/lib/nokogiri/xml/cdata.rb +13 -0
  163. data/lib/nokogiri/xml/character_data.rb +9 -0
  164. data/lib/nokogiri/xml/document.rb +471 -0
  165. data/lib/nokogiri/xml/document_fragment.rb +205 -0
  166. data/lib/nokogiri/xml/dtd.rb +34 -0
  167. data/lib/nokogiri/xml/element_content.rb +38 -0
  168. data/lib/nokogiri/xml/element_decl.rb +15 -0
  169. data/lib/nokogiri/xml/entity_decl.rb +21 -0
  170. data/lib/nokogiri/xml/entity_reference.rb +20 -0
  171. data/lib/nokogiri/xml/namespace.rb +58 -0
  172. data/lib/nokogiri/xml/node/save_options.rb +68 -0
  173. data/lib/nokogiri/xml/node.rb +1563 -0
  174. data/lib/nokogiri/xml/node_set.rb +446 -0
  175. data/lib/nokogiri/xml/notation.rb +19 -0
  176. data/lib/nokogiri/xml/parse_options.rb +213 -0
  177. data/lib/nokogiri/xml/pp/character_data.rb +21 -0
  178. data/lib/nokogiri/xml/pp/node.rb +57 -0
  179. data/lib/nokogiri/xml/pp.rb +4 -0
  180. data/lib/nokogiri/xml/processing_instruction.rb +11 -0
  181. data/lib/nokogiri/xml/reader.rb +105 -0
  182. data/lib/nokogiri/xml/relax_ng.rb +38 -0
  183. data/lib/nokogiri/xml/sax/document.rb +167 -0
  184. data/lib/nokogiri/xml/sax/parser.rb +125 -0
  185. data/lib/nokogiri/xml/sax/parser_context.rb +21 -0
  186. data/lib/nokogiri/xml/sax/push_parser.rb +61 -0
  187. data/lib/nokogiri/xml/sax.rb +6 -0
  188. data/lib/nokogiri/xml/schema.rb +73 -0
  189. data/lib/nokogiri/xml/searchable.rb +270 -0
  190. data/lib/nokogiri/xml/syntax_error.rb +72 -0
  191. data/lib/nokogiri/xml/text.rb +11 -0
  192. data/lib/nokogiri/xml/xpath/syntax_error.rb +13 -0
  193. data/lib/nokogiri/xml/xpath.rb +21 -0
  194. data/lib/nokogiri/xml/xpath_context.rb +16 -0
  195. data/lib/nokogiri/xml.rb +76 -0
  196. data/lib/nokogiri/xslt/stylesheet.rb +27 -0
  197. data/lib/nokogiri/xslt.rb +65 -0
  198. data/lib/nokogiri.rb +120 -0
  199. data/lib/xsd/xmlparser/nokogiri.rb +104 -0
  200. metadata +317 -0
@@ -0,0 +1,770 @@
1
+ # frozen_string_literal: true
2
+ #
3
+ # DO NOT MODIFY!!!!
4
+ # This file is automatically generated by Racc 1.6.0
5
+ # from Racc grammar file "".
6
+ #
7
+
8
+ require 'racc/parser.rb'
9
+
10
+
11
+ require_relative "parser_extras"
12
+
13
+ module Nokogiri
14
+ module CSS
15
+ # :nodoc: all
16
+ class Parser < Racc::Parser
17
+ end
18
+ end
19
+ end
20
+
21
+ module Nokogiri
22
+ module CSS
23
+ class Parser < Racc::Parser
24
+
25
+
26
+ def unescape_css_identifier(identifier)
27
+ identifier.gsub(/\\(?:([^0-9a-fA-F])|([0-9a-fA-F]{1,6})\s?)/){ |m| $1 || [$2.hex].pack('U') }
28
+ end
29
+
30
+ def unescape_css_string(str)
31
+ str.gsub(/\\(?:([^0-9a-fA-F])|([0-9a-fA-F]{1,6})\s?)/) do |m|
32
+ if $1=="\n"
33
+ ''
34
+ else
35
+ $1 || [$2.hex].pack('U')
36
+ end
37
+ end
38
+ end
39
+ ##### State transition tables begin ###
40
+
41
+ racc_action_table = [
42
+ 27, 11, 38, 99, 36, 12, 40, 26, 48, 25,
43
+ 49, 27, 100, 12, 30, 36, 105, 99, -26, 28,
44
+ 25, -26, 26, 27, 29, 14, 21, 23, 80, 30,
45
+ 28, 36, 72, 26, -26, 29, 14, 21, 23, 27,
46
+ 30, 91, 56, 36, 97, 96, 43, 29, 25, 26,
47
+ 27, 92, 94, 21, 36, 95, 30, 98, 28, 25,
48
+ 101, 26, 102, 29, 14, 21, 23, 96, 30, 28,
49
+ 36, 36, 26, 103, 29, 14, 21, 23, 27, 30,
50
+ 108, 107, 36, 109, 106, 43, 43, 25, 26, 26,
51
+ 27, 110, 21, 21, 111, 30, 30, 28, 99, 50,
52
+ 26, 53, 29, 14, 21, 23, 36, 30, 36, 56,
53
+ 61, 64, 113, 66, 29, 14, 116, 36, 118, 36,
54
+ nil, 43, nil, 43, 26, nil, 26, 14, 21, 23,
55
+ 21, 30, 43, 30, 43, 26, nil, 26, 36, 21,
56
+ 36, 21, 30, 25, 30, nil, nil, nil, nil, nil,
57
+ nil, 61, 62, 43, 60, 43, 26, nil, 26, nil,
58
+ 21, 23, 21, 30, 57, 30, 88, 89, 14, nil,
59
+ nil, 88, 89, nil, nil, nil, nil, 84, 85, 86,
60
+ nil, 87, 84, 85, 86, 83, 87, nil, 61, 93,
61
+ 83, 66, 61, 93, nil, 66, 61, 93, nil, 66,
62
+ 61, 93, nil, 66, nil, 14, nil, 61, 93, 14,
63
+ 66, nil, nil, 14, nil, nil, nil, 14, 4, 5,
64
+ 10, nil, nil, nil, 14, 4, 5, 47, 6, nil,
65
+ 8, 7, 4, 5, 10, 6, nil, 8, 7, nil,
66
+ nil, nil, 6, nil, 8, 7 ]
67
+
68
+ racc_action_check = [
69
+ 3, 1, 11, 64, 3, 70, 14, 17, 21, 3,
70
+ 24, 9, 62, 1, 17, 9, 70, 62, 25, 3,
71
+ 9, 64, 3, 30, 3, 3, 3, 3, 49, 3,
72
+ 9, 16, 30, 9, 50, 9, 9, 9, 9, 12,
73
+ 9, 53, 30, 12, 60, 60, 16, 30, 12, 16,
74
+ 46, 54, 58, 16, 46, 59, 16, 61, 12, 46,
75
+ 63, 12, 65, 12, 12, 12, 12, 66, 12, 46,
76
+ 31, 32, 46, 67, 46, 46, 46, 46, 47, 46,
77
+ 82, 82, 47, 82, 81, 31, 32, 47, 31, 32,
78
+ 26, 90, 31, 32, 92, 31, 32, 47, 93, 26,
79
+ 47, 26, 47, 47, 47, 47, 28, 47, 33, 26,
80
+ 28, 28, 97, 28, 26, 26, 100, 34, 113, 35,
81
+ nil, 28, nil, 33, 28, nil, 33, 28, 28, 28,
82
+ 33, 28, 34, 33, 35, 34, nil, 35, 43, 34,
83
+ 68, 35, 34, 43, 35, nil, nil, nil, nil, nil,
84
+ nil, 27, 27, 43, 27, 68, 43, nil, 68, nil,
85
+ 43, 43, 68, 43, 27, 68, 51, 51, 27, nil,
86
+ nil, 52, 52, nil, nil, nil, nil, 51, 51, 51,
87
+ nil, 51, 52, 52, 52, 51, 52, nil, 56, 56,
88
+ 52, 56, 96, 96, nil, 96, 98, 98, nil, 98,
89
+ 99, 99, nil, 99, nil, 56, nil, 101, 101, 96,
90
+ 101, nil, nil, 98, nil, nil, nil, 99, 0, 0,
91
+ 0, nil, nil, nil, 101, 20, 20, 20, 0, nil,
92
+ 0, 0, 29, 29, 29, 20, nil, 20, 20, nil,
93
+ nil, nil, 29, nil, 29, 29 ]
94
+
95
+ racc_action_pointer = [
96
+ 211, 1, nil, -2, nil, nil, nil, nil, nil, 9,
97
+ nil, 2, 37, nil, -5, nil, 25, -17, nil, nil,
98
+ 218, -3, nil, nil, -20, -12, 88, 141, 100, 225,
99
+ 21, 64, 65, 102, 111, 113, nil, nil, nil, nil,
100
+ nil, nil, nil, 132, nil, nil, 48, 76, nil, 17,
101
+ 4, 163, 168, 16, 21, nil, 178, nil, 29, 32,
102
+ 33, 45, 5, 48, -9, 39, 55, 50, 134, nil,
103
+ -7, nil, nil, nil, nil, nil, nil, nil, nil, nil,
104
+ nil, 59, 70, nil, nil, nil, nil, nil, nil, nil,
105
+ 66, nil, 83, 86, nil, nil, 182, 105, 186, 190,
106
+ 103, 197, nil, nil, nil, nil, nil, nil, nil, nil,
107
+ nil, nil, nil, 105, nil, nil, nil, nil, nil ]
108
+
109
+ racc_action_default = [
110
+ -81, -82, -2, -27, -4, -5, -6, -7, -8, -27,
111
+ -80, -82, -27, -3, -82, -10, -53, -12, -15, -16,
112
+ -20, -82, -22, -23, -82, -25, -27, -82, -27, -81,
113
+ -82, -59, -60, -61, -62, -63, -64, -17, 119, -1,
114
+ -9, -11, -52, -27, -13, -14, -27, -27, -21, -82,
115
+ -32, -68, -68, -82, -82, -33, -82, -34, -82, -82,
116
+ -43, -44, -45, -46, -25, -82, -43, -82, -77, -79,
117
+ -82, -50, -51, -54, -55, -56, -57, -58, -18, -19,
118
+ -24, -82, -82, -69, -70, -71, -72, -73, -74, -75,
119
+ -82, -30, -82, -45, -35, -36, -82, -49, -82, -82,
120
+ -82, -82, -37, -76, -78, -38, -28, -65, -66, -67,
121
+ -29, -31, -39, -82, -40, -41, -48, -42, -47 ]
122
+
123
+ racc_goto_table = [
124
+ 58, 42, 13, 1, 46, 52, 19, 68, 37, 71,
125
+ 41, 39, 19, 69, 44, 19, 73, 74, 75, 76,
126
+ 77, 45, 68, 81, 90, 54, 51, 59, 69, 55,
127
+ nil, nil, 70, nil, nil, nil, nil, nil, nil, nil,
128
+ nil, nil, nil, nil, nil, 78, 79, nil, nil, 19,
129
+ 19, nil, nil, 104, nil, nil, nil, nil, nil, nil,
130
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 112,
131
+ nil, 114, 115, nil, 117 ]
132
+
133
+ racc_goto_check = [
134
+ 20, 14, 2, 1, 5, 11, 7, 9, 2, 11,
135
+ 10, 2, 7, 14, 12, 7, 14, 14, 14, 14,
136
+ 14, 13, 9, 19, 19, 17, 18, 21, 14, 7,
137
+ nil, nil, 1, nil, nil, nil, nil, nil, nil, nil,
138
+ nil, nil, nil, nil, nil, 2, 2, nil, nil, 7,
139
+ 7, nil, nil, 14, nil, nil, nil, nil, nil, nil,
140
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 20,
141
+ nil, 20, 20, nil, 20 ]
142
+
143
+ racc_goto_pointer = [
144
+ nil, 3, -1, nil, nil, -16, nil, 3, nil, -21,
145
+ -6, -21, -3, 4, -15, nil, nil, -1, 0, -28,
146
+ -27, 0, nil, nil, nil, nil ]
147
+
148
+ racc_goto_default = [
149
+ nil, nil, nil, 2, 3, 9, 15, 63, 20, 16,
150
+ nil, 17, 34, 33, 18, 32, 22, 24, nil, nil,
151
+ 65, nil, 31, 35, 82, 67 ]
152
+
153
+ racc_reduce_table = [
154
+ 0, 0, :racc_error,
155
+ 3, 33, :_reduce_1,
156
+ 1, 33, :_reduce_2,
157
+ 2, 33, :_reduce_3,
158
+ 1, 37, :_reduce_4,
159
+ 1, 37, :_reduce_5,
160
+ 1, 37, :_reduce_6,
161
+ 1, 37, :_reduce_7,
162
+ 1, 37, :_reduce_8,
163
+ 2, 38, :_reduce_9,
164
+ 1, 39, :_reduce_10,
165
+ 2, 40, :_reduce_11,
166
+ 1, 40, :_reduce_none,
167
+ 2, 40, :_reduce_13,
168
+ 2, 40, :_reduce_14,
169
+ 1, 40, :_reduce_15,
170
+ 1, 40, :_reduce_none,
171
+ 2, 35, :_reduce_17,
172
+ 3, 34, :_reduce_18,
173
+ 3, 34, :_reduce_19,
174
+ 1, 34, :_reduce_none,
175
+ 2, 47, :_reduce_21,
176
+ 1, 41, :_reduce_none,
177
+ 1, 41, :_reduce_23,
178
+ 3, 48, :_reduce_24,
179
+ 1, 48, :_reduce_25,
180
+ 1, 49, :_reduce_26,
181
+ 0, 49, :_reduce_none,
182
+ 4, 45, :_reduce_28,
183
+ 4, 45, :_reduce_29,
184
+ 3, 45, :_reduce_30,
185
+ 3, 50, :_reduce_31,
186
+ 1, 50, :_reduce_32,
187
+ 1, 50, :_reduce_none,
188
+ 2, 43, :_reduce_34,
189
+ 3, 43, :_reduce_35,
190
+ 3, 43, :_reduce_36,
191
+ 3, 43, :_reduce_37,
192
+ 3, 43, :_reduce_38,
193
+ 3, 52, :_reduce_39,
194
+ 3, 52, :_reduce_40,
195
+ 3, 52, :_reduce_41,
196
+ 3, 52, :_reduce_42,
197
+ 1, 52, :_reduce_none,
198
+ 1, 52, :_reduce_none,
199
+ 1, 52, :_reduce_45,
200
+ 1, 52, :_reduce_none,
201
+ 4, 53, :_reduce_47,
202
+ 3, 53, :_reduce_48,
203
+ 2, 53, :_reduce_49,
204
+ 2, 44, :_reduce_50,
205
+ 2, 44, :_reduce_51,
206
+ 1, 42, :_reduce_none,
207
+ 0, 42, :_reduce_none,
208
+ 2, 46, :_reduce_54,
209
+ 2, 46, :_reduce_55,
210
+ 2, 46, :_reduce_56,
211
+ 2, 46, :_reduce_57,
212
+ 2, 46, :_reduce_58,
213
+ 1, 46, :_reduce_none,
214
+ 1, 46, :_reduce_none,
215
+ 1, 46, :_reduce_none,
216
+ 1, 46, :_reduce_none,
217
+ 1, 46, :_reduce_none,
218
+ 1, 54, :_reduce_64,
219
+ 2, 51, :_reduce_65,
220
+ 2, 51, :_reduce_66,
221
+ 2, 51, :_reduce_67,
222
+ 0, 51, :_reduce_none,
223
+ 1, 56, :_reduce_69,
224
+ 1, 56, :_reduce_70,
225
+ 1, 56, :_reduce_71,
226
+ 1, 56, :_reduce_72,
227
+ 1, 56, :_reduce_73,
228
+ 1, 56, :_reduce_74,
229
+ 1, 56, :_reduce_75,
230
+ 3, 55, :_reduce_76,
231
+ 1, 57, :_reduce_none,
232
+ 2, 57, :_reduce_none,
233
+ 1, 57, :_reduce_none,
234
+ 1, 36, :_reduce_none,
235
+ 0, 36, :_reduce_none ]
236
+
237
+ racc_reduce_n = 82
238
+
239
+ racc_shift_n = 119
240
+
241
+ racc_token_table = {
242
+ false => 0,
243
+ :error => 1,
244
+ :FUNCTION => 2,
245
+ :INCLUDES => 3,
246
+ :DASHMATCH => 4,
247
+ :LBRACE => 5,
248
+ :HASH => 6,
249
+ :PLUS => 7,
250
+ :GREATER => 8,
251
+ :S => 9,
252
+ :STRING => 10,
253
+ :IDENT => 11,
254
+ :COMMA => 12,
255
+ :NUMBER => 13,
256
+ :PREFIXMATCH => 14,
257
+ :SUFFIXMATCH => 15,
258
+ :SUBSTRINGMATCH => 16,
259
+ :TILDE => 17,
260
+ :NOT_EQUAL => 18,
261
+ :SLASH => 19,
262
+ :DOUBLESLASH => 20,
263
+ :NOT => 21,
264
+ :EQUAL => 22,
265
+ :RPAREN => 23,
266
+ :LSQUARE => 24,
267
+ :RSQUARE => 25,
268
+ :HAS => 26,
269
+ "@" => 27,
270
+ "." => 28,
271
+ "*" => 29,
272
+ "|" => 30,
273
+ ":" => 31 }
274
+
275
+ racc_nt_base = 32
276
+
277
+ racc_use_result_var = true
278
+
279
+ Racc_arg = [
280
+ racc_action_table,
281
+ racc_action_check,
282
+ racc_action_default,
283
+ racc_action_pointer,
284
+ racc_goto_table,
285
+ racc_goto_check,
286
+ racc_goto_default,
287
+ racc_goto_pointer,
288
+ racc_nt_base,
289
+ racc_reduce_table,
290
+ racc_token_table,
291
+ racc_shift_n,
292
+ racc_reduce_n,
293
+ racc_use_result_var ]
294
+
295
+ Racc_token_to_s_table = [
296
+ "$end",
297
+ "error",
298
+ "FUNCTION",
299
+ "INCLUDES",
300
+ "DASHMATCH",
301
+ "LBRACE",
302
+ "HASH",
303
+ "PLUS",
304
+ "GREATER",
305
+ "S",
306
+ "STRING",
307
+ "IDENT",
308
+ "COMMA",
309
+ "NUMBER",
310
+ "PREFIXMATCH",
311
+ "SUFFIXMATCH",
312
+ "SUBSTRINGMATCH",
313
+ "TILDE",
314
+ "NOT_EQUAL",
315
+ "SLASH",
316
+ "DOUBLESLASH",
317
+ "NOT",
318
+ "EQUAL",
319
+ "RPAREN",
320
+ "LSQUARE",
321
+ "RSQUARE",
322
+ "HAS",
323
+ "\"@\"",
324
+ "\".\"",
325
+ "\"*\"",
326
+ "\"|\"",
327
+ "\":\"",
328
+ "$start",
329
+ "selector",
330
+ "simple_selector_1toN",
331
+ "prefixless_combinator_selector",
332
+ "optional_S",
333
+ "combinator",
334
+ "xpath_attribute_name",
335
+ "xpath_attribute",
336
+ "simple_selector",
337
+ "element_name",
338
+ "hcap_0toN",
339
+ "function",
340
+ "pseudo",
341
+ "attrib",
342
+ "hcap_1toN",
343
+ "class",
344
+ "namespaced_ident",
345
+ "namespace",
346
+ "attrib_name",
347
+ "attrib_val_0or1",
348
+ "expr",
349
+ "nth",
350
+ "attribute_id",
351
+ "negation",
352
+ "eql_incl_dash",
353
+ "negation_arg" ]
354
+
355
+ Racc_debug_parser = false
356
+
357
+ ##### State transition tables end #####
358
+
359
+ # reduce 0 omitted
360
+
361
+ def _reduce_1(val, _values, result)
362
+ result = [val[0], val[2]].flatten
363
+
364
+ result
365
+ end
366
+
367
+ def _reduce_2(val, _values, result)
368
+ result = val.flatten
369
+ result
370
+ end
371
+
372
+ def _reduce_3(val, _values, result)
373
+ result = [val[1]].flatten
374
+ result
375
+ end
376
+
377
+ def _reduce_4(val, _values, result)
378
+ result = :DIRECT_ADJACENT_SELECTOR
379
+ result
380
+ end
381
+
382
+ def _reduce_5(val, _values, result)
383
+ result = :CHILD_SELECTOR
384
+ result
385
+ end
386
+
387
+ def _reduce_6(val, _values, result)
388
+ result = :FOLLOWING_SELECTOR
389
+ result
390
+ end
391
+
392
+ def _reduce_7(val, _values, result)
393
+ result = :DESCENDANT_SELECTOR
394
+ result
395
+ end
396
+
397
+ def _reduce_8(val, _values, result)
398
+ result = :CHILD_SELECTOR
399
+ result
400
+ end
401
+
402
+ def _reduce_9(val, _values, result)
403
+ result = val[1]
404
+ result
405
+ end
406
+
407
+ def _reduce_10(val, _values, result)
408
+ result = Node.new(:ATTRIB_NAME, [val[0]])
409
+ result
410
+ end
411
+
412
+ def _reduce_11(val, _values, result)
413
+ result = if val[1].nil?
414
+ val[0]
415
+ else
416
+ Node.new(:CONDITIONAL_SELECTOR, [val[0], val[1]])
417
+ end
418
+
419
+ result
420
+ end
421
+
422
+ # reduce 12 omitted
423
+
424
+ def _reduce_13(val, _values, result)
425
+ result = Node.new(:CONDITIONAL_SELECTOR, val)
426
+ result
427
+ end
428
+
429
+ def _reduce_14(val, _values, result)
430
+ result = Node.new(:CONDITIONAL_SELECTOR, val)
431
+ result
432
+ end
433
+
434
+ def _reduce_15(val, _values, result)
435
+ result = Node.new(:CONDITIONAL_SELECTOR, [Node.new(:ELEMENT_NAME, ['*']), val[0]])
436
+ result
437
+ end
438
+
439
+ # reduce 16 omitted
440
+
441
+ def _reduce_17(val, _values, result)
442
+ result = Node.new(val[0], [nil, val[1]])
443
+ result
444
+ end
445
+
446
+ def _reduce_18(val, _values, result)
447
+ result = Node.new(val[1], [val[0], val[2]])
448
+ result
449
+ end
450
+
451
+ def _reduce_19(val, _values, result)
452
+ result = Node.new(:DESCENDANT_SELECTOR, [val[0], val[2]])
453
+ result
454
+ end
455
+
456
+ # reduce 20 omitted
457
+
458
+ def _reduce_21(val, _values, result)
459
+ result = Node.new(:CLASS_CONDITION, [unescape_css_identifier(val[1])])
460
+ result
461
+ end
462
+
463
+ # reduce 22 omitted
464
+
465
+ def _reduce_23(val, _values, result)
466
+ result = Node.new(:ELEMENT_NAME, val)
467
+ result
468
+ end
469
+
470
+ def _reduce_24(val, _values, result)
471
+ result = Node.new(:ELEMENT_NAME, [[val[0], val[2]].compact.join(':')])
472
+ result
473
+ end
474
+
475
+ def _reduce_25(val, _values, result)
476
+ name = @namespaces.key?('xmlns') ? "xmlns:#{val[0]}" : val[0]
477
+ result = Node.new(:ELEMENT_NAME, [name])
478
+
479
+ result
480
+ end
481
+
482
+ def _reduce_26(val, _values, result)
483
+ result = val[0]
484
+ result
485
+ end
486
+
487
+ # reduce 27 omitted
488
+
489
+ def _reduce_28(val, _values, result)
490
+ result = Node.new(:ATTRIBUTE_CONDITION, [val[1]] + (val[2] || []))
491
+
492
+ result
493
+ end
494
+
495
+ def _reduce_29(val, _values, result)
496
+ result = Node.new(:ATTRIBUTE_CONDITION, [val[1]] + (val[2] || []))
497
+
498
+ result
499
+ end
500
+
501
+ def _reduce_30(val, _values, result)
502
+ result = Node.new(:PSEUDO_CLASS, [Node.new(:FUNCTION, ['nth-child(', val[1]])])
503
+
504
+ result
505
+ end
506
+
507
+ def _reduce_31(val, _values, result)
508
+ result = Node.new(:ATTRIB_NAME, [[val[0], val[2]].compact.join(':')])
509
+ result
510
+ end
511
+
512
+ def _reduce_32(val, _values, result)
513
+ result = Node.new(:ATTRIB_NAME, [val[0]])
514
+ result
515
+ end
516
+
517
+ # reduce 33 omitted
518
+
519
+ def _reduce_34(val, _values, result)
520
+ result = Node.new(:FUNCTION, [val[0].strip])
521
+
522
+ result
523
+ end
524
+
525
+ def _reduce_35(val, _values, result)
526
+ result = Node.new(:FUNCTION, [val[0].strip, val[1]].flatten)
527
+
528
+ result
529
+ end
530
+
531
+ def _reduce_36(val, _values, result)
532
+ result = Node.new(:FUNCTION, [val[0].strip, val[1]].flatten)
533
+
534
+ result
535
+ end
536
+
537
+ def _reduce_37(val, _values, result)
538
+ result = Node.new(:FUNCTION, [val[0].strip, val[1]].flatten)
539
+
540
+ result
541
+ end
542
+
543
+ def _reduce_38(val, _values, result)
544
+ result = Node.new(:FUNCTION, [val[0].strip, val[1]].flatten)
545
+
546
+ result
547
+ end
548
+
549
+ def _reduce_39(val, _values, result)
550
+ result = [val[0], val[2]]
551
+ result
552
+ end
553
+
554
+ def _reduce_40(val, _values, result)
555
+ result = [val[0], val[2]]
556
+ result
557
+ end
558
+
559
+ def _reduce_41(val, _values, result)
560
+ result = [val[0], val[2]]
561
+ result
562
+ end
563
+
564
+ def _reduce_42(val, _values, result)
565
+ result = [val[0], val[2]]
566
+ result
567
+ end
568
+
569
+ # reduce 43 omitted
570
+
571
+ # reduce 44 omitted
572
+
573
+ def _reduce_45(val, _values, result)
574
+ case val[0]
575
+ when 'even'
576
+ result = Node.new(:NTH, ['2','n','+','0'])
577
+ when 'odd'
578
+ result = Node.new(:NTH, ['2','n','+','1'])
579
+ when 'n'
580
+ result = Node.new(:NTH, ['1','n','+','0'])
581
+ else
582
+ result = val
583
+ end
584
+
585
+ result
586
+ end
587
+
588
+ # reduce 46 omitted
589
+
590
+ def _reduce_47(val, _values, result)
591
+ if val[1] == 'n'
592
+ result = Node.new(:NTH, val)
593
+ else
594
+ raise Racc::ParseError, "parse error on IDENT '#{val[1]}'"
595
+ end
596
+
597
+ result
598
+ end
599
+
600
+ def _reduce_48(val, _values, result)
601
+ # n+3, -n+3
602
+ if val[0] == 'n'
603
+ val.unshift("1")
604
+ result = Node.new(:NTH, val)
605
+ elsif val[0] == '-n'
606
+ val[0] = 'n'
607
+ val.unshift("-1")
608
+ result = Node.new(:NTH, val)
609
+ else
610
+ raise Racc::ParseError, "parse error on IDENT '#{val[1]}'"
611
+ end
612
+
613
+ result
614
+ end
615
+
616
+ def _reduce_49(val, _values, result)
617
+ # 5n, -5n, 10n-1
618
+ n = val[1]
619
+ if n[0, 2] == 'n-'
620
+ val[1] = 'n'
621
+ val << "-"
622
+ # b is contained in n as n is the string "n-b"
623
+ val << n[2, n.size]
624
+ result = Node.new(:NTH, val)
625
+ elsif n == 'n'
626
+ val << "+"
627
+ val << "0"
628
+ result = Node.new(:NTH, val)
629
+ else
630
+ raise Racc::ParseError, "parse error on IDENT '#{val[1]}'"
631
+ end
632
+
633
+ result
634
+ end
635
+
636
+ def _reduce_50(val, _values, result)
637
+ result = Node.new(:PSEUDO_CLASS, [val[1]])
638
+
639
+ result
640
+ end
641
+
642
+ def _reduce_51(val, _values, result)
643
+ result = Node.new(:PSEUDO_CLASS, [val[1]])
644
+ result
645
+ end
646
+
647
+ # reduce 52 omitted
648
+
649
+ # reduce 53 omitted
650
+
651
+ def _reduce_54(val, _values, result)
652
+ result = Node.new(:COMBINATOR, val)
653
+
654
+ result
655
+ end
656
+
657
+ def _reduce_55(val, _values, result)
658
+ result = Node.new(:COMBINATOR, val)
659
+
660
+ result
661
+ end
662
+
663
+ def _reduce_56(val, _values, result)
664
+ result = Node.new(:COMBINATOR, val)
665
+
666
+ result
667
+ end
668
+
669
+ def _reduce_57(val, _values, result)
670
+ result = Node.new(:COMBINATOR, val)
671
+
672
+ result
673
+ end
674
+
675
+ def _reduce_58(val, _values, result)
676
+ result = Node.new(:COMBINATOR, val)
677
+
678
+ result
679
+ end
680
+
681
+ # reduce 59 omitted
682
+
683
+ # reduce 60 omitted
684
+
685
+ # reduce 61 omitted
686
+
687
+ # reduce 62 omitted
688
+
689
+ # reduce 63 omitted
690
+
691
+ def _reduce_64(val, _values, result)
692
+ result = Node.new(:ID, [unescape_css_identifier(val[0])])
693
+ result
694
+ end
695
+
696
+ def _reduce_65(val, _values, result)
697
+ result = [val[0], unescape_css_identifier(val[1])]
698
+ result
699
+ end
700
+
701
+ def _reduce_66(val, _values, result)
702
+ result = [val[0], unescape_css_string(val[1])]
703
+ result
704
+ end
705
+
706
+ def _reduce_67(val, _values, result)
707
+ result = [val[0], val[1]]
708
+ result
709
+ end
710
+
711
+ # reduce 68 omitted
712
+
713
+ def _reduce_69(val, _values, result)
714
+ result = :equal
715
+ result
716
+ end
717
+
718
+ def _reduce_70(val, _values, result)
719
+ result = :prefix_match
720
+ result
721
+ end
722
+
723
+ def _reduce_71(val, _values, result)
724
+ result = :suffix_match
725
+ result
726
+ end
727
+
728
+ def _reduce_72(val, _values, result)
729
+ result = :substring_match
730
+ result
731
+ end
732
+
733
+ def _reduce_73(val, _values, result)
734
+ result = :not_equal
735
+ result
736
+ end
737
+
738
+ def _reduce_74(val, _values, result)
739
+ result = :includes
740
+ result
741
+ end
742
+
743
+ def _reduce_75(val, _values, result)
744
+ result = :dash_match
745
+ result
746
+ end
747
+
748
+ def _reduce_76(val, _values, result)
749
+ result = Node.new(:NOT, [val[1]])
750
+
751
+ result
752
+ end
753
+
754
+ # reduce 77 omitted
755
+
756
+ # reduce 78 omitted
757
+
758
+ # reduce 79 omitted
759
+
760
+ # reduce 80 omitted
761
+
762
+ # reduce 81 omitted
763
+
764
+ def _reduce_none(val, _values, result)
765
+ val[0]
766
+ end
767
+
768
+ end # class Parser
769
+ end # module CSS
770
+ end # module Nokogiri