csspool 0.2.6 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
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