csspool-st 3.1.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 (64) hide show
  1. data/.autotest +16 -0
  2. data/.gemtest +0 -0
  3. data/CHANGELOG.rdoc +87 -0
  4. data/Manifest.txt +62 -0
  5. data/README.rdoc +65 -0
  6. data/Rakefile +50 -0
  7. data/lib/csspool/collection.rb +50 -0
  8. data/lib/csspool/css/charset.rb +13 -0
  9. data/lib/csspool/css/declaration.rb +19 -0
  10. data/lib/csspool/css/document.rb +34 -0
  11. data/lib/csspool/css/document_handler.rb +51 -0
  12. data/lib/csspool/css/import_rule.rb +27 -0
  13. data/lib/csspool/css/media.rb +13 -0
  14. data/lib/csspool/css/parser.rb +1298 -0
  15. data/lib/csspool/css/parser.y +398 -0
  16. data/lib/csspool/css/rule_set.rb +17 -0
  17. data/lib/csspool/css/tokenizer.rb +231 -0
  18. data/lib/csspool/css/tokenizer.rex +97 -0
  19. data/lib/csspool/css.rb +8 -0
  20. data/lib/csspool/node.rb +41 -0
  21. data/lib/csspool/sac/document.rb +35 -0
  22. data/lib/csspool/sac/parser.rb +16 -0
  23. data/lib/csspool/sac.rb +2 -0
  24. data/lib/csspool/selector.rb +36 -0
  25. data/lib/csspool/selectors/additional.rb +6 -0
  26. data/lib/csspool/selectors/attribute.rb +21 -0
  27. data/lib/csspool/selectors/class.rb +11 -0
  28. data/lib/csspool/selectors/id.rb +11 -0
  29. data/lib/csspool/selectors/pseudo_class.rb +13 -0
  30. data/lib/csspool/selectors/simple.rb +22 -0
  31. data/lib/csspool/selectors/type.rb +6 -0
  32. data/lib/csspool/selectors/universal.rb +6 -0
  33. data/lib/csspool/selectors.rb +9 -0
  34. data/lib/csspool/terms/function.rb +17 -0
  35. data/lib/csspool/terms/hash.rb +6 -0
  36. data/lib/csspool/terms/ident.rb +15 -0
  37. data/lib/csspool/terms/number.rb +14 -0
  38. data/lib/csspool/terms/rgb.rb +20 -0
  39. data/lib/csspool/terms/string.rb +6 -0
  40. data/lib/csspool/terms/uri.rb +6 -0
  41. data/lib/csspool/terms.rb +7 -0
  42. data/lib/csspool/visitors/children.rb +50 -0
  43. data/lib/csspool/visitors/comparable.rb +84 -0
  44. data/lib/csspool/visitors/iterator.rb +80 -0
  45. data/lib/csspool/visitors/to_css.rb +248 -0
  46. data/lib/csspool/visitors/visitor.rb +17 -0
  47. data/lib/csspool/visitors.rb +5 -0
  48. data/lib/csspool.rb +21 -0
  49. data/test/css/test_document.rb +13 -0
  50. data/test/css/test_import_rule.rb +42 -0
  51. data/test/css/test_parser.rb +462 -0
  52. data/test/css/test_tokenizer.rb +320 -0
  53. data/test/helper.rb +65 -0
  54. data/test/sac/test_parser.rb +123 -0
  55. data/test/sac/test_properties.rb +43 -0
  56. data/test/sac/test_terms.rb +228 -0
  57. data/test/test_collection.rb +81 -0
  58. data/test/test_parser.rb +91 -0
  59. data/test/test_selector.rb +51 -0
  60. data/test/visitors/test_children.rb +20 -0
  61. data/test/visitors/test_comparable.rb +102 -0
  62. data/test/visitors/test_each.rb +19 -0
  63. data/test/visitors/test_to_css.rb +309 -0
  64. metadata +214 -0
@@ -0,0 +1,1298 @@
1
+ #
2
+ # DO NOT MODIFY!!!!
3
+ # This file is automatically generated by Racc 1.4.7
4
+ # from Racc grammer file "".
5
+ #
6
+
7
+ require 'racc/parser.rb'
8
+ module CSSPool
9
+ module CSS
10
+ class Parser < Racc::Parser
11
+
12
+ module_eval(<<'...end parser.y/module_eval...', 'parser.y', 363)
13
+
14
+ def numeric thing
15
+ thing = thing.gsub(/[^\d.]/, '')
16
+ Integer(thing) rescue Float(thing)
17
+ end
18
+
19
+ def interpret_identifier s
20
+ interpret_escapes s
21
+ end
22
+
23
+ def interpret_uri s
24
+ interpret_escapes s.match(/^url\((.*)\)$/mu)[1].strip.match(/^(['"]?)((?:\\.|.)*)\1$/mu)[2]
25
+ end
26
+
27
+ def interpret_string s
28
+ interpret_escapes s.match(/^(['"])((?:\\.|.)*)\1$/mu)[2]
29
+ end
30
+
31
+ def interpret_escapes s
32
+ token_exp = /\\([0-9a-fA-F]{1,6}(?:\r\n|\s)?)|\\(.)|(.)/mu
33
+ characters = s.scan(token_exp).map do |u_escape, i_escape, ident|
34
+ if u_escape
35
+ code = u_escape.chomp.to_i 16
36
+ code = 0xFFFD if code > 0x10FFFF
37
+ [code].pack('U')
38
+ elsif i_escape
39
+ if i_escape == "\n"
40
+ ''
41
+ else
42
+ i_escape
43
+ end
44
+ else
45
+ ident
46
+ end
47
+ end.join ''
48
+ end
49
+ ...end parser.y/module_eval...
50
+ ##### State transition tables begin ###
51
+
52
+ racc_action_table = [
53
+ 8, 9, 96, 51, 21, 15, 75, 76, 52, 22,
54
+ 27, 29, 8, 9, 95, 67, 21, 15, 154, 100,
55
+ 21, 22, 27, 29, 21, 22, 27, 29, 69, 22,
56
+ 27, 29, 13, 51, 30, 28, 21, 15, 52, 99,
57
+ 130, 22, 27, 29, 13, 68, 30, 28, 8, 9,
58
+ 30, 28, 21, 15, 30, 28, 43, 22, 27, 29,
59
+ 72, 43, 73, 21, 15, 94, 30, 28, 22, 27,
60
+ 29, 21, 15, 27, 29, 87, 22, 27, 29, 36,
61
+ 13, 84, 30, 28, 43, 45, 86, 46, 102, 97,
62
+ 45, 13, 75, 30, 28, 80, 137, 30, 28, 13,
63
+ 83, 30, 28, 21, 15, 27, 29, 37, 22, 27,
64
+ 29, 57, 45, 45, 51, 85, 80, 101, 48, 52,
65
+ 117, 142, 129, 45, 58, 59, 144, 77, 115, 30,
66
+ 28, 13, 74, 30, 28, 114, 133, 128, 134, 119,
67
+ 127, 121, 120, 122, 123, 124, 125, 126, 116, 117,
68
+ 151, 129, 93, 90, 91, 92, 152, 115, 27, 29,
69
+ 27, 29, 153, 136, 114, 135, 128, 103, 119, 127,
70
+ 121, 120, 122, 123, 124, 125, 126, 116, 117, 155,
71
+ 129, 141, 30, 28, 30, 28, 115, 27, 29, 132,
72
+ 70, 131, 66, 114, 65, 128, 160, 119, 127, 121,
73
+ 120, 122, 123, 124, 125, 126, 116, 117, 161, 129,
74
+ 162, 30, 28, 163, 164, 115, 165, 80, 55, 54,
75
+ 144, 34, 114, 172, 128, 144, 119, 127, 121, 120,
76
+ 122, 123, 124, 125, 126, 116, 117, 31, 129, 159,
77
+ 3, 144, nil, nil, 115, nil, nil, nil, nil, nil,
78
+ nil, 114, nil, 128, nil, 119, 127, 121, 120, 122,
79
+ 123, 124, 125, 126, 116, 117, nil, 129, nil, nil,
80
+ nil, nil, nil, 115, nil, nil, nil, nil, nil, nil,
81
+ 114, nil, 128, nil, 119, 127, 121, 120, 122, 123,
82
+ 124, 125, 126, 116, 117, nil, 129, 169, nil, nil,
83
+ nil, nil, 115, nil, nil, nil, nil, nil, nil, 114,
84
+ nil, 128, nil, 119, 127, 121, 120, 122, 123, 124,
85
+ 125, 126, 116, 117, nil, 129, nil, nil, nil, nil,
86
+ nil, 115, nil, nil, nil, nil, nil, nil, 114, nil,
87
+ 128, nil, 119, 127, 121, 120, 122, 123, 124, 125,
88
+ 126, 116, 117, nil, 129, nil, nil, nil, nil, nil,
89
+ 115, nil, nil, nil, nil, nil, nil, 114, nil, 128,
90
+ nil, 119, 127, 121, 120, 122, 123, 124, 125, 126,
91
+ 116, 117, nil, 129, nil, 146, nil, nil, nil, 115,
92
+ nil, nil, 148, nil, nil, nil, 114, nil, 128, 147,
93
+ 119, 127, 121, 120, 122, 123, 124, 125, 126, 116,
94
+ 117, nil, 129, 106, nil, nil, nil, nil, 115, nil,
95
+ nil, nil, nil, nil, nil, 114, nil, 128, nil, 119,
96
+ 127, 121, 120, 122, 123, 124, 125, 126, 116, 128,
97
+ nil, 119, 127, 121, 120, 122, 123, 124, 125, 126 ]
98
+
99
+ racc_action_check = [
100
+ 2, 2, 69, 45, 2, 2, 41, 41, 45, 2,
101
+ 2, 2, 5, 5, 69, 30, 5, 5, 112, 80,
102
+ 56, 5, 5, 5, 55, 56, 56, 56, 30, 55,
103
+ 55, 55, 2, 84, 2, 2, 15, 15, 84, 77,
104
+ 86, 15, 15, 15, 5, 30, 5, 5, 6, 6,
105
+ 56, 56, 6, 6, 55, 55, 75, 6, 6, 6,
106
+ 35, 35, 35, 12, 12, 68, 15, 15, 12, 12,
107
+ 12, 11, 11, 26, 26, 52, 11, 11, 11, 9,
108
+ 6, 49, 6, 6, 13, 75, 50, 13, 81, 71,
109
+ 35, 12, 71, 12, 12, 99, 96, 26, 26, 11,
110
+ 47, 11, 11, 10, 10, 25, 25, 9, 10, 10,
111
+ 10, 18, 100, 13, 14, 50, 44, 81, 14, 14,
112
+ 159, 102, 159, 99, 18, 18, 105, 43, 159, 25,
113
+ 25, 10, 40, 10, 10, 159, 91, 159, 91, 159,
114
+ 159, 159, 159, 159, 159, 159, 159, 159, 159, 149,
115
+ 108, 149, 66, 66, 66, 66, 110, 149, 24, 24,
116
+ 19, 19, 111, 92, 149, 92, 149, 82, 149, 149,
117
+ 149, 149, 149, 149, 149, 149, 149, 149, 101, 113,
118
+ 101, 101, 24, 24, 19, 19, 101, 23, 23, 90,
119
+ 34, 90, 29, 101, 28, 101, 131, 101, 101, 101,
120
+ 101, 101, 101, 101, 101, 101, 101, 106, 132, 106,
121
+ 133, 23, 23, 134, 135, 106, 136, 139, 17, 16,
122
+ 145, 8, 106, 156, 106, 158, 106, 106, 106, 106,
123
+ 106, 106, 106, 106, 106, 106, 130, 3, 130, 130,
124
+ 1, 174, nil, nil, 130, nil, nil, nil, nil, nil,
125
+ nil, 130, nil, 130, nil, 130, 130, 130, 130, 130,
126
+ 130, 130, 130, 130, 130, 141, nil, 141, nil, nil,
127
+ nil, nil, nil, 141, nil, nil, nil, nil, nil, nil,
128
+ 141, nil, 141, nil, 141, 141, 141, 141, 141, 141,
129
+ 141, 141, 141, 141, 142, nil, 142, 142, nil, nil,
130
+ nil, nil, 142, nil, nil, nil, nil, nil, nil, 142,
131
+ nil, 142, nil, 142, 142, 142, 142, 142, 142, 142,
132
+ 142, 142, 142, 114, nil, 114, nil, nil, nil, nil,
133
+ nil, 114, nil, nil, nil, nil, nil, nil, 114, nil,
134
+ 114, nil, 114, 114, 114, 114, 114, 114, 114, 114,
135
+ 114, 114, 169, nil, 169, nil, nil, nil, nil, nil,
136
+ 169, nil, nil, nil, nil, nil, nil, 169, nil, 169,
137
+ nil, 169, 169, 169, 169, 169, 169, 169, 169, 169,
138
+ 169, 107, nil, 107, nil, 107, nil, nil, nil, 107,
139
+ nil, nil, 107, nil, nil, nil, 107, nil, 107, 107,
140
+ 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
141
+ 85, nil, 85, 85, nil, nil, nil, nil, 85, nil,
142
+ nil, nil, nil, nil, nil, 85, nil, 85, nil, 85,
143
+ 85, 85, 85, 85, 85, 85, 85, 85, 85, 118,
144
+ nil, 118, 118, 118, 118, 118, 118, 118, 118, 118 ]
145
+
146
+ racc_action_pointer = [
147
+ nil, 240, -2, 237, nil, 10, 46, nil, 217, 75,
148
+ 97, 65, 57, 78, 108, 30, 210, 210, 104, 148,
149
+ nil, nil, nil, 175, 146, 93, 61, nil, 188, 186,
150
+ 9, nil, nil, nil, 185, 55, nil, nil, nil, nil,
151
+ 122, -2, nil, 120, 109, -3, nil, 90, nil, 76,
152
+ 79, nil, 69, nil, nil, 18, 14, nil, nil, nil,
153
+ nil, nil, nil, nil, nil, nil, 138, nil, 59, -4,
154
+ nil, 84, nil, nil, nil, 50, nil, 33, nil, nil,
155
+ 13, 81, 149, nil, 27, 406, 4, nil, nil, nil,
156
+ 185, 132, 159, nil, nil, nil, 78, nil, nil, 88,
157
+ 77, 174, 85, nil, nil, 93, 203, 377, 143, nil,
158
+ 149, 155, 11, 172, 319, nil, nil, nil, 418, nil,
159
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
160
+ 232, 182, 194, 196, 199, 200, 202, nil, nil, 210,
161
+ nil, 261, 290, nil, nil, 187, nil, nil, nil, 145,
162
+ nil, nil, nil, nil, nil, nil, 205, nil, 192, 116,
163
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 348,
164
+ nil, nil, nil, nil, 208, nil, nil ]
165
+
166
+ racc_action_default = [
167
+ -1, -117, -117, -117, -2, -5, -6, -7, -117, -117,
168
+ -31, -32, -117, -117, -117, -117, -117, -41, -43, -48,
169
+ -49, -50, -51, -52, -53, -54, -55, -60, -117, -117,
170
+ -117, 177, -3, -4, -117, -117, -12, -13, -29, -30,
171
+ -117, -117, -15, -19, -21, -117, -35, -117, -37, -75,
172
+ -117, -82, -117, -38, -39, -117, -117, -44, -45, -46,
173
+ -47, -56, -57, -58, -59, -61, -117, -69, -117, -117,
174
+ -8, -117, -10, -11, -33, -117, -34, -117, -18, -20,
175
+ -117, -117, -117, -36, -74, -117, -117, -83, -40, -42,
176
+ -117, -117, -117, -68, -70, -71, -117, -9, -14, -17,
177
+ -117, -117, -117, -28, -73, -81, -117, -89, -90, -91,
178
+ -92, -93, -94, -95, -117, -99, -101, -103, -117, -105,
179
+ -106, -107, -108, -109, -110, -111, -112, -113, -114, -116,
180
+ -117, -117, -117, -117, -117, -117, -117, -72, -16, -23,
181
+ -24, -117, -117, -76, -80, -81, -84, -85, -86, -117,
182
+ -88, -115, -102, -100, -98, -96, -117, -104, -81, -117,
183
+ -62, -63, -64, -65, -66, -67, -22, -25, -26, -117,
184
+ -77, -87, -97, -78, -81, -27, -79 ]
185
+
186
+ racc_goto_table = [
187
+ 78, 79, 105, 47, 41, 60, 139, 139, 143, 61,
188
+ 62, 63, 64, 4, 81, 82, 32, 33, 140, 38,
189
+ 39, 40, 98, 145, 150, 53, 71, 35, 88, 89,
190
+ 56, 156, 2, 1, 149, 157, nil, nil, nil, nil,
191
+ nil, nil, nil, nil, nil, nil, nil, 158, 170, nil,
192
+ nil, nil, nil, nil, nil, nil, 138, nil, 167, 168,
193
+ nil, 173, nil, nil, nil, nil, 171, nil, nil, nil,
194
+ nil, nil, nil, 104, nil, nil, 174, 176, nil, nil,
195
+ nil, nil, nil, nil, nil, nil, 175, nil, nil, nil,
196
+ nil, nil, nil, nil, nil, nil, 166 ]
197
+
198
+ racc_goto_check = [
199
+ 10, 10, 14, 19, 8, 25, 11, 11, 31, 25,
200
+ 25, 25, 25, 2, 13, 12, 2, 2, 14, 6,
201
+ 6, 6, 9, 14, 14, 18, 8, 7, 20, 21,
202
+ 23, 14, 3, 1, 32, 35, nil, nil, nil, nil,
203
+ nil, nil, nil, nil, nil, nil, nil, 14, 31, nil,
204
+ nil, nil, nil, nil, nil, nil, 10, nil, 14, 14,
205
+ nil, 31, nil, nil, nil, nil, 14, nil, nil, nil,
206
+ nil, nil, nil, 19, nil, nil, 14, 31, nil, nil,
207
+ nil, nil, nil, nil, nil, nil, 14, nil, nil, nil,
208
+ nil, nil, nil, nil, nil, nil, 10 ]
209
+
210
+ racc_goto_pointer = [
211
+ nil, 33, 11, 32, nil, nil, 9, 18, -9, -53,
212
+ -43, -93, -30, -31, -83, nil, nil, nil, 10, -11,
213
+ -27, -27, nil, 12, nil, -14, nil, nil, nil, nil,
214
+ nil, -97, -73, nil, nil, -83, nil, nil, nil, nil,
215
+ nil ]
216
+
217
+ racc_goto_default = [
218
+ nil, nil, nil, nil, 5, 6, 7, nil, nil, 42,
219
+ nil, 44, nil, 50, nil, 10, 11, 12, 14, nil,
220
+ 16, 17, 18, nil, 19, 20, 23, 24, 25, 26,
221
+ 49, nil, nil, 107, 108, 109, 110, 111, 112, 113,
222
+ 118 ]
223
+
224
+ racc_reduce_table = [
225
+ 0, 0, :racc_error,
226
+ 0, 41, :_reduce_1,
227
+ 2, 39, :_reduce_2,
228
+ 2, 40, :_reduce_none,
229
+ 2, 40, :_reduce_none,
230
+ 1, 40, :_reduce_none,
231
+ 1, 40, :_reduce_none,
232
+ 1, 40, :_reduce_none,
233
+ 3, 42, :_reduce_8,
234
+ 4, 43, :_reduce_9,
235
+ 3, 43, :_reduce_10,
236
+ 2, 45, :_reduce_none,
237
+ 1, 45, :_reduce_12,
238
+ 1, 45, :_reduce_13,
239
+ 3, 46, :_reduce_14,
240
+ 1, 46, :_reduce_15,
241
+ 4, 47, :_reduce_16,
242
+ 3, 47, :_reduce_17,
243
+ 2, 47, :_reduce_18,
244
+ 1, 47, :_reduce_19,
245
+ 2, 47, :_reduce_20,
246
+ 1, 47, :_reduce_21,
247
+ 4, 48, :_reduce_22,
248
+ 3, 48, :_reduce_23,
249
+ 3, 50, :_reduce_24,
250
+ 4, 50, :_reduce_25,
251
+ 4, 50, :_reduce_26,
252
+ 5, 50, :_reduce_27,
253
+ 3, 49, :_reduce_28,
254
+ 2, 44, :_reduce_none,
255
+ 2, 44, :_reduce_none,
256
+ 1, 44, :_reduce_none,
257
+ 1, 44, :_reduce_none,
258
+ 3, 54, :_reduce_33,
259
+ 3, 55, :_reduce_34,
260
+ 2, 55, :_reduce_35,
261
+ 3, 53, :_reduce_36,
262
+ 2, 53, :_reduce_37,
263
+ 2, 56, :_reduce_38,
264
+ 2, 56, :_reduce_39,
265
+ 3, 58, :_reduce_40,
266
+ 1, 58, :_reduce_41,
267
+ 3, 59, :_reduce_42,
268
+ 1, 59, :_reduce_none,
269
+ 1, 61, :_reduce_44,
270
+ 1, 61, :_reduce_45,
271
+ 1, 61, :_reduce_46,
272
+ 2, 60, :_reduce_47,
273
+ 1, 60, :_reduce_48,
274
+ 1, 60, :_reduce_49,
275
+ 1, 62, :_reduce_50,
276
+ 1, 62, :_reduce_51,
277
+ 1, 63, :_reduce_52,
278
+ 1, 63, :_reduce_53,
279
+ 1, 63, :_reduce_54,
280
+ 1, 63, :_reduce_55,
281
+ 2, 63, :_reduce_56,
282
+ 2, 63, :_reduce_57,
283
+ 2, 63, :_reduce_58,
284
+ 2, 63, :_reduce_59,
285
+ 1, 64, :_reduce_60,
286
+ 2, 65, :_reduce_61,
287
+ 5, 66, :_reduce_62,
288
+ 5, 66, :_reduce_63,
289
+ 5, 66, :_reduce_64,
290
+ 5, 66, :_reduce_65,
291
+ 5, 66, :_reduce_66,
292
+ 5, 66, :_reduce_67,
293
+ 3, 66, :_reduce_68,
294
+ 2, 67, :_reduce_69,
295
+ 3, 67, :_reduce_70,
296
+ 3, 67, :_reduce_71,
297
+ 4, 67, :_reduce_72,
298
+ 3, 57, :_reduce_none,
299
+ 2, 57, :_reduce_none,
300
+ 1, 57, :_reduce_none,
301
+ 4, 68, :_reduce_76,
302
+ 5, 68, :_reduce_77,
303
+ 5, 68, :_reduce_78,
304
+ 6, 68, :_reduce_79,
305
+ 1, 69, :_reduce_80,
306
+ 0, 69, :_reduce_81,
307
+ 1, 51, :_reduce_82,
308
+ 2, 51, :_reduce_83,
309
+ 1, 70, :_reduce_none,
310
+ 1, 70, :_reduce_none,
311
+ 1, 70, :_reduce_none,
312
+ 3, 52, :_reduce_87,
313
+ 2, 52, :_reduce_88,
314
+ 1, 52, :_reduce_89,
315
+ 1, 71, :_reduce_none,
316
+ 1, 71, :_reduce_none,
317
+ 1, 71, :_reduce_none,
318
+ 1, 71, :_reduce_none,
319
+ 1, 71, :_reduce_none,
320
+ 1, 71, :_reduce_none,
321
+ 2, 77, :_reduce_96,
322
+ 3, 77, :_reduce_97,
323
+ 2, 76, :_reduce_98,
324
+ 1, 76, :_reduce_99,
325
+ 2, 75, :_reduce_100,
326
+ 1, 75, :_reduce_101,
327
+ 2, 74, :_reduce_102,
328
+ 1, 74, :_reduce_103,
329
+ 2, 73, :_reduce_104,
330
+ 1, 73, :_reduce_105,
331
+ 1, 73, :_reduce_106,
332
+ 1, 73, :_reduce_107,
333
+ 1, 73, :_reduce_108,
334
+ 1, 73, :_reduce_109,
335
+ 1, 73, :_reduce_110,
336
+ 1, 73, :_reduce_111,
337
+ 1, 73, :_reduce_112,
338
+ 1, 78, :_reduce_113,
339
+ 1, 78, :_reduce_114,
340
+ 2, 72, :_reduce_115,
341
+ 1, 72, :_reduce_116 ]
342
+
343
+ racc_reduce_n = 117
344
+
345
+ racc_shift_n = 177
346
+
347
+ racc_token_table = {
348
+ false => 0,
349
+ :error => 1,
350
+ :CHARSET_SYM => 2,
351
+ :IMPORT_SYM => 3,
352
+ :STRING => 4,
353
+ :SEMI => 5,
354
+ :IDENT => 6,
355
+ :S => 7,
356
+ :COMMA => 8,
357
+ :LBRACE => 9,
358
+ :RBRACE => 10,
359
+ :STAR => 11,
360
+ :HASH => 12,
361
+ :LSQUARE => 13,
362
+ :RSQUARE => 14,
363
+ :EQUAL => 15,
364
+ :INCLUDES => 16,
365
+ :DASHMATCH => 17,
366
+ :RPAREN => 18,
367
+ :FUNCTION => 19,
368
+ :GREATER => 20,
369
+ :PLUS => 21,
370
+ :SLASH => 22,
371
+ :NUMBER => 23,
372
+ :MINUS => 24,
373
+ :LENGTH => 25,
374
+ :PERCENTAGE => 26,
375
+ :EMS => 27,
376
+ :EXS => 28,
377
+ :ANGLE => 29,
378
+ :TIME => 30,
379
+ :FREQ => 31,
380
+ :URI => 32,
381
+ :IMPORTANT_SYM => 33,
382
+ :MEDIA_SYM => 34,
383
+ :LPAREN => 35,
384
+ ":" => 36,
385
+ "." => 37 }
386
+
387
+ racc_nt_base = 38
388
+
389
+ racc_use_result_var = true
390
+
391
+ Racc_arg = [
392
+ racc_action_table,
393
+ racc_action_check,
394
+ racc_action_default,
395
+ racc_action_pointer,
396
+ racc_goto_table,
397
+ racc_goto_check,
398
+ racc_goto_default,
399
+ racc_goto_pointer,
400
+ racc_nt_base,
401
+ racc_reduce_table,
402
+ racc_token_table,
403
+ racc_shift_n,
404
+ racc_reduce_n,
405
+ racc_use_result_var ]
406
+
407
+ Racc_token_to_s_table = [
408
+ "$end",
409
+ "error",
410
+ "CHARSET_SYM",
411
+ "IMPORT_SYM",
412
+ "STRING",
413
+ "SEMI",
414
+ "IDENT",
415
+ "S",
416
+ "COMMA",
417
+ "LBRACE",
418
+ "RBRACE",
419
+ "STAR",
420
+ "HASH",
421
+ "LSQUARE",
422
+ "RSQUARE",
423
+ "EQUAL",
424
+ "INCLUDES",
425
+ "DASHMATCH",
426
+ "RPAREN",
427
+ "FUNCTION",
428
+ "GREATER",
429
+ "PLUS",
430
+ "SLASH",
431
+ "NUMBER",
432
+ "MINUS",
433
+ "LENGTH",
434
+ "PERCENTAGE",
435
+ "EMS",
436
+ "EXS",
437
+ "ANGLE",
438
+ "TIME",
439
+ "FREQ",
440
+ "URI",
441
+ "IMPORTANT_SYM",
442
+ "MEDIA_SYM",
443
+ "LPAREN",
444
+ "\":\"",
445
+ "\".\"",
446
+ "$start",
447
+ "document",
448
+ "stylesheet",
449
+ "@1",
450
+ "charset",
451
+ "import",
452
+ "body",
453
+ "import_location",
454
+ "medium",
455
+ "media_query",
456
+ "media_expression",
457
+ "expression",
458
+ "expression_internal",
459
+ "property",
460
+ "expr",
461
+ "ruleset",
462
+ "media",
463
+ "start_media",
464
+ "start_selector",
465
+ "declarations",
466
+ "selectors",
467
+ "selector",
468
+ "simple_selector",
469
+ "combinator",
470
+ "element_name",
471
+ "hcap",
472
+ "hash",
473
+ "class",
474
+ "attrib",
475
+ "pseudo",
476
+ "declaration",
477
+ "prio",
478
+ "operator",
479
+ "term",
480
+ "ident",
481
+ "numeric",
482
+ "string",
483
+ "uri",
484
+ "hexcolor",
485
+ "function",
486
+ "unary_operator" ]
487
+
488
+ Racc_debug_parser = false
489
+
490
+ ##### State transition tables end #####
491
+
492
+ # reduce 0 omitted
493
+
494
+ module_eval(<<'.,.,', 'parser.y', 9)
495
+ def _reduce_1(val, _values, result)
496
+ @handler.start_document
497
+ result
498
+ end
499
+ .,.,
500
+
501
+ module_eval(<<'.,.,', 'parser.y', 11)
502
+ def _reduce_2(val, _values, result)
503
+ @handler.end_document
504
+ result
505
+ end
506
+ .,.,
507
+
508
+ # reduce 3 omitted
509
+
510
+ # reduce 4 omitted
511
+
512
+ # reduce 5 omitted
513
+
514
+ # reduce 6 omitted
515
+
516
+ # reduce 7 omitted
517
+
518
+ module_eval(<<'.,.,', 'parser.y', 21)
519
+ def _reduce_8(val, _values, result)
520
+ @handler.charset interpret_string(val[1]), {}
521
+ result
522
+ end
523
+ .,.,
524
+
525
+ module_eval(<<'.,.,', 'parser.y', 25)
526
+ def _reduce_9(val, _values, result)
527
+ @handler.import_style val[2], val[1]
528
+
529
+ result
530
+ end
531
+ .,.,
532
+
533
+ module_eval(<<'.,.,', 'parser.y', 28)
534
+ def _reduce_10(val, _values, result)
535
+ @handler.import_style [], val[1]
536
+
537
+ result
538
+ end
539
+ .,.,
540
+
541
+ # reduce 11 omitted
542
+
543
+ module_eval(<<'.,.,', 'parser.y', 33)
544
+ def _reduce_12(val, _values, result)
545
+ result = Terms::String.new interpret_string val.first
546
+ result
547
+ end
548
+ .,.,
549
+
550
+ module_eval(<<'.,.,', 'parser.y', 34)
551
+ def _reduce_13(val, _values, result)
552
+ result = Terms::URI.new interpret_uri val.first
553
+ result
554
+ end
555
+ .,.,
556
+
557
+ module_eval(<<'.,.,', 'parser.y', 38)
558
+ def _reduce_14(val, _values, result)
559
+ result = val.first + [val.last]
560
+
561
+ result
562
+ end
563
+ .,.,
564
+
565
+ module_eval(<<'.,.,', 'parser.y', 41)
566
+ def _reduce_15(val, _values, result)
567
+ result = [val.first]
568
+
569
+ result
570
+ end
571
+ .,.,
572
+
573
+ module_eval(<<'.,.,', 'parser.y', 46)
574
+ def _reduce_16(val, _values, result)
575
+ result = [Terms::Ident.new(interpret_identifier val[0]), Terms::Ident.new(interpret_identifier val[2])] + val.last
576
+
577
+ result
578
+ end
579
+ .,.,
580
+
581
+ module_eval(<<'.,.,', 'parser.y', 49)
582
+ def _reduce_17(val, _values, result)
583
+ result = [Terms::Ident.new(interpret_identifier val[0]), Terms::Ident.new(interpret_identifier val.last)]
584
+
585
+ result
586
+ end
587
+ .,.,
588
+
589
+ module_eval(<<'.,.,', 'parser.y', 52)
590
+ def _reduce_18(val, _values, result)
591
+ result = [Terms::Ident.new(interpret_identifier val.first)] + val.last
592
+
593
+ result
594
+ end
595
+ .,.,
596
+
597
+ module_eval(<<'.,.,', 'parser.y', 55)
598
+ def _reduce_19(val, _values, result)
599
+ result = [Terms::Ident.new(interpret_identifier val.first)]
600
+
601
+ result
602
+ end
603
+ .,.,
604
+
605
+ module_eval(<<'.,.,', 'parser.y', 58)
606
+ def _reduce_20(val, _values, result)
607
+ result = [val.first] + val.last
608
+
609
+ result
610
+ end
611
+ .,.,
612
+
613
+ module_eval(<<'.,.,', 'parser.y', 61)
614
+ def _reduce_21(val, _values, result)
615
+ result = [val.first]
616
+
617
+ result
618
+ end
619
+ .,.,
620
+
621
+ module_eval(<<'.,.,', 'parser.y', 66)
622
+ def _reduce_22(val, _values, result)
623
+ result = [Terms::Ident.new(interpret_identifier val[1]), val[2]] + val.last
624
+
625
+ result
626
+ end
627
+ .,.,
628
+
629
+ module_eval(<<'.,.,', 'parser.y', 69)
630
+ def _reduce_23(val, _values, result)
631
+ result = [Terms::Ident.new(interpret_identifier val[1]), val.last]
632
+
633
+ result
634
+ end
635
+ .,.,
636
+
637
+ module_eval(<<'.,.,', 'parser.y', 74)
638
+ def _reduce_24(val, _values, result)
639
+ result = Selectors::MediaExpression.new val.first, val[2]
640
+ result
641
+ end
642
+ .,.,
643
+
644
+ module_eval(<<'.,.,', 'parser.y', 76)
645
+ def _reduce_25(val, _values, result)
646
+ result = Selectors::MediaExpression.new val.first, val[3]
647
+ result
648
+ end
649
+ .,.,
650
+
651
+ module_eval(<<'.,.,', 'parser.y', 78)
652
+ def _reduce_26(val, _values, result)
653
+ result = Selectors::MediaExpression.new val.first, val[3]
654
+ result
655
+ end
656
+ .,.,
657
+
658
+ module_eval(<<'.,.,', 'parser.y', 80)
659
+ def _reduce_27(val, _values, result)
660
+ result = Selectors::MediaExpression.new val.first, val[4]
661
+ result
662
+ end
663
+ .,.,
664
+
665
+ module_eval(<<'.,.,', 'parser.y', 84)
666
+ def _reduce_28(val, _values, result)
667
+ result = val[1]
668
+
669
+ result
670
+ end
671
+ .,.,
672
+
673
+ # reduce 29 omitted
674
+
675
+ # reduce 30 omitted
676
+
677
+ # reduce 31 omitted
678
+
679
+ # reduce 32 omitted
680
+
681
+ module_eval(<<'.,.,', 'parser.y', 94)
682
+ def _reduce_33(val, _values, result)
683
+ @handler.end_media val.first
684
+ result
685
+ end
686
+ .,.,
687
+
688
+ module_eval(<<'.,.,', 'parser.y', 98)
689
+ def _reduce_34(val, _values, result)
690
+ @handler.start_media val[1]
691
+
692
+ result
693
+ end
694
+ .,.,
695
+
696
+ module_eval(<<'.,.,', 'parser.y', 100)
697
+ def _reduce_35(val, _values, result)
698
+ result = []
699
+ result
700
+ end
701
+ .,.,
702
+
703
+ module_eval(<<'.,.,', 'parser.y', 104)
704
+ def _reduce_36(val, _values, result)
705
+ @handler.end_selector val.first
706
+
707
+ result
708
+ end
709
+ .,.,
710
+
711
+ module_eval(<<'.,.,', 'parser.y', 107)
712
+ def _reduce_37(val, _values, result)
713
+ @handler.end_selector val.first
714
+
715
+ result
716
+ end
717
+ .,.,
718
+
719
+ module_eval(<<'.,.,', 'parser.y', 111)
720
+ def _reduce_38(val, _values, result)
721
+ result = val.last
722
+ result
723
+ end
724
+ .,.,
725
+
726
+ module_eval(<<'.,.,', 'parser.y', 113)
727
+ def _reduce_39(val, _values, result)
728
+ @handler.start_selector val.first
729
+
730
+ result
731
+ end
732
+ .,.,
733
+
734
+ module_eval(<<'.,.,', 'parser.y', 119)
735
+ def _reduce_40(val, _values, result)
736
+ # FIXME: should always garantee array
737
+ sel = Selector.new(val.first, {})
738
+ result = [sel, val[2]].flatten
739
+
740
+ result
741
+ end
742
+ .,.,
743
+
744
+ module_eval(<<'.,.,', 'parser.y', 125)
745
+ def _reduce_41(val, _values, result)
746
+ result = [Selector.new(val.first, {})]
747
+
748
+ result
749
+ end
750
+ .,.,
751
+
752
+ module_eval(<<'.,.,', 'parser.y', 131)
753
+ def _reduce_42(val, _values, result)
754
+ val = val.flatten
755
+ val[2].combinator = val.delete_at 1
756
+ result = val
757
+
758
+ result
759
+ end
760
+ .,.,
761
+
762
+ # reduce 43 omitted
763
+
764
+ module_eval(<<'.,.,', 'parser.y', 138)
765
+ def _reduce_44(val, _values, result)
766
+ result = :s
767
+ result
768
+ end
769
+ .,.,
770
+
771
+ module_eval(<<'.,.,', 'parser.y', 139)
772
+ def _reduce_45(val, _values, result)
773
+ result = :>
774
+ result
775
+ end
776
+ .,.,
777
+
778
+ module_eval(<<'.,.,', 'parser.y', 140)
779
+ def _reduce_46(val, _values, result)
780
+ result = :+
781
+ result
782
+ end
783
+ .,.,
784
+
785
+ module_eval(<<'.,.,', 'parser.y', 144)
786
+ def _reduce_47(val, _values, result)
787
+ selector = val.first
788
+ selector.additional_selectors = val.last
789
+ result = [selector]
790
+
791
+ result
792
+ end
793
+ .,.,
794
+
795
+ module_eval(<<'.,.,', 'parser.y', 148)
796
+ def _reduce_48(val, _values, result)
797
+ result = val
798
+ result
799
+ end
800
+ .,.,
801
+
802
+ module_eval(<<'.,.,', 'parser.y', 151)
803
+ def _reduce_49(val, _values, result)
804
+ ss = Selectors::Simple.new nil, nil
805
+ ss.additional_selectors = val.flatten
806
+ result = [ss]
807
+
808
+ result
809
+ end
810
+ .,.,
811
+
812
+ module_eval(<<'.,.,', 'parser.y', 157)
813
+ def _reduce_50(val, _values, result)
814
+ result = Selectors::Type.new interpret_identifier val.first
815
+ result
816
+ end
817
+ .,.,
818
+
819
+ module_eval(<<'.,.,', 'parser.y', 158)
820
+ def _reduce_51(val, _values, result)
821
+ result = Selectors::Universal.new val.first
822
+ result
823
+ end
824
+ .,.,
825
+
826
+ module_eval(<<'.,.,', 'parser.y', 161)
827
+ def _reduce_52(val, _values, result)
828
+ result = val
829
+ result
830
+ end
831
+ .,.,
832
+
833
+ module_eval(<<'.,.,', 'parser.y', 162)
834
+ def _reduce_53(val, _values, result)
835
+ result = val
836
+ result
837
+ end
838
+ .,.,
839
+
840
+ module_eval(<<'.,.,', 'parser.y', 163)
841
+ def _reduce_54(val, _values, result)
842
+ result = val
843
+ result
844
+ end
845
+ .,.,
846
+
847
+ module_eval(<<'.,.,', 'parser.y', 164)
848
+ def _reduce_55(val, _values, result)
849
+ result = val
850
+ result
851
+ end
852
+ .,.,
853
+
854
+ module_eval(<<'.,.,', 'parser.y', 165)
855
+ def _reduce_56(val, _values, result)
856
+ result = val.flatten
857
+ result
858
+ end
859
+ .,.,
860
+
861
+ module_eval(<<'.,.,', 'parser.y', 166)
862
+ def _reduce_57(val, _values, result)
863
+ result = val.flatten
864
+ result
865
+ end
866
+ .,.,
867
+
868
+ module_eval(<<'.,.,', 'parser.y', 167)
869
+ def _reduce_58(val, _values, result)
870
+ result = val.flatten
871
+ result
872
+ end
873
+ .,.,
874
+
875
+ module_eval(<<'.,.,', 'parser.y', 168)
876
+ def _reduce_59(val, _values, result)
877
+ result = val.flatten
878
+ result
879
+ end
880
+ .,.,
881
+
882
+ module_eval(<<'.,.,', 'parser.y', 172)
883
+ def _reduce_60(val, _values, result)
884
+ result = Selectors::Id.new interpret_identifier val.first.sub(/^#/, '')
885
+
886
+ result
887
+ end
888
+ .,.,
889
+
890
+ module_eval(<<'.,.,', 'parser.y', 176)
891
+ def _reduce_61(val, _values, result)
892
+ result = Selectors::Class.new interpret_identifier val.last
893
+
894
+ result
895
+ end
896
+ .,.,
897
+
898
+ module_eval(<<'.,.,', 'parser.y', 181)
899
+ def _reduce_62(val, _values, result)
900
+ result = Selectors::Attribute.new(
901
+ interpret_identifier(val[1]),
902
+ interpret_identifier(val[3]),
903
+ Selectors::Attribute::EQUALS
904
+ )
905
+
906
+ result
907
+ end
908
+ .,.,
909
+
910
+ module_eval(<<'.,.,', 'parser.y', 188)
911
+ def _reduce_63(val, _values, result)
912
+ result = Selectors::Attribute.new(
913
+ interpret_identifier(val[1]),
914
+ interpret_string(val[3]),
915
+ Selectors::Attribute::EQUALS
916
+ )
917
+
918
+ result
919
+ end
920
+ .,.,
921
+
922
+ module_eval(<<'.,.,', 'parser.y', 195)
923
+ def _reduce_64(val, _values, result)
924
+ result = Selectors::Attribute.new(
925
+ interpret_identifier(val[1]),
926
+ interpret_string(val[3]),
927
+ Selectors::Attribute::INCLUDES
928
+ )
929
+
930
+ result
931
+ end
932
+ .,.,
933
+
934
+ module_eval(<<'.,.,', 'parser.y', 202)
935
+ def _reduce_65(val, _values, result)
936
+ result = Selectors::Attribute.new(
937
+ interpret_identifier(val[1]),
938
+ interpret_identifier(val[3]),
939
+ Selectors::Attribute::INCLUDES
940
+ )
941
+
942
+ result
943
+ end
944
+ .,.,
945
+
946
+ module_eval(<<'.,.,', 'parser.y', 209)
947
+ def _reduce_66(val, _values, result)
948
+ result = Selectors::Attribute.new(
949
+ interpret_identifier(val[1]),
950
+ interpret_identifier(val[3]),
951
+ Selectors::Attribute::DASHMATCH
952
+ )
953
+
954
+ result
955
+ end
956
+ .,.,
957
+
958
+ module_eval(<<'.,.,', 'parser.y', 216)
959
+ def _reduce_67(val, _values, result)
960
+ result = Selectors::Attribute.new(
961
+ interpret_identifier(val[1]),
962
+ interpret_string(val[3]),
963
+ Selectors::Attribute::DASHMATCH
964
+ )
965
+
966
+ result
967
+ end
968
+ .,.,
969
+
970
+ module_eval(<<'.,.,', 'parser.y', 223)
971
+ def _reduce_68(val, _values, result)
972
+ result = Selectors::Attribute.new(
973
+ interpret_identifier(val[1]),
974
+ nil,
975
+ Selectors::Attribute::SET
976
+ )
977
+
978
+ result
979
+ end
980
+ .,.,
981
+
982
+ module_eval(<<'.,.,', 'parser.y', 232)
983
+ def _reduce_69(val, _values, result)
984
+ result = Selectors::pseudo interpret_identifier(val[1])
985
+
986
+ result
987
+ end
988
+ .,.,
989
+
990
+ module_eval(<<'.,.,', 'parser.y', 235)
991
+ def _reduce_70(val, _values, result)
992
+ result = Selectors::PseudoElement.new(
993
+ interpret_identifier(val[2])
994
+ )
995
+
996
+ result
997
+ end
998
+ .,.,
999
+
1000
+ module_eval(<<'.,.,', 'parser.y', 240)
1001
+ def _reduce_71(val, _values, result)
1002
+ result = Selectors::PseudoClass.new(
1003
+ interpret_identifier(val[1].sub(/\($/, '')),
1004
+ ''
1005
+ )
1006
+
1007
+ result
1008
+ end
1009
+ .,.,
1010
+
1011
+ module_eval(<<'.,.,', 'parser.y', 246)
1012
+ def _reduce_72(val, _values, result)
1013
+ result = Selectors::PseudoClass.new(
1014
+ interpret_identifier(val[1].sub(/\($/, '')),
1015
+ interpret_identifier(val[2])
1016
+ )
1017
+
1018
+ result
1019
+ end
1020
+ .,.,
1021
+
1022
+ # reduce 73 omitted
1023
+
1024
+ # reduce 74 omitted
1025
+
1026
+ # reduce 75 omitted
1027
+
1028
+ module_eval(<<'.,.,', 'parser.y', 259)
1029
+ def _reduce_76(val, _values, result)
1030
+ @handler.property val.first, val[2], val[3]
1031
+ result
1032
+ end
1033
+ .,.,
1034
+
1035
+ module_eval(<<'.,.,', 'parser.y', 261)
1036
+ def _reduce_77(val, _values, result)
1037
+ @handler.property val.first, val[3], val[4]
1038
+ result
1039
+ end
1040
+ .,.,
1041
+
1042
+ module_eval(<<'.,.,', 'parser.y', 263)
1043
+ def _reduce_78(val, _values, result)
1044
+ @handler.property val.first, val[3], val[4]
1045
+ result
1046
+ end
1047
+ .,.,
1048
+
1049
+ module_eval(<<'.,.,', 'parser.y', 265)
1050
+ def _reduce_79(val, _values, result)
1051
+ @handler.property val.first, val[4], val[5]
1052
+ result
1053
+ end
1054
+ .,.,
1055
+
1056
+ module_eval(<<'.,.,', 'parser.y', 268)
1057
+ def _reduce_80(val, _values, result)
1058
+ result = true
1059
+ result
1060
+ end
1061
+ .,.,
1062
+
1063
+ module_eval(<<'.,.,', 'parser.y', 269)
1064
+ def _reduce_81(val, _values, result)
1065
+ result = false
1066
+ result
1067
+ end
1068
+ .,.,
1069
+
1070
+ module_eval(<<'.,.,', 'parser.y', 272)
1071
+ def _reduce_82(val, _values, result)
1072
+ result = interpret_identifier val[0]
1073
+ result
1074
+ end
1075
+ .,.,
1076
+
1077
+ module_eval(<<'.,.,', 'parser.y', 273)
1078
+ def _reduce_83(val, _values, result)
1079
+ result = interpret_identifier val.join
1080
+ result
1081
+ end
1082
+ .,.,
1083
+
1084
+ # reduce 84 omitted
1085
+
1086
+ # reduce 85 omitted
1087
+
1088
+ # reduce 86 omitted
1089
+
1090
+ module_eval(<<'.,.,', 'parser.y', 282)
1091
+ def _reduce_87(val, _values, result)
1092
+ result = [val.first, val.last].flatten
1093
+ val.last.first.operator = val[1]
1094
+
1095
+ result
1096
+ end
1097
+ .,.,
1098
+
1099
+ module_eval(<<'.,.,', 'parser.y', 285)
1100
+ def _reduce_88(val, _values, result)
1101
+ result = val.flatten
1102
+ result
1103
+ end
1104
+ .,.,
1105
+
1106
+ module_eval(<<'.,.,', 'parser.y', 286)
1107
+ def _reduce_89(val, _values, result)
1108
+ result = val
1109
+ result
1110
+ end
1111
+ .,.,
1112
+
1113
+ # reduce 90 omitted
1114
+
1115
+ # reduce 91 omitted
1116
+
1117
+ # reduce 92 omitted
1118
+
1119
+ # reduce 93 omitted
1120
+
1121
+ # reduce 94 omitted
1122
+
1123
+ # reduce 95 omitted
1124
+
1125
+ module_eval(<<'.,.,', 'parser.y', 297)
1126
+ def _reduce_96(val, _values, result)
1127
+ result = val.first
1128
+ result
1129
+ end
1130
+ .,.,
1131
+
1132
+ module_eval(<<'.,.,', 'parser.y', 299)
1133
+ def _reduce_97(val, _values, result)
1134
+ name = interpret_identifier val.first.sub(/\($/, '')
1135
+ if name == 'rgb'
1136
+ result = Terms::Rgb.new(*val[1])
1137
+ else
1138
+ result = Terms::Function.new name, val[1]
1139
+ end
1140
+
1141
+ result
1142
+ end
1143
+ .,.,
1144
+
1145
+ module_eval(<<'.,.,', 'parser.y', 308)
1146
+ def _reduce_98(val, _values, result)
1147
+ result = val.first
1148
+ result
1149
+ end
1150
+ .,.,
1151
+
1152
+ module_eval(<<'.,.,', 'parser.y', 309)
1153
+ def _reduce_99(val, _values, result)
1154
+ result = Terms::Hash.new val.first.sub(/^#/, '')
1155
+ result
1156
+ end
1157
+ .,.,
1158
+
1159
+ module_eval(<<'.,.,', 'parser.y', 312)
1160
+ def _reduce_100(val, _values, result)
1161
+ result = val.first
1162
+ result
1163
+ end
1164
+ .,.,
1165
+
1166
+ module_eval(<<'.,.,', 'parser.y', 313)
1167
+ def _reduce_101(val, _values, result)
1168
+ result = Terms::URI.new interpret_uri val.first
1169
+ result
1170
+ end
1171
+ .,.,
1172
+
1173
+ module_eval(<<'.,.,', 'parser.y', 315)
1174
+ def _reduce_102(val, _values, result)
1175
+ result = val.first
1176
+ result
1177
+ end
1178
+ .,.,
1179
+
1180
+ module_eval(<<'.,.,', 'parser.y', 316)
1181
+ def _reduce_103(val, _values, result)
1182
+ result = Terms::String.new interpret_string val.first
1183
+ result
1184
+ end
1185
+ .,.,
1186
+
1187
+ module_eval(<<'.,.,', 'parser.y', 320)
1188
+ def _reduce_104(val, _values, result)
1189
+ result = val[1]
1190
+ val[1].unary_operator = val.first
1191
+
1192
+ result
1193
+ end
1194
+ .,.,
1195
+
1196
+ module_eval(<<'.,.,', 'parser.y', 324)
1197
+ def _reduce_105(val, _values, result)
1198
+ result = Terms::Number.new numeric val.first
1199
+
1200
+ result
1201
+ end
1202
+ .,.,
1203
+
1204
+ module_eval(<<'.,.,', 'parser.y', 327)
1205
+ def _reduce_106(val, _values, result)
1206
+ result = Terms::Number.new numeric(val.first), nil, '%'
1207
+
1208
+ result
1209
+ end
1210
+ .,.,
1211
+
1212
+ module_eval(<<'.,.,', 'parser.y', 330)
1213
+ def _reduce_107(val, _values, result)
1214
+ unit = val.first.gsub(/[\s\d.]/, '')
1215
+ result = Terms::Number.new numeric(val.first), nil, unit
1216
+
1217
+ result
1218
+ end
1219
+ .,.,
1220
+
1221
+ module_eval(<<'.,.,', 'parser.y', 334)
1222
+ def _reduce_108(val, _values, result)
1223
+ result = Terms::Number.new numeric(val.first), nil, 'em'
1224
+
1225
+ result
1226
+ end
1227
+ .,.,
1228
+
1229
+ module_eval(<<'.,.,', 'parser.y', 337)
1230
+ def _reduce_109(val, _values, result)
1231
+ result = Terms::Number.new numeric(val.first), nil, 'ex'
1232
+
1233
+ result
1234
+ end
1235
+ .,.,
1236
+
1237
+ module_eval(<<'.,.,', 'parser.y', 340)
1238
+ def _reduce_110(val, _values, result)
1239
+ unit = val.first.gsub(/[\s\d.]/, '')
1240
+ result = Terms::Number.new numeric(val.first), nil, unit
1241
+
1242
+ result
1243
+ end
1244
+ .,.,
1245
+
1246
+ module_eval(<<'.,.,', 'parser.y', 344)
1247
+ def _reduce_111(val, _values, result)
1248
+ unit = val.first.gsub(/[\s\d.]/, '')
1249
+ result = Terms::Number.new numeric(val.first), nil, unit
1250
+
1251
+ result
1252
+ end
1253
+ .,.,
1254
+
1255
+ module_eval(<<'.,.,', 'parser.y', 348)
1256
+ def _reduce_112(val, _values, result)
1257
+ unit = val.first.gsub(/[\s\d.]/, '')
1258
+ result = Terms::Number.new numeric(val.first), nil, unit
1259
+
1260
+ result
1261
+ end
1262
+ .,.,
1263
+
1264
+ module_eval(<<'.,.,', 'parser.y', 353)
1265
+ def _reduce_113(val, _values, result)
1266
+ result = :minus
1267
+ result
1268
+ end
1269
+ .,.,
1270
+
1271
+ module_eval(<<'.,.,', 'parser.y', 354)
1272
+ def _reduce_114(val, _values, result)
1273
+ result = :plus
1274
+ result
1275
+ end
1276
+ .,.,
1277
+
1278
+ module_eval(<<'.,.,', 'parser.y', 357)
1279
+ def _reduce_115(val, _values, result)
1280
+ result = val.first
1281
+ result
1282
+ end
1283
+ .,.,
1284
+
1285
+ module_eval(<<'.,.,', 'parser.y', 358)
1286
+ def _reduce_116(val, _values, result)
1287
+ result = Terms::Ident.new interpret_identifier val.first
1288
+ result
1289
+ end
1290
+ .,.,
1291
+
1292
+ def _reduce_none(val, _values, result)
1293
+ val[0]
1294
+ end
1295
+
1296
+ end # class Parser
1297
+ end # module CSS
1298
+ end # module CSSPool