csspool 0.2.6 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (138) hide show
  1. data/.autotest +16 -0
  2. data/{CHANGELOG.txt → CHANGELOG.rdoc} +10 -0
  3. data/Manifest.txt +60 -72
  4. data/README.rdoc +78 -0
  5. data/Rakefile +9 -52
  6. data/lib/csspool/collection.rb +50 -0
  7. data/lib/csspool/css/charset.rb +7 -0
  8. data/lib/csspool/css/declaration.rb +8 -0
  9. data/lib/csspool/css/document.rb +34 -0
  10. data/lib/csspool/css/document_handler.rb +51 -0
  11. data/lib/csspool/css/import_rule.rb +15 -0
  12. data/lib/csspool/css/media.rb +7 -0
  13. data/lib/csspool/css/rule_set.rb +12 -0
  14. data/lib/csspool/css.rb +7 -0
  15. data/lib/csspool/lib_croco/cr_additional_sel.rb +46 -0
  16. data/lib/csspool/lib_croco/cr_attr_sel.rb +16 -0
  17. data/lib/csspool/lib_croco/cr_doc_handler.rb +24 -0
  18. data/lib/csspool/lib_croco/cr_num.rb +13 -0
  19. data/lib/csspool/lib_croco/cr_parser.rb +11 -0
  20. data/lib/csspool/lib_croco/cr_parsing_location.rb +17 -0
  21. data/lib/csspool/lib_croco/cr_pseudo.rb +14 -0
  22. data/lib/csspool/lib_croco/cr_rgb.rb +18 -0
  23. data/lib/csspool/lib_croco/cr_selector.rb +34 -0
  24. data/lib/csspool/lib_croco/cr_simple_sel.rb +54 -0
  25. data/lib/csspool/lib_croco/cr_term.rb +97 -0
  26. data/lib/csspool/lib_croco/glist.rb +21 -0
  27. data/lib/csspool/lib_croco.rb +78 -0
  28. data/lib/csspool/node.rb +5 -0
  29. data/lib/csspool/sac/document.rb +35 -0
  30. data/lib/csspool/sac/parser.rb +122 -0
  31. data/lib/csspool/sac.rb +2 -0
  32. data/lib/csspool/selector.rb +32 -0
  33. data/lib/csspool/selectors/additional.rb +6 -0
  34. data/lib/csspool/selectors/attribute.rb +21 -0
  35. data/lib/csspool/selectors/class.rb +11 -0
  36. data/lib/csspool/selectors/id.rb +11 -0
  37. data/lib/csspool/selectors/pseudo_class.rb +13 -0
  38. data/lib/csspool/selectors/simple.rb +22 -0
  39. data/lib/csspool/selectors/type.rb +6 -0
  40. data/lib/csspool/selectors/universal.rb +6 -0
  41. data/lib/csspool/selectors.rb +8 -0
  42. data/lib/csspool/terms/function.rb +17 -0
  43. data/lib/csspool/terms/hash.rb +6 -0
  44. data/lib/csspool/terms/ident.rb +15 -0
  45. data/lib/csspool/terms/number.rb +14 -0
  46. data/lib/csspool/terms/rgb.rb +23 -0
  47. data/lib/csspool/terms/string.rb +6 -0
  48. data/lib/csspool/terms/uri.rb +6 -0
  49. data/lib/csspool/terms.rb +7 -0
  50. data/lib/csspool/visitable.rb +18 -0
  51. data/lib/csspool/visitors/comparable.rb +78 -0
  52. data/lib/csspool/visitors/to_css.rb +201 -0
  53. data/lib/csspool/visitors/visitor.rb +17 -0
  54. data/lib/csspool/visitors.rb +3 -0
  55. data/lib/csspool.rb +18 -1
  56. data/test/css/test_document.rb +13 -0
  57. data/test/css/test_import_rule.rb +42 -0
  58. data/test/helper.rb +62 -6
  59. data/test/sac/test_parser.rb +115 -0
  60. data/test/sac/test_properties.rb +43 -0
  61. data/test/sac/test_terms.rb +134 -0
  62. data/test/test_collection.rb +81 -0
  63. data/test/test_parser.rb +75 -241
  64. data/test/test_selector.rb +45 -34
  65. data/test/visitors/test_comparable.rb +72 -0
  66. data/test/visitors/test_to_css.rb +141 -0
  67. metadata +98 -85
  68. data/README.txt +0 -79
  69. data/lib/css/sac/conditions/attribute_condition.rb +0 -56
  70. data/lib/css/sac/conditions/begin_hyphen_condition.rb +0 -22
  71. data/lib/css/sac/conditions/class_condition.rb +0 -22
  72. data/lib/css/sac/conditions/combinator_condition.rb +0 -40
  73. data/lib/css/sac/conditions/condition.rb +0 -35
  74. data/lib/css/sac/conditions/id_condition.rb +0 -27
  75. data/lib/css/sac/conditions/one_of_condition.rb +0 -22
  76. data/lib/css/sac/conditions/pseudo_class_condition.rb +0 -24
  77. data/lib/css/sac/conditions.rb +0 -5
  78. data/lib/css/sac/document_handler.rb +0 -67
  79. data/lib/css/sac/error_handler.rb +0 -14
  80. data/lib/css/sac/generated_parser.rb +0 -999
  81. data/lib/css/sac/generated_property_parser.rb +0 -9214
  82. data/lib/css/sac/lexeme.rb +0 -29
  83. data/lib/css/sac/lexical_unit.rb +0 -203
  84. data/lib/css/sac/parse_exception.rb +0 -6
  85. data/lib/css/sac/parser.rb +0 -115
  86. data/lib/css/sac/property_parser.rb +0 -47
  87. data/lib/css/sac/selectors/child_selector.rb +0 -40
  88. data/lib/css/sac/selectors/conditional_selector.rb +0 -49
  89. data/lib/css/sac/selectors/descendant_selector.rb +0 -40
  90. data/lib/css/sac/selectors/element_selector.rb +0 -39
  91. data/lib/css/sac/selectors/selector.rb +0 -31
  92. data/lib/css/sac/selectors/sibling_selector.rb +0 -39
  93. data/lib/css/sac/selectors/simple_selector.rb +0 -25
  94. data/lib/css/sac/selectors.rb +0 -5
  95. data/lib/css/sac/token.rb +0 -27
  96. data/lib/css/sac/tokenizer.rb +0 -187
  97. data/lib/css/sac/visitable.rb +0 -106
  98. data/lib/css/sac.rb +0 -14
  99. data/lib/css/stylesheet/rule.rb +0 -20
  100. data/lib/css/stylesheet/stylesheet.rb +0 -96
  101. data/lib/css/stylesheet.rb +0 -3
  102. data/lib/parser.y +0 -308
  103. data/lib/property_parser.y +0 -2346
  104. data/lib/property_parser.y.erb +0 -1321
  105. data/test/condition_test_case.rb +0 -6
  106. data/test/selector_test_case.rb +0 -20
  107. data/test/test_all.rb +0 -4
  108. data/test/test_attribute_condition.rb +0 -39
  109. data/test/test_begin_hyphen_condition.rb +0 -15
  110. data/test/test_child_selector.rb +0 -60
  111. data/test/test_class_condition.rb +0 -15
  112. data/test/test_combinator_condition.rb +0 -38
  113. data/test/test_condition.rb +0 -31
  114. data/test/test_conditional_selector.rb +0 -44
  115. data/test/test_descendant_selector.rb +0 -64
  116. data/test/test_element_selector.rb +0 -31
  117. data/test/test_error_recovery.rb +0 -28
  118. data/test/test_id_condition.rb +0 -16
  119. data/test/test_lexeme.rb +0 -39
  120. data/test/test_lexical_color.rb +0 -49
  121. data/test/test_lexical_function.rb +0 -31
  122. data/test/test_lexical_ident.rb +0 -30
  123. data/test/test_lexical_number.rb +0 -68
  124. data/test/test_lexical_string.rb +0 -23
  125. data/test/test_lexical_unit.rb +0 -106
  126. data/test/test_lexical_uri.rb +0 -28
  127. data/test/test_one_of_condition.rb +0 -15
  128. data/test/test_parse_error.rb +0 -199
  129. data/test/test_property_parser.rb +0 -593
  130. data/test/test_selector_as_string.rb +0 -94
  131. data/test/test_selector_parser.rb +0 -178
  132. data/test/test_sibling_selector.rb +0 -42
  133. data/test/test_simple_selector.rb +0 -9
  134. data/test/test_specificity.rb +0 -76
  135. data/test/test_stylesheet.rb +0 -95
  136. data/test/test_token.rb +0 -24
  137. data/test/test_tokenizer.rb +0 -127
  138. data/test/test_xpath.rb +0 -105
@@ -1,999 +0,0 @@
1
- #
2
- # DO NOT MODIFY!!!!
3
- # This file is automatically generated by racc 1.4.5
4
- # from racc grammer file "lib/parser.y".
5
- #
6
-
7
- require 'racc/parser'
8
-
9
-
10
- require "css/sac/conditions"
11
- require "css/sac/selectors"
12
-
13
-
14
- module CSS
15
-
16
- module SAC
17
-
18
- class GeneratedParser < Racc::Parser
19
-
20
- module_eval <<'..end lib/parser.y modeval..id1128ccb808', 'lib/parser.y', 307
21
- include CSS::SAC::Conditions
22
- include CSS::SAC::Selectors
23
- ..end lib/parser.y modeval..id1128ccb808
24
-
25
- ##### racc 1.4.5 generates ###
26
-
27
- racc_reduce_table = [
28
- 0, 0, :racc_error,
29
- 9, 44, :_reduce_none,
30
- 3, 44, :_reduce_none,
31
- 3, 48, :_reduce_none,
32
- 3, 48, :_reduce_none,
33
- 3, 48, :_reduce_none,
34
- 2, 48, :_reduce_none,
35
- 2, 48, :_reduce_none,
36
- 2, 48, :_reduce_none,
37
- 0, 48, :_reduce_none,
38
- 7, 52, :_reduce_10,
39
- 7, 55, :_reduce_11,
40
- 5, 55, :_reduce_12,
41
- 3, 47, :_reduce_none,
42
- 3, 47, :_reduce_none,
43
- 0, 47, :_reduce_none,
44
- 7, 50, :_reduce_16,
45
- 2, 57, :_reduce_17,
46
- 3, 57, :_reduce_18,
47
- 2, 60, :_reduce_none,
48
- 1, 54, :_reduce_none,
49
- 0, 54, :_reduce_none,
50
- 4, 59, :_reduce_22,
51
- 1, 59, :_reduce_23,
52
- 7, 51, :_reduce_24,
53
- 4, 61, :_reduce_25,
54
- 1, 63, :_reduce_none,
55
- 0, 63, :_reduce_none,
56
- 2, 64, :_reduce_28,
57
- 0, 64, :_reduce_none,
58
- 2, 65, :_reduce_none,
59
- 2, 65, :_reduce_none,
60
- 0, 65, :_reduce_none,
61
- 2, 66, :_reduce_33,
62
- 2, 66, :_reduce_34,
63
- 1, 66, :_reduce_35,
64
- 1, 67, :_reduce_none,
65
- 1, 67, :_reduce_none,
66
- 2, 68, :_reduce_none,
67
- 5, 49, :_reduce_39,
68
- 2, 58, :_reduce_none,
69
- 1, 58, :_reduce_none,
70
- 0, 58, :_reduce_none,
71
- 1, 70, :_reduce_43,
72
- 3, 69, :_reduce_44,
73
- 3, 69, :_reduce_45,
74
- 2, 69, :_reduce_46,
75
- 4, 72, :_reduce_47,
76
- 1, 72, :_reduce_none,
77
- 2, 73, :_reduce_49,
78
- 1, 73, :_reduce_50,
79
- 3, 71, :_reduce_51,
80
- 1, 71, :_reduce_none,
81
- 2, 77, :_reduce_53,
82
- 1, 74, :_reduce_54,
83
- 1, 74, :_reduce_55,
84
- 6, 78, :_reduce_56,
85
- 2, 80, :_reduce_57,
86
- 2, 80, :_reduce_58,
87
- 5, 82, :_reduce_59,
88
- 4, 62, :_reduce_none,
89
- 5, 62, :_reduce_61,
90
- 4, 62, :_reduce_62,
91
- 1, 62, :_reduce_none,
92
- 4, 62, :_reduce_none,
93
- 0, 62, :_reduce_none,
94
- 2, 85, :_reduce_none,
95
- 1, 84, :_reduce_none,
96
- 0, 84, :_reduce_none,
97
- 3, 83, :_reduce_69,
98
- 1, 83, :_reduce_none,
99
- 2, 86, :_reduce_71,
100
- 1, 86, :_reduce_72,
101
- 2, 86, :_reduce_none,
102
- 2, 86, :_reduce_none,
103
- 2, 86, :_reduce_none,
104
- 1, 86, :_reduce_none,
105
- 1, 86, :_reduce_none,
106
- 2, 87, :_reduce_none,
107
- 2, 87, :_reduce_none,
108
- 2, 87, :_reduce_none,
109
- 2, 87, :_reduce_none,
110
- 2, 87, :_reduce_none,
111
- 2, 87, :_reduce_none,
112
- 2, 87, :_reduce_none,
113
- 2, 87, :_reduce_none,
114
- 5, 81, :_reduce_86,
115
- 6, 81, :_reduce_87,
116
- 2, 88, :_reduce_none,
117
- 1, 75, :_reduce_none,
118
- 0, 75, :_reduce_none,
119
- 2, 76, :_reduce_91,
120
- 2, 76, :_reduce_92,
121
- 2, 76, :_reduce_93,
122
- 2, 76, :_reduce_94,
123
- 1, 76, :_reduce_none,
124
- 1, 76, :_reduce_none,
125
- 1, 76, :_reduce_none,
126
- 1, 76, :_reduce_none,
127
- 1, 89, :_reduce_99,
128
- 4, 79, :_reduce_100,
129
- 4, 79, :_reduce_101,
130
- 0, 79, :_reduce_none,
131
- 1, 90, :_reduce_none,
132
- 1, 90, :_reduce_none,
133
- 1, 90, :_reduce_none,
134
- 1, 53, :_reduce_none,
135
- 1, 53, :_reduce_none,
136
- 3, 56, :_reduce_none,
137
- 3, 56, :_reduce_none,
138
- 2, 56, :_reduce_none,
139
- 2, 56, :_reduce_none,
140
- 2, 45, :_reduce_none,
141
- 2, 45, :_reduce_none,
142
- 2, 45, :_reduce_none,
143
- 1, 45, :_reduce_none,
144
- 1, 45, :_reduce_none,
145
- 1, 45, :_reduce_none,
146
- 0, 45, :_reduce_none,
147
- 2, 46, :_reduce_none,
148
- 0, 46, :_reduce_none ]
149
-
150
- racc_reduce_n = 121
151
-
152
- racc_shift_n = 230
153
-
154
- racc_action_table = [
155
- 108, 166, 54, -70, 138, 189, 190, 8, 149, 50,
156
- 107, 53, 48, 12, 172, 50, 107, 84, 48, 62,
157
- 19, 84, 8, 63, 36, 19, -70, 83, 12, 19,
158
- 61, 83, -70, 139, -70, 50, 173, 100, 48, 8,
159
- 167, 110, -70, 191, 54, 12, -120, 110, 123, 127,
160
- -120, 21, 132, 116, 26, 119, 32, 19, 122, 125,
161
- 126, 128, 129, 131, 114, 117, 145, 54, 5, 99,
162
- 146, 123, 127, 3, 4, 132, 116, 120, 119, 224,
163
- 223, 122, 125, 126, 128, 129, 131, 114, 117, 36,
164
- 54, 72, 73, 74, 123, 127, 91, 36, 132, 116,
165
- 120, 119, 22, 96, 122, 125, 126, 128, 129, 131,
166
- 114, 117, 36, 19, 135, 136, 21, 22, 137, 26,
167
- 36, 32, 95, 120, 21, 22, 140, 26, 28, 32,
168
- 91, 19, 30, 34, 50, 107, 19, 48, 90, 21,
169
- 30, 34, 26, 28, 32, 147, 19, 21, 36, 19,
170
- 26, 28, 32, 22, 5, 84, 36, 19, 152, 3,
171
- 4, 22, 36, 19, 19, 83, 110, 22, 30, 34,
172
- 36, 36, 154, 91, 19, 21, 30, 34, 26, 28,
173
- 32, 36, 19, 21, -120, 36, 26, 28, 32, 21,
174
- 22, 36, 26, 28, 32, 158, 22, 21, 21, 36,
175
- 26, 26, 32, 32, 22, 30, 34, 19, 21, 19,
176
- 19, 26, 21, 32, 5, 26, 28, 32, 21, 3,
177
- 4, 26, 28, 32, 84, 84, 21, 19, 84, 26,
178
- 28, 32, 19, 19, 83, 83, 19, 19, 83, 122,
179
- 125, 126, 128, 129, 131, 114, 117, 19, 19, 8,
180
- 19, 19, 10, -120, -120, 12, 5, -120, 5, 19,
181
- 5, 3, 4, 3, 4, 3, 4, 5, 19, 5,
182
- 19, 5, 3, 4, 3, 4, 3, 4, 19, 19,
183
- 19, 19, 19, 19, 180, 19, 19, 61, 19, 185,
184
- 19, 78, 192, 19, 19, 19, 196, 19, 19, 199,
185
- 19, 19, 19, 19, 19, 19, 59, 19, 19, 209,
186
- 46, 91, 19, 213, 214, 19, 19, 19, 218, 19,
187
- 19, 16, 19, 6, 19, 19, 19 ]
188
-
189
- racc_action_check = [
190
- 80, 124, 21, 130, 87, 148, 148, 17, 97, 80,
191
- 80, 21, 80, 17, 130, 153, 153, 207, 153, 29,
192
- 73, 177, 45, 29, 42, 207, 130, 207, 45, 177,
193
- 29, 177, 130, 87, 130, 18, 130, 69, 18, 194,
194
- 124, 80, 130, 148, 82, 194, 207, 153, 82, 82,
195
- 177, 42, 82, 82, 42, 82, 42, 78, 82, 82,
196
- 82, 82, 82, 82, 82, 82, 93, 174, 11, 68,
197
- 93, 174, 174, 11, 11, 174, 174, 82, 174, 212,
198
- 212, 174, 174, 174, 174, 174, 174, 174, 174, 20,
199
- 179, 40, 40, 40, 179, 179, 81, 89, 179, 179,
200
- 174, 179, 89, 66, 179, 179, 179, 179, 179, 179,
201
- 179, 179, 67, 83, 84, 85, 20, 67, 86, 20,
202
- 9, 20, 65, 179, 89, 9, 88, 89, 89, 89,
203
- 64, 91, 67, 67, 157, 157, 92, 157, 62, 67,
204
- 9, 9, 67, 67, 67, 94, 95, 9, 75, 72,
205
- 9, 9, 9, 75, 0, 178, 70, 100, 106, 0,
206
- 0, 70, 184, 178, 107, 178, 157, 184, 75, 75,
207
- 23, 24, 108, 109, 110, 75, 70, 70, 75, 75,
208
- 75, 25, 111, 70, 178, 215, 70, 70, 70, 184,
209
- 215, 144, 184, 184, 184, 113, 144, 23, 24, 71,
210
- 23, 24, 23, 24, 71, 215, 215, 114, 25, 116,
211
- 117, 25, 215, 25, 41, 215, 215, 215, 144, 41,
212
- 41, 144, 144, 144, 60, 151, 71, 61, 181, 71,
213
- 71, 71, 60, 151, 60, 151, 181, 119, 181, 118,
214
- 118, 118, 118, 118, 118, 118, 118, 122, 123, 2,
215
- 54, 125, 2, 60, 151, 2, 39, 181, 3, 126,
216
- 5, 39, 39, 3, 3, 5, 5, 35, 128, 4,
217
- 129, 7, 35, 35, 4, 4, 7, 7, 49, 131,
218
- 132, 135, 136, 137, 138, 139, 140, 141, 46, 145,
219
- 147, 44, 149, 38, 152, 37, 155, 34, 158, 166,
220
- 167, 172, 173, 32, 30, 27, 26, 180, 19, 183,
221
- 12, 186, 187, 188, 193, 10, 196, 199, 206, 8,
222
- 209, 6, 214, 1, 218, 223, 224 ]
223
-
224
- racc_action_pointer = [
225
- 145, 323, 224, 249, 260, 251, 321, 262, 310, 114,
226
- 306, 59, 299, nil, nil, nil, nil, -18, 25, 299,
227
- 83, 0, nil, 164, 165, 175, 295, 296, nil, 18,
228
- 295, nil, 294, nil, 288, 258, nil, 286, 284, 247,
229
- 84, 205, 18, nil, 281, -3, 279, nil, nil, 269,
230
- nil, nil, nil, nil, 241, nil, nil, nil, nil, nil,
231
- 223, 218, 133, nil, 119, 111, 92, 106, 64, 32,
232
- 150, 193, 140, 11, nil, 142, nil, nil, 48, nil,
233
- -1, 85, 42, 104, 84, 85, 85, 3, 94, 91,
234
- nil, 122, 127, 65, 133, 137, nil, -25, nil, nil,
235
- 148, nil, nil, nil, nil, nil, 128, 155, 163, 162,
236
- 165, 173, nil, 165, 198, nil, 200, 201, 223, 228,
237
- nil, nil, 238, 239, 0, 242, 250, nil, 259, 261,
238
- 2, 270, 271, nil, nil, 272, 273, 274, 254, 276,
239
- 277, 275, nil, nil, 185, 284, nil, 281, 2, 281,
240
- nil, 224, 285, 5, nil, 266, nil, 124, 289, nil,
241
- nil, nil, nil, nil, nil, nil, 259, 291, nil, nil,
242
- nil, nil, 292, 293, 65, nil, nil, 20, 154, 88,
243
- 298, 227, nil, 277, 156, nil, 300, 303, 274, nil,
244
- nil, nil, nil, 282, 14, nil, 307, nil, nil, 308,
245
- nil, nil, nil, nil, nil, nil, 294, 16, nil, 311,
246
- nil, nil, 69, nil, 313, 179, nil, nil, 315, nil,
247
- nil, nil, nil, 316, 317, nil, nil, nil, nil, nil ]
248
-
249
- racc_action_default = [
250
- -118, -121, -15, -116, -117, -115, -121, -118, -120, -9,
251
- -120, -118, -121, -113, -114, -112, 230, -15, -121, -120,
252
- -96, -121, -54, -97, -95, -98, -121, -120, -55, -48,
253
- -120, -2, -120, -43, -120, -118, -99, -120, -120, -118,
254
- -52, -118, -90, -50, -121, -15, -120, -14, -107, -120,
255
- -106, -119, -92, -58, -120, -57, -93, -91, -94, -53,
256
- -65, -120, -121, -46, -121, -121, -27, -6, -121, -121,
257
- -7, -121, -120, -120, -35, -8, -49, -89, -120, -13,
258
- -121, -21, -121, -120, -121, -121, -121, -63, -121, -121,
259
- -45, -120, -120, -121, -23, -120, -26, -29, -3, -44,
260
- -120, -4, -51, -33, -34, -5, -121, -120, -121, -21,
261
- -120, -120, -20, -121, -120, -76, -120, -120, -121, -120,
262
- -36, -77, -120, -120, -121, -120, -120, -37, -120, -120,
263
- -32, -120, -120, -72, -38, -120, -120, -120, -121, -120,
264
- -120, -48, -47, -19, -42, -121, -17, -120, -102, -121,
265
- -25, -65, -120, -121, -12, -121, -110, -111, -120, -84,
266
- -74, -85, -71, -75, -78, -88, -121, -120, -79, -80,
267
- -81, -82, -120, -120, -121, -83, -73, -65, -65, -121,
268
- -120, -65, -39, -121, -41, -18, -121, -120, -121, -104,
269
- -105, -103, -28, -121, -15, -109, -120, -108, -10, -120,
270
- -86, -31, -30, -69, -62, -64, -68, -65, -60, -120,
271
- -40, -22, -121, -56, -120, -9, -11, -87, -120, -59,
272
- -67, -61, -16, -120, -120, -24, -1, -66, -100, -101 ]
273
-
274
- racc_goto_table = [
275
- 18, 31, 44, 93, 124, 9, 113, 183, 109, 150,
276
- 2, 51, 184, 13, 14, 15, 88, 17, 97, 60,
277
- 47, 45, 64, 92, 65, 174, 66, 71, 52, 68,
278
- 69, 56, 57, 58, 155, 141, 102, 142, 80, 76,
279
- 49, 81, 188, 55, 1, 67, 82, 210, 79, 70,
280
- 77, 75, 184, 89, 219, 220, 162, 187, nil, 98,
281
- nil, nil, 101, nil, 103, 104, nil, 105, nil, nil,
282
- 106, nil, nil, nil, nil, 134, nil, nil, nil, nil,
283
- nil, 195, nil, 143, 144, 197, nil, 148, nil, nil,
284
- nil, nil, 151, nil, nil, nil, 203, nil, nil, 153,
285
- nil, 206, 156, 157, nil, nil, 159, 193, 160, 161,
286
- nil, 163, nil, nil, 164, 165, nil, 168, 169, nil,
287
- 170, 171, nil, 175, 176, 211, nil, 177, 178, 179,
288
- nil, 181, 182, 204, 205, nil, nil, 208, nil, 186,
289
- nil, nil, nil, nil, 194, nil, nil, nil, nil, nil,
290
- 198, nil, nil, nil, nil, nil, nil, nil, nil, 200,
291
- nil, nil, nil, 221, 201, 202, nil, nil, nil, nil,
292
- nil, nil, 207, nil, nil, nil, nil, nil, nil, 212,
293
- nil, nil, nil, nil, nil, nil, nil, nil, 216, nil,
294
- nil, 217, nil, nil, nil, nil, nil, 215, nil, nil,
295
- nil, 222, nil, nil, nil, nil, 225, 226, nil, nil,
296
- 227, nil, nil, nil, nil, 228, 229 ]
297
-
298
- racc_goto_check = [
299
- 3, 5, 3, 16, 40, 4, 11, 15, 13, 21,
300
- 2, 3, 6, 2, 2, 2, 19, 2, 20, 3,
301
- 4, 2, 3, 14, 3, 22, 3, 23, 33, 3,
302
- 3, 33, 33, 33, 11, 27, 28, 29, 3, 32,
303
- 10, 3, 36, 38, 1, 2, 3, 15, 4, 2,
304
- 33, 2, 6, 3, 41, 42, 44, 47, nil, 5,
305
- nil, nil, 5, nil, 3, 3, nil, 5, nil, nil,
306
- 3, nil, nil, nil, nil, 3, nil, nil, nil, nil,
307
- nil, 13, nil, 3, 3, 13, nil, 3, nil, nil,
308
- nil, nil, 3, nil, nil, nil, 40, nil, nil, 3,
309
- nil, 40, 3, 3, nil, nil, 3, 19, 3, 3,
310
- nil, 3, nil, nil, 3, 3, nil, 3, 3, nil,
311
- 3, 3, nil, 3, 3, 16, nil, 3, 3, 3,
312
- nil, 3, 3, 19, 19, nil, nil, 19, nil, 3,
313
- nil, nil, nil, nil, 3, nil, nil, nil, nil, nil,
314
- 3, nil, nil, nil, nil, nil, nil, nil, nil, 3,
315
- nil, nil, nil, 19, 3, 3, nil, nil, nil, nil,
316
- nil, nil, 3, nil, nil, nil, nil, nil, nil, 3,
317
- nil, nil, nil, nil, nil, nil, nil, nil, 3, nil,
318
- nil, 3, nil, nil, nil, nil, nil, 4, nil, nil,
319
- nil, 3, nil, nil, nil, nil, 3, 5, nil, nil,
320
- 3, nil, nil, nil, nil, 3, 3 ]
321
-
322
- racc_goto_pointer = [
323
- nil, 44, 10, -8, 3, -8, -132, nil, nil, nil,
324
- 22, -75, nil, -72, -41, -137, -61, nil, nil, -44,
325
- -48, -88, -105, -13, nil, nil, nil, -54, -35, -52,
326
- nil, nil, -3, 8, nil, nil, -106, nil, 22, nil,
327
- -78, -152, -151, nil, -62, nil, nil, -91 ]
328
-
329
- racc_goto_default = [
330
- nil, nil, nil, 85, nil, nil, 35, 39, 41, 11,
331
- 111, nil, 7, nil, nil, nil, 112, 94, 38, nil,
332
- nil, nil, nil, nil, 118, 86, 27, 29, 33, 37,
333
- 40, 42, nil, 43, 20, 23, nil, 25, 121, 87,
334
- nil, nil, nil, 130, 133, 115, 24, nil ]
335
-
336
- racc_token_table = {
337
- false => 0,
338
- Object.new => 1,
339
- :FUNCTION => 2,
340
- :INCLUDES => 3,
341
- :DASHMATCH => 4,
342
- :LBRACE => 5,
343
- :HASH => 6,
344
- :PLUS => 7,
345
- :GREATER => 8,
346
- :S => 9,
347
- :STRING => 10,
348
- :IDENT => 11,
349
- :COMMA => 12,
350
- :URI => 13,
351
- :CDO => 14,
352
- :CDC => 15,
353
- :NUMBER => 16,
354
- :PERCENTAGE => 17,
355
- :LENGTH => 18,
356
- :EMS => 19,
357
- :EXS => 20,
358
- :ANGLE => 21,
359
- :TIME => 22,
360
- :FREQ => 23,
361
- :IMPORTANT_SYM => 24,
362
- :IMPORT_SYM => 25,
363
- :MEDIA_SYM => 26,
364
- :PAGE_SYM => 27,
365
- :CHARSET_SYM => 28,
366
- :DIMENSION => 29,
367
- ";" => 30,
368
- "@" => 31,
369
- "}" => 32,
370
- ":" => 33,
371
- "/" => 34,
372
- "-" => 35,
373
- "." => 36,
374
- "*" => 37,
375
- "[" => 38,
376
- "]" => 39,
377
- ")" => 40,
378
- "=" => 41,
379
- :IDEN => 42 }
380
-
381
- racc_use_result_var = true
382
-
383
- racc_nt_base = 43
384
-
385
- Racc_arg = [
386
- racc_action_table,
387
- racc_action_check,
388
- racc_action_default,
389
- racc_action_pointer,
390
- racc_goto_table,
391
- racc_goto_check,
392
- racc_goto_default,
393
- racc_goto_pointer,
394
- racc_nt_base,
395
- racc_reduce_table,
396
- racc_token_table,
397
- racc_shift_n,
398
- racc_reduce_n,
399
- racc_use_result_var ]
400
-
401
- Racc_token_to_s_table = [
402
- '$end',
403
- 'error',
404
- 'FUNCTION',
405
- 'INCLUDES',
406
- 'DASHMATCH',
407
- 'LBRACE',
408
- 'HASH',
409
- 'PLUS',
410
- 'GREATER',
411
- 'S',
412
- 'STRING',
413
- 'IDENT',
414
- 'COMMA',
415
- 'URI',
416
- 'CDO',
417
- 'CDC',
418
- 'NUMBER',
419
- 'PERCENTAGE',
420
- 'LENGTH',
421
- 'EMS',
422
- 'EXS',
423
- 'ANGLE',
424
- 'TIME',
425
- 'FREQ',
426
- 'IMPORTANT_SYM',
427
- 'IMPORT_SYM',
428
- 'MEDIA_SYM',
429
- 'PAGE_SYM',
430
- 'CHARSET_SYM',
431
- 'DIMENSION',
432
- '";"',
433
- '"@"',
434
- '"}"',
435
- '":"',
436
- '"/"',
437
- '"-"',
438
- '"."',
439
- '"*"',
440
- '"["',
441
- '"]"',
442
- '")"',
443
- '"="',
444
- 'IDEN',
445
- '$start',
446
- 'stylesheet',
447
- 's_cdo_cdc_0toN',
448
- 's_0toN',
449
- 'import_0toN',
450
- 'ruleset_media_page_0toN',
451
- 'ruleset',
452
- 'media',
453
- 'page',
454
- 'import',
455
- 'string_or_uri',
456
- 'medium_0toN',
457
- 'ignorable_at',
458
- 'string_uri_or_ident_1toN',
459
- 'medium_rollup',
460
- 'ruleset_0toN',
461
- 'medium_1toN',
462
- 'medium',
463
- 'page_start',
464
- 'declaration_0toN',
465
- 'optional_page',
466
- 'optional_pseudo_page',
467
- 'operator',
468
- 'combinator',
469
- 'unary_operator',
470
- 'property',
471
- 'selector_1toN',
472
- 'selector',
473
- 'simple_selector_1toN',
474
- 'selector_list',
475
- 'simple_selector',
476
- 'element_name',
477
- 'hcap_0toN',
478
- 'hcap_1toN',
479
- 'class',
480
- 'attrib',
481
- 'attrib_val_0or1',
482
- 'pseudo',
483
- 'function',
484
- 'declaration',
485
- 'expr',
486
- 'prio_0or1',
487
- 'prio',
488
- 'term',
489
- 'num_or_length',
490
- 'hexcolor',
491
- 'attribute_id',
492
- 'eql_incl_dash']
493
-
494
- Racc_debug_parser = false
495
-
496
- ##### racc system variables end #####
497
-
498
- # reduce 0 omitted
499
-
500
- # reduce 1 omitted
501
-
502
- # reduce 2 omitted
503
-
504
- # reduce 3 omitted
505
-
506
- # reduce 4 omitted
507
-
508
- # reduce 5 omitted
509
-
510
- # reduce 6 omitted
511
-
512
- # reduce 7 omitted
513
-
514
- # reduce 8 omitted
515
-
516
- # reduce 9 omitted
517
-
518
- module_eval <<'.,.,', 'lib/parser.y', 24
519
- def _reduce_10( val, _values, result )
520
- self.document_handler.import_style(val[2], val[4] || [])
521
- result
522
- end
523
- .,.,
524
-
525
- module_eval <<'.,.,', 'lib/parser.y', 29
526
- def _reduce_11( val, _values, result )
527
- self.document_handler.ignorable_at_rule(val[1])
528
- result
529
- end
530
- .,.,
531
-
532
- module_eval <<'.,.,', 'lib/parser.y', 33
533
- def _reduce_12( val, _values, result )
534
- yyerrok
535
- self.document_handler.ignorable_at_rule(val[1])
536
- result
537
- end
538
- .,.,
539
-
540
- # reduce 13 omitted
541
-
542
- # reduce 14 omitted
543
-
544
- # reduce 15 omitted
545
-
546
- module_eval <<'.,.,', 'lib/parser.y', 43
547
- def _reduce_16( val, _values, result )
548
- self.document_handler.end_media(val[2])
549
- result
550
- end
551
- .,.,
552
-
553
- module_eval <<'.,.,', 'lib/parser.y', 45
554
- def _reduce_17( val, _values, result )
555
- self.document_handler.start_media(val.first)
556
- result
557
- end
558
- .,.,
559
-
560
- module_eval <<'.,.,', 'lib/parser.y', 52
561
- def _reduce_18( val, _values, result )
562
- yyerrok
563
- self.document_handler.start_media(val.first)
564
- error = ParseException.new("Error near: \"#{val[0]}\"")
565
- self.error_handler.error(error)
566
- result
567
- end
568
- .,.,
569
-
570
- # reduce 19 omitted
571
-
572
- # reduce 20 omitted
573
-
574
- # reduce 21 omitted
575
-
576
- module_eval <<'.,.,', 'lib/parser.y', 61
577
- def _reduce_22( val, _values, result )
578
- result = [val.first, val.last].flatten
579
- result
580
- end
581
- .,.,
582
-
583
- module_eval <<'.,.,', 'lib/parser.y', 62
584
- def _reduce_23( val, _values, result )
585
- result = [val.first]
586
- result
587
- end
588
- .,.,
589
-
590
- module_eval <<'.,.,', 'lib/parser.y', 69
591
- def _reduce_24( val, _values, result )
592
- page_stuff = val.first
593
- self.document_handler.end_page(page_stuff[0], page_stuff[1])
594
- result
595
- end
596
- .,.,
597
-
598
- module_eval <<'.,.,', 'lib/parser.y', 75
599
- def _reduce_25( val, _values, result )
600
- result = [val[2], val[3]]
601
- self.document_handler.start_page(val[2], val[3])
602
- result
603
- end
604
- .,.,
605
-
606
- # reduce 26 omitted
607
-
608
- # reduce 27 omitted
609
-
610
- module_eval <<'.,.,', 'lib/parser.y', 81
611
- def _reduce_28( val, _values, result )
612
- result = val[1]
613
- result
614
- end
615
- .,.,
616
-
617
- # reduce 29 omitted
618
-
619
- # reduce 30 omitted
620
-
621
- # reduce 31 omitted
622
-
623
- # reduce 32 omitted
624
-
625
- module_eval <<'.,.,', 'lib/parser.y', 90
626
- def _reduce_33( val, _values, result )
627
- result = :SAC_DIRECT_ADJACENT_SELECTOR
628
- result
629
- end
630
- .,.,
631
-
632
- module_eval <<'.,.,', 'lib/parser.y', 91
633
- def _reduce_34( val, _values, result )
634
- result = :SAC_CHILD_SELECTOR
635
- result
636
- end
637
- .,.,
638
-
639
- module_eval <<'.,.,', 'lib/parser.y', 92
640
- def _reduce_35( val, _values, result )
641
- result = :SAC_DESCENDANT_SELECTOR
642
- result
643
- end
644
- .,.,
645
-
646
- # reduce 36 omitted
647
-
648
- # reduce 37 omitted
649
-
650
- # reduce 38 omitted
651
-
652
- module_eval <<'.,.,', 'lib/parser.y', 104
653
- def _reduce_39( val, _values, result )
654
- self.document_handler.end_selector([val.first].flatten.compact)
655
- result
656
- end
657
- .,.,
658
-
659
- # reduce 40 omitted
660
-
661
- # reduce 41 omitted
662
-
663
- # reduce 42 omitted
664
-
665
- module_eval <<'.,.,', 'lib/parser.y', 111
666
- def _reduce_43( val, _values, result )
667
- result = val.flatten
668
- result
669
- end
670
- .,.,
671
-
672
- module_eval <<'.,.,', 'lib/parser.y', 117
673
- def _reduce_44( val, _values, result )
674
- self.document_handler.start_selector([val.first].flatten.compact)
675
- result
676
- end
677
- .,.,
678
-
679
- module_eval <<'.,.,', 'lib/parser.y', 121
680
- def _reduce_45( val, _values, result )
681
- yyerrok
682
- self.document_handler.start_selector([val.first].flatten.compact)
683
- result
684
- end
685
- .,.,
686
-
687
- module_eval <<'.,.,', 'lib/parser.y', 124
688
- def _reduce_46( val, _values, result )
689
- self.document_handler.start_selector([val.first].flatten.compact)
690
- result
691
- end
692
- .,.,
693
-
694
- module_eval <<'.,.,', 'lib/parser.y', 126
695
- def _reduce_47( val, _values, result )
696
- result = [val[0], val[3]]
697
- result
698
- end
699
- .,.,
700
-
701
- # reduce 48 omitted
702
-
703
- module_eval <<'.,.,', 'lib/parser.y', 137
704
- def _reduce_49( val, _values, result )
705
- result = if val[1].nil?
706
- val.first
707
- else
708
- ConditionalSelector.new(val.first, val[1])
709
- end
710
- result
711
- end
712
- .,.,
713
-
714
- module_eval <<'.,.,', 'lib/parser.y', 140
715
- def _reduce_50( val, _values, result )
716
- result = ConditionalSelector.new(nil, val.first)
717
- result
718
- end
719
- .,.,
720
-
721
- module_eval <<'.,.,', 'lib/parser.y', 153
722
- def _reduce_51( val, _values, result )
723
- result =
724
- case val[1]
725
- when :SAC_DIRECT_ADJACENT_SELECTOR
726
- SiblingSelector.new(val.first, val[2])
727
- when :SAC_DESCENDANT_SELECTOR
728
- DescendantSelector.new(val.first, val[2])
729
- when :SAC_CHILD_SELECTOR
730
- ChildSelector.new(val.first, val[2])
731
- end
732
- result
733
- end
734
- .,.,
735
-
736
- # reduce 52 omitted
737
-
738
- module_eval <<'.,.,', 'lib/parser.y', 156
739
- def _reduce_53( val, _values, result )
740
- result = ClassCondition.new(val[1])
741
- result
742
- end
743
- .,.,
744
-
745
- module_eval <<'.,.,', 'lib/parser.y', 159
746
- def _reduce_54( val, _values, result )
747
- result = ElementSelector.new(val.first)
748
- result
749
- end
750
- .,.,
751
-
752
- module_eval <<'.,.,', 'lib/parser.y', 160
753
- def _reduce_55( val, _values, result )
754
- result = SimpleSelector.new()
755
- result
756
- end
757
- .,.,
758
-
759
- module_eval <<'.,.,', 'lib/parser.y', 166
760
- def _reduce_56( val, _values, result )
761
- result = AttributeCondition.build(val[2], val[4])
762
- result
763
- end
764
- .,.,
765
-
766
- module_eval <<'.,.,', 'lib/parser.y', 171
767
- def _reduce_57( val, _values, result )
768
- result = PseudoClassCondition.new(val[1])
769
- result
770
- end
771
- .,.,
772
-
773
- module_eval <<'.,.,', 'lib/parser.y', 171
774
- def _reduce_58( val, _values, result )
775
- result = PseudoClassCondition.new(val[1])
776
- result
777
- end
778
- .,.,
779
-
780
- module_eval <<'.,.,', 'lib/parser.y', 185
781
- def _reduce_59( val, _values, result )
782
- if value = self.property_parser.parse_tokens(
783
- self.tokenizer.tokenize(val.flatten[0..-2].join(' '))
784
- )
785
-
786
- value = [value].flatten
787
-
788
- self.document_handler.property(val.first, value, !val[4].nil?)
789
- result = value
790
- end
791
- result
792
- end
793
- .,.,
794
-
795
- # reduce 60 omitted
796
-
797
- module_eval <<'.,.,', 'lib/parser.y', 193
798
- def _reduce_61( val, _values, result )
799
- yyerrok
800
- error = ParseException.new("Unkown property: \"#{val[1]}\"")
801
- self.error_handler.error(error)
802
- result
803
- end
804
- .,.,
805
-
806
- module_eval <<'.,.,', 'lib/parser.y', 198
807
- def _reduce_62( val, _values, result )
808
- yyerrok
809
- error = ParseException.new("Unkown property: \"#{val[0]}\"")
810
- self.error_handler.error(error)
811
- result
812
- end
813
- .,.,
814
-
815
- # reduce 63 omitted
816
-
817
- # reduce 64 omitted
818
-
819
- # reduce 65 omitted
820
-
821
- # reduce 66 omitted
822
-
823
- # reduce 67 omitted
824
-
825
- # reduce 68 omitted
826
-
827
- module_eval <<'.,.,', 'lib/parser.y', 210
828
- def _reduce_69( val, _values, result )
829
- result = val
830
- result
831
- end
832
- .,.,
833
-
834
- # reduce 70 omitted
835
-
836
- module_eval <<'.,.,', 'lib/parser.y', 214
837
- def _reduce_71( val, _values, result )
838
- result = val
839
- result
840
- end
841
- .,.,
842
-
843
- module_eval <<'.,.,', 'lib/parser.y', 215
844
- def _reduce_72( val, _values, result )
845
- result = val
846
- result
847
- end
848
- .,.,
849
-
850
- # reduce 73 omitted
851
-
852
- # reduce 74 omitted
853
-
854
- # reduce 75 omitted
855
-
856
- # reduce 76 omitted
857
-
858
- # reduce 77 omitted
859
-
860
- # reduce 78 omitted
861
-
862
- # reduce 79 omitted
863
-
864
- # reduce 80 omitted
865
-
866
- # reduce 81 omitted
867
-
868
- # reduce 82 omitted
869
-
870
- # reduce 83 omitted
871
-
872
- # reduce 84 omitted
873
-
874
- # reduce 85 omitted
875
-
876
- module_eval <<'.,.,', 'lib/parser.y', 236
877
- def _reduce_86( val, _values, result )
878
- result = Function.new(val[0], val[2].flatten.select { |x| x !~ /,/ })
879
- result
880
- end
881
- .,.,
882
-
883
- module_eval <<'.,.,', 'lib/parser.y', 236
884
- def _reduce_87( val, _values, result )
885
- yyerrok; result = [val[0], val[2], val[3]]
886
- result
887
- end
888
- .,.,
889
-
890
- # reduce 88 omitted
891
-
892
- # reduce 89 omitted
893
-
894
- # reduce 90 omitted
895
-
896
- module_eval <<'.,.,', 'lib/parser.y', 249
897
- def _reduce_91( val, _values, result )
898
- result = CombinatorCondition.new(val[0], val[1])
899
- result
900
- end
901
- .,.,
902
-
903
- module_eval <<'.,.,', 'lib/parser.y', 252
904
- def _reduce_92( val, _values, result )
905
- result = CombinatorCondition.new(val[0], val[1])
906
- result
907
- end
908
- .,.,
909
-
910
- module_eval <<'.,.,', 'lib/parser.y', 255
911
- def _reduce_93( val, _values, result )
912
- result = CombinatorCondition.new(val[0], val[1])
913
- result
914
- end
915
- .,.,
916
-
917
- module_eval <<'.,.,', 'lib/parser.y', 258
918
- def _reduce_94( val, _values, result )
919
- result = CombinatorCondition.new(val[0], val[1])
920
- result
921
- end
922
- .,.,
923
-
924
- # reduce 95 omitted
925
-
926
- # reduce 96 omitted
927
-
928
- # reduce 97 omitted
929
-
930
- # reduce 98 omitted
931
-
932
- module_eval <<'.,.,', 'lib/parser.y', 264
933
- def _reduce_99( val, _values, result )
934
- result = IDCondition.new(val.first)
935
- result
936
- end
937
- .,.,
938
-
939
- module_eval <<'.,.,', 'lib/parser.y', 267
940
- def _reduce_100( val, _values, result )
941
- result = [val.first, val[2]]
942
- result
943
- end
944
- .,.,
945
-
946
- module_eval <<'.,.,', 'lib/parser.y', 268
947
- def _reduce_101( val, _values, result )
948
- result = [val.first, val[2]]
949
- result
950
- end
951
- .,.,
952
-
953
- # reduce 102 omitted
954
-
955
- # reduce 103 omitted
956
-
957
- # reduce 104 omitted
958
-
959
- # reduce 105 omitted
960
-
961
- # reduce 106 omitted
962
-
963
- # reduce 107 omitted
964
-
965
- # reduce 108 omitted
966
-
967
- # reduce 109 omitted
968
-
969
- # reduce 110 omitted
970
-
971
- # reduce 111 omitted
972
-
973
- # reduce 112 omitted
974
-
975
- # reduce 113 omitted
976
-
977
- # reduce 114 omitted
978
-
979
- # reduce 115 omitted
980
-
981
- # reduce 116 omitted
982
-
983
- # reduce 117 omitted
984
-
985
- # reduce 118 omitted
986
-
987
- # reduce 119 omitted
988
-
989
- # reduce 120 omitted
990
-
991
- def _reduce_none( val, _values, result )
992
- result
993
- end
994
-
995
- end # class GeneratedParser
996
-
997
- end # module SAC
998
-
999
- end # module CSS